YITH WooCommerce Quick View - Version 1.11.0

Version Description

Released 10 January 2022

  • New: support for WordPress 5.9
  • New: support for WooCommerce 6.1
  • Update: YITH plugin framework
Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH WooCommerce Quick View
Version 1.11.0
Comparing to
See all releases

Code changes from version 1.10.0 to 1.11.0

includes/class.yith-wcqv-admin.php CHANGED
@@ -150,8 +150,8 @@ if ( ! class_exists( 'YITH_WCQV_Admin' ) ) {
150
  $args = array(
151
  'create_menu_page' => true,
152
  'parent_slug' => '',
153
- 'page_title' => _x( 'YITH WooCommerce Quick View', 'options page title', 'yith-woocommerce-quick-view' ),
154
- 'menu_title' => _x( 'Quick View', 'plugin menu title', 'yith-woocommerce-quick-view' ),
155
  'capability' => 'manage_options',
156
  'parent' => '',
157
  'parent_page' => 'yith_plugin_panel',
150
  $args = array(
151
  'create_menu_page' => true,
152
  'parent_slug' => '',
153
+ 'page_title' => 'YITH WooCommerce Quick View',
154
+ 'menu_title' => 'Quick View',
155
  'capability' => 'manage_options',
156
  'parent' => '',
157
  'parent_page' => 'yith_plugin_panel',
init.php CHANGED
@@ -3,20 +3,20 @@
3
  * Plugin Name: YITH WooCommerce Quick View
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-quick-view
5
  * Description: The <code><strong>YITH WooCommerce Quick View</strong></code> plugin allows your customers to have a quick look about products. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
- * Version: 1.10.0
7
  * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-quick-view
10
  * Domain Path: /languages/
11
- * WC requires at least: 5.8
12
- * WC tested up to: 6.0
13
  *
14
  * @author YITH
15
  * @package YITH WooCommerce Quick View
16
- * @version 1.10.0
17
  */
18
 
19
- /** Copyright 2015-2021 Your Inspiration Solutions (email : plugins@yithemes.com)
20
  *
21
  * This program is free software; you can redistribute it and/or modify
22
  * it under the terms of the GNU General Public License, version 2, as
@@ -75,7 +75,7 @@ register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
75
 
76
 
77
  if ( ! defined( 'YITH_WCQV_VERSION' ) ) {
78
- define( 'YITH_WCQV_VERSION', '1.10.0' );
79
  }
80
 
81
  if ( ! defined( 'YITH_WCQV_FREE_INIT' ) ) {
3
  * Plugin Name: YITH WooCommerce Quick View
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-quick-view
5
  * Description: The <code><strong>YITH WooCommerce Quick View</strong></code> plugin allows your customers to have a quick look about products. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
+ * Version: 1.11.0
7
  * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-quick-view
10
  * Domain Path: /languages/
11
+ * WC requires at least: 5.9
12
+ * WC tested up to: 6.1
13
  *
14
  * @author YITH
15
  * @package YITH WooCommerce Quick View
16
+ * @version 1.11.0
17
  */
18
 
19
+ /** Copyright 2015-2022 Your Inspiration Solutions (email : plugins@yithemes.com)
20
  *
21
  * This program is free software; you can redistribute it and/or modify
22
  * it under the terms of the GNU General Public License, version 2, as
75
 
76
 
77
  if ( ! defined( 'YITH_WCQV_VERSION' ) ) {
78
+ define( 'YITH_WCQV_VERSION', '1.11.0' );
79
  }
80
 
81
  if ( ! defined( 'YITH_WCQV_FREE_INIT' ) ) {
plugin-fw/assets/css/yit-plugin-panel.css CHANGED
@@ -1,1087 +1,1276 @@
1
- /*
2
- * This file belongs to the YIT Plugin Framework.
3
- *
4
- * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
5
- * that is bundled with this package in the file LICENSE.txt.
6
- * It is also available through the world-wide-web at this URL:
7
- * http://www.gnu.org/licenses/gpl-3.0.txt
8
- */
9
- .plugin-option tr {
10
- border-bottom : 1px solid #ebebeb;
11
- }
12
-
13
- .plugin-option .yit_options,
14
- .plugin-option .yit-options {
15
- border-bottom : 0px;
16
- }
17
-
18
- .plugin-option .yit-options .option,
19
- .plugin-option .yit_options .option {
20
- width : 600px;
21
- }
22
-
23
- .plugin-option .form-table > tbody > tr > td {
24
- padding : 25px 15px;
25
- }
26
-
27
- .ie8 .yit_options select,
28
- .ie8 .yit-options select {
29
- height : 26px;
30
- }
31
-
32
- /* Style to woocommerce panel*/
33
-
34
- #plugin-fw-wc, #yith-plugin-fw-panel {
35
- padding-top : 20px;
36
- }
37
-
38
- #plugin-fw-wc table.form-table, #yith-plugin-fw-panel table.form-table, .yith-plugin-fw-panel-custom-tab-container {
39
- background-color : #fff;
40
- margin-bottom : 20px;
41
- }
42
-
43
- .yith-plugin-fw-panel-custom-tab-container {
44
- padding : 20px;
45
- box-sizing : border-box;
46
- margin-right : 15px;
47
- }
48
-
49
- .yith-plugin-ui .yith-plugin-fw-panel-custom-tab-container {
50
- border : 1px solid #ddd;
51
- border-top : 0;
52
- }
53
-
54
- .yith-plugin-ui .yith-plugin-fw-panel-custom-sub-tab-container {
55
- padding : 20px;
56
- box-sizing : border-box;
57
- border : 1px solid #ccc;
58
- border-top : 0;
59
- margin : -20px 0 0 0;
60
- }
61
-
62
- .yith-plugin-fw-panel-custom-tab-container > h2,
63
- .yith-plugin-fw-panel-custom-tab-container h2,
64
- .yith-plugin-ui .yith-plugin-fw-panel-custom-tab-container > h2,
65
- .yith-plugin-ui .yith-plugin-fw-panel-custom-tab-container h2,
66
- .yith-plugin-ui .yith-plugin-fw-panel-custom-sub-tab-container > h2,
67
- .yith-plugin-ui .yith-plugin-fw-panel-custom-sub-tab-container h2 {
68
- border : none;
69
- padding : 15px 0;
70
- }
71
-
72
- #plugin-fw-wc table.form-table th, #yith-plugin-fw-panel table.form-table th {
73
- padding : 20px;
74
- }
75
-
76
- #plugin-fw-wc h3, #yith-plugin-fw-panel h3 {
77
- padding : 0 0 0 10px;
78
- margin : 0;
79
- }
80
-
81
- /**
82
- Help tab
83
- */
84
-
85
- .yith-plugin-fw-panel-help-tab-container {
86
- background-color : #fff;
87
- padding : 60px 25px;
88
- }
89
-
90
- .yith-plugin-fw-panel-help-tab-content {
91
- background-color : #f4f4f4;
92
- border-radius : 15px;
93
- max-width : 1100px;
94
- margin : 0 auto;
95
- padding : 40px 40px 60px;
96
- }
97
-
98
- .yith-plugin-fw-panel-help-tab-content p,
99
- .yith-plugin-fw-panel-help-tab-content a {
100
- font-size : 16px;
101
- }
102
-
103
- .yith-plugin-fw-panel-help-tab-content .row {
104
- margin : 0 -15px 50px;
105
- white-space : nowrap;
106
- }
107
-
108
- .yith-plugin-fw-panel-help-tab-content .row:last-child {
109
- margin-bottom : 0;
110
- }
111
-
112
- .yith-plugin-fw-panel-help-tab-content .row .column-left,
113
- .yith-plugin-fw-panel-help-tab-content .row .column-right {
114
- display : inline-block;
115
- padding : 0 15px;
116
- vertical-align : top;
117
- width : 66%;
118
- }
119
-
120
- .yith-plugin-fw-panel-help-tab-content .row .column-right {
121
- width : 33%;
122
- }
123
-
124
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video,
125
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-actions,
126
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles,
127
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket {
128
- box-sizing : border-box;
129
- white-space : normal;
130
- }
131
-
132
- .yith-plugin-fw-panel-help-tab-content h2.yith-plugin-fw-panel-help-tab-title {
133
- background : none;
134
- border : none;
135
- font-size : 22px;
136
- line-height : 1.5em;
137
- padding : 0;
138
- text-align : center;
139
- }
140
-
141
- .yith-plugin-fw-panel-help-tab-content h3 {
142
- color : #03689f;
143
- font-size : 15px;
144
- }
145
-
146
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-panel-tab-description {
147
- font-size : 18px;
148
- text-align : center;
149
- margin-bottom : 40px;
150
- }
151
-
152
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video {
153
- text-align : center;
154
- }
155
-
156
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video p.video-description {
157
- margin-bottom : 25px;
158
- }
159
-
160
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video .video-caption p {
161
- margin : 5px 0;
162
- }
163
-
164
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video .video-container {
165
- margin : 0 auto 50px;
166
- overflow : hidden;
167
- padding-top : 56.25%;
168
- position : relative;
169
- }
170
-
171
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video .video-container iframe {
172
- border : 0;
173
- height : 100%;
174
- left : 0;
175
- position : absolute;
176
- top : 0;
177
- width : 100%;
178
- }
179
-
180
- .yith-plugin-fw-panel-help-tab-content .box-with-shadow {
181
- display : block;
182
- background-color : #fff;
183
- border-radius : 5px;
184
- box-shadow : 0 0 15px 5px rgba(174, 201, 207, 0.3);
185
- transition : all .2s ease;
186
- }
187
-
188
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions,
189
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket {
190
- margin : 0 auto;
191
- max-width : 640px;
192
- }
193
-
194
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions:not( .full-width ) {
195
- padding-top : 65px !important;
196
- }
197
-
198
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li {
199
- margin-bottom : 20px;
200
- }
201
-
202
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li > a {
203
- display : block;
204
- padding : 15px 20px 15px 75px !important;
205
- text-decoration : none;
206
- }
207
-
208
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li:hover {
209
- box-shadow : 0 0 15px 5px rgba(177, 220, 228, 0.6);
210
- transform : scale(1.04);
211
- }
212
-
213
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li a:before {
214
- color : #03689f;
215
- float : left;
216
- font-family : 'yith-icon';
217
- font-size : 36px;
218
- line-height : 1;
219
- margin-left : -50px;
220
- -webkit-font-smoothing : antialiased;
221
- -moz-osx-font-smoothing : grayscale;
222
- }
223
-
224
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li.read-documentation a:before {
225
- content : '\f10d';
226
- }
227
-
228
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li.watch-videotutorials a:before {
229
- content : '\f10e';
230
- }
231
-
232
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li.check-faqs a:before {
233
- content : '\f10c';
234
- }
235
-
236
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li h4 {
237
- margin : 0 0 5px;
238
- }
239
-
240
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li h4 a {
241
- color : #03689f;
242
- text-decoration : none;
243
- }
244
-
245
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li .description {
246
- margin : 0;
247
- font-size : 14px;
248
- }
249
-
250
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li .separator {
251
- display : inline-block;
252
- margin : 0 5px;
253
- }
254
-
255
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles h3 {
256
- font-size : 18px;
257
- margin : 0;
258
- padding : 10px 0;
259
- position : relative;
260
-
261
- }
262
-
263
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles h3:before {
264
- content : '';
265
- background : #03689f;
266
- display : block;
267
- height : 100%;
268
- left : -40px;
269
- position : absolute;
270
- top : 0;
271
- width : 15px;
272
-
273
- }
274
-
275
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles a.button {
276
- font-size : 16px;
277
- }
278
-
279
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list {
280
- margin : 15px 0 30px;
281
- }
282
-
283
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list li {
284
- display : block;
285
- margin-bottom : 10px;
286
- }
287
-
288
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list li:before {
289
- content : '-';
290
- }
291
-
292
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list a {
293
- text-decoration : none;
294
- }
295
-
296
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket > .box-with-shadow {
297
- padding : 30px !important;
298
- }
299
-
300
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket h3 {
301
- color : #b90a0a;
302
- font-size : 18px;
303
- margin : 0 0 15px;
304
- }
305
-
306
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket p {
307
- margin-bottom : 35px;
308
- }
309
-
310
- .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket .button {
311
- border-radius : 7px;
312
- display : block;
313
- font-size : 15px;
314
- padding : 7px 15px;
315
- text-align : center;
316
- }
317
-
318
- /**
319
- Post type Edit
320
- */
321
-
322
- .yith-plugin-fw-wp-page-wrapper {
323
- margin : 23px 20px 0 2px;
324
- }
325
-
326
- .yith-plugin-fw-wp-page-wrapper .notice,
327
- .yith-plugin-fw-wp-page-wrapper div.updated,
328
- .yith-plugin-fw-wp-page-wrapper div.error {
329
- margin : 5px 15px 15px 0;
330
- }
331
-
332
- .yith-plugin-fw-wp-page-wrapper .wrap, .yith-plugin-fw-wp-page__sub-tab-wrap {
333
- border : 1px solid #d8d8d8;
334
- border-top : 0;
335
- margin : 0 15px 0 0;
336
- background : #fff;
337
- padding : 20px;
338
- box-sizing : border-box;
339
- }
340
-
341
- .yith-plugin-fw-wp-page-wrapper .yith-plugin-fw-wp-page__sub-tab-wrap .wrap {
342
- margin : -20px 0 0 0;
343
- }
344
-
345
- #wpwrap .yith-plugin-fw-wp-page-wrapper .yith-plugin-ui h2.nav-tab-wrapper, #wpbody-content .yith-plugin-fw-wp-page-wrapper .yith-plugin-ui h2.nav-tab-wrapper {
346
- padding-bottom : 0;
347
- }
348
-
349
- .yith-plugin-fw-wp-page-wrapper .postbox {
350
- box-shadow : none;
351
- }
352
-
353
- .yith-plugin-fw-wp-page-wrapper h1.nav-tab-wrapper, .yith-plugin-fw-wp-page-wrapper h2.nav-tab-wrapper, .yith-plugin-fw-wp-page-wrapper .nav-tab-wrapper {
354
- padding-top : 9px;
355
- padding-bottom : 0;
356
- }
357
-
358
- .yith-plugin-fw-wp-page-wrapper .wrap h1.wp-heading-inline {
359
- color : #2a8db0;
360
- font-size : 16px;
361
- font-weight : 600;
362
- }
363
-
364
- .yith-plugin-fw-wp-page-wrapper .wrap a.page-title-action,
365
- .yith-plugin-fw-wp-page-wrapper .wrap a.page-title-action:active {
366
- border-radius : 3px;
367
- text-transform : uppercase;
368
- box-shadow : none;
369
- border : 0;
370
- font-weight : 700;
371
- font-size : 11px;
372
- padding : 0 14px;
373
- outline : none;
374
- height : auto;
375
- transition : all ease 0.3s;
376
- text-shadow : none;
377
- vertical-align : middle;
378
- line-height : 26px;
379
- display : inline-block;
380
- text-decoration : none;
381
- cursor : pointer;
382
- background-color : #375f6b;
383
- color : #fff;
384
- margin-left : 10px !important;
385
- }
386
-
387
- .yith-plugin-fw-wp-page-wrapper .wrap a.page-title-action:hover {
388
- border-color : #007694;
389
- background : #007694;
390
- color : #fff;
391
- }
392
-
393
- .yith-plugin-fw-wp-page-wrapper #wp-content-editor-tools {
394
- background : transparent;
395
- }
396
-
397
- /* === Plugins Upgrader === */
398
-
399
- .yit-plugin-changelog-wrapper {
400
- display : none;
401
- }
402
-
403
- .yit-plugin-changelog-title {
404
- text-transform : uppercase;
405
- }
406
-
407
- .yit-plugin-changelog {
408
- height : calc(100% - 15px);
409
- width : calc(100% - 15px);
410
- overflow-x : hidden;
411
- overflow-y : auto;
412
- z-index : 999;
413
- background : #fcfcfc;
414
- }
415
-
416
- /* === Plugins Licence Activation === */
417
-
418
- .yit-container.plugin-licence-activation {
419
- font-family : 'Raleway', sans-serif;
420
- }
421
-
422
- .yit-container.plugin-licence-activation .to-active-wrapper {
423
- margin-bottom : 60px;
424
- }
425
-
426
- .yit-container.plugin-licence-activation .to-active-wrapper form.to-active-form {
427
- position : relative;
428
- border-color : #e1e1e1;
429
- border-style : solid;
430
- border-width : 0;
431
- }
432
-
433
- .yit-container.plugin-licence-activation .to-active-wrapper form.to-active-form:first-child {
434
- border-top-width : 1px;
435
- }
436
-
437
- .yit-container.plugin-licence-activation .to-active-wrapper form.to-active-form:last-child {
438
- border-bottom-width : 1px;
439
- }
440
-
441
- .yit-container.plugin-licence-activation .to-active-wrapper table.to-active-table {
442
- border-width : 0;
443
- border-spacing : 0;
444
- width : 100%;
445
- }
446
-
447
- .yit-container.plugin-licence-activation .message {
448
- display : none;
449
- line-height : normal;
450
- background : #fff url(../images/licence-error.png) 15px center no-repeat;
451
- padding-left : 65px;
452
- padding-right : 15px;
453
- width : 150px;
454
- }
455
-
456
- .yit-container.plugin-licence-activation .message-wrapper {
457
- height : 75px;
458
- display : none;
459
- position : absolute;
460
- top : 0;
461
- right : -250px;
462
- border : 1px solid #ff3838;
463
- }
464
-
465
- .yit-container.plugin-licence-activation .message-wrapper.visible {
466
- display : table;
467
- }
468
-
469
- .yit-container.plugin-licence-activation .message {
470
- display : table-cell;
471
- vertical-align : middle;
472
- }
473
-
474
- .yit-container.plugin-licence-activation .arrow-left:after,
475
- .yit-container.plugin-licence-activation .arrow-left:before {
476
- content : "";
477
- display : block;
478
- width : 0;
479
- height : 0;
480
- position : absolute;
481
- }
482
-
483
- .yit-container.plugin-licence-activation .arrow-left:before {
484
- border-top : 9px solid transparent;
485
- border-bottom : 9px solid transparent;
486
- border-right : 9px solid #ff3838;
487
- top : 26px;
488
- left : -9px;
489
- }
490
-
491
- .yit-container.plugin-licence-activation .arrow-left:after {
492
- border-top : 8px solid transparent;
493
- border-bottom : 8px solid transparent;
494
- border-right : 8px solid #fff;
495
- left : -8px;
496
- top : 27px;
497
- }
498
-
499
- .yit-container.plugin-licence-activation h2,
500
- .yit-container.plugin-licence-activation h3 {
501
- text-transform : uppercase;
502
- font-weight : 800;
503
- margin-bottom : 30px;
504
- }
505
-
506
- .yit-container.plugin-licence-activation h2 {
507
- color : #808a97;
508
- font-size : 25px;
509
- }
510
-
511
- .yit-container.plugin-licence-activation h3 {
512
- color : #313131;
513
- font-size : 15px;
514
- height : 20px;
515
- }
516
-
517
- .yit-container.plugin-licence-activation h3.to-active {
518
- height : 20px;
519
- position : relative;
520
- vertical-align : top;
521
- }
522
-
523
- .yit-container.plugin-licence-activation .spinner.show {
524
- display : inline-block;
525
- vertical-align : middle;
526
- float : none;
527
- }
528
-
529
- .yit-container.plugin-licence-activation h3.to-active > .spinner.show {
530
- display : inline-block;
531
- float : none;
532
- top : -3px;
533
- position : relative;
534
- }
535
-
536
- .yit-container.plugin-licence-activation .licence-check-section {
537
- margin-bottom : 60px;
538
- }
539
-
540
- .yit-container.plugin-licence-activation span.licence-label {
541
- font-weight : 500;
542
- color : #606060;
543
- margin-bottom : 30px;
544
- }
545
-
546
- .yit-container.plugin-licence-activation .button-licence {
547
- border : 0;
548
- font-size : 13px;
549
- text-transform : uppercase;
550
- background-color : #808a97;
551
- color : #fff;
552
- font-weight : 700;
553
- border-radius : 3px;
554
- cursor : pointer;
555
- text-decoration : none;
556
- padding : 5px 7px;
557
- -webkit-transition : background-color 0.3s ease;
558
- -moz-transition : background-color 0.3s ease;
559
- -ms-transition : background-color 0.3s ease;
560
- -o-transition : background-color 0.3s ease;
561
- transition : background-color 0.3s ease;
562
- }
563
-
564
- .yit-container.plugin-licence-activation .button-licence:hover {
565
- background-color : #4d5c6f;
566
- }
567
-
568
- .yit-container.plugin-licence-activation .button-licence.clicked {
569
- cursor : not-allowed;
570
- background-color : #e2e2e2 !important;
571
- }
572
-
573
- .yit-container.plugin-licence-activation .button-licence.licence-check {
574
- font-weight : 400;
575
- padding : 12px 19px;
576
- }
577
-
578
- .yit-container.plugin-licence-activation .button-licence.licence-renew {
579
- text-decoration : none;
580
- padding : 7px 12px;
581
- font-size : 9px;
582
- }
583
-
584
- .yit-container.plugin-licence-activation .button-licence.licence-renew:focus {
585
- box-shadow : none;
586
- }
587
-
588
- .yit-container.plugin-licence-activation table:not(.to-active-table) {
589
- width : 100%;
590
- border : 1px solid #dcdcdc;
591
- border-spacing : 0;
592
- border-radius : 5px;
593
- border-collapse : separate;
594
- overflow : hidden;
595
- }
596
-
597
- .yit-container.plugin-licence-activation table:not(.to-active-table) th {
598
- border-bottom : 1px solid #dcdcdc;
599
- }
600
-
601
- .yit-container.plugin-licence-activation table:not(.to-active-table) td,
602
- .yit-container.plugin-licence-activation table:not(.to-active-table) th {
603
- border-right : 1px solid #dcdcdc;
604
- }
605
-
606
- .yit-container.plugin-licence-activation table td:last-child,
607
- .yit-container.plugin-licence-activation table th:last-child {
608
- border-right : 0;
609
- }
610
-
611
- .yit-container.plugin-licence-activation table thead tr {
612
- background-color : #f6f4f4;
613
- }
614
-
615
- .yit-container.plugin-licence-activation table tbody tr {
616
- background-color : #fff;
617
- }
618
-
619
- .yit-container.plugin-licence-activation table thead tr th {
620
- font-size : 13px;
621
- color : #313131;
622
- text-transform : uppercase;
623
- font-weight : bold;
624
- }
625
-
626
- .yit-container.plugin-licence-activation table thead tr,
627
- .yit-container.plugin-licence-activation table tbody tr {
628
- line-height : 60px;
629
- }
630
-
631
- .yit-container.plugin-licence-activation table tbody tr td {
632
- text-align : center;
633
- line-height : 20px;
634
- padding : 10px 5px;
635
- }
636
-
637
- .yit-container.plugin-licence-activation .button-licence.licence-activation {
638
- padding : 12px 18px;
639
- }
640
-
641
- .yit-container.plugin-licence-activation .to-active-table tr {
642
- line-height : 75px;
643
- }
644
-
645
- .yit-container.plugin-licence-activation .to-active-table tr.plugin-row {
646
- background-color : transparent;
647
- -webkit-transition : all 0.3s ease;
648
- -moz-transition : all 0.3s ease;
649
- -ms-transition : all 0.3s ease;
650
- -o-transition : all 0.3s ease;
651
- transition : all 0.3s ease;
652
- }
653
-
654
- .yit-container.plugin-licence-activation .to-active-table tr.plugin-row.error {
655
- background-color : #ffdcdc;
656
- }
657
-
658
- .yit-container.plugin-licence-activation .to-active-table td {
659
- padding-right : 12px;
660
- width : 33%;
661
- }
662
-
663
- .yit-container.plugin-licence-activation .to-active-table td.plugin-name {
664
- color : #808a97;
665
- font-size : 12px;
666
- text-transform : uppercase;
667
- font-weight : bold;
668
- line-height : 20px;
669
- width : 20%;
670
- padding-left : 20px;
671
- }
672
-
673
- .yit-container.plugin-licence-activation .to-active-table td.activate-button {
674
- width : 15%;
675
- position : relative;
676
- }
677
-
678
- .yit-container.plugin-licence-activation input[type=text],
679
- .yit-container.plugin-licence-activation input[type=email] {
680
- -webkit-transition : all 0.3s ease;
681
- -moz-transition : all 0.3s ease;
682
- -ms-transition : all 0.3s ease;
683
- -o-transition : all 0.3s ease;
684
- transition : all 0.3s ease;
685
-
686
- border : 1px solid #dcdcdc;
687
- padding : 0 15px;
688
- border-radius : 3px;
689
- height : 41px;
690
- width : 100%;
691
- }
692
-
693
- .yit-container.plugin-licence-activation input[type=text].require,
694
- .yit-container.plugin-licence-activation input[type=email].require {
695
- border : 1px solid #ff3838;
696
- }
697
-
698
- .yit-container.plugin-licence-activation input[type=text]:focus,
699
- .yit-container.plugin-licence-activation input[type=email]:focus {
700
- webkit-box-shadow : 0 0 1px rgba(30, 140, 190, .8);
701
- box-shadow : 0 0 1px rgba(30, 140, 190, .8);
702
- }
703
-
704
- .yit-container.plugin-licence-activation input[type=text] {
705
- text-transform : uppercase;
706
- text-align : center;
707
- }
708
-
709
- .yit-container.plugin-licence-activation input[type=email] {
710
- text-align : left;
711
- }
712
-
713
- .yit-container.plugin-licence-activation input[type=submit]:focus {
714
- outline : 0;
715
- }
716
-
717
- /* === Woocommerce panel === */
718
- #plugin-fw-wc .yit_options {
719
- padding : 0;
720
- border : 0;
721
- }
722
-
723
- #plugin-fw-wc .yit_options input.upload_button, .yit_options input.button {
724
- background : none;
725
- border : 1px solid #ccc;
726
- }
727
-
728
- /* === WP Pointers === */
729
-
730
- #adminmenu li.menu-top.yit-pointer-selected-row,
731
- #adminmenu li.menu-top.yit-pointer-selected-row:hover,
732
- #adminmenu li.yit-pointer-selected-row a.menu-top {
733
- background-color : #acc327;
734
- color : #000;
735
- }
736
-
737
- #adminmenu a.menu-top.toplevel_page_yit_plugin_panel.yit-pointer {
738
- color : #000;
739
- }
740
-
741
- #adminmenu a.menu-top.toplevel_page_yit_plugin_panel.yit-pointer:hover,
742
- #adminmenu .wp-submenu a.yit-pointer-selected-row {
743
- color : #fff;
744
- }
745
-
746
- #adminmenu .wp-submenu a.yit-pointer-selected-row:hover {
747
- color : #45bbe6;
748
- }
749
-
750
- /* WooCommerce 2.4 Support */
751
- .woocommerce table.form-table .colorpick {
752
- width : 6em;
753
- }
754
-
755
- #wpwrap h2.nav-tab-wrapper, #wpbody-content h2.nav-tab-wrapper {
756
- border-bottom : 1px solid #ccc;
757
- margin-right : 15px;
758
- text-transform : uppercase;
759
- }
760
-
761
- /* === YIT FRAMEWORK === */
762
- .plugin-card .plugin-icon img {
763
- max-width : 100%;
764
- width : auto;
765
- height : auto;
766
- }
767
-
768
- /* === Panel Content and Container === */
769
- .yit-admin-panel-container {
770
- position : relative;
771
- margin-right : 15px;
772
- }
773
-
774
- .yith-plugin-ui .yit-admin-panel-container {
775
- position : relative;
776
- margin-right : 15px;
777
- z-index : 0;
778
- }
779
-
780
- .yit-admin-panel-content-wrap {
781
- width : auto;
782
- display : block;
783
- }
784
-
785
- .yith-disabled {
786
- opacity : 0.3;
787
- pointer-events : none;
788
- }
789
-
790
- .yith-plugin-fw-select,
791
- .yith-plugin-fw-slider-container,
792
- .yith-plugin-fw-text-input,
793
- .yith-plugin-fw-text-array-table,
794
- .yith-plugin-fw-textarea {
795
- width : 400px;
796
- max-width : 100%;
797
- }
798
-
799
- .yith-plugin-fw-text-array-table input {
800
- width : 100%;
801
- }
802
-
803
- .yith-plugin-fw-panel-wc-row.preview {
804
- float : none;
805
- }
806
-
807
- .yith-plugin-fw-panel .subsubsub {
808
- margin : 0;
809
- }
810
-
811
- /**
812
- * Sub Tabs
813
- */
814
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav {
815
- background : #fff;
816
- padding : 10px 20px 0;
817
- box-sizing : border-box;
818
- margin-right : 15px;
819
- border-left : 1px solid #d8d8d8;
820
- border-right : 1px solid #d8d8d8;
821
- }
822
-
823
- .yith-plugin-ui .yith-plugin-fw-wp-page-wrapper .wrap {
824
- margin-top : -29px;
825
- }
826
-
827
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav h3.nav-tab-wrapper {
828
- text-transform : uppercase;
829
- line-height : inherit;
830
- font-weight : 600;
831
- margin : 20px 0 0 0;
832
- box-sizing : border-box;
833
- background-color : #f1f1f1;
834
- padding-top : 0;
835
- border : 1px solid #ccc;
836
- border-bottom : 0;
837
- }
838
-
839
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab {
840
- line-height : 1.71428571;
841
- margin-left : 0;
842
- margin-right : 0;
843
- background-color : #f1f1f1;
844
- color : #336374;
845
- font-size : 12px;
846
- padding : 8px 20px 9px;
847
- border : 0;
848
- }
849
-
850
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__title,
851
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__icon {
852
- vertical-align : middle;
853
- }
854
-
855
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__icon {
856
- margin-left : 8px;
857
- font-size : 22px;
858
- margin-right : -3px;
859
- }
860
-
861
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__icon:before {
862
- color : inherit;
863
- }
864
-
865
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .yith-nav-sub-tab--highlight {
866
- color : #fff;
867
- background : #2a8db0;
868
- }
869
-
870
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab-active {
871
- color : #2a8db0;
872
- background : #fff;
873
- border-bottom : 0;
874
- }
875
-
876
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab:first-child {
877
- border : 0;
878
- }
879
-
880
- .yith-plugin-fw-wp-page-wrapper.yith-current-subtab-opened > .wrap {
881
- /* padding-top: 0; */
882
- }
883
-
884
- .yith-plugin-fw-wp-page-wrapper .nav-tab-wrapper {
885
- border-bottom : 2px solid #e9e9e9;
886
- margin : 0;
887
- padding-top : 9px;
888
- padding-bottom : 0;
889
- line-height : inherit;
890
- }
891
-
892
- div.nav-subtab-wrap {
893
- position : absolute;
894
- top : 100%;
895
- left : 1px;
896
- padding-top : 10px;
897
- visibility : hidden; /* hides sub-menu */
898
- }
899
-
900
- ul.nav-subtab {
901
- opacity : 0;
902
- background-color : #fff;
903
- transition : max-height 0.5s ease-in;
904
- max-height : 0;
905
- z-index : 100;
906
- overflow : hidden;
907
- border : 1px solid #f2f2f2;
908
- padding : 14px 15px;
909
- }
910
-
911
- ul.yith-plugin-fw-tabs {
912
- display : block;
913
- margin : 0;
914
- }
915
-
916
- li.yith-plugin-fw-tab-element {
917
- position : relative;
918
- margin : 0;
919
- padding : 0;
920
- display : inline-block;
921
- overflow : visible;
922
- z-index : 10;
923
- }
924
-
925
- .yith-plugin-ui li.yith-plugin-fw-tab-element {
926
- margin-bottom : -1px;
927
- }
928
-
929
- li.yith-plugin-fw-tab-element:hover {
930
- cursor : pointer;
931
- }
932
-
933
- li.nav-subtab-item {
934
- padding : 3px 0 0;
935
- }
936
-
937
- li.nav-subtab-item a {
938
- font-size : 12px;
939
- text-decoration : none;
940
- letter-spacing : 0.05em;
941
- color : #336374;
942
- }
943
-
944
- li.nav-subtab-item a:hover {
945
- color : #228fb6;
946
- }
947
-
948
- li.yith-plugin-fw-tab-element a:hover .nav-subtab-wrap,
949
- li.yith-plugin-fw-tab-element:hover .nav-subtab-wrap {
950
- visibility : visible; /* shows sub-menu */
951
- }
952
-
953
- li.yith-plugin-fw-tab-element a:hover ul.nav-subtab,
954
- li.yith-plugin-fw-tab-element:hover ul.nav-subtab {
955
- max-height : 200px;
956
- -webkit-box-shadow : -2px 2px 10px rgba(0, 111, 101, 0.27);
957
- -moz-box-shadow : -2px 2px 10px rgba(0, 111, 101, 0.27);
958
- box-shadow : -2px 2px 10px rgba(0, 111, 101, 0.27);
959
- opacity : 1;
960
- transition-delay : 0s, 0s, 0.3s;
961
- min-width : 180px;
962
- }
963
-
964
- li.yith-plugin-fw-tab-element a.nav-tab i {
965
- margin-left : 10px;
966
- font-size : 12px;
967
- font-weight : 600;
968
- }
969
-
970
- li.yith-plugin-fw-tab-element a.nav-tab i:before {
971
- color : #fff;
972
- }
973
-
974
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yit-admin-panel-container {
975
- margin-top : 0;
976
- padding-top : 0;
977
- }
978
-
979
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yit-admin-panel-container,
980
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yith-plugin-fw-wp-page__sub-tab-wrap {
981
- border : 1px solid #d8d8d8;
982
- border-top : 0;
983
- margin : 0 15px 0 0;
984
- background : #fff;
985
- padding : 0 20px 20px 20px;
986
- box-sizing : border-box;
987
- }
988
-
989
-
990
- .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yith-plugin-fw-wp-page__sub-tab-wrap .wrap {
991
- margin : 0;
992
- }
993
-
994
- /**
995
- * Float Save Button
996
- */
997
-
998
- button#yith-plugin-fw-float-save-button {
999
- display : none;
1000
- align-items : center;
1001
- border-radius : 60px;
1002
- bottom : 50px;
1003
- box-shadow : 0 0 6px 3px rgba(0, 121, 159, .2);
1004
- padding : 6px 20px;
1005
- position : fixed;
1006
- right : 70px;
1007
- text-transform : uppercase;
1008
- z-index : 2;
1009
- transition : 0.3s ease-in-out;
1010
- }
1011
-
1012
- .ywtenv-is-sandbox button#yith-plugin-fw-float-save-button {
1013
- bottom : 100px;
1014
- }
1015
-
1016
- button#yith-plugin-fw-float-save-button.visible {
1017
- display : flex;
1018
- }
1019
-
1020
- button#yith-plugin-fw-float-save-button i {
1021
- font-size : 15px;
1022
- margin-right : 8px;
1023
- }
1024
-
1025
- button#yith-plugin-fw-float-save-button:hover {
1026
- box-shadow : 0px 1px 6px 3px rgba(0, 121, 159, .3);
1027
- }
1028
-
1029
- button#yith-plugin-fw-float-save-button.green {
1030
- background-color : #98aa36;
1031
- border-color : #98aa36;
1032
- box-shadow : 0 0 6px 3px rgba(152, 170, 54, .2);
1033
- transition : all 0.8s linear;
1034
- }
1035
-
1036
- .rtl button#yith-plugin-fw-float-save-button {
1037
- right : auto;
1038
- left : 70px;
1039
- }
1040
-
1041
- .rtl button#yith-plugin-fw-float-save-button i {
1042
- margin-left : 8px;
1043
- margin-right : 0;
1044
- }
1045
-
1046
-
1047
- /* === Responsive === */
1048
-
1049
- @media (max-width : 767px) {
1050
-
1051
- }
1052
-
1053
- @media (max-width : 480px) {
1054
-
1055
- }
1056
-
1057
- @media (max-width : 992px) {
1058
- .yith-plugin-fw-panel-help-tab-content .row {
1059
- white-space : normal;
1060
- margin-bottom : 0;
1061
- }
1062
-
1063
- .yith-plugin-fw-panel-help-tab-content .row .column-left,
1064
- .yith-plugin-fw-panel-help-tab-content .row .column-right {
1065
- width : 100%;
1066
- margin-bottom : 50px;
1067
- }
1068
-
1069
- .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions {
1070
- padding-top : 0 !important;
1071
- }
1072
- }
1073
-
1074
- @media (min-width : 768px) and (max-width : 992px) {
1075
- }
1076
-
1077
- @media (min-width : 980px) and (max-width : 1199px) {
1078
- }
1079
-
1080
- @media (min-width : 1200px) {
1081
- .yit-container.plugin-licence-activation {
1082
- width : 900px;
1083
- }
1084
- }
1085
-
1086
- @media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (-o-min-device-pixel-ratio : 3/2), only screen and (min--moz-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
1087
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * This file belongs to the YIT Plugin Framework.
3
+ *
4
+ * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
5
+ * that is bundled with this package in the file LICENSE.txt.
6
+ * It is also available through the world-wide-web at this URL:
7
+ * http://www.gnu.org/licenses/gpl-3.0.txt
8
+ */
9
+ .plugin-option tr {
10
+ border-bottom : 1px solid #ebebeb;
11
+ }
12
+
13
+ .plugin-option .yit_options,
14
+ .plugin-option .yit-options {
15
+ border-bottom : 0px;
16
+ }
17
+
18
+ .plugin-option .yit-options .option,
19
+ .plugin-option .yit_options .option {
20
+ width : 600px;
21
+ }
22
+
23
+ .plugin-option .form-table > tbody > tr > td {
24
+ padding : 25px 15px;
25
+ }
26
+
27
+ .ie8 .yit_options select,
28
+ .ie8 .yit-options select {
29
+ height : 26px;
30
+ }
31
+
32
+ /* Style to woocommerce panel*/
33
+
34
+ #plugin-fw-wc, #yith-plugin-fw-panel {
35
+ padding-top : 20px;
36
+ }
37
+
38
+ #plugin-fw-wc table.form-table, #yith-plugin-fw-panel table.form-table, .yith-plugin-fw-panel-custom-tab-container {
39
+ background-color : #fff;
40
+ margin-bottom : 20px;
41
+ }
42
+
43
+ .yith-plugin-fw-panel-custom-tab-container {
44
+ padding : 20px;
45
+ box-sizing : border-box;
46
+ margin-right : 15px;
47
+ }
48
+
49
+ .yith-plugin-ui .yith-plugin-fw-panel-custom-tab-container {
50
+ border : 1px solid #ddd;
51
+ border-top : 0;
52
+ }
53
+
54
+ .yith-plugin-ui .yith-plugin-fw-panel-custom-sub-tab-container {
55
+ padding : 20px;
56
+ box-sizing : border-box;
57
+ border : 1px solid #ccc;
58
+ border-top : 0;
59
+ margin : -20px 0 0 0;
60
+ }
61
+
62
+ .yith-plugin-fw-panel-custom-tab-container > h2,
63
+ .yith-plugin-fw-panel-custom-tab-container h2,
64
+ .yith-plugin-ui .yith-plugin-fw-panel-custom-tab-container > h2,
65
+ .yith-plugin-ui .yith-plugin-fw-panel-custom-tab-container h2,
66
+ .yith-plugin-ui .yith-plugin-fw-panel-custom-sub-tab-container > h2,
67
+ .yith-plugin-ui .yith-plugin-fw-panel-custom-sub-tab-container h2 {
68
+ border : none;
69
+ padding : 15px 0;
70
+ }
71
+
72
+ #plugin-fw-wc table.form-table th, #yith-plugin-fw-panel table.form-table th {
73
+ padding : 20px;
74
+ }
75
+
76
+ #plugin-fw-wc h3, #yith-plugin-fw-panel h3 {
77
+ padding : 0 0 0 10px;
78
+ margin : 0;
79
+ }
80
+
81
+ /**
82
+ Help tab
83
+ */
84
+
85
+ .yith-plugin-fw-panel-help-tab-container {
86
+ background-color : #fff;
87
+ padding : 60px 25px;
88
+ }
89
+
90
+ .yith-plugin-fw-panel-help-tab-content {
91
+ background-color : #f4f4f4;
92
+ border-radius : 15px;
93
+ max-width : 1100px;
94
+ margin : 0 auto;
95
+ padding : 40px 40px 60px;
96
+ }
97
+
98
+ .yith-plugin-fw-panel-help-tab-content p,
99
+ .yith-plugin-fw-panel-help-tab-content a {
100
+ font-size : 16px;
101
+ }
102
+
103
+ .yith-plugin-fw-panel-help-tab-content .row {
104
+ margin : 0 -15px 50px;
105
+ white-space : nowrap;
106
+ }
107
+
108
+ .yith-plugin-fw-panel-help-tab-content .row:last-child {
109
+ margin-bottom : 0;
110
+ }
111
+
112
+ .yith-plugin-fw-panel-help-tab-content .row .column-left,
113
+ .yith-plugin-fw-panel-help-tab-content .row .column-right {
114
+ display : inline-block;
115
+ padding : 0 15px;
116
+ vertical-align : top;
117
+ width : 66%;
118
+ }
119
+
120
+ .yith-plugin-fw-panel-help-tab-content .row .column-right {
121
+ width : 33%;
122
+ }
123
+
124
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video,
125
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-actions,
126
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles,
127
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket {
128
+ box-sizing : border-box;
129
+ white-space : normal;
130
+ }
131
+
132
+ .yith-plugin-fw-panel-help-tab-content h2.yith-plugin-fw-panel-help-tab-title {
133
+ background : none;
134
+ border : none;
135
+ font-size : 22px;
136
+ line-height : 1.5em;
137
+ padding : 0;
138
+ text-align : center;
139
+ }
140
+
141
+ .yith-plugin-fw-panel-help-tab-content h3 {
142
+ color : #03689f;
143
+ font-size : 15px;
144
+ }
145
+
146
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-panel-tab-description {
147
+ font-size : 18px;
148
+ text-align : center;
149
+ margin-bottom : 40px;
150
+ }
151
+
152
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video {
153
+ text-align : center;
154
+ }
155
+
156
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video p.video-description {
157
+ margin-bottom : 25px;
158
+ }
159
+
160
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video .video-caption p {
161
+ margin : 5px 0;
162
+ }
163
+
164
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video .video-container {
165
+ margin : 0 auto 50px;
166
+ overflow : hidden;
167
+ padding-top : 56.25%;
168
+ position : relative;
169
+ }
170
+
171
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-help-tab-video .video-container iframe {
172
+ border : 0;
173
+ height : 100%;
174
+ left : 0;
175
+ position : absolute;
176
+ top : 0;
177
+ width : 100%;
178
+ }
179
+
180
+ .yith-plugin-fw-panel-help-tab-content .box-with-shadow {
181
+ display : block;
182
+ background-color : #fff;
183
+ border-radius : 5px;
184
+ box-shadow : 0 0 15px 5px rgba(174, 201, 207, 0.3);
185
+ transition : all .2s ease;
186
+ }
187
+
188
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions,
189
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket {
190
+ margin : 0 auto;
191
+ max-width : 640px;
192
+ }
193
+
194
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions:not( .full-width ) {
195
+ padding-top : 65px !important;
196
+ }
197
+
198
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li {
199
+ margin-bottom : 20px;
200
+ }
201
+
202
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li > a {
203
+ display : block;
204
+ padding : 15px 20px 15px 75px !important;
205
+ text-decoration : none;
206
+ }
207
+
208
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li:hover {
209
+ box-shadow : 0 0 15px 5px rgba(177, 220, 228, 0.6);
210
+ transform : scale(1.04);
211
+ }
212
+
213
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li a:before {
214
+ color : #03689f;
215
+ float : left;
216
+ font-family : 'yith-icon';
217
+ font-size : 36px;
218
+ line-height : 1;
219
+ margin-left : -50px;
220
+ -webkit-font-smoothing : antialiased;
221
+ -moz-osx-font-smoothing : grayscale;
222
+ }
223
+
224
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li.read-documentation a:before {
225
+ content : '\f10d';
226
+ }
227
+
228
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li.watch-videotutorials a:before {
229
+ content : '\f10e';
230
+ }
231
+
232
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li.check-faqs a:before {
233
+ content : '\f10c';
234
+ }
235
+
236
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li h4 {
237
+ margin : 0 0 5px;
238
+ }
239
+
240
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li h4 a {
241
+ color : #03689f;
242
+ text-decoration : none;
243
+ }
244
+
245
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li .description {
246
+ margin : 0;
247
+ font-size : 14px;
248
+ }
249
+
250
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions li .separator {
251
+ display : inline-block;
252
+ margin : 0 5px;
253
+ }
254
+
255
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles h3 {
256
+ font-size : 18px;
257
+ margin : 0;
258
+ padding : 10px 0;
259
+ position : relative;
260
+
261
+ }
262
+
263
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles h3:before {
264
+ content : '';
265
+ background : #03689f;
266
+ display : block;
267
+ height : 100%;
268
+ left : -40px;
269
+ position : absolute;
270
+ top : 0;
271
+ width : 15px;
272
+
273
+ }
274
+
275
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles a.button {
276
+ font-size : 16px;
277
+ }
278
+
279
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list {
280
+ margin : 15px 0 30px;
281
+ }
282
+
283
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list li {
284
+ display : block;
285
+ margin-bottom : 10px;
286
+ }
287
+
288
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list li:before {
289
+ content : '-';
290
+ }
291
+
292
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-hc-articles-list a {
293
+ text-decoration : none;
294
+ }
295
+
296
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket > .box-with-shadow {
297
+ padding : 30px !important;
298
+ }
299
+
300
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket h3 {
301
+ color : #b90a0a;
302
+ font-size : 18px;
303
+ margin : 0 0 15px;
304
+ }
305
+
306
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket p {
307
+ margin-bottom : 35px;
308
+ }
309
+
310
+ .yith-plugin-fw-panel-help-tab-content .yith-plugin-fw-submit-ticket .button {
311
+ border-radius : 7px;
312
+ display : block;
313
+ font-size : 15px;
314
+ padding : 7px 15px;
315
+ text-align : center;
316
+ }
317
+
318
+ /**
319
+ Premium Tab
320
+ */
321
+
322
+ #yith_plugin_fw_panel_premium_tab {
323
+ background-color : white;
324
+ padding : 40px;
325
+ margin-right : 15px;
326
+ border : 1px solid #d8d8d8;
327
+ border-top : none;
328
+ }
329
+
330
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab {
331
+ background-color : #f9f9f9;
332
+ padding : 40px;
333
+ border : 1px solid #dbdbdb;
334
+ border-radius : 5px;
335
+ max-width : 1400px;
336
+ margin : auto;
337
+ }
338
+
339
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header {
340
+ display : flex;
341
+ align-items : center;
342
+ gap : 35px 20px;
343
+ }
344
+
345
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header-title {
346
+ color : #C28D31;
347
+ text-transform : uppercase;
348
+ font-weight : 600;
349
+ font-size : 18px;
350
+ width : 100%;
351
+ }
352
+
353
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header-cta:before {
354
+ content : '\f11b';
355
+ font-family : 'yith-icon';
356
+ font-size : 18px;
357
+ line-height : 1em;
358
+ font-weight : 400;
359
+ }
360
+
361
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header-cta:hover:before {
362
+ transform-origin : center center;
363
+ animation : .3s yith-plugin-fw-jiggle linear;
364
+ animation-iteration-count : 3;
365
+ }
366
+
367
+ @keyframes yith-plugin-fw-jiggle {
368
+ 25% {
369
+ transform : rotate(-20deg);
370
+ }
371
+ 75% {
372
+ transform : rotate(20deg);
373
+ }
374
+ }
375
+
376
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header-cta {
377
+ color : white;
378
+ background-color : #e58f00;
379
+ display : flex;
380
+ align-items : center;
381
+ justify-content : space-between;
382
+ padding : 12px 24px;
383
+ column-gap : 12px;
384
+ font-size : 14px;
385
+ font-weight : 600;
386
+ }
387
+
388
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header-cta-arrow {
389
+ background : url("../images/arrow.svg") no-repeat center;
390
+ background-size : contain;
391
+ width : 100px;
392
+ height : 30px;
393
+ }
394
+
395
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__content {
396
+ display : flex;
397
+ column-gap : 20px;
398
+ padding-top : 30px;
399
+ }
400
+
401
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__main-image {
402
+ max-width : 50%;
403
+ object-fit : contain;
404
+ object-position : top;
405
+ flex : 1;
406
+ }
407
+
408
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__features {
409
+ display : flex;
410
+ flex-direction : column;
411
+ row-gap : 45px;
412
+ font-size : 18px;
413
+ line-height : 24px;
414
+ padding-top : 30px;
415
+ flex : 1;
416
+ max-width : 100%;
417
+ }
418
+
419
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__feature {
420
+ display : flex;
421
+ align-items : center;
422
+ column-gap : 25px;
423
+ }
424
+
425
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__feature:before {
426
+ content : '';
427
+ display : block;
428
+ width : 12px;
429
+ height : 20px;
430
+ border : 8px solid #96ca20;
431
+ border-left : 0;
432
+ border-top : 0;
433
+ transform : rotate(45deg) translate(30%, -15%);
434
+ margin-right : 10px;
435
+ margin-bottom : 6px;
436
+ }
437
+
438
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__feature-content {
439
+ width : calc(100% - 55px);
440
+ }
441
+
442
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__cta-button {
443
+ background-color : #e58f00;
444
+ color : white;
445
+ text-transform : uppercase;
446
+ text-decoration : none;
447
+ border-radius : 5px;
448
+ white-space : nowrap;
449
+ transition : .3s;
450
+ }
451
+
452
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__cta-button:hover {
453
+ background-color : #c67c00;
454
+ }
455
+
456
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__content-cta {
457
+ padding : 20px;
458
+ font-size : 20px;
459
+ font-weight : 600;
460
+ text-align : center;
461
+ line-height : normal;
462
+ }
463
+
464
+ /**
465
+ Post type Edit
466
+ */
467
+
468
+ .yith-plugin-fw-wp-page-wrapper {
469
+ margin : 23px 20px 0 2px;
470
+ }
471
+
472
+ .yith-plugin-fw-wp-page-wrapper .notice,
473
+ .yith-plugin-fw-wp-page-wrapper div.updated,
474
+ .yith-plugin-fw-wp-page-wrapper div.error {
475
+ margin : 5px 15px 15px 0;
476
+ }
477
+
478
+ .yith-plugin-fw-wp-page-wrapper .wrap, .yith-plugin-fw-wp-page__sub-tab-wrap {
479
+ border : 1px solid #d8d8d8;
480
+ border-top : 0;
481
+ margin : 0 15px 0 0;
482
+ background : #fff;
483
+ padding : 20px;
484
+ box-sizing : border-box;
485
+ }
486
+
487
+ .yith-plugin-fw-wp-page-wrapper .yith-plugin-fw-wp-page__sub-tab-wrap .wrap {
488
+ margin : -20px 0 0 0;
489
+ }
490
+
491
+ #wpwrap .yith-plugin-fw-wp-page-wrapper .yith-plugin-ui h2.nav-tab-wrapper, #wpbody-content .yith-plugin-fw-wp-page-wrapper .yith-plugin-ui h2.nav-tab-wrapper {
492
+ padding-bottom : 0;
493
+ }
494
+
495
+ .yith-plugin-fw-wp-page-wrapper .postbox {
496
+ box-shadow : none;
497
+ }
498
+
499
+ .yith-plugin-fw-wp-page-wrapper h1.nav-tab-wrapper, .yith-plugin-fw-wp-page-wrapper h2.nav-tab-wrapper, .yith-plugin-fw-wp-page-wrapper .nav-tab-wrapper {
500
+ padding-top : 9px;
501
+ padding-bottom : 0;
502
+ }
503
+
504
+ .yith-plugin-fw-wp-page-wrapper .wrap h1.wp-heading-inline {
505
+ color : #2a8db0;
506
+ font-size : 16px;
507
+ font-weight : 600;
508
+ }
509
+
510
+ .yith-plugin-fw-wp-page-wrapper .wrap a.page-title-action,
511
+ .yith-plugin-fw-wp-page-wrapper .wrap a.page-title-action:active {
512
+ border-radius : 3px;
513
+ text-transform : uppercase;
514
+ box-shadow : none;
515
+ border : 0;
516
+ font-weight : 700;
517
+ font-size : 11px;
518
+ padding : 0 14px;
519
+ outline : none;
520
+ height : auto;
521
+ transition : all ease 0.3s;
522
+ text-shadow : none;
523
+ vertical-align : middle;
524
+ line-height : 26px;
525
+ display : inline-block;
526
+ text-decoration : none;
527
+ cursor : pointer;
528
+ background-color : #375f6b;
529
+ color : #fff;
530
+ margin-left : 10px !important;
531
+ }
532
+
533
+ .yith-plugin-fw-wp-page-wrapper .wrap a.page-title-action:hover {
534
+ border-color : #007694;
535
+ background : #007694;
536
+ color : #fff;
537
+ }
538
+
539
+ .yith-plugin-fw-wp-page-wrapper #wp-content-editor-tools {
540
+ background : transparent;
541
+ }
542
+
543
+ /* === Plugins Upgrader === */
544
+
545
+ .yit-plugin-changelog-wrapper {
546
+ display : none;
547
+ }
548
+
549
+ .yit-plugin-changelog-title {
550
+ text-transform : uppercase;
551
+ }
552
+
553
+ .yit-plugin-changelog {
554
+ height : calc(100% - 15px);
555
+ width : calc(100% - 15px);
556
+ overflow-x : hidden;
557
+ overflow-y : auto;
558
+ z-index : 999;
559
+ background : #fcfcfc;
560
+ }
561
+
562
+ /* === Plugins Licence Activation === */
563
+
564
+ .yit-container.plugin-licence-activation {
565
+ font-family : 'Raleway', sans-serif;
566
+ }
567
+
568
+ .yit-container.plugin-licence-activation .to-active-wrapper {
569
+ margin-bottom : 60px;
570
+ }
571
+
572
+ .yit-container.plugin-licence-activation .to-active-wrapper form.to-active-form {
573
+ position : relative;
574
+ border-color : #e1e1e1;
575
+ border-style : solid;
576
+ border-width : 0;
577
+ }
578
+
579
+ .yit-container.plugin-licence-activation .to-active-wrapper form.to-active-form:first-child {
580
+ border-top-width : 1px;
581
+ }
582
+
583
+ .yit-container.plugin-licence-activation .to-active-wrapper form.to-active-form:last-child {
584
+ border-bottom-width : 1px;
585
+ }
586
+
587
+ .yit-container.plugin-licence-activation .to-active-wrapper table.to-active-table {
588
+ border-width : 0;
589
+ border-spacing : 0;
590
+ width : 100%;
591
+ }
592
+
593
+ .yit-container.plugin-licence-activation .message {
594
+ display : none;
595
+ line-height : normal;
596
+ background : #fff url(../images/licence-error.png) 15px center no-repeat;
597
+ padding-left : 65px;
598
+ padding-right : 15px;
599
+ width : 150px;
600
+ }
601
+
602
+ .yit-container.plugin-licence-activation .message-wrapper {
603
+ height : 75px;
604
+ display : none;
605
+ position : absolute;
606
+ top : 0;
607
+ right : -250px;
608
+ border : 1px solid #ff3838;
609
+ }
610
+
611
+ .yit-container.plugin-licence-activation .message-wrapper.visible {
612
+ display : table;
613
+ }
614
+
615
+ .yit-container.plugin-licence-activation .message {
616
+ display : table-cell;
617
+ vertical-align : middle;
618
+ }
619
+
620
+ .yit-container.plugin-licence-activation .arrow-left:after,
621
+ .yit-container.plugin-licence-activation .arrow-left:before {
622
+ content : "";
623
+ display : block;
624
+ width : 0;
625
+ height : 0;
626
+ position : absolute;
627
+ }
628
+
629
+ .yit-container.plugin-licence-activation .arrow-left:before {
630
+ border-top : 9px solid transparent;
631
+ border-bottom : 9px solid transparent;
632
+ border-right : 9px solid #ff3838;
633
+ top : 26px;
634
+ left : -9px;
635
+ }
636
+
637
+ .yit-container.plugin-licence-activation .arrow-left:after {
638
+ border-top : 8px solid transparent;
639
+ border-bottom : 8px solid transparent;
640
+ border-right : 8px solid #fff;
641
+ left : -8px;
642
+ top : 27px;
643
+ }
644
+
645
+ .yit-container.plugin-licence-activation h2,
646
+ .yit-container.plugin-licence-activation h3 {
647
+ text-transform : uppercase;
648
+ font-weight : 800;
649
+ margin-bottom : 30px;
650
+ }
651
+
652
+ .yit-container.plugin-licence-activation h2 {
653
+ color : #808a97;
654
+ font-size : 25px;
655
+ }
656
+
657
+ .yit-container.plugin-licence-activation h3 {
658
+ color : #313131;
659
+ font-size : 15px;
660
+ height : 20px;
661
+ }
662
+
663
+ .yit-container.plugin-licence-activation h3.to-active {
664
+ height : 20px;
665
+ position : relative;
666
+ vertical-align : top;
667
+ }
668
+
669
+ .yit-container.plugin-licence-activation .spinner.show {
670
+ display : inline-block;
671
+ vertical-align : middle;
672
+ float : none;
673
+ }
674
+
675
+ .yit-container.plugin-licence-activation h3.to-active > .spinner.show {
676
+ display : inline-block;
677
+ float : none;
678
+ top : -3px;
679
+ position : relative;
680
+ }
681
+
682
+ .yit-container.plugin-licence-activation .licence-check-section {
683
+ margin-bottom : 60px;
684
+ }
685
+
686
+ .yit-container.plugin-licence-activation span.licence-label {
687
+ font-weight : 500;
688
+ color : #606060;
689
+ margin-bottom : 30px;
690
+ }
691
+
692
+ .yit-container.plugin-licence-activation .button-licence {
693
+ border : 0;
694
+ font-size : 13px;
695
+ text-transform : uppercase;
696
+ background-color : #808a97;
697
+ color : #fff;
698
+ font-weight : 700;
699
+ border-radius : 3px;
700
+ cursor : pointer;
701
+ text-decoration : none;
702
+ padding : 5px 7px;
703
+ -webkit-transition : background-color 0.3s ease;
704
+ -moz-transition : background-color 0.3s ease;
705
+ -ms-transition : background-color 0.3s ease;
706
+ -o-transition : background-color 0.3s ease;
707
+ transition : background-color 0.3s ease;
708
+ }
709
+
710
+ .yit-container.plugin-licence-activation .button-licence:hover {
711
+ background-color : #4d5c6f;
712
+ }
713
+
714
+ .yit-container.plugin-licence-activation .button-licence.clicked {
715
+ cursor : not-allowed;
716
+ background-color : #e2e2e2 !important;
717
+ }
718
+
719
+ .yit-container.plugin-licence-activation .button-licence.licence-check {
720
+ font-weight : 400;
721
+ padding : 12px 19px;
722
+ }
723
+
724
+ .yit-container.plugin-licence-activation .button-licence.licence-renew {
725
+ text-decoration : none;
726
+ padding : 7px 12px;
727
+ font-size : 9px;
728
+ }
729
+
730
+ .yit-container.plugin-licence-activation .button-licence.licence-renew:focus {
731
+ box-shadow : none;
732
+ }
733
+
734
+ .yit-container.plugin-licence-activation table:not(.to-active-table) {
735
+ width : 100%;
736
+ border : 1px solid #dcdcdc;
737
+ border-spacing : 0;
738
+ border-radius : 5px;
739
+ border-collapse : separate;
740
+ overflow : hidden;
741
+ }
742
+
743
+ .yit-container.plugin-licence-activation table:not(.to-active-table) th {
744
+ border-bottom : 1px solid #dcdcdc;
745
+ }
746
+
747
+ .yit-container.plugin-licence-activation table:not(.to-active-table) td,
748
+ .yit-container.plugin-licence-activation table:not(.to-active-table) th {
749
+ border-right : 1px solid #dcdcdc;
750
+ }
751
+
752
+ .yit-container.plugin-licence-activation table td:last-child,
753
+ .yit-container.plugin-licence-activation table th:last-child {
754
+ border-right : 0;
755
+ }
756
+
757
+ .yit-container.plugin-licence-activation table thead tr {
758
+ background-color : #f6f4f4;
759
+ }
760
+
761
+ .yit-container.plugin-licence-activation table tbody tr {
762
+ background-color : #fff;
763
+ }
764
+
765
+ .yit-container.plugin-licence-activation table thead tr th {
766
+ font-size : 13px;
767
+ color : #313131;
768
+ text-transform : uppercase;
769
+ font-weight : bold;
770
+ }
771
+
772
+ .yit-container.plugin-licence-activation table thead tr,
773
+ .yit-container.plugin-licence-activation table tbody tr {
774
+ line-height : 60px;
775
+ }
776
+
777
+ .yit-container.plugin-licence-activation table tbody tr td {
778
+ text-align : center;
779
+ line-height : 20px;
780
+ padding : 10px 5px;
781
+ }
782
+
783
+ .yit-container.plugin-licence-activation .button-licence.licence-activation {
784
+ padding : 12px 18px;
785
+ }
786
+
787
+ .yit-container.plugin-licence-activation .to-active-table tr {
788
+ line-height : 75px;
789
+ }
790
+
791
+ .yit-container.plugin-licence-activation .to-active-table tr.plugin-row {
792
+ background-color : transparent;
793
+ -webkit-transition : all 0.3s ease;
794
+ -moz-transition : all 0.3s ease;
795
+ -ms-transition : all 0.3s ease;
796
+ -o-transition : all 0.3s ease;
797
+ transition : all 0.3s ease;
798
+ }
799
+
800
+ .yit-container.plugin-licence-activation .to-active-table tr.plugin-row.error {
801
+ background-color : #ffdcdc;
802
+ }
803
+
804
+ .yit-container.plugin-licence-activation .to-active-table td {
805
+ padding-right : 12px;
806
+ width : 33%;
807
+ }
808
+
809
+ .yit-container.plugin-licence-activation .to-active-table td.plugin-name {
810
+ color : #808a97;
811
+ font-size : 12px;
812
+ text-transform : uppercase;
813
+ font-weight : bold;
814
+ line-height : 20px;
815
+ width : 20%;
816
+ padding-left : 20px;
817
+ }
818
+
819
+ .yit-container.plugin-licence-activation .to-active-table td.activate-button {
820
+ width : 15%;
821
+ position : relative;
822
+ }
823
+
824
+ .yit-container.plugin-licence-activation input[type=text],
825
+ .yit-container.plugin-licence-activation input[type=email] {
826
+ -webkit-transition : all 0.3s ease;
827
+ -moz-transition : all 0.3s ease;
828
+ -ms-transition : all 0.3s ease;
829
+ -o-transition : all 0.3s ease;
830
+ transition : all 0.3s ease;
831
+
832
+ border : 1px solid #dcdcdc;
833
+ padding : 0 15px;
834
+ border-radius : 3px;
835
+ height : 41px;
836
+ width : 100%;
837
+ }
838
+
839
+ .yit-container.plugin-licence-activation input[type=text].require,
840
+ .yit-container.plugin-licence-activation input[type=email].require {
841
+ border : 1px solid #ff3838;
842
+ }
843
+
844
+ .yit-container.plugin-licence-activation input[type=text]:focus,
845
+ .yit-container.plugin-licence-activation input[type=email]:focus {
846
+ webkit-box-shadow : 0 0 1px rgba(30, 140, 190, .8);
847
+ box-shadow : 0 0 1px rgba(30, 140, 190, .8);
848
+ }
849
+
850
+ .yit-container.plugin-licence-activation input[type=text] {
851
+ text-transform : uppercase;
852
+ text-align : center;
853
+ }
854
+
855
+ .yit-container.plugin-licence-activation input[type=email] {
856
+ text-align : left;
857
+ }
858
+
859
+ .yit-container.plugin-licence-activation input[type=submit]:focus {
860
+ outline : 0;
861
+ }
862
+
863
+ /* === Woocommerce panel === */
864
+ #plugin-fw-wc .yit_options {
865
+ padding : 0;
866
+ border : 0;
867
+ }
868
+
869
+ #plugin-fw-wc .yit_options input.upload_button, .yit_options input.button {
870
+ background : none;
871
+ border : 1px solid #ccc;
872
+ }
873
+
874
+ /* === WP Pointers === */
875
+
876
+ #adminmenu li.menu-top.yit-pointer-selected-row,
877
+ #adminmenu li.menu-top.yit-pointer-selected-row:hover,
878
+ #adminmenu li.yit-pointer-selected-row a.menu-top {
879
+ background-color : #acc327;
880
+ color : #000;
881
+ }
882
+
883
+ #adminmenu a.menu-top.toplevel_page_yit_plugin_panel.yit-pointer {
884
+ color : #000;
885
+ }
886
+
887
+ #adminmenu a.menu-top.toplevel_page_yit_plugin_panel.yit-pointer:hover,
888
+ #adminmenu .wp-submenu a.yit-pointer-selected-row {
889
+ color : #fff;
890
+ }
891
+
892
+ #adminmenu .wp-submenu a.yit-pointer-selected-row:hover {
893
+ color : #45bbe6;
894
+ }
895
+
896
+ /* WooCommerce 2.4 Support */
897
+ .woocommerce table.form-table .colorpick {
898
+ width : 6em;
899
+ }
900
+
901
+ #wpwrap h2.nav-tab-wrapper, #wpbody-content h2.nav-tab-wrapper {
902
+ border-bottom : 1px solid #ccc;
903
+ margin-right : 15px;
904
+ text-transform : uppercase;
905
+ }
906
+
907
+ /* === YIT FRAMEWORK === */
908
+ .plugin-card .plugin-icon img {
909
+ max-width : 100%;
910
+ width : auto;
911
+ height : auto;
912
+ }
913
+
914
+ /* === Panel Content and Container === */
915
+ .yit-admin-panel-container {
916
+ position : relative;
917
+ margin-right : 15px;
918
+ }
919
+
920
+ .yith-plugin-ui .yit-admin-panel-container {
921
+ position : relative;
922
+ margin-right : 15px;
923
+ z-index : 0;
924
+ }
925
+
926
+ .yit-admin-panel-content-wrap {
927
+ width : auto;
928
+ display : block;
929
+ }
930
+
931
+ .yith-disabled {
932
+ opacity : 0.3;
933
+ pointer-events : none;
934
+ }
935
+
936
+ .yith-plugin-fw-select,
937
+ .yith-plugin-fw-slider-container,
938
+ .yith-plugin-fw-text-input,
939
+ .yith-plugin-fw-text-array-table,
940
+ .yith-plugin-fw-textarea {
941
+ width : 400px;
942
+ max-width : 100%;
943
+ }
944
+
945
+ .yith-plugin-fw-text-array-table input {
946
+ width : 100%;
947
+ }
948
+
949
+ .yith-plugin-fw-panel-wc-row.preview {
950
+ float : none;
951
+ }
952
+
953
+ .yith-plugin-fw-panel .subsubsub {
954
+ margin : 0;
955
+ }
956
+
957
+ /**
958
+ * Sub Tabs
959
+ */
960
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav {
961
+ background : #fff;
962
+ padding : 10px 20px 0;
963
+ box-sizing : border-box;
964
+ margin-right : 15px;
965
+ border-left : 1px solid #d8d8d8;
966
+ border-right : 1px solid #d8d8d8;
967
+ }
968
+
969
+ .yith-plugin-ui .yith-plugin-fw-wp-page-wrapper .wrap {
970
+ margin-top : -29px;
971
+ }
972
+
973
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav h3.nav-tab-wrapper {
974
+ text-transform : uppercase;
975
+ line-height : inherit;
976
+ font-weight : 600;
977
+ margin : 20px 0 0 0;
978
+ box-sizing : border-box;
979
+ background-color : #f1f1f1;
980
+ padding-top : 0;
981
+ border : 1px solid #ccc;
982
+ border-bottom : 0;
983
+ }
984
+
985
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab {
986
+ line-height : 1.71428571;
987
+ margin-left : 0;
988
+ margin-right : 0;
989
+ background-color : #f1f1f1;
990
+ color : #336374;
991
+ font-size : 12px;
992
+ padding : 8px 20px 9px;
993
+ border : 0;
994
+ }
995
+
996
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__title,
997
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__icon {
998
+ vertical-align : middle;
999
+ }
1000
+
1001
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__icon {
1002
+ margin-left : 8px;
1003
+ font-size : 22px;
1004
+ margin-right : -3px;
1005
+ }
1006
+
1007
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab .yith-nav-sub-tab__icon:before {
1008
+ color : inherit;
1009
+ }
1010
+
1011
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .yith-nav-sub-tab--highlight {
1012
+ color : #fff;
1013
+ background : #2a8db0;
1014
+ }
1015
+
1016
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab-active {
1017
+ color : #2a8db0;
1018
+ background : #fff;
1019
+ border-bottom : 0;
1020
+ }
1021
+
1022
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav .nav-tab:first-child {
1023
+ border : 0;
1024
+ }
1025
+
1026
+ .yith-plugin-fw-wp-page-wrapper.yith-current-subtab-opened > .wrap {
1027
+ /* padding-top: 0; */
1028
+ }
1029
+
1030
+ .yith-plugin-fw-wp-page-wrapper .nav-tab-wrapper {
1031
+ border-bottom : 2px solid #e9e9e9;
1032
+ margin : 0;
1033
+ padding-top : 9px;
1034
+ padding-bottom : 0;
1035
+ line-height : inherit;
1036
+ }
1037
+
1038
+ div.nav-subtab-wrap {
1039
+ position : absolute;
1040
+ top : 100%;
1041
+ left : 1px;
1042
+ padding-top : 10px;
1043
+ visibility : hidden; /* hides sub-menu */
1044
+ }
1045
+
1046
+ ul.nav-subtab {
1047
+ opacity : 0;
1048
+ background-color : #fff;
1049
+ transition : max-height 0.5s ease-in;
1050
+ max-height : 0;
1051
+ z-index : 100;
1052
+ overflow : hidden;
1053
+ border : 1px solid #f2f2f2;
1054
+ padding : 14px 15px;
1055
+ }
1056
+
1057
+ ul.yith-plugin-fw-tabs {
1058
+ display : block;
1059
+ margin : 0;
1060
+ }
1061
+
1062
+ li.yith-plugin-fw-tab-element {
1063
+ position : relative;
1064
+ margin : 0;
1065
+ padding : 0;
1066
+ display : inline-block;
1067
+ overflow : visible;
1068
+ z-index : 10;
1069
+ }
1070
+
1071
+ .yith-plugin-ui li.yith-plugin-fw-tab-element {
1072
+ margin-bottom : -1px;
1073
+ }
1074
+
1075
+ li.yith-plugin-fw-tab-element:hover {
1076
+ cursor : pointer;
1077
+ }
1078
+
1079
+ li.nav-subtab-item {
1080
+ padding : 3px 0 0;
1081
+ }
1082
+
1083
+ li.nav-subtab-item a {
1084
+ font-size : 12px;
1085
+ text-decoration : none;
1086
+ letter-spacing : 0.05em;
1087
+ color : #336374;
1088
+ }
1089
+
1090
+ li.nav-subtab-item a:hover {
1091
+ color : #228fb6;
1092
+ }
1093
+
1094
+ li.yith-plugin-fw-tab-element a:hover .nav-subtab-wrap,
1095
+ li.yith-plugin-fw-tab-element:hover .nav-subtab-wrap {
1096
+ visibility : visible; /* shows sub-menu */
1097
+ }
1098
+
1099
+ li.yith-plugin-fw-tab-element a:hover ul.nav-subtab,
1100
+ li.yith-plugin-fw-tab-element:hover ul.nav-subtab {
1101
+ max-height : 200px;
1102
+ -webkit-box-shadow : -2px 2px 10px rgba(0, 111, 101, 0.27);
1103
+ -moz-box-shadow : -2px 2px 10px rgba(0, 111, 101, 0.27);
1104
+ box-shadow : -2px 2px 10px rgba(0, 111, 101, 0.27);
1105
+ opacity : 1;
1106
+ transition-delay : 0s, 0s, 0.3s;
1107
+ min-width : 180px;
1108
+ }
1109
+
1110
+ li.yith-plugin-fw-tab-element a.nav-tab i {
1111
+ margin-left : 10px;
1112
+ font-size : 12px;
1113
+ font-weight : 600;
1114
+ }
1115
+
1116
+ li.yith-plugin-fw-tab-element a.nav-tab i:before {
1117
+ color : #fff;
1118
+ }
1119
+
1120
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yit-admin-panel-container {
1121
+ margin-top : 0;
1122
+ padding-top : 0;
1123
+ }
1124
+
1125
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yit-admin-panel-container,
1126
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yith-plugin-fw-wp-page__sub-tab-wrap {
1127
+ border : 1px solid #d8d8d8;
1128
+ border-top : 0;
1129
+ margin : 0 15px 0 0;
1130
+ background : #fff;
1131
+ padding : 0 20px 20px 20px;
1132
+ box-sizing : border-box;
1133
+ }
1134
+
1135
+
1136
+ .yith-plugin-ui .yith-plugin-fw-sub-tabs-nav ~ .yith-plugin-fw-wp-page__sub-tab-wrap .wrap {
1137
+ margin : 0;
1138
+ }
1139
+
1140
+ /**
1141
+ * Float Save Button
1142
+ */
1143
+
1144
+ button#yith-plugin-fw-float-save-button {
1145
+ display : none;
1146
+ align-items : center;
1147
+ border-radius : 60px;
1148
+ bottom : 50px;
1149
+ box-shadow : 0 0 6px 3px rgba(0, 121, 159, .2);
1150
+ padding : 6px 20px;
1151
+ position : fixed;
1152
+ right : 70px;
1153
+ text-transform : uppercase;
1154
+ z-index : 2;
1155
+ transition : 0.3s ease-in-out;
1156
+ }
1157
+
1158
+ .ywtenv-is-sandbox button#yith-plugin-fw-float-save-button {
1159
+ bottom : 100px;
1160
+ }
1161
+
1162
+ button#yith-plugin-fw-float-save-button.visible {
1163
+ display : flex;
1164
+ }
1165
+
1166
+ button#yith-plugin-fw-float-save-button i {
1167
+ font-size : 15px;
1168
+ margin-right : 8px;
1169
+ }
1170
+
1171
+ button#yith-plugin-fw-float-save-button:hover {
1172
+ box-shadow : 0px 1px 6px 3px rgba(0, 121, 159, .3);
1173
+ }
1174
+
1175
+ button#yith-plugin-fw-float-save-button.green {
1176
+ background-color : #98aa36;
1177
+ border-color : #98aa36;
1178
+ box-shadow : 0 0 6px 3px rgba(152, 170, 54, .2);
1179
+ transition : all 0.8s linear;
1180
+ }
1181
+
1182
+ .rtl button#yith-plugin-fw-float-save-button {
1183
+ right : auto;
1184
+ left : 70px;
1185
+ }
1186
+
1187
+ .rtl button#yith-plugin-fw-float-save-button i {
1188
+ margin-left : 8px;
1189
+ margin-right : 0;
1190
+ }
1191
+
1192
+
1193
+ /* === Responsive === */
1194
+
1195
+ @media (max-width : 1210px) {
1196
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__main-image,
1197
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header-cta-arrow {
1198
+ display : none;
1199
+ }
1200
+
1201
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__header {
1202
+ flex-wrap : wrap;
1203
+ }
1204
+
1205
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__features {
1206
+ padding-top : 15px;
1207
+ }
1208
+ }
1209
+
1210
+ @media (max-width : 600px) {
1211
+ #yith_plugin_fw_panel_premium_tab {
1212
+ padding : 20px;
1213
+ }
1214
+
1215
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab {
1216
+ padding : 30px;
1217
+ }
1218
+ }
1219
+
1220
+ @media (max-width : 767px) {
1221
+
1222
+ }
1223
+
1224
+ @media (max-width : 480px) {
1225
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__feature:before {
1226
+ width : 8px;
1227
+ height : 15px;
1228
+ border-width : 5px;
1229
+ }
1230
+
1231
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__feature {
1232
+ flex-direction : column;
1233
+ align-items : flex-start;
1234
+ row-gap : 13px;
1235
+ }
1236
+
1237
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__feature-content {
1238
+ width : 100%;
1239
+ }
1240
+
1241
+ #yith_plugin_fw_panel_premium_tab .yith-plugin-fw-panel-premium-tab__cta-button {
1242
+ white-space : unset;
1243
+ }
1244
+ }
1245
+
1246
+ @media (max-width : 992px) {
1247
+ .yith-plugin-fw-panel-help-tab-content .row {
1248
+ white-space : normal;
1249
+ margin-bottom : 0;
1250
+ }
1251
+
1252
+ .yith-plugin-fw-panel-help-tab-content .row .column-left,
1253
+ .yith-plugin-fw-panel-help-tab-content .row .column-right {
1254
+ width : 100%;
1255
+ margin-bottom : 50px;
1256
+ }
1257
+
1258
+ .yith-plugin-fw-panel-help-tab-content ul.yith-plugin-fw-help-tab-actions {
1259
+ padding-top : 0 !important;
1260
+ }
1261
+ }
1262
+
1263
+ @media (min-width : 768px) and (max-width : 992px) {
1264
+ }
1265
+
1266
+ @media (min-width : 980px) and (max-width : 1199px) {
1267
+ }
1268
+
1269
+ @media (min-width : 1200px) {
1270
+ .yit-container.plugin-licence-activation {
1271
+ width : 900px;
1272
+ }
1273
+ }
1274
+
1275
+ @media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (-o-min-device-pixel-ratio : 3/2), only screen and (min--moz-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
1276
+ }
plugin-fw/assets/images/arrow.svg ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="86px" height="26px" viewBox="0 0 86 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>arrow2</title>
4
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="Create-badge---image-Copy" transform="translate(-795.000000, -218.000000)" fill="#336374">
6
+ <g id="arrow2" transform="translate(795.000000, 218.000000)">
7
+ <path d="M85.2527743,11.0287846 C85.0291804,10.8409658 84.5580864,10.4653284 83.9069923,9.99202513 C81.7582412,8.39556583 77.6702704,5.45995889 74.5990189,3.18547392 C73.0029243,2.00033766 71.6866736,1.0236802 71.0833921,0.482762228 C71.0032358,0.409512919 70.9019857,0.351289109 70.8513607,0.294943486 L70.8513607,0.306212611 L70.8513607,0.293065299 L70.8330794,0.272405237 C70.8246419,0.261136113 70.8204232,0.25550155 70.8218294,0.238597864 L70.8218294,0.238597864 C70.7216008,0.0191459435 70.5127354,-0.0622623017 70.3398646,0.0507452248 C70.1669939,0.163752751 70.086996,0.433994045 70.1552666,0.674337345 C70.2269854,0.978603707 71.7626112,2.67272876 73.859331,4.71995305 C75.783082,6.59814047 78.1540207,8.82567074 80.1143342,10.6512689 C75.6298006,10.6756854 69.8008914,10.6249743 63.3321381,10.6137052 C59.113386,10.6043142 54.6358837,10.5986797 50.0768189,10.641878 C47.4386925,10.6681726 44.7752537,10.7282746 42.1244711,10.7902548 C38.0730628,10.8860423 34.052592,11.0043682 30.1966525,11.1208158 C14.2807069,11.6072663 1.19835652,12.0279803 0.512106166,11.684272 C0.389268144,11.6171708 0.248958141,11.642693 0.144029579,11.7512246 C0.0391010166,11.8597562 -0.0145049592,12.0348087 0.00340450444,12.2104414 C0.0213139681,12.3860742 0.108017998,12.5356045 0.230856023,12.6027056 C0.848200087,12.9558049 11.476643,13.5925104 25.2283687,14.0338845 C30.4314964,14.2010431 36.088843,14.3512981 41.8108772,14.4226693 C44.5727536,14.4583548 47.351505,14.4715021 50.1077564,14.4508421 C52.9202578,14.4320602 55.6933842,14.3738364 58.3976044,14.3043434 C62.8062004,14.1916522 67.016515,14.0338845 70.8344857,13.8648476 C74.942144,13.6770288 78.5885521,13.46855 81.5388661,13.2694622 C81.0438659,13.678907 80.4940219,14.1334284 79.9104278,14.6255135 C79.0905836,15.3148083 78.2074582,16.0717178 77.3130827,16.8511656 C74.0660498,19.6853504 70.6558918,22.7392831 69.5674538,23.650204 C69.1305592,24.0067591 68.9841166,24.7618416 69.2364633,25.3568463 C69.4888101,25.951851 70.0490011,26.1723396 70.5026105,25.8551961 C71.5544861,25.1414849 74.7058939,22.9815693 77.824958,20.6357132 C79.5391776,19.3472767 81.2393347,18.0062509 82.5865229,16.8793384 C83.5022712,16.1209452 84.3879897,15.299703 85.240118,14.4189129 C85.8926184,13.708958 85.9952747,12.9708304 86,12.7754989 C85.9966809,12.7022496 86.0669934,11.6899066 85.2527743,11.0287846 Z" id="Path"></path>
8
+ </g>
9
+ </g>
10
+ </g>
11
+ </svg>
plugin-fw/dist/gutenberg/index.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-polyfill', 'wp-url'), 'version' => 'ec5c5e974d97e00eb3f18286c25e0840');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-polyfill', 'wp-url'), 'version' => '0d1e043f27fa4c9d1318a4501208941a');
plugin-fw/dist/gutenberg/index.js CHANGED
@@ -1 +1 @@
1
- !function(){var e,t={783:function(e,t,o){"use strict";var r=window.wp.element,n=window.React,a=o(568),l=o.n(a),s=window.wp.blocks,c=window.wp.url;function i(e){if(e.status>=200&&e.status<300)return e;throw e}function u(e){return e.json?e.json():e.text()}const h=(0,r.createElement)("svg",{viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",width:"22",height:"22",role:"img","aria-hidden":"true",focusable:"false"},(0,r.createElement)("path",{width:"22",height:"22",d:"M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z"}));var d=window.lodash,p=o.n(d);const f=(e,t,o)=>{let r=!0;if(t&&t.id&&"value"in t){let n=t.value;["toggle","checkbox"].includes(o)&&(n=!0===n||"yes"===n||1===n),n=p().isArray(n)?n:[n],r=void 0!==e[t.id]&&n.includes(e[t.id])}return r},g=(e,t)=>{const{controlType:o}=e;let r=!0;if(e.deps)if(p().isArray(e.deps))for(let n in e.deps){const a=e.deps[n];if(r=f(t,a,o),!r)break}else r=f(t,e.deps,o);return r},b=(e,t)=>{let o="",r=!1;if(void 0!==e.callback&&(jQuery&&e.callback in jQuery.fn?r=jQuery.fn[e.callback]:e.callback in window&&(r=window[e.callback])),"function"==typeof r)o=r(t,e);else{const r=e.attributes?Object.entries(e.attributes).map((([e,o])=>{const r=g(o,t),n=t[e];if(r&&void 0!==n)return e+"="+(o.remove_quotes?n:`"${n}"`)})):[],n=r.length?" "+r.join(" "):"";o=`[${e.shortcode_name}${n}]`}return o};var m=window.wp.components,y=window.wp.blockEditor,_=window.wp.hooks;class v extends n.Component{constructor(){super(...arguments),this.state={html:"",shortcode:"",shortcodeHash:"",ajaxUpdated:!1,ajaxSuccess:!1,ajaxResponse:!1,loading:!1,firstLoading:!0},this.ajaxTimeout=!1}componentDidMount(){this.updateShortcode()}componentDidUpdate(e,t,o){const{shortcode:r,shortcodeHash:n,ajaxSuccess:a,ajaxResponse:l,ajaxUpdated:s}=this.state;(0,d.isEqual)(e,this.props)||this.updateShortcode(),this.props.blockArgs.do_shortcode&&s&&(a&&(0,_.doAction)("yith_plugin_fw_gutenberg_success_do_shortcode",r,n,l),(0,_.doAction)("yith_plugin_fw_gutenberg_after_do_shortcode",r,n,l),this.setState({ajaxUpdated:!1}))}updateShortcode(){const{attributes:e,blockArgs:t}=this.props;this.setState({loading:!0,ajaxSuccess:!1,ajaxResponse:!1});const o=b(t,e),r=l()(o);t.do_shortcode?(this.ajaxTimeout&&clearTimeout(this.ajaxTimeout),(0,_.doAction)("yith_plugin_fw_gutenberg_before_do_shortcode",o,r),this.ajaxTimeout=setTimeout((()=>{((e,t=yithGutenberg.ajaxurl)=>(t=(0,c.addQueryArgs)(t,e),fetch(t).then(i).then(u)))({action:"yith_plugin_fw_gutenberg_do_shortcode",shortcode:o}).then((e=>{this.setState({loading:!1,firstLoading:!1,html:e.html,shortcode:o,shortcodeHash:r,ajaxSuccess:!0,ajaxUpdated:!0,ajaxResponse:e})})).catch((e=>{console.log({error:e})}))}),300)):this.setState({loading:!1,firstLoading:!1,html:o,shortcode:o,shortcodeHash:r})}render(){const{html:e,loading:t,firstLoading:o,shortcode:n,shortcodeHash:a}=this.state,{blockArgs:l}=this.props,{do_shortcode:s,title:c,empty_message:i}=l,u="block-editor-yith-plugin-fw-shortcode-block";let d=[u],p=s?"html":"shortcode",f=e,g="";o&&t?p="first-loading":s&&!e&&(p="empty-html",f=n,!t&&i&&(g=i));const b=["first-loading","empty-html","shortcode"].includes(p),y=!["first-loading","empty-html"].includes(p),_=!!g;return d.push(`${u}--${p}`),d.push(_?`${u}--has-message`:`${u}--no-message`),d.push(`yith_block_${a}`),(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:d.join(" ")},t?(0,r.createElement)("div",{className:`${u}__spinner-wrap`},(0,r.createElement)(m.Spinner,null)):"",b&&(0,r.createElement)("div",{className:`${u}__title components-placeholder__label`},h,c),_&&(0,r.createElement)(r.RawHTML,{className:`${u}__message`},g),y&&(0,r.createElement)(r.RawHTML,{className:`${u}__content`},f)))}}var C=window.wp.compose;function w({className:e,label:t,onChange:o,value:n,help:a,disableAlpha:l}){const s=`inspector-yith-color-picker-control-${(0,C.useInstanceId)(w)}`;return(0,r.createElement)(m.BaseControl,{id:s,label:t,className:`block-editor-yith-color-control ${e}`,help:a},(0,r.createElement)(m.ColorPicker,{color:n,disableAlpha:l,onChangeComplete:o}))}function k({label:e,colorValue:t}){return(0,r.createElement)(r.Fragment,null,e,!!t&&(0,r.createElement)(m.ColorIndicator,{colorValue:t}))}function x({className:e,label:t,onChange:o,value:n,help:a,palette:l,clearable:s}){l=l||(0,y.useSetting)("color.palette");const c=`inspector-yith-color-palette-control-${(0,C.useInstanceId)(x)}`;return(0,r.createElement)(m.BaseControl,{id:c,className:`block-editor-yith-color-palette-control ${e}`,help:a},(0,r.createElement)("fieldset",null,(0,r.createElement)("legend",null,(0,r.createElement)("div",{className:"block-editor-yith-color-palette-control__color-indicator"},(0,r.createElement)(m.BaseControl.VisualLabel,null,(0,r.createElement)(k,{colorValue:n,label:t})))),(0,r.createElement)(m.ColorPalette,{value:n,onChange:o,colors:l,clearable:s})))}const j=(e,t)=>function({attributes:o,className:n,setAttributes:a}){const l=(e,t,o)=>{["colorpicker","color"].includes(o)&&(e=e.color.getAlpha()<1?e.color.toRgbString():e.color.toHexString());let r={};r[t]=e,a(r)};return(0,r.createElement)(r.Fragment,null,!!t.attributes&&(0,r.createElement)(y.InspectorControls,null,(0,r.createElement)(m.PanelBody,null,Object.entries(t.attributes).map((([t,n])=>{const a=((t,n)=>{const{controlType:a}=n,s=o[t],c=((e,t)=>{let o="";return e.helps&&e.helps.checked&&e.helps.unchecked?o=t?e.helps.checked:e.helps.unchecked:e.help&&(o=e.help),o})(n,s);let i=`${e}__${t}-field-wrapper`;const u=g(n,o);n.wrapper_class&&(i+=" "+n.wrapper_class);let h=!1;if(u)switch(a){case"select":h=(0,r.createElement)(m.SelectControl,{className:i,key:t,value:s,label:n.label,options:n.options,help:c,multiple:!!n.multiple,onChange:e=>{l(e,t,a)}});break;case"text":h=(0,r.createElement)(m.TextControl,{className:i,key:t,value:s,label:n.label,help:c,onChange:e=>{l(e,t,a)}});break;case"textarea":h=(0,r.createElement)(m.TextareaControl,{className:i,key:t,value:s,label:n.label,help:c,onChange:e=>{l(e,t,a)}});break;case"toggle":h=(0,r.createElement)(m.ToggleControl,{className:i,key:t,label:n.label,help:c,checked:s,onChange:e=>{l(e,t,a)}});break;case"checkbox":h=(0,r.createElement)(m.CheckboxControl,{className:i,key:t,label:n.label,help:c,checked:s,onChange:e=>{l(e,t,a)}});break;case"number":case"range":h=(0,r.createElement)(m.RangeControl,{className:i,key:t,value:s,label:n.label,help:c,min:n.min,max:n.max,onChange:e=>{l(e,t,a)}});break;case"color":case"colorpicker":h=(0,r.createElement)(w,{className:i,key:t,label:n.label,help:c,value:s,disableAlpha:n.disableAlpha,onChange:e=>{l(e,t,a)}});break;case"color-palette":h=(0,r.createElement)(x,{className:i,key:t,label:n.label,help:c,value:s,clearable:n.clearable||!1,onChange:e=>{l(e,t,a)}});break;case"radio":h=(0,r.createElement)(m.RadioControl,{key:t,label:n.label,options:n.options,selected:s,help:c,onChange:e=>{l(e,t,a)}});break;default:h=!1}return h})(t,n);if(a)return a})))),(0,r.createElement)(v,{attributes:o,blockArgs:t}))},E=[{key:"yith_plugin_fw_gutenberg_before_do_shortcode",delay:0},{key:"yith_plugin_fw_gutenberg_success_do_shortcode",delay:200},{key:"yith_plugin_fw_gutenberg_after_do_shortcode",delay:200}];for(const e of E)(0,_.addAction)(e.key,"yith-plugin-fw/jquery-events",((...t)=>{"jQuery"in window&&(e.delay?setTimeout((()=>{jQuery(document).trigger(e.key,Object.values(t))}),e.delay):jQuery(document).trigger(e.key,Object.values(t)))}));for(const[e,t]of Object.entries(yithGutenbergBlocks))(0,s.registerBlockType)("yith/"+e,{title:t.title,description:t.description,category:t.category,attributes:t.attributes,icon:void 0!==t.icon?t.icon:h,keywords:t.keywords,edit:j(e,t),save:({attributes:e})=>b(t,e),deprecated:[{attributes:t.attributes,save:({attributes:e})=>{const o=b(t,e),n='<span class="yith_block_'+l()(o)+'">'+o+"</span>";return(0,r.createElement)(r.RawHTML,null,n)}}]})},487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],o=0;o<e.length;o++)t.push(255&e.charCodeAt(o));return t},bytesToString:function(e){for(var t=[],o=0;o<e.length;o++)t.push(String.fromCharCode(e[o]));return t.join("")}}};e.exports=t},12:function(e){var t,o;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&o.rotl(e,8)|4278255360&o.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=o.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],o=0,r=0;o<e.length;o++,r+=8)t[r>>>5]|=e[o]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],o=0;o<32*e.length;o+=8)t.push(e[o>>>5]>>>24-o%32&255);return t},bytesToHex:function(e){for(var t=[],o=0;o<e.length;o++)t.push((e[o]>>>4).toString(16)),t.push((15&e[o]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],o=0;o<e.length;o+=2)t.push(parseInt(e.substr(o,2),16));return t},bytesToBase64:function(e){for(var o=[],r=0;r<e.length;r+=3)for(var n=e[r]<<16|e[r+1]<<8|e[r+2],a=0;a<4;a++)8*r+6*a<=8*e.length?o.push(t.charAt(n>>>6*(3-a)&63)):o.push("=");return o.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var o=[],r=0,n=0;r<e.length;n=++r%4)0!=n&&o.push((t.indexOf(e.charAt(r-1))&Math.pow(2,-2*n+8)-1)<<2*n|t.indexOf(e.charAt(r))>>>6-2*n);return o}},e.exports=o},738:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},568:function(e,t,o){var r,n,a,l,s;r=o(12),n=o(487).utf8,a=o(738),l=o(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?l.stringToBytes(e):n.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var o=r.bytesToWords(e),c=8*e.length,i=1732584193,u=-271733879,h=-1732584194,d=271733878,p=0;p<o.length;p++)o[p]=16711935&(o[p]<<8|o[p]>>>24)|4278255360&(o[p]<<24|o[p]>>>8);o[c>>>5]|=128<<c%32,o[14+(c+64>>>9<<4)]=c;var f=s._ff,g=s._gg,b=s._hh,m=s._ii;for(p=0;p<o.length;p+=16){var y=i,_=u,v=h,C=d;i=f(i,u,h,d,o[p+0],7,-680876936),d=f(d,i,u,h,o[p+1],12,-389564586),h=f(h,d,i,u,o[p+2],17,606105819),u=f(u,h,d,i,o[p+3],22,-1044525330),i=f(i,u,h,d,o[p+4],7,-176418897),d=f(d,i,u,h,o[p+5],12,1200080426),h=f(h,d,i,u,o[p+6],17,-1473231341),u=f(u,h,d,i,o[p+7],22,-45705983),i=f(i,u,h,d,o[p+8],7,1770035416),d=f(d,i,u,h,o[p+9],12,-1958414417),h=f(h,d,i,u,o[p+10],17,-42063),u=f(u,h,d,i,o[p+11],22,-1990404162),i=f(i,u,h,d,o[p+12],7,1804603682),d=f(d,i,u,h,o[p+13],12,-40341101),h=f(h,d,i,u,o[p+14],17,-1502002290),i=g(i,u=f(u,h,d,i,o[p+15],22,1236535329),h,d,o[p+1],5,-165796510),d=g(d,i,u,h,o[p+6],9,-1069501632),h=g(h,d,i,u,o[p+11],14,643717713),u=g(u,h,d,i,o[p+0],20,-373897302),i=g(i,u,h,d,o[p+5],5,-701558691),d=g(d,i,u,h,o[p+10],9,38016083),h=g(h,d,i,u,o[p+15],14,-660478335),u=g(u,h,d,i,o[p+4],20,-405537848),i=g(i,u,h,d,o[p+9],5,568446438),d=g(d,i,u,h,o[p+14],9,-1019803690),h=g(h,d,i,u,o[p+3],14,-187363961),u=g(u,h,d,i,o[p+8],20,1163531501),i=g(i,u,h,d,o[p+13],5,-1444681467),d=g(d,i,u,h,o[p+2],9,-51403784),h=g(h,d,i,u,o[p+7],14,1735328473),i=b(i,u=g(u,h,d,i,o[p+12],20,-1926607734),h,d,o[p+5],4,-378558),d=b(d,i,u,h,o[p+8],11,-2022574463),h=b(h,d,i,u,o[p+11],16,1839030562),u=b(u,h,d,i,o[p+14],23,-35309556),i=b(i,u,h,d,o[p+1],4,-1530992060),d=b(d,i,u,h,o[p+4],11,1272893353),h=b(h,d,i,u,o[p+7],16,-155497632),u=b(u,h,d,i,o[p+10],23,-1094730640),i=b(i,u,h,d,o[p+13],4,681279174),d=b(d,i,u,h,o[p+0],11,-358537222),h=b(h,d,i,u,o[p+3],16,-722521979),u=b(u,h,d,i,o[p+6],23,76029189),i=b(i,u,h,d,o[p+9],4,-640364487),d=b(d,i,u,h,o[p+12],11,-421815835),h=b(h,d,i,u,o[p+15],16,530742520),i=m(i,u=b(u,h,d,i,o[p+2],23,-995338651),h,d,o[p+0],6,-198630844),d=m(d,i,u,h,o[p+7],10,1126891415),h=m(h,d,i,u,o[p+14],15,-1416354905),u=m(u,h,d,i,o[p+5],21,-57434055),i=m(i,u,h,d,o[p+12],6,1700485571),d=m(d,i,u,h,o[p+3],10,-1894986606),h=m(h,d,i,u,o[p+10],15,-1051523),u=m(u,h,d,i,o[p+1],21,-2054922799),i=m(i,u,h,d,o[p+8],6,1873313359),d=m(d,i,u,h,o[p+15],10,-30611744),h=m(h,d,i,u,o[p+6],15,-1560198380),u=m(u,h,d,i,o[p+13],21,1309151649),i=m(i,u,h,d,o[p+4],6,-145523070),d=m(d,i,u,h,o[p+11],10,-1120210379),h=m(h,d,i,u,o[p+2],15,718787259),u=m(u,h,d,i,o[p+9],21,-343485551),i=i+y>>>0,u=u+_>>>0,h=h+v>>>0,d=d+C>>>0}return r.endian([i,u,h,d])})._ff=function(e,t,o,r,n,a,l){var s=e+(t&o|~t&r)+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._gg=function(e,t,o,r,n,a,l){var s=e+(t&r|o&~r)+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._hh=function(e,t,o,r,n,a,l){var s=e+(t^o^r)+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._ii=function(e,t,o,r,n,a,l){var s=e+(o^(t|~r))+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var o=r.wordsToBytes(s(e,t));return t&&t.asBytes?o:t&&t.asString?l.bytesToString(o):r.bytesToHex(o)}}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.m=t,e=[],r.O=function(t,o,n,a){if(!o){var l=1/0;for(u=0;u<e.length;u++){o=e[u][0],n=e[u][1],a=e[u][2];for(var s=!0,c=0;c<o.length;c++)(!1&a||l>=a)&&Object.keys(r.O).every((function(e){return r.O[e](o[c])}))?o.splice(c--,1):(s=!1,a<l&&(l=a));if(s){e.splice(u--,1);var i=n();void 0!==i&&(t=i)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,n,a]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={826:0,46:0};r.O.j=function(t){return 0===e[t]};var t=function(t,o){var n,a,l=o[0],s=o[1],c=o[2],i=0;if(l.some((function(t){return 0!==e[t]}))){for(n in s)r.o(s,n)&&(r.m[n]=s[n]);if(c)var u=c(r)}for(t&&t(o);i<l.length;i++)a=l[i],r.o(e,a)&&e[a]&&e[a][0](),e[l[i]]=0;return r.O(u)},o=self.webpackChunkyith_plugin_framewowrk=self.webpackChunkyith_plugin_framewowrk||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))}();var n=r.O(void 0,[46],(function(){return r(783)}));n=r.O(n)}();
1
+ !function(){var e,t={783:function(e,t,o){"use strict";var r=window.wp.element,n=window.React,a=o(568),l=o.n(a),s=window.wp.blocks,c=window.wp.url;function i(e){if(e.status>=200&&e.status<300)return e;throw e}function u(e){return e.json?e.json():e.text()}const h=(0,r.createElement)("svg",{viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",width:"22",height:"22",role:"img","aria-hidden":"true",focusable:"false"},(0,r.createElement)("path",{width:"22",height:"22",d:"M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z"}));var d=window.lodash,p=o.n(d);const f=(e,t,o)=>{let r=!0;if(t&&t.id&&"value"in t){let n=t.value;["toggle","checkbox"].includes(o)&&(n=!0===n||"yes"===n||1===n),n=p().isArray(n)?n:[n],r=void 0!==e[t.id]&&n.includes(e[t.id])}return r},g=(e,t)=>{const{controlType:o}=e;let r=!0;if(e.deps)if(p().isArray(e.deps))for(let n in e.deps){const a=e.deps[n];if(r=f(t,a,o),!r)break}else r=f(t,e.deps,o);return r},b=(e,t)=>{let o="",r=!1;if(void 0!==e.callback&&(jQuery&&e.callback in jQuery.fn?r=jQuery.fn[e.callback]:e.callback in window&&(r=window[e.callback])),"function"==typeof r)o=r(t,e);else{const r=e.attributes?Object.entries(e.attributes).map((e=>{let[o,r]=e;const n=g(r,t),a=t[o];if(n&&void 0!==a)return o+"="+(r.remove_quotes?a:`"${a}"`)})):[],n=r.length?" "+r.join(" "):"";o=`[${e.shortcode_name}${n}]`}return o};var m=window.wp.components,y=window.wp.blockEditor,_=window.wp.hooks;class v extends n.Component{constructor(){super(...arguments),this.state={html:"",shortcode:"",shortcodeHash:"",ajaxUpdated:!1,ajaxSuccess:!1,ajaxResponse:!1,loading:!1,firstLoading:!0},this.ajaxTimeout=!1}componentDidMount(){this.updateShortcode()}componentDidUpdate(e,t,o){const{shortcode:r,shortcodeHash:n,ajaxSuccess:a,ajaxResponse:l,ajaxUpdated:s}=this.state;(0,d.isEqual)(e,this.props)||this.updateShortcode(),this.props.blockArgs.do_shortcode&&s&&(a&&(0,_.doAction)("yith_plugin_fw_gutenberg_success_do_shortcode",r,n,l),(0,_.doAction)("yith_plugin_fw_gutenberg_after_do_shortcode",r,n,l),this.setState({ajaxUpdated:!1}))}updateShortcode(){const{attributes:e,blockArgs:t}=this.props;this.setState({loading:!0,ajaxSuccess:!1,ajaxResponse:!1});const o=b(t,e),r=l()(o);t.do_shortcode?(this.ajaxTimeout&&clearTimeout(this.ajaxTimeout),(0,_.doAction)("yith_plugin_fw_gutenberg_before_do_shortcode",o,r),this.ajaxTimeout=setTimeout((()=>{(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:yithGutenberg.ajaxurl;return t=(0,c.addQueryArgs)(t,e),fetch(t).then(i).then(u)})({action:"yith_plugin_fw_gutenberg_do_shortcode",shortcode:o}).then((e=>{this.setState({loading:!1,firstLoading:!1,html:e.html,shortcode:o,shortcodeHash:r,ajaxSuccess:!0,ajaxUpdated:!0,ajaxResponse:e})})).catch((e=>{console.log({error:e})}))}),300)):this.setState({loading:!1,firstLoading:!1,html:o,shortcode:o,shortcodeHash:r})}render(){const{html:e,loading:t,firstLoading:o,shortcode:n,shortcodeHash:a}=this.state,{blockArgs:l}=this.props,{do_shortcode:s,title:c,empty_message:i}=l,u="block-editor-yith-plugin-fw-shortcode-block";let d=[u],p=s?"html":"shortcode",f=e,g="";o&&t?p="first-loading":s&&!e&&(p="empty-html",f=n,!t&&i&&(g=i));const b=["first-loading","empty-html","shortcode"].includes(p),y=!["first-loading","empty-html"].includes(p),_=!!g;return d.push(`${u}--${p}`),d.push(_?`${u}--has-message`:`${u}--no-message`),d.push(`yith_block_${a}`),(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:d.join(" ")},t?(0,r.createElement)("div",{className:`${u}__spinner-wrap`},(0,r.createElement)(m.Spinner,null)):"",b&&(0,r.createElement)("div",{className:`${u}__title components-placeholder__label`},h,c),_&&(0,r.createElement)(r.RawHTML,{className:`${u}__message`},g),y&&(0,r.createElement)(r.RawHTML,{className:`${u}__content`},f)))}}var C=window.wp.compose;function w(e){let{className:t,label:o,onChange:n,value:a,help:l,disableAlpha:s}=e;const c=`inspector-yith-color-picker-control-${(0,C.useInstanceId)(w)}`;return(0,r.createElement)(m.BaseControl,{id:c,label:o,className:`block-editor-yith-color-control ${t}`,help:l},(0,r.createElement)(m.ColorPicker,{color:a,disableAlpha:s,onChangeComplete:n}))}function k(e){let{label:t,colorValue:o}=e;return(0,r.createElement)(r.Fragment,null,t,!!o&&(0,r.createElement)(m.ColorIndicator,{colorValue:o}))}function x(e){let{className:t,label:o,onChange:n,value:a,help:l,palette:s,clearable:c}=e;s=s||(0,y.useSetting)("color.palette");const i=`inspector-yith-color-palette-control-${(0,C.useInstanceId)(x)}`;return(0,r.createElement)(m.BaseControl,{id:i,className:`block-editor-yith-color-palette-control ${t}`,help:l},(0,r.createElement)("fieldset",null,(0,r.createElement)("legend",null,(0,r.createElement)("div",{className:"block-editor-yith-color-palette-control__color-indicator"},(0,r.createElement)(m.BaseControl.VisualLabel,null,(0,r.createElement)(k,{colorValue:a,label:o})))),(0,r.createElement)(m.ColorPalette,{value:a,onChange:n,colors:s,clearable:c})))}const j=(e,t)=>function(o){let{attributes:n,className:a,setAttributes:l}=o;const s=(e,t,o)=>{["colorpicker","color"].includes(o)&&(e=e.color.getAlpha()<1?e.color.toRgbString():e.color.toHexString());let r={};r[t]=e,l(r)};return(0,r.createElement)(r.Fragment,null,!!t.attributes&&(0,r.createElement)(y.InspectorControls,null,(0,r.createElement)(m.PanelBody,null,Object.entries(t.attributes).map((t=>{let[o,a]=t;const l=((t,o)=>{const{controlType:a}=o,l=n[t],c=((e,t)=>{let o="";return e.helps&&e.helps.checked&&e.helps.unchecked?o=t?e.helps.checked:e.helps.unchecked:e.help&&(o=e.help),o})(o,l);let i=`${e}__${t}-field-wrapper`;const u=g(o,n);o.wrapper_class&&(i+=" "+o.wrapper_class);let h=!1;if(u)switch(a){case"select":h=(0,r.createElement)(m.SelectControl,{className:i,key:t,value:l,label:o.label,options:o.options,help:c,multiple:!!o.multiple,onChange:e=>{s(e,t,a)}});break;case"text":h=(0,r.createElement)(m.TextControl,{className:i,key:t,value:l,label:o.label,help:c,onChange:e=>{s(e,t,a)}});break;case"textarea":h=(0,r.createElement)(m.TextareaControl,{className:i,key:t,value:l,label:o.label,help:c,onChange:e=>{s(e,t,a)}});break;case"toggle":h=(0,r.createElement)(m.ToggleControl,{className:i,key:t,label:o.label,help:c,checked:l,onChange:e=>{s(e,t,a)}});break;case"checkbox":h=(0,r.createElement)(m.CheckboxControl,{className:i,key:t,label:o.label,help:c,checked:l,onChange:e=>{s(e,t,a)}});break;case"number":case"range":h=(0,r.createElement)(m.RangeControl,{className:i,key:t,value:l,label:o.label,help:c,min:o.min,max:o.max,onChange:e=>{s(e,t,a)}});break;case"color":case"colorpicker":h=(0,r.createElement)(w,{className:i,key:t,label:o.label,help:c,value:l,disableAlpha:o.disableAlpha,onChange:e=>{s(e,t,a)}});break;case"color-palette":h=(0,r.createElement)(x,{className:i,key:t,label:o.label,help:c,value:l,clearable:o.clearable||!1,onChange:e=>{s(e,t,a)}});break;case"radio":h=(0,r.createElement)(m.RadioControl,{key:t,label:o.label,options:o.options,selected:l,help:c,onChange:e=>{s(e,t,a)}});break;default:h=!1}return h})(o,a);if(l)return l})))),(0,r.createElement)(v,{attributes:n,blockArgs:t}))},E=[{key:"yith_plugin_fw_gutenberg_before_do_shortcode",delay:0},{key:"yith_plugin_fw_gutenberg_success_do_shortcode",delay:200},{key:"yith_plugin_fw_gutenberg_after_do_shortcode",delay:200}];for(const e of E)(0,_.addAction)(e.key,"yith-plugin-fw/jquery-events",(function(){for(var t=arguments.length,o=new Array(t),r=0;r<t;r++)o[r]=arguments[r];"jQuery"in window&&(e.delay?setTimeout((()=>{jQuery(document).trigger(e.key,Object.values(o))}),e.delay):jQuery(document).trigger(e.key,Object.values(o)))}));for(const[e,t]of Object.entries(yithGutenbergBlocks))(0,s.registerBlockType)("yith/"+e,{title:t.title,description:t.description,category:t.category,attributes:t.attributes,icon:void 0!==t.icon?t.icon:h,keywords:t.keywords,edit:j(e,t),save:e=>{let{attributes:o}=e;return b(t,o)},deprecated:[{attributes:t.attributes,save:e=>{let{attributes:o}=e;const n=b(t,o),a='<span class="yith_block_'+l()(n)+'">'+n+"</span>";return(0,r.createElement)(r.RawHTML,null,a)}}]})},487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],o=0;o<e.length;o++)t.push(255&e.charCodeAt(o));return t},bytesToString:function(e){for(var t=[],o=0;o<e.length;o++)t.push(String.fromCharCode(e[o]));return t.join("")}}};e.exports=t},12:function(e){var t,o;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&o.rotl(e,8)|4278255360&o.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=o.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],o=0,r=0;o<e.length;o++,r+=8)t[r>>>5]|=e[o]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],o=0;o<32*e.length;o+=8)t.push(e[o>>>5]>>>24-o%32&255);return t},bytesToHex:function(e){for(var t=[],o=0;o<e.length;o++)t.push((e[o]>>>4).toString(16)),t.push((15&e[o]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],o=0;o<e.length;o+=2)t.push(parseInt(e.substr(o,2),16));return t},bytesToBase64:function(e){for(var o=[],r=0;r<e.length;r+=3)for(var n=e[r]<<16|e[r+1]<<8|e[r+2],a=0;a<4;a++)8*r+6*a<=8*e.length?o.push(t.charAt(n>>>6*(3-a)&63)):o.push("=");return o.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var o=[],r=0,n=0;r<e.length;n=++r%4)0!=n&&o.push((t.indexOf(e.charAt(r-1))&Math.pow(2,-2*n+8)-1)<<2*n|t.indexOf(e.charAt(r))>>>6-2*n);return o}},e.exports=o},738:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},568:function(e,t,o){var r,n,a,l,s;r=o(12),n=o(487).utf8,a=o(738),l=o(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?l.stringToBytes(e):n.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var o=r.bytesToWords(e),c=8*e.length,i=1732584193,u=-271733879,h=-1732584194,d=271733878,p=0;p<o.length;p++)o[p]=16711935&(o[p]<<8|o[p]>>>24)|4278255360&(o[p]<<24|o[p]>>>8);o[c>>>5]|=128<<c%32,o[14+(c+64>>>9<<4)]=c;var f=s._ff,g=s._gg,b=s._hh,m=s._ii;for(p=0;p<o.length;p+=16){var y=i,_=u,v=h,C=d;i=f(i,u,h,d,o[p+0],7,-680876936),d=f(d,i,u,h,o[p+1],12,-389564586),h=f(h,d,i,u,o[p+2],17,606105819),u=f(u,h,d,i,o[p+3],22,-1044525330),i=f(i,u,h,d,o[p+4],7,-176418897),d=f(d,i,u,h,o[p+5],12,1200080426),h=f(h,d,i,u,o[p+6],17,-1473231341),u=f(u,h,d,i,o[p+7],22,-45705983),i=f(i,u,h,d,o[p+8],7,1770035416),d=f(d,i,u,h,o[p+9],12,-1958414417),h=f(h,d,i,u,o[p+10],17,-42063),u=f(u,h,d,i,o[p+11],22,-1990404162),i=f(i,u,h,d,o[p+12],7,1804603682),d=f(d,i,u,h,o[p+13],12,-40341101),h=f(h,d,i,u,o[p+14],17,-1502002290),i=g(i,u=f(u,h,d,i,o[p+15],22,1236535329),h,d,o[p+1],5,-165796510),d=g(d,i,u,h,o[p+6],9,-1069501632),h=g(h,d,i,u,o[p+11],14,643717713),u=g(u,h,d,i,o[p+0],20,-373897302),i=g(i,u,h,d,o[p+5],5,-701558691),d=g(d,i,u,h,o[p+10],9,38016083),h=g(h,d,i,u,o[p+15],14,-660478335),u=g(u,h,d,i,o[p+4],20,-405537848),i=g(i,u,h,d,o[p+9],5,568446438),d=g(d,i,u,h,o[p+14],9,-1019803690),h=g(h,d,i,u,o[p+3],14,-187363961),u=g(u,h,d,i,o[p+8],20,1163531501),i=g(i,u,h,d,o[p+13],5,-1444681467),d=g(d,i,u,h,o[p+2],9,-51403784),h=g(h,d,i,u,o[p+7],14,1735328473),i=b(i,u=g(u,h,d,i,o[p+12],20,-1926607734),h,d,o[p+5],4,-378558),d=b(d,i,u,h,o[p+8],11,-2022574463),h=b(h,d,i,u,o[p+11],16,1839030562),u=b(u,h,d,i,o[p+14],23,-35309556),i=b(i,u,h,d,o[p+1],4,-1530992060),d=b(d,i,u,h,o[p+4],11,1272893353),h=b(h,d,i,u,o[p+7],16,-155497632),u=b(u,h,d,i,o[p+10],23,-1094730640),i=b(i,u,h,d,o[p+13],4,681279174),d=b(d,i,u,h,o[p+0],11,-358537222),h=b(h,d,i,u,o[p+3],16,-722521979),u=b(u,h,d,i,o[p+6],23,76029189),i=b(i,u,h,d,o[p+9],4,-640364487),d=b(d,i,u,h,o[p+12],11,-421815835),h=b(h,d,i,u,o[p+15],16,530742520),i=m(i,u=b(u,h,d,i,o[p+2],23,-995338651),h,d,o[p+0],6,-198630844),d=m(d,i,u,h,o[p+7],10,1126891415),h=m(h,d,i,u,o[p+14],15,-1416354905),u=m(u,h,d,i,o[p+5],21,-57434055),i=m(i,u,h,d,o[p+12],6,1700485571),d=m(d,i,u,h,o[p+3],10,-1894986606),h=m(h,d,i,u,o[p+10],15,-1051523),u=m(u,h,d,i,o[p+1],21,-2054922799),i=m(i,u,h,d,o[p+8],6,1873313359),d=m(d,i,u,h,o[p+15],10,-30611744),h=m(h,d,i,u,o[p+6],15,-1560198380),u=m(u,h,d,i,o[p+13],21,1309151649),i=m(i,u,h,d,o[p+4],6,-145523070),d=m(d,i,u,h,o[p+11],10,-1120210379),h=m(h,d,i,u,o[p+2],15,718787259),u=m(u,h,d,i,o[p+9],21,-343485551),i=i+y>>>0,u=u+_>>>0,h=h+v>>>0,d=d+C>>>0}return r.endian([i,u,h,d])})._ff=function(e,t,o,r,n,a,l){var s=e+(t&o|~t&r)+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._gg=function(e,t,o,r,n,a,l){var s=e+(t&r|o&~r)+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._hh=function(e,t,o,r,n,a,l){var s=e+(t^o^r)+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._ii=function(e,t,o,r,n,a,l){var s=e+(o^(t|~r))+(n>>>0)+l;return(s<<a|s>>>32-a)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var o=r.wordsToBytes(s(e,t));return t&&t.asBytes?o:t&&t.asString?l.bytesToString(o):r.bytesToHex(o)}}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.m=t,e=[],r.O=function(t,o,n,a){if(!o){var l=1/0;for(u=0;u<e.length;u++){o=e[u][0],n=e[u][1],a=e[u][2];for(var s=!0,c=0;c<o.length;c++)(!1&a||l>=a)&&Object.keys(r.O).every((function(e){return r.O[e](o[c])}))?o.splice(c--,1):(s=!1,a<l&&(l=a));if(s){e.splice(u--,1);var i=n();void 0!==i&&(t=i)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,n,a]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={826:0,46:0};r.O.j=function(t){return 0===e[t]};var t=function(t,o){var n,a,l=o[0],s=o[1],c=o[2],i=0;if(l.some((function(t){return 0!==e[t]}))){for(n in s)r.o(s,n)&&(r.m[n]=s[n]);if(c)var u=c(r)}for(t&&t(o);i<l.length;i++)a=l[i],r.o(e,a)&&e[a]&&e[a][0](),e[l[i]]=0;return r.O(u)},o=self.webpackChunkyith_plugin_framewowrk=self.webpackChunkyith_plugin_framewowrk||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))}();var n=r.O(void 0,[46],(function(){return r(783)}));n=r.O(n)}();
plugin-fw/includes/class-yit-plugin-panel-woocommerce.php CHANGED
@@ -1,766 +1,770 @@
1
- <?php
2
- /**
3
- * YITH Plugin Panel WooCommerce Class.
4
- *
5
- * @class YIT_Plugin_Panel_WooCommerce
6
- * @package YITH\PluginFramework\Classes
7
- */
8
-
9
- defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
10
-
11
- if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
12
- /**
13
- * YIT_Plugin_Panel_WooCommerce class.
14
- *
15
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
16
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
17
- */
18
- class YIT_Plugin_Panel_WooCommerce extends YIT_Plugin_Panel {
19
- /**
20
- * Version of the class.
21
- *
22
- * @var string
23
- */
24
- public $version = '1.0.0';
25
-
26
- /**
27
- * List of settings parameters.
28
- *
29
- * @var array
30
- */
31
- public $settings = array();
32
-
33
- /**
34
- * WooCommerce types.
35
- *
36
- * @var array
37
- */
38
- public static $wc_type = array( 'checkbox', 'textarea', 'multiselect', 'multi_select_countries', 'image_width' );
39
-
40
- /**
41
- * Body class.
42
- *
43
- * @var string
44
- */
45
- public static $body_class = ' yith-plugin-fw-panel ';
46
-
47
-
48
- /**
49
- * Tab Path Files.
50
- *
51
- * @var array
52
- */
53
- protected $tabs_path_files;
54
-
55
- /**
56
- * Are the actions initialized?
57
- *
58
- * @var bool
59
- */
60
- protected static $actions_initialized = false;
61
-
62
- /**
63
- * YIT_Plugin_Panel_WooCommerce constructor.
64
- *
65
- * @param array $args The panel arguments.
66
- */
67
- public function __construct( $args = array() ) {
68
- $args = apply_filters( 'yit_plugin_fw_wc_panel_option_args', $args );
69
- if ( ! empty( $args ) ) {
70
- if ( isset( $args['parent_page'] ) && 'yit_plugin_panel' === $args['parent_page'] ) {
71
- $args['parent_page'] = 'yith_plugin_panel';
72
- }
73
-
74
- $this->settings = $args;
75
- $this->tabs_path_files = $this->get_tabs_path_files();
76
-
77
- if ( isset( $this->settings['create_menu_page'] ) && $this->settings['create_menu_page'] ) {
78
- $this->add_menu_page();
79
- }
80
-
81
- if ( ! empty( $this->settings['links'] ) ) {
82
- $this->links = $this->settings['links'];
83
- }
84
-
85
- add_action( 'admin_init', array( $this, 'set_default_options' ) );
86
- add_action( 'admin_menu', array( $this, 'add_setting_page' ) );
87
- add_action( 'admin_menu', array( $this, 'add_premium_version_upgrade_to_menu' ), 100 );
88
- add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_menu' ), 100 );
89
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
90
- add_action( 'admin_init', array( $this, 'woocommerce_update_options' ) );
91
- add_filter( 'woocommerce_screen_ids', array( $this, 'add_allowed_screen_id' ) );
92
-
93
- add_filter( 'woocommerce_admin_settings_sanitize_option', array( $this, 'maybe_unserialize_panel_data' ), 10, 3 );
94
-
95
- add_action( 'yith_plugin_fw_get_field_after', array( $this, 'add_yith_ui' ) );
96
- add_action( 'yith_plugin_fw_before_woocommerce_panel', array( $this, 'add_plugin_banner' ), 10, 1 );
97
- add_action( 'admin_action_yith_plugin_fw_save_toggle_element', array( $this, 'save_toggle_element_options' ) );
98
- add_filter( 'woocommerce_admin_settings_sanitize_option', array( $this, 'sanitize_onoff_value' ), 20, 3 );
99
-
100
- add_action( 'admin_enqueue_scripts', array( $this, 'init_wp_with_tabs' ), 11 );
101
- add_action( 'admin_init', array( $this, 'maybe_redirect_to_proper_wp_page' ) );
102
-
103
- /* Add UTM tracking code on premium tab */
104
- add_filter( 'yith_plugin_fw_premium_landing_uri', array( $this, 'add_utm_data_on_premium_tab' ), 10, 2 );
105
-
106
- // Init actions once to prevent multiple initialization.
107
- static::init_actions();
108
- }
109
- }
110
-
111
- /**
112
- * Init actions.
113
- *
114
- * @since 3.0.0
115
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
116
- */
117
- protected static function init_actions() {
118
- if ( ! static::$actions_initialized ) {
119
- add_action( 'woocommerce_admin_field_boxinfo', array( __CLASS__, 'add_infobox' ), 10, 1 );
120
- add_action( 'woocommerce_admin_field_yith-field', array( __CLASS__, 'add_yith_field' ), 10, 1 );
121
- add_filter( 'admin_body_class', array( __CLASS__, 'admin_body_class' ) );
122
-
123
- add_filter( 'woocommerce_admin_settings_sanitize_option', array( __CLASS__, 'sanitize_option' ), 10, 3 );
124
-
125
- // Sort plugins by name in YITH Plugins menu.
126
- add_action( 'admin_menu', array( __CLASS__, 'sort_plugins' ), 90 );
127
-
128
- add_filter( 'add_menu_classes', array( __CLASS__, 'add_menu_class_in_yith_plugin' ) );
129
-
130
- static::$actions_initialized = true;
131
- }
132
- }
133
-
134
- /**
135
- * Show a tabbed panel to setting page
136
- * a callback function called by add_setting_page => add_submenu_page
137
- *
138
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
139
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
140
- */
141
- public function yit_panel() {
142
- $additional_info = array(
143
- 'current_tab' => $this->get_current_tab(),
144
- 'current_sub_tab' => $this->get_current_sub_tab(),
145
- 'available_tabs' => $this->settings['admin-tabs'],
146
- 'default_tab' => $this->get_available_tabs( true ),
147
- 'page' => $this->settings['page'],
148
- 'wrap_class' => isset( $this->settings['class'] ) ? $this->settings['class'] : '',
149
- );
150
-
151
- $additional_info = apply_filters( 'yith_admin_tab_params', $additional_info );
152
- $additional_info['additional_info'] = $additional_info;
153
-
154
- extract( $additional_info ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
155
- require YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-panel.php';
156
- }
157
-
158
- /**
159
- * Show a input fields to upload images
160
- *
161
- * @param string $option_value The option value.
162
- *
163
- * @return string
164
- * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
165
- */
166
- public function yit_upload_update( $option_value ) {
167
- return $option_value;
168
- }
169
-
170
- /**
171
- * Show a input fields to upload images
172
- *
173
- * @param array $args The arguments.
174
- *
175
- * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
176
- */
177
- public function yit_upload( $args = array() ) {
178
- if ( ! empty( $args ) ) {
179
- $args['value'] = ( get_option( $args['id'] ) ) ? get_option( $args['id'] ) : $args['default'];
180
- extract( $args ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
181
-
182
- include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-upload.php';
183
- }
184
- }
185
-
186
- /**
187
- * Add the plugin woocommerce page settings in the screen ids of woocommerce
188
- *
189
- * @param array $screen_ids Screen IDs.
190
- *
191
- * @return array
192
- * @author Antonino Scarfì <antonino.scarfi@yithemes.com>
193
- */
194
- public function add_allowed_screen_id( $screen_ids ) {
195
- global $admin_page_hooks;
196
-
197
- if ( ! isset( $admin_page_hooks[ $this->settings['parent_page'] ] ) ) {
198
- return $screen_ids;
199
- }
200
-
201
- $screen_ids[] = $admin_page_hooks[ $this->settings['parent_page'] ] . '_page_' . $this->settings['page'];
202
-
203
- return $screen_ids;
204
- }
205
-
206
- /**
207
- * Returns current active tab slug
208
- *
209
- * @return string
210
- * @since 2.0.0
211
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
212
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
213
- */
214
- public function get_current_tab() {
215
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
216
- global $pagenow;
217
- $tabs = $this->get_available_tabs();
218
- $tab = $tabs[0];
219
-
220
- if ( 'admin.php' === $pagenow && isset( $_REQUEST['tab'] ) && in_array( $_REQUEST['tab'], $tabs, true ) ) {
221
- $tab = sanitize_key( wp_unslash( $_REQUEST['tab'] ) );
222
- } elseif ( isset( $_REQUEST['tab'] ) && 'help' === $_REQUEST['tab'] && ! empty( $this->settings['help_tab'] ) ) {
223
- $tab = 'help';
224
- }
225
-
226
- return apply_filters( 'yith_wc_plugin_panel_current_tab', $tab );
227
- // phpcs:enable
228
- }
229
-
230
- /**
231
- * Return available tabs
232
- * read all options and show sections and fields
233
- *
234
- * @param bool $default false for all tabs slug, true for current tab.
235
- *
236
- * @return mixed Array tabs | String current tab
237
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
238
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
239
- */
240
- public function get_available_tabs( $default = false ) {
241
- $tabs = array_keys( $this->settings['admin-tabs'] );
242
-
243
- return $default ? $tabs[0] : $tabs;
244
- }
245
-
246
-
247
- /**
248
- * Add sections and fields to setting panel
249
- * read all options and show sections and fields
250
- *
251
- * @return void
252
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
253
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
254
- */
255
- public function add_fields() {
256
- $yit_options = $this->get_main_array_options();
257
- $option_key = $this->get_current_option_key();
258
-
259
- if ( ! $option_key ) {
260
- return;
261
- }
262
-
263
- woocommerce_admin_fields( $yit_options[ $option_key ] );
264
- }
265
-
266
- /**
267
- * Print the panel content
268
- * check if the tab is a wc options tab or custom tab and print the content
269
- *
270
- * @return void
271
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
272
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
273
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
274
- */
275
- public function print_panel_content() {
276
- $yit_options = $this->get_main_array_options();
277
- $page = $this->settings['page'];
278
- $option_key = $this->get_current_option_key();
279
- $custom_tab_options = $this->get_custom_tab_options( $yit_options, $option_key );
280
-
281
- $this->print_tabs_nav();
282
-
283
- if ( $custom_tab_options ) {
284
- $this->print_custom_tab( $custom_tab_options );
285
- } elseif ( $this->is_help_tab() ) {
286
- $this->print_help_tab();
287
- } else {
288
- include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-form.php';
289
- }
290
- }
291
-
292
- /**
293
- * Update options
294
- *
295
- * @return void
296
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
297
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
298
- * @see woocommerce_update_options function
299
- * @internal fire two action (before and after update): yit_panel_wc_before_update and yit_panel_wc_after_update
300
- */
301
- public function woocommerce_update_options() {
302
-
303
- if ( isset( $_POST['yit_panel_wc_options_nonce'] ) && wp_verify_nonce( sanitize_key( wp_unslash( $_POST['yit_panel_wc_options_nonce'] ) ), 'yit_panel_wc_options_' . $this->settings['page'] ) ) {
304
-
305
- do_action( 'yit_panel_wc_before_update' );
306
-
307
- $yit_options = $this->get_main_array_options();
308
- $option_key = $this->get_current_option_key();
309
- $yit_options = $this->check_for_save_single_option( $yit_options );
310
-
311
- if ( version_compare( WC()->version, '2.4.0', '>=' ) ) {
312
- if ( ! empty( $yit_options[ $option_key ] ) ) {
313
- foreach ( $yit_options[ $option_key ] as $option ) {
314
- if ( isset( $option['id'] ) && isset( $_POST[ $option['id'] ], $option['type'] ) && ! in_array( $option['type'], self::$wc_type, true ) && 'yith-field' !== $option['type'] ) {
315
- $_POST[ $option['id'] ] = maybe_serialize( $_POST[ $option['id'] ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
316
- }
317
- }
318
- }
319
- }
320
-
321
- foreach ( $_POST as $name => $value ) {
322
- // Check if current POST var name ends with a specific needle and make some stuff here.
323
- $attachment_id_needle = '-yith-attachment-id';
324
- $pos = strlen( $name ) - strlen( $attachment_id_needle );
325
- $is_hidden_input = $pos >= 0 && strpos( $name, $attachment_id_needle, $pos ) !== false;
326
- if ( $is_hidden_input ) {
327
- // Is an input element of type "hidden" coupled with an input element for selecting an element from the media gallery.
328
- $yit_options[ $option_key ][ $name ] = array(
329
- 'type' => 'text',
330
- 'id' => $name,
331
- );
332
- }
333
- }
334
-
335
- woocommerce_update_options( $yit_options[ $option_key ] );
336
-
337
- do_action( 'yit_panel_wc_after_update' );
338
-
339
- } elseif (
340
- isset( $_REQUEST['yit-action'] ) && 'wc-options-reset' === sanitize_key( wp_unslash( $_REQUEST['yit-action'] ) )
341
- &&
342
- isset( $_POST['yith_wc_reset_options_nonce'] ) && wp_verify_nonce( sanitize_key( wp_unslash( $_POST['yith_wc_reset_options_nonce'] ) ), 'yith_wc_reset_options_' . $this->settings['page'] )
343
- ) {
344
-
345
- do_action( 'yit_panel_wc_before_reset' );
346
-
347
- $yit_options = $this->get_main_array_options();
348
- $option_key = $this->get_current_option_key();
349
- $yit_options = $this->check_for_save_single_option( $yit_options );
350
-
351
- // Collect an array of options to be saved as array and not as single option.
352
- $array_options = array();
353
-
354
- foreach ( $yit_options[ $option_key ] as $id => $option ) {
355
- // Make sure option id is not an array.
356
- $matches = array();
357
- isset( $option['id'] ) && preg_match( '/(.*)\[(.*)\]/', $option['id'], $matches );
358
-
359
- if ( ! empty( $matches ) && isset( $option['default'] ) ) {
360
- if ( ! empty( $matches[2] ) ) {
361
- $array_options[ $matches[1] ][ $matches[2] ] = $option['default'];
362
- } else {
363
- $array_options[ $matches[1] ][] = $option['default'];
364
- }
365
- } else {
366
- if ( isset( $option['yith-type'] ) && 'multi-colorpicker' === $option['yith-type'] && ! empty( $option['colorpickers'] ) ) {
367
- $default = array();
368
- foreach ( $option['colorpickers'] as $colorpicker ) {
369
- $default[ $colorpicker['id'] ] = isset( $colorpicker['default'] ) ? $colorpicker['default'] : '';
370
- }
371
- update_option( $option['id'], $default );
372
- } elseif ( isset( $option['default'] ) ) {
373
- update_option( $option['id'], $option['default'] );
374
- }
375
- }
376
- }
377
-
378
- // Save array options if any.
379
- foreach ( $array_options as $key => $value ) {
380
- update_option( $key, $value );
381
- }
382
-
383
- do_action( 'yit_panel_wc_after_reset' );
384
- }
385
- }
386
-
387
- /**
388
- * Add Admin WC Style and Scripts
389
- *
390
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
391
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
392
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
393
- */
394
- public function admin_enqueue_scripts() {
395
- global $woocommerce, $pagenow;
396
-
397
- if ( 'customize.php' !== $pagenow ) {
398
- wp_enqueue_style( 'wp-jquery-ui-dialog' );
399
- }
400
-
401
- $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
402
- $assets_screen_ids = (array) apply_filters( 'yith_plugin_fw_wc_panel_screen_ids_for_assets', array() );
403
-
404
- if ( $screen && ( 'admin.php' === $pagenow && strpos( $screen->id, $this->settings['page'] ) !== false ) || in_array( $screen->id, $assets_screen_ids, true ) ) {
405
- $woocommerce_version = function_exists( 'WC' ) ? WC()->version : $woocommerce->version;
406
- $woocommerce_settings_deps = array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'iris' );
407
-
408
- if ( version_compare( '2.5', $woocommerce_version, '<=' ) ) {
409
- $woocommerce_settings_deps[] = 'select2';
410
- } else {
411
- $woocommerce_settings_deps[] = 'jquery-ui-dialog';
412
- $woocommerce_settings_deps[] = 'chosen';
413
- }
414
-
415
- wp_enqueue_media();
416
-
417
- wp_enqueue_style( 'yith-plugin-fw-fields' );
418
- wp_enqueue_style( 'woocommerce_admin_styles' );
419
- wp_enqueue_style( 'raleway-font' );
420
-
421
- wp_enqueue_script( 'woocommerce_settings', $woocommerce->plugin_url() . '/assets/js/admin/settings.min.js', $woocommerce_settings_deps, $woocommerce_version, true );
422
- wp_localize_script(
423
- 'woocommerce_settings',
424
- 'woocommerce_settings_params',
425
- array(
426
- 'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' ),
427
- )
428
- );
429
- wp_enqueue_script( 'yith-plugin-fw-fields' );
430
- }
431
-
432
- if ( $screen && ( 'admin.php' === $pagenow && yith_plugin_fw_is_panel() ) || in_array( $screen->id, $assets_screen_ids, true ) ) {
433
- wp_enqueue_media();
434
- wp_enqueue_style( 'yit-plugin-style' );
435
- wp_enqueue_script( 'yit-plugin-panel' );
436
- }
437
-
438
- if ( $screen && 'admin.php' === $pagenow && strpos( $screen->id, 'yith_upgrade_premium_version' ) !== false ) {
439
- wp_enqueue_style( 'yit-upgrade-to-pro' );
440
- wp_enqueue_script( 'colorbox' );
441
- }
442
- }
443
-
444
- /**
445
- * Default options
446
- * Sets up the default options used on the settings page
447
- */
448
- public function set_default_options() {
449
- // Check if the default options for this panel are already set.
450
- $page = $this->settings['page'];
451
- $default_options_set = get_option( 'yit_plugin_fw_panel_wc_default_options_set', array() );
452
- if ( isset( $default_options_set[ $page ] ) && $default_options_set[ $page ] ) {
453
- return;
454
- }
455
-
456
- $default_options = $this->get_main_array_options();
457
-
458
- foreach ( $default_options as $section ) {
459
- foreach ( $section as $value ) {
460
- if ( ( isset( $value['std'] ) || isset( $value['default'] ) ) && isset( $value['id'] ) ) {
461
- $default_value = ( isset( $value['default'] ) ) ? $value['default'] : $value['std'];
462
-
463
- if ( 'image_width' === $value['type'] ) {
464
- add_option( $value['id'] . '_width', $default_value );
465
- add_option( $value['id'] . '_height', $default_value );
466
- } else {
467
- add_option( $value['id'], $default_value );
468
- }
469
- }
470
- }
471
- }
472
-
473
- // Set the flag for the default options of this panel.
474
- $default_options_set[ $page ] = true;
475
- update_option( 'yit_plugin_fw_panel_wc_default_options_set', $default_options_set );
476
- }
477
-
478
- /**
479
- * Delete the "default options added" option
480
- *
481
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
482
- */
483
- public static function delete_default_options_set_option() {
484
- delete_option( 'yit_plugin_fw_panel_wc_default_options_set' );
485
- }
486
-
487
- /**
488
- * Add the WooCommerce body class in plugin panel page
489
- *
490
- * @param string $admin_body_classes The body classes.
491
- *
492
- * @return string Filtered body classes
493
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
494
- * @since 2.0
495
- */
496
- public static function admin_body_class( $admin_body_classes ) {
497
- global $pagenow;
498
-
499
- $assets_screen_ids = (array) apply_filters( 'yith_plugin_fw_wc_panel_screen_ids_for_assets', array() );
500
-
501
- if ( ( 'admin.php' === $pagenow && ( strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false || in_array( get_current_screen()->id, $assets_screen_ids, true ) ) ) ) {
502
- $admin_body_classes = ! substr_count( $admin_body_classes, self::$body_class ) ? $admin_body_classes . self::$body_class : $admin_body_classes;
503
- $admin_body_classes = ! substr_count( $admin_body_classes, 'woocommerce' ) ? $admin_body_classes . ' woocommerce ' : $admin_body_classes;
504
- }
505
-
506
- return $admin_body_classes;
507
- }
508
-
509
- /**
510
- * Maybe unserialize panel data
511
- *
512
- * @param mixed $value Option value.
513
- * @param mixed $option Option settings array.
514
- * @param string $raw_value Raw option value.
515
- *
516
- * @return mixed Filtered return value
517
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
518
- * @since 2.0
519
- */
520
- public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
521
- if ( ! version_compare( WC()->version, '2.4.0', '>=' ) || ! isset( $option['type'] ) || in_array( $option['type'], self::$wc_type, true ) || 'yith-field' === $option['type'] ) {
522
- return $value;
523
- }
524
-
525
- $yit_options = $this->get_main_array_options();
526
- $option_key = $this->get_current_option_key();
527
-
528
- if ( ! empty( $yit_options[ $option_key ] ) ) {
529
- foreach ( $yit_options[ $option_key ] as $option_array ) {
530
- if ( isset( $option_array['id'] ) && isset( $option['id'] ) && $option_array['id'] === $option['id'] ) {
531
- return maybe_unserialize( $value );
532
- }
533
- }
534
- }
535
-
536
- return $value;
537
- }
538
-
539
- /**
540
- * Sanitize Option
541
- *
542
- * @param mixed $value Option value.
543
- * @param mixed $option Option settings array.
544
- * @param mixed $raw_value Raw option value.
545
- *
546
- * @return mixed Filtered return value
547
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
548
- * @since 3.0.0
549
- */
550
- public static function sanitize_option( $value, $option, $raw_value ) {
551
- if ( isset( $option['type'] ) && 'yith-field' === $option['type'] ) {
552
- $value = $raw_value; // We need the raw value to avoid the wc_clean. Note: the raw_value is already un-slashed.
553
- $type = isset( $option['yith-type'] ) ? $option['yith-type'] : false;
554
- $multiple = ! empty( $option['multiple'] );
555
-
556
- switch ( $type ) {
557
- case 'checkbox':
558
- case 'onoff':
559
- $value = yith_plugin_fw_is_true( $value ) ? 'yes' : 'no';
560
- break;
561
- case 'checkbox-array':
562
- $value = ! ! $value && is_array( $value ) ? $value : array();
563
- break;
564
- case 'select-buttons':
565
- $value = ! empty( $value ) ? $value : array();
566
- break;
567
- case 'date-format':
568
- if ( '\c\u\s\t\o\m' === $value ) {
569
- // phpcs:ignore WordPress.Security.NonceVerification.Recommended
570
- $custom = isset( $_REQUEST[ $option['id'] . '_text' ] ) ? sanitize_text_field( wp_unslash( $_REQUEST[ $option['id'] . '_text' ] ) ) : $option['default'];
571
- $value = $custom;
572
- }
573
- break;
574
- case 'toggle-element':
575
- if ( $value && isset( $option['elements'] ) && ! empty( $option['elements'] ) ) {
576
-
577
- if ( isset( $value['box_id'] ) ) {
578
- unset( $value['box_id'] );
579
- }
580
-
581
- foreach ( $value as $index => $single_toggle ) {
582
-
583
- if ( $value && isset( $option['onoff_field'] ) && ! empty( $option['onoff_field'] ) ) {
584
- $on_off = $option['onoff_field'];
585
- $on_off['type'] = 'yith-field';
586
- $on_off['yith-type'] = 'onoff';
587
- $on_off_id = $on_off['id'];
588
-
589
- $value[ $index ][ $on_off_id ] = isset( $single_toggle[ $on_off_id ] ) ? self::sanitize_option( $single_toggle[ $on_off_id ], $on_off, $single_toggle[ $on_off_id ] ) : 'no';
590
- }
591
-
592
- foreach ( $option['elements'] as $element ) {
593
- $element_value = isset( $value[ $index ][ $element['id'] ] ) ? $value[ $index ][ $element['id'] ] : false;
594
- // We don't need to un-slash the value, since it's already un-slashed.
595
- $value[ $index ][ $element['id'] ] = self::sanitize_option( $element_value, $element, $element_value );
596
- }
597
- }
598
- }
599
- break;
600
- }
601
-
602
- if ( $multiple && empty( $value ) ) {
603
- $value = array();
604
- }
605
-
606
- if ( ! empty( $option['yith-sanitize-callback'] ) && is_callable( $option['yith-sanitize-callback'] ) ) {
607
- $value = call_user_func( $option['yith-sanitize-callback'], $value );
608
- }
609
- }
610
-
611
- return apply_filters( 'yith_plugin_fw_wc_panel_sanitize_option', $value, $option, $raw_value );
612
- }
613
-
614
- /**
615
- * Add YITH Fields.
616
- *
617
- * @param array $field The field.
618
- *
619
- * @return void
620
- * @since 3.0.0
621
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
622
- */
623
- public static function add_yith_field( $field = array() ) {
624
- if ( ! empty( $field ) && isset( $field['yith-type'] ) ) {
625
- $field['type'] = $field['yith-type'];
626
- unset( $field['yith-type'] );
627
-
628
- $field['id'] = isset( $field['id'] ) ? $field['id'] : '';
629
- $field['name'] = $field['id'];
630
- $field['default'] = isset( $field['default'] ) ? $field['default'] : '';
631
-
632
- $value = apply_filters( 'yith_plugin_fw_wc_panel_pre_field_value', null, $field );
633
- if ( is_null( $value ) ) {
634
- if ( 'toggle-element' === $field['type'] || 'toggle-element-fixed' === $field['type'] ) {
635
- $value = get_option( $field['id'], $field['default'] );
636
- } else {
637
- $value = WC_Admin_Settings::get_option( $field['id'], $field['default'] );
638
- }
639
- }
640
- $field['value'] = $value;
641
-
642
- // Let's filter field data just before print.
643
- $field = apply_filters( 'yith_plugin_fw_wc_panel_field_data', $field );
644
-
645
- require YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-option-row.php';
646
- }
647
- }
648
-
649
- /**
650
- * Save the content of the toggle element present inside the panel.
651
- * Called by the action 'admin_action_yith_plugin_fw_save_toggle_element'
652
- * via Ajax
653
- *
654
- * @author Emanuela Castorina
655
- */
656
- public function save_toggle_element_options() {
657
-
658
- check_ajax_referer( 'save-toggle-element', 'security' );
659
-
660
- if ( ! current_user_can( $this->settings['capability'] ) ) {
661
- wp_die( - 1 );
662
- }
663
-
664
- $posted = $_POST;
665
- $tabs = $this->get_available_tabs();
666
- $yit_options = $this->get_main_array_options();
667
- $current_tab = isset( $_REQUEST['tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['tab'] ) ) : false;
668
- $current_tab = ! ! $current_tab && in_array( $current_tab, $tabs, true ) ? $current_tab : $tabs[0];
669
- $option_id = isset( $_REQUEST['toggle_id'] ) ? sanitize_key( wp_unslash( $_REQUEST['toggle_id'] ) ) : '';
670
- $updated = false;
671
-
672
- if ( ! empty( $yit_options[ $current_tab ] ) && ! empty( $option_id ) ) {
673
- $tab_options = $yit_options[ $current_tab ];
674
- foreach ( $tab_options as $key => $item ) {
675
- if ( ! isset( $item['id'] ) ) {
676
- unset( $tab_options[ $key ] );
677
- }
678
- }
679
-
680
- $option_array = array_combine( wp_list_pluck( $tab_options, 'id' ), $tab_options );
681
- if ( isset( $option_array[ $option_id ] ) ) {
682
- $value = isset( $posted[ $option_id ] ) ? $posted[ $option_id ] : '';
683
-
684
- // Drag and drop.
685
- $order_elements = isset( $posted['yith_toggle_elements_order_keys'] ) ? explode( ',', $posted['yith_toggle_elements_order_keys'] ) : false;
686
- if ( $order_elements ) {
687
- $i = 0;
688
- $new_value = array();
689
- foreach ( $order_elements as $key ) {
690
- $index = apply_filters( 'yith_toggle_elements_index', $i ++, $key );
691
- $new_value[ $index ] = $value[ $key ];
692
- }
693
-
694
- $value = $new_value;
695
- }
696
-
697
- $value = wp_unslash( $value ); // The value must be un-slashed before using it in self::sanitize_option.
698
- $value = self::sanitize_option( $value, $option_array[ $option_id ], $value );
699
- $updated = update_option( $option_id, $value );
700
- }
701
- }
702
-
703
- return $updated;
704
- }
705
-
706
- /**
707
- * Print tabs navigation.
708
- *
709
- * @param array $args The arguments.
710
- */
711
- public function print_tabs_nav( $args = array() ) {
712
- $defaults = array(
713
- 'premium_class' => 'yith-premium',
714
- 'parent_page' => '',
715
- 'wrapper_class' => 'nav-tab-wrapper woo-nav-tab-wrapper',
716
- );
717
- $args = wp_parse_args( $args, $defaults );
718
-
719
- parent::print_tabs_nav( $args );
720
- }
721
-
722
- /**
723
- * Sanitize OnOff Option
724
- *
725
- * @param mixed $value Option value.
726
- * @param mixed $option Option settings array.
727
- * @param string $raw_value Raw option value.
728
- *
729
- * @return mixed Filtered return value
730
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
731
- * @since 3.0.0
732
- */
733
- public static function sanitize_onoff_value( $value, $option, $raw_value ) {
734
- if ( isset( $option['type'] ) && in_array( $option['type'], array( 'checkbox', 'onoff' ), true ) ) {
735
- $value = yith_plugin_fw_is_true( $raw_value ) ? 'yes' : 'no';
736
-
737
- if ( ! empty( $option['yith-sanitize-callback'] ) && is_callable( $option['yith-sanitize-callback'] ) ) {
738
- $value = call_user_func( $option['yith-sanitize-callback'], $value );
739
- }
740
- }
741
-
742
- return $value;
743
- }
744
-
745
- /**
746
- * Check if need to save the toggle element to a single options instead of an array
747
- *
748
- * @param array $yit_options Original options array.
749
- *
750
- * @return mixed|array New options array
751
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
752
- * @since 3.0.0
753
- */
754
- public function check_for_save_single_option( $yit_options ) {
755
- foreach ( $yit_options as $key => $options_list ) {
756
- foreach ( $options_list as $value ) {
757
- if ( ! empty( $value['yith-type'] ) && 'toggle-element-fixed' === $value['yith-type'] && isset( $value['save_single_options'] ) && true === $value['save_single_options'] ) {
758
- $yit_options[ $key ] = array_merge( $yit_options[ $key ], $value['elements'] );
759
- }
760
- }
761
- }
762
-
763
- return $yit_options;
764
- }
765
- }
766
- }
 
 
 
 
1
+ <?php
2
+ /**
3
+ * YITH Plugin Panel WooCommerce Class.
4
+ *
5
+ * @class YIT_Plugin_Panel_WooCommerce
6
+ * @package YITH\PluginFramework\Classes
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
10
+
11
+ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
12
+ /**
13
+ * YIT_Plugin_Panel_WooCommerce class.
14
+ *
15
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
16
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
17
+ */
18
+ class YIT_Plugin_Panel_WooCommerce extends YIT_Plugin_Panel {
19
+ /**
20
+ * Version of the class.
21
+ *
22
+ * @var string
23
+ */
24
+ public $version = '1.0.0';
25
+
26
+ /**
27
+ * List of settings parameters.
28
+ *
29
+ * @var array
30
+ */
31
+ public $settings = array();
32
+
33
+ /**
34
+ * WooCommerce types.
35
+ *
36
+ * @var array
37
+ */
38
+ public static $wc_type = array( 'checkbox', 'textarea', 'multiselect', 'multi_select_countries', 'image_width' );
39
+
40
+ /**
41
+ * Body class.
42
+ *
43
+ * @var string
44
+ */
45
+ public static $body_class = ' yith-plugin-fw-panel ';
46
+
47
+
48
+ /**
49
+ * Tab Path Files.
50
+ *
51
+ * @var array
52
+ */
53
+ protected $tabs_path_files;
54
+
55
+ /**
56
+ * Are the actions initialized?
57
+ *
58
+ * @var bool
59
+ */
60
+ protected static $actions_initialized = false;
61
+
62
+ /**
63
+ * YIT_Plugin_Panel_WooCommerce constructor.
64
+ *
65
+ * @param array $args The panel arguments.
66
+ */
67
+ public function __construct( $args = array() ) {
68
+ $args = apply_filters( 'yit_plugin_fw_wc_panel_option_args', $args );
69
+ if ( ! empty( $args ) ) {
70
+ if ( isset( $args['parent_page'] ) && 'yit_plugin_panel' === $args['parent_page'] ) {
71
+ $args['parent_page'] = 'yith_plugin_panel';
72
+ }
73
+
74
+ $this->settings = $args;
75
+ $this->tabs_path_files = $this->get_tabs_path_files();
76
+
77
+ if ( isset( $this->settings['create_menu_page'] ) && $this->settings['create_menu_page'] ) {
78
+ $this->add_menu_page();
79
+ }
80
+
81
+ if ( ! empty( $this->settings['links'] ) ) {
82
+ $this->links = $this->settings['links'];
83
+ }
84
+
85
+ $this->maybe_init_premium_tab();
86
+
87
+ add_action( 'admin_init', array( $this, 'set_default_options' ) );
88
+ add_action( 'admin_menu', array( $this, 'add_setting_page' ) );
89
+ add_action( 'admin_menu', array( $this, 'add_premium_version_upgrade_to_menu' ), 100 );
90
+ add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_menu' ), 100 );
91
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
92
+ add_action( 'admin_init', array( $this, 'woocommerce_update_options' ) );
93
+ add_filter( 'woocommerce_screen_ids', array( $this, 'add_allowed_screen_id' ) );
94
+
95
+ add_filter( 'woocommerce_admin_settings_sanitize_option', array( $this, 'maybe_unserialize_panel_data' ), 10, 3 );
96
+
97
+ add_action( 'yith_plugin_fw_get_field_after', array( $this, 'add_yith_ui' ) );
98
+ add_action( 'yith_plugin_fw_before_woocommerce_panel', array( $this, 'add_plugin_banner' ), 10, 1 );
99
+ add_action( 'admin_action_yith_plugin_fw_save_toggle_element', array( $this, 'save_toggle_element_options' ) );
100
+ add_filter( 'woocommerce_admin_settings_sanitize_option', array( $this, 'sanitize_onoff_value' ), 20, 3 );
101
+
102
+ add_action( 'admin_enqueue_scripts', array( $this, 'init_wp_with_tabs' ), 11 );
103
+ add_action( 'admin_init', array( $this, 'maybe_redirect_to_proper_wp_page' ) );
104
+
105
+ /* Add UTM tracking code on premium tab */
106
+ add_filter( 'yith_plugin_fw_premium_landing_uri', array( $this, 'add_utm_data_on_premium_tab' ), 10, 2 );
107
+
108
+ // Init actions once to prevent multiple initialization.
109
+ static::init_actions();
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Init actions.
115
+ *
116
+ * @since 3.0.0
117
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
118
+ */
119
+ protected static function init_actions() {
120
+ if ( ! static::$actions_initialized ) {
121
+ add_action( 'woocommerce_admin_field_boxinfo', array( __CLASS__, 'add_infobox' ), 10, 1 );
122
+ add_action( 'woocommerce_admin_field_yith-field', array( __CLASS__, 'add_yith_field' ), 10, 1 );
123
+ add_filter( 'admin_body_class', array( __CLASS__, 'admin_body_class' ) );
124
+
125
+ add_filter( 'woocommerce_admin_settings_sanitize_option', array( __CLASS__, 'sanitize_option' ), 10, 3 );
126
+
127
+ // Sort plugins by name in YITH Plugins menu.
128
+ add_action( 'admin_menu', array( __CLASS__, 'sort_plugins' ), 90 );
129
+
130
+ add_filter( 'add_menu_classes', array( __CLASS__, 'add_menu_class_in_yith_plugin' ) );
131
+
132
+ static::$actions_initialized = true;
133
+ }
134
+ }
135
+
136
+ /**
137
+ * Show a tabbed panel to setting page
138
+ * a callback function called by add_setting_page => add_submenu_page
139
+ *
140
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
141
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
142
+ */
143
+ public function yit_panel() {
144
+ $additional_info = array(
145
+ 'current_tab' => $this->get_current_tab(),
146
+ 'current_sub_tab' => $this->get_current_sub_tab(),
147
+ 'available_tabs' => $this->settings['admin-tabs'],
148
+ 'default_tab' => $this->get_available_tabs( true ),
149
+ 'page' => $this->settings['page'],
150
+ 'wrap_class' => isset( $this->settings['class'] ) ? $this->settings['class'] : '',
151
+ );
152
+
153
+ $additional_info = apply_filters( 'yith_admin_tab_params', $additional_info );
154
+ $additional_info['additional_info'] = $additional_info;
155
+
156
+ extract( $additional_info ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
157
+ require YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-panel.php';
158
+ }
159
+
160
+ /**
161
+ * Show a input fields to upload images
162
+ *
163
+ * @param string $option_value The option value.
164
+ *
165
+ * @return string
166
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
167
+ */
168
+ public function yit_upload_update( $option_value ) {
169
+ return $option_value;
170
+ }
171
+
172
+ /**
173
+ * Show a input fields to upload images
174
+ *
175
+ * @param array $args The arguments.
176
+ *
177
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
178
+ */
179
+ public function yit_upload( $args = array() ) {
180
+ if ( ! empty( $args ) ) {
181
+ $args['value'] = ( get_option( $args['id'] ) ) ? get_option( $args['id'] ) : $args['default'];
182
+ extract( $args ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
183
+
184
+ include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-upload.php';
185
+ }
186
+ }
187
+
188
+ /**
189
+ * Add the plugin woocommerce page settings in the screen ids of woocommerce
190
+ *
191
+ * @param array $screen_ids Screen IDs.
192
+ *
193
+ * @return array
194
+ * @author Antonino Scarfì <antonino.scarfi@yithemes.com>
195
+ */
196
+ public function add_allowed_screen_id( $screen_ids ) {
197
+ global $admin_page_hooks;
198
+
199
+ if ( ! isset( $admin_page_hooks[ $this->settings['parent_page'] ] ) ) {
200
+ return $screen_ids;
201
+ }
202
+
203
+ $screen_ids[] = $admin_page_hooks[ $this->settings['parent_page'] ] . '_page_' . $this->settings['page'];
204
+
205
+ return $screen_ids;
206
+ }
207
+
208
+ /**
209
+ * Returns current active tab slug
210
+ *
211
+ * @return string
212
+ * @since 2.0.0
213
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
214
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
215
+ */
216
+ public function get_current_tab() {
217
+ // phpcs:disable WordPress.Security.NonceVerification.Recommended
218
+ global $pagenow;
219
+ $tabs = $this->get_available_tabs();
220
+ $tab = $tabs[0];
221
+
222
+ if ( 'admin.php' === $pagenow && isset( $_REQUEST['tab'] ) && in_array( $_REQUEST['tab'], $tabs, true ) ) {
223
+ $tab = sanitize_key( wp_unslash( $_REQUEST['tab'] ) );
224
+ } elseif ( isset( $_REQUEST['tab'] ) && 'help' === $_REQUEST['tab'] && ! empty( $this->settings['help_tab'] ) ) {
225
+ $tab = 'help';
226
+ }
227
+
228
+ return apply_filters( 'yith_wc_plugin_panel_current_tab', $tab );
229
+ // phpcs:enable
230
+ }
231
+
232
+ /**
233
+ * Return available tabs
234
+ * read all options and show sections and fields
235
+ *
236
+ * @param bool $default false for all tabs slug, true for current tab.
237
+ *
238
+ * @return mixed Array tabs | String current tab
239
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
240
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
241
+ */
242
+ public function get_available_tabs( $default = false ) {
243
+ $tabs = array_keys( $this->settings['admin-tabs'] );
244
+
245
+ return $default ? $tabs[0] : $tabs;
246
+ }
247
+
248
+
249
+ /**
250
+ * Add sections and fields to setting panel
251
+ * read all options and show sections and fields
252
+ *
253
+ * @return void
254
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
255
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
256
+ */
257
+ public function add_fields() {
258
+ $yit_options = $this->get_main_array_options();
259
+ $option_key = $this->get_current_option_key();
260
+
261
+ if ( ! $option_key ) {
262
+ return;
263
+ }
264
+
265
+ woocommerce_admin_fields( $yit_options[ $option_key ] );
266
+ }
267
+
268
+ /**
269
+ * Print the panel content
270
+ * check if the tab is a wc options tab or custom tab and print the content
271
+ *
272
+ * @return void
273
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
274
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
275
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
276
+ */
277
+ public function print_panel_content() {
278
+ $yit_options = $this->get_main_array_options();
279
+ $page = $this->settings['page'];
280
+ $option_key = $this->get_current_option_key();
281
+ $custom_tab_options = $this->get_custom_tab_options( $yit_options, $option_key );
282
+
283
+ $this->print_tabs_nav();
284
+
285
+ if ( $this->is_premium_tab() && $this->has_premium_tab() ) {
286
+ $this->print_premium_tab();
287
+ } elseif ( $custom_tab_options ) {
288
+ $this->print_custom_tab( $custom_tab_options );
289
+ } elseif ( $this->is_help_tab() ) {
290
+ $this->print_help_tab();
291
+ } else {
292
+ include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-form.php';
293
+ }
294
+ }
295
+
296
+ /**
297
+ * Update options
298
+ *
299
+ * @return void
300
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
301
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
302
+ * @see woocommerce_update_options function
303
+ * @internal fire two action (before and after update): yit_panel_wc_before_update and yit_panel_wc_after_update
304
+ */
305
+ public function woocommerce_update_options() {
306
+
307
+ if ( isset( $_POST['yit_panel_wc_options_nonce'] ) && wp_verify_nonce( sanitize_key( wp_unslash( $_POST['yit_panel_wc_options_nonce'] ) ), 'yit_panel_wc_options_' . $this->settings['page'] ) ) {
308
+
309
+ do_action( 'yit_panel_wc_before_update' );
310
+
311
+ $yit_options = $this->get_main_array_options();
312
+ $option_key = $this->get_current_option_key();
313
+ $yit_options = $this->check_for_save_single_option( $yit_options );
314
+
315
+ if ( version_compare( WC()->version, '2.4.0', '>=' ) ) {
316
+ if ( ! empty( $yit_options[ $option_key ] ) ) {
317
+ foreach ( $yit_options[ $option_key ] as $option ) {
318
+ if ( isset( $option['id'] ) && isset( $_POST[ $option['id'] ], $option['type'] ) && ! in_array( $option['type'], self::$wc_type, true ) && 'yith-field' !== $option['type'] ) {
319
+ $_POST[ $option['id'] ] = maybe_serialize( $_POST[ $option['id'] ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
320
+ }
321
+ }
322
+ }
323
+ }
324
+
325
+ foreach ( $_POST as $name => $value ) {
326
+ // Check if current POST var name ends with a specific needle and make some stuff here.
327
+ $attachment_id_needle = '-yith-attachment-id';
328
+ $pos = strlen( $name ) - strlen( $attachment_id_needle );
329
+ $is_hidden_input = $pos >= 0 && strpos( $name, $attachment_id_needle, $pos ) !== false;
330
+ if ( $is_hidden_input ) {
331
+ // Is an input element of type "hidden" coupled with an input element for selecting an element from the media gallery.
332
+ $yit_options[ $option_key ][ $name ] = array(
333
+ 'type' => 'text',
334
+ 'id' => $name,
335
+ );
336
+ }
337
+ }
338
+
339
+ woocommerce_update_options( $yit_options[ $option_key ] );
340
+
341
+ do_action( 'yit_panel_wc_after_update' );
342
+
343
+ } elseif (
344
+ isset( $_REQUEST['yit-action'] ) && 'wc-options-reset' === sanitize_key( wp_unslash( $_REQUEST['yit-action'] ) )
345
+ &&
346
+ isset( $_POST['yith_wc_reset_options_nonce'] ) && wp_verify_nonce( sanitize_key( wp_unslash( $_POST['yith_wc_reset_options_nonce'] ) ), 'yith_wc_reset_options_' . $this->settings['page'] )
347
+ ) {
348
+
349
+ do_action( 'yit_panel_wc_before_reset' );
350
+
351
+ $yit_options = $this->get_main_array_options();
352
+ $option_key = $this->get_current_option_key();
353
+ $yit_options = $this->check_for_save_single_option( $yit_options );
354
+
355
+ // Collect an array of options to be saved as array and not as single option.
356
+ $array_options = array();
357
+
358
+ foreach ( $yit_options[ $option_key ] as $id => $option ) {
359
+ // Make sure option id is not an array.
360
+ $matches = array();
361
+ isset( $option['id'] ) && preg_match( '/(.*)\[(.*)\]/', $option['id'], $matches );
362
+
363
+ if ( ! empty( $matches ) && isset( $option['default'] ) ) {
364
+ if ( ! empty( $matches[2] ) ) {
365
+ $array_options[ $matches[1] ][ $matches[2] ] = $option['default'];
366
+ } else {
367
+ $array_options[ $matches[1] ][] = $option['default'];
368
+ }
369
+ } else {
370
+ if ( isset( $option['yith-type'] ) && 'multi-colorpicker' === $option['yith-type'] && ! empty( $option['colorpickers'] ) ) {
371
+ $default = array();
372
+ foreach ( $option['colorpickers'] as $colorpicker ) {
373
+ $default[ $colorpicker['id'] ] = isset( $colorpicker['default'] ) ? $colorpicker['default'] : '';
374
+ }
375
+ update_option( $option['id'], $default );
376
+ } elseif ( isset( $option['default'] ) ) {
377
+ update_option( $option['id'], $option['default'] );
378
+ }
379
+ }
380
+ }
381
+
382
+ // Save array options if any.
383
+ foreach ( $array_options as $key => $value ) {
384
+ update_option( $key, $value );
385
+ }
386
+
387
+ do_action( 'yit_panel_wc_after_reset' );
388
+ }
389
+ }
390
+
391
+ /**
392
+ * Add Admin WC Style and Scripts
393
+ *
394
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
395
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
396
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
397
+ */
398
+ public function admin_enqueue_scripts() {
399
+ global $woocommerce, $pagenow;
400
+
401
+ if ( 'customize.php' !== $pagenow ) {
402
+ wp_enqueue_style( 'wp-jquery-ui-dialog' );
403
+ }
404
+
405
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
406
+ $assets_screen_ids = (array) apply_filters( 'yith_plugin_fw_wc_panel_screen_ids_for_assets', array() );
407
+
408
+ if ( $screen && ( 'admin.php' === $pagenow && strpos( $screen->id, $this->settings['page'] ) !== false ) || in_array( $screen->id, $assets_screen_ids, true ) ) {
409
+ $woocommerce_version = function_exists( 'WC' ) ? WC()->version : $woocommerce->version;
410
+ $woocommerce_settings_deps = array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'iris' );
411
+
412
+ if ( version_compare( '2.5', $woocommerce_version, '<=' ) ) {
413
+ $woocommerce_settings_deps[] = 'select2';
414
+ } else {
415
+ $woocommerce_settings_deps[] = 'jquery-ui-dialog';
416
+ $woocommerce_settings_deps[] = 'chosen';
417
+ }
418
+
419
+ wp_enqueue_media();
420
+
421
+ wp_enqueue_style( 'yith-plugin-fw-fields' );
422
+ wp_enqueue_style( 'woocommerce_admin_styles' );
423
+ wp_enqueue_style( 'raleway-font' );
424
+
425
+ wp_enqueue_script( 'woocommerce_settings', $woocommerce->plugin_url() . '/assets/js/admin/settings.min.js', $woocommerce_settings_deps, $woocommerce_version, true );
426
+ wp_localize_script(
427
+ 'woocommerce_settings',
428
+ 'woocommerce_settings_params',
429
+ array(
430
+ 'i18n_nav_warning' => __( 'The changes you have made will be lost if you leave this page.', 'yith-plugin-fw' ),
431
+ )
432
+ );
433
+ wp_enqueue_script( 'yith-plugin-fw-fields' );
434
+ }
435
+
436
+ if ( $screen && ( 'admin.php' === $pagenow && yith_plugin_fw_is_panel() ) || in_array( $screen->id, $assets_screen_ids, true ) ) {
437
+ wp_enqueue_media();
438
+ wp_enqueue_style( 'yit-plugin-style' );
439
+ wp_enqueue_script( 'yit-plugin-panel' );
440
+ }
441
+
442
+ if ( $screen && 'admin.php' === $pagenow && strpos( $screen->id, 'yith_upgrade_premium_version' ) !== false ) {
443
+ wp_enqueue_style( 'yit-upgrade-to-pro' );
444
+ wp_enqueue_script( 'colorbox' );
445
+ }
446
+ }
447
+
448
+ /**
449
+ * Default options
450
+ * Sets up the default options used on the settings page
451
+ */
452
+ public function set_default_options() {
453
+ // Check if the default options for this panel are already set.
454
+ $page = $this->settings['page'];
455
+ $default_options_set = get_option( 'yit_plugin_fw_panel_wc_default_options_set', array() );
456
+ if ( isset( $default_options_set[ $page ] ) && $default_options_set[ $page ] ) {
457
+ return;
458
+ }
459
+
460
+ $default_options = $this->get_main_array_options();
461
+
462
+ foreach ( $default_options as $section ) {
463
+ foreach ( $section as $value ) {
464
+ if ( ( isset( $value['std'] ) || isset( $value['default'] ) ) && isset( $value['id'] ) ) {
465
+ $default_value = ( isset( $value['default'] ) ) ? $value['default'] : $value['std'];
466
+
467
+ if ( 'image_width' === $value['type'] ) {
468
+ add_option( $value['id'] . '_width', $default_value );
469
+ add_option( $value['id'] . '_height', $default_value );
470
+ } else {
471
+ add_option( $value['id'], $default_value );
472
+ }
473
+ }
474
+ }
475
+ }
476
+
477
+ // Set the flag for the default options of this panel.
478
+ $default_options_set[ $page ] = true;
479
+ update_option( 'yit_plugin_fw_panel_wc_default_options_set', $default_options_set );
480
+ }
481
+
482
+ /**
483
+ * Delete the "default options added" option
484
+ *
485
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
486
+ */
487
+ public static function delete_default_options_set_option() {
488
+ delete_option( 'yit_plugin_fw_panel_wc_default_options_set' );
489
+ }
490
+
491
+ /**
492
+ * Add the WooCommerce body class in plugin panel page
493
+ *
494
+ * @param string $admin_body_classes The body classes.
495
+ *
496
+ * @return string Filtered body classes
497
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
498
+ * @since 2.0
499
+ */
500
+ public static function admin_body_class( $admin_body_classes ) {
501
+ global $pagenow;
502
+
503
+ $assets_screen_ids = (array) apply_filters( 'yith_plugin_fw_wc_panel_screen_ids_for_assets', array() );
504
+
505
+ if ( ( 'admin.php' === $pagenow && ( strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false || in_array( get_current_screen()->id, $assets_screen_ids, true ) ) ) ) {
506
+ $admin_body_classes = ! substr_count( $admin_body_classes, self::$body_class ) ? $admin_body_classes . self::$body_class : $admin_body_classes;
507
+ $admin_body_classes = ! substr_count( $admin_body_classes, 'woocommerce' ) ? $admin_body_classes . ' woocommerce ' : $admin_body_classes;
508
+ }
509
+
510
+ return $admin_body_classes;
511
+ }
512
+
513
+ /**
514
+ * Maybe unserialize panel data
515
+ *
516
+ * @param mixed $value Option value.
517
+ * @param mixed $option Option settings array.
518
+ * @param string $raw_value Raw option value.
519
+ *
520
+ * @return mixed Filtered return value
521
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
522
+ * @since 2.0
523
+ */
524
+ public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
525
+ if ( ! version_compare( WC()->version, '2.4.0', '>=' ) || ! isset( $option['type'] ) || in_array( $option['type'], self::$wc_type, true ) || 'yith-field' === $option['type'] ) {
526
+ return $value;
527
+ }
528
+
529
+ $yit_options = $this->get_main_array_options();
530
+ $option_key = $this->get_current_option_key();
531
+
532
+ if ( ! empty( $yit_options[ $option_key ] ) ) {
533
+ foreach ( $yit_options[ $option_key ] as $option_array ) {
534
+ if ( isset( $option_array['id'] ) && isset( $option['id'] ) && $option_array['id'] === $option['id'] ) {
535
+ return maybe_unserialize( $value );
536
+ }
537
+ }
538
+ }
539
+
540
+ return $value;
541
+ }
542
+
543
+ /**
544
+ * Sanitize Option
545
+ *
546
+ * @param mixed $value Option value.
547
+ * @param mixed $option Option settings array.
548
+ * @param mixed $raw_value Raw option value.
549
+ *
550
+ * @return mixed Filtered return value
551
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
552
+ * @since 3.0.0
553
+ */
554
+ public static function sanitize_option( $value, $option, $raw_value ) {
555
+ if ( isset( $option['type'] ) && 'yith-field' === $option['type'] ) {
556
+ $value = $raw_value; // We need the raw value to avoid the wc_clean. Note: the raw_value is already un-slashed.
557
+ $type = isset( $option['yith-type'] ) ? $option['yith-type'] : false;
558
+ $multiple = ! empty( $option['multiple'] );
559
+
560
+ switch ( $type ) {
561
+ case 'checkbox':
562
+ case 'onoff':
563
+ $value = yith_plugin_fw_is_true( $value ) ? 'yes' : 'no';
564
+ break;
565
+ case 'checkbox-array':
566
+ $value = ! ! $value && is_array( $value ) ? $value : array();
567
+ break;
568
+ case 'select-buttons':
569
+ $value = ! empty( $value ) ? $value : array();
570
+ break;
571
+ case 'date-format':
572
+ if ( '\c\u\s\t\o\m' === $value ) {
573
+ // phpcs:ignore WordPress.Security.NonceVerification.Recommended
574
+ $custom = isset( $_REQUEST[ $option['id'] . '_text' ] ) ? sanitize_text_field( wp_unslash( $_REQUEST[ $option['id'] . '_text' ] ) ) : $option['default'];
575
+ $value = $custom;
576
+ }
577
+ break;
578
+ case 'toggle-element':
579
+ if ( $value && isset( $option['elements'] ) && ! empty( $option['elements'] ) ) {
580
+
581
+ if ( isset( $value['box_id'] ) ) {
582
+ unset( $value['box_id'] );
583
+ }
584
+
585
+ foreach ( $value as $index => $single_toggle ) {
586
+
587
+ if ( $value && isset( $option['onoff_field'] ) && ! empty( $option['onoff_field'] ) ) {
588
+ $on_off = $option['onoff_field'];
589
+ $on_off['type'] = 'yith-field';
590
+ $on_off['yith-type'] = 'onoff';
591
+ $on_off_id = $on_off['id'];
592
+
593
+ $value[ $index ][ $on_off_id ] = isset( $single_toggle[ $on_off_id ] ) ? self::sanitize_option( $single_toggle[ $on_off_id ], $on_off, $single_toggle[ $on_off_id ] ) : 'no';
594
+ }
595
+
596
+ foreach ( $option['elements'] as $element ) {
597
+ $element_value = isset( $value[ $index ][ $element['id'] ] ) ? $value[ $index ][ $element['id'] ] : false;
598
+ // We don't need to un-slash the value, since it's already un-slashed.
599
+ $value[ $index ][ $element['id'] ] = self::sanitize_option( $element_value, $element, $element_value );
600
+ }
601
+ }
602
+ }
603
+ break;
604
+ }
605
+
606
+ if ( $multiple && empty( $value ) ) {
607
+ $value = array();
608
+ }
609
+
610
+ if ( ! empty( $option['yith-sanitize-callback'] ) && is_callable( $option['yith-sanitize-callback'] ) ) {
611
+ $value = call_user_func( $option['yith-sanitize-callback'], $value );
612
+ }
613
+ }
614
+
615
+ return apply_filters( 'yith_plugin_fw_wc_panel_sanitize_option', $value, $option, $raw_value );
616
+ }
617
+
618
+ /**
619
+ * Add YITH Fields.
620
+ *
621
+ * @param array $field The field.
622
+ *
623
+ * @return void
624
+ * @since 3.0.0
625
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
626
+ */
627
+ public static function add_yith_field( $field = array() ) {
628
+ if ( ! empty( $field ) && isset( $field['yith-type'] ) ) {
629
+ $field['type'] = $field['yith-type'];
630
+ unset( $field['yith-type'] );
631
+
632
+ $field['id'] = isset( $field['id'] ) ? $field['id'] : '';
633
+ $field['name'] = $field['id'];
634
+ $field['default'] = isset( $field['default'] ) ? $field['default'] : '';
635
+
636
+ $value = apply_filters( 'yith_plugin_fw_wc_panel_pre_field_value', null, $field );
637
+ if ( is_null( $value ) ) {
638
+ if ( 'toggle-element' === $field['type'] || 'toggle-element-fixed' === $field['type'] ) {
639
+ $value = get_option( $field['id'], $field['default'] );
640
+ } else {
641
+ $value = WC_Admin_Settings::get_option( $field['id'], $field['default'] );
642
+ }
643
+ }
644
+ $field['value'] = $value;
645
+
646
+ // Let's filter field data just before print.
647
+ $field = apply_filters( 'yith_plugin_fw_wc_panel_field_data', $field );
648
+
649
+ require YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-option-row.php';
650
+ }
651
+ }
652
+
653
+ /**
654
+ * Save the content of the toggle element present inside the panel.
655
+ * Called by the action 'admin_action_yith_plugin_fw_save_toggle_element'
656
+ * via Ajax
657
+ *
658
+ * @author Emanuela Castorina
659
+ */
660
+ public function save_toggle_element_options() {
661
+
662
+ check_ajax_referer( 'save-toggle-element', 'security' );
663
+
664
+ if ( ! current_user_can( $this->settings['capability'] ) ) {
665
+ wp_die( -1 );
666
+ }
667
+
668
+ $posted = $_POST;
669
+ $tabs = $this->get_available_tabs();
670
+ $yit_options = $this->get_main_array_options();
671
+ $current_tab = isset( $_REQUEST['tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['tab'] ) ) : false;
672
+ $current_tab = ! ! $current_tab && in_array( $current_tab, $tabs, true ) ? $current_tab : $tabs[0];
673
+ $option_id = isset( $_REQUEST['toggle_id'] ) ? sanitize_key( wp_unslash( $_REQUEST['toggle_id'] ) ) : '';
674
+ $updated = false;
675
+
676
+ if ( ! empty( $yit_options[ $current_tab ] ) && ! empty( $option_id ) ) {
677
+ $tab_options = $yit_options[ $current_tab ];
678
+ foreach ( $tab_options as $key => $item ) {
679
+ if ( ! isset( $item['id'] ) ) {
680
+ unset( $tab_options[ $key ] );
681
+ }
682
+ }
683
+
684
+ $option_array = array_combine( wp_list_pluck( $tab_options, 'id' ), $tab_options );
685
+ if ( isset( $option_array[ $option_id ] ) ) {
686
+ $value = isset( $posted[ $option_id ] ) ? $posted[ $option_id ] : '';
687
+
688
+ // Drag and drop.
689
+ $order_elements = isset( $posted['yith_toggle_elements_order_keys'] ) ? explode( ',', $posted['yith_toggle_elements_order_keys'] ) : false;
690
+ if ( $order_elements ) {
691
+ $i = 0;
692
+ $new_value = array();
693
+ foreach ( $order_elements as $key ) {
694
+ $index = apply_filters( 'yith_toggle_elements_index', $i++, $key );
695
+ $new_value[ $index ] = $value[ $key ];
696
+ }
697
+
698
+ $value = $new_value;
699
+ }
700
+
701
+ $value = wp_unslash( $value ); // The value must be un-slashed before using it in self::sanitize_option.
702
+ $value = self::sanitize_option( $value, $option_array[ $option_id ], $value );
703
+ $updated = update_option( $option_id, $value );
704
+ }
705
+ }
706
+
707
+ return $updated;
708
+ }
709
+
710
+ /**
711
+ * Print tabs navigation.
712
+ *
713
+ * @param array $args The arguments.
714
+ */
715
+ public function print_tabs_nav( $args = array() ) {
716
+ $defaults = array(
717
+ 'premium_class' => 'yith-premium',
718
+ 'parent_page' => '',
719
+ 'wrapper_class' => 'nav-tab-wrapper woo-nav-tab-wrapper',
720
+ );
721
+ $args = wp_parse_args( $args, $defaults );
722
+
723
+ parent::print_tabs_nav( $args );
724
+ }
725
+
726
+ /**
727
+ * Sanitize OnOff Option
728
+ *
729
+ * @param mixed $value Option value.
730
+ * @param mixed $option Option settings array.
731
+ * @param string $raw_value Raw option value.
732
+ *
733
+ * @return mixed Filtered return value
734
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
735
+ * @since 3.0.0
736
+ */
737
+ public static function sanitize_onoff_value( $value, $option, $raw_value ) {
738
+ if ( isset( $option['type'] ) && in_array( $option['type'], array( 'checkbox', 'onoff' ), true ) ) {
739
+ $value = yith_plugin_fw_is_true( $raw_value ) ? 'yes' : 'no';
740
+
741
+ if ( ! empty( $option['yith-sanitize-callback'] ) && is_callable( $option['yith-sanitize-callback'] ) ) {
742
+ $value = call_user_func( $option['yith-sanitize-callback'], $value );
743
+ }
744
+ }
745
+
746
+ return $value;
747
+ }
748
+
749
+ /**
750
+ * Check if need to save the toggle element to a single options instead of an array
751
+ *
752
+ * @param array $yit_options Original options array.
753
+ *
754
+ * @return mixed|array New options array
755
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
756
+ * @since 3.0.0
757
+ */
758
+ public function check_for_save_single_option( $yit_options ) {
759
+ foreach ( $yit_options as $key => $options_list ) {
760
+ foreach ( $options_list as $value ) {
761
+ if ( ! empty( $value['yith-type'] ) && 'toggle-element-fixed' === $value['yith-type'] && isset( $value['save_single_options'] ) && true === $value['save_single_options'] ) {
762
+ $yit_options[ $key ] = array_merge( $yit_options[ $key ], $value['elements'] );
763
+ }
764
+ }
765
+ }
766
+
767
+ return $yit_options;
768
+ }
769
+ }
770
+ }
plugin-fw/includes/class-yit-plugin-panel.php CHANGED
@@ -1,1716 +1,1782 @@
1
- <?php
2
- /**
3
- * YITH Plugin Panel Class.
4
- *
5
- * @class YIT_Plugin_Panel
6
- * @package YITH\PluginFramework\Classes
7
- */
8
-
9
- defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
10
-
11
- if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
12
- /**
13
- * Class YIT_Plugin_Panel
14
- */
15
- class YIT_Plugin_Panel {
16
- /**
17
- * Version of the class.
18
- *
19
- * @var string
20
- */
21
- public $version = '1.0.0';
22
-
23
- /**
24
- * List of settings parameters.
25
- *
26
- * @var array
27
- */
28
- public $settings = array();
29
-
30
- /**
31
- * Tab Path Files.
32
- *
33
- * @var array
34
- */
35
- protected $tabs_path_files;
36
-
37
- /**
38
- * Main array of options.
39
- *
40
- * @var array
41
- */
42
- protected $main_array_options;
43
-
44
- /**
45
- * Tabs hierarchy.
46
- *
47
- * @var array
48
- */
49
- protected $tabs_hierarchy;
50
-
51
- /**
52
- * Tabs in WP Pages.
53
- *
54
- * @var array
55
- */
56
- protected static $panel_tabs_in_wp_pages = array();
57
-
58
- /**
59
- * Array of links.
60
- *
61
- * @var array
62
- */
63
- public $links;
64
-
65
- /**
66
- * Are the actions initialized?
67
- *
68
- * @var bool
69
- */
70
- protected static $actions_initialized = false;
71
-
72
- /**
73
- * YIT_Plugin_Panel constructor.
74
- *
75
- * @param array $args The panel arguments.
76
- *
77
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
78
- */
79
- public function __construct( $args = array() ) {
80
- if ( ! empty( $args ) ) {
81
- $default_args = array(
82
- 'parent_slug' => 'edit.php?',
83
- 'page_title' => __( 'Plugin Settings', 'yith-plugin-fw' ),
84
- 'menu_title' => __( 'Settings', 'yith-plugin-fw' ),
85
- 'capability' => 'manage_options',
86
- 'icon_url' => '',
87
- 'position' => null,
88
- );
89
-
90
- $args = apply_filters( 'yit_plugin_fw_panel_option_args', wp_parse_args( $args, $default_args ) );
91
- if ( isset( $args['parent_page'] ) && 'yit_plugin_panel' === $args['parent_page'] ) {
92
- $args['parent_page'] = 'yith_plugin_panel';
93
- }
94
-
95
- $this->settings = $args;
96
- $this->tabs_path_files = $this->get_tabs_path_files();
97
-
98
- if ( isset( $this->settings['create_menu_page'] ) && $this->settings['create_menu_page'] ) {
99
- $this->add_menu_page();
100
- }
101
-
102
- if ( ! empty( $this->settings['links'] ) ) {
103
- $this->links = $this->settings['links'];
104
- }
105
-
106
- add_action( 'admin_init', array( $this, 'register_settings' ) );
107
- add_action( 'admin_menu', array( $this, 'add_setting_page' ), 20 );
108
- add_action( 'admin_menu', array( $this, 'add_premium_version_upgrade_to_menu' ), 100 );
109
- add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_menu' ), 100 );
110
- add_action( 'admin_init', array( $this, 'add_fields' ) );
111
-
112
- add_action( 'admin_enqueue_scripts', array( $this, 'init_wp_with_tabs' ), 11 );
113
- add_action( 'admin_init', array( $this, 'maybe_redirect_to_proper_wp_page' ) );
114
-
115
- /* Add UTM tracking code on premium tab */
116
- add_filter( 'yith_plugin_fw_premium_landing_uri', array( $this, 'add_utm_data_on_premium_tab' ), 10, 2 );
117
- // Init actions once to prevent multiple initialization.
118
- static::init_actions();
119
- }
120
-
121
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
122
-
123
- add_action( 'yith_plugin_fw_before_yith_panel', array( $this, 'add_plugin_banner' ), 10, 1 );
124
- add_action( 'wp_ajax_yith_plugin_fw_save_toggle_element', array( $this, 'save_toggle_element_options' ) );
125
- }
126
-
127
- /**
128
- * Is this a custom post type page?
129
- *
130
- * @return bool
131
- * @see YIT_Plugin_Panel::init_wp_with_tabs
132
- * @since 3.4.17
133
- */
134
- protected function is_custom_post_type_page() {
135
- global $pagenow, $post_type;
136
- $excluded_post_types = array( 'product', 'page', 'post' );
137
-
138
- return in_array( $pagenow, array( 'post.php', 'post-new.php', 'edit.php' ), true ) && ! in_array( $post_type, $excluded_post_types, true );
139
- }
140
-
141
- /**
142
- * Is this a custom taxonomy page?
143
- *
144
- * @return bool
145
- * @see YIT_Plugin_Panel::init_wp_with_tabs
146
- * @since 3.4.17
147
- */
148
- protected function is_custom_taxonomy_page() {
149
- global $pagenow, $taxonomy;
150
- $excluded_taxonomies = array( 'category', 'post_tag', 'product_cat', 'product_tag' );
151
-
152
- return in_array( $pagenow, array( 'edit-tags.php', 'term.php' ), true ) && ! in_array( $taxonomy, $excluded_taxonomies, true );
153
- }
154
-
155
- /**
156
- * Init actions to show YITH Panel tabs in WP Pages
157
- *
158
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
159
- * @since 3.4.0
160
- */
161
- public function init_wp_with_tabs() {
162
- if ( ! current_user_can( $this->settings['capability'] ) ) {
163
- return;
164
- }
165
-
166
- global $post_type, $taxonomy;
167
- $tabs = false;
168
-
169
- if ( $this->is_custom_post_type_page() ) {
170
- $tabs = $this->get_post_type_tabs( $post_type );
171
- } elseif ( $this->is_custom_taxonomy_page() ) {
172
- $tabs = $this->get_taxonomy_tabs( $taxonomy );
173
- }
174
-
175
- $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
176
- $is_block_editor = ! ! $screen && is_callable( array( $screen, 'is_block_editor' ) ) && $screen->is_block_editor();
177
-
178
- if ( $tabs ) {
179
- $current_tab_args = array(
180
- 'page' => $this->settings['page'],
181
- 'current_tab' => isset( $tabs['tab'] ) ? $tabs['tab'] : '',
182
- 'current_sub_tab' => isset( $tabs['sub_tab'] ) ? $tabs['sub_tab'] : '',
183
- 'options' => isset( $tabs['options'] ) ? $tabs['options'] : array(),
184
- );
185
-
186
- if ( ! $is_block_editor ) {
187
- wp_enqueue_style( 'yit-plugin-style' );
188
- wp_enqueue_style( 'yith-plugin-fw-fields' );
189
- wp_enqueue_script( 'yith-plugin-fw-wp-pages' );
190
- }
191
-
192
- if ( ! self::$panel_tabs_in_wp_pages ) {
193
- self::$panel_tabs_in_wp_pages = $current_tab_args;
194
- if ( ! $is_block_editor ) {
195
- add_action( 'all_admin_notices', array( $this, 'print_panel_tabs_in_wp_pages' ) );
196
- add_action( 'admin_footer', array( $this, 'print_panel_tabs_in_wp_pages_end' ) );
197
- }
198
- add_filter( 'parent_file', array( $this, 'set_parent_file_to_handle_menu_for_wp_pages' ) );
199
- add_filter( 'submenu_file', array( $this, 'set_submenu_file_to_handle_menu_for_wp_pages' ), 10, 2 );
200
- }
201
- }
202
- }
203
-
204
- /**
205
- * Init actions.
206
- *
207
- * @since 3.0.0
208
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
209
- */
210
- protected static function init_actions() {
211
- if ( ! static::$actions_initialized ) {
212
- add_filter( 'admin_body_class', array( __CLASS__, 'add_body_class' ) );
213
-
214
- // Sort plugins by name in YITH Plugins menu.
215
- add_action( 'admin_menu', array( __CLASS__, 'sort_plugins' ), 90 );
216
- add_filter( 'add_menu_classes', array( __CLASS__, 'add_menu_class_in_yith_plugin' ) );
217
-
218
- static::$actions_initialized = true;
219
- }
220
- }
221
-
222
- /**
223
- * Maybe init vars
224
- */
225
- protected function maybe_init_vars() {
226
- if ( ! isset( $this->main_array_options ) && ! isset( $this->tabs_hierarchy ) ) {
227
- $options_path = $this->settings['options-path'];
228
- $this->main_array_options = array();
229
- $this->tabs_hierarchy = array();
230
-
231
- foreach ( $this->settings['admin-tabs'] as $item => $v ) {
232
- $path = trailingslashit( $options_path ) . $item . '-options.php';
233
- $path = apply_filters( 'yith_plugin_panel_item_options_path', $path, $options_path, $item, $this );
234
- if ( file_exists( $path ) ) {
235
- $_tab = include $path;
236
- $this->main_array_options = array_merge( $this->main_array_options, $_tab );
237
- $sub_tabs = $this->get_sub_tabs( $_tab );
238
- $current_tab_key = array_keys( $_tab )[0];
239
-
240
- $this->tabs_hierarchy[ $current_tab_key ] = array_merge(
241
- array(
242
- 'parent' => '',
243
- 'has_sub_tabs' => ! ! $sub_tabs,
244
- ),
245
- $this->get_tab_info_by_options( $_tab[ $current_tab_key ] )
246
- );
247
-
248
- foreach ( $sub_tabs as $sub_item => $sub_options ) {
249
- if ( strpos( $sub_item, $item . '-' ) === 0 ) {
250
- $sub_item = substr( $sub_item, strlen( $item ) + 1 );
251
- }
252
- $sub_tab_path = $options_path . '/' . $item . '/' . $sub_item . '-options.php';
253
- $sub_tab_path = apply_filters( 'yith_plugin_panel_sub_tab_item_options_path', $sub_tab_path, $sub_tabs, $sub_item, $this );
254
-
255
- if ( file_exists( $sub_tab_path ) ) {
256
- $_sub_tab = include $sub_tab_path;
257
- $this->main_array_options = array_merge( $this->main_array_options, $_sub_tab );
258
-
259
- $current_sub_tab_key = array_keys( $_sub_tab )[0];
260
- $this->tabs_hierarchy[ $current_sub_tab_key ] = array_merge( array( 'parent' => $current_tab_key ), $this->get_tab_info_by_options( $_sub_tab[ $current_sub_tab_key ] ) );
261
- }
262
- }
263
- }
264
- }
265
- }
266
- }
267
-
268
- /**
269
- * Add yith-plugin-fw-panel in body classes in Panel pages
270
- *
271
- * @param string $admin_body_classes Body classes.
272
- *
273
- * @return string
274
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
275
- * @since 3.0.0
276
- */
277
- public static function add_body_class( $admin_body_classes ) {
278
- global $pagenow;
279
- if ( ( 'admin.php' === $pagenow && strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false ) ) {
280
- $admin_body_classes = ! substr_count( $admin_body_classes, ' yith-plugin-fw-panel ' ) ? $admin_body_classes . ' yith-plugin-fw-panel ' : $admin_body_classes;
281
- }
282
-
283
- return $admin_body_classes;
284
- }
285
-
286
- /**
287
- * Add Menu page link
288
- *
289
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
290
- */
291
- public function add_menu_page() {
292
- global $admin_page_hooks;
293
-
294
- if ( ! isset( $admin_page_hooks['yith_plugin_panel'] ) ) {
295
- $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
296
- $capability = apply_filters( 'yit_plugin_panel_menu_page_capability', 'manage_options' );
297
- $show = apply_filters( 'yit_plugin_panel_menu_page_show', true );
298
-
299
- // YITH text must NOT be translated.
300
- if ( ! ! $show ) {
301
- add_menu_page( 'yith_plugin_panel', 'YITH', $capability, 'yith_plugin_panel', null, yith_plugin_fw_get_default_logo(), $position );
302
- // Prevent issues for backward compatibility.
303
- $admin_page_hooks['yith_plugin_panel'] = 'yith-plugins'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
304
- }
305
- }
306
- }
307
-
308
- /**
309
- * Remove duplicate submenu
310
- * Submenu page hack: Remove the duplicate YIT Plugin link on subpages
311
- *
312
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
313
- */
314
- public function remove_duplicate_submenu_page() {
315
- remove_submenu_page( 'yith_plugin_panel', 'yith_plugin_panel' );
316
- }
317
-
318
- /**
319
- * Enqueue script and styles in admin side
320
- * Add style and scripts to administrator
321
- *
322
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
323
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
324
- */
325
- public function admin_enqueue_scripts() {
326
- global $pagenow;
327
-
328
- if ( 'admin.php' === $pagenow && strpos( get_current_screen()->id, $this->settings['page'] ) !== false || apply_filters( 'yit_plugin_panel_asset_loading', false ) ) {
329
- wp_enqueue_media();
330
-
331
- wp_enqueue_style( 'yith-plugin-fw-fields' );
332
- wp_enqueue_style( 'jquery-ui-style' );
333
- wp_enqueue_style( 'raleway-font' );
334
-
335
- wp_enqueue_script( 'jquery-ui' );
336
- wp_enqueue_script( 'jquery-ui-core' );
337
- wp_enqueue_script( 'jquery-ui-dialog' );
338
- wp_enqueue_script( 'yith_how_to' );
339
- wp_enqueue_script( 'yith-plugin-fw-fields' );
340
- }
341
-
342
- if ( ( 'admin.php' === $pagenow && yith_plugin_fw_is_panel() ) || apply_filters( 'yit_plugin_panel_asset_loading', false ) ) {
343
- wp_enqueue_media();
344
- wp_enqueue_style( 'yit-plugin-style' );
345
- wp_enqueue_script( 'yit-plugin-panel' );
346
- }
347
-
348
- if ( 'admin.php' === $pagenow && strpos( get_current_screen()->id, 'yith_upgrade_premium_version' ) !== false ) {
349
- wp_enqueue_style( 'yit-upgrade-to-pro' );
350
- wp_enqueue_script( 'colorbox' );
351
- }
352
- }
353
-
354
- /**
355
- * Register Settings
356
- * Generate wp-admin settings pages by registering your settings and using a few callbacks to control the output
357
- *
358
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
359
- */
360
- public function register_settings() {
361
- register_setting( 'yit_' . $this->settings['parent'] . '_options', 'yit_' . $this->settings['parent'] . '_options', array( $this, 'options_validate' ) );
362
- }
363
-
364
- /**
365
- * Add Setting SubPage
366
- * add Setting SubPage to WordPress administrator
367
- *
368
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
369
- */
370
- public function add_setting_page() {
371
- $this->settings['icon_url'] = isset( $this->settings['icon_url'] ) ? $this->settings['icon_url'] : '';
372
- $this->settings['position'] = isset( $this->settings['position'] ) ? $this->settings['position'] : null;
373
- $parent = $this->settings['parent_slug'] . $this->settings['parent_page'];
374
-
375
- if ( ! empty( $parent ) ) {
376
- add_submenu_page( $parent, $this->settings['page_title'], $this->settings['menu_title'], $this->settings['capability'], $this->settings['page'], array( $this, 'yit_panel' ) );
377
- } else {
378
- add_menu_page( $this->settings['page_title'], $this->settings['menu_title'], $this->settings['capability'], $this->settings['page'], array( $this, 'yit_panel' ), $this->settings['icon_url'], $this->settings['position'] );
379
- }
380
- // Duplicate Items Hack.
381
- $this->remove_duplicate_submenu_page();
382
- do_action( 'yit_after_add_settings_page' );
383
-
384
- }
385
-
386
- /**
387
- * Options Validate
388
- * a callback function called by Register Settings function
389
- *
390
- * @param array $field The field to validate.
391
- *
392
- * @return array validated fields
393
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
394
- */
395
- public function options_validate( $field ) {
396
- $option_key = ! empty( $field['option_key'] ) ? $field['option_key'] : 'general';
397
- $yit_options = $this->get_main_array_options();
398
- $validated_fields = $this->get_options();
399
-
400
- foreach ( $yit_options[ $option_key ] as $section => $data ) {
401
- foreach ( $data as $option ) {
402
- if ( isset( $option['sanitize_call'] ) && isset( $option['id'] ) ) {
403
- if ( is_array( $option['sanitize_call'] ) ) {
404
- foreach ( $option['sanitize_call'] as $callback ) {
405
- if ( is_array( $field[ $option['id'] ] ) ) {
406
- $validated_fields[ $option['id'] ] = array_map( $callback, $field[ $option['id'] ] );
407
- } else {
408
- $validated_fields[ $option['id'] ] = call_user_func( $callback, $field[ $option['id'] ] );
409
- }
410
- }
411
- } else {
412
- if ( is_array( $field[ $option['id'] ] ) ) {
413
- $validated_fields[ $option['id'] ] = array_map( $option['sanitize_call'], $field[ $option['id'] ] );
414
- } else {
415
- $validated_fields[ $option['id'] ] = call_user_func( $option['sanitize_call'], $field[ $option['id'] ] );
416
- }
417
- }
418
- } else {
419
- if ( isset( $option['id'] ) ) {
420
- $value = isset( $field[ $option['id'] ] ) ? $field[ $option['id'] ] : false;
421
- if ( isset( $option['type'] ) && in_array( $option['type'], array( 'checkbox', 'onoff' ), true ) ) {
422
- $value = yith_plugin_fw_is_true( $value ) ? 'yes' : 'no';
423
- }
424
-
425
- if ( ! empty( $option['yith-sanitize-callback'] ) && is_callable( $option['yith-sanitize-callback'] ) ) {
426
- $value = call_user_func( $option['yith-sanitize-callback'], $value );
427
- }
428
-
429
- $validated_fields[ $option['id'] ] = $value;
430
- }
431
- }
432
- }
433
- }
434
-
435
- return $validated_fields;
436
- }
437
-
438
- /**
439
- * Add Premium Version upgrade menu item
440
- *
441
- * @since 2.9.13
442
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
443
- */
444
- public function add_premium_version_upgrade_to_menu() {
445
- // Add the How To menu item only if the customer haven't a premium version enabled.
446
- if ( function_exists( 'YIT_Plugin_Licence' ) && ! ! YIT_Plugin_Licence()->get_products() ) {
447
- return;
448
- }
449
-
450
- global $submenu;
451
- if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu['yith_plugin_panel'] ) ) ) {
452
- $how_to_menu = array(
453
- sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
454
- 'install_plugins',
455
- '//support.yithemes.com/hc/en-us/articles/217840988',
456
- __( 'How to install premium version', 'yith-plugin-fw' ),
457
- );
458
- $submenu['yith_plugin_panel']['how_to'] = $how_to_menu; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
459
- }
460
- }
461
-
462
- /**
463
- * Print the tabs navigation
464
- *
465
- * @param array $args Nav Arguments.
466
- *
467
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
468
- * @since 3.4.0
469
- */
470
- public function print_tabs_nav( $args = array() ) {
471
- $defaults = array(
472
- 'current_tab' => $this->get_current_tab(),
473
- 'premium_class' => isset( $this->settings['class'] ) ? 'yith-premium' : 'premium',
474
- 'page' => $this->settings['page'],
475
- 'parent_page' => $this->settings['parent_page'],
476
- 'wrapper_class' => 'nav-tab-wrapper',
477
- );
478
- $args = wp_parse_args( $args, $defaults );
479
-
480
- list ( $wrapper_class ) = yith_plugin_fw_extract( $args, 'wrapper_class' );
481
-
482
- $tabs = '<ul class="yith-plugin-fw-tabs">';
483
-
484
- foreach ( $this->settings['admin-tabs'] as $tab => $tab_value ) {
485
- $tabs .= $this->get_tab_nav( $tab, $tab_value, $args );
486
- }
487
-
488
- // help tab.
489
- if ( $this->has_help_tab() ) {
490
- $tabs .= $this->get_tab_nav( 'help', _x( 'Help', 'Help tab name', 'yith-plugin-fw' ), $args );
491
- }
492
-
493
- $tabs .= '</ul>';
494
- ?>
495
- <h2 class="<?php echo esc_attr( $wrapper_class ); ?>">
496
- <?php echo wp_kses_post( $tabs ); ?>
497
- </h2>
498
- <?php
499
- $this->print_sub_tabs_nav( $args );
500
- }
501
-
502
- /**
503
- * Get HTML for single tab in tabs navigation
504
- *
505
- * @param string $tab_slug Tab slug.
506
- * @param string $tab_name Tab name.
507
- * @param array $args Nav Arguments.
508
- *
509
- * @return string Tab HTML
510
- *
511
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
512
- * @since 3.4.0
513
- */
514
- protected function get_tab_nav( $tab_slug, $tab_name, $args = array() ) {
515
- list ( $current_tab, $premium_class, $page, $parent_page ) = yith_plugin_fw_extract( $args, 'current_tab', 'premium_class', 'page', 'parent_page' );
516
-
517
- $active_class = $current_tab === $tab_slug ? ' nav-tab-active' : '';
518
-
519
- if ( 'premium' === $tab_slug ) {
520
- $active_class .= ' ' . $premium_class;
521
- }
522
- $active_class = apply_filters( 'yith_plugin_fw_panel_active_tab_class', $active_class, $current_tab, $tab_slug );
523
-
524
- $first_sub_tab = $this->get_first_sub_tab_key( $tab_slug );
525
- $sub_tab = ! ! $first_sub_tab ? $first_sub_tab : '';
526
- $sub_tabs = $this->get_sub_tabs( $tab_slug );
527
- $url = $this->get_nav_url( $page, $tab_slug, $sub_tab, $parent_page );
528
- $icon = ( $current_tab !== $tab_slug && $sub_tabs ) ? '<i class="yith-icon yith-icon-arrow_down"></i>' : '';
529
-
530
- $tab = '<li class="yith-plugin-fw-tab-element">';
531
-
532
- $tab .= '<a class="nav-tab' . esc_attr( $active_class ) . '" href="' . esc_url( $url ) . '">' . wp_kses_post( $tab_name ) . $icon . '</a>';
533
-
534
- if ( $current_tab !== $tab_slug && $sub_tabs ) {
535
- $tab .= '<div class="nav-subtab-wrap"><ul class="nav-subtab">';
536
- foreach ( $sub_tabs as $_key => $_tab ) {
537
- $url = $this->get_nav_url( $page, $tab_slug, $_key );
538
-
539
- $tab .= '<li class="nav-subtab-item"><a href="' . esc_url( $url ) . '">' . wp_kses_post( $_tab['title'] ) . '</a></li>';
540
- }
541
- $tab .= '</ul></div>';
542
- }
543
- $tab .= '</li>';
544
-
545
- return $tab;
546
- }
547
-
548
- /**
549
- * Retrieve the Nav URL.
550
- *
551
- * @param string $page The page.
552
- * @param string $tab The tab.
553
- * @param string $sub_tab The sub-tab.
554
- * @param string $parent_page The parent page.
555
- *
556
- * @return string
557
- */
558
- public function get_nav_url( $page, $tab, $sub_tab = '', $parent_page = '' ) {
559
- $tab_hierarchy = $this->get_tabs_hierarchy();
560
- $key = ! ! $sub_tab ? $sub_tab : $tab;
561
-
562
- if ( isset( $tab_hierarchy[ $key ], $tab_hierarchy[ $key ]['type'], $tab_hierarchy[ $key ]['post_type'] ) && 'post_type' === $tab_hierarchy[ $key ]['type'] ) {
563
- $url = admin_url( "edit.php?post_type={$tab_hierarchy[$key]['post_type']}" );
564
- } elseif ( isset( $tab_hierarchy[ $key ], $tab_hierarchy[ $key ]['type'], $tab_hierarchy[ $key ]['taxonomy'] ) && 'taxonomy' === $tab_hierarchy[ $key ]['type'] ) {
565
- $url = admin_url( "edit-tags.php?taxonomy={$tab_hierarchy[$key]['taxonomy']}" );
566
- } else {
567
- $url = ! ! $parent_page ? "?{$parent_page}&" : '?';
568
-
569
- $url .= "page={$page}&tab={$tab}";
570
- $url .= ! ! $sub_tab ? "&sub_tab={$sub_tab}" : '';
571
-
572
- $url = admin_url( "admin.php{$url}" );
573
- }
574
-
575
- return apply_filters( 'yith_plugin_fw_panel_url', $url, $page, $tab, $sub_tab, $parent_page );
576
- }
577
-
578
- /**
579
- * Print the Sub-tabs navigation if the current tab has sub-tabs
580
- *
581
- * @param array $args Sub-tab arguments.
582
- *
583
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
584
- * @since 3.4.0
585
- */
586
- public function print_sub_tabs_nav( $args = array() ) {
587
- $defaults = array(
588
- 'current_tab' => $this->get_current_tab(),
589
- 'page' => $this->settings['page'],
590
- 'current_sub_tab' => $this->get_current_sub_tab(),
591
- );
592
- $args = wp_parse_args( $args, $defaults );
593
-
594
- /**
595
- * The arguments.
596
- *
597
- * @var string $current_tab The current tab.
598
- * @var string $page The page.
599
- * @var string $current_sub_tab The current sub-tab.
600
- */
601
- extract( $args ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
602
-
603
- $sub_tabs = $this->get_sub_tabs( $current_tab );
604
-
605
- if ( $sub_tabs && $current_sub_tab ) {
606
- include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/sub-tabs-nav.php';
607
- }
608
- }
609
-
610
- /**
611
- * Show a tabbed panel to setting page
612
- * a callback function called by add_setting_page => add_submenu_page
613
- *
614
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
615
- */
616
- public function yit_panel() {
617
- $yit_options = $this->get_main_array_options();
618
- $wrap_class = isset( $this->settings['class'] ) ? $this->settings['class'] : '';
619
-
620
- $option_key = $this->get_current_option_key();
621
- $custom_tab_options = $this->get_custom_tab_options( $yit_options, $option_key );
622
- ?>
623
- <div class="wrap <?php echo esc_attr( $wrap_class ); ?>">
624
- <div id="icon-themes" class="icon32"><br/></div>
625
- <?php
626
- do_action( 'yith_plugin_fw_before_yith_panel', $this->settings['page'] );
627
-
628
- $this->print_tabs_nav();
629
-
630
- if ( $custom_tab_options ) {
631
- $this->print_custom_tab( $custom_tab_options );
632
-
633
- return;
634
- } elseif ( $this->is_help_tab() ) {
635
- $this->print_help_tab();
636
-
637
- return;
638
- }
639
-
640
- $panel_content_class = apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' );
641
- ?>
642
- <div id="wrap" class="yith-plugin-fw plugin-option yit-admin-panel-container">
643
- <?php $this->message(); ?>
644
- <div class="<?php echo esc_attr( $panel_content_class ); ?>">
645
- <h2><?php echo wp_kses_post( $this->get_tab_title() ); ?></h2>
646
- <?php if ( $this->is_show_form() ) : ?>
647
- <form id="yith-plugin-fw-panel" method="post" action="options.php">
648
- <?php do_settings_sections( 'yit' ); ?>
649
- <p>&nbsp;</p>
650
- <?php settings_fields( 'yit_' . $this->settings['parent'] . '_options' ); ?>
651
- <input type="hidden" name="<?php echo esc_attr( $this->get_name_field( 'option_key' ) ); ?>"
652
- value="<?php echo esc_attr( $option_key ); ?>"/>
653
- <input type="submit" class="button-primary"
654
- value="<?php esc_attr_e( 'Save Changes', 'yith-plugin-fw' ); ?>"
655
- style="float:left;margin-right:10px;"/>
656
- </form>
657
- <form method="post">
658
- <?php
659
- $reset_warning = __( 'If you continue with this action, you will reset all options in this page.', 'yith-plugin-fw' ) . '\n' . __( 'Are you sure?', 'yith-plugin-fw' );
660
- ?>
661
- <input type="hidden" name="yit-action" value="reset"/>
662
- <input type="submit" name="yit-reset" class="button-secondary"
663
- value="<?php esc_attr_e( 'Reset to default', 'yith-plugin-fw' ); ?>"
664
- onclick="return confirm('<?php echo esc_attr( $reset_warning ); ?>');"/>
665
- </form>
666
- <p>&nbsp;</p>
667
- <?php endif ?>
668
- </div>
669
- </div>
670
- </div>
671
- <?php
672
- }
673
-
674
- /**
675
- * Check if is a custom tab.
676
- *
677
- * @param array $options The tab options.
678
- * @param string $option_key The option key.
679
- *
680
- * @return string|false The action to be fired of false if it's not a custom tab.
681
- */
682
- public function is_custom_tab( $options, $option_key ) {
683
- $option = $this->get_custom_tab_options( $options, $option_key );
684
-
685
- return ! ! $option && isset( $option['action'] ) ? $option['action'] : false;
686
- }
687
-
688
- /**
689
- * Retrieve the custom tab options.
690
- *
691
- * @param array $options The tab options.
692
- * @param string $option_key The option key.
693
- *
694
- * @return array|false The options of the custom tab; false if it's not a custom tab.
695
- */
696
- public function get_custom_tab_options( $options, $option_key ) {
697
- $option = ! empty( $options[ $option_key ] ) ? current( $options[ $option_key ] ) : false;
698
-
699
- if ( $option && isset( $option['type'], $option['action'] ) && 'custom_tab' === $option['type'] && ! empty( $option['action'] ) ) {
700
- return $option;
701
- } else {
702
- return false;
703
- }
704
- }
705
-
706
- /**
707
- * Retrieve the tab type by its options.
708
- *
709
- * @param array $tab_options The tab options.
710
- *
711
- * @return string
712
- */
713
- public function get_tab_type_by_options( $tab_options ) {
714
- $first = ! ! $tab_options && is_array( $tab_options ) ? current( $tab_options ) : array();
715
- $type = isset( $first['type'] ) ? $first['type'] : 'options';
716
- $special_types = array( 'post_type', 'taxonomy', 'custom_tab', 'multi_tab' );
717
-
718
- return in_array( $type, $special_types, true ) ? $type : 'options';
719
- }
720
-
721
- /**
722
- * Retrieve the tab info by its options.
723
- *
724
- * @param array $tab_options The tab options.
725
- *
726
- * @return string[]
727
- */
728
- public function get_tab_info_by_options( $tab_options ) {
729
- $type = $this->get_tab_type_by_options( $tab_options );
730
- $first = ! ! $tab_options && is_array( $tab_options ) ? current( $tab_options ) : array();
731
- $info = $first;
732
-
733
- $info['type'] = $type;
734
- if ( 'post_type' === $type ) {
735
- $info['post_type'] = isset( $first['post_type'] ) ? $first['post_type'] : '';
736
- } elseif ( 'taxonomy' === $type ) {
737
- $info['taxonomy'] = isset( $first['taxonomy'] ) ? $first['taxonomy'] : '';
738
- }
739
-
740
- return $info;
741
- }
742
-
743
- /**
744
- * Fire the action to print the custom tab.
745
- *
746
- * @param array $options The options of the custom tab.
747
- *
748
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
749
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
750
- */
751
- public function print_custom_tab( $options ) {
752
- if ( is_string( $options ) ) {
753
- // Backward compatibility.
754
- $options = array( 'action' => $options );
755
- }
756
- $current_tab = $this->get_current_tab();
757
- $current_sub_tab = $this->get_current_sub_tab();
758
-
759
- include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/custom-tab.php';
760
- }
761
-
762
- /**
763
- * Check if panel has help tab
764
- *
765
- * @return bool Whether panel has help tab or no.
766
- */
767
- public function has_help_tab() {
768
- return ! empty( $this->settings['help_tab'] ) && ( ! $this->is_free() || ! empty( $this->settings['help_tab']['show_on_free'] ) );
769
- }
770
-
771
- /**
772
- * Checks whether current tab is special Help Tab
773
- *
774
- * @return bool Whether current tab is Help Tab
775
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
776
- */
777
- public function is_help_tab() {
778
- return 'help' === $this->get_current_tab();
779
- }
780
-
781
- /**
782
- * Prints special Help Tab
783
- *
784
- * @return void
785
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
786
- */
787
- public function print_help_tab() {
788
- $options = isset( $this->settings['help_tab'] ) ? $this->settings['help_tab'] : array();
789
- $plugin_title = isset( $this->settings['plugin_title'] ) ? $this->settings['plugin_title'] : $this->settings['page_title'];
790
-
791
- if ( 0 !== strpos( $plugin_title, 'YITH' ) ) {
792
- $plugin_title = "YITH {$plugin_title}";
793
- }
794
-
795
- // parse options.
796
- $options = wp_parse_args(
797
- $options,
798
- array(
799
- // translators: 1. Plugin name.
800
- 'title' => sprintf( _x( 'Thank you for purchasing %s!', 'Help tab default title', 'yith-plugin-fw' ), $plugin_title ),
801
- 'description' => _x( 'We want to help you to enjoy a wonderful experience with all our products.', 'Help tab default description', 'yith-plugin-fw' ),
802
- 'main_video' => false,
803
- 'playlists' => array(),
804
- 'hc_url' => 'https://support.yithemes.com/hc/',
805
- 'doc_url' => $this->settings['plugin_slug'] ? 'https://docs.yithemes.com/' . $this->settings['plugin_slug'] . '/' : '',
806
- 'submit_ticket_url' => 'https://yithemes.com/my-account/support/submit-a-ticket/',
807
- 'show_hc_articles' => true,
808
- 'show_submit_ticket' => true,
809
- )
810
- );
811
-
812
- // add campaign parameters to url.
813
- if ( $this->settings['plugin_slug'] ) {
814
- $utm_medium = $this->settings['plugin_slug'];
815
- $utm_source = 'wp-premium-dashboard';
816
- $utm_campaign = 'help-tab';
817
-
818
- $campaign_urls = array(
819
- 'submit_ticket_url',
820
- 'doc_url',
821
- );
822
-
823
- foreach ( $campaign_urls as $campaign_url ) {
824
- if ( empty( $options[ $campaign_url ] ) ) {
825
- continue;
826
- }
827
-
828
- $options[ $campaign_url ] = yith_plugin_fw_add_utm_data( $options[ $campaign_url ], $utm_medium, $utm_campaign, $utm_source );
829
- }
830
- }
831
-
832
- // set template variables.
833
- $current_tab = $this->get_current_tab();
834
- $current_sub_tab = $this->get_current_sub_tab();
835
- $latest_articles = $this->settings['plugin_slug'] ? YIT_Help_Desk::get_latest_articles( $this->settings['plugin_slug'] ) : array();
836
-
837
- include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/help-tab.php';
838
- }
839
-
840
- /**
841
- * Add sections and fields to setting panel.
842
- * Read all options and show sections and fields.
843
- *
844
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
845
- */
846
- public function add_fields() {
847
- $yit_options = $this->get_main_array_options();
848
- $option_key = $this->get_current_option_key();
849
-
850
- if ( ! $option_key || ! isset( $yit_options[ $option_key ] ) ) {
851
- return;
852
- }
853
-
854
- foreach ( $yit_options[ $option_key ] as $section => $data ) {
855
- add_settings_section( "yit_settings_{$option_key}_{$section}", $this->get_section_title( $section ), $this->get_section_description( $section ), 'yit' );
856
- foreach ( $data as $option ) {
857
- if ( isset( $option['id'] ) && isset( $option['type'] ) && isset( $option['name'] ) ) {
858
- add_settings_field(
859
- 'yit_setting_' . $option['id'],
860
- $option['name'],
861
- array( $this, 'render_field' ),
862
- 'yit',
863
- "yit_settings_{$option_key}_{$section}",
864
- array(
865
- 'option' => $option,
866
- 'label_for' => $this->get_id_field( $option['id'] ),
867
- )
868
- );
869
- }
870
- }
871
- }
872
- }
873
-
874
- /**
875
- * Add the tabs to admin bar menu.
876
- * Set all tabs of settings page on wp admin bar.
877
- *
878
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
879
- */
880
- public function add_admin_bar_menu() {
881
- global $wp_admin_bar;
882
-
883
- if ( ! current_user_can( 'manage_options' ) ) {
884
- return;
885
- }
886
-
887
- if ( ! empty( $this->settings['admin_tabs'] ) ) {
888
- foreach ( $this->settings['admin-tabs'] as $item => $title ) {
889
- $wp_admin_bar->add_menu(
890
- array(
891
- 'parent' => $this->settings['parent'],
892
- 'title' => $title,
893
- 'id' => $this->settings['parent'] . '-' . $item,
894
- 'href' => admin_url( 'themes.php' ) . '?page=' . $this->settings['parent_page'] . '&tab=' . $item,
895
- )
896
- );
897
- }
898
- }
899
- }
900
-
901
- /**
902
- * Get current tab.
903
- * Retrieve the id of tab shown, return general is the current tab is not defined.
904
- *
905
- * @return string|false
906
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
907
- */
908
- public function get_current_tab() {
909
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
910
- $admin_tabs = array_keys( $this->settings['admin-tabs'] );
911
-
912
- if ( ! isset( $_GET['page'] ) || $_GET['page'] !== $this->settings['page'] ) {
913
- return false;
914
- }
915
- if ( isset( $_REQUEST['yit_tab_options'] ) ) {
916
- return sanitize_key( wp_unslash( $_REQUEST['yit_tab_options'] ) );
917
- } elseif ( isset( $_GET['tab'] ) ) {
918
- return sanitize_key( wp_unslash( $_GET['tab'] ) );
919
- } elseif ( isset( $admin_tabs[0] ) ) {
920
- return $admin_tabs[0];
921
- } else {
922
- return 'general';
923
- }
924
- // phpcs:enable
925
- }
926
-
927
- /**
928
- * Get the current sub-tab.
929
- *
930
- * @return string The key of the sub-tab if exists, empty string otherwise.
931
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
932
- * @since 3.4.0
933
- */
934
- public function get_current_sub_tab() {
935
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
936
- $sub_tabs = $this->get_sub_tabs();
937
- $sub_tab = isset( $_REQUEST['sub_tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['sub_tab'] ) ) : '';
938
-
939
- if ( $sub_tabs ) {
940
- if ( $sub_tab && ! isset( $sub_tabs[ $sub_tab ] ) || ! $sub_tab ) {
941
- $sub_tab = current( array_keys( $sub_tabs ) );
942
- }
943
- } else {
944
- $sub_tab = '';
945
- }
946
-
947
- return $sub_tab;
948
- // phpcs:enable
949
- }
950
-
951
- /**
952
- * Return the option key related to the current page.
953
- * for sub-tabbed tabs, it will return the current sub-tab.
954
- * fot normal tabs, it will return the current tab.
955
- *
956
- * @return string the current sub-tab, if exists; the current tab otherwise.
957
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
958
- * @since 3.4.0
959
- */
960
- public function get_current_option_key() {
961
- $current_tab = $this->get_current_tab();
962
- $current_sub_tab = $this->get_current_sub_tab();
963
-
964
- if ( ! $current_tab ) {
965
- return false;
966
- }
967
-
968
- return $current_sub_tab ? $current_sub_tab : $current_tab;
969
- }
970
-
971
- /**
972
- * Message
973
- * define an array of message and show the content od message if
974
- * is find in the query string
975
- *
976
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
977
- */
978
- public function message() {
979
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
980
- $message = array(
981
- 'element_exists' => $this->get_message( '<strong>' . __( 'The element you have entered already exists. Please, enter another name.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
982
- 'saved' => $this->get_message( '<strong>' . __( 'Settings saved', 'yith-plugin-fw' ) . '.</strong>', 'updated', false ),
983
- 'reset' => $this->get_message( '<strong>' . __( 'Settings reset', 'yith-plugin-fw' ) . '.</strong>', 'updated', false ),
984
- 'delete' => $this->get_message( '<strong>' . __( 'Element deleted correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
985
- 'updated' => $this->get_message( '<strong>' . __( 'Element updated correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
986
- 'settings-updated' => $this->get_message( '<strong>' . __( 'Element updated correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
987
- 'imported' => $this->get_message( '<strong>' . __( 'Database imported correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
988
- 'no-imported' => $this->get_message( '<strong>' . __( 'An error has occurred during import. Please try again.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
989
- 'file-not-valid' => $this->get_message( '<strong>' . __( 'The added file is not valid.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
990
- 'cant-import' => $this->get_message( '<strong>' . __( 'Sorry, import is disabled.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
991
- 'ord' => $this->get_message( '<strong>' . __( 'Sorting successful.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
992
- );
993
-
994
- foreach ( $message as $key => $value ) {
995
- if ( isset( $_GET[ $key ] ) ) {
996
- echo wp_kses_post( $message[ $key ] );
997
- }
998
- }
999
- // phpcs:enable
1000
- }
1001
-
1002
- /**
1003
- * Get Message
1004
- * return html code of message
1005
- *
1006
- * @param string $message The message.
1007
- * @param string $type The type of message (can be 'error' or 'updated').
1008
- * @param bool $echo Set to true if you want to print the message.
1009
- *
1010
- * @return string
1011
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1012
- */
1013
- public function get_message( $message, $type = 'error', $echo = true ) {
1014
- $message = '<div id="message" class="' . esc_attr( $type ) . ' fade"><p>' . wp_kses_post( $message ) . '</p></div>';
1015
- if ( $echo ) {
1016
- echo wp_kses_post( $message );
1017
- }
1018
-
1019
- return $message;
1020
- }
1021
-
1022
- /**
1023
- * Get Tab Path Files
1024
- * return an array with file names of tabs
1025
- *
1026
- * @return array
1027
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1028
- */
1029
- public function get_tabs_path_files() {
1030
- $option_files_path = $this->settings['options-path'] . '/';
1031
- $tabs = array();
1032
-
1033
- foreach ( (array) glob( $option_files_path . '*.php' ) as $filename ) {
1034
- preg_match( '/(.*)-options\.(.*)/', basename( $filename ), $filename_parts );
1035
-
1036
- if ( ! isset( $filename_parts[1] ) ) {
1037
- continue;
1038
- }
1039
-
1040
- $tab = $filename_parts[1];
1041
- $tabs[ $tab ] = $filename;
1042
- }
1043
-
1044
- return $tabs;
1045
- }
1046
-
1047
- /**
1048
- * Get main array options
1049
- * return an array with all options defined on options-files
1050
- *
1051
- * @return array
1052
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1053
- */
1054
- public function get_main_array_options() {
1055
- $this->maybe_init_vars();
1056
-
1057
- return $this->main_array_options;
1058
- }
1059
-
1060
- /**
1061
- * Get tab hierarchy.
1062
- *
1063
- * @return array
1064
- */
1065
- public function get_tabs_hierarchy() {
1066
- $this->maybe_init_vars();
1067
-
1068
- return $this->tabs_hierarchy;
1069
- }
1070
-
1071
- /**
1072
- * Return the sub-tabs array of a specific tab
1073
- *
1074
- * @param array|bool $_tab the tab; if not set it'll be the current tab.
1075
- *
1076
- * @since 3.4.0
1077
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1078
- * @return array Sub-tabs array.
1079
- */
1080
- public function get_sub_tabs( $_tab = false ) {
1081
- if ( false === $_tab ) {
1082
- $_tab = $this->get_current_tab();
1083
- }
1084
-
1085
- if ( is_string( $_tab ) ) {
1086
- $main_array_options = $this->get_main_array_options();
1087
- $current_tab_options = isset( $main_array_options[ $_tab ] ) ? $main_array_options[ $_tab ] : array();
1088
- if ( $current_tab_options ) {
1089
- $_tab = array( $_tab => $current_tab_options );
1090
- }
1091
- }
1092
-
1093
- $_tab_options = ! ! $_tab && is_array( $_tab ) ? current( $_tab ) : false;
1094
- $_first = ! ! $_tab_options && is_array( $_tab_options ) ? current( $_tab_options ) : false;
1095
- if ( $_first && is_array( $_first ) && isset( $_first['type'] ) && 'multi_tab' === $_first['type'] && ! empty( $_first['sub-tabs'] ) ) {
1096
- return $_first['sub-tabs'];
1097
- }
1098
-
1099
- return array();
1100
- }
1101
-
1102
- /**
1103
- * Retrieve the first sub-tab key.
1104
- *
1105
- * @param string|false $_tab The tab; if not set it'll be the current tab.
1106
- *
1107
- * @return false|mixed
1108
- */
1109
- public function get_first_sub_tab_key( $_tab = false ) {
1110
- $key = false;
1111
- if ( is_string( $_tab ) ) {
1112
- $main_array_options = $this->get_main_array_options();
1113
- $current_tab_options = isset( $main_array_options[ $_tab ] ) ? $main_array_options[ $_tab ] : array();
1114
- if ( $current_tab_options ) {
1115
- $_tab = array( $_tab => $current_tab_options );
1116
- }
1117
- }
1118
- $sub_tabs = $this->get_sub_tabs( $_tab );
1119
- if ( $sub_tabs ) {
1120
- $key = current( array_keys( $sub_tabs ) );
1121
- }
1122
-
1123
- return $key;
1124
- }
1125
-
1126
-
1127
- /**
1128
- * Set an array with all default options
1129
- * put default options in an array
1130
- *
1131
- * @return array
1132
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1133
- */
1134
- public function get_default_options() {
1135
- $yit_options = $this->get_main_array_options();
1136
- $default_options = array();
1137
-
1138
- foreach ( $yit_options as $tab => $sections ) {
1139
- foreach ( $sections as $section ) {
1140
- foreach ( $section as $id => $value ) {
1141
- if ( isset( $value['std'] ) && isset( $value['id'] ) ) {
1142
- $default_options[ $value['id'] ] = $value['std'];
1143
- }
1144
- }
1145
- }
1146
- }
1147
-
1148
- unset( $yit_options );
1149
-
1150
- return $default_options;
1151
- }
1152
-
1153
-
1154
- /**
1155
- * Get the title of the tab
1156
- * return the title of tab
1157
- *
1158
- * @return string
1159
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1160
- */
1161
- public function get_tab_title() {
1162
- $yit_options = $this->get_main_array_options();
1163
- $option_key = $this->get_current_option_key();
1164
-
1165
- foreach ( $yit_options[ $option_key ] as $sections => $data ) {
1166
- foreach ( $data as $option ) {
1167
- if ( isset( $option['type'] ) && 'title' === $option['type'] ) {
1168
- return $option['name'];
1169
- }
1170
- }
1171
- }
1172
-
1173
- return '';
1174
- }
1175
-
1176
- /**
1177
- * Get the title of the section
1178
- * return the title of section
1179
- *
1180
- * @param string $section The section.
1181
- *
1182
- * @return string
1183
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1184
- */
1185
- public function get_section_title( $section ) {
1186
- $yit_options = $this->get_main_array_options();
1187
- $option_key = $this->get_current_option_key();
1188
-
1189
- foreach ( $yit_options[ $option_key ][ $section ] as $option ) {
1190
- if ( isset( $option['type'] ) && 'section' === $option['type'] ) {
1191
- return $option['name'];
1192
- }
1193
- }
1194
-
1195
- return '';
1196
- }
1197
-
1198
- /**
1199
- * Get the description of the section
1200
- * return the description of section if is set
1201
- *
1202
- * @param string $section The section.
1203
- *
1204
- * @return string
1205
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1206
- */
1207
- public function get_section_description( $section ) {
1208
- $yit_options = $this->get_main_array_options();
1209
- $option_key = $this->get_current_option_key();
1210
-
1211
- foreach ( $yit_options[ $option_key ][ $section ] as $option ) {
1212
- if ( isset( $option['type'] ) && 'section' === $option['type'] && isset( $option['desc'] ) ) {
1213
- return '<p>' . $option['desc'] . '</p>';
1214
- }
1215
- }
1216
-
1217
- return '';
1218
- }
1219
-
1220
-
1221
- /**
1222
- * Show form when necessary
1223
- * return true if 'showform' is not defined
1224
- *
1225
- * @return bool
1226
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1227
- */
1228
- public function is_show_form() {
1229
- $yit_options = $this->get_main_array_options();
1230
- $option_key = $this->get_current_option_key();
1231
-
1232
- foreach ( $yit_options[ $option_key ] as $sections => $data ) {
1233
- foreach ( $data as $option ) {
1234
- if ( ! isset( $option['type'] ) || 'title' !== $option['type'] ) {
1235
- continue;
1236
- }
1237
- if ( isset( $option['showform'] ) ) {
1238
- return $option['showform'];
1239
- } else {
1240
- return true;
1241
- }
1242
- }
1243
- }
1244
- }
1245
-
1246
- /**
1247
- * Get name field
1248
- * return a string with the name of the input field
1249
- *
1250
- * @param string $name The name.
1251
- *
1252
- * @return string
1253
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1254
- */
1255
- public function get_name_field( $name = '' ) {
1256
- return 'yit_' . $this->settings['parent'] . '_options[' . $name . ']';
1257
- }
1258
-
1259
- /**
1260
- * Get id field
1261
- * return a string with the id of the input field
1262
- *
1263
- * @param string $id The ID.
1264
- *
1265
- * @return string
1266
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1267
- */
1268
- public function get_id_field( $id ) {
1269
- return 'yit_' . $this->settings['parent'] . '_options_' . $id;
1270
- }
1271
-
1272
-
1273
- /**
1274
- * Render the field showed in the setting page
1275
- * include the file of the option type, if file do not exists
1276
- * return a text area
1277
- *
1278
- * @param array $param The parameters.
1279
- *
1280
- * @return void
1281
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1282
- */
1283
- public function render_field( $param ) {
1284
- if ( ! empty( $param ) && isset( $param ['option'] ) ) {
1285
- $option = $param['option'];
1286
- $db_options = $this->get_options();
1287
-
1288
- $custom_attributes = array();
1289
-
1290
- if ( ! empty( $option['custom_attributes'] ) && is_array( $option['custom_attributes'] ) ) {
1291
- foreach ( $option['custom_attributes'] as $attribute => $attribute_value ) {
1292
- $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
1293
- }
1294
- }
1295
-
1296
- $custom_attributes = implode( ' ', $custom_attributes );
1297
- $std = isset( $option['std'] ) ? $option['std'] : '';
1298
- $db_value = ( isset( $db_options[ $option['id'] ] ) ) ? $db_options[ $option['id'] ] : $std;
1299
-
1300
- if ( isset( $option['deps'] ) ) {
1301
- $deps = $option['deps'];
1302
- }
1303
-
1304
- if ( 'on-off' === $option['type'] ) {
1305
- $option['type'] = 'onoff';
1306
- }
1307
-
1308
- $field_template_path = yith_plugin_fw_get_field_template_path( $option );
1309
- if ( $field_template_path ) {
1310
- $field_container_path = apply_filters( 'yith_plugin_fw_panel_field_container_template_path', YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/panel-field-container.php', $option );
1311
- file_exists( $field_container_path ) && include $field_container_path;
1312
- } else {
1313
- do_action( "yit_panel_{$option['type']}", $option, $db_value, $custom_attributes );
1314
- }
1315
- }
1316
- }
1317
-
1318
- /**
1319
- * Get options from db
1320
- * return the options from db, if the options aren't defined in the db,
1321
- * get the default options ad add the options in the db
1322
- *
1323
- * @return array
1324
- * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1325
- */
1326
- public function get_options() {
1327
- $options = get_option( 'yit_' . $this->settings['parent'] . '_options' );
1328
- if ( false === $options || ( isset( $_REQUEST['yit-action'] ) && 'reset' === sanitize_key( wp_unslash( $_REQUEST['yit-action'] ) ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
1329
- $options = $this->get_default_options();
1330
- }
1331
-
1332
- return $options;
1333
- }
1334
-
1335
- /**
1336
- * Show a box panel with specific content in two columns as a new woocommerce type
1337
- *
1338
- * @param array $args The arguments.
1339
- *
1340
- * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
1341
- */
1342
- public static function add_infobox( $args = array() ) {
1343
- if ( ! empty( $args ) ) {
1344
- extract( $args ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1345
- require YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/boxinfo.php';
1346
- }
1347
- }
1348
-
1349
- /**
1350
- * Show a box panel with specific content in two columns as a new woocommerce type
1351
- *
1352
- * @param array $args Arguments.
1353
- *
1354
- * @return void
1355
- * @deprecated 3.0.12 Do nothing! Method left to prevent Fatal Error if called directly
1356
- */
1357
- public static function add_videobox( $args = array() ) {
1358
-
1359
- }
1360
-
1361
- /**
1362
- * Fire the action to print the custom tab
1363
- *
1364
- * @return void
1365
- * @deprecated 3.0.12 Do nothing! Method left to prevent Fatal Error if called directly
1366
- */
1367
- public function print_video_box() {
1368
-
1369
- }
1370
-
1371
- /**
1372
- * Sort plugins by name in YITH Plugins menu.
1373
- *
1374
- * @since 3.0.0
1375
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1376
- */
1377
- public static function sort_plugins() {
1378
- global $submenu;
1379
- if ( ! empty( $submenu['yith_plugin_panel'] ) ) {
1380
- $sorted_plugins = $submenu['yith_plugin_panel'];
1381
-
1382
- usort(
1383
- $sorted_plugins,
1384
- function ( $a, $b ) {
1385
- return strcmp( current( $a ), current( $b ) );
1386
- }
1387
- );
1388
-
1389
- $submenu['yith_plugin_panel'] = $sorted_plugins; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
1390
- }
1391
- }
1392
-
1393
- /**
1394
- * Add menu class in YITH Plugins menu.
1395
- *
1396
- * @param array $menu The menu.
1397
- *
1398
- * @return array
1399
- * @since 3.0.0
1400
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1401
- */
1402
- public static function add_menu_class_in_yith_plugin( $menu ) {
1403
- global $submenu;
1404
-
1405
- if ( ! empty( $submenu['yith_plugin_panel'] ) ) {
1406
- $item_count = count( $submenu['yith_plugin_panel'] );
1407
- $columns = absint( $item_count / 20 ) + 1;
1408
- $columns = max( 1, min( $columns, 3 ) );
1409
- $columns = apply_filters( 'yith_plugin_fw_yith_plugins_menu_columns', $columns, $item_count );
1410
-
1411
- if ( $columns > 1 ) {
1412
- $class = "yith-plugin-fw-menu-$columns-columns";
1413
- foreach ( $menu as $order => $top ) {
1414
- if ( 'yith_plugin_panel' === $top[2] ) {
1415
- $c = $menu[ $order ][4];
1416
- $menu[ $order ][4] = add_cssclass( $class, $c );
1417
- break;
1418
- }
1419
- }
1420
- }
1421
- }
1422
-
1423
- return $menu;
1424
- }
1425
-
1426
- /**
1427
- * Check if inside the admin tab there's the premium tab to
1428
- * check if the plugin is a free or not
1429
- *
1430
- * @author Emanuela Castorina
1431
- */
1432
- public function is_free() {
1433
- return ( ! empty( $this->settings['admin-tabs'] ) && isset( $this->settings['admin-tabs']['premium'] ) );
1434
- }
1435
-
1436
- /**
1437
- * Add plugin banner.
1438
- *
1439
- * @param string $page The page.
1440
- */
1441
- public function add_plugin_banner( $page ) {
1442
- if ( $page !== $this->settings['page'] || ! isset( $this->settings['class'] ) ) {
1443
- return;
1444
- }
1445
-
1446
- ?>
1447
- <?php if ( $this->is_free() && isset( $this->settings['plugin_slug'] ) ) : ?>
1448
- <?php
1449
- $rate_link = apply_filters( 'yith_plugin_fw_rate_url', 'https://wordpress.org/support/plugin/' . $this->settings['plugin_slug'] . '/reviews/#new-post' );
1450
- ?>
1451
- <h1 class="notice-container"></h1>
1452
- <div class="yith-plugin-fw-banner">
1453
- <h1><?php echo esc_html( $this->settings['page_title'] ); ?></h1>
1454
- </div>
1455
- <div class="yith-plugin-fw-rate">
1456
- <?php
1457
- printf(
1458
- '<strong>%s</strong> %s <a href="%s" target="_blank"><u>%s</u> <span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span></a> %s',
1459
- esc_html__( 'We need your support', 'yith-plugin-fw' ),
1460
- esc_html__( 'to keep updating and improving the plugin. Please,', 'yith-plugin-fw' ),
1461
- esc_url( $rate_link ),
1462
- esc_html__( 'help us by leaving a good review', 'yith-plugin-fw' ),
1463
- esc_html__( ':) Thanks!', 'yith-plugin-fw' )
1464
- );
1465
- ?>
1466
- </div>
1467
- <?php else : ?>
1468
- <h1 class="notice-container"></h1>
1469
- <div class="yith-plugin-fw-banner">
1470
- <h1><?php echo esc_html( $this->settings['page_title'] ); ?></h1>
1471
- </div>
1472
- <?php endif ?>
1473
- <?php
1474
- }
1475
-
1476
- /**
1477
- * Add additional element after print the field.
1478
- *
1479
- * @param array $field The field.
1480
- *
1481
- * @author Emanuela Castorina
1482
- * @since 3.2
1483
- */
1484
- public function add_yith_ui( $field ) {
1485
- global $pagenow;
1486
-
1487
- $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
1488
-
1489
- if ( empty( $this->settings['class'] ) || ! isset( $field['type'] ) ) {
1490
- return;
1491
- }
1492
- if ( 'admin.php' === $pagenow && $screen && strpos( $screen->id, $this->settings['page'] ) !== false ) {
1493
- switch ( $field['type'] ) {
1494
- case 'datepicker':
1495
- echo '<span class="yith-icon yith-icon-calendar yith-icon--right-overlay"></span>';
1496
- break;
1497
- default:
1498
- break;
1499
- }
1500
- }
1501
- }
1502
-
1503
- /**
1504
- * Get post type tabs.
1505
- *
1506
- * @param string $post_type The post type.
1507
- *
1508
- * @return array
1509
- */
1510
- public function get_post_type_tabs( $post_type ) {
1511
- $tabs = array();
1512
-
1513
- foreach ( $this->get_tabs_hierarchy() as $key => $info ) {
1514
- if ( isset( $info['type'], $info['post_type'] ) && 'post_type' === $info['type'] && $post_type === $info['post_type'] ) {
1515
- if ( ! empty( $info['parent'] ) ) {
1516
- $tabs = array(
1517
- 'tab' => $info['parent'],
1518
- 'sub_tab' => $key,
1519
- 'options' => $info,
1520
- );
1521
- } else {
1522
- $tabs = array(
1523
- 'tab' => $key,
1524
- 'options' => $info,
1525
- );
1526
- }
1527
- break;
1528
- }
1529
- }
1530
-
1531
- $panel_page = isset( $this->settings['page'] ) ? $this->settings['page'] : 'general';
1532
-
1533
- return apply_filters( "yith_plugin_fw_panel_{$panel_page}_get_post_type_tabs", $tabs, $post_type );
1534
- }
1535
-
1536
- /**
1537
- * Get the taxonomy tabs.
1538
- *
1539
- * @param string $taxonomy The taxonomy.
1540
- *
1541
- * @return array
1542
- */
1543
- public function get_taxonomy_tabs( $taxonomy ) {
1544
- $tabs = array();
1545
-
1546
- foreach ( $this->get_tabs_hierarchy() as $key => $info ) {
1547
- if ( isset( $info['type'], $info['taxonomy'] ) && 'taxonomy' === $info['type'] && $taxonomy === $info['taxonomy'] ) {
1548
- if ( ! empty( $info['parent'] ) ) {
1549
- $tabs = array(
1550
- 'tab' => $info['parent'],
1551
- 'sub_tab' => $key,
1552
- 'options' => $info,
1553
- );
1554
- } else {
1555
- $tabs = array(
1556
- 'tab' => $key,
1557
- 'options' => $info,
1558
- );
1559
- }
1560
- break;
1561
- }
1562
- }
1563
-
1564
- $panel_page = isset( $this->settings['page'] ) ? $this->settings['page'] : 'general';
1565
-
1566
- return apply_filters( "yith_plugin_fw_panel_{$panel_page}_get_taxonomy_tabs", $tabs, $taxonomy );
1567
- }
1568
-
1569
-
1570
- /**
1571
- * If the panel page is a WP Page, this will redirect you to the correct page
1572
- * useful when a Post Type (Taxonomy) is the first tab of your panel, so when you open your panel it'll open the Post Type (Taxonomy) list
1573
- *
1574
- * @since 3.4.0
1575
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1576
- */
1577
- public function maybe_redirect_to_proper_wp_page() {
1578
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
1579
- global $pagenow;
1580
- if (
1581
- 'admin.php' === $pagenow && isset( $_GET['page'] ) && $this->settings['page'] === $_GET['page']
1582
- &&
1583
- ! $this->is_custom_taxonomy_page() && ! $this->is_custom_post_type_page()
1584
- &&
1585
- ! isset( $_REQUEST['yith-plugin-fw-panel-skip-redirect'] )
1586
- ) {
1587
- $url = $this->get_nav_url( $this->settings['page'], $this->get_current_tab(), $this->get_current_sub_tab() );
1588
- if ( strpos( $url, 'edit.php' ) !== false || strpos( $url, 'edit-tags.php' ) !== false ) {
1589
- wp_safe_redirect( add_query_arg( array( 'yith-plugin-fw-panel-skip-redirect' => 1 ), $url ) );
1590
- exit;
1591
- }
1592
- }
1593
- // phpcs:enable
1594
- }
1595
-
1596
- /**
1597
- * Print the Panel tabs and sub-tabs navigation in WP pages
1598
- * Important: this opens a wrapper <div> that will be closed through YIT_Plugin_Panel::print_panel_tabs_in_post_edit_page_end()
1599
- *
1600
- * @since 3.4.0
1601
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1602
- */
1603
- public function print_panel_tabs_in_wp_pages() {
1604
- if ( self::$panel_tabs_in_wp_pages ) {
1605
- global $pagenow;
1606
-
1607
- wp_enqueue_style( 'yit-plugin-style' );
1608
- wp_enqueue_script( 'yit-plugin-panel' );
1609
-
1610
- $wrap_class = isset( $this->settings['class'] ) ? $this->settings['class'] : '';
1611
- $options = isset( self::$panel_tabs_in_wp_pages['options'] ) ? self::$panel_tabs_in_wp_pages['options'] : array();
1612
-
1613
- $options_to_classes = array( 'type', 'post_type', 'taxonomy' );
1614
- $page_wrapper_classes = array(
1615
- 'yith-plugin-fw-wp-page-wrapper',
1616
- isset( $options['wrapper-class'] ) ? $options['wrapper-class'] : '',
1617
- );
1618
-
1619
- if ( in_array( $pagenow, array( 'edit.php', 'edit-tags.php' ), true ) ) {
1620
- $options_to_classes[] = 'wp-list-style';
1621
- $page_wrapper_classes[] = 'yith-plugin-ui';
1622
- }
1623
-
1624
- foreach ( $options_to_classes as $key ) {
1625
- if ( isset( $options[ $key ] ) ) {
1626
- $option = $options[ $key ];
1627
- $page_wrapper_classes[] = "yith-plugin-ui--{$option}-{$key}";
1628
- }
1629
- }
1630
-
1631
- $page_wrapper_classes = implode( ' ', array_filter( $page_wrapper_classes ) );
1632
-
1633
- echo '<div class="' . esc_attr( $page_wrapper_classes ) . '">';
1634
-
1635
- echo '<div class="' . esc_attr( $wrap_class ) . '">';
1636
-
1637
- $this->add_plugin_banner( $this->settings['page'] );
1638
- $this->print_tabs_nav( self::$panel_tabs_in_wp_pages );
1639
- echo '</div>';
1640
-
1641
- if ( self::$panel_tabs_in_wp_pages['current_sub_tab'] ) {
1642
- echo '<div class="yith-plugin-fw-wp-page__sub-tab-wrap">';
1643
- }
1644
- }
1645
- }
1646
-
1647
- /**
1648
- * Close the wrapper opened in YIT_Plugin_Panel::print_panel_tabs_in_wp_pages()
1649
- *
1650
- * @since 3.4.0
1651
- * @author Leanza Francesco <leanzafrancesco@gmail.com>
1652
- */
1653
- public function print_panel_tabs_in_wp_pages_end() {
1654
- if ( self::$panel_tabs_in_wp_pages ) {
1655
-
1656
- if ( self::$panel_tabs_in_wp_pages['current_sub_tab'] ) {
1657
- echo '</div><!-- /yith-plugin-fw-wp-page__sub-tab-wrap -->';
1658
- }
1659
-
1660
- echo '</div><!-- /yith-plugin-fw-wp-page-wrapper -->';
1661
- }
1662
- }
1663
-
1664
- /**
1665
- * Set the parent page to handle menu for WP Pages.
1666
- *
1667
- * @param string $parent_file The parent file.
1668
- *
1669
- * @return string
1670
- */
1671
- public function set_parent_file_to_handle_menu_for_wp_pages( $parent_file ) {
1672
- if ( self::$panel_tabs_in_wp_pages ) {
1673
- return 'yith_plugin_panel';
1674
- }
1675
-
1676
- return $parent_file;
1677
- }
1678
-
1679
- /**
1680
- * Set the submenu page to handle menu for WP Pages.
1681
- *
1682
- * @param string $submenu_file The submenu file.
1683
- * @param string $parent_file The parent file.
1684
- *
1685
- * @return mixed
1686
- */
1687
- public function set_submenu_file_to_handle_menu_for_wp_pages( $submenu_file, $parent_file ) {
1688
- if ( self::$panel_tabs_in_wp_pages ) {
1689
- return $this->settings['page'];
1690
- }
1691
-
1692
- return $submenu_file;
1693
- }
1694
-
1695
- /**
1696
- * Save the toggle element options.
1697
- *
1698
- * @return bool
1699
- */
1700
- public function save_toggle_element_options() {
1701
- return true;
1702
- }
1703
-
1704
- /**
1705
- * Add UTM data in premium tab
1706
- *
1707
- * @param string $url The url that want to track.
1708
- * @param string $slug Plugin slug.
1709
- *
1710
- * @since 3.8.4
1711
- */
1712
- public function add_utm_data_on_premium_tab( $url, $slug ) {
1713
- return ! empty( $this->settings['plugin_slug'] ) && $slug === $this->settings['plugin_slug'] && 'premium' === $this->get_current_tab() ? yith_plugin_fw_add_utm_data( $url, $slug, 'button-upgrade', 'wp-free-dashboard' ) : $url;
1714
- }
1715
- }
1716
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * YITH Plugin Panel Class.
4
+ *
5
+ * @class YIT_Plugin_Panel
6
+ * @package YITH\PluginFramework\Classes
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
10
+
11
+ if ( ! class_exists( 'YIT_Plugin_Panel' ) ) {
12
+ /**
13
+ * Class YIT_Plugin_Panel
14
+ */
15
+ class YIT_Plugin_Panel {
16
+ /**
17
+ * Version of the class.
18
+ *
19
+ * @var string
20
+ */
21
+ public $version = '1.0.0';
22
+
23
+ /**
24
+ * List of settings parameters.
25
+ *
26
+ * @var array
27
+ */
28
+ public $settings = array();
29
+
30
+ /**
31
+ * Tab Path Files.
32
+ *
33
+ * @var array
34
+ */
35
+ protected $tabs_path_files;
36
+
37
+ /**
38
+ * Main array of options.
39
+ *
40
+ * @var array
41
+ */
42
+ protected $main_array_options;
43
+
44
+ /**
45
+ * Tabs hierarchy.
46
+ *
47
+ * @var array
48
+ */
49
+ protected $tabs_hierarchy;
50
+
51
+ /**
52
+ * Tabs in WP Pages.
53
+ *
54
+ * @var array
55
+ */
56
+ protected static $panel_tabs_in_wp_pages = array();
57
+
58
+ /**
59
+ * Array of links.
60
+ *
61
+ * @var array
62
+ */
63
+ public $links;
64
+
65
+ /**
66
+ * Are the actions initialized?
67
+ *
68
+ * @var bool
69
+ */
70
+ protected static $actions_initialized = false;
71
+
72
+ /**
73
+ * YIT_Plugin_Panel constructor.
74
+ *
75
+ * @param array $args The panel arguments.
76
+ *
77
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
78
+ */
79
+ public function __construct( $args = array() ) {
80
+ if ( ! empty( $args ) ) {
81
+ $default_args = array(
82
+ 'parent_slug' => 'edit.php?',
83
+ 'page_title' => __( 'Plugin Settings', 'yith-plugin-fw' ),
84
+ 'menu_title' => __( 'Settings', 'yith-plugin-fw' ),
85
+ 'capability' => 'manage_options',
86
+ 'icon_url' => '',
87
+ 'position' => null,
88
+ );
89
+
90
+ $args = apply_filters( 'yit_plugin_fw_panel_option_args', wp_parse_args( $args, $default_args ) );
91
+ if ( isset( $args['parent_page'] ) && 'yit_plugin_panel' === $args['parent_page'] ) {
92
+ $args['parent_page'] = 'yith_plugin_panel';
93
+ }
94
+
95
+ $this->settings = $args;
96
+ $this->tabs_path_files = $this->get_tabs_path_files();
97
+
98
+ if ( isset( $this->settings['create_menu_page'] ) && $this->settings['create_menu_page'] ) {
99
+ $this->add_menu_page();
100
+ }
101
+
102
+ if ( ! empty( $this->settings['links'] ) ) {
103
+ $this->links = $this->settings['links'];
104
+ }
105
+
106
+ $this->maybe_init_premium_tab();
107
+
108
+ add_action( 'admin_init', array( $this, 'register_settings' ) );
109
+ add_action( 'admin_menu', array( $this, 'add_setting_page' ), 20 );
110
+ add_action( 'admin_menu', array( $this, 'add_premium_version_upgrade_to_menu' ), 100 );
111
+ add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_menu' ), 100 );
112
+ add_action( 'admin_init', array( $this, 'add_fields' ) );
113
+
114
+ add_action( 'admin_enqueue_scripts', array( $this, 'init_wp_with_tabs' ), 11 );
115
+ add_action( 'admin_init', array( $this, 'maybe_redirect_to_proper_wp_page' ) );
116
+
117
+ /* Add UTM tracking code on premium tab */
118
+ add_filter( 'yith_plugin_fw_premium_landing_uri', array( $this, 'add_utm_data_on_premium_tab' ), 10, 2 );
119
+ // Init actions once to prevent multiple initialization.
120
+ static::init_actions();
121
+ }
122
+
123
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
124
+
125
+ add_action( 'yith_plugin_fw_before_yith_panel', array( $this, 'add_plugin_banner' ), 10, 1 );
126
+ add_action( 'wp_ajax_yith_plugin_fw_save_toggle_element', array( $this, 'save_toggle_element_options' ) );
127
+ }
128
+
129
+ /**
130
+ * Is this a custom post type page?
131
+ *
132
+ * @return bool
133
+ * @see YIT_Plugin_Panel::init_wp_with_tabs
134
+ * @since 3.4.17
135
+ */
136
+ protected function is_custom_post_type_page() {
137
+ global $pagenow, $post_type;
138
+ $excluded_post_types = array( 'product', 'page', 'post' );
139
+
140
+ return in_array( $pagenow, array( 'post.php', 'post-new.php', 'edit.php' ), true ) && ! in_array( $post_type, $excluded_post_types, true );
141
+ }
142
+
143
+ /**
144
+ * Is this a custom taxonomy page?
145
+ *
146
+ * @return bool
147
+ * @see YIT_Plugin_Panel::init_wp_with_tabs
148
+ * @since 3.4.17
149
+ */
150
+ protected function is_custom_taxonomy_page() {
151
+ global $pagenow, $taxonomy;
152
+ $excluded_taxonomies = array( 'category', 'post_tag', 'product_cat', 'product_tag' );
153
+
154
+ return in_array( $pagenow, array( 'edit-tags.php', 'term.php' ), true ) && ! in_array( $taxonomy, $excluded_taxonomies, true );
155
+ }
156
+
157
+ /**
158
+ * Init actions to show YITH Panel tabs in WP Pages
159
+ *
160
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
161
+ * @since 3.4.0
162
+ */
163
+ public function init_wp_with_tabs() {
164
+ if ( ! current_user_can( $this->settings['capability'] ) ) {
165
+ return;
166
+ }
167
+
168
+ global $post_type, $taxonomy;
169
+ $tabs = false;
170
+
171
+ if ( $this->is_custom_post_type_page() ) {
172
+ $tabs = $this->get_post_type_tabs( $post_type );
173
+ } elseif ( $this->is_custom_taxonomy_page() ) {
174
+ $tabs = $this->get_taxonomy_tabs( $taxonomy );
175
+ }
176
+
177
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
178
+ $is_block_editor = ! ! $screen && is_callable( array( $screen, 'is_block_editor' ) ) && $screen->is_block_editor();
179
+
180
+ if ( $tabs ) {
181
+ $current_tab_args = array(
182
+ 'page' => $this->settings['page'],
183
+ 'current_tab' => isset( $tabs['tab'] ) ? $tabs['tab'] : '',
184
+ 'current_sub_tab' => isset( $tabs['sub_tab'] ) ? $tabs['sub_tab'] : '',
185
+ 'options' => isset( $tabs['options'] ) ? $tabs['options'] : array(),
186
+ );
187
+
188
+ if ( ! $is_block_editor ) {
189
+ wp_enqueue_style( 'yit-plugin-style' );
190
+ wp_enqueue_style( 'yith-plugin-fw-fields' );
191
+ wp_enqueue_script( 'yith-plugin-fw-wp-pages' );
192
+ }
193
+
194
+ if ( ! self::$panel_tabs_in_wp_pages ) {
195
+ self::$panel_tabs_in_wp_pages = $current_tab_args;
196
+ if ( ! $is_block_editor ) {
197
+ add_action( 'all_admin_notices', array( $this, 'print_panel_tabs_in_wp_pages' ) );
198
+ add_action( 'admin_footer', array( $this, 'print_panel_tabs_in_wp_pages_end' ) );
199
+ }
200
+ add_filter( 'parent_file', array( $this, 'set_parent_file_to_handle_menu_for_wp_pages' ) );
201
+ add_filter( 'submenu_file', array( $this, 'set_submenu_file_to_handle_menu_for_wp_pages' ), 10, 2 );
202
+ }
203
+ }
204
+ }
205
+
206
+ /**
207
+ * Init actions.
208
+ *
209
+ * @since 3.0.0
210
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
211
+ */
212
+ protected static function init_actions() {
213
+ if ( ! static::$actions_initialized ) {
214
+ add_filter( 'admin_body_class', array( __CLASS__, 'add_body_class' ) );
215
+
216
+ // Sort plugins by name in YITH Plugins menu.
217
+ add_action( 'admin_menu', array( __CLASS__, 'sort_plugins' ), 90 );
218
+ add_filter( 'add_menu_classes', array( __CLASS__, 'add_menu_class_in_yith_plugin' ) );
219
+
220
+ static::$actions_initialized = true;
221
+ }
222
+ }
223
+
224
+ /**
225
+ * Maybe init vars
226
+ */
227
+ protected function maybe_init_vars() {
228
+ if ( ! isset( $this->main_array_options ) && ! isset( $this->tabs_hierarchy ) ) {
229
+ $options_path = $this->settings['options-path'];
230
+ $this->main_array_options = array();
231
+ $this->tabs_hierarchy = array();
232
+
233
+ foreach ( $this->settings['admin-tabs'] as $item => $v ) {
234
+ $path = trailingslashit( $options_path ) . $item . '-options.php';
235
+ $path = apply_filters( 'yith_plugin_panel_item_options_path', $path, $options_path, $item, $this );
236
+ if ( file_exists( $path ) ) {
237
+ $_tab = include $path;
238
+ $this->main_array_options = array_merge( $this->main_array_options, $_tab );
239
+ $sub_tabs = $this->get_sub_tabs( $_tab );
240
+ $current_tab_key = array_keys( $_tab )[0];
241
+
242
+ $this->tabs_hierarchy[ $current_tab_key ] = array_merge(
243
+ array(
244
+ 'parent' => '',
245
+ 'has_sub_tabs' => ! ! $sub_tabs,
246
+ ),
247
+ $this->get_tab_info_by_options( $_tab[ $current_tab_key ] )
248
+ );
249
+
250
+ foreach ( $sub_tabs as $sub_item => $sub_options ) {
251
+ if ( strpos( $sub_item, $item . '-' ) === 0 ) {
252
+ $sub_item = substr( $sub_item, strlen( $item ) + 1 );
253
+ }
254
+ $sub_tab_path = $options_path . '/' . $item . '/' . $sub_item . '-options.php';
255
+ $sub_tab_path = apply_filters( 'yith_plugin_panel_sub_tab_item_options_path', $sub_tab_path, $sub_tabs, $sub_item, $this );
256
+
257
+ if ( file_exists( $sub_tab_path ) ) {
258
+ $_sub_tab = include $sub_tab_path;
259
+ $this->main_array_options = array_merge( $this->main_array_options, $_sub_tab );
260
+
261
+ $current_sub_tab_key = array_keys( $_sub_tab )[0];
262
+ $this->tabs_hierarchy[ $current_sub_tab_key ] = array_merge( array( 'parent' => $current_tab_key ), $this->get_tab_info_by_options( $_sub_tab[ $current_sub_tab_key ] ) );
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }
269
+
270
+ /**
271
+ * Add yith-plugin-fw-panel in body classes in Panel pages
272
+ *
273
+ * @param string $admin_body_classes Body classes.
274
+ *
275
+ * @return string
276
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
277
+ * @since 3.0.0
278
+ */
279
+ public static function add_body_class( $admin_body_classes ) {
280
+ global $pagenow;
281
+ if ( ( 'admin.php' === $pagenow && strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false ) ) {
282
+ $admin_body_classes = ! substr_count( $admin_body_classes, ' yith-plugin-fw-panel ' ) ? $admin_body_classes . ' yith-plugin-fw-panel ' : $admin_body_classes;
283
+ }
284
+
285
+ return $admin_body_classes;
286
+ }
287
+
288
+ /**
289
+ * Add Menu page link
290
+ *
291
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
292
+ */
293
+ public function add_menu_page() {
294
+ global $admin_page_hooks;
295
+
296
+ if ( ! isset( $admin_page_hooks['yith_plugin_panel'] ) ) {
297
+ $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
298
+ $capability = apply_filters( 'yit_plugin_panel_menu_page_capability', 'manage_options' );
299
+ $show = apply_filters( 'yit_plugin_panel_menu_page_show', true );
300
+
301
+ // YITH text must NOT be translated.
302
+ if ( ! ! $show ) {
303
+ add_menu_page( 'yith_plugin_panel', 'YITH', $capability, 'yith_plugin_panel', null, yith_plugin_fw_get_default_logo(), $position );
304
+ // Prevent issues for backward compatibility.
305
+ $admin_page_hooks['yith_plugin_panel'] = 'yith-plugins'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
306
+ }
307
+ }
308
+ }
309
+
310
+ /**
311
+ * Remove duplicate submenu
312
+ * Submenu page hack: Remove the duplicate YIT Plugin link on subpages
313
+ *
314
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
315
+ */
316
+ public function remove_duplicate_submenu_page() {
317
+ remove_submenu_page( 'yith_plugin_panel', 'yith_plugin_panel' );
318
+ }
319
+
320
+ /**
321
+ * Enqueue script and styles in admin side
322
+ * Add style and scripts to administrator
323
+ *
324
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
325
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
326
+ */
327
+ public function admin_enqueue_scripts() {
328
+ global $pagenow;
329
+
330
+ if ( 'admin.php' === $pagenow && strpos( get_current_screen()->id, $this->settings['page'] ) !== false || apply_filters( 'yit_plugin_panel_asset_loading', false ) ) {
331
+ wp_enqueue_media();
332
+
333
+ wp_enqueue_style( 'yith-plugin-fw-fields' );
334
+ wp_enqueue_style( 'jquery-ui-style' );
335
+ wp_enqueue_style( 'raleway-font' );
336
+
337
+ wp_enqueue_script( 'jquery-ui' );
338
+ wp_enqueue_script( 'jquery-ui-core' );
339
+ wp_enqueue_script( 'jquery-ui-dialog' );
340
+ wp_enqueue_script( 'yith_how_to' );
341
+ wp_enqueue_script( 'yith-plugin-fw-fields' );
342
+ }
343
+
344
+ if ( ( 'admin.php' === $pagenow && yith_plugin_fw_is_panel() ) || apply_filters( 'yit_plugin_panel_asset_loading', false ) ) {
345
+ wp_enqueue_media();
346
+ wp_enqueue_style( 'yit-plugin-style' );
347
+ wp_enqueue_script( 'yit-plugin-panel' );
348
+ }
349
+
350
+ if ( 'admin.php' === $pagenow && strpos( get_current_screen()->id, 'yith_upgrade_premium_version' ) !== false ) {
351
+ wp_enqueue_style( 'yit-upgrade-to-pro' );
352
+ wp_enqueue_script( 'colorbox' );
353
+ }
354
+ }
355
+
356
+ /**
357
+ * Register Settings
358
+ * Generate wp-admin settings pages by registering your settings and using a few callbacks to control the output
359
+ *
360
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
361
+ */
362
+ public function register_settings() {
363
+ register_setting( 'yit_' . $this->settings['parent'] . '_options', 'yit_' . $this->settings['parent'] . '_options', array( $this, 'options_validate' ) );
364
+ }
365
+
366
+ /**
367
+ * Add Setting SubPage
368
+ * add Setting SubPage to WordPress administrator
369
+ *
370
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
371
+ */
372
+ public function add_setting_page() {
373
+ $this->settings['icon_url'] = isset( $this->settings['icon_url'] ) ? $this->settings['icon_url'] : '';
374
+ $this->settings['position'] = isset( $this->settings['position'] ) ? $this->settings['position'] : null;
375
+ $parent = $this->settings['parent_slug'] . $this->settings['parent_page'];
376
+
377
+ if ( ! empty( $parent ) ) {
378
+ add_submenu_page( $parent, $this->settings['page_title'], $this->settings['menu_title'], $this->settings['capability'], $this->settings['page'], array( $this, 'yit_panel' ) );
379
+ } else {
380
+ add_menu_page( $this->settings['page_title'], $this->settings['menu_title'], $this->settings['capability'], $this->settings['page'], array( $this, 'yit_panel' ), $this->settings['icon_url'], $this->settings['position'] );
381
+ }
382
+ // Duplicate Items Hack.
383
+ $this->remove_duplicate_submenu_page();
384
+ do_action( 'yit_after_add_settings_page' );
385
+
386
+ }
387
+
388
+ /**
389
+ * Options Validate
390
+ * a callback function called by Register Settings function
391
+ *
392
+ * @param array $field The field to validate.
393
+ *
394
+ * @return array validated fields
395
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
396
+ */
397
+ public function options_validate( $field ) {
398
+ $option_key = ! empty( $field['option_key'] ) ? $field['option_key'] : 'general';
399
+ $yit_options = $this->get_main_array_options();
400
+ $validated_fields = $this->get_options();
401
+
402
+ foreach ( $yit_options[ $option_key ] as $section => $data ) {
403
+ foreach ( $data as $option ) {
404
+ if ( isset( $option['sanitize_call'] ) && isset( $option['id'] ) ) {
405
+ if ( is_array( $option['sanitize_call'] ) ) {
406
+ foreach ( $option['sanitize_call'] as $callback ) {
407
+ if ( is_array( $field[ $option['id'] ] ) ) {
408
+ $validated_fields[ $option['id'] ] = array_map( $callback, $field[ $option['id'] ] );
409
+ } else {
410
+ $validated_fields[ $option['id'] ] = call_user_func( $callback, $field[ $option['id'] ] );
411
+ }
412
+ }
413
+ } else {
414
+ if ( is_array( $field[ $option['id'] ] ) ) {
415
+ $validated_fields[ $option['id'] ] = array_map( $option['sanitize_call'], $field[ $option['id'] ] );
416
+ } else {
417
+ $validated_fields[ $option['id'] ] = call_user_func( $option['sanitize_call'], $field[ $option['id'] ] );
418
+ }
419
+ }
420
+ } else {
421
+ if ( isset( $option['id'] ) ) {
422
+ $value = isset( $field[ $option['id'] ] ) ? $field[ $option['id'] ] : false;
423
+ if ( isset( $option['type'] ) && in_array( $option['type'], array( 'checkbox', 'onoff' ), true ) ) {
424
+ $value = yith_plugin_fw_is_true( $value ) ? 'yes' : 'no';
425
+ }
426
+
427
+ if ( ! empty( $option['yith-sanitize-callback'] ) && is_callable( $option['yith-sanitize-callback'] ) ) {
428
+ $value = call_user_func( $option['yith-sanitize-callback'], $value );
429
+ }
430
+
431
+ $validated_fields[ $option['id'] ] = $value;
432
+ }
433
+ }
434
+ }
435
+ }
436
+
437
+ return $validated_fields;
438
+ }
439
+
440
+ /**
441
+ * Add Premium Version upgrade menu item
442
+ *
443
+ * @since 2.9.13
444
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
445
+ */
446
+ public function add_premium_version_upgrade_to_menu() {
447
+ // Add the How To menu item only if the customer haven't a premium version enabled.
448
+ if ( function_exists( 'YIT_Plugin_Licence' ) && ! ! YIT_Plugin_Licence()->get_products() ) {
449
+ return;
450
+ }
451
+
452
+ global $submenu;
453
+ if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu['yith_plugin_panel'] ) ) ) {
454
+ $how_to_menu = array(
455
+ sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
456
+ 'install_plugins',
457
+ '//support.yithemes.com/hc/en-us/articles/217840988',
458
+ __( 'How to install premium version', 'yith-plugin-fw' ),
459
+ );
460
+ $submenu['yith_plugin_panel']['how_to'] = $how_to_menu; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
461
+ }
462
+ }
463
+
464
+ /**
465
+ * Print the tabs navigation
466
+ *
467
+ * @param array $args Nav Arguments.
468
+ *
469
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
470
+ * @since 3.4.0
471
+ */
472
+ public function print_tabs_nav( $args = array() ) {
473
+ $defaults = array(
474
+ 'current_tab' => $this->get_current_tab(),
475
+ 'premium_class' => isset( $this->settings['class'] ) ? 'yith-premium' : 'premium',
476
+ 'page' => $this->settings['page'],
477
+ 'parent_page' => $this->settings['parent_page'],
478
+ 'wrapper_class' => 'nav-tab-wrapper',
479
+ );
480
+ $args = wp_parse_args( $args, $defaults );
481
+
482
+ list ( $wrapper_class ) = yith_plugin_fw_extract( $args, 'wrapper_class' );
483
+
484
+ $tabs = '<ul class="yith-plugin-fw-tabs">';
485
+
486
+ foreach ( $this->settings['admin-tabs'] as $tab => $tab_value ) {
487
+ $tabs .= $this->get_tab_nav( $tab, $tab_value, $args );
488
+ }
489
+
490
+ // help tab.
491
+ if ( $this->has_help_tab() ) {
492
+ $tabs .= $this->get_tab_nav( 'help', _x( 'Help', 'Help tab name', 'yith-plugin-fw' ), $args );
493
+ }
494
+
495
+ $tabs .= '</ul>';
496
+ ?>
497
+ <h2 class="<?php echo esc_attr( $wrapper_class ); ?>">
498
+ <?php echo wp_kses_post( $tabs ); ?>
499
+ </h2>
500
+ <?php
501
+ $this->print_sub_tabs_nav( $args );
502
+ }
503
+
504
+ /**
505
+ * Get HTML for single tab in tabs navigation
506
+ *
507
+ * @param string $tab_slug Tab slug.
508
+ * @param string $tab_name Tab name.
509
+ * @param array $args Nav Arguments.
510
+ *
511
+ * @return string Tab HTML
512
+ *
513
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
514
+ * @since 3.4.0
515
+ */
516
+ protected function get_tab_nav( $tab_slug, $tab_name, $args = array() ) {
517
+ list ( $current_tab, $premium_class, $page, $parent_page ) = yith_plugin_fw_extract( $args, 'current_tab', 'premium_class', 'page', 'parent_page' );
518
+
519
+ $active_class = $current_tab === $tab_slug ? ' nav-tab-active' : '';
520
+
521
+ if ( 'premium' === $tab_slug ) {
522
+ $active_class .= ' ' . $premium_class;
523
+ }
524
+ $active_class = apply_filters( 'yith_plugin_fw_panel_active_tab_class', $active_class, $current_tab, $tab_slug );
525
+
526
+ $first_sub_tab = $this->get_first_sub_tab_key( $tab_slug );
527
+ $sub_tab = ! ! $first_sub_tab ? $first_sub_tab : '';
528
+ $sub_tabs = $this->get_sub_tabs( $tab_slug );
529
+ $url = $this->get_nav_url( $page, $tab_slug, $sub_tab, $parent_page );
530
+ $icon = ( $current_tab !== $tab_slug && $sub_tabs ) ? '<i class="yith-icon yith-icon-arrow_down"></i>' : '';
531
+
532
+ $tab = '<li class="yith-plugin-fw-tab-element">';
533
+
534
+ $tab .= '<a class="nav-tab' . esc_attr( $active_class ) . '" href="' . esc_url( $url ) . '">' . wp_kses_post( $tab_name ) . $icon . '</a>';
535
+
536
+ if ( $current_tab !== $tab_slug && $sub_tabs ) {
537
+ $tab .= '<div class="nav-subtab-wrap"><ul class="nav-subtab">';
538
+ foreach ( $sub_tabs as $_key => $_tab ) {
539
+ $url = $this->get_nav_url( $page, $tab_slug, $_key );
540
+
541
+ $tab .= '<li class="nav-subtab-item"><a href="' . esc_url( $url ) . '">' . wp_kses_post( $_tab['title'] ) . '</a></li>';
542
+ }
543
+ $tab .= '</ul></div>';
544
+ }
545
+ $tab .= '</li>';
546
+
547
+ return $tab;
548
+ }
549
+
550
+ /**
551
+ * Retrieve the Nav URL.
552
+ *
553
+ * @param string $page The page.
554
+ * @param string $tab The tab.
555
+ * @param string $sub_tab The sub-tab.
556
+ * @param string $parent_page The parent page.
557
+ *
558
+ * @return string
559
+ */
560
+ public function get_nav_url( $page, $tab, $sub_tab = '', $parent_page = '' ) {
561
+ $tab_hierarchy = $this->get_tabs_hierarchy();
562
+ $key = ! ! $sub_tab ? $sub_tab : $tab;
563
+
564
+ if ( isset( $tab_hierarchy[ $key ], $tab_hierarchy[ $key ]['type'], $tab_hierarchy[ $key ]['post_type'] ) && 'post_type' === $tab_hierarchy[ $key ]['type'] ) {
565
+ $url = admin_url( "edit.php?post_type={$tab_hierarchy[$key]['post_type']}" );
566
+ } elseif ( isset( $tab_hierarchy[ $key ], $tab_hierarchy[ $key ]['type'], $tab_hierarchy[ $key ]['taxonomy'] ) && 'taxonomy' === $tab_hierarchy[ $key ]['type'] ) {
567
+ $url = admin_url( "edit-tags.php?taxonomy={$tab_hierarchy[$key]['taxonomy']}" );
568
+ } else {
569
+ $url = ! ! $parent_page ? "?{$parent_page}&" : '?';
570
+
571
+ $url .= "page={$page}&tab={$tab}";
572
+ $url .= ! ! $sub_tab ? "&sub_tab={$sub_tab}" : '';
573
+
574
+ $url = admin_url( "admin.php{$url}" );
575
+ }
576
+
577
+ return apply_filters( 'yith_plugin_fw_panel_url', $url, $page, $tab, $sub_tab, $parent_page );
578
+ }
579
+
580
+ /**
581
+ * Print the Sub-tabs navigation if the current tab has sub-tabs
582
+ *
583
+ * @param array $args Sub-tab arguments.
584
+ *
585
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
586
+ * @since 3.4.0
587
+ */
588
+ public function print_sub_tabs_nav( $args = array() ) {
589
+ $defaults = array(
590
+ 'current_tab' => $this->get_current_tab(),
591
+ 'page' => $this->settings['page'],
592
+ 'current_sub_tab' => $this->get_current_sub_tab(),
593
+ );
594
+ $args = wp_parse_args( $args, $defaults );
595
+
596
+ /**
597
+ * The arguments.
598
+ *
599
+ * @var string $current_tab The current tab.
600
+ * @var string $page The page.
601
+ * @var string $current_sub_tab The current sub-tab.
602
+ */
603
+ extract( $args ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
604
+
605
+ $sub_tabs = $this->get_sub_tabs( $current_tab );
606
+
607
+ if ( $sub_tabs && $current_sub_tab ) {
608
+ include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/sub-tabs-nav.php';
609
+ }
610
+ }
611
+
612
+ /**
613
+ * Show a tabbed panel to setting page
614
+ * a callback function called by add_setting_page => add_submenu_page
615
+ *
616
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
617
+ */
618
+ public function yit_panel() {
619
+ $yit_options = $this->get_main_array_options();
620
+ $wrap_class = isset( $this->settings['class'] ) ? $this->settings['class'] : '';
621
+
622
+ $option_key = $this->get_current_option_key();
623
+ $custom_tab_options = $this->get_custom_tab_options( $yit_options, $option_key );
624
+ ?>
625
+ <div class="wrap <?php echo esc_attr( $wrap_class ); ?>">
626
+ <div id="icon-themes" class="icon32"><br/></div>
627
+ <?php
628
+ do_action( 'yith_plugin_fw_before_yith_panel', $this->settings['page'] );
629
+
630
+ $this->print_tabs_nav();
631
+ if ( $this->is_premium_tab() && $this->has_premium_tab() ) {
632
+ $this->print_premium_tab();
633
+
634
+ return;
635
+ } elseif ( $custom_tab_options ) {
636
+ $this->print_custom_tab( $custom_tab_options );
637
+
638
+ return;
639
+ } elseif ( $this->is_help_tab() ) {
640
+ $this->print_help_tab();
641
+
642
+ return;
643
+ }
644
+
645
+ $panel_content_class = apply_filters( 'yit_admin_panel_content_class', 'yit-admin-panel-content-wrap' );
646
+ ?>
647
+ <div id="wrap" class="yith-plugin-fw plugin-option yit-admin-panel-container">
648
+ <?php $this->message(); ?>
649
+ <div class="<?php echo esc_attr( $panel_content_class ); ?>">
650
+ <h2><?php echo wp_kses_post( $this->get_tab_title() ); ?></h2>
651
+ <?php if ( $this->is_show_form() ) : ?>
652
+ <form id="yith-plugin-fw-panel" method="post" action="options.php">
653
+ <?php do_settings_sections( 'yit' ); ?>
654
+ <p>&nbsp;</p>
655
+ <?php settings_fields( 'yit_' . $this->settings['parent'] . '_options' ); ?>
656
+ <input type="hidden" name="<?php echo esc_attr( $this->get_name_field( 'option_key' ) ); ?>"
657
+ value="<?php echo esc_attr( $option_key ); ?>"/>
658
+ <input type="submit" class="button-primary"
659
+ value="<?php esc_attr_e( 'Save Changes', 'yith-plugin-fw' ); ?>"
660
+ style="float:left;margin-right:10px;"/>
661
+ </form>
662
+ <form method="post">
663
+ <?php
664
+ $reset_warning = __( 'If you continue with this action, you will reset all options in this page.', 'yith-plugin-fw' ) . '\n' . __( 'Are you sure?', 'yith-plugin-fw' );
665
+ ?>
666
+ <input type="hidden" name="yit-action" value="reset"/>
667
+ <input type="submit" name="yit-reset" class="button-secondary"
668
+ value="<?php esc_attr_e( 'Reset to default', 'yith-plugin-fw' ); ?>"
669
+ onclick="return confirm('<?php echo esc_attr( $reset_warning ); ?>');"/>
670
+ </form>
671
+ <p>&nbsp;</p>
672
+ <?php endif ?>
673
+ </div>
674
+ </div>
675
+ </div>
676
+ <?php
677
+ }
678
+
679
+ /**
680
+ * Check if is a custom tab.
681
+ *
682
+ * @param array $options The tab options.
683
+ * @param string $option_key The option key.
684
+ *
685
+ * @return string|false The action to be fired of false if it's not a custom tab.
686
+ */
687
+ public function is_custom_tab( $options, $option_key ) {
688
+ $option = $this->get_custom_tab_options( $options, $option_key );
689
+
690
+ return ! ! $option && isset( $option['action'] ) ? $option['action'] : false;
691
+ }
692
+
693
+ /**
694
+ * Retrieve the custom tab options.
695
+ *
696
+ * @param array $options The tab options.
697
+ * @param string $option_key The option key.
698
+ *
699
+ * @return array|false The options of the custom tab; false if it's not a custom tab.
700
+ */
701
+ public function get_custom_tab_options( $options, $option_key ) {
702
+ $option = ! empty( $options[ $option_key ] ) ? current( $options[ $option_key ] ) : false;
703
+
704
+ if ( $option && isset( $option['type'], $option['action'] ) && 'custom_tab' === $option['type'] && ! empty( $option['action'] ) ) {
705
+ return $option;
706
+ } else {
707
+ return false;
708
+ }
709
+ }
710
+
711
+ /**
712
+ * Retrieve the tab type by its options.
713
+ *
714
+ * @param array $tab_options The tab options.
715
+ *
716
+ * @return string
717
+ */
718
+ public function get_tab_type_by_options( $tab_options ) {
719
+ $first = ! ! $tab_options && is_array( $tab_options ) ? current( $tab_options ) : array();
720
+ $type = isset( $first['type'] ) ? $first['type'] : 'options';
721
+ $special_types = array( 'post_type', 'taxonomy', 'custom_tab', 'multi_tab' );
722
+
723
+ return in_array( $type, $special_types, true ) ? $type : 'options';
724
+ }
725
+
726
+ /**
727
+ * Retrieve the tab info by its options.
728
+ *
729
+ * @param array $tab_options The tab options.
730
+ *
731
+ * @return string[]
732
+ */
733
+ public function get_tab_info_by_options( $tab_options ) {
734
+ $type = $this->get_tab_type_by_options( $tab_options );
735
+ $first = ! ! $tab_options && is_array( $tab_options ) ? current( $tab_options ) : array();
736
+ $info = $first;
737
+
738
+ $info['type'] = $type;
739
+ if ( 'post_type' === $type ) {
740
+ $info['post_type'] = isset( $first['post_type'] ) ? $first['post_type'] : '';
741
+ } elseif ( 'taxonomy' === $type ) {
742
+ $info['taxonomy'] = isset( $first['taxonomy'] ) ? $first['taxonomy'] : '';
743
+ }
744
+
745
+ return $info;
746
+ }
747
+
748
+ /**
749
+ * Fire the action to print the custom tab.
750
+ *
751
+ * @param array $options The options of the custom tab.
752
+ *
753
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
754
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
755
+ */
756
+ public function print_custom_tab( $options ) {
757
+ if ( is_string( $options ) ) {
758
+ // Backward compatibility.
759
+ $options = array( 'action' => $options );
760
+ }
761
+ $current_tab = $this->get_current_tab();
762
+ $current_sub_tab = $this->get_current_sub_tab();
763
+
764
+ include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/custom-tab.php';
765
+ }
766
+
767
+ /**
768
+ * Check if panel has help tab
769
+ *
770
+ * @return bool Whether panel has help tab or no.
771
+ */
772
+ public function has_help_tab() {
773
+ return ! empty( $this->settings['help_tab'] ) && ( ! $this->is_free() || ! empty( $this->settings['help_tab']['show_on_free'] ) );
774
+ }
775
+
776
+ /**
777
+ * Checks whether current tab is special Help Tab
778
+ *
779
+ * @return bool Whether current tab is Help Tab
780
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
781
+ */
782
+ public function is_help_tab() {
783
+ return 'help' === $this->get_current_tab();
784
+ }
785
+
786
+ /**
787
+ * Prints special Help Tab
788
+ *
789
+ * @return void
790
+ * @author Antonio La Rocca <antonio.larocca@yithemes.com>
791
+ */
792
+ public function print_help_tab() {
793
+ $options = isset( $this->settings['help_tab'] ) ? $this->settings['help_tab'] : array();
794
+ $plugin_title = isset( $this->settings['plugin_title'] ) ? $this->settings['plugin_title'] : $this->settings['page_title'];
795
+
796
+ if ( 0 !== strpos( $plugin_title, 'YITH' ) ) {
797
+ $plugin_title = "YITH {$plugin_title}";
798
+ }
799
+
800
+ // parse options.
801
+ $options = wp_parse_args(
802
+ $options,
803
+ array(
804
+ // translators: 1. Plugin name.
805
+ 'title' => sprintf( _x( 'Thank you for purchasing %s!', 'Help tab default title', 'yith-plugin-fw' ), $plugin_title ),
806
+ 'description' => _x( 'We want to help you to enjoy a wonderful experience with all our products.', 'Help tab default description', 'yith-plugin-fw' ),
807
+ 'main_video' => false,
808
+ 'playlists' => array(),
809
+ 'hc_url' => 'https://support.yithemes.com/hc/',
810
+ 'doc_url' => isset( $this->settings['plugin_slug'] ) ? 'https://docs.yithemes.com/' . $this->settings['plugin_slug'] . '/' : '',
811
+ 'submit_ticket_url' => 'https://yithemes.com/my-account/support/submit-a-ticket/',
812
+ 'show_hc_articles' => true,
813
+ 'show_submit_ticket' => true,
814
+ )
815
+ );
816
+
817
+ // add campaign parameters to url.
818
+ if ( isset( $this->settings['plugin_slug'] ) ) {
819
+ $utm_medium = $this->settings['plugin_slug'];
820
+ $utm_source = 'wp-premium-dashboard';
821
+ $utm_campaign = 'help-tab';
822
+
823
+ $campaign_urls = array(
824
+ 'submit_ticket_url',
825
+ 'doc_url',
826
+ );
827
+
828
+ foreach ( $campaign_urls as $campaign_url ) {
829
+ if ( empty( $options[ $campaign_url ] ) ) {
830
+ continue;
831
+ }
832
+
833
+ $options[ $campaign_url ] = yith_plugin_fw_add_utm_data( $options[ $campaign_url ], $utm_medium, $utm_campaign, $utm_source );
834
+ }
835
+ }
836
+
837
+ // set template variables.
838
+ $current_tab = $this->get_current_tab();
839
+ $current_sub_tab = $this->get_current_sub_tab();
840
+ $latest_articles = isset( $this->settings['plugin_slug'] ) ? YIT_Help_Desk::get_latest_articles( $this->settings['plugin_slug'] ) : array();
841
+
842
+ include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/help-tab.php';
843
+ }
844
+
845
+ /**
846
+ * Add premium tab in admin-tabs if is set.
847
+ *
848
+ * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
849
+ * @since 3.9.0
850
+ */
851
+ protected function maybe_init_premium_tab() {
852
+ if ( isset( $this->settings['premium_tab'] ) ) {
853
+ $this->settings['admin-tabs']['premium'] = _x( 'Get premium', 'Premium tab name', 'yith-plugin-fw' );
854
+ }
855
+ }
856
+
857
+ /**
858
+ * Checks whether current tab is Premium Tab
859
+ *
860
+ * @return bool
861
+ * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
862
+ * @since 3.9.0
863
+ */
864
+ protected function is_premium_tab() {
865
+ return 'premium' === $this->get_current_tab();
866
+ }
867
+
868
+ /**
869
+ * Check if panel has premium tab
870
+ * (Check for premium Tab through the premium_tab param fully handled by plugin-fw)
871
+ *
872
+ * @return bool
873
+ * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
874
+ * @since 3.9.0
875
+ */
876
+ protected function has_premium_tab() {
877
+ return $this->is_free() && ! empty( $this->settings['premium_tab'] );
878
+ }
879
+
880
+ /**
881
+ * Prints Premium Tab
882
+ *
883
+ * @return void
884
+ * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
885
+ * @since 3.9.0
886
+ */
887
+ protected function print_premium_tab() {
888
+ $options = $this->settings['premium_tab'] ?? array();
889
+
890
+ $defaults = array(
891
+ 'premium_features' => array(),
892
+ 'main_image_url' => '',
893
+ 'show_free_vs_premium_link' => true,
894
+ );
895
+ $options = wp_parse_args( $options, $defaults );
896
+
897
+ $plugin_slug = ! empty( $this->settings['plugin_slug'] ) ? $this->settings['plugin_slug'] : '';
898
+ $premium_url = '';
899
+ if ( $plugin_slug ) {
900
+ $premium_url = ! empty( $options['landing_page_url'] ) ? $options['landing_page_url'] : 'https://yithemes.com/themes/plugins/' . $plugin_slug;
901
+ }
902
+
903
+ include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/premium-tab.php';
904
+ }
905
+
906
+ /**
907
+ * Add sections and fields to setting panel.
908
+ * Read all options and show sections and fields.
909
+ *
910
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
911
+ */
912
+ public function add_fields() {
913
+ $yit_options = $this->get_main_array_options();
914
+ $option_key = $this->get_current_option_key();
915
+
916
+ if ( ! $option_key || ! isset( $yit_options[ $option_key ] ) ) {
917
+ return;
918
+ }
919
+
920
+ foreach ( $yit_options[ $option_key ] as $section => $data ) {
921
+ add_settings_section( "yit_settings_{$option_key}_{$section}", $this->get_section_title( $section ), $this->get_section_description( $section ), 'yit' );
922
+ foreach ( $data as $option ) {
923
+ if ( isset( $option['id'] ) && isset( $option['type'] ) && isset( $option['name'] ) ) {
924
+ add_settings_field(
925
+ 'yit_setting_' . $option['id'],
926
+ $option['name'],
927
+ array( $this, 'render_field' ),
928
+ 'yit',
929
+ "yit_settings_{$option_key}_{$section}",
930
+ array(
931
+ 'option' => $option,
932
+ 'label_for' => $this->get_id_field( $option['id'] ),
933
+ )
934
+ );
935
+ }
936
+ }
937
+ }
938
+ }
939
+
940
+ /**
941
+ * Add the tabs to admin bar menu.
942
+ * Set all tabs of settings page on wp admin bar.
943
+ *
944
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
945
+ */
946
+ public function add_admin_bar_menu() {
947
+ global $wp_admin_bar;
948
+
949
+ if ( ! current_user_can( 'manage_options' ) ) {
950
+ return;
951
+ }
952
+
953
+ if ( ! empty( $this->settings['admin_tabs'] ) ) {
954
+ foreach ( $this->settings['admin-tabs'] as $item => $title ) {
955
+ $wp_admin_bar->add_menu(
956
+ array(
957
+ 'parent' => $this->settings['parent'],
958
+ 'title' => $title,
959
+ 'id' => $this->settings['parent'] . '-' . $item,
960
+ 'href' => admin_url( 'themes.php' ) . '?page=' . $this->settings['parent_page'] . '&tab=' . $item,
961
+ )
962
+ );
963
+ }
964
+ }
965
+ }
966
+
967
+ /**
968
+ * Get current tab.
969
+ * Retrieve the id of tab shown, return general is the current tab is not defined.
970
+ *
971
+ * @return string|false
972
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
973
+ */
974
+ public function get_current_tab() {
975
+ // phpcs:disable WordPress.Security.NonceVerification.Recommended
976
+ $admin_tabs = array_keys( $this->settings['admin-tabs'] );
977
+
978
+ if ( ! isset( $_GET['page'] ) || $_GET['page'] !== $this->settings['page'] ) {
979
+ return false;
980
+ }
981
+ if ( isset( $_REQUEST['yit_tab_options'] ) ) {
982
+ return sanitize_key( wp_unslash( $_REQUEST['yit_tab_options'] ) );
983
+ } elseif ( isset( $_GET['tab'] ) ) {
984
+ return sanitize_key( wp_unslash( $_GET['tab'] ) );
985
+ } elseif ( isset( $admin_tabs[0] ) ) {
986
+ return $admin_tabs[0];
987
+ } else {
988
+ return 'general';
989
+ }
990
+ // phpcs:enable
991
+ }
992
+
993
+ /**
994
+ * Get the current sub-tab.
995
+ *
996
+ * @return string The key of the sub-tab if exists, empty string otherwise.
997
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
998
+ * @since 3.4.0
999
+ */
1000
+ public function get_current_sub_tab() {
1001
+ // phpcs:disable WordPress.Security.NonceVerification.Recommended
1002
+ $sub_tabs = $this->get_sub_tabs();
1003
+ $sub_tab = isset( $_REQUEST['sub_tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['sub_tab'] ) ) : '';
1004
+
1005
+ if ( $sub_tabs ) {
1006
+ if ( $sub_tab && ! isset( $sub_tabs[ $sub_tab ] ) || ! $sub_tab ) {
1007
+ $sub_tab = current( array_keys( $sub_tabs ) );
1008
+ }
1009
+ } else {
1010
+ $sub_tab = '';
1011
+ }
1012
+
1013
+ return $sub_tab;
1014
+ // phpcs:enable
1015
+ }
1016
+
1017
+ /**
1018
+ * Return the option key related to the current page.
1019
+ * for sub-tabbed tabs, it will return the current sub-tab.
1020
+ * fot normal tabs, it will return the current tab.
1021
+ *
1022
+ * @return string the current sub-tab, if exists; the current tab otherwise.
1023
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1024
+ * @since 3.4.0
1025
+ */
1026
+ public function get_current_option_key() {
1027
+ $current_tab = $this->get_current_tab();
1028
+ $current_sub_tab = $this->get_current_sub_tab();
1029
+
1030
+ if ( ! $current_tab ) {
1031
+ return false;
1032
+ }
1033
+
1034
+ return $current_sub_tab ? $current_sub_tab : $current_tab;
1035
+ }
1036
+
1037
+ /**
1038
+ * Message
1039
+ * define an array of message and show the content od message if
1040
+ * is find in the query string
1041
+ *
1042
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1043
+ */
1044
+ public function message() {
1045
+ // phpcs:disable WordPress.Security.NonceVerification.Recommended
1046
+ $message = array(
1047
+ 'element_exists' => $this->get_message( '<strong>' . __( 'The element you have entered already exists. Please, enter another name.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
1048
+ 'saved' => $this->get_message( '<strong>' . __( 'Settings saved', 'yith-plugin-fw' ) . '.</strong>', 'updated', false ),
1049
+ 'reset' => $this->get_message( '<strong>' . __( 'Settings reset', 'yith-plugin-fw' ) . '.</strong>', 'updated', false ),
1050
+ 'delete' => $this->get_message( '<strong>' . __( 'Element deleted correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
1051
+ 'updated' => $this->get_message( '<strong>' . __( 'Element updated correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
1052
+ 'settings-updated' => $this->get_message( '<strong>' . __( 'Element updated correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
1053
+ 'imported' => $this->get_message( '<strong>' . __( 'Database imported correctly.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
1054
+ 'no-imported' => $this->get_message( '<strong>' . __( 'An error has occurred during import. Please try again.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
1055
+ 'file-not-valid' => $this->get_message( '<strong>' . __( 'The added file is not valid.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
1056
+ 'cant-import' => $this->get_message( '<strong>' . __( 'Sorry, import is disabled.', 'yith-plugin-fw' ) . '</strong>', 'error', false ),
1057
+ 'ord' => $this->get_message( '<strong>' . __( 'Sorting successful.', 'yith-plugin-fw' ) . '</strong>', 'updated', false ),
1058
+ );
1059
+
1060
+ foreach ( $message as $key => $value ) {
1061
+ if ( isset( $_GET[ $key ] ) ) {
1062
+ echo wp_kses_post( $message[ $key ] );
1063
+ }
1064
+ }
1065
+ // phpcs:enable
1066
+ }
1067
+
1068
+ /**
1069
+ * Get Message
1070
+ * return html code of message
1071
+ *
1072
+ * @param string $message The message.
1073
+ * @param string $type The type of message (can be 'error' or 'updated').
1074
+ * @param bool $echo Set to true if you want to print the message.
1075
+ *
1076
+ * @return string
1077
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1078
+ */
1079
+ public function get_message( $message, $type = 'error', $echo = true ) {
1080
+ $message = '<div id="message" class="' . esc_attr( $type ) . ' fade"><p>' . wp_kses_post( $message ) . '</p></div>';
1081
+ if ( $echo ) {
1082
+ echo wp_kses_post( $message );
1083
+ }
1084
+
1085
+ return $message;
1086
+ }
1087
+
1088
+ /**
1089
+ * Get Tab Path Files
1090
+ * return an array with file names of tabs
1091
+ *
1092
+ * @return array
1093
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1094
+ */
1095
+ public function get_tabs_path_files() {
1096
+ $option_files_path = $this->settings['options-path'] . '/';
1097
+ $tabs = array();
1098
+
1099
+ foreach ( (array) glob( $option_files_path . '*.php' ) as $filename ) {
1100
+ preg_match( '/(.*)-options\.(.*)/', basename( $filename ), $filename_parts );
1101
+
1102
+ if ( ! isset( $filename_parts[1] ) ) {
1103
+ continue;
1104
+ }
1105
+
1106
+ $tab = $filename_parts[1];
1107
+ $tabs[ $tab ] = $filename;
1108
+ }
1109
+
1110
+ return $tabs;
1111
+ }
1112
+
1113
+ /**
1114
+ * Get main array options
1115
+ * return an array with all options defined on options-files
1116
+ *
1117
+ * @return array
1118
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1119
+ */
1120
+ public function get_main_array_options() {
1121
+ $this->maybe_init_vars();
1122
+
1123
+ return $this->main_array_options;
1124
+ }
1125
+
1126
+ /**
1127
+ * Get tab hierarchy.
1128
+ *
1129
+ * @return array
1130
+ */
1131
+ public function get_tabs_hierarchy() {
1132
+ $this->maybe_init_vars();
1133
+
1134
+ return $this->tabs_hierarchy;
1135
+ }
1136
+
1137
+ /**
1138
+ * Return the sub-tabs array of a specific tab
1139
+ *
1140
+ * @param array|bool $_tab the tab; if not set it'll be the current tab.
1141
+ *
1142
+ * @since 3.4.0
1143
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1144
+ * @return array Sub-tabs array.
1145
+ */
1146
+ public function get_sub_tabs( $_tab = false ) {
1147
+ if ( false === $_tab ) {
1148
+ $_tab = $this->get_current_tab();
1149
+ }
1150
+
1151
+ if ( is_string( $_tab ) ) {
1152
+ $main_array_options = $this->get_main_array_options();
1153
+ $current_tab_options = isset( $main_array_options[ $_tab ] ) ? $main_array_options[ $_tab ] : array();
1154
+ if ( $current_tab_options ) {
1155
+ $_tab = array( $_tab => $current_tab_options );
1156
+ }
1157
+ }
1158
+
1159
+ $_tab_options = ! ! $_tab && is_array( $_tab ) ? current( $_tab ) : false;
1160
+ $_first = ! ! $_tab_options && is_array( $_tab_options ) ? current( $_tab_options ) : false;
1161
+ if ( $_first && is_array( $_first ) && isset( $_first['type'] ) && 'multi_tab' === $_first['type'] && ! empty( $_first['sub-tabs'] ) ) {
1162
+ return $_first['sub-tabs'];
1163
+ }
1164
+
1165
+ return array();
1166
+ }
1167
+
1168
+ /**
1169
+ * Retrieve the first sub-tab key.
1170
+ *
1171
+ * @param string|false $_tab The tab; if not set it'll be the current tab.
1172
+ *
1173
+ * @return false|mixed
1174
+ */
1175
+ public function get_first_sub_tab_key( $_tab = false ) {
1176
+ $key = false;
1177
+ if ( is_string( $_tab ) ) {
1178
+ $main_array_options = $this->get_main_array_options();
1179
+ $current_tab_options = isset( $main_array_options[ $_tab ] ) ? $main_array_options[ $_tab ] : array();
1180
+ if ( $current_tab_options ) {
1181
+ $_tab = array( $_tab => $current_tab_options );
1182
+ }
1183
+ }
1184
+ $sub_tabs = $this->get_sub_tabs( $_tab );
1185
+ if ( $sub_tabs ) {
1186
+ $key = current( array_keys( $sub_tabs ) );
1187
+ }
1188
+
1189
+ return $key;
1190
+ }
1191
+
1192
+
1193
+ /**
1194
+ * Set an array with all default options
1195
+ * put default options in an array
1196
+ *
1197
+ * @return array
1198
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1199
+ */
1200
+ public function get_default_options() {
1201
+ $yit_options = $this->get_main_array_options();
1202
+ $default_options = array();
1203
+
1204
+ foreach ( $yit_options as $tab => $sections ) {
1205
+ foreach ( $sections as $section ) {
1206
+ foreach ( $section as $id => $value ) {
1207
+ if ( isset( $value['std'] ) && isset( $value['id'] ) ) {
1208
+ $default_options[ $value['id'] ] = $value['std'];
1209
+ }
1210
+ }
1211
+ }
1212
+ }
1213
+
1214
+ unset( $yit_options );
1215
+
1216
+ return $default_options;
1217
+ }
1218
+
1219
+
1220
+ /**
1221
+ * Get the title of the tab
1222
+ * return the title of tab
1223
+ *
1224
+ * @return string
1225
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1226
+ */
1227
+ public function get_tab_title() {
1228
+ $yit_options = $this->get_main_array_options();
1229
+ $option_key = $this->get_current_option_key();
1230
+
1231
+ foreach ( $yit_options[ $option_key ] as $sections => $data ) {
1232
+ foreach ( $data as $option ) {
1233
+ if ( isset( $option['type'] ) && 'title' === $option['type'] ) {
1234
+ return $option['name'];
1235
+ }
1236
+ }
1237
+ }
1238
+
1239
+ return '';
1240
+ }
1241
+
1242
+ /**
1243
+ * Get the title of the section
1244
+ * return the title of section
1245
+ *
1246
+ * @param string $section The section.
1247
+ *
1248
+ * @return string
1249
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1250
+ */
1251
+ public function get_section_title( $section ) {
1252
+ $yit_options = $this->get_main_array_options();
1253
+ $option_key = $this->get_current_option_key();
1254
+
1255
+ foreach ( $yit_options[ $option_key ][ $section ] as $option ) {
1256
+ if ( isset( $option['type'] ) && 'section' === $option['type'] ) {
1257
+ return $option['name'];
1258
+ }
1259
+ }
1260
+
1261
+ return '';
1262
+ }
1263
+
1264
+ /**
1265
+ * Get the description of the section
1266
+ * return the description of section if is set
1267
+ *
1268
+ * @param string $section The section.
1269
+ *
1270
+ * @return string
1271
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1272
+ */
1273
+ public function get_section_description( $section ) {
1274
+ $yit_options = $this->get_main_array_options();
1275
+ $option_key = $this->get_current_option_key();
1276
+
1277
+ foreach ( $yit_options[ $option_key ][ $section ] as $option ) {
1278
+ if ( isset( $option['type'] ) && 'section' === $option['type'] && isset( $option['desc'] ) ) {
1279
+ return '<p>' . $option['desc'] . '</p>';
1280
+ }
1281
+ }
1282
+
1283
+ return '';
1284
+ }
1285
+
1286
+
1287
+ /**
1288
+ * Show form when necessary
1289
+ * return true if 'showform' is not defined
1290
+ *
1291
+ * @return bool
1292
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1293
+ */
1294
+ public function is_show_form() {
1295
+ $yit_options = $this->get_main_array_options();
1296
+ $option_key = $this->get_current_option_key();
1297
+
1298
+ foreach ( $yit_options[ $option_key ] as $sections => $data ) {
1299
+ foreach ( $data as $option ) {
1300
+ if ( ! isset( $option['type'] ) || 'title' !== $option['type'] ) {
1301
+ continue;
1302
+ }
1303
+ if ( isset( $option['showform'] ) ) {
1304
+ return $option['showform'];
1305
+ } else {
1306
+ return true;
1307
+ }
1308
+ }
1309
+ }
1310
+ }
1311
+
1312
+ /**
1313
+ * Get name field
1314
+ * return a string with the name of the input field
1315
+ *
1316
+ * @param string $name The name.
1317
+ *
1318
+ * @return string
1319
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1320
+ */
1321
+ public function get_name_field( $name = '' ) {
1322
+ return 'yit_' . $this->settings['parent'] . '_options[' . $name . ']';
1323
+ }
1324
+
1325
+ /**
1326
+ * Get id field
1327
+ * return a string with the id of the input field
1328
+ *
1329
+ * @param string $id The ID.
1330
+ *
1331
+ * @return string
1332
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1333
+ */
1334
+ public function get_id_field( $id ) {
1335
+ return 'yit_' . $this->settings['parent'] . '_options_' . $id;
1336
+ }
1337
+
1338
+
1339
+ /**
1340
+ * Render the field showed in the setting page
1341
+ * include the file of the option type, if file do not exists
1342
+ * return a text area
1343
+ *
1344
+ * @param array $param The parameters.
1345
+ *
1346
+ * @return void
1347
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1348
+ */
1349
+ public function render_field( $param ) {
1350
+ if ( ! empty( $param ) && isset( $param ['option'] ) ) {
1351
+ $option = $param['option'];
1352
+ $db_options = $this->get_options();
1353
+
1354
+ $custom_attributes = array();
1355
+
1356
+ if ( ! empty( $option['custom_attributes'] ) && is_array( $option['custom_attributes'] ) ) {
1357
+ foreach ( $option['custom_attributes'] as $attribute => $attribute_value ) {
1358
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
1359
+ }
1360
+ }
1361
+
1362
+ $custom_attributes = implode( ' ', $custom_attributes );
1363
+ $std = isset( $option['std'] ) ? $option['std'] : '';
1364
+ $db_value = ( isset( $db_options[ $option['id'] ] ) ) ? $db_options[ $option['id'] ] : $std;
1365
+
1366
+ if ( isset( $option['deps'] ) ) {
1367
+ $deps = $option['deps'];
1368
+ }
1369
+
1370
+ if ( 'on-off' === $option['type'] ) {
1371
+ $option['type'] = 'onoff';
1372
+ }
1373
+
1374
+ $field_template_path = yith_plugin_fw_get_field_template_path( $option );
1375
+ if ( $field_template_path ) {
1376
+ $field_container_path = apply_filters( 'yith_plugin_fw_panel_field_container_template_path', YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/panel-field-container.php', $option );
1377
+ file_exists( $field_container_path ) && include $field_container_path;
1378
+ } else {
1379
+ do_action( "yit_panel_{$option['type']}", $option, $db_value, $custom_attributes );
1380
+ }
1381
+ }
1382
+ }
1383
+
1384
+ /**
1385
+ * Get options from db
1386
+ * return the options from db, if the options aren't defined in the db,
1387
+ * get the default options ad add the options in the db
1388
+ *
1389
+ * @return array
1390
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
1391
+ */
1392
+ public function get_options() {
1393
+ $options = get_option( 'yit_' . $this->settings['parent'] . '_options' );
1394
+ if ( false === $options || ( isset( $_REQUEST['yit-action'] ) && 'reset' === sanitize_key( wp_unslash( $_REQUEST['yit-action'] ) ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
1395
+ $options = $this->get_default_options();
1396
+ }
1397
+
1398
+ return $options;
1399
+ }
1400
+
1401
+ /**
1402
+ * Show a box panel with specific content in two columns as a new woocommerce type
1403
+ *
1404
+ * @param array $args The arguments.
1405
+ *
1406
+ * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
1407
+ */
1408
+ public static function add_infobox( $args = array() ) {
1409
+ if ( ! empty( $args ) ) {
1410
+ extract( $args ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1411
+ require YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/boxinfo.php';
1412
+ }
1413
+ }
1414
+
1415
+ /**
1416
+ * Show a box panel with specific content in two columns as a new woocommerce type
1417
+ *
1418
+ * @param array $args Arguments.
1419
+ *
1420
+ * @return void
1421
+ * @deprecated 3.0.12 Do nothing! Method left to prevent Fatal Error if called directly
1422
+ */
1423
+ public static function add_videobox( $args = array() ) {
1424
+
1425
+ }
1426
+
1427
+ /**
1428
+ * Fire the action to print the custom tab
1429
+ *
1430
+ * @return void
1431
+ * @deprecated 3.0.12 Do nothing! Method left to prevent Fatal Error if called directly
1432
+ */
1433
+ public function print_video_box() {
1434
+
1435
+ }
1436
+
1437
+ /**
1438
+ * Sort plugins by name in YITH Plugins menu.
1439
+ *
1440
+ * @since 3.0.0
1441
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1442
+ */
1443
+ public static function sort_plugins() {
1444
+ global $submenu;
1445
+ if ( ! empty( $submenu['yith_plugin_panel'] ) ) {
1446
+ $sorted_plugins = $submenu['yith_plugin_panel'];
1447
+
1448
+ usort(
1449
+ $sorted_plugins,
1450
+ function( $a, $b ) {
1451
+ return strcmp( current( $a ), current( $b ) );
1452
+ }
1453
+ );
1454
+
1455
+ $submenu['yith_plugin_panel'] = $sorted_plugins; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
1456
+ }
1457
+ }
1458
+
1459
+ /**
1460
+ * Add menu class in YITH Plugins menu.
1461
+ *
1462
+ * @param array $menu The menu.
1463
+ *
1464
+ * @return array
1465
+ * @since 3.0.0
1466
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1467
+ */
1468
+ public static function add_menu_class_in_yith_plugin( $menu ) {
1469
+ global $submenu;
1470
+
1471
+ if ( ! empty( $submenu['yith_plugin_panel'] ) ) {
1472
+ $item_count = count( $submenu['yith_plugin_panel'] );
1473
+ $columns = absint( $item_count / 20 ) + 1;
1474
+ $columns = max( 1, min( $columns, 3 ) );
1475
+ $columns = apply_filters( 'yith_plugin_fw_yith_plugins_menu_columns', $columns, $item_count );
1476
+
1477
+ if ( $columns > 1 ) {
1478
+ $class = "yith-plugin-fw-menu-$columns-columns";
1479
+ foreach ( $menu as $order => $top ) {
1480
+ if ( 'yith_plugin_panel' === $top[2] ) {
1481
+ $c = $menu[ $order ][4];
1482
+ $menu[ $order ][4] = add_cssclass( $class, $c );
1483
+ break;
1484
+ }
1485
+ }
1486
+ }
1487
+ }
1488
+
1489
+ return $menu;
1490
+ }
1491
+
1492
+ /**
1493
+ * Check if inside the admin tab there's the premium tab to
1494
+ * check if the plugin is a free or not
1495
+ *
1496
+ * @author Emanuela Castorina
1497
+ */
1498
+ public function is_free() {
1499
+ return ( ! empty( $this->settings['admin-tabs'] ) && isset( $this->settings['admin-tabs']['premium'] ) );
1500
+ }
1501
+
1502
+ /**
1503
+ * Add plugin banner.
1504
+ *
1505
+ * @param string $page The page.
1506
+ */
1507
+ public function add_plugin_banner( $page ) {
1508
+ if ( $page !== $this->settings['page'] || ! isset( $this->settings['class'] ) ) {
1509
+ return;
1510
+ }
1511
+
1512
+ ?>
1513
+ <?php if ( $this->is_free() && isset( $this->settings['plugin_slug'] ) ) : ?>
1514
+ <?php
1515
+ $rate_link = apply_filters( 'yith_plugin_fw_rate_url', 'https://wordpress.org/support/plugin/' . $this->settings['plugin_slug'] . '/reviews/#new-post' );
1516
+ ?>
1517
+ <h1 class="notice-container"></h1>
1518
+ <div class="yith-plugin-fw-banner">
1519
+ <h1><?php echo esc_html( $this->settings['page_title'] ); ?></h1>
1520
+ </div>
1521
+ <div class="yith-plugin-fw-rate">
1522
+ <?php
1523
+ printf(
1524
+ '<strong>%s</strong> %s <a href="%s" target="_blank"><u>%s</u> <span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span></a> %s',
1525
+ esc_html__( 'We need your support', 'yith-plugin-fw' ),
1526
+ esc_html__( 'to keep updating and improving the plugin. Please,', 'yith-plugin-fw' ),
1527
+ esc_url( $rate_link ),
1528
+ esc_html__( 'help us by leaving a good review', 'yith-plugin-fw' ),
1529
+ esc_html__( ':) Thanks!', 'yith-plugin-fw' )
1530
+ );
1531
+ ?>
1532
+ </div>
1533
+ <?php else : ?>
1534
+ <h1 class="notice-container"></h1>
1535
+ <div class="yith-plugin-fw-banner">
1536
+ <h1><?php echo esc_html( $this->settings['page_title'] ); ?></h1>
1537
+ </div>
1538
+ <?php endif ?>
1539
+ <?php
1540
+ }
1541
+
1542
+ /**
1543
+ * Add additional element after print the field.
1544
+ *
1545
+ * @param array $field The field.
1546
+ *
1547
+ * @author Emanuela Castorina
1548
+ * @since 3.2
1549
+ */
1550
+ public function add_yith_ui( $field ) {
1551
+ global $pagenow;
1552
+
1553
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
1554
+
1555
+ if ( empty( $this->settings['class'] ) || ! isset( $field['type'] ) ) {
1556
+ return;
1557
+ }
1558
+ if ( 'admin.php' === $pagenow && $screen && strpos( $screen->id, $this->settings['page'] ) !== false ) {
1559
+ switch ( $field['type'] ) {
1560
+ case 'datepicker':
1561
+ echo '<span class="yith-icon yith-icon-calendar yith-icon--right-overlay"></span>';
1562
+ break;
1563
+ default:
1564
+ break;
1565
+ }
1566
+ }
1567
+ }
1568
+
1569
+ /**
1570
+ * Get post type tabs.
1571
+ *
1572
+ * @param string $post_type The post type.
1573
+ *
1574
+ * @return array
1575
+ */
1576
+ public function get_post_type_tabs( $post_type ) {
1577
+ $tabs = array();
1578
+
1579
+ foreach ( $this->get_tabs_hierarchy() as $key => $info ) {
1580
+ if ( isset( $info['type'], $info['post_type'] ) && 'post_type' === $info['type'] && $post_type === $info['post_type'] ) {
1581
+ if ( ! empty( $info['parent'] ) ) {
1582
+ $tabs = array(
1583
+ 'tab' => $info['parent'],
1584
+ 'sub_tab' => $key,
1585
+ 'options' => $info,
1586
+ );
1587
+ } else {
1588
+ $tabs = array(
1589
+ 'tab' => $key,
1590
+ 'options' => $info,
1591
+ );
1592
+ }
1593
+ break;
1594
+ }
1595
+ }
1596
+
1597
+ $panel_page = isset( $this->settings['page'] ) ? $this->settings['page'] : 'general';
1598
+
1599
+ return apply_filters( "yith_plugin_fw_panel_{$panel_page}_get_post_type_tabs", $tabs, $post_type );
1600
+ }
1601
+
1602
+ /**
1603
+ * Get the taxonomy tabs.
1604
+ *
1605
+ * @param string $taxonomy The taxonomy.
1606
+ *
1607
+ * @return array
1608
+ */
1609
+ public function get_taxonomy_tabs( $taxonomy ) {
1610
+ $tabs = array();
1611
+
1612
+ foreach ( $this->get_tabs_hierarchy() as $key => $info ) {
1613
+ if ( isset( $info['type'], $info['taxonomy'] ) && 'taxonomy' === $info['type'] && $taxonomy === $info['taxonomy'] ) {
1614
+ if ( ! empty( $info['parent'] ) ) {
1615
+ $tabs = array(
1616
+ 'tab' => $info['parent'],
1617
+ 'sub_tab' => $key,
1618
+ 'options' => $info,
1619
+ );
1620
+ } else {
1621
+ $tabs = array(
1622
+ 'tab' => $key,
1623
+ 'options' => $info,
1624
+ );
1625
+ }
1626
+ break;
1627
+ }
1628
+ }
1629
+
1630
+ $panel_page = isset( $this->settings['page'] ) ? $this->settings['page'] : 'general';
1631
+
1632
+ return apply_filters( "yith_plugin_fw_panel_{$panel_page}_get_taxonomy_tabs", $tabs, $taxonomy );
1633
+ }
1634
+
1635
+
1636
+ /**
1637
+ * If the panel page is a WP Page, this will redirect you to the correct page
1638
+ * useful when a Post Type (Taxonomy) is the first tab of your panel, so when you open your panel it'll open the Post Type (Taxonomy) list
1639
+ *
1640
+ * @since 3.4.0
1641
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1642
+ */
1643
+ public function maybe_redirect_to_proper_wp_page() {
1644
+ // phpcs:disable WordPress.Security.NonceVerification.Recommended
1645
+ global $pagenow;
1646
+ if (
1647
+ 'admin.php' === $pagenow && isset( $_GET['page'] ) && $this->settings['page'] === $_GET['page']
1648
+ &&
1649
+ ! $this->is_custom_taxonomy_page() && ! $this->is_custom_post_type_page()
1650
+ &&
1651
+ ! isset( $_REQUEST['yith-plugin-fw-panel-skip-redirect'] )
1652
+ ) {
1653
+ $url = $this->get_nav_url( $this->settings['page'], $this->get_current_tab(), $this->get_current_sub_tab() );
1654
+ if ( strpos( $url, 'edit.php' ) !== false || strpos( $url, 'edit-tags.php' ) !== false ) {
1655
+ wp_safe_redirect( add_query_arg( array( 'yith-plugin-fw-panel-skip-redirect' => 1 ), $url ) );
1656
+ exit;
1657
+ }
1658
+ }
1659
+ // phpcs:enable
1660
+ }
1661
+
1662
+ /**
1663
+ * Print the Panel tabs and sub-tabs navigation in WP pages
1664
+ * Important: this opens a wrapper <div> that will be closed through YIT_Plugin_Panel::print_panel_tabs_in_post_edit_page_end()
1665
+ *
1666
+ * @since 3.4.0
1667
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1668
+ */
1669
+ public function print_panel_tabs_in_wp_pages() {
1670
+ if ( self::$panel_tabs_in_wp_pages ) {
1671
+ global $pagenow;
1672
+
1673
+ wp_enqueue_style( 'yit-plugin-style' );
1674
+ wp_enqueue_script( 'yit-plugin-panel' );
1675
+
1676
+ $wrap_class = isset( $this->settings['class'] ) ? $this->settings['class'] : '';
1677
+ $options = isset( self::$panel_tabs_in_wp_pages['options'] ) ? self::$panel_tabs_in_wp_pages['options'] : array();
1678
+
1679
+ $options_to_classes = array( 'type', 'post_type', 'taxonomy' );
1680
+ $page_wrapper_classes = array(
1681
+ 'yith-plugin-fw-wp-page-wrapper',
1682
+ isset( $options['wrapper-class'] ) ? $options['wrapper-class'] : '',
1683
+ );
1684
+
1685
+ if ( in_array( $pagenow, array( 'edit.php', 'edit-tags.php' ), true ) ) {
1686
+ $options_to_classes[] = 'wp-list-style';
1687
+ $page_wrapper_classes[] = 'yith-plugin-ui';
1688
+ }
1689
+
1690
+ foreach ( $options_to_classes as $key ) {
1691
+ if ( isset( $options[ $key ] ) ) {
1692
+ $option = $options[ $key ];
1693
+ $page_wrapper_classes[] = "yith-plugin-ui--{$option}-{$key}";
1694
+ }
1695
+ }
1696
+
1697
+ $page_wrapper_classes = implode( ' ', array_filter( $page_wrapper_classes ) );
1698
+
1699
+ echo '<div class="' . esc_attr( $page_wrapper_classes ) . '">';
1700
+
1701
+ echo '<div class="' . esc_attr( $wrap_class ) . '">';
1702
+
1703
+ $this->add_plugin_banner( $this->settings['page'] );
1704
+ $this->print_tabs_nav( self::$panel_tabs_in_wp_pages );
1705
+ echo '</div>';
1706
+
1707
+ if ( self::$panel_tabs_in_wp_pages['current_sub_tab'] ) {
1708
+ echo '<div class="yith-plugin-fw-wp-page__sub-tab-wrap">';
1709
+ }
1710
+ }
1711
+ }
1712
+
1713
+ /**
1714
+ * Close the wrapper opened in YIT_Plugin_Panel::print_panel_tabs_in_wp_pages()
1715
+ *
1716
+ * @since 3.4.0
1717
+ * @author Leanza Francesco <leanzafrancesco@gmail.com>
1718
+ */
1719
+ public function print_panel_tabs_in_wp_pages_end() {
1720
+ if ( self::$panel_tabs_in_wp_pages ) {
1721
+
1722
+ if ( self::$panel_tabs_in_wp_pages['current_sub_tab'] ) {
1723
+ echo '</div><!-- /yith-plugin-fw-wp-page__sub-tab-wrap -->';
1724
+ }
1725
+
1726
+ echo '</div><!-- /yith-plugin-fw-wp-page-wrapper -->';
1727
+ }
1728
+ }
1729
+
1730
+ /**
1731
+ * Set the parent page to handle menu for WP Pages.
1732
+ *
1733
+ * @param string $parent_file The parent file.
1734
+ *
1735
+ * @return string
1736
+ */
1737
+ public function set_parent_file_to_handle_menu_for_wp_pages( $parent_file ) {
1738
+ if ( self::$panel_tabs_in_wp_pages ) {
1739
+ return 'yith_plugin_panel';
1740
+ }
1741
+
1742
+ return $parent_file;
1743
+ }
1744
+
1745
+ /**
1746
+ * Set the submenu page to handle menu for WP Pages.
1747
+ *
1748
+ * @param string $submenu_file The submenu file.
1749
+ * @param string $parent_file The parent file.
1750
+ *
1751
+ * @return mixed
1752
+ */
1753
+ public function set_submenu_file_to_handle_menu_for_wp_pages( $submenu_file, $parent_file ) {
1754
+ if ( self::$panel_tabs_in_wp_pages ) {
1755
+ return $this->settings['page'];
1756
+ }
1757
+
1758
+ return $submenu_file;
1759
+ }
1760
+
1761
+ /**
1762
+ * Save the toggle element options.
1763
+ *
1764
+ * @return bool
1765
+ */
1766
+ public function save_toggle_element_options() {
1767
+ return true;
1768
+ }
1769
+
1770
+ /**
1771
+ * Add UTM data in premium tab
1772
+ *
1773
+ * @param string $url The url that want to track.
1774
+ * @param string $slug Plugin slug.
1775
+ *
1776
+ * @since 3.8.4
1777
+ */
1778
+ public function add_utm_data_on_premium_tab( $url, $slug ) {
1779
+ return ! empty( $this->settings['plugin_slug'] ) && $slug === $this->settings['plugin_slug'] && 'premium' === $this->get_current_tab() ? yith_plugin_fw_add_utm_data( $url, $slug, 'button-upgrade', 'wp-free-dashboard' ) : $url;
1780
+ }
1781
+ }
1782
+ }
plugin-fw/init.php CHANGED
@@ -1,108 +1,108 @@
1
- <?php
2
- /**
3
- * Framework Name: YIT Plugin Framework
4
- * Version: 3.8.6
5
- * Author: YITH
6
- * Text Domain: yith-plugin-fw
7
- * Domain Path: /languages/
8
- *
9
- * @author YITH
10
- * @version 3.8.6
11
- * @package YITH\PluginFramework
12
- */
13
-
14
- defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
15
-
16
- if ( ! function_exists( 'yit_maybe_plugin_fw_loader' ) ) {
17
- /**
18
- * Load the framework if it's not yet loaded.
19
- *
20
- * @param string $plugin_path The plugin path.
21
- */
22
- function yit_maybe_plugin_fw_loader( $plugin_path ) {
23
- global $plugin_fw_data, $plugin_upgrade_fw_data;
24
-
25
- $default_headers = array(
26
- 'Name' => 'Framework Name',
27
- 'Version' => 'Version',
28
- 'Author' => 'Author',
29
- 'TextDomain' => 'Text Domain',
30
- 'DomainPath' => 'Domain Path',
31
- );
32
-
33
- $plugin_path = trailingslashit( $plugin_path );
34
- $framework_data = get_file_data( $plugin_path . 'plugin-fw/init.php', $default_headers );
35
- $plugin_fw_main_file = $plugin_path . 'plugin-fw/yit-plugin.php';
36
-
37
- if ( ! empty( $plugin_fw_data ) ) {
38
- foreach ( $plugin_fw_data as $version => $path ) {
39
- if ( version_compare( $version, $framework_data['Version'], '<' ) ) {
40
- $plugin_fw_data = array( $framework_data['Version'] => $plugin_fw_main_file );
41
- }
42
- }
43
- } else {
44
- $plugin_fw_data = array( $framework_data['Version'] => $plugin_fw_main_file );
45
- }
46
-
47
- // Check for license & upgrade classes.
48
- $upgrade_fw_init_file = $plugin_path . 'plugin-upgrade/init.php';
49
- $framework_data = file_exists( $upgrade_fw_init_file ) ? get_file_data( $upgrade_fw_init_file, $default_headers ) : $framework_data;
50
- $plugin_license_path = $plugin_path . 'plugin-upgrade';
51
- $plugin_upgrade_path = $plugin_path . 'plugin-upgrade';
52
-
53
- if ( ! file_exists( $plugin_upgrade_path ) ) {
54
- // Check path for OLD plugin framework version.
55
- if ( file_exists( $plugin_path . 'plugin-fw/licence' ) ) {
56
- $plugin_license_path = $plugin_path . 'plugin-fw/licence';
57
- $plugin_upgrade_path = $plugin_path . 'plugin-fw/';
58
- } else {
59
- $plugin_upgrade_path = false;
60
- $plugin_license_path = false;
61
- }
62
- }
63
-
64
- if ( file_exists( $plugin_upgrade_path ) ) {
65
- if ( ! empty( $plugin_upgrade_fw_data ) ) {
66
- foreach ( $plugin_upgrade_fw_data as $version => $files ) {
67
- if ( version_compare( $version, $framework_data['Version'], '<' ) ) {
68
- $plugin_upgrade_fw_data = array( $framework_data['Version'] => yit_get_upgrade_files( $plugin_license_path, $plugin_upgrade_path ) );
69
- }
70
- }
71
- } else {
72
- $plugin_upgrade_fw_data = array( $framework_data['Version'] => yit_get_upgrade_files( $plugin_license_path, $plugin_upgrade_path ) );
73
- }
74
- }
75
- }
76
- }
77
-
78
- if ( ! function_exists( 'yit_get_upgrade_files' ) ) {
79
- /**
80
- * Retrieve the core files to include to manage license and upgrade if exists.
81
- *
82
- * @param string $plugin_license_path The license path.
83
- * @param string $plugin_upgrade_path The upgrade path.
84
- *
85
- * @return array to files to include
86
- */
87
- function yit_get_upgrade_files( $plugin_license_path, $plugin_upgrade_path = '' ) {
88
- $to_include = array();
89
-
90
- if ( ! ! $plugin_license_path ) {
91
- $plugin_upgrade_path = empty( $plugin_upgrade_path ) ? $plugin_license_path : $plugin_upgrade_path;
92
- $license_files = array(
93
- '%yith-license-path%/lib/yit-licence.php',
94
- '%yith-license-path%/lib/yit-plugin-licence.php',
95
- '%yith-license-path%/lib/yit-theme-licence.php',
96
- );
97
-
98
- $upgrade_files = array( '%yith-upgrade-path%/lib/yit-plugin-upgrade.php' );
99
-
100
- $to_include_license = str_replace( '%yith-license-path%', $plugin_license_path, $license_files );
101
- $to_include_upgrade = str_replace( '%yith-upgrade-path%', $plugin_upgrade_path, $upgrade_files );
102
-
103
- $to_include = array_merge( $to_include_license, $to_include_upgrade );
104
- }
105
-
106
- return $to_include;
107
- }
108
- }
1
+ <?php
2
+ /**
3
+ * Framework Name: YIT Plugin Framework
4
+ * Version: 3.9.0
5
+ * Author: YITH
6
+ * Text Domain: yith-plugin-fw
7
+ * Domain Path: /languages/
8
+ *
9
+ * @author YITH
10
+ * @version 3.9.0
11
+ * @package YITH\PluginFramework
12
+ */
13
+
14
+ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
15
+
16
+ if ( ! function_exists( 'yit_maybe_plugin_fw_loader' ) ) {
17
+ /**
18
+ * Load the framework if it's not yet loaded.
19
+ *
20
+ * @param string $plugin_path The plugin path.
21
+ */
22
+ function yit_maybe_plugin_fw_loader( $plugin_path ) {
23
+ global $plugin_fw_data, $plugin_upgrade_fw_data;
24
+
25
+ $default_headers = array(
26
+ 'Name' => 'Framework Name',
27
+ 'Version' => 'Version',
28
+ 'Author' => 'Author',
29
+ 'TextDomain' => 'Text Domain',
30
+ 'DomainPath' => 'Domain Path',
31
+ );
32
+
33
+ $plugin_path = trailingslashit( $plugin_path );
34
+ $framework_data = get_file_data( $plugin_path . 'plugin-fw/init.php', $default_headers );
35
+ $plugin_fw_main_file = $plugin_path . 'plugin-fw/yit-plugin.php';
36
+
37
+ if ( ! empty( $plugin_fw_data ) ) {
38
+ foreach ( $plugin_fw_data as $version => $path ) {
39
+ if ( version_compare( $version, $framework_data['Version'], '<' ) ) {
40
+ $plugin_fw_data = array( $framework_data['Version'] => $plugin_fw_main_file );
41
+ }
42
+ }
43
+ } else {
44
+ $plugin_fw_data = array( $framework_data['Version'] => $plugin_fw_main_file );
45
+ }
46
+
47
+ // Check for license & upgrade classes.
48
+ $upgrade_fw_init_file = $plugin_path . 'plugin-upgrade/init.php';
49
+ $framework_data = file_exists( $upgrade_fw_init_file ) ? get_file_data( $upgrade_fw_init_file, $default_headers ) : $framework_data;
50
+ $plugin_license_path = $plugin_path . 'plugin-upgrade';
51
+ $plugin_upgrade_path = $plugin_path . 'plugin-upgrade';
52
+
53
+ if ( ! file_exists( $plugin_upgrade_path ) ) {
54
+ // Check path for OLD plugin framework version.
55
+ if ( file_exists( $plugin_path . 'plugin-fw/licence' ) ) {
56
+ $plugin_license_path = $plugin_path . 'plugin-fw/licence';
57
+ $plugin_upgrade_path = $plugin_path . 'plugin-fw/';
58
+ } else {
59
+ $plugin_upgrade_path = false;
60
+ $plugin_license_path = false;
61
+ }
62
+ }
63
+
64
+ if ( file_exists( $plugin_upgrade_path ) ) {
65
+ if ( ! empty( $plugin_upgrade_fw_data ) ) {
66
+ foreach ( $plugin_upgrade_fw_data as $version => $files ) {
67
+ if ( version_compare( $version, $framework_data['Version'], '<' ) ) {
68
+ $plugin_upgrade_fw_data = array( $framework_data['Version'] => yit_get_upgrade_files( $plugin_license_path, $plugin_upgrade_path ) );
69
+ }
70
+ }
71
+ } else {
72
+ $plugin_upgrade_fw_data = array( $framework_data['Version'] => yit_get_upgrade_files( $plugin_license_path, $plugin_upgrade_path ) );
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ if ( ! function_exists( 'yit_get_upgrade_files' ) ) {
79
+ /**
80
+ * Retrieve the core files to include to manage license and upgrade if exists.
81
+ *
82
+ * @param string $plugin_license_path The license path.
83
+ * @param string $plugin_upgrade_path The upgrade path.
84
+ *
85
+ * @return array to files to include
86
+ */
87
+ function yit_get_upgrade_files( $plugin_license_path, $plugin_upgrade_path = '' ) {
88
+ $to_include = array();
89
+
90
+ if ( ! ! $plugin_license_path ) {
91
+ $plugin_upgrade_path = empty( $plugin_upgrade_path ) ? $plugin_license_path : $plugin_upgrade_path;
92
+ $license_files = array(
93
+ '%yith-license-path%/lib/yit-licence.php',
94
+ '%yith-license-path%/lib/yit-plugin-licence.php',
95
+ '%yith-license-path%/lib/yit-theme-licence.php',
96
+ );
97
+
98
+ $upgrade_files = array( '%yith-upgrade-path%/lib/yit-plugin-upgrade.php' );
99
+
100
+ $to_include_license = str_replace( '%yith-license-path%', $plugin_license_path, $license_files );
101
+ $to_include_upgrade = str_replace( '%yith-upgrade-path%', $plugin_upgrade_path, $upgrade_files );
102
+
103
+ $to_include = array_merge( $to_include_license, $to_include_upgrade );
104
+ }
105
+
106
+ return $to_include;
107
+ }
108
+ }
plugin-fw/languages/yith-plugin-fw-el.po CHANGED
@@ -1,1000 +1,1036 @@
1
- # Translation of YITH Framework in Greek
2
- # This file is distributed under the same license as the YITH Framework package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: YITH Framework\n"
6
- "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2021-12-02 07:20:36+00:00\n"
8
- "PO-Revision-Date: 2021-02-11 18:07:46+0000\n"
9
- "Language: el_GR\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
- "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
-
16
- #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
- msgid "Confirm trash"
18
- msgstr ""
19
-
20
- #: includes/class-yit-assets.php:147
21
- msgid "Are you sure you want to trash the selected items?"
22
- msgstr ""
23
-
24
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
- #: yit-functions.php:1981 yit-functions.php:1999
27
- msgid "No"
28
- msgstr "Όχι"
29
-
30
- #: includes/class-yit-assets.php:150 yit-functions.php:1997
31
- #: yit-functions.php:2125
32
- msgid "Confirm delete"
33
- msgstr ""
34
-
35
- #: includes/class-yit-assets.php:151
36
- msgid "Are you sure you want to delete the selected items?"
37
- msgstr ""
38
-
39
- #: includes/class-yit-assets.php:151 yit-functions.php:1913
40
- #: yit-functions.php:2073
41
- msgid ""
42
- "This action cannot be undone and you will not be able to recover this data."
43
- msgstr ""
44
-
45
- #: includes/class-yit-assets.php:164
46
- msgid "Clear"
47
- msgstr "Καθαρισμός"
48
-
49
- #: includes/class-yit-assets.php:165
50
- msgid "Clear color"
51
- msgstr "Καθαρισμός χρώματος"
52
-
53
- #: includes/class-yit-assets.php:166
54
- msgid "Default"
55
- msgstr "Προεπιλεγμένο"
56
-
57
- #: includes/class-yit-assets.php:167
58
- msgid "Select default color"
59
- msgstr "Επιλογή προεπιλεγμένου χρώματος"
60
-
61
- #: includes/class-yit-assets.php:168
62
- msgid "Select Color"
63
- msgstr "Επιλογή Χρώματος"
64
-
65
- #: includes/class-yit-assets.php:169
66
- msgid "Color value"
67
- msgstr "Αξία χρώματος"
68
-
69
- #: includes/class-yit-help-desk.php:152
70
- msgid "There was an error with your request; please try again later."
71
- msgstr ""
72
-
73
- #: includes/class-yit-plugin-panel-woocommerce.php:426
74
- msgid "The changes you have made will be lost if you leave this page."
75
- msgstr ""
76
- "Οι αλλαγές που έχετε δημιουργήσει θα χαθούν αν αφήσετε αυτήν την σελίδα."
77
-
78
- #: includes/class-yit-plugin-panel.php:83
79
- msgid "Plugin Settings"
80
- msgstr "Ρυθμίσεις Προσθέτου"
81
-
82
- #: includes/class-yit-plugin-panel.php:84
83
- msgid "Settings"
84
- msgstr "Ρυθμίσεις"
85
-
86
- #: includes/class-yit-plugin-panel.php:453
87
- #: includes/class-yit-plugin-panel.php:456
88
- msgid "How to install premium version"
89
- msgstr "Πώς να εγκαταστήσετε την προηγμένη έκδοση"
90
-
91
- #: includes/class-yit-plugin-panel.php:654
92
- #: includes/class-yit-plugin-subpanel.php:132
93
- msgid "Save Changes"
94
- msgstr "Αποθήκευση Αλλαγών"
95
-
96
- #: includes/class-yit-plugin-panel.php:659
97
- #: includes/class-yit-plugin-subpanel.php:136
98
- #: templates/panel/woocommerce/woocommerce-form.php:14
99
- msgid ""
100
- "If you continue with this action, you will reset all options in this page."
101
- msgstr ""
102
- "Αν συνεχίσετε με αυτή την ενέργεια θα επαναφέρετε όλες τις επιλογές στη "
103
- "σελίδα."
104
-
105
- #: includes/class-yit-plugin-panel.php:659
106
- #: includes/class-yit-plugin-subpanel.php:136
107
- #: templates/panel/woocommerce/woocommerce-form.php:14
108
- msgid "Are you sure?"
109
- msgstr "Είστε σίγουρος;"
110
-
111
- #: includes/class-yit-plugin-panel.php:663
112
- #: includes/class-yit-plugin-subpanel.php:139
113
- msgid "Reset to default"
114
- msgstr "Επαναφορά σε προεπιλεγμένο"
115
-
116
- #: includes/class-yit-plugin-panel.php:981
117
- msgid ""
118
- "The element you have entered already exists. Please, enter another name."
119
- msgstr "Το στοιχείο που εισάγατε υπάρχει ήδη. Παρακαλώ, εισάγετε άλλο όνομα."
120
-
121
- #: includes/class-yit-plugin-panel.php:982
122
- msgid "Settings saved"
123
- msgstr "Ρυθμίσεις αποθηκεύτηκαν"
124
-
125
- #: includes/class-yit-plugin-panel.php:983
126
- msgid "Settings reset"
127
- msgstr "Επαναφορά ρυθμίσεων"
128
-
129
- #: includes/class-yit-plugin-panel.php:984
130
- msgid "Element deleted correctly."
131
- msgstr "Το στοιχείο διαγράφηκε επιτυχώς."
132
-
133
- #: includes/class-yit-plugin-panel.php:985
134
- #: includes/class-yit-plugin-panel.php:986
135
- msgid "Element updated correctly."
136
- msgstr "Το στοιχείο αναβαθμίστηκε επιτυχώς."
137
-
138
- #: includes/class-yit-plugin-panel.php:987
139
- msgid "Database imported correctly."
140
- msgstr "Επιτυχής εισαγωγή βάσης δεδομένων."
141
-
142
- #: includes/class-yit-plugin-panel.php:988
143
- msgid "An error has occurred during import. Please try again."
144
- msgstr "Παρουσιάστηκε σφάλμα κατά την εισαγωγή. Παρακαλώ προσπαθήστε ξανά."
145
-
146
- #: includes/class-yit-plugin-panel.php:989
147
- msgid "The added file is not valid."
148
- msgstr "Το προστιθέμενο αρχείο δεν είναι έγκυρο."
149
-
150
- #: includes/class-yit-plugin-panel.php:990
151
- msgid "Sorry, import is disabled."
152
- msgstr "Συγνώμη, η εισαγωγή είναι απενεργοποιημένη."
153
-
154
- #: includes/class-yit-plugin-panel.php:991
155
- msgid "Sorting successful."
156
- msgstr "Διαλογή επιτυχής."
157
-
158
- #: includes/class-yit-plugin-panel.php:1459
159
- msgid "We need your support"
160
- msgstr "Χρειαζόμαστε την υποστήριξή σας"
161
-
162
- #: includes/class-yit-plugin-panel.php:1460
163
- msgid "to keep updating and improving the plugin. Please,"
164
- msgstr ""
165
- "για να διατηρήσετε την ενημέρωση και τη βελτίωση του πρόσθετου. Παρακαλώ,"
166
-
167
- #: includes/class-yit-plugin-panel.php:1462
168
- msgid "help us by leaving a good review"
169
- msgstr ""
170
-
171
- #: includes/class-yit-plugin-panel.php:1463
172
- msgid ":) Thanks!"
173
- msgstr ":) Ευχαριστώ!"
174
-
175
- #: includes/class-yit-pointers.php:80
176
- msgid "Plugins Activated"
177
- msgstr "Ενεργοποιημένα Πρόσθετα"
178
-
179
- #: includes/class-yit-pointers.php:81
180
- msgid ""
181
- "From now on, you can find all plugin options in YITH menu. Plugin "
182
- "customization settings will be available as a new entry in YITH menu."
183
- msgstr ""
184
-
185
- #. translators: 1. YITH site link; 2. WordPress site link.
186
- #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
187
- msgid "Discover all our plugins available on: %1$s and %2$s"
188
- msgstr "Ανακαλύψτε όλα τα διαθέσιμά μας πρόσθετα στο: %1$s και %2$s"
189
-
190
- #: includes/class-yit-pointers.php:96
191
- msgid "Plugins Upgraded"
192
- msgstr "Αναβαθμισμένα Πρόσθετα"
193
-
194
- #: includes/class-yit-pointers.php:97
195
- msgid ""
196
- "From now on, you can find the option panel of YITH plugins in YITH menu. "
197
- "Every time one of our plugins is added, a new entry will be added to this "
198
- "menu. For example, after the update, plugin options (such as for YITH "
199
- "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
200
- "previous location to YITH menu."
201
- msgstr ""
202
-
203
- #: includes/class-yith-dashboard.php:35
204
- msgid "YITH Latest Updates"
205
- msgstr "Τελευταίες Αναβαθμίσεις YITH"
206
-
207
- #: includes/class-yith-dashboard.php:36
208
- msgid "Latest news from YITH Blog"
209
- msgstr "Τελευταία νέα από YITH Blog"
210
-
211
- #: includes/class-yith-dashboard.php:56
212
- msgid "RSS Error:"
213
- msgstr "Σφάλμα RSS:"
214
-
215
- #: includes/class-yith-dashboard.php:63
216
- msgid ""
217
- "An error has occurred, which probably means the feed is down. Try again "
218
- "later."
219
- msgstr ""
220
- "Παρουσιάστηκε σφάλμα, που πιθανότατα σημαίνει ότι έπεσε το τροφοδοτικό. "
221
- "Προσπαθήστε ξανά αργότερα."
222
-
223
- #. translators: %s is the name of the post type (example Back to "Membership
224
- #. Plans").
225
- #: includes/class-yith-post-type-admin.php:286
226
- msgid "Back to \"%s\""
227
- msgstr ""
228
-
229
- #: includes/class-yith-post-type-admin.php:286
230
- msgid "Back to the list"
231
- msgstr ""
232
-
233
- #: includes/class-yith-system-status.php:110
234
- msgid "WordPress Version"
235
- msgstr "Έκδοση WordPress"
236
-
237
- #: includes/class-yith-system-status.php:111
238
- msgid "WooCommerce Version"
239
- msgstr "Έκδοση WooCommerce"
240
-
241
- #: includes/class-yith-system-status.php:112
242
- msgid "Available Memory"
243
- msgstr "Διαθέσιμη Μνήμη"
244
-
245
- #: includes/class-yith-system-status.php:113
246
- msgid "PHP Version"
247
- msgstr "Έκδοση PHP"
248
-
249
- #: includes/class-yith-system-status.php:114
250
- msgid "TLS Version"
251
- msgstr "Έκδοση TLS"
252
-
253
- #: includes/class-yith-system-status.php:115
254
- msgid "WordPress Cron"
255
- msgstr "WordPress Cron"
256
-
257
- #: includes/class-yith-system-status.php:116
258
- msgid "SimpleXML"
259
- msgstr "SimpleXML"
260
-
261
- #: includes/class-yith-system-status.php:117
262
- msgid "MultiByte String"
263
- msgstr "MultiByte String"
264
-
265
- #: includes/class-yith-system-status.php:118
266
- msgid "ImageMagick Version"
267
- msgstr "Έκδοση ImageMagick"
268
-
269
- #: includes/class-yith-system-status.php:119
270
- msgid "GD Library"
271
- msgstr "Βιβλιοθήκη GD"
272
-
273
- #: includes/class-yith-system-status.php:120
274
- msgid "Iconv Module"
275
- msgstr "Άρθρωμα Iconv"
276
-
277
- #: includes/class-yith-system-status.php:121
278
- msgid "OPCache Save Comments"
279
- msgstr "OPCache Save Comments"
280
-
281
- #: includes/class-yith-system-status.php:122
282
- msgid "URL FOpen"
283
- msgstr "URL FOpen"
284
-
285
- #: includes/class-yith-system-status.php:140
286
- #: includes/class-yith-system-status.php:141
287
- #: templates/sysinfo/system-information-panel.php:11
288
- msgid "System Status"
289
- msgstr "Κατάσταση Συστήματος"
290
-
291
- #: includes/class-yith-system-status.php:183
292
- msgid "YITH Plugins"
293
- msgstr "Πρόσθετα YITH"
294
-
295
- #: includes/class-yith-system-status.php:191
296
- msgid "WooCommerce"
297
- msgstr "WooCommerce"
298
-
299
- #: includes/class-yith-system-status.php:342
300
- msgid "Warning!"
301
- msgstr "Προσοχή!"
302
-
303
- #. translators: %1$s open link tag, %2$s open link tag
304
- #: includes/class-yith-system-status.php:346
305
- msgid ""
306
- "The system check has detected some compatibility issues on your installation."
307
- "%1$sClick here%2$s to know more"
308
- msgstr ""
309
- "Ο έλεγχος συστήματος έχει εντοπίσει κάποια προβλήματα συμβατότητας στην "
310
- "εγκατάστασή σας.%1$sΚάντε κλικ εδώ%2$s για να μάθετε περισσότερα"
311
-
312
- #: includes/class-yith-system-status.php:488
313
- msgid "Enabled"
314
- msgstr "Ενεργοποιημένο"
315
-
316
- #: includes/class-yith-system-status.php:488
317
- msgid "Disabled"
318
- msgstr "Απενεργοποιημένο"
319
-
320
- #: includes/class-yith-system-status.php:493
321
- msgid "N/A"
322
- msgstr "N/A"
323
-
324
- #. translators: %1$s plugin name, %2$s requirement name
325
- #: includes/class-yith-system-status.php:520
326
- msgid "%1$s needs %2$s enabled"
327
- msgstr "%1$s χρειάζεται %2$s ενεργοποιημένο"
328
-
329
- #. translators: %1$s plugin name, %2$s required memory amount
330
- #: includes/class-yith-system-status.php:523
331
- msgid "%1$s needs at least %2$s of available memory"
332
- msgstr "%1$s χρειάζεται τουλάχιστον %2$s διαθέσιμης μνήμης"
333
-
334
- #. translators: %1$s plugin name, %2$s version number
335
- #: includes/class-yith-system-status.php:526
336
- msgid "%1$s needs at least %2$s version"
337
- msgstr "%1$s χρειάζεται τουλάχιστον %2$s έκδοση"
338
-
339
- #: includes/class-yith-system-status.php:550
340
- msgid ""
341
- "Update it to the latest version in order to benefit of all new features and "
342
- "security updates."
343
- msgstr ""
344
- "Κάντε αναβάθμιση της τελευταίας έκδοσης για να επωφεληθείτε από τα νέα "
345
- "χαρακτηριστικά και τις αναβαθμίσεις προστασίας."
346
-
347
- #: includes/class-yith-system-status.php:554
348
- #: includes/class-yith-system-status.php:560
349
- msgid "Contact your hosting company in order to update it."
350
- msgstr "Επικοινωνήστε με την εταιρεία hosting σας για να αναβαθμίσετε."
351
-
352
- #: includes/class-yith-system-status.php:558
353
- msgid "Contact your hosting company in order to install it."
354
- msgstr "Επικοινωνήστε με την εταιρεία hosting σας για να το ενεργοποιήσετε."
355
-
356
- #. translators: %1$s code, %2$s file name
357
- #: includes/class-yith-system-status.php:565
358
- msgid "Remove %1$s from %2$s file"
359
- msgstr "Αφαίρεση %1$s από αρχείο %2$s"
360
-
361
- #: includes/class-yith-system-status.php:573
362
- msgid "Contact your hosting company in order to enable it."
363
- msgstr "Επικοινωνήστε με την εταιρεία hosting σας για να ενεργοποιήσετε."
364
-
365
- #. translators: %1$s opening link tag, %2$s closing link tag
366
- #: includes/class-yith-system-status.php:577
367
- #: includes/class-yith-system-status.php:600
368
- msgid ""
369
- "Read more %1$shere%2$s or contact your hosting company in order to increase "
370
- "it."
371
- msgstr ""
372
- "Μάθετε περισσότερα %1$sεδώ%2$s ή επικοινωνήστε με την εταιρεία hosting σας "
373
- "για να το βελτιώσετε."
374
-
375
- #. translators: %s recommended memory amount
376
- #: includes/class-yith-system-status.php:597
377
- msgid ""
378
- "For optimal functioning of our plugins, we suggest setting at least %s of "
379
- "available memory"
380
- msgstr ""
381
- "Για την βέλτιστη λειτουργικότητα των προσθέτων μας, προτείνουμε να ορίσετε "
382
- "τουλάχιστον %s διαθέσιμης μνήμης"
383
-
384
- #. translators: %1$s TLS label, %2$s cURL label
385
- #: includes/class-yith-system-status.php:605
386
- msgid ""
387
- "The system check cannot determine which %1$s version is installed because "
388
- "%2$s module is disabled. Ask your hosting company to enable it."
389
- msgstr ""
390
- "Το σύστημα δεν μπορεί να καθορίσει ποια %1$s έκδοση έχει εγκατασταθεί γιατί "
391
- "το %2$s άρθρωμα είναι απενεργοποιημένο. Ζητήστε από την εταιρεία hosting σας "
392
- "να το ενεργοποιήσει."
393
-
394
- #. translators: %1$s TLS label
395
- #: includes/class-yith-system-status.php:608
396
- msgid ""
397
- "The system check cannot determine which %1$s version is installed due to a "
398
- "connection issue between your site and our server."
399
- msgstr ""
400
- "Ο έλεγχος συστήματος δεν μπορεί να διευκρινήσει ποια έκδοση %1$s έχει "
401
- "εγκατασταθεί λόγω προβλήματος σύνδεσης ανάμεσα στον ιστότοπο σας και τον "
402
- "διακομιστή μας."
403
-
404
- #: templates/fields/ajax-customers.php:41
405
- msgid "Search Customers"
406
- msgstr "Αναζήτηση Πελατών"
407
-
408
- #. translators: 1. user display name; 2. user ID; 3. user email.
409
- #: templates/fields/ajax-customers.php:68
410
- #: templates/fields/ajax-customers.php:79
411
- msgid "%1$s (#%2$s &ndash; %3$s)"
412
- msgstr "%1$s (#%2$s &ndash; %3$s)"
413
-
414
- #: templates/fields/ajax-posts.php:41
415
- msgid "Search Posts"
416
- msgstr "Αναζήτηση Άρθρου"
417
-
418
- #: templates/fields/ajax-products.php:14
419
- msgid "Search Product"
420
- msgstr "Αναζήτηση Προϊόντος"
421
-
422
- #: templates/fields/ajax-terms.php:41
423
- msgid "Search Categories"
424
- msgstr "Αναζήτηση Κατηγοριών"
425
-
426
- #: templates/fields/customtabs.php:17
427
- msgid "Close all"
428
- msgstr "Απενεργοποίηση όλων"
429
-
430
- #: templates/fields/customtabs.php:17
431
- msgid "Expand all"
432
- msgstr "Ανάπτυξη όλων"
433
-
434
- #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
435
- msgid "Remove"
436
- msgstr "Αφαίρεση"
437
-
438
- #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
439
- msgid "Name"
440
- msgstr "Όνομα"
441
-
442
- #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
443
- msgid "Value"
444
- msgstr "Τιμή"
445
-
446
- #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
447
- msgid "Content of the tab. (HTML is supported)"
448
- msgstr "Περιεχόμενο καρτέλας. (Υποστηρίζεται HTML)"
449
-
450
- #: templates/fields/customtabs.php:52
451
- msgid "Add custom product tab"
452
- msgstr "Προσθέστε καρτέλα προσαρμοσμένου προϊόντος"
453
-
454
- #: templates/fields/customtabs.php:93
455
- msgid "Do you want to remove the custom tab?"
456
- msgstr "Θέλετε να αφαιρέσετε την προσαρμοσμένη καρτέλα;"
457
-
458
- #: templates/fields/date-format.php:65
459
- msgid "Custom:"
460
- msgstr "Προσαρμογή:"
461
-
462
- #: templates/fields/date-format.php:70
463
- msgid "Preview:"
464
- msgstr "Προεπισκόπηση:"
465
-
466
- #: templates/fields/icons.php:78
467
- msgid "Set Default"
468
- msgstr "Ορίστε Προεπιλεγμένο"
469
-
470
- #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
471
- msgid "Delete image"
472
- msgstr "Διαγραφή εικόνας"
473
-
474
- #: templates/fields/image-gallery.php:37
475
- msgid "Add Images to Gallery"
476
- msgstr "Προσθέστε Εικόνες στη Συλλογή"
477
-
478
- #: templates/fields/image-gallery.php:38
479
- msgid "Add to gallery"
480
- msgstr "Προσθέστε στη συλλογή"
481
-
482
- #: templates/fields/image-gallery.php:39
483
- msgid "Add images"
484
- msgstr "Προσθέστε εικόνες"
485
-
486
- #: templates/fields/image-gallery.php:41
487
- msgid "Delete"
488
- msgstr "Διαγραφή"
489
-
490
- #: templates/fields/select-buttons.php:19
491
- msgid "Add All"
492
- msgstr "Προσθήκη Όλων"
493
-
494
- #: templates/fields/select-buttons.php:20
495
- msgid "Remove All"
496
- msgstr "Αφαίρεση Όλων"
497
-
498
- #: templates/fields/sidebars.php:20
499
- msgid "Left sidebar"
500
- msgstr "Αριστερή πλευρική στήλη"
501
-
502
- #: templates/fields/sidebars.php:23
503
- msgid "Right sidebar"
504
- msgstr "Δεξιά πλευρική στήλη"
505
-
506
- #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
507
- msgid "No sidebar"
508
- msgstr "Χωρίς πλευρική στήλη"
509
-
510
- #: templates/fields/sidebars.php:39
511
- msgid "Left Sidebar"
512
- msgstr "Αριστερή Πλευρική Στήλη"
513
-
514
- #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
515
- msgid "Choose a sidebar"
516
- msgstr "Επιλέξτε πλευρική στήλη"
517
-
518
- #: templates/fields/sidebars.php:54
519
- msgid "Right Sidebar"
520
- msgstr "Δεξιά Πλευρική Στήλη"
521
-
522
- #: templates/fields/upload.php:34
523
- #: templates/panel/woocommerce/woocommerce-upload.php:37
524
- msgid "Upload"
525
- msgstr "Ανέβασμα"
526
-
527
- #: templates/fields/upload.php:39
528
- msgid "Reset"
529
- msgstr "Επαναφορά"
530
-
531
- #: templates/panel/woocommerce/woocommerce-form.php:28
532
- #: templates/panel/woocommerce/woocommerce-form.php:32
533
- msgid "Save Options"
534
- msgstr ""
535
-
536
- #: templates/panel/woocommerce/woocommerce-form.php:32
537
- msgid "Options Saved"
538
- msgstr ""
539
-
540
- #: templates/panel/woocommerce/woocommerce-form.php:38
541
- msgid "Reset Defaults"
542
- msgstr "Επαναφορά Προεπιλεγμένων"
543
-
544
- #: templates/sysinfo/system-information-panel.php:12
545
- msgid "PHPInfo"
546
- msgstr "PHPInfo"
547
-
548
- #: templates/sysinfo/system-information-panel.php:13
549
- #: templates/sysinfo/tabs/error-log.php:25
550
- msgid "Log Files"
551
- msgstr "Αρχεία Καταγραφής"
552
-
553
- #: templates/sysinfo/system-information-panel.php:22
554
- msgid "YITH System Information"
555
- msgstr "Σύστημα Πληροφοριών YITH"
556
-
557
- #: templates/sysinfo/tabs/error-log.php:13
558
- msgid "WP debug.log file"
559
- msgstr "Αρχείο WP debug.log"
560
-
561
- #: templates/sysinfo/tabs/error-log.php:18
562
- msgid "PHP error_log file"
563
- msgstr "Αρχείο PHP error_log"
564
-
565
- #: templates/sysinfo/tabs/error-log.php:60
566
- msgid "Download"
567
- msgstr "Κατέβασμα"
568
-
569
- #: templates/sysinfo/tabs/error-log.php:72
570
- msgid "The file size exceeds 8 megabytes so it must be downloaded"
571
- msgstr ""
572
- "Το μέγεθος αρχείου υπερβαίνει τα 8 megabytes οπότε θα πρέπει να το κατεβάσετε"
573
-
574
- #. translators: %s file name.
575
- #: templates/sysinfo/tabs/error-log.php:96
576
- msgid ""
577
- "No Log file available. Enable the WordPress debug by adding this in the %s "
578
- "file of your installation"
579
- msgstr ""
580
- "Δεν υπάρχει διαθέσιμο αρχείο Καταγραφής. Ενεργοποιήστε την αποσφαλμάτωση "
581
- "WordPress προσθέτοντάς το στο αρχείο %s της εγκατάστασής σας"
582
-
583
- #: templates/sysinfo/tabs/error-log.php:105
584
- msgid "Copied!"
585
- msgstr "Έγινε αντιγραφή!"
586
-
587
- #: templates/sysinfo/tabs/error-log.php:105
588
- msgid "Copy Code"
589
- msgstr "Αντιγραφή Κώδικα"
590
-
591
- #: templates/sysinfo/tabs/main.php:17
592
- msgid "Site Info"
593
- msgstr "Στοιχεία Ιστότοπου"
594
-
595
- #: templates/sysinfo/tabs/main.php:22
596
- msgid "Site URL"
597
- msgstr "URL Ιστοσελίδας"
598
-
599
- #: templates/sysinfo/tabs/main.php:31
600
- msgid "Output IP Address"
601
- msgstr "Διεύθυνση IP Παραγωγής"
602
-
603
- #: templates/sysinfo/tabs/main.php:39
604
- msgid "Defined WP_CACHE"
605
- msgstr "Καθορισμένο WP_CACHE"
606
-
607
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
608
- msgid "Yes"
609
- msgstr "Ναι"
610
-
611
- #: templates/sysinfo/tabs/main.php:47
612
- msgid "External object cache"
613
- msgstr "Cache εξωτερικού αντικειμένου"
614
-
615
- #: templates/sysinfo/tabs/main.php:55
616
- msgid "YITH Plugin Framework Version"
617
- msgstr ""
618
-
619
- #. translators: %s is the name of the plugin that is loading the framework.
620
- #: templates/sysinfo/tabs/main.php:64
621
- msgid "loaded by %s"
622
- msgstr ""
623
-
624
- #: templates/sysinfo/tabs/main.php:73
625
- msgid "Plugins Requirements"
626
- msgstr "Προϋποθέσεις Πρόσθετων"
627
-
628
- #: templates/sysinfo/tabs/main.php:108
629
- msgid "Database Info"
630
- msgstr ""
631
-
632
- #: templates/sysinfo/tabs/main.php:113
633
- msgid "MySQL version"
634
- msgstr ""
635
-
636
- #. Translators: %s: Codex link.
637
- #: templates/sysinfo/tabs/main.php:123
638
- msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
639
- msgstr ""
640
-
641
- #: templates/sysinfo/tabs/main.php:123
642
- msgid "WordPress requirements"
643
- msgstr ""
644
-
645
- #: templates/sysinfo/tabs/main.php:130
646
- msgid "Total Database Size"
647
- msgstr ""
648
-
649
- #: templates/sysinfo/tabs/main.php:138
650
- msgid "Database Data Size"
651
- msgstr ""
652
-
653
- #: templates/sysinfo/tabs/main.php:146
654
- msgid "Database Index Size"
655
- msgstr ""
656
-
657
- #: templates/sysinfo/tabs/main.php:154
658
- msgid "Database Free Size"
659
- msgstr ""
660
-
661
- #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
662
- #. Engine.
663
- #: templates/sysinfo/tabs/main.php:168
664
- msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
665
- msgstr ""
666
-
667
- #. translators: %s is the title of the post object.
668
- #: yit-functions.php:1911
669
- msgid "Are you sure you want to move \"%s\" to trash?"
670
- msgstr ""
671
-
672
- #. translators: %s is the title of the post object.
673
- #: yit-functions.php:1913 yit-functions.php:2073
674
- msgid "Are you sure you want to delete \"%s\"?"
675
- msgstr ""
676
-
677
- #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
678
- msgid "Further actions"
679
- msgstr ""
680
-
681
- #: yit-plugin.php:205
682
- msgid "License"
683
- msgstr "Άδεια χρήσης προϊόντος"
684
-
685
- #. Author of the plugin/theme
686
- msgid "YITH"
687
- msgstr "YITH"
688
-
689
- #. translators: %s it the Elementor Widget title.
690
- #: includes/builders/elementor/class-yith-elementor-widget.php:252
691
- msgctxt "Elementor Widget - section title"
692
- msgid "%s - Options"
693
- msgstr ""
694
-
695
- #: includes/builders/gutenberg/class-yith-gutenberg.php:149
696
- msgctxt "[gutenberg]: Category Name"
697
- msgid "YITH"
698
- msgstr "YITH"
699
-
700
- #: includes/class-yit-assets.php:134
701
- msgctxt "Button text"
702
- msgid "Confirm"
703
- msgstr ""
704
-
705
- #: includes/class-yit-assets.php:135
706
- msgctxt "Button text"
707
- msgid "Cancel"
708
- msgstr ""
709
-
710
- #: includes/class-yit-assets.php:148 yit-functions.php:1982
711
- msgctxt "Trash confirmation action"
712
- msgid "Yes, move to trash"
713
- msgstr ""
714
-
715
- #: includes/class-yit-assets.php:152 yit-functions.php:2000
716
- #: yit-functions.php:2127
717
- msgctxt "Delete confirmation action"
718
- msgid "Yes, delete"
719
- msgstr ""
720
-
721
- #: includes/class-yit-plugin-panel.php:490
722
- msgctxt "Help tab name"
723
- msgid "Help"
724
- msgstr ""
725
-
726
- #. translators: 1. Plugin name.
727
- #: includes/class-yit-plugin-panel.php:800
728
- msgctxt "Help tab default title"
729
- msgid "Thank you for purchasing %s!"
730
- msgstr ""
731
-
732
- #: includes/class-yit-plugin-panel.php:801
733
- msgctxt "Help tab default description"
734
- msgid ""
735
- "We want to help you to enjoy a wonderful experience with all our products."
736
- msgstr ""
737
-
738
- #: includes/class-yith-dashboard.php:96
739
- msgctxt "Plugin FW"
740
- msgid "View Changelog"
741
- msgstr "Προβολή Αρχείου Καταγραφής"
742
-
743
- #: includes/class-yith-dashboard.php:97
744
- msgctxt "Plugin FW"
745
- msgid "Latest update released on"
746
- msgstr "Τελευταία αναβάθμιση κυκλοφόρησε στις"
747
-
748
- #: includes/class-yith-dashboard.php:137
749
- msgctxt "Button label"
750
- msgid "Close"
751
- msgstr "Απενεργοποίηση"
752
-
753
- #: includes/privacy/class-yith-privacy.php:61
754
- msgctxt "Privacy Policy Guide Title"
755
- msgid "YITH Plugins"
756
- msgstr "Πρόσθετα YITH"
757
-
758
- #: includes/privacy/class-yith-privacy.php:93
759
- msgctxt "Privacy Policy Content"
760
- msgid ""
761
- "This sample language includes the basics around what personal data your "
762
- "store may be collecting, storing and sharing, as well as who may have access "
763
- "to that data. Depending on what settings are enabled and which additional "
764
- "plugins are used, the specific information shared by your store will vary. "
765
- "We recommend consulting with a lawyer when deciding what information to "
766
- "disclose on your privacy policy."
767
- msgstr ""
768
- "Αυτό το δείγμα γλώσσας περιλαμβάνει τα βασικά στοιχεία γύρω από το τι "
769
- "προσωπικά δεδομένα το κατάστημά σας μπορεί να συλλέγει, την αποθήκευση και "
770
- "την κοινή χρήση, καθώς και ποιοι μπορεί να έχουν πρόσβαση σε αυτά τα "
771
- "δεδομένα. Ανάλογα με τις ρυθμίσεις που είναι ενεργοποιημένες και ποια "
772
- "επιπλέον πρόσθετα χρησιμοποιούνται, οι συγκεκριμένες πληροφορίες που "
773
- "κοινοποιούνται από το κατάστημά σας θα ποικίλλουν. Συνιστούμε τη διαβούλευση "
774
- "με έναν δικηγόρο, όταν αποφασίζετε ποιες πληροφορίες να αποκαλύπτετε στην "
775
- "πολιτική απορρήτου σας."
776
-
777
- #: includes/privacy/class-yith-privacy.php:97
778
- msgctxt "Privacy Policy Content"
779
- msgid "What we collect and store"
780
- msgstr "Τι συλλέγουμε και αποθηκεύουμε"
781
-
782
- #: includes/privacy/class-yith-privacy.php:100
783
- msgctxt "Privacy Policy Content"
784
- msgid "Who on our team has access"
785
- msgstr "Ποιος στην ομάδα μας έχει πρόσβαση"
786
-
787
- #: includes/privacy/class-yith-privacy.php:103
788
- msgctxt "Privacy Policy Content"
789
- msgid "What we share with others"
790
- msgstr "Τι μοιραζόμαστε με τους άλλους"
791
-
792
- #: includes/privacy/class-yith-privacy.php:106
793
- msgctxt "Privacy Policy Content"
794
- msgid "Payments"
795
- msgstr "Πληρωμές"
796
-
797
- #: templates/fields/copy-to-clipboard.php:41
798
- msgctxt "Copy-to-clipboard message"
799
- msgid "Copied!"
800
- msgstr ""
801
-
802
- #: templates/fields/copy-to-clipboard.php:45
803
- msgctxt "Copy-to-clipboard button text"
804
- msgid "Copy"
805
- msgstr ""
806
-
807
- #: templates/fields/dimensions.php:13
808
- msgctxt "Position in the \"Dimensions\" field"
809
- msgid "Top"
810
- msgstr "Κορυφή"
811
-
812
- #: templates/fields/dimensions.php:14
813
- msgctxt "Position in the \"Dimensions\" field"
814
- msgid "Right"
815
- msgstr "Δεξιά"
816
-
817
- #: templates/fields/dimensions.php:15
818
- msgctxt "Position in the \"Dimensions\" field"
819
- msgid "Bottom"
820
- msgstr "Κάτω"
821
-
822
- #: templates/fields/dimensions.php:16
823
- msgctxt "Position in the \"Dimensions\" field"
824
- msgid "Left"
825
- msgstr "Αριστερά"
826
-
827
- #: templates/fields/dimensions.php:94
828
- msgctxt "Tooltip in the \"Dimensions\" field"
829
- msgid "Link values together"
830
- msgstr "Συνδέστε αξίες"
831
-
832
- #: templates/fields/image-dimensions.php:18
833
- msgctxt "Image width field label"
834
- msgid "Width"
835
- msgstr ""
836
-
837
- #: templates/fields/image-dimensions.php:23
838
- msgctxt "Image height field label"
839
- msgid "Height"
840
- msgstr ""
841
-
842
- #: templates/fields/onoff.php:28
843
- msgctxt "YES/NO button: use MAX 4 characters!"
844
- msgid "YES"
845
- msgstr "ΝΑΙ"
846
-
847
- #: templates/fields/onoff.php:29
848
- msgctxt "YES/NO button: use MAX 4 characters!"
849
- msgid "NO"
850
- msgstr "ΟΧΙ"
851
-
852
- #. translators: 1. Url to EN playlist.
853
- #: templates/panel/help-tab.php:87
854
- msgctxt "Help tab view all video link"
855
- msgid ""
856
- "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
857
- "learn more >"
858
- msgstr ""
859
-
860
- #: templates/panel/help-tab.php:94
861
- msgctxt "Help tab Watch Videotutorials link"
862
- msgid "Videos are also available in:"
863
- msgstr ""
864
-
865
- #: templates/panel/help-tab.php:137
866
- msgctxt "Help tab Watch Videotutorials link"
867
- msgid "Watch our videotutorials"
868
- msgstr ""
869
-
870
- #: templates/panel/help-tab.php:140
871
- msgctxt "Help tab Watch Videotutorials link"
872
- msgid "We show you some use cases"
873
- msgstr ""
874
-
875
- #: templates/panel/help-tab.php:124
876
- msgctxt "Help tab Read Documentation link"
877
- msgid "Read the documentation"
878
- msgstr ""
879
-
880
- #: templates/panel/help-tab.php:127
881
- msgctxt "Help tab Read Documentation link"
882
- msgid "to learn from basics how it works"
883
- msgstr ""
884
-
885
- #: templates/panel/help-tab.php:150
886
- msgctxt "Help tab view FAQs link"
887
- msgid "Check the FAQs"
888
- msgstr ""
889
-
890
- #: templates/panel/help-tab.php:153
891
- msgctxt "Help tab view FAQs link"
892
- msgid "to find answers to your doubts"
893
- msgstr ""
894
-
895
- #: templates/panel/help-tab.php:169
896
- msgctxt "Help tab FAQ title"
897
- msgid "Last FAQs in our Help Center"
898
- msgstr ""
899
-
900
- #: templates/panel/help-tab.php:183
901
- msgctxt "Help tab FAQ link"
902
- msgid "View all FAQs >"
903
- msgstr ""
904
-
905
- #: templates/panel/help-tab.php:192
906
- msgctxt "Help tab submit ticket title"
907
- msgid "Need help?"
908
- msgstr ""
909
-
910
- #: templates/panel/help-tab.php:195
911
- msgctxt "Help tab submit ticket description"
912
- msgid ""
913
- "If you are experiencing some technical issue ask help to our developers. "
914
- "Submit a ticket in our support desk and we will help you as soon as possible."
915
- msgstr ""
916
-
917
- #: templates/panel/help-tab.php:203
918
- msgctxt "Help tab submit ticket button"
919
- msgid "Submit a ticket"
920
- msgstr ""
921
-
922
- #: yit-functions.php:1925
923
- msgctxt "Post action"
924
- msgid "Preview"
925
- msgstr ""
926
-
927
- #: yit-functions.php:1934
928
- msgctxt "Post action"
929
- msgid "View"
930
- msgstr ""
931
-
932
- #: yit-functions.php:1945
933
- msgctxt "Post action"
934
- msgid "Edit"
935
- msgstr ""
936
-
937
- #: yit-functions.php:1953
938
- msgctxt "Post action"
939
- msgid "Duplicate"
940
- msgstr ""
941
-
942
- #: yit-functions.php:1965
943
- msgctxt "Post action"
944
- msgid "Restore"
945
- msgstr ""
946
-
947
- #: yit-functions.php:1973
948
- msgctxt "Post action"
949
- msgid "Trash"
950
- msgstr ""
951
-
952
- #: yit-functions.php:1990
953
- msgctxt "Post action"
954
- msgid "Delete Permanently"
955
- msgstr ""
956
-
957
- #: yit-functions.php:2087
958
- msgctxt "Term action"
959
- msgid "View"
960
- msgstr ""
961
-
962
- #: yit-functions.php:2097
963
- msgctxt "Term action"
964
- msgid "Edit"
965
- msgstr ""
966
-
967
- #: yit-functions.php:2105
968
- msgctxt "Term action"
969
- msgid "Duplicate"
970
- msgstr ""
971
-
972
- #: yit-functions.php:2118
973
- msgctxt "Term action"
974
- msgid "Delete"
975
- msgstr ""
976
-
977
- #: yit-plugin.php:84
978
- msgctxt "Plugin Row Meta"
979
- msgid "Live Demo"
980
- msgstr "Live Demo"
981
-
982
- #: yit-plugin.php:88
983
- msgctxt "Plugin Row Meta"
984
- msgid "Documentation"
985
- msgstr "Εγχειρίδιο χρήσης"
986
-
987
- #: yit-plugin.php:92
988
- msgctxt "Plugin Row Meta"
989
- msgid "Support"
990
- msgstr "Υποστήριξη"
991
-
992
- #: yit-plugin.php:96
993
- msgctxt "Plugin Row Meta"
994
- msgid "Premium version"
995
- msgstr "Premium έκδοση"
996
-
997
- #: yit-plugin.php:201
998
- msgctxt "Action links"
999
- msgid "Settings"
1000
- msgstr "Ρυθμίσεις"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of YITH Framework in Greek
2
+ # This file is distributed under the same license as the YITH Framework package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: YITH Framework\n"
6
+ "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-12-13 14:46:02+00:00\n"
8
+ "PO-Revision-Date: 2021-02-11 18:07:46+0000\n"
9
+ "Language: el_GR\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
+
16
+ #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
+ msgid "Confirm trash"
18
+ msgstr ""
19
+
20
+ #: includes/class-yit-assets.php:147
21
+ msgid "Are you sure you want to trash the selected items?"
22
+ msgstr ""
23
+
24
+ #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
+ #: yit-functions.php:1981 yit-functions.php:1999
27
+ msgid "No"
28
+ msgstr "Όχι"
29
+
30
+ #: includes/class-yit-assets.php:150 yit-functions.php:1997
31
+ #: yit-functions.php:2125
32
+ msgid "Confirm delete"
33
+ msgstr ""
34
+
35
+ #: includes/class-yit-assets.php:151
36
+ msgid "Are you sure you want to delete the selected items?"
37
+ msgstr ""
38
+
39
+ #: includes/class-yit-assets.php:151 yit-functions.php:1913
40
+ #: yit-functions.php:2073
41
+ msgid ""
42
+ "This action cannot be undone and you will not be able to recover this data."
43
+ msgstr ""
44
+
45
+ #: includes/class-yit-assets.php:164
46
+ msgid "Clear"
47
+ msgstr "Καθαρισμός"
48
+
49
+ #: includes/class-yit-assets.php:165
50
+ msgid "Clear color"
51
+ msgstr "Καθαρισμός χρώματος"
52
+
53
+ #: includes/class-yit-assets.php:166
54
+ msgid "Default"
55
+ msgstr "Προεπιλεγμένο"
56
+
57
+ #: includes/class-yit-assets.php:167
58
+ msgid "Select default color"
59
+ msgstr "Επιλογή προεπιλεγμένου χρώματος"
60
+
61
+ #: includes/class-yit-assets.php:168
62
+ msgid "Select Color"
63
+ msgstr "Επιλογή Χρώματος"
64
+
65
+ #: includes/class-yit-assets.php:169
66
+ msgid "Color value"
67
+ msgstr "Αξία χρώματος"
68
+
69
+ #: includes/class-yit-help-desk.php:152
70
+ msgid "There was an error with your request; please try again later."
71
+ msgstr ""
72
+
73
+ #: includes/class-yit-plugin-panel-woocommerce.php:430
74
+ msgid "The changes you have made will be lost if you leave this page."
75
+ msgstr ""
76
+ "Οι αλλαγές που έχετε δημιουργήσει θα χαθούν αν αφήσετε αυτήν την σελίδα."
77
+
78
+ #: includes/class-yit-plugin-panel.php:83
79
+ msgid "Plugin Settings"
80
+ msgstr "Ρυθμίσεις Προσθέτου"
81
+
82
+ #: includes/class-yit-plugin-panel.php:84
83
+ msgid "Settings"
84
+ msgstr "Ρυθμίσεις"
85
+
86
+ #: includes/class-yit-plugin-panel.php:455
87
+ #: includes/class-yit-plugin-panel.php:458
88
+ msgid "How to install premium version"
89
+ msgstr "Πώς να εγκαταστήσετε την προηγμένη έκδοση"
90
+
91
+ #: includes/class-yit-plugin-panel.php:659
92
+ #: includes/class-yit-plugin-subpanel.php:132
93
+ msgid "Save Changes"
94
+ msgstr "Αποθήκευση Αλλαγών"
95
+
96
+ #: includes/class-yit-plugin-panel.php:664
97
+ #: includes/class-yit-plugin-subpanel.php:136
98
+ #: templates/panel/woocommerce/woocommerce-form.php:14
99
+ msgid ""
100
+ "If you continue with this action, you will reset all options in this page."
101
+ msgstr ""
102
+ "Αν συνεχίσετε με αυτή την ενέργεια θα επαναφέρετε όλες τις επιλογές στη "
103
+ "σελίδα."
104
+
105
+ #: includes/class-yit-plugin-panel.php:664
106
+ #: includes/class-yit-plugin-subpanel.php:136
107
+ #: templates/panel/woocommerce/woocommerce-form.php:14
108
+ msgid "Are you sure?"
109
+ msgstr "Είστε σίγουρος;"
110
+
111
+ #: includes/class-yit-plugin-panel.php:668
112
+ #: includes/class-yit-plugin-subpanel.php:139
113
+ msgid "Reset to default"
114
+ msgstr "Επαναφορά σε προεπιλεγμένο"
115
+
116
+ #: includes/class-yit-plugin-panel.php:1047
117
+ msgid ""
118
+ "The element you have entered already exists. Please, enter another name."
119
+ msgstr "Το στοιχείο που εισάγατε υπάρχει ήδη. Παρακαλώ, εισάγετε άλλο όνομα."
120
+
121
+ #: includes/class-yit-plugin-panel.php:1048
122
+ msgid "Settings saved"
123
+ msgstr "Ρυθμίσεις αποθηκεύτηκαν"
124
+
125
+ #: includes/class-yit-plugin-panel.php:1049
126
+ msgid "Settings reset"
127
+ msgstr "Επαναφορά ρυθμίσεων"
128
+
129
+ #: includes/class-yit-plugin-panel.php:1050
130
+ msgid "Element deleted correctly."
131
+ msgstr "Το στοιχείο διαγράφηκε επιτυχώς."
132
+
133
+ #: includes/class-yit-plugin-panel.php:1051
134
+ #: includes/class-yit-plugin-panel.php:1052
135
+ msgid "Element updated correctly."
136
+ msgstr "Το στοιχείο αναβαθμίστηκε επιτυχώς."
137
+
138
+ #: includes/class-yit-plugin-panel.php:1053
139
+ msgid "Database imported correctly."
140
+ msgstr "Επιτυχής εισαγωγή βάσης δεδομένων."
141
+
142
+ #: includes/class-yit-plugin-panel.php:1054
143
+ msgid "An error has occurred during import. Please try again."
144
+ msgstr "Παρουσιάστηκε σφάλμα κατά την εισαγωγή. Παρακαλώ προσπαθήστε ξανά."
145
+
146
+ #: includes/class-yit-plugin-panel.php:1055
147
+ msgid "The added file is not valid."
148
+ msgstr "Το προστιθέμενο αρχείο δεν είναι έγκυρο."
149
+
150
+ #: includes/class-yit-plugin-panel.php:1056
151
+ msgid "Sorry, import is disabled."
152
+ msgstr "Συγνώμη, η εισαγωγή είναι απενεργοποιημένη."
153
+
154
+ #: includes/class-yit-plugin-panel.php:1057
155
+ msgid "Sorting successful."
156
+ msgstr "Διαλογή επιτυχής."
157
+
158
+ #: includes/class-yit-plugin-panel.php:1525
159
+ msgid "We need your support"
160
+ msgstr "Χρειαζόμαστε την υποστήριξή σας"
161
+
162
+ #: includes/class-yit-plugin-panel.php:1526
163
+ msgid "to keep updating and improving the plugin. Please,"
164
+ msgstr ""
165
+ "για να διατηρήσετε την ενημέρωση και τη βελτίωση του πρόσθετου. Παρακαλώ,"
166
+
167
+ #: includes/class-yit-plugin-panel.php:1528
168
+ msgid "help us by leaving a good review"
169
+ msgstr ""
170
+
171
+ #: includes/class-yit-plugin-panel.php:1529
172
+ msgid ":) Thanks!"
173
+ msgstr ":) Ευχαριστώ!"
174
+
175
+ #: includes/class-yit-pointers.php:80
176
+ msgid "Plugins Activated"
177
+ msgstr "Ενεργοποιημένα Πρόσθετα"
178
+
179
+ #: includes/class-yit-pointers.php:81
180
+ msgid ""
181
+ "From now on, you can find all plugin options in YITH menu. Plugin "
182
+ "customization settings will be available as a new entry in YITH menu."
183
+ msgstr ""
184
+
185
+ #. translators: 1. YITH site link; 2. WordPress site link.
186
+ #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
187
+ msgid "Discover all our plugins available on: %1$s and %2$s"
188
+ msgstr "Ανακαλύψτε όλα τα διαθέσιμά μας πρόσθετα στο: %1$s και %2$s"
189
+
190
+ #: includes/class-yit-pointers.php:96
191
+ msgid "Plugins Upgraded"
192
+ msgstr "Αναβαθμισμένα Πρόσθετα"
193
+
194
+ #: includes/class-yit-pointers.php:97
195
+ msgid ""
196
+ "From now on, you can find the option panel of YITH plugins in YITH menu. "
197
+ "Every time one of our plugins is added, a new entry will be added to this "
198
+ "menu. For example, after the update, plugin options (such as for YITH "
199
+ "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
200
+ "previous location to YITH menu."
201
+ msgstr ""
202
+
203
+ #: includes/class-yith-dashboard.php:35
204
+ msgid "YITH Latest Updates"
205
+ msgstr "Τελευταίες Αναβαθμίσεις YITH"
206
+
207
+ #: includes/class-yith-dashboard.php:36
208
+ msgid "Latest news from YITH Blog"
209
+ msgstr "Τελευταία νέα από YITH Blog"
210
+
211
+ #: includes/class-yith-dashboard.php:56
212
+ msgid "RSS Error:"
213
+ msgstr "Σφάλμα RSS:"
214
+
215
+ #: includes/class-yith-dashboard.php:63
216
+ msgid ""
217
+ "An error has occurred, which probably means the feed is down. Try again "
218
+ "later."
219
+ msgstr ""
220
+ "Παρουσιάστηκε σφάλμα, που πιθανότατα σημαίνει ότι έπεσε το τροφοδοτικό. "
221
+ "Προσπαθήστε ξανά αργότερα."
222
+
223
+ #. translators: %s is the name of the post type (example Back to "Membership
224
+ #. Plans").
225
+ #: includes/class-yith-post-type-admin.php:286
226
+ msgid "Back to \"%s\""
227
+ msgstr ""
228
+
229
+ #: includes/class-yith-post-type-admin.php:286
230
+ msgid "Back to the list"
231
+ msgstr ""
232
+
233
+ #: includes/class-yith-system-status.php:110
234
+ msgid "WordPress Version"
235
+ msgstr "Έκδοση WordPress"
236
+
237
+ #: includes/class-yith-system-status.php:111
238
+ msgid "WooCommerce Version"
239
+ msgstr "Έκδοση WooCommerce"
240
+
241
+ #: includes/class-yith-system-status.php:112
242
+ msgid "Available Memory"
243
+ msgstr "Διαθέσιμη Μνήμη"
244
+
245
+ #: includes/class-yith-system-status.php:113
246
+ msgid "PHP Version"
247
+ msgstr "Έκδοση PHP"
248
+
249
+ #: includes/class-yith-system-status.php:114
250
+ msgid "TLS Version"
251
+ msgstr "Έκδοση TLS"
252
+
253
+ #: includes/class-yith-system-status.php:115
254
+ msgid "WordPress Cron"
255
+ msgstr "WordPress Cron"
256
+
257
+ #: includes/class-yith-system-status.php:116
258
+ msgid "SimpleXML"
259
+ msgstr "SimpleXML"
260
+
261
+ #: includes/class-yith-system-status.php:117
262
+ msgid "MultiByte String"
263
+ msgstr "MultiByte String"
264
+
265
+ #: includes/class-yith-system-status.php:118
266
+ msgid "ImageMagick Version"
267
+ msgstr "Έκδοση ImageMagick"
268
+
269
+ #: includes/class-yith-system-status.php:119
270
+ msgid "GD Library"
271
+ msgstr "Βιβλιοθήκη GD"
272
+
273
+ #: includes/class-yith-system-status.php:120
274
+ msgid "Iconv Module"
275
+ msgstr "Άρθρωμα Iconv"
276
+
277
+ #: includes/class-yith-system-status.php:121
278
+ msgid "OPCache Save Comments"
279
+ msgstr "OPCache Save Comments"
280
+
281
+ #: includes/class-yith-system-status.php:122
282
+ msgid "URL FOpen"
283
+ msgstr "URL FOpen"
284
+
285
+ #: includes/class-yith-system-status.php:140
286
+ #: includes/class-yith-system-status.php:141
287
+ #: templates/sysinfo/system-information-panel.php:11
288
+ msgid "System Status"
289
+ msgstr "Κατάσταση Συστήματος"
290
+
291
+ #: includes/class-yith-system-status.php:183
292
+ msgid "YITH Plugins"
293
+ msgstr "Πρόσθετα YITH"
294
+
295
+ #: includes/class-yith-system-status.php:191
296
+ msgid "WooCommerce"
297
+ msgstr "WooCommerce"
298
+
299
+ #: includes/class-yith-system-status.php:342
300
+ msgid "Warning!"
301
+ msgstr "Προσοχή!"
302
+
303
+ #. translators: %1$s open link tag, %2$s open link tag
304
+ #: includes/class-yith-system-status.php:346
305
+ msgid ""
306
+ "The system check has detected some compatibility issues on your installation."
307
+ "%1$sClick here%2$s to know more"
308
+ msgstr ""
309
+ "Ο έλεγχος συστήματος έχει εντοπίσει κάποια προβλήματα συμβατότητας στην "
310
+ "εγκατάστασή σας.%1$sΚάντε κλικ εδώ%2$s για να μάθετε περισσότερα"
311
+
312
+ #: includes/class-yith-system-status.php:488
313
+ msgid "Enabled"
314
+ msgstr "Ενεργοποιημένο"
315
+
316
+ #: includes/class-yith-system-status.php:488
317
+ msgid "Disabled"
318
+ msgstr "Απενεργοποιημένο"
319
+
320
+ #: includes/class-yith-system-status.php:493
321
+ msgid "N/A"
322
+ msgstr "N/A"
323
+
324
+ #. translators: %1$s plugin name, %2$s requirement name
325
+ #: includes/class-yith-system-status.php:520
326
+ msgid "%1$s needs %2$s enabled"
327
+ msgstr "%1$s χρειάζεται %2$s ενεργοποιημένο"
328
+
329
+ #. translators: %1$s plugin name, %2$s required memory amount
330
+ #: includes/class-yith-system-status.php:523
331
+ msgid "%1$s needs at least %2$s of available memory"
332
+ msgstr "%1$s χρειάζεται τουλάχιστον %2$s διαθέσιμης μνήμης"
333
+
334
+ #. translators: %1$s plugin name, %2$s version number
335
+ #: includes/class-yith-system-status.php:526
336
+ msgid "%1$s needs at least %2$s version"
337
+ msgstr "%1$s χρειάζεται τουλάχιστον %2$s έκδοση"
338
+
339
+ #: includes/class-yith-system-status.php:550
340
+ msgid ""
341
+ "Update it to the latest version in order to benefit of all new features and "
342
+ "security updates."
343
+ msgstr ""
344
+ "Κάντε αναβάθμιση της τελευταίας έκδοσης για να επωφεληθείτε από τα νέα "
345
+ "χαρακτηριστικά και τις αναβαθμίσεις προστασίας."
346
+
347
+ #: includes/class-yith-system-status.php:554
348
+ #: includes/class-yith-system-status.php:560
349
+ msgid "Contact your hosting company in order to update it."
350
+ msgstr "Επικοινωνήστε με την εταιρεία hosting σας για να αναβαθμίσετε."
351
+
352
+ #: includes/class-yith-system-status.php:558
353
+ msgid "Contact your hosting company in order to install it."
354
+ msgstr "Επικοινωνήστε με την εταιρεία hosting σας για να το ενεργοποιήσετε."
355
+
356
+ #. translators: %1$s code, %2$s file name
357
+ #: includes/class-yith-system-status.php:565
358
+ msgid "Remove %1$s from %2$s file"
359
+ msgstr "Αφαίρεση %1$s από αρχείο %2$s"
360
+
361
+ #: includes/class-yith-system-status.php:573
362
+ msgid "Contact your hosting company in order to enable it."
363
+ msgstr "Επικοινωνήστε με την εταιρεία hosting σας για να ενεργοποιήσετε."
364
+
365
+ #. translators: %1$s opening link tag, %2$s closing link tag
366
+ #: includes/class-yith-system-status.php:577
367
+ #: includes/class-yith-system-status.php:600
368
+ msgid ""
369
+ "Read more %1$shere%2$s or contact your hosting company in order to increase "
370
+ "it."
371
+ msgstr ""
372
+ "Μάθετε περισσότερα %1$sεδώ%2$s ή επικοινωνήστε με την εταιρεία hosting σας "
373
+ "για να το βελτιώσετε."
374
+
375
+ #. translators: %s recommended memory amount
376
+ #: includes/class-yith-system-status.php:597
377
+ msgid ""
378
+ "For optimal functioning of our plugins, we suggest setting at least %s of "
379
+ "available memory"
380
+ msgstr ""
381
+ "Για την βέλτιστη λειτουργικότητα των προσθέτων μας, προτείνουμε να ορίσετε "
382
+ "τουλάχιστον %s διαθέσιμης μνήμης"
383
+
384
+ #. translators: %1$s TLS label, %2$s cURL label
385
+ #: includes/class-yith-system-status.php:605
386
+ msgid ""
387
+ "The system check cannot determine which %1$s version is installed because "
388
+ "%2$s module is disabled. Ask your hosting company to enable it."
389
+ msgstr ""
390
+ "Το σύστημα δεν μπορεί να καθορίσει ποια %1$s έκδοση έχει εγκατασταθεί γιατί "
391
+ "το %2$s άρθρωμα είναι απενεργοποιημένο. Ζητήστε από την εταιρεία hosting σας "
392
+ "να το ενεργοποιήσει."
393
+
394
+ #. translators: %1$s TLS label
395
+ #: includes/class-yith-system-status.php:608
396
+ msgid ""
397
+ "The system check cannot determine which %1$s version is installed due to a "
398
+ "connection issue between your site and our server."
399
+ msgstr ""
400
+ "Ο έλεγχος συστήματος δεν μπορεί να διευκρινήσει ποια έκδοση %1$s έχει "
401
+ "εγκατασταθεί λόγω προβλήματος σύνδεσης ανάμεσα στον ιστότοπο σας και τον "
402
+ "διακομιστή μας."
403
+
404
+ #: templates/fields/ajax-customers.php:41
405
+ msgid "Search Customers"
406
+ msgstr "Αναζήτηση Πελατών"
407
+
408
+ #. translators: 1. user display name; 2. user ID; 3. user email.
409
+ #: templates/fields/ajax-customers.php:68
410
+ #: templates/fields/ajax-customers.php:79
411
+ msgid "%1$s (#%2$s &ndash; %3$s)"
412
+ msgstr "%1$s (#%2$s &ndash; %3$s)"
413
+
414
+ #: templates/fields/ajax-posts.php:41
415
+ msgid "Search Posts"
416
+ msgstr "Αναζήτηση Άρθρου"
417
+
418
+ #: templates/fields/ajax-products.php:14
419
+ msgid "Search Product"
420
+ msgstr "Αναζήτηση Προϊόντος"
421
+
422
+ #: templates/fields/ajax-terms.php:41
423
+ msgid "Search Categories"
424
+ msgstr "Αναζήτηση Κατηγοριών"
425
+
426
+ #: templates/fields/customtabs.php:17
427
+ msgid "Close all"
428
+ msgstr "Απενεργοποίηση όλων"
429
+
430
+ #: templates/fields/customtabs.php:17
431
+ msgid "Expand all"
432
+ msgstr "Ανάπτυξη όλων"
433
+
434
+ #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
435
+ msgid "Remove"
436
+ msgstr "Αφαίρεση"
437
+
438
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
439
+ msgid "Name"
440
+ msgstr "Όνομα"
441
+
442
+ #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
443
+ msgid "Value"
444
+ msgstr "Τιμή"
445
+
446
+ #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
447
+ msgid "Content of the tab. (HTML is supported)"
448
+ msgstr "Περιεχόμενο καρτέλας. (Υποστηρίζεται HTML)"
449
+
450
+ #: templates/fields/customtabs.php:52
451
+ msgid "Add custom product tab"
452
+ msgstr "Προσθέστε καρτέλα προσαρμοσμένου προϊόντος"
453
+
454
+ #: templates/fields/customtabs.php:93
455
+ msgid "Do you want to remove the custom tab?"
456
+ msgstr "Θέλετε να αφαιρέσετε την προσαρμοσμένη καρτέλα;"
457
+
458
+ #: templates/fields/date-format.php:65
459
+ msgid "Custom:"
460
+ msgstr "Προσαρμογή:"
461
+
462
+ #: templates/fields/date-format.php:70
463
+ msgid "Preview:"
464
+ msgstr "Προεπισκόπηση:"
465
+
466
+ #: templates/fields/icons.php:78
467
+ msgid "Set Default"
468
+ msgstr "Ορίστε Προεπιλεγμένο"
469
+
470
+ #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
471
+ msgid "Delete image"
472
+ msgstr "Διαγραφή εικόνας"
473
+
474
+ #: templates/fields/image-gallery.php:37
475
+ msgid "Add Images to Gallery"
476
+ msgstr "Προσθέστε Εικόνες στη Συλλογή"
477
+
478
+ #: templates/fields/image-gallery.php:38
479
+ msgid "Add to gallery"
480
+ msgstr "Προσθέστε στη συλλογή"
481
+
482
+ #: templates/fields/image-gallery.php:39
483
+ msgid "Add images"
484
+ msgstr "Προσθέστε εικόνες"
485
+
486
+ #: templates/fields/image-gallery.php:41
487
+ msgid "Delete"
488
+ msgstr "Διαγραφή"
489
+
490
+ #: templates/fields/select-buttons.php:19
491
+ msgid "Add All"
492
+ msgstr "Προσθήκη Όλων"
493
+
494
+ #: templates/fields/select-buttons.php:20
495
+ msgid "Remove All"
496
+ msgstr "Αφαίρεση Όλων"
497
+
498
+ #: templates/fields/sidebars.php:20
499
+ msgid "Left sidebar"
500
+ msgstr "Αριστερή πλευρική στήλη"
501
+
502
+ #: templates/fields/sidebars.php:23
503
+ msgid "Right sidebar"
504
+ msgstr "Δεξιά πλευρική στήλη"
505
+
506
+ #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
507
+ msgid "No sidebar"
508
+ msgstr "Χωρίς πλευρική στήλη"
509
+
510
+ #: templates/fields/sidebars.php:39
511
+ msgid "Left Sidebar"
512
+ msgstr "Αριστερή Πλευρική Στήλη"
513
+
514
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
515
+ msgid "Choose a sidebar"
516
+ msgstr "Επιλέξτε πλευρική στήλη"
517
+
518
+ #: templates/fields/sidebars.php:54
519
+ msgid "Right Sidebar"
520
+ msgstr "Δεξιά Πλευρική Στήλη"
521
+
522
+ #: templates/fields/upload.php:34
523
+ #: templates/panel/woocommerce/woocommerce-upload.php:37
524
+ msgid "Upload"
525
+ msgstr "Ανέβασμα"
526
+
527
+ #: templates/fields/upload.php:39
528
+ msgid "Reset"
529
+ msgstr "Επαναφορά"
530
+
531
+ #: templates/panel/woocommerce/woocommerce-form.php:28
532
+ #: templates/panel/woocommerce/woocommerce-form.php:32
533
+ msgid "Save Options"
534
+ msgstr ""
535
+
536
+ #: templates/panel/woocommerce/woocommerce-form.php:32
537
+ msgid "Options Saved"
538
+ msgstr ""
539
+
540
+ #: templates/panel/woocommerce/woocommerce-form.php:38
541
+ msgid "Reset Defaults"
542
+ msgstr "Επαναφορά Προεπιλεγμένων"
543
+
544
+ #: templates/sysinfo/system-information-panel.php:12
545
+ msgid "PHPInfo"
546
+ msgstr "PHPInfo"
547
+
548
+ #: templates/sysinfo/system-information-panel.php:13
549
+ #: templates/sysinfo/tabs/error-log.php:25
550
+ msgid "Log Files"
551
+ msgstr "Αρχεία Καταγραφής"
552
+
553
+ #: templates/sysinfo/system-information-panel.php:22
554
+ msgid "YITH System Information"
555
+ msgstr "Σύστημα Πληροφοριών YITH"
556
+
557
+ #: templates/sysinfo/tabs/error-log.php:13
558
+ msgid "WP debug.log file"
559
+ msgstr "Αρχείο WP debug.log"
560
+
561
+ #: templates/sysinfo/tabs/error-log.php:18
562
+ msgid "PHP error_log file"
563
+ msgstr "Αρχείο PHP error_log"
564
+
565
+ #: templates/sysinfo/tabs/error-log.php:60
566
+ msgid "Download"
567
+ msgstr "Κατέβασμα"
568
+
569
+ #: templates/sysinfo/tabs/error-log.php:72
570
+ msgid "The file size exceeds 8 megabytes so it must be downloaded"
571
+ msgstr ""
572
+ "Το μέγεθος αρχείου υπερβαίνει τα 8 megabytes οπότε θα πρέπει να το κατεβάσετε"
573
+
574
+ #. translators: %s file name.
575
+ #: templates/sysinfo/tabs/error-log.php:96
576
+ msgid ""
577
+ "No Log file available. Enable the WordPress debug by adding this in the %s "
578
+ "file of your installation"
579
+ msgstr ""
580
+ "Δεν υπάρχει διαθέσιμο αρχείο Καταγραφής. Ενεργοποιήστε την αποσφαλμάτωση "
581
+ "WordPress προσθέτοντάς το στο αρχείο %s της εγκατάστασής σας"
582
+
583
+ #: templates/sysinfo/tabs/error-log.php:105
584
+ msgid "Copied!"
585
+ msgstr "Έγινε αντιγραφή!"
586
+
587
+ #: templates/sysinfo/tabs/error-log.php:105
588
+ msgid "Copy Code"
589
+ msgstr "Αντιγραφή Κώδικα"
590
+
591
+ #: templates/sysinfo/tabs/main.php:17
592
+ msgid "Site Info"
593
+ msgstr "Στοιχεία Ιστότοπου"
594
+
595
+ #: templates/sysinfo/tabs/main.php:22
596
+ msgid "Site URL"
597
+ msgstr "URL Ιστοσελίδας"
598
+
599
+ #: templates/sysinfo/tabs/main.php:31
600
+ msgid "Output IP Address"
601
+ msgstr "Διεύθυνση IP Παραγωγής"
602
+
603
+ #: templates/sysinfo/tabs/main.php:39
604
+ msgid "Defined WP_CACHE"
605
+ msgstr "Καθορισμένο WP_CACHE"
606
+
607
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
608
+ msgid "Yes"
609
+ msgstr "Ναι"
610
+
611
+ #: templates/sysinfo/tabs/main.php:47
612
+ msgid "External object cache"
613
+ msgstr "Cache εξωτερικού αντικειμένου"
614
+
615
+ #: templates/sysinfo/tabs/main.php:55
616
+ msgid "YITH Plugin Framework Version"
617
+ msgstr ""
618
+
619
+ #. translators: %s is the name of the plugin that is loading the framework.
620
+ #: templates/sysinfo/tabs/main.php:64
621
+ msgid "loaded by %s"
622
+ msgstr ""
623
+
624
+ #: templates/sysinfo/tabs/main.php:73
625
+ msgid "Plugins Requirements"
626
+ msgstr "Προϋποθέσεις Πρόσθετων"
627
+
628
+ #: templates/sysinfo/tabs/main.php:108
629
+ msgid "Database Info"
630
+ msgstr ""
631
+
632
+ #: templates/sysinfo/tabs/main.php:113
633
+ msgid "MySQL version"
634
+ msgstr ""
635
+
636
+ #. Translators: %s: Codex link.
637
+ #: templates/sysinfo/tabs/main.php:123
638
+ msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
639
+ msgstr ""
640
+
641
+ #: templates/sysinfo/tabs/main.php:123
642
+ msgid "WordPress requirements"
643
+ msgstr ""
644
+
645
+ #: templates/sysinfo/tabs/main.php:130
646
+ msgid "Total Database Size"
647
+ msgstr ""
648
+
649
+ #: templates/sysinfo/tabs/main.php:138
650
+ msgid "Database Data Size"
651
+ msgstr ""
652
+
653
+ #: templates/sysinfo/tabs/main.php:146
654
+ msgid "Database Index Size"
655
+ msgstr ""
656
+
657
+ #: templates/sysinfo/tabs/main.php:154
658
+ msgid "Database Free Size"
659
+ msgstr ""
660
+
661
+ #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
662
+ #. Engine.
663
+ #: templates/sysinfo/tabs/main.php:168
664
+ msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
665
+ msgstr ""
666
+
667
+ #. translators: %s is the title of the post object.
668
+ #: yit-functions.php:1911
669
+ msgid "Are you sure you want to move \"%s\" to trash?"
670
+ msgstr ""
671
+
672
+ #. translators: %s is the title of the post object.
673
+ #: yit-functions.php:1913 yit-functions.php:2073
674
+ msgid "Are you sure you want to delete \"%s\"?"
675
+ msgstr ""
676
+
677
+ #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
678
+ msgid "Further actions"
679
+ msgstr ""
680
+
681
+ #: yit-plugin.php:205
682
+ msgid "License"
683
+ msgstr "Άδεια χρήσης προϊόντος"
684
+
685
+ #. Author of the plugin/theme
686
+ msgid "YITH"
687
+ msgstr "YITH"
688
+
689
+ #. translators: %s it the Elementor Widget title.
690
+ #: includes/builders/elementor/class-yith-elementor-widget.php:252
691
+ msgctxt "Elementor Widget - section title"
692
+ msgid "%s - Options"
693
+ msgstr ""
694
+
695
+ #: includes/builders/gutenberg/class-yith-gutenberg.php:149
696
+ msgctxt "[gutenberg]: Category Name"
697
+ msgid "YITH"
698
+ msgstr "YITH"
699
+
700
+ #: includes/class-yit-assets.php:134
701
+ msgctxt "Button text"
702
+ msgid "Confirm"
703
+ msgstr ""
704
+
705
+ #: includes/class-yit-assets.php:135
706
+ msgctxt "Button text"
707
+ msgid "Cancel"
708
+ msgstr ""
709
+
710
+ #: includes/class-yit-assets.php:148 yit-functions.php:1982
711
+ msgctxt "Trash confirmation action"
712
+ msgid "Yes, move to trash"
713
+ msgstr ""
714
+
715
+ #: includes/class-yit-assets.php:152 yit-functions.php:2000
716
+ #: yit-functions.php:2127
717
+ msgctxt "Delete confirmation action"
718
+ msgid "Yes, delete"
719
+ msgstr ""
720
+
721
+ #: includes/class-yit-plugin-panel.php:492
722
+ msgctxt "Help tab name"
723
+ msgid "Help"
724
+ msgstr ""
725
+
726
+ #. translators: 1. Plugin name.
727
+ #: includes/class-yit-plugin-panel.php:805
728
+ msgctxt "Help tab default title"
729
+ msgid "Thank you for purchasing %s!"
730
+ msgstr ""
731
+
732
+ #: includes/class-yit-plugin-panel.php:806
733
+ msgctxt "Help tab default description"
734
+ msgid ""
735
+ "We want to help you to enjoy a wonderful experience with all our products."
736
+ msgstr ""
737
+
738
+ #: includes/class-yit-plugin-panel.php:853
739
+ msgctxt "Premium tab name"
740
+ msgid "Get premium"
741
+ msgstr ""
742
+
743
+ #: includes/class-yith-dashboard.php:96
744
+ msgctxt "Plugin FW"
745
+ msgid "View Changelog"
746
+ msgstr "Προβολή Αρχείου Καταγραφής"
747
+
748
+ #: includes/class-yith-dashboard.php:97
749
+ msgctxt "Plugin FW"
750
+ msgid "Latest update released on"
751
+ msgstr "Τελευταία αναβάθμιση κυκλοφόρησε στις"
752
+
753
+ #: includes/class-yith-dashboard.php:137
754
+ msgctxt "Button label"
755
+ msgid "Close"
756
+ msgstr "Απενεργοποίηση"
757
+
758
+ #: includes/privacy/class-yith-privacy.php:61
759
+ msgctxt "Privacy Policy Guide Title"
760
+ msgid "YITH Plugins"
761
+ msgstr "Πρόσθετα YITH"
762
+
763
+ #: includes/privacy/class-yith-privacy.php:93
764
+ msgctxt "Privacy Policy Content"
765
+ msgid ""
766
+ "This sample language includes the basics around what personal data your "
767
+ "store may be collecting, storing and sharing, as well as who may have access "
768
+ "to that data. Depending on what settings are enabled and which additional "
769
+ "plugins are used, the specific information shared by your store will vary. "
770
+ "We recommend consulting with a lawyer when deciding what information to "
771
+ "disclose on your privacy policy."
772
+ msgstr ""
773
+ "Αυτό το δείγμα γλώσσας περιλαμβάνει τα βασικά στοιχεία γύρω από το τι "
774
+ "προσωπικά δεδομένα το κατάστημά σας μπορεί να συλλέγει, την αποθήκευση και "
775
+ "την κοινή χρήση, καθώς και ποιοι μπορεί να έχουν πρόσβαση σε αυτά τα "
776
+ "δεδομένα. Ανάλογα με τις ρυθμίσεις που είναι ενεργοποιημένες και ποια "
777
+ "επιπλέον πρόσθετα χρησιμοποιούνται, οι συγκεκριμένες πληροφορίες που "
778
+ "κοινοποιούνται από το κατάστημά σας θα ποικίλλουν. Συνιστούμε τη διαβούλευση "
779
+ "με έναν δικηγόρο, όταν αποφασίζετε ποιες πληροφορίες να αποκαλύπτετε στην "
780
+ "πολιτική απορρήτου σας."
781
+
782
+ #: includes/privacy/class-yith-privacy.php:97
783
+ msgctxt "Privacy Policy Content"
784
+ msgid "What we collect and store"
785
+ msgstr "Τι συλλέγουμε και αποθηκεύουμε"
786
+
787
+ #: includes/privacy/class-yith-privacy.php:100
788
+ msgctxt "Privacy Policy Content"
789
+ msgid "Who on our team has access"
790
+ msgstr "Ποιος στην ομάδα μας έχει πρόσβαση"
791
+
792
+ #: includes/privacy/class-yith-privacy.php:103
793
+ msgctxt "Privacy Policy Content"
794
+ msgid "What we share with others"
795
+ msgstr "Τι μοιραζόμαστε με τους άλλους"
796
+
797
+ #: includes/privacy/class-yith-privacy.php:106
798
+ msgctxt "Privacy Policy Content"
799
+ msgid "Payments"
800
+ msgstr "Πληρωμές"
801
+
802
+ #: templates/fields/copy-to-clipboard.php:41
803
+ msgctxt "Copy-to-clipboard message"
804
+ msgid "Copied!"
805
+ msgstr ""
806
+
807
+ #: templates/fields/copy-to-clipboard.php:45
808
+ msgctxt "Copy-to-clipboard button text"
809
+ msgid "Copy"
810
+ msgstr ""
811
+
812
+ #: templates/fields/dimensions.php:13
813
+ msgctxt "Position in the \"Dimensions\" field"
814
+ msgid "Top"
815
+ msgstr "Κορυφή"
816
+
817
+ #: templates/fields/dimensions.php:14
818
+ msgctxt "Position in the \"Dimensions\" field"
819
+ msgid "Right"
820
+ msgstr "Δεξιά"
821
+
822
+ #: templates/fields/dimensions.php:15
823
+ msgctxt "Position in the \"Dimensions\" field"
824
+ msgid "Bottom"
825
+ msgstr "Κάτω"
826
+
827
+ #: templates/fields/dimensions.php:16
828
+ msgctxt "Position in the \"Dimensions\" field"
829
+ msgid "Left"
830
+ msgstr "Αριστερά"
831
+
832
+ #: templates/fields/dimensions.php:94
833
+ msgctxt "Tooltip in the \"Dimensions\" field"
834
+ msgid "Link values together"
835
+ msgstr "Συνδέστε αξίες"
836
+
837
+ #: templates/fields/image-dimensions.php:18
838
+ msgctxt "Image width field label"
839
+ msgid "Width"
840
+ msgstr ""
841
+
842
+ #: templates/fields/image-dimensions.php:23
843
+ msgctxt "Image height field label"
844
+ msgid "Height"
845
+ msgstr ""
846
+
847
+ #: templates/fields/onoff.php:28
848
+ msgctxt "YES/NO button: use MAX 4 characters!"
849
+ msgid "YES"
850
+ msgstr "ΝΑΙ"
851
+
852
+ #: templates/fields/onoff.php:29
853
+ msgctxt "YES/NO button: use MAX 4 characters!"
854
+ msgid "NO"
855
+ msgstr "ΟΧΙ"
856
+
857
+ #. translators: 1. Url to EN playlist.
858
+ #: templates/panel/help-tab.php:87
859
+ msgctxt "Help tab view all video link"
860
+ msgid ""
861
+ "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
862
+ "learn more >"
863
+ msgstr ""
864
+
865
+ #: templates/panel/help-tab.php:94
866
+ msgctxt "Help tab Watch Videotutorials link"
867
+ msgid "Videos are also available in:"
868
+ msgstr ""
869
+
870
+ #: templates/panel/help-tab.php:137
871
+ msgctxt "Help tab Watch Videotutorials link"
872
+ msgid "Watch our videotutorials"
873
+ msgstr ""
874
+
875
+ #: templates/panel/help-tab.php:140
876
+ msgctxt "Help tab Watch Videotutorials link"
877
+ msgid "We show you some use cases"
878
+ msgstr ""
879
+
880
+ #: templates/panel/help-tab.php:124
881
+ msgctxt "Help tab Read Documentation link"
882
+ msgid "Read the documentation"
883
+ msgstr ""
884
+
885
+ #: templates/panel/help-tab.php:127
886
+ msgctxt "Help tab Read Documentation link"
887
+ msgid "to learn from basics how it works"
888
+ msgstr ""
889
+
890
+ #: templates/panel/help-tab.php:150
891
+ msgctxt "Help tab view FAQs link"
892
+ msgid "Check the FAQs"
893
+ msgstr ""
894
+
895
+ #: templates/panel/help-tab.php:153
896
+ msgctxt "Help tab view FAQs link"
897
+ msgid "to find answers to your doubts"
898
+ msgstr ""
899
+
900
+ #: templates/panel/help-tab.php:169
901
+ msgctxt "Help tab FAQ title"
902
+ msgid "Last FAQs in our Help Center"
903
+ msgstr ""
904
+
905
+ #: templates/panel/help-tab.php:183
906
+ msgctxt "Help tab FAQ link"
907
+ msgid "View all FAQs >"
908
+ msgstr ""
909
+
910
+ #: templates/panel/help-tab.php:192
911
+ msgctxt "Help tab submit ticket title"
912
+ msgid "Need help?"
913
+ msgstr ""
914
+
915
+ #: templates/panel/help-tab.php:195
916
+ msgctxt "Help tab submit ticket description"
917
+ msgid ""
918
+ "If you are experiencing some technical issue ask help to our developers. "
919
+ "Submit a ticket in our support desk and we will help you as soon as possible."
920
+ msgstr ""
921
+
922
+ #: templates/panel/help-tab.php:203
923
+ msgctxt "Help tab submit ticket button"
924
+ msgid "Submit a ticket"
925
+ msgstr ""
926
+
927
+ #: templates/panel/premium-tab.php:30
928
+ msgctxt "Premium Tab"
929
+ msgid "Get the premium version to unlock advanced features"
930
+ msgstr ""
931
+
932
+ #: templates/panel/premium-tab.php:34
933
+ msgctxt "Premium Tab"
934
+ msgid "Get premium"
935
+ msgstr ""
936
+
937
+ #: templates/panel/premium-tab.php:39
938
+ msgctxt "Premium Tab"
939
+ msgid "Plugin premium features images"
940
+ msgstr ""
941
+
942
+ #. translators: alt attribute of main image tag.
943
+ #: templates/panel/premium-tab.php:51
944
+ msgctxt "Premium Tab"
945
+ msgid "And so much more!"
946
+ msgstr ""
947
+
948
+ #: templates/panel/premium-tab.php:53
949
+ msgctxt "Premium Tab"
950
+ msgid "Check the free vs premium features >"
951
+ msgstr ""
952
+
953
+ #: templates/panel/premium-tab.php:58
954
+ msgctxt "Premium Tab"
955
+ msgid "Get the premium version"
956
+ msgstr ""
957
+
958
+ #: yit-functions.php:1925
959
+ msgctxt "Post action"
960
+ msgid "Preview"
961
+ msgstr ""
962
+
963
+ #: yit-functions.php:1934
964
+ msgctxt "Post action"
965
+ msgid "View"
966
+ msgstr ""
967
+
968
+ #: yit-functions.php:1945
969
+ msgctxt "Post action"
970
+ msgid "Edit"
971
+ msgstr ""
972
+
973
+ #: yit-functions.php:1953
974
+ msgctxt "Post action"
975
+ msgid "Duplicate"
976
+ msgstr ""
977
+
978
+ #: yit-functions.php:1965
979
+ msgctxt "Post action"
980
+ msgid "Restore"
981
+ msgstr ""
982
+
983
+ #: yit-functions.php:1973
984
+ msgctxt "Post action"
985
+ msgid "Trash"
986
+ msgstr ""
987
+
988
+ #: yit-functions.php:1990
989
+ msgctxt "Post action"
990
+ msgid "Delete Permanently"
991
+ msgstr ""
992
+
993
+ #: yit-functions.php:2087
994
+ msgctxt "Term action"
995
+ msgid "View"
996
+ msgstr ""
997
+
998
+ #: yit-functions.php:2097
999
+ msgctxt "Term action"
1000
+ msgid "Edit"
1001
+ msgstr ""
1002
+
1003
+ #: yit-functions.php:2105
1004
+ msgctxt "Term action"
1005
+ msgid "Duplicate"
1006
+ msgstr ""
1007
+
1008
+ #: yit-functions.php:2118
1009
+ msgctxt "Term action"
1010
+ msgid "Delete"
1011
+ msgstr ""
1012
+
1013
+ #: yit-plugin.php:84
1014
+ msgctxt "Plugin Row Meta"
1015
+ msgid "Live Demo"
1016
+ msgstr "Live Demo"
1017
+
1018
+ #: yit-plugin.php:88
1019
+ msgctxt "Plugin Row Meta"
1020
+ msgid "Documentation"
1021
+ msgstr "Εγχειρίδιο χρήσης"
1022
+
1023
+ #: yit-plugin.php:92
1024
+ msgctxt "Plugin Row Meta"
1025
+ msgid "Support"
1026
+ msgstr "Υποστήριξη"
1027
+
1028
+ #: yit-plugin.php:96
1029
+ msgctxt "Plugin Row Meta"
1030
+ msgid "Premium version"
1031
+ msgstr "Premium έκδοση"
1032
+
1033
+ #: yit-plugin.php:201
1034
+ msgctxt "Action links"
1035
+ msgid "Settings"
1036
+ msgstr "Ρυθμίσεις"
plugin-fw/languages/yith-plugin-fw-es_ES.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-es_ES.po CHANGED
@@ -1,1012 +1,1048 @@
1
- # Translation of YITH Framework in Spanish (Spain)
2
- # This file is distributed under the same license as the YITH Framework package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: YITH Framework\n"
6
- "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2021-12-02 07:20:36+00:00\n"
8
- "PO-Revision-Date: 2021-09-28 13:56:41+0000\n"
9
- "Language: es\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
- "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
-
16
- #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
- msgid "Confirm trash"
18
- msgstr "Confirmar el traslado a la papelera"
19
-
20
- #: includes/class-yit-assets.php:147
21
- msgid "Are you sure you want to trash the selected items?"
22
- msgstr ""
23
- "¿Estás seguro de que quieres mover a la papelera los elementos seleccionados?"
24
-
25
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
26
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
27
- #: yit-functions.php:1981 yit-functions.php:1999
28
- msgid "No"
29
- msgstr "No"
30
-
31
- #: includes/class-yit-assets.php:150 yit-functions.php:1997
32
- #: yit-functions.php:2125
33
- msgid "Confirm delete"
34
- msgstr "Confirmar el borrado"
35
-
36
- #: includes/class-yit-assets.php:151
37
- msgid "Are you sure you want to delete the selected items?"
38
- msgstr "¿Estás seguro de que quieres borrar los elementos seleccionados?"
39
-
40
- #: includes/class-yit-assets.php:151 yit-functions.php:1913
41
- #: yit-functions.php:2073
42
- msgid ""
43
- "This action cannot be undone and you will not be able to recover this data."
44
- msgstr "Esta acción no se puede revertir y no podrá recuperar estos datos."
45
-
46
- #: includes/class-yit-assets.php:164
47
- msgid "Clear"
48
- msgstr "Borrar"
49
-
50
- #: includes/class-yit-assets.php:165
51
- msgid "Clear color"
52
- msgstr "Borrar color"
53
-
54
- #: includes/class-yit-assets.php:166
55
- msgid "Default"
56
- msgstr "Predeterminado"
57
-
58
- #: includes/class-yit-assets.php:167
59
- msgid "Select default color"
60
- msgstr "Seleccionar color predeterminado"
61
-
62
- #: includes/class-yit-assets.php:168
63
- msgid "Select Color"
64
- msgstr "Seleccionar color"
65
-
66
- #: includes/class-yit-assets.php:169
67
- msgid "Color value"
68
- msgstr "Valor del color"
69
-
70
- #: includes/class-yit-help-desk.php:152
71
- msgid "There was an error with your request; please try again later."
72
- msgstr ""
73
- "Se ha producido un error en tu solicitud; inténtalo de nuevo más tarde."
74
-
75
- #: includes/class-yit-plugin-panel-woocommerce.php:426
76
- msgid "The changes you have made will be lost if you leave this page."
77
- msgstr "Los cambios que has hecho se perderán si abandonas esta página."
78
-
79
- #: includes/class-yit-plugin-panel.php:83
80
- msgid "Plugin Settings"
81
- msgstr "Ajustes del plugin"
82
-
83
- #: includes/class-yit-plugin-panel.php:84
84
- msgid "Settings"
85
- msgstr "Ajustes"
86
-
87
- #: includes/class-yit-plugin-panel.php:453
88
- #: includes/class-yit-plugin-panel.php:456
89
- msgid "How to install premium version"
90
- msgstr "Cómo instalar la versión premium"
91
-
92
- #: includes/class-yit-plugin-panel.php:654
93
- #: includes/class-yit-plugin-subpanel.php:132
94
- msgid "Save Changes"
95
- msgstr "Guardar cambios"
96
-
97
- #: includes/class-yit-plugin-panel.php:659
98
- #: includes/class-yit-plugin-subpanel.php:136
99
- #: templates/panel/woocommerce/woocommerce-form.php:14
100
- msgid ""
101
- "If you continue with this action, you will reset all options in this page."
102
- msgstr ""
103
- "Si continúas con esta acción, restablecerás todas las opciones en esta "
104
- "página."
105
-
106
- #: includes/class-yit-plugin-panel.php:659
107
- #: includes/class-yit-plugin-subpanel.php:136
108
- #: templates/panel/woocommerce/woocommerce-form.php:14
109
- msgid "Are you sure?"
110
- msgstr "¿Estás seguro?"
111
-
112
- #: includes/class-yit-plugin-panel.php:663
113
- #: includes/class-yit-plugin-subpanel.php:139
114
- msgid "Reset to default"
115
- msgstr "Restablecer valores predeterminados"
116
-
117
- #: includes/class-yit-plugin-panel.php:981
118
- msgid ""
119
- "The element you have entered already exists. Please, enter another name."
120
- msgstr ""
121
- "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
122
-
123
- #: includes/class-yit-plugin-panel.php:982
124
- msgid "Settings saved"
125
- msgstr "Ajustes guardados"
126
-
127
- #: includes/class-yit-plugin-panel.php:983
128
- msgid "Settings reset"
129
- msgstr "Restablecer ajustes"
130
-
131
- #: includes/class-yit-plugin-panel.php:984
132
- msgid "Element deleted correctly."
133
- msgstr "Elemento eliminado correctamente."
134
-
135
- #: includes/class-yit-plugin-panel.php:985
136
- #: includes/class-yit-plugin-panel.php:986
137
- msgid "Element updated correctly."
138
- msgstr "Elemento actualizado correctamente."
139
-
140
- #: includes/class-yit-plugin-panel.php:987
141
- msgid "Database imported correctly."
142
- msgstr "Base de datos importada correctamente."
143
-
144
- #: includes/class-yit-plugin-panel.php:988
145
- msgid "An error has occurred during import. Please try again."
146
- msgstr ""
147
- "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
148
-
149
- #: includes/class-yit-plugin-panel.php:989
150
- msgid "The added file is not valid."
151
- msgstr "El archivo añadido no es válido."
152
-
153
- #: includes/class-yit-plugin-panel.php:990
154
- msgid "Sorry, import is disabled."
155
- msgstr "Lo siento, la importación está desactivada."
156
-
157
- #: includes/class-yit-plugin-panel.php:991
158
- msgid "Sorting successful."
159
- msgstr "Clasificación realizada con éxito"
160
-
161
- #: includes/class-yit-plugin-panel.php:1459
162
- msgid "We need your support"
163
- msgstr "Necesitamos tu apoyo"
164
-
165
- #: includes/class-yit-plugin-panel.php:1460
166
- msgid "to keep updating and improving the plugin. Please,"
167
- msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
168
-
169
- #: includes/class-yit-plugin-panel.php:1462
170
- msgid "help us by leaving a good review"
171
- msgstr "ayúdanos dejando una buena valoración"
172
-
173
- #: includes/class-yit-plugin-panel.php:1463
174
- msgid ":) Thanks!"
175
- msgstr ":) ¡Gracias!"
176
-
177
- #: includes/class-yit-pointers.php:80
178
- msgid "Plugins Activated"
179
- msgstr "Plugins activados"
180
-
181
- #: includes/class-yit-pointers.php:81
182
- msgid ""
183
- "From now on, you can find all plugin options in YITH menu. Plugin "
184
- "customization settings will be available as a new entry in YITH menu."
185
- msgstr ""
186
- "Desde ahora, puedes encontrar todas las opciones de los plugins en el menú "
187
- "YITH plugins. La personalización de los ajustes del plugins estará "
188
- "disponible como una nueva entrada en el menú YITH plugins."
189
-
190
- #. translators: 1. YITH site link; 2. WordPress site link.
191
- #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
192
- msgid "Discover all our plugins available on: %1$s and %2$s"
193
- msgstr "Descubre todos nuestros plugins disponibles en: %1$s y %2$s"
194
-
195
- #: includes/class-yit-pointers.php:96
196
- msgid "Plugins Upgraded"
197
- msgstr "Plugins mejorados"
198
-
199
- #: includes/class-yit-pointers.php:97
200
- msgid ""
201
- "From now on, you can find the option panel of YITH plugins in YITH menu. "
202
- "Every time one of our plugins is added, a new entry will be added to this "
203
- "menu. For example, after the update, plugin options (such as for YITH "
204
- "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
205
- "previous location to YITH menu."
206
- msgstr ""
207
- "Desde ahora puedes encontrar la opción en el panel de Plugins de YITH en el "
208
- "menú YITH plugins. Cada vez que uno de nuestros plugins es añadido, una "
209
- "nueva entrada será añadida a este menú. Por ejemplo, tras la actualización, "
210
- "las opciones de los plugins (tales como YITH WooCommerce Wishlist, YITH "
211
- "WooCommerce Ajax Search, etc.) serán movidos de la ubicación previa a la "
212
- "pestaña de YITH plugins."
213
-
214
- #: includes/class-yith-dashboard.php:35
215
- msgid "YITH Latest Updates"
216
- msgstr "Últimas actualizaciones de YITH"
217
-
218
- #: includes/class-yith-dashboard.php:36
219
- msgid "Latest news from YITH Blog"
220
- msgstr "Últimas novedades del Blog de YITH"
221
-
222
- #: includes/class-yith-dashboard.php:56
223
- msgid "RSS Error:"
224
- msgstr "Error RSS:"
225
-
226
- #: includes/class-yith-dashboard.php:63
227
- msgid ""
228
- "An error has occurred, which probably means the feed is down. Try again "
229
- "later."
230
- msgstr ""
231
- "Ha ocurrido un error, lo que puede que signifique que el feed ha caído. "
232
- "Inténtalo de nuevo más tarde."
233
-
234
- #. translators: %s is the name of the post type (example Back to "Membership
235
- #. Plans").
236
- #: includes/class-yith-post-type-admin.php:286
237
- msgid "Back to \"%s\""
238
- msgstr "Volver a \"%s\""
239
-
240
- #: includes/class-yith-post-type-admin.php:286
241
- msgid "Back to the list"
242
- msgstr "Volver a la lista"
243
-
244
- #: includes/class-yith-system-status.php:110
245
- msgid "WordPress Version"
246
- msgstr "Versión de WordPress"
247
-
248
- #: includes/class-yith-system-status.php:111
249
- msgid "WooCommerce Version"
250
- msgstr "Versión de WooCommerce"
251
-
252
- #: includes/class-yith-system-status.php:112
253
- msgid "Available Memory"
254
- msgstr "Memoria disponible"
255
-
256
- #: includes/class-yith-system-status.php:113
257
- msgid "PHP Version"
258
- msgstr "Versión PHP"
259
-
260
- #: includes/class-yith-system-status.php:114
261
- msgid "TLS Version"
262
- msgstr "Versión TLS"
263
-
264
- #: includes/class-yith-system-status.php:115
265
- msgid "WordPress Cron"
266
- msgstr "Cron de WordPress"
267
-
268
- #: includes/class-yith-system-status.php:116
269
- msgid "SimpleXML"
270
- msgstr "SimpleXML"
271
-
272
- #: includes/class-yith-system-status.php:117
273
- msgid "MultiByte String"
274
- msgstr "Cadena MultiByte"
275
-
276
- #: includes/class-yith-system-status.php:118
277
- msgid "ImageMagick Version"
278
- msgstr "Versión ImageMagick"
279
-
280
- #: includes/class-yith-system-status.php:119
281
- msgid "GD Library"
282
- msgstr "Biblioteca GD"
283
-
284
- #: includes/class-yith-system-status.php:120
285
- msgid "Iconv Module"
286
- msgstr "Módulo Iconv"
287
-
288
- #: includes/class-yith-system-status.php:121
289
- msgid "OPCache Save Comments"
290
- msgstr "Guardar comentarios OPCache"
291
-
292
- #: includes/class-yith-system-status.php:122
293
- msgid "URL FOpen"
294
- msgstr "URL FOpen"
295
-
296
- #: includes/class-yith-system-status.php:140
297
- #: includes/class-yith-system-status.php:141
298
- #: templates/sysinfo/system-information-panel.php:11
299
- msgid "System Status"
300
- msgstr "Estado del sistema"
301
-
302
- #: includes/class-yith-system-status.php:183
303
- msgid "YITH Plugins"
304
- msgstr "YITH Plugins"
305
-
306
- #: includes/class-yith-system-status.php:191
307
- msgid "WooCommerce"
308
- msgstr "WooCommerce"
309
-
310
- #: includes/class-yith-system-status.php:342
311
- msgid "Warning!"
312
- msgstr "¡Atención!"
313
-
314
- #. translators: %1$s open link tag, %2$s open link tag
315
- #: includes/class-yith-system-status.php:346
316
- msgid ""
317
- "The system check has detected some compatibility issues on your installation."
318
- "%1$sClick here%2$s to know more"
319
- msgstr ""
320
- "La comprobación del sistema ha detectado algunos problemas de compatibilidad "
321
- "en tu instalación.%1$sHaz clic quí%2$s para saber más"
322
-
323
- #: includes/class-yith-system-status.php:488
324
- msgid "Enabled"
325
- msgstr "Activado"
326
-
327
- #: includes/class-yith-system-status.php:488
328
- msgid "Disabled"
329
- msgstr "Desactivado"
330
-
331
- #: includes/class-yith-system-status.php:493
332
- msgid "N/A"
333
- msgstr "N/D"
334
-
335
- #. translators: %1$s plugin name, %2$s requirement name
336
- #: includes/class-yith-system-status.php:520
337
- msgid "%1$s needs %2$s enabled"
338
- msgstr "%1$s necesita %2$s activado"
339
-
340
- #. translators: %1$s plugin name, %2$s required memory amount
341
- #: includes/class-yith-system-status.php:523
342
- msgid "%1$s needs at least %2$s of available memory"
343
- msgstr "%1$s necesita al menos %2$s de memoria disponible"
344
-
345
- #. translators: %1$s plugin name, %2$s version number
346
- #: includes/class-yith-system-status.php:526
347
- msgid "%1$s needs at least %2$s version"
348
- msgstr "%1$s necesita al menos la versión %2$s"
349
-
350
- #: includes/class-yith-system-status.php:550
351
- msgid ""
352
- "Update it to the latest version in order to benefit of all new features and "
353
- "security updates."
354
- msgstr ""
355
- "Actualízalo a la última versión para beneficiarte de todas las "
356
- "características y actualizaciones de seguridad."
357
-
358
- #: includes/class-yith-system-status.php:554
359
- #: includes/class-yith-system-status.php:560
360
- msgid "Contact your hosting company in order to update it."
361
- msgstr "Ponte en contacto con tu empresa de hosting para actualizarlo."
362
-
363
- #: includes/class-yith-system-status.php:558
364
- msgid "Contact your hosting company in order to install it."
365
- msgstr "Ponte en contacto con tu empresa de hosting para instalarlo."
366
-
367
- #. translators: %1$s code, %2$s file name
368
- #: includes/class-yith-system-status.php:565
369
- msgid "Remove %1$s from %2$s file"
370
- msgstr "Eliminar %1$s desde el archivo %2$s "
371
-
372
- #: includes/class-yith-system-status.php:573
373
- msgid "Contact your hosting company in order to enable it."
374
- msgstr "Contacta con tu empresa de hosting para activarlo."
375
-
376
- #. translators: %1$s opening link tag, %2$s closing link tag
377
- #: includes/class-yith-system-status.php:577
378
- #: includes/class-yith-system-status.php:600
379
- msgid ""
380
- "Read more %1$shere%2$s or contact your hosting company in order to increase "
381
- "it."
382
- msgstr ""
383
- "Lee más %1$saquí%2$s o contacta a tu empresa de hosting para incrementarlo."
384
-
385
- #. translators: %s recommended memory amount
386
- #: includes/class-yith-system-status.php:597
387
- msgid ""
388
- "For optimal functioning of our plugins, we suggest setting at least %s of "
389
- "available memory"
390
- msgstr ""
391
- "Para el óptimo funcionamiento de nuestros plugins, sugerimos al menos %s de "
392
- "memoria disponible"
393
-
394
- #. translators: %1$s TLS label, %2$s cURL label
395
- #: includes/class-yith-system-status.php:605
396
- msgid ""
397
- "The system check cannot determine which %1$s version is installed because "
398
- "%2$s module is disabled. Ask your hosting company to enable it."
399
- msgstr ""
400
- "La comprobación del sistema no ha podido determinar qué versión de %1$s está "
401
- "instalada porque el módulo %2$s está desactivado. Solicita a tu compañia de "
402
- "hosting que lo active."
403
-
404
- #. translators: %1$s TLS label
405
- #: includes/class-yith-system-status.php:608
406
- msgid ""
407
- "The system check cannot determine which %1$s version is installed due to a "
408
- "connection issue between your site and our server."
409
- msgstr ""
410
- "La comprobación del sistema no ha podido determinar qué versión de %1$s está "
411
- "instalada debido a un error entre tu sitio y nuestro servidor."
412
-
413
- #: templates/fields/ajax-customers.php:41
414
- msgid "Search Customers"
415
- msgstr "Buscar clientes"
416
-
417
- #. translators: 1. user display name; 2. user ID; 3. user email.
418
- #: templates/fields/ajax-customers.php:68
419
- #: templates/fields/ajax-customers.php:79
420
- msgid "%1$s (#%2$s &ndash; %3$s)"
421
- msgstr "%1$s (#%2$s &ndash; %3$s)"
422
-
423
- #: templates/fields/ajax-posts.php:41
424
- msgid "Search Posts"
425
- msgstr "Buscar entradas"
426
-
427
- #: templates/fields/ajax-products.php:14
428
- msgid "Search Product"
429
- msgstr "Buscar producto"
430
-
431
- #: templates/fields/ajax-terms.php:41
432
- msgid "Search Categories"
433
- msgstr "Buscar categorías"
434
-
435
- #: templates/fields/customtabs.php:17
436
- msgid "Close all"
437
- msgstr "Cerrar todo"
438
-
439
- #: templates/fields/customtabs.php:17
440
- msgid "Expand all"
441
- msgstr "Expandir todo"
442
-
443
- #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
444
- msgid "Remove"
445
- msgstr "Eliminar"
446
-
447
- #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
448
- msgid "Name"
449
- msgstr "Nombre"
450
-
451
- #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
452
- msgid "Value"
453
- msgstr "Valor"
454
-
455
- #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
456
- msgid "Content of the tab. (HTML is supported)"
457
- msgstr "Contenido de la pestaña. (Compatible con HTML)"
458
-
459
- #: templates/fields/customtabs.php:52
460
- msgid "Add custom product tab"
461
- msgstr "Añadir pestaña de producto personalizada"
462
-
463
- #: templates/fields/customtabs.php:93
464
- msgid "Do you want to remove the custom tab?"
465
- msgstr "¿Quieres eliminar la pestaña personalizada?"
466
-
467
- #: templates/fields/date-format.php:65
468
- msgid "Custom:"
469
- msgstr "Personalizado:"
470
-
471
- #: templates/fields/date-format.php:70
472
- msgid "Preview:"
473
- msgstr "Vista previa:"
474
-
475
- #: templates/fields/icons.php:78
476
- msgid "Set Default"
477
- msgstr "Establecer predeterminado"
478
-
479
- #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
480
- msgid "Delete image"
481
- msgstr "Eliminar imagen"
482
-
483
- #: templates/fields/image-gallery.php:37
484
- msgid "Add Images to Gallery"
485
- msgstr "Añadir imágenes a la Galería"
486
-
487
- #: templates/fields/image-gallery.php:38
488
- msgid "Add to gallery"
489
- msgstr "Añadir a la galería"
490
-
491
- #: templates/fields/image-gallery.php:39
492
- msgid "Add images"
493
- msgstr "Añadir imágenes"
494
-
495
- #: templates/fields/image-gallery.php:41
496
- msgid "Delete"
497
- msgstr "Eliminar"
498
-
499
- #: templates/fields/select-buttons.php:19
500
- msgid "Add All"
501
- msgstr "Añadir todo"
502
-
503
- #: templates/fields/select-buttons.php:20
504
- msgid "Remove All"
505
- msgstr "Eliminar todo"
506
-
507
- #: templates/fields/sidebars.php:20
508
- msgid "Left sidebar"
509
- msgstr "Barra lateral izquierda"
510
-
511
- #: templates/fields/sidebars.php:23
512
- msgid "Right sidebar"
513
- msgstr "Barra lateral derecha"
514
-
515
- #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
516
- msgid "No sidebar"
517
- msgstr "Sin barra lateral"
518
-
519
- #: templates/fields/sidebars.php:39
520
- msgid "Left Sidebar"
521
- msgstr "Barra lateral izquierda"
522
-
523
- #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
524
- msgid "Choose a sidebar"
525
- msgstr "Elige una barra lateral"
526
-
527
- #: templates/fields/sidebars.php:54
528
- msgid "Right Sidebar"
529
- msgstr "Barra lateral derecha"
530
-
531
- #: templates/fields/upload.php:34
532
- #: templates/panel/woocommerce/woocommerce-upload.php:37
533
- msgid "Upload"
534
- msgstr "Subir"
535
-
536
- #: templates/fields/upload.php:39
537
- msgid "Reset"
538
- msgstr "Restablecer"
539
-
540
- #: templates/panel/woocommerce/woocommerce-form.php:28
541
- #: templates/panel/woocommerce/woocommerce-form.php:32
542
- msgid "Save Options"
543
- msgstr "Guardar Opciones"
544
-
545
- #: templates/panel/woocommerce/woocommerce-form.php:32
546
- msgid "Options Saved"
547
- msgstr "Opciones guardadas"
548
-
549
- #: templates/panel/woocommerce/woocommerce-form.php:38
550
- msgid "Reset Defaults"
551
- msgstr "Restablecer valores predeterminados"
552
-
553
- #: templates/sysinfo/system-information-panel.php:12
554
- msgid "PHPInfo"
555
- msgstr "Información PHP"
556
-
557
- #: templates/sysinfo/system-information-panel.php:13
558
- #: templates/sysinfo/tabs/error-log.php:25
559
- msgid "Log Files"
560
- msgstr "Archivos de registro"
561
-
562
- #: templates/sysinfo/system-information-panel.php:22
563
- msgid "YITH System Information"
564
- msgstr "Información de Sistema de YITH"
565
-
566
- #: templates/sysinfo/tabs/error-log.php:13
567
- msgid "WP debug.log file"
568
- msgstr "Archivo WP debug.log"
569
-
570
- #: templates/sysinfo/tabs/error-log.php:18
571
- msgid "PHP error_log file"
572
- msgstr "Archivo PHP error_log"
573
-
574
- #: templates/sysinfo/tabs/error-log.php:60
575
- msgid "Download"
576
- msgstr "Descargar"
577
-
578
- #: templates/sysinfo/tabs/error-log.php:72
579
- msgid "The file size exceeds 8 megabytes so it must be downloaded"
580
- msgstr "El archivo excede los 8 megabytes por lo que debe ser descargado"
581
-
582
- #. translators: %s file name.
583
- #: templates/sysinfo/tabs/error-log.php:96
584
- msgid ""
585
- "No Log file available. Enable the WordPress debug by adding this in the %s "
586
- "file of your installation"
587
- msgstr ""
588
- "No hay archivo de registro disponible. Activa la depuración de WordPress "
589
- "añadiendo este código en el archivo %s de tu instalación"
590
-
591
- #: templates/sysinfo/tabs/error-log.php:105
592
- msgid "Copied!"
593
- msgstr "¡Copiado!"
594
-
595
- #: templates/sysinfo/tabs/error-log.php:105
596
- msgid "Copy Code"
597
- msgstr "Copiar código"
598
-
599
- #: templates/sysinfo/tabs/main.php:17
600
- msgid "Site Info"
601
- msgstr "Información del sitio"
602
-
603
- #: templates/sysinfo/tabs/main.php:22
604
- msgid "Site URL"
605
- msgstr "URL del sitio"
606
-
607
- #: templates/sysinfo/tabs/main.php:31
608
- msgid "Output IP Address"
609
- msgstr "Dirección IP de salida"
610
-
611
- #: templates/sysinfo/tabs/main.php:39
612
- msgid "Defined WP_CACHE"
613
- msgstr "WP_CACHE definido"
614
-
615
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
616
- msgid "Yes"
617
- msgstr "Sí"
618
-
619
- #: templates/sysinfo/tabs/main.php:47
620
- msgid "External object cache"
621
- msgstr "Caché objeto externo"
622
-
623
- #: templates/sysinfo/tabs/main.php:55
624
- msgid "YITH Plugin Framework Version"
625
- msgstr "Versión del YITH Plugin Framework "
626
-
627
- #. translators: %s is the name of the plugin that is loading the framework.
628
- #: templates/sysinfo/tabs/main.php:64
629
- msgid "loaded by %s"
630
- msgstr "cargado por %s"
631
-
632
- #: templates/sysinfo/tabs/main.php:73
633
- msgid "Plugins Requirements"
634
- msgstr "Requerimientos de los plugins"
635
-
636
- #: templates/sysinfo/tabs/main.php:108
637
- msgid "Database Info"
638
- msgstr "Información de la base de datos"
639
-
640
- #: templates/sysinfo/tabs/main.php:113
641
- msgid "MySQL version"
642
- msgstr "Versión de MySQL"
643
-
644
- #. Translators: %s: Codex link.
645
- #: templates/sysinfo/tabs/main.php:123
646
- msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
647
- msgstr "WordPress recomienda como versión mínima para MySQL la 5.6. Ver: %s"
648
-
649
- #: templates/sysinfo/tabs/main.php:123
650
- msgid "WordPress requirements"
651
- msgstr "Requerimientos de WordPress"
652
-
653
- #: templates/sysinfo/tabs/main.php:130
654
- msgid "Total Database Size"
655
- msgstr "Tamaño total de la base de datos:"
656
-
657
- #: templates/sysinfo/tabs/main.php:138
658
- msgid "Database Data Size"
659
- msgstr "Tamaño de los datos en la base de datos:"
660
-
661
- #: templates/sysinfo/tabs/main.php:146
662
- msgid "Database Index Size"
663
- msgstr "Tamaño del índice en la base de datos:"
664
-
665
- #: templates/sysinfo/tabs/main.php:154
666
- msgid "Database Free Size"
667
- msgstr "Espacio libre en la base de datos:"
668
-
669
- #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
670
- #. Engine.
671
- #: templates/sysinfo/tabs/main.php:168
672
- msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
673
- msgstr "Datos: %1$.2fMB | Índice: %2$.2fMB | Libre: %3$.2fMB | Motor: %4$s"
674
-
675
- #. translators: %s is the title of the post object.
676
- #: yit-functions.php:1911
677
- msgid "Are you sure you want to move \"%s\" to trash?"
678
- msgstr "¿Estás seguro de que quieres mover \"%s\" a la papelera?"
679
-
680
- #. translators: %s is the title of the post object.
681
- #: yit-functions.php:1913 yit-functions.php:2073
682
- msgid "Are you sure you want to delete \"%s\"?"
683
- msgstr "¿Estás seguro de que quieres borrar \"%s\"?"
684
-
685
- #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
686
- msgid "Further actions"
687
- msgstr "Otras acciones"
688
-
689
- #: yit-plugin.php:205
690
- msgid "License"
691
- msgstr "Licencia"
692
-
693
- #. Author of the plugin/theme
694
- msgid "YITH"
695
- msgstr "YITH"
696
-
697
- #. translators: %s it the Elementor Widget title.
698
- #: includes/builders/elementor/class-yith-elementor-widget.php:252
699
- msgctxt "Elementor Widget - section title"
700
- msgid "%s - Options"
701
- msgstr "%s - Opciones"
702
-
703
- #: includes/builders/gutenberg/class-yith-gutenberg.php:149
704
- msgctxt "[gutenberg]: Category Name"
705
- msgid "YITH"
706
- msgstr "YITH"
707
-
708
- #: includes/class-yit-assets.php:134
709
- msgctxt "Button text"
710
- msgid "Confirm"
711
- msgstr "Confirmar"
712
-
713
- #: includes/class-yit-assets.php:135
714
- msgctxt "Button text"
715
- msgid "Cancel"
716
- msgstr "Cancelar"
717
-
718
- #: includes/class-yit-assets.php:148 yit-functions.php:1982
719
- msgctxt "Trash confirmation action"
720
- msgid "Yes, move to trash"
721
- msgstr "Sí, mover a la papelera"
722
-
723
- #: includes/class-yit-assets.php:152 yit-functions.php:2000
724
- #: yit-functions.php:2127
725
- msgctxt "Delete confirmation action"
726
- msgid "Yes, delete"
727
- msgstr "Si, borrar"
728
-
729
- #: includes/class-yit-plugin-panel.php:490
730
- msgctxt "Help tab name"
731
- msgid "Help"
732
- msgstr "Ayuda"
733
-
734
- #. translators: 1. Plugin name.
735
- #: includes/class-yit-plugin-panel.php:800
736
- msgctxt "Help tab default title"
737
- msgid "Thank you for purchasing %s!"
738
- msgstr "¡Gracias por comprar %s!"
739
-
740
- #: includes/class-yit-plugin-panel.php:801
741
- msgctxt "Help tab default description"
742
- msgid ""
743
- "We want to help you to enjoy a wonderful experience with all our products."
744
- msgstr ""
745
- "Queremos ayudarte a disfrutar de una experiencia maravillosa con todos "
746
- "nuestros productos."
747
-
748
- #: includes/class-yith-dashboard.php:96
749
- msgctxt "Plugin FW"
750
- msgid "View Changelog"
751
- msgstr "Ver Registro de cambios"
752
-
753
- #: includes/class-yith-dashboard.php:97
754
- msgctxt "Plugin FW"
755
- msgid "Latest update released on"
756
- msgstr "Última actualización publicada el"
757
-
758
- #: includes/class-yith-dashboard.php:137
759
- msgctxt "Button label"
760
- msgid "Close"
761
- msgstr "Cerrar"
762
-
763
- #: includes/privacy/class-yith-privacy.php:61
764
- msgctxt "Privacy Policy Guide Title"
765
- msgid "YITH Plugins"
766
- msgstr "Plugins de YITH"
767
-
768
- #: includes/privacy/class-yith-privacy.php:93
769
- msgctxt "Privacy Policy Content"
770
- msgid ""
771
- "This sample language includes the basics around what personal data your "
772
- "store may be collecting, storing and sharing, as well as who may have access "
773
- "to that data. Depending on what settings are enabled and which additional "
774
- "plugins are used, the specific information shared by your store will vary. "
775
- "We recommend consulting with a lawyer when deciding what information to "
776
- "disclose on your privacy policy."
777
- msgstr ""
778
- "Este idioma de prueba incluye la información principal sobre qué tipo de "
779
- "información puede estar recopilando, almacenando y compartiendo tu tienda, "
780
- "así como quién tiene acceso a esa información. Dependiendo de los ajustes "
781
- "configurados y qué plugins adicionales sean usados, la información "
782
- "específica compartida por tu sitio variará. Recomendamos consultar con un "
783
- "abogado cuando decidas qué información mostrar en tu política de privacidad."
784
-
785
- #: includes/privacy/class-yith-privacy.php:97
786
- msgctxt "Privacy Policy Content"
787
- msgid "What we collect and store"
788
- msgstr "Qué recopilamos y almacenamos"
789
-
790
- #: includes/privacy/class-yith-privacy.php:100
791
- msgctxt "Privacy Policy Content"
792
- msgid "Who on our team has access"
793
- msgstr "Quién en nuestro equipo tiene acceso"
794
-
795
- #: includes/privacy/class-yith-privacy.php:103
796
- msgctxt "Privacy Policy Content"
797
- msgid "What we share with others"
798
- msgstr "Qué compartimos con otros"
799
-
800
- #: includes/privacy/class-yith-privacy.php:106
801
- msgctxt "Privacy Policy Content"
802
- msgid "Payments"
803
- msgstr "Pagos"
804
-
805
- #: templates/fields/copy-to-clipboard.php:41
806
- msgctxt "Copy-to-clipboard message"
807
- msgid "Copied!"
808
- msgstr "¡Copiado!"
809
-
810
- #: templates/fields/copy-to-clipboard.php:45
811
- msgctxt "Copy-to-clipboard button text"
812
- msgid "Copy"
813
- msgstr "Copiar"
814
-
815
- #: templates/fields/dimensions.php:13
816
- msgctxt "Position in the \"Dimensions\" field"
817
- msgid "Top"
818
- msgstr "Parte superior"
819
-
820
- #: templates/fields/dimensions.php:14
821
- msgctxt "Position in the \"Dimensions\" field"
822
- msgid "Right"
823
- msgstr "Derecha"
824
-
825
- #: templates/fields/dimensions.php:15
826
- msgctxt "Position in the \"Dimensions\" field"
827
- msgid "Bottom"
828
- msgstr "Parte inferior"
829
-
830
- #: templates/fields/dimensions.php:16
831
- msgctxt "Position in the \"Dimensions\" field"
832
- msgid "Left"
833
- msgstr "Izquierda"
834
-
835
- #: templates/fields/dimensions.php:94
836
- msgctxt "Tooltip in the \"Dimensions\" field"
837
- msgid "Link values together"
838
- msgstr "Enlazar valores juntos"
839
-
840
- #: templates/fields/image-dimensions.php:18
841
- msgctxt "Image width field label"
842
- msgid "Width"
843
- msgstr "Anchura"
844
-
845
- #: templates/fields/image-dimensions.php:23
846
- msgctxt "Image height field label"
847
- msgid "Height"
848
- msgstr "Altura"
849
-
850
- #: templates/fields/onoff.php:28
851
- msgctxt "YES/NO button: use MAX 4 characters!"
852
- msgid "YES"
853
- msgstr ""
854
-
855
- #: templates/fields/onoff.php:29
856
- msgctxt "YES/NO button: use MAX 4 characters!"
857
- msgid "NO"
858
- msgstr "NO"
859
-
860
- #. translators: 1. Url to EN playlist.
861
- #: templates/panel/help-tab.php:87
862
- msgctxt "Help tab view all video link"
863
- msgid ""
864
- "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
865
- "learn more >"
866
- msgstr ""
867
- "Consulta la <a href=\"%s\" target=\"_blank\">Lista de reproducción en "
868
- "Youtube</a> para saber más >"
869
-
870
- #: templates/panel/help-tab.php:94
871
- msgctxt "Help tab Watch Videotutorials link"
872
- msgid "Videos are also available in:"
873
- msgstr "Los vídeos también están disponibles en:"
874
-
875
- #: templates/panel/help-tab.php:137
876
- msgctxt "Help tab Watch Videotutorials link"
877
- msgid "Watch our videotutorials"
878
- msgstr "Vea nuestros videotutoriales"
879
-
880
- #: templates/panel/help-tab.php:140
881
- msgctxt "Help tab Watch Videotutorials link"
882
- msgid "We show you some use cases"
883
- msgstr "Te mostramos algunos ejemplos de uso"
884
-
885
- #: templates/panel/help-tab.php:124
886
- msgctxt "Help tab Read Documentation link"
887
- msgid "Read the documentation"
888
- msgstr "Lee la documentación"
889
-
890
- #: templates/panel/help-tab.php:127
891
- msgctxt "Help tab Read Documentation link"
892
- msgid "to learn from basics how it works"
893
- msgstr "para aprender desde lo más básico cómo funciona"
894
-
895
- #: templates/panel/help-tab.php:150
896
- msgctxt "Help tab view FAQs link"
897
- msgid "Check the FAQs"
898
- msgstr "Comprueba los FAQ"
899
-
900
- #: templates/panel/help-tab.php:153
901
- msgctxt "Help tab view FAQs link"
902
- msgid "to find answers to your doubts"
903
- msgstr "para encontrar respuestas a tus dudas"
904
-
905
- #: templates/panel/help-tab.php:169
906
- msgctxt "Help tab FAQ title"
907
- msgid "Last FAQs in our Help Center"
908
- msgstr "Últimos FAQs en nuestro Centro de Ayuda"
909
-
910
- #: templates/panel/help-tab.php:183
911
- msgctxt "Help tab FAQ link"
912
- msgid "View all FAQs >"
913
- msgstr "Ver todos los FAQs >"
914
-
915
- #: templates/panel/help-tab.php:192
916
- msgctxt "Help tab submit ticket title"
917
- msgid "Need help?"
918
- msgstr "¿Necesitas ayuda?"
919
-
920
- #: templates/panel/help-tab.php:195
921
- msgctxt "Help tab submit ticket description"
922
- msgid ""
923
- "If you are experiencing some technical issue ask help to our developers. "
924
- "Submit a ticket in our support desk and we will help you as soon as possible."
925
- msgstr ""
926
- "Si tienes algún problema técnico, pide ayuda a nuestros desarrolladores. "
927
- "Envía un ticket en nuestro panel de soporte y te ayudaremos lo antes posible."
928
-
929
- #: templates/panel/help-tab.php:203
930
- msgctxt "Help tab submit ticket button"
931
- msgid "Submit a ticket"
932
- msgstr "Enviar ticket"
933
-
934
- #: yit-functions.php:1925
935
- msgctxt "Post action"
936
- msgid "Preview"
937
- msgstr "Previsualizar"
938
-
939
- #: yit-functions.php:1934
940
- msgctxt "Post action"
941
- msgid "View"
942
- msgstr "Ver"
943
-
944
- #: yit-functions.php:1945
945
- msgctxt "Post action"
946
- msgid "Edit"
947
- msgstr "Editar"
948
-
949
- #: yit-functions.php:1953
950
- msgctxt "Post action"
951
- msgid "Duplicate"
952
- msgstr "Duplicar"
953
-
954
- #: yit-functions.php:1965
955
- msgctxt "Post action"
956
- msgid "Restore"
957
- msgstr "Restaurar"
958
-
959
- #: yit-functions.php:1973
960
- msgctxt "Post action"
961
- msgid "Trash"
962
- msgstr "A la papelera"
963
-
964
- #: yit-functions.php:1990
965
- msgctxt "Post action"
966
- msgid "Delete Permanently"
967
- msgstr "Borrar permanentemente"
968
-
969
- #: yit-functions.php:2087
970
- msgctxt "Term action"
971
- msgid "View"
972
- msgstr "Ver"
973
-
974
- #: yit-functions.php:2097
975
- msgctxt "Term action"
976
- msgid "Edit"
977
- msgstr "Editar"
978
-
979
- #: yit-functions.php:2105
980
- msgctxt "Term action"
981
- msgid "Duplicate"
982
- msgstr "Duplicar"
983
-
984
- #: yit-functions.php:2118
985
- msgctxt "Term action"
986
- msgid "Delete"
987
- msgstr "Borrar"
988
-
989
- #: yit-plugin.php:84
990
- msgctxt "Plugin Row Meta"
991
- msgid "Live Demo"
992
- msgstr "Demostración en vivo"
993
-
994
- #: yit-plugin.php:88
995
- msgctxt "Plugin Row Meta"
996
- msgid "Documentation"
997
- msgstr "Documentación"
998
-
999
- #: yit-plugin.php:92
1000
- msgctxt "Plugin Row Meta"
1001
- msgid "Support"
1002
- msgstr "Soporte"
1003
-
1004
- #: yit-plugin.php:96
1005
- msgctxt "Plugin Row Meta"
1006
- msgid "Premium version"
1007
- msgstr "Versión premium"
1008
-
1009
- #: yit-plugin.php:201
1010
- msgctxt "Action links"
1011
- msgid "Settings"
1012
- msgstr "Ajustes"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of YITH Framework in Spanish (Spain)
2
+ # This file is distributed under the same license as the YITH Framework package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: YITH Framework\n"
6
+ "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-12-13 14:46:02+00:00\n"
8
+ "PO-Revision-Date: 2021-12-13 13:19:03+0000\n"
9
+ "Language: es\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
+
16
+ #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
+ msgid "Confirm trash"
18
+ msgstr "Confirmar el traslado a la papelera"
19
+
20
+ #: includes/class-yit-assets.php:147
21
+ msgid "Are you sure you want to trash the selected items?"
22
+ msgstr ""
23
+ "¿Estás seguro de que quieres mover a la papelera los elementos seleccionados?"
24
+
25
+ #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
26
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
27
+ #: yit-functions.php:1981 yit-functions.php:1999
28
+ msgid "No"
29
+ msgstr "No"
30
+
31
+ #: includes/class-yit-assets.php:150 yit-functions.php:1997
32
+ #: yit-functions.php:2125
33
+ msgid "Confirm delete"
34
+ msgstr "Confirmar el borrado"
35
+
36
+ #: includes/class-yit-assets.php:151
37
+ msgid "Are you sure you want to delete the selected items?"
38
+ msgstr "¿Estás seguro de que quieres borrar los elementos seleccionados?"
39
+
40
+ #: includes/class-yit-assets.php:151 yit-functions.php:1913
41
+ #: yit-functions.php:2073
42
+ msgid ""
43
+ "This action cannot be undone and you will not be able to recover this data."
44
+ msgstr "Esta acción no se puede revertir y no podrá recuperar estos datos."
45
+
46
+ #: includes/class-yit-assets.php:164
47
+ msgid "Clear"
48
+ msgstr "Borrar"
49
+
50
+ #: includes/class-yit-assets.php:165
51
+ msgid "Clear color"
52
+ msgstr "Borrar color"
53
+
54
+ #: includes/class-yit-assets.php:166
55
+ msgid "Default"
56
+ msgstr "Predeterminado"
57
+
58
+ #: includes/class-yit-assets.php:167
59
+ msgid "Select default color"
60
+ msgstr "Seleccionar color predeterminado"
61
+
62
+ #: includes/class-yit-assets.php:168
63
+ msgid "Select Color"
64
+ msgstr "Seleccionar color"
65
+
66
+ #: includes/class-yit-assets.php:169
67
+ msgid "Color value"
68
+ msgstr "Valor del color"
69
+
70
+ #: includes/class-yit-help-desk.php:152
71
+ msgid "There was an error with your request; please try again later."
72
+ msgstr ""
73
+ "Se ha producido un error en tu solicitud; inténtalo de nuevo más tarde."
74
+
75
+ #: includes/class-yit-plugin-panel-woocommerce.php:430
76
+ msgid "The changes you have made will be lost if you leave this page."
77
+ msgstr "Los cambios que has hecho se perderán si abandonas esta página."
78
+
79
+ #: includes/class-yit-plugin-panel.php:83
80
+ msgid "Plugin Settings"
81
+ msgstr "Ajustes del plugin"
82
+
83
+ #: includes/class-yit-plugin-panel.php:84
84
+ msgid "Settings"
85
+ msgstr "Ajustes"
86
+
87
+ #: includes/class-yit-plugin-panel.php:455
88
+ #: includes/class-yit-plugin-panel.php:458
89
+ msgid "How to install premium version"
90
+ msgstr "Cómo instalar la versión premium"
91
+
92
+ #: includes/class-yit-plugin-panel.php:659
93
+ #: includes/class-yit-plugin-subpanel.php:132
94
+ msgid "Save Changes"
95
+ msgstr "Guardar cambios"
96
+
97
+ #: includes/class-yit-plugin-panel.php:664
98
+ #: includes/class-yit-plugin-subpanel.php:136
99
+ #: templates/panel/woocommerce/woocommerce-form.php:14
100
+ msgid ""
101
+ "If you continue with this action, you will reset all options in this page."
102
+ msgstr ""
103
+ "Si continúas con esta acción, restablecerás todas las opciones en esta "
104
+ "página."
105
+
106
+ #: includes/class-yit-plugin-panel.php:664
107
+ #: includes/class-yit-plugin-subpanel.php:136
108
+ #: templates/panel/woocommerce/woocommerce-form.php:14
109
+ msgid "Are you sure?"
110
+ msgstr "¿Estás seguro?"
111
+
112
+ #: includes/class-yit-plugin-panel.php:668
113
+ #: includes/class-yit-plugin-subpanel.php:139
114
+ msgid "Reset to default"
115
+ msgstr "Restablecer valores predeterminados"
116
+
117
+ #: includes/class-yit-plugin-panel.php:1047
118
+ msgid ""
119
+ "The element you have entered already exists. Please, enter another name."
120
+ msgstr ""
121
+ "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
122
+
123
+ #: includes/class-yit-plugin-panel.php:1048
124
+ msgid "Settings saved"
125
+ msgstr "Ajustes guardados"
126
+
127
+ #: includes/class-yit-plugin-panel.php:1049
128
+ msgid "Settings reset"
129
+ msgstr "Restablecer ajustes"
130
+
131
+ #: includes/class-yit-plugin-panel.php:1050
132
+ msgid "Element deleted correctly."
133
+ msgstr "Elemento eliminado correctamente."
134
+
135
+ #: includes/class-yit-plugin-panel.php:1051
136
+ #: includes/class-yit-plugin-panel.php:1052
137
+ msgid "Element updated correctly."
138
+ msgstr "Elemento actualizado correctamente."
139
+
140
+ #: includes/class-yit-plugin-panel.php:1053
141
+ msgid "Database imported correctly."
142
+ msgstr "Base de datos importada correctamente."
143
+
144
+ #: includes/class-yit-plugin-panel.php:1054
145
+ msgid "An error has occurred during import. Please try again."
146
+ msgstr ""
147
+ "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
148
+
149
+ #: includes/class-yit-plugin-panel.php:1055
150
+ msgid "The added file is not valid."
151
+ msgstr "El archivo añadido no es válido."
152
+
153
+ #: includes/class-yit-plugin-panel.php:1056
154
+ msgid "Sorry, import is disabled."
155
+ msgstr "Lo siento, la importación está desactivada."
156
+
157
+ #: includes/class-yit-plugin-panel.php:1057
158
+ msgid "Sorting successful."
159
+ msgstr "Clasificación realizada con éxito"
160
+
161
+ #: includes/class-yit-plugin-panel.php:1525
162
+ msgid "We need your support"
163
+ msgstr "Necesitamos tu apoyo"
164
+
165
+ #: includes/class-yit-plugin-panel.php:1526
166
+ msgid "to keep updating and improving the plugin. Please,"
167
+ msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
168
+
169
+ #: includes/class-yit-plugin-panel.php:1528
170
+ msgid "help us by leaving a good review"
171
+ msgstr "ayúdanos dejando una buena valoración"
172
+
173
+ #: includes/class-yit-plugin-panel.php:1529
174
+ msgid ":) Thanks!"
175
+ msgstr ":) ¡Gracias!"
176
+
177
+ #: includes/class-yit-pointers.php:80
178
+ msgid "Plugins Activated"
179
+ msgstr "Plugins activados"
180
+
181
+ #: includes/class-yit-pointers.php:81
182
+ msgid ""
183
+ "From now on, you can find all plugin options in YITH menu. Plugin "
184
+ "customization settings will be available as a new entry in YITH menu."
185
+ msgstr ""
186
+ "Desde ahora, puedes encontrar todas las opciones de los plugins en el menú "
187
+ "YITH plugins. La personalización de los ajustes del plugins estará "
188
+ "disponible como una nueva entrada en el menú YITH plugins."
189
+
190
+ #. translators: 1. YITH site link; 2. WordPress site link.
191
+ #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
192
+ msgid "Discover all our plugins available on: %1$s and %2$s"
193
+ msgstr "Descubre todos nuestros plugins disponibles en: %1$s y %2$s"
194
+
195
+ #: includes/class-yit-pointers.php:96
196
+ msgid "Plugins Upgraded"
197
+ msgstr "Plugins mejorados"
198
+
199
+ #: includes/class-yit-pointers.php:97
200
+ msgid ""
201
+ "From now on, you can find the option panel of YITH plugins in YITH menu. "
202
+ "Every time one of our plugins is added, a new entry will be added to this "
203
+ "menu. For example, after the update, plugin options (such as for YITH "
204
+ "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
205
+ "previous location to YITH menu."
206
+ msgstr ""
207
+ "Desde ahora puedes encontrar la opción en el panel de Plugins de YITH en el "
208
+ "menú YITH plugins. Cada vez que uno de nuestros plugins es añadido, una "
209
+ "nueva entrada será añadida a este menú. Por ejemplo, tras la actualización, "
210
+ "las opciones de los plugins (tales como YITH WooCommerce Wishlist, YITH "
211
+ "WooCommerce Ajax Search, etc.) serán movidos de la ubicación previa a la "
212
+ "pestaña de YITH plugins."
213
+
214
+ #: includes/class-yith-dashboard.php:35
215
+ msgid "YITH Latest Updates"
216
+ msgstr "Últimas actualizaciones de YITH"
217
+
218
+ #: includes/class-yith-dashboard.php:36
219
+ msgid "Latest news from YITH Blog"
220
+ msgstr "Últimas novedades del Blog de YITH"
221
+
222
+ #: includes/class-yith-dashboard.php:56
223
+ msgid "RSS Error:"
224
+ msgstr "Error RSS:"
225
+
226
+ #: includes/class-yith-dashboard.php:63
227
+ msgid ""
228
+ "An error has occurred, which probably means the feed is down. Try again "
229
+ "later."
230
+ msgstr ""
231
+ "Ha ocurrido un error, lo que puede que signifique que el feed ha caído. "
232
+ "Inténtalo de nuevo más tarde."
233
+
234
+ #. translators: %s is the name of the post type (example Back to "Membership
235
+ #. Plans").
236
+ #: includes/class-yith-post-type-admin.php:286
237
+ msgid "Back to \"%s\""
238
+ msgstr "Volver a \"%s\""
239
+
240
+ #: includes/class-yith-post-type-admin.php:286
241
+ msgid "Back to the list"
242
+ msgstr "Volver a la lista"
243
+
244
+ #: includes/class-yith-system-status.php:110
245
+ msgid "WordPress Version"
246
+ msgstr "Versión de WordPress"
247
+
248
+ #: includes/class-yith-system-status.php:111
249
+ msgid "WooCommerce Version"
250
+ msgstr "Versión de WooCommerce"
251
+
252
+ #: includes/class-yith-system-status.php:112
253
+ msgid "Available Memory"
254
+ msgstr "Memoria disponible"
255
+
256
+ #: includes/class-yith-system-status.php:113
257
+ msgid "PHP Version"
258
+ msgstr "Versión PHP"
259
+
260
+ #: includes/class-yith-system-status.php:114
261
+ msgid "TLS Version"
262
+ msgstr "Versión TLS"
263
+
264
+ #: includes/class-yith-system-status.php:115
265
+ msgid "WordPress Cron"
266
+ msgstr "Cron de WordPress"
267
+
268
+ #: includes/class-yith-system-status.php:116
269
+ msgid "SimpleXML"
270
+ msgstr "SimpleXML"
271
+
272
+ #: includes/class-yith-system-status.php:117
273
+ msgid "MultiByte String"
274
+ msgstr "Cadena MultiByte"
275
+
276
+ #: includes/class-yith-system-status.php:118
277
+ msgid "ImageMagick Version"
278
+ msgstr "Versión ImageMagick"
279
+
280
+ #: includes/class-yith-system-status.php:119
281
+ msgid "GD Library"
282
+ msgstr "Biblioteca GD"
283
+
284
+ #: includes/class-yith-system-status.php:120
285
+ msgid "Iconv Module"
286
+ msgstr "Módulo Iconv"
287
+
288
+ #: includes/class-yith-system-status.php:121
289
+ msgid "OPCache Save Comments"
290
+ msgstr "Guardar comentarios OPCache"
291
+
292
+ #: includes/class-yith-system-status.php:122
293
+ msgid "URL FOpen"
294
+ msgstr "URL FOpen"
295
+
296
+ #: includes/class-yith-system-status.php:140
297
+ #: includes/class-yith-system-status.php:141
298
+ #: templates/sysinfo/system-information-panel.php:11
299
+ msgid "System Status"
300
+ msgstr "Estado del sistema"
301
+
302
+ #: includes/class-yith-system-status.php:183
303
+ msgid "YITH Plugins"
304
+ msgstr "YITH Plugins"
305
+
306
+ #: includes/class-yith-system-status.php:191
307
+ msgid "WooCommerce"
308
+ msgstr "WooCommerce"
309
+
310
+ #: includes/class-yith-system-status.php:342
311
+ msgid "Warning!"
312
+ msgstr "¡Atención!"
313
+
314
+ #. translators: %1$s open link tag, %2$s open link tag
315
+ #: includes/class-yith-system-status.php:346
316
+ msgid ""
317
+ "The system check has detected some compatibility issues on your installation."
318
+ "%1$sClick here%2$s to know more"
319
+ msgstr ""
320
+ "La comprobación del sistema ha detectado algunos problemas de compatibilidad "
321
+ "en tu instalación.%1$sHaz clic quí%2$s para saber más"
322
+
323
+ #: includes/class-yith-system-status.php:488
324
+ msgid "Enabled"
325
+ msgstr "Activado"
326
+
327
+ #: includes/class-yith-system-status.php:488
328
+ msgid "Disabled"
329
+ msgstr "Desactivado"
330
+
331
+ #: includes/class-yith-system-status.php:493
332
+ msgid "N/A"
333
+ msgstr "N/D"
334
+
335
+ #. translators: %1$s plugin name, %2$s requirement name
336
+ #: includes/class-yith-system-status.php:520
337
+ msgid "%1$s needs %2$s enabled"
338
+ msgstr "%1$s necesita %2$s activado"
339
+
340
+ #. translators: %1$s plugin name, %2$s required memory amount
341
+ #: includes/class-yith-system-status.php:523
342
+ msgid "%1$s needs at least %2$s of available memory"
343
+ msgstr "%1$s necesita al menos %2$s de memoria disponible"
344
+
345
+ #. translators: %1$s plugin name, %2$s version number
346
+ #: includes/class-yith-system-status.php:526
347
+ msgid "%1$s needs at least %2$s version"
348
+ msgstr "%1$s necesita al menos la versión %2$s"
349
+
350
+ #: includes/class-yith-system-status.php:550
351
+ msgid ""
352
+ "Update it to the latest version in order to benefit of all new features and "
353
+ "security updates."
354
+ msgstr ""
355
+ "Actualízalo a la última versión para beneficiarte de todas las "
356
+ "características y actualizaciones de seguridad."
357
+
358
+ #: includes/class-yith-system-status.php:554
359
+ #: includes/class-yith-system-status.php:560
360
+ msgid "Contact your hosting company in order to update it."
361
+ msgstr "Ponte en contacto con tu empresa de hosting para actualizarlo."
362
+
363
+ #: includes/class-yith-system-status.php:558
364
+ msgid "Contact your hosting company in order to install it."
365
+ msgstr "Ponte en contacto con tu empresa de hosting para instalarlo."
366
+
367
+ #. translators: %1$s code, %2$s file name
368
+ #: includes/class-yith-system-status.php:565
369
+ msgid "Remove %1$s from %2$s file"
370
+ msgstr "Eliminar %1$s desde el archivo %2$s "
371
+
372
+ #: includes/class-yith-system-status.php:573
373
+ msgid "Contact your hosting company in order to enable it."
374
+ msgstr "Contacta con tu empresa de hosting para activarlo."
375
+
376
+ #. translators: %1$s opening link tag, %2$s closing link tag
377
+ #: includes/class-yith-system-status.php:577
378
+ #: includes/class-yith-system-status.php:600
379
+ msgid ""
380
+ "Read more %1$shere%2$s or contact your hosting company in order to increase "
381
+ "it."
382
+ msgstr ""
383
+ "Lee más %1$saquí%2$s o contacta a tu empresa de hosting para incrementarlo."
384
+
385
+ #. translators: %s recommended memory amount
386
+ #: includes/class-yith-system-status.php:597
387
+ msgid ""
388
+ "For optimal functioning of our plugins, we suggest setting at least %s of "
389
+ "available memory"
390
+ msgstr ""
391
+ "Para el óptimo funcionamiento de nuestros plugins, sugerimos al menos %s de "
392
+ "memoria disponible"
393
+
394
+ #. translators: %1$s TLS label, %2$s cURL label
395
+ #: includes/class-yith-system-status.php:605
396
+ msgid ""
397
+ "The system check cannot determine which %1$s version is installed because "
398
+ "%2$s module is disabled. Ask your hosting company to enable it."
399
+ msgstr ""
400
+ "La comprobación del sistema no ha podido determinar qué versión de %1$s está "
401
+ "instalada porque el módulo %2$s está desactivado. Solicita a tu compañia de "
402
+ "hosting que lo active."
403
+
404
+ #. translators: %1$s TLS label
405
+ #: includes/class-yith-system-status.php:608
406
+ msgid ""
407
+ "The system check cannot determine which %1$s version is installed due to a "
408
+ "connection issue between your site and our server."
409
+ msgstr ""
410
+ "La comprobación del sistema no ha podido determinar qué versión de %1$s está "
411
+ "instalada debido a un error entre tu sitio y nuestro servidor."
412
+
413
+ #: templates/fields/ajax-customers.php:41
414
+ msgid "Search Customers"
415
+ msgstr "Buscar clientes"
416
+
417
+ #. translators: 1. user display name; 2. user ID; 3. user email.
418
+ #: templates/fields/ajax-customers.php:68
419
+ #: templates/fields/ajax-customers.php:79
420
+ msgid "%1$s (#%2$s &ndash; %3$s)"
421
+ msgstr "%1$s (#%2$s &ndash; %3$s)"
422
+
423
+ #: templates/fields/ajax-posts.php:41
424
+ msgid "Search Posts"
425
+ msgstr "Buscar entradas"
426
+
427
+ #: templates/fields/ajax-products.php:14
428
+ msgid "Search Product"
429
+ msgstr "Buscar producto"
430
+
431
+ #: templates/fields/ajax-terms.php:41
432
+ msgid "Search Categories"
433
+ msgstr "Buscar categorías"
434
+
435
+ #: templates/fields/customtabs.php:17
436
+ msgid "Close all"
437
+ msgstr "Cerrar todo"
438
+
439
+ #: templates/fields/customtabs.php:17
440
+ msgid "Expand all"
441
+ msgstr "Expandir todo"
442
+
443
+ #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
444
+ msgid "Remove"
445
+ msgstr "Eliminar"
446
+
447
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
448
+ msgid "Name"
449
+ msgstr "Nombre"
450
+
451
+ #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
452
+ msgid "Value"
453
+ msgstr "Valor"
454
+
455
+ #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
456
+ msgid "Content of the tab. (HTML is supported)"
457
+ msgstr "Contenido de la pestaña. (Compatible con HTML)"
458
+
459
+ #: templates/fields/customtabs.php:52
460
+ msgid "Add custom product tab"
461
+ msgstr "Añadir pestaña de producto personalizada"
462
+
463
+ #: templates/fields/customtabs.php:93
464
+ msgid "Do you want to remove the custom tab?"
465
+ msgstr "¿Quieres eliminar la pestaña personalizada?"
466
+
467
+ #: templates/fields/date-format.php:65
468
+ msgid "Custom:"
469
+ msgstr "Personalizado:"
470
+
471
+ #: templates/fields/date-format.php:70
472
+ msgid "Preview:"
473
+ msgstr "Vista previa:"
474
+
475
+ #: templates/fields/icons.php:78
476
+ msgid "Set Default"
477
+ msgstr "Establecer predeterminado"
478
+
479
+ #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
480
+ msgid "Delete image"
481
+ msgstr "Eliminar imagen"
482
+
483
+ #: templates/fields/image-gallery.php:37
484
+ msgid "Add Images to Gallery"
485
+ msgstr "Añadir imágenes a la Galería"
486
+
487
+ #: templates/fields/image-gallery.php:38
488
+ msgid "Add to gallery"
489
+ msgstr "Añadir a la galería"
490
+
491
+ #: templates/fields/image-gallery.php:39
492
+ msgid "Add images"
493
+ msgstr "Añadir imágenes"
494
+
495
+ #: templates/fields/image-gallery.php:41
496
+ msgid "Delete"
497
+ msgstr "Eliminar"
498
+
499
+ #: templates/fields/select-buttons.php:19
500
+ msgid "Add All"
501
+ msgstr "Añadir todo"
502
+
503
+ #: templates/fields/select-buttons.php:20
504
+ msgid "Remove All"
505
+ msgstr "Eliminar todo"
506
+
507
+ #: templates/fields/sidebars.php:20
508
+ msgid "Left sidebar"
509
+ msgstr "Barra lateral izquierda"
510
+
511
+ #: templates/fields/sidebars.php:23
512
+ msgid "Right sidebar"
513
+ msgstr "Barra lateral derecha"
514
+
515
+ #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
516
+ msgid "No sidebar"
517
+ msgstr "Sin barra lateral"
518
+
519
+ #: templates/fields/sidebars.php:39
520
+ msgid "Left Sidebar"
521
+ msgstr "Barra lateral izquierda"
522
+
523
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
524
+ msgid "Choose a sidebar"
525
+ msgstr "Elige una barra lateral"
526
+
527
+ #: templates/fields/sidebars.php:54
528
+ msgid "Right Sidebar"
529
+ msgstr "Barra lateral derecha"
530
+
531
+ #: templates/fields/upload.php:34
532
+ #: templates/panel/woocommerce/woocommerce-upload.php:37
533
+ msgid "Upload"
534
+ msgstr "Subir"
535
+
536
+ #: templates/fields/upload.php:39
537
+ msgid "Reset"
538
+ msgstr "Restablecer"
539
+
540
+ #: templates/panel/woocommerce/woocommerce-form.php:28
541
+ #: templates/panel/woocommerce/woocommerce-form.php:32
542
+ msgid "Save Options"
543
+ msgstr "Guardar Opciones"
544
+
545
+ #: templates/panel/woocommerce/woocommerce-form.php:32
546
+ msgid "Options Saved"
547
+ msgstr "Opciones guardadas"
548
+
549
+ #: templates/panel/woocommerce/woocommerce-form.php:38
550
+ msgid "Reset Defaults"
551
+ msgstr "Restablecer valores predeterminados"
552
+
553
+ #: templates/sysinfo/system-information-panel.php:12
554
+ msgid "PHPInfo"
555
+ msgstr "Información PHP"
556
+
557
+ #: templates/sysinfo/system-information-panel.php:13
558
+ #: templates/sysinfo/tabs/error-log.php:25
559
+ msgid "Log Files"
560
+ msgstr "Archivos de registro"
561
+
562
+ #: templates/sysinfo/system-information-panel.php:22
563
+ msgid "YITH System Information"
564
+ msgstr "Información de Sistema de YITH"
565
+
566
+ #: templates/sysinfo/tabs/error-log.php:13
567
+ msgid "WP debug.log file"
568
+ msgstr "Archivo WP debug.log"
569
+
570
+ #: templates/sysinfo/tabs/error-log.php:18
571
+ msgid "PHP error_log file"
572
+ msgstr "Archivo PHP error_log"
573
+
574
+ #: templates/sysinfo/tabs/error-log.php:60
575
+ msgid "Download"
576
+ msgstr "Descargar"
577
+
578
+ #: templates/sysinfo/tabs/error-log.php:72
579
+ msgid "The file size exceeds 8 megabytes so it must be downloaded"
580
+ msgstr "El archivo excede los 8 megabytes por lo que debe ser descargado"
581
+
582
+ #. translators: %s file name.
583
+ #: templates/sysinfo/tabs/error-log.php:96
584
+ msgid ""
585
+ "No Log file available. Enable the WordPress debug by adding this in the %s "
586
+ "file of your installation"
587
+ msgstr ""
588
+ "No hay archivo de registro disponible. Activa la depuración de WordPress "
589
+ "añadiendo este código en el archivo %s de tu instalación"
590
+
591
+ #: templates/sysinfo/tabs/error-log.php:105
592
+ msgid "Copied!"
593
+ msgstr "¡Copiado!"
594
+
595
+ #: templates/sysinfo/tabs/error-log.php:105
596
+ msgid "Copy Code"
597
+ msgstr "Copiar código"
598
+
599
+ #: templates/sysinfo/tabs/main.php:17
600
+ msgid "Site Info"
601
+ msgstr "Información del sitio"
602
+
603
+ #: templates/sysinfo/tabs/main.php:22
604
+ msgid "Site URL"
605
+ msgstr "URL del sitio"
606
+
607
+ #: templates/sysinfo/tabs/main.php:31
608
+ msgid "Output IP Address"
609
+ msgstr "Dirección IP de salida"
610
+
611
+ #: templates/sysinfo/tabs/main.php:39
612
+ msgid "Defined WP_CACHE"
613
+ msgstr "WP_CACHE definido"
614
+
615
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
616
+ msgid "Yes"
617
+ msgstr "Sí"
618
+
619
+ #: templates/sysinfo/tabs/main.php:47
620
+ msgid "External object cache"
621
+ msgstr "Caché objeto externo"
622
+
623
+ #: templates/sysinfo/tabs/main.php:55
624
+ msgid "YITH Plugin Framework Version"
625
+ msgstr "Versión del YITH Plugin Framework "
626
+
627
+ #. translators: %s is the name of the plugin that is loading the framework.
628
+ #: templates/sysinfo/tabs/main.php:64
629
+ msgid "loaded by %s"
630
+ msgstr "cargado por %s"
631
+
632
+ #: templates/sysinfo/tabs/main.php:73
633
+ msgid "Plugins Requirements"
634
+ msgstr "Requerimientos de los plugins"
635
+
636
+ #: templates/sysinfo/tabs/main.php:108
637
+ msgid "Database Info"
638
+ msgstr "Información de la base de datos"
639
+
640
+ #: templates/sysinfo/tabs/main.php:113
641
+ msgid "MySQL version"
642
+ msgstr "Versión de MySQL"
643
+
644
+ #. Translators: %s: Codex link.
645
+ #: templates/sysinfo/tabs/main.php:123
646
+ msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
647
+ msgstr "WordPress recomienda como versión mínima para MySQL la 5.6. Ver: %s"
648
+
649
+ #: templates/sysinfo/tabs/main.php:123
650
+ msgid "WordPress requirements"
651
+ msgstr "Requerimientos de WordPress"
652
+
653
+ #: templates/sysinfo/tabs/main.php:130
654
+ msgid "Total Database Size"
655
+ msgstr "Tamaño total de la base de datos:"
656
+
657
+ #: templates/sysinfo/tabs/main.php:138
658
+ msgid "Database Data Size"
659
+ msgstr "Tamaño de los datos en la base de datos:"
660
+
661
+ #: templates/sysinfo/tabs/main.php:146
662
+ msgid "Database Index Size"
663
+ msgstr "Tamaño del índice en la base de datos:"
664
+
665
+ #: templates/sysinfo/tabs/main.php:154
666
+ msgid "Database Free Size"
667
+ msgstr "Espacio libre en la base de datos:"
668
+
669
+ #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
670
+ #. Engine.
671
+ #: templates/sysinfo/tabs/main.php:168
672
+ msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
673
+ msgstr "Datos: %1$.2fMB | Índice: %2$.2fMB | Libre: %3$.2fMB | Motor: %4$s"
674
+
675
+ #. translators: %s is the title of the post object.
676
+ #: yit-functions.php:1911
677
+ msgid "Are you sure you want to move \"%s\" to trash?"
678
+ msgstr "¿Estás seguro de que quieres mover \"%s\" a la papelera?"
679
+
680
+ #. translators: %s is the title of the post object.
681
+ #: yit-functions.php:1913 yit-functions.php:2073
682
+ msgid "Are you sure you want to delete \"%s\"?"
683
+ msgstr "¿Estás seguro de que quieres borrar \"%s\"?"
684
+
685
+ #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
686
+ msgid "Further actions"
687
+ msgstr "Otras acciones"
688
+
689
+ #: yit-plugin.php:205
690
+ msgid "License"
691
+ msgstr "Licencia"
692
+
693
+ #. Author of the plugin/theme
694
+ msgid "YITH"
695
+ msgstr "YITH"
696
+
697
+ #. translators: %s it the Elementor Widget title.
698
+ #: includes/builders/elementor/class-yith-elementor-widget.php:252
699
+ msgctxt "Elementor Widget - section title"
700
+ msgid "%s - Options"
701
+ msgstr "%s - Opciones"
702
+
703
+ #: includes/builders/gutenberg/class-yith-gutenberg.php:149
704
+ msgctxt "[gutenberg]: Category Name"
705
+ msgid "YITH"
706
+ msgstr "YITH"
707
+
708
+ #: includes/class-yit-assets.php:134
709
+ msgctxt "Button text"
710
+ msgid "Confirm"
711
+ msgstr "Confirmar"
712
+
713
+ #: includes/class-yit-assets.php:135
714
+ msgctxt "Button text"
715
+ msgid "Cancel"
716
+ msgstr "Cancelar"
717
+
718
+ #: includes/class-yit-assets.php:148 yit-functions.php:1982
719
+ msgctxt "Trash confirmation action"
720
+ msgid "Yes, move to trash"
721
+ msgstr "Sí, mover a la papelera"
722
+
723
+ #: includes/class-yit-assets.php:152 yit-functions.php:2000
724
+ #: yit-functions.php:2127
725
+ msgctxt "Delete confirmation action"
726
+ msgid "Yes, delete"
727
+ msgstr "Si, borrar"
728
+
729
+ #: includes/class-yit-plugin-panel.php:492
730
+ msgctxt "Help tab name"
731
+ msgid "Help"
732
+ msgstr "Ayuda"
733
+
734
+ #. translators: 1. Plugin name.
735
+ #: includes/class-yit-plugin-panel.php:805
736
+ msgctxt "Help tab default title"
737
+ msgid "Thank you for purchasing %s!"
738
+ msgstr "¡Gracias por comprar %s!"
739
+
740
+ #: includes/class-yit-plugin-panel.php:806
741
+ msgctxt "Help tab default description"
742
+ msgid ""
743
+ "We want to help you to enjoy a wonderful experience with all our products."
744
+ msgstr ""
745
+ "Queremos ayudarte a disfrutar de una experiencia maravillosa con todos "
746
+ "nuestros productos."
747
+
748
+ #: includes/class-yit-plugin-panel.php:853
749
+ msgctxt "Premium tab name"
750
+ msgid "Get premium"
751
+ msgstr "Obtén premium"
752
+
753
+ #: includes/class-yith-dashboard.php:96
754
+ msgctxt "Plugin FW"
755
+ msgid "View Changelog"
756
+ msgstr "Ver Registro de cambios"
757
+
758
+ #: includes/class-yith-dashboard.php:97
759
+ msgctxt "Plugin FW"
760
+ msgid "Latest update released on"
761
+ msgstr "Última actualización publicada el"
762
+
763
+ #: includes/class-yith-dashboard.php:137
764
+ msgctxt "Button label"
765
+ msgid "Close"
766
+ msgstr "Cerrar"
767
+
768
+ #: includes/privacy/class-yith-privacy.php:61
769
+ msgctxt "Privacy Policy Guide Title"
770
+ msgid "YITH Plugins"
771
+ msgstr "Plugins de YITH"
772
+
773
+ #: includes/privacy/class-yith-privacy.php:93
774
+ msgctxt "Privacy Policy Content"
775
+ msgid ""
776
+ "This sample language includes the basics around what personal data your "
777
+ "store may be collecting, storing and sharing, as well as who may have access "
778
+ "to that data. Depending on what settings are enabled and which additional "
779
+ "plugins are used, the specific information shared by your store will vary. "
780
+ "We recommend consulting with a lawyer when deciding what information to "
781
+ "disclose on your privacy policy."
782
+ msgstr ""
783
+ "Este idioma de prueba incluye la información principal sobre qué tipo de "
784
+ "información puede estar recopilando, almacenando y compartiendo tu tienda, "
785
+ "así como quién tiene acceso a esa información. Dependiendo de los ajustes "
786
+ "configurados y qué plugins adicionales sean usados, la información "
787
+ "específica compartida por tu sitio variará. Recomendamos consultar con un "
788
+ "abogado cuando decidas qué información mostrar en tu política de privacidad."
789
+
790
+ #: includes/privacy/class-yith-privacy.php:97
791
+ msgctxt "Privacy Policy Content"
792
+ msgid "What we collect and store"
793
+ msgstr "Qué recopilamos y almacenamos"
794
+
795
+ #: includes/privacy/class-yith-privacy.php:100
796
+ msgctxt "Privacy Policy Content"
797
+ msgid "Who on our team has access"
798
+ msgstr "Quién en nuestro equipo tiene acceso"
799
+
800
+ #: includes/privacy/class-yith-privacy.php:103
801
+ msgctxt "Privacy Policy Content"
802
+ msgid "What we share with others"
803
+ msgstr "Qué compartimos con otros"
804
+
805
+ #: includes/privacy/class-yith-privacy.php:106
806
+ msgctxt "Privacy Policy Content"
807
+ msgid "Payments"
808
+ msgstr "Pagos"
809
+
810
+ #: templates/fields/copy-to-clipboard.php:41
811
+ msgctxt "Copy-to-clipboard message"
812
+ msgid "Copied!"
813
+ msgstr "¡Copiado!"
814
+
815
+ #: templates/fields/copy-to-clipboard.php:45
816
+ msgctxt "Copy-to-clipboard button text"
817
+ msgid "Copy"
818
+ msgstr "Copiar"
819
+
820
+ #: templates/fields/dimensions.php:13
821
+ msgctxt "Position in the \"Dimensions\" field"
822
+ msgid "Top"
823
+ msgstr "Parte superior"
824
+
825
+ #: templates/fields/dimensions.php:14
826
+ msgctxt "Position in the \"Dimensions\" field"
827
+ msgid "Right"
828
+ msgstr "Derecha"
829
+
830
+ #: templates/fields/dimensions.php:15
831
+ msgctxt "Position in the \"Dimensions\" field"
832
+ msgid "Bottom"
833
+ msgstr "Parte inferior"
834
+
835
+ #: templates/fields/dimensions.php:16
836
+ msgctxt "Position in the \"Dimensions\" field"
837
+ msgid "Left"
838
+ msgstr "Izquierda"
839
+
840
+ #: templates/fields/dimensions.php:94
841
+ msgctxt "Tooltip in the \"Dimensions\" field"
842
+ msgid "Link values together"
843
+ msgstr "Enlazar valores juntos"
844
+
845
+ #: templates/fields/image-dimensions.php:18
846
+ msgctxt "Image width field label"
847
+ msgid "Width"
848
+ msgstr "Anchura"
849
+
850
+ #: templates/fields/image-dimensions.php:23
851
+ msgctxt "Image height field label"
852
+ msgid "Height"
853
+ msgstr "Altura"
854
+
855
+ #: templates/fields/onoff.php:28
856
+ msgctxt "YES/NO button: use MAX 4 characters!"
857
+ msgid "YES"
858
+ msgstr ""
859
+
860
+ #: templates/fields/onoff.php:29
861
+ msgctxt "YES/NO button: use MAX 4 characters!"
862
+ msgid "NO"
863
+ msgstr "NO"
864
+
865
+ #. translators: 1. Url to EN playlist.
866
+ #: templates/panel/help-tab.php:87
867
+ msgctxt "Help tab view all video link"
868
+ msgid ""
869
+ "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
870
+ "learn more >"
871
+ msgstr ""
872
+ "Consulta la <a href=\"%s\" target=\"_blank\">Lista de reproducción en "
873
+ "Youtube</a> para saber más >"
874
+
875
+ #: templates/panel/help-tab.php:94
876
+ msgctxt "Help tab Watch Videotutorials link"
877
+ msgid "Videos are also available in:"
878
+ msgstr "Los vídeos también están disponibles en:"
879
+
880
+ #: templates/panel/help-tab.php:137
881
+ msgctxt "Help tab Watch Videotutorials link"
882
+ msgid "Watch our videotutorials"
883
+ msgstr "Vea nuestros videotutoriales"
884
+
885
+ #: templates/panel/help-tab.php:140
886
+ msgctxt "Help tab Watch Videotutorials link"
887
+ msgid "We show you some use cases"
888
+ msgstr "Te mostramos algunos ejemplos de uso"
889
+
890
+ #: templates/panel/help-tab.php:124
891
+ msgctxt "Help tab Read Documentation link"
892
+ msgid "Read the documentation"
893
+ msgstr "Lee la documentación"
894
+
895
+ #: templates/panel/help-tab.php:127
896
+ msgctxt "Help tab Read Documentation link"
897
+ msgid "to learn from basics how it works"
898
+ msgstr "para aprender desde lo más básico cómo funciona"
899
+
900
+ #: templates/panel/help-tab.php:150
901
+ msgctxt "Help tab view FAQs link"
902
+ msgid "Check the FAQs"
903
+ msgstr "Comprueba los FAQ"
904
+
905
+ #: templates/panel/help-tab.php:153
906
+ msgctxt "Help tab view FAQs link"
907
+ msgid "to find answers to your doubts"
908
+ msgstr "para encontrar respuestas a tus dudas"
909
+
910
+ #: templates/panel/help-tab.php:169
911
+ msgctxt "Help tab FAQ title"
912
+ msgid "Last FAQs in our Help Center"
913
+ msgstr "Últimos FAQs en nuestro Centro de Ayuda"
914
+
915
+ #: templates/panel/help-tab.php:183
916
+ msgctxt "Help tab FAQ link"
917
+ msgid "View all FAQs >"
918
+ msgstr "Ver todos los FAQs >"
919
+
920
+ #: templates/panel/help-tab.php:192
921
+ msgctxt "Help tab submit ticket title"
922
+ msgid "Need help?"
923
+ msgstr "¿Necesitas ayuda?"
924
+
925
+ #: templates/panel/help-tab.php:195
926
+ msgctxt "Help tab submit ticket description"
927
+ msgid ""
928
+ "If you are experiencing some technical issue ask help to our developers. "
929
+ "Submit a ticket in our support desk and we will help you as soon as possible."
930
+ msgstr ""
931
+ "Si tienes algún problema técnico, pide ayuda a nuestros desarrolladores. "
932
+ "Envía un ticket en nuestro panel de soporte y te ayudaremos lo antes posible."
933
+
934
+ #: templates/panel/help-tab.php:203
935
+ msgctxt "Help tab submit ticket button"
936
+ msgid "Submit a ticket"
937
+ msgstr "Enviar ticket"
938
+
939
+ #: templates/panel/premium-tab.php:30
940
+ msgctxt "Premium Tab"
941
+ msgid "Get the premium version to unlock advanced features"
942
+ msgstr "Obtén la versión premium para desbloquear características avanzadas"
943
+
944
+ #: templates/panel/premium-tab.php:34
945
+ msgctxt "Premium Tab"
946
+ msgid "Get premium"
947
+ msgstr "Obtén la versión Premium"
948
+
949
+ #: templates/panel/premium-tab.php:39
950
+ msgctxt "Premium Tab"
951
+ msgid "Plugin premium features images"
952
+ msgstr "Imágenes de la versión premium"
953
+
954
+ #. translators: alt attribute of main image tag.
955
+ #: templates/panel/premium-tab.php:51
956
+ msgctxt "Premium Tab"
957
+ msgid "And so much more!"
958
+ msgstr "¡Y mucho más!"
959
+
960
+ #: templates/panel/premium-tab.php:53
961
+ msgctxt "Premium Tab"
962
+ msgid "Check the free vs premium features >"
963
+ msgstr "Comprueba las características gratuitas frente a las premium >"
964
+
965
+ #: templates/panel/premium-tab.php:58
966
+ msgctxt "Premium Tab"
967
+ msgid "Get the premium version"
968
+ msgstr "Obtén la versión Premium"
969
+
970
+ #: yit-functions.php:1925
971
+ msgctxt "Post action"
972
+ msgid "Preview"
973
+ msgstr "Previsualizar"
974
+
975
+ #: yit-functions.php:1934
976
+ msgctxt "Post action"
977
+ msgid "View"
978
+ msgstr "Ver"
979
+
980
+ #: yit-functions.php:1945
981
+ msgctxt "Post action"
982
+ msgid "Edit"
983
+ msgstr "Editar"
984
+
985
+ #: yit-functions.php:1953
986
+ msgctxt "Post action"
987
+ msgid "Duplicate"
988
+ msgstr "Duplicar"
989
+
990
+ #: yit-functions.php:1965
991
+ msgctxt "Post action"
992
+ msgid "Restore"
993
+ msgstr "Restaurar"
994
+
995
+ #: yit-functions.php:1973
996
+ msgctxt "Post action"
997
+ msgid "Trash"
998
+ msgstr "A la papelera"
999
+
1000
+ #: yit-functions.php:1990
1001
+ msgctxt "Post action"
1002
+ msgid "Delete Permanently"
1003
+ msgstr "Borrar permanentemente"
1004
+
1005
+ #: yit-functions.php:2087
1006
+ msgctxt "Term action"
1007
+ msgid "View"
1008
+ msgstr "Ver"
1009
+
1010
+ #: yit-functions.php:2097
1011
+ msgctxt "Term action"
1012
+ msgid "Edit"
1013
+ msgstr "Editar"
1014
+
1015
+ #: yit-functions.php:2105
1016
+ msgctxt "Term action"
1017
+ msgid "Duplicate"
1018
+ msgstr "Duplicar"
1019
+
1020
+ #: yit-functions.php:2118
1021
+ msgctxt "Term action"
1022
+ msgid "Delete"
1023
+ msgstr "Borrar"
1024
+
1025
+ #: yit-plugin.php:84
1026
+ msgctxt "Plugin Row Meta"
1027
+ msgid "Live Demo"
1028
+ msgstr "Demostración en vivo"
1029
+
1030
+ #: yit-plugin.php:88
1031
+ msgctxt "Plugin Row Meta"
1032
+ msgid "Documentation"
1033
+ msgstr "Documentación"
1034
+
1035
+ #: yit-plugin.php:92
1036
+ msgctxt "Plugin Row Meta"
1037
+ msgid "Support"
1038
+ msgstr "Soporte"
1039
+
1040
+ #: yit-plugin.php:96
1041
+ msgctxt "Plugin Row Meta"
1042
+ msgid "Premium version"
1043
+ msgstr "Versión premium"
1044
+
1045
+ #: yit-plugin.php:201
1046
+ msgctxt "Action links"
1047
+ msgid "Settings"
1048
+ msgstr "Ajustes"
plugin-fw/languages/yith-plugin-fw-it_IT.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-it_IT.po CHANGED
@@ -1,1014 +1,1050 @@
1
- # Translation of YITH Framework in Italian
2
- # This file is distributed under the same license as the YITH Framework package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: YITH Framework\n"
6
- "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2021-12-02 07:20:36+00:00\n"
8
- "PO-Revision-Date: 2021-10-27 15:32:46+0000\n"
9
- "Language: it\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
- "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
-
16
- #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
- msgid "Confirm trash"
18
- msgstr "Conferma eliminazione"
19
-
20
- #: includes/class-yit-assets.php:147
21
- msgid "Are you sure you want to trash the selected items?"
22
- msgstr "Se sicuro di voler spostare nel cestino gli elementi selezionati?"
23
-
24
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
- #: yit-functions.php:1981 yit-functions.php:1999
27
- msgid "No"
28
- msgstr "No"
29
-
30
- #: includes/class-yit-assets.php:150 yit-functions.php:1997
31
- #: yit-functions.php:2125
32
- msgid "Confirm delete"
33
- msgstr "Conferma eliminazione"
34
-
35
- #: includes/class-yit-assets.php:151
36
- msgid "Are you sure you want to delete the selected items?"
37
- msgstr "Se sicuro di voler eliminare gli elementi selezionati?"
38
-
39
- #: includes/class-yit-assets.php:151 yit-functions.php:1913
40
- #: yit-functions.php:2073
41
- msgid ""
42
- "This action cannot be undone and you will not be able to recover this data."
43
- msgstr ""
44
- "Quest'azione non può essere annullata e non sarà possibile recuperare questi "
45
- "dati."
46
-
47
- #: includes/class-yit-assets.php:164
48
- msgid "Clear"
49
- msgstr "Rimuovi"
50
-
51
- #: includes/class-yit-assets.php:165
52
- msgid "Clear color"
53
- msgstr "Rimuovi colore"
54
-
55
- #: includes/class-yit-assets.php:166
56
- msgid "Default"
57
- msgstr "Predefinito"
58
-
59
- #: includes/class-yit-assets.php:167
60
- msgid "Select default color"
61
- msgstr "Seleziona il colore predefinito"
62
-
63
- #: includes/class-yit-assets.php:168
64
- msgid "Select Color"
65
- msgstr "Seleziona il colore"
66
-
67
- #: includes/class-yit-assets.php:169
68
- msgid "Color value"
69
- msgstr "Valore del colore"
70
-
71
- #: includes/class-yit-help-desk.php:152
72
- msgid "There was an error with your request; please try again later."
73
- msgstr "Si è verificato un errore con la tua richiesta. Riprova più tardi."
74
-
75
- #: includes/class-yit-plugin-panel-woocommerce.php:426
76
- msgid "The changes you have made will be lost if you leave this page."
77
- msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
78
-
79
- #: includes/class-yit-plugin-panel.php:83
80
- msgid "Plugin Settings"
81
- msgstr "Impostazioni plugin"
82
-
83
- #: includes/class-yit-plugin-panel.php:84
84
- msgid "Settings"
85
- msgstr "Impostazioni"
86
-
87
- #: includes/class-yit-plugin-panel.php:453
88
- #: includes/class-yit-plugin-panel.php:456
89
- msgid "How to install premium version"
90
- msgstr "Come installare la versione premium"
91
-
92
- #: includes/class-yit-plugin-panel.php:654
93
- #: includes/class-yit-plugin-subpanel.php:132
94
- msgid "Save Changes"
95
- msgstr "Salva modifiche"
96
-
97
- #: includes/class-yit-plugin-panel.php:659
98
- #: includes/class-yit-plugin-subpanel.php:136
99
- #: templates/panel/woocommerce/woocommerce-form.php:14
100
- msgid ""
101
- "If you continue with this action, you will reset all options in this page."
102
- msgstr ""
103
- "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
104
- "reimpostate."
105
-
106
- #: includes/class-yit-plugin-panel.php:659
107
- #: includes/class-yit-plugin-subpanel.php:136
108
- #: templates/panel/woocommerce/woocommerce-form.php:14
109
- msgid "Are you sure?"
110
- msgstr "Sei sicuro?"
111
-
112
- #: includes/class-yit-plugin-panel.php:663
113
- #: includes/class-yit-plugin-subpanel.php:139
114
- msgid "Reset to default"
115
- msgstr "Ripristina configurazione predefinita"
116
-
117
- #: includes/class-yit-plugin-panel.php:981
118
- msgid ""
119
- "The element you have entered already exists. Please, enter another name."
120
- msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
121
-
122
- #: includes/class-yit-plugin-panel.php:982
123
- msgid "Settings saved"
124
- msgstr "Impostazioni salvate"
125
-
126
- #: includes/class-yit-plugin-panel.php:983
127
- msgid "Settings reset"
128
- msgstr "Impostazioni azzerate"
129
-
130
- #: includes/class-yit-plugin-panel.php:984
131
- msgid "Element deleted correctly."
132
- msgstr "Elemento rimosso correttamente."
133
-
134
- #: includes/class-yit-plugin-panel.php:985
135
- #: includes/class-yit-plugin-panel.php:986
136
- msgid "Element updated correctly."
137
- msgstr "Elemento aggiornato correttamente."
138
-
139
- #: includes/class-yit-plugin-panel.php:987
140
- msgid "Database imported correctly."
141
- msgstr "Database importato correttamente."
142
-
143
- #: includes/class-yit-plugin-panel.php:988
144
- msgid "An error has occurred during import. Please try again."
145
- msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
146
-
147
- #: includes/class-yit-plugin-panel.php:989
148
- msgid "The added file is not valid."
149
- msgstr "Il file aggiunto non è valido."
150
-
151
- #: includes/class-yit-plugin-panel.php:990
152
- msgid "Sorry, import is disabled."
153
- msgstr "Ci dispiace, l'importazione è disabilitata."
154
-
155
- #: includes/class-yit-plugin-panel.php:991
156
- msgid "Sorting successful."
157
- msgstr "Ordinamento effettuato con successo."
158
-
159
- #: includes/class-yit-plugin-panel.php:1459
160
- msgid "We need your support"
161
- msgstr "Abbiamo bisogno del tuo sostegno"
162
-
163
- #: includes/class-yit-plugin-panel.php:1460
164
- msgid "to keep updating and improving the plugin. Please,"
165
- msgstr "per poter continuare ad aggiornare e migliorare il plugin."
166
-
167
- #: includes/class-yit-plugin-panel.php:1462
168
- msgid "help us by leaving a good review"
169
- msgstr "Puoi darci una mano lasciando una recensione positiva"
170
-
171
- #: includes/class-yit-plugin-panel.php:1463
172
- msgid ":) Thanks!"
173
- msgstr ":) Grazie!"
174
-
175
- #: includes/class-yit-pointers.php:80
176
- msgid "Plugins Activated"
177
- msgstr "Plugin attivati"
178
-
179
- #: includes/class-yit-pointers.php:81
180
- msgid ""
181
- "From now on, you can find all plugin options in YITH menu. Plugin "
182
- "customization settings will be available as a new entry in YITH menu."
183
- msgstr ""
184
- "D'ora in poi puoi trovare tutte le opzioni dei plugin nel menù YITH. Le "
185
- "impostazioni di personalizzazione saranno disponibili come una nuova voce in "
186
- "YITH."
187
-
188
- #. translators: 1. YITH site link; 2. WordPress site link.
189
- #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
190
- msgid "Discover all our plugins available on: %1$s and %2$s"
191
- msgstr "Scopri tutti i nostri plugin disponibili su: %1$s and %2$s"
192
-
193
- #: includes/class-yit-pointers.php:96
194
- msgid "Plugins Upgraded"
195
- msgstr "Plugin aggiornati"
196
-
197
- #: includes/class-yit-pointers.php:97
198
- msgid ""
199
- "From now on, you can find the option panel of YITH plugins in YITH menu. "
200
- "Every time one of our plugins is added, a new entry will be added to this "
201
- "menu. For example, after the update, plugin options (such as for YITH "
202
- "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
203
- "previous location to YITH menu."
204
- msgstr ""
205
- "D'ora in poi puoi trovare il pannello opzioni dei plugin YITH nel menù YITH. "
206
- "Ogni volta che viene aggiunto uno dei nostri plugin comparirà una nuova voce "
207
- "in questo menù. Ad esempio, dopo l'aggiornamento, le opzioni del plugin "
208
- "(come per YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) "
209
- "saranno spostate dalla posizione precedente al menù YITH."
210
-
211
- #: includes/class-yith-dashboard.php:35
212
- msgid "YITH Latest Updates"
213
- msgstr "Ultimi aggiornamenti da YITH"
214
-
215
- #: includes/class-yith-dashboard.php:36
216
- msgid "Latest news from YITH Blog"
217
- msgstr "Ultime novità dal blog YITH"
218
-
219
- #: includes/class-yith-dashboard.php:56
220
- msgid "RSS Error:"
221
- msgstr "Errore RSS:"
222
-
223
- #: includes/class-yith-dashboard.php:63
224
- msgid ""
225
- "An error has occurred, which probably means the feed is down. Try again "
226
- "later."
227
- msgstr ""
228
- "Si è verificato un errore probabilmente causato dal feed non disponibile. "
229
- "Riprova più tardi."
230
-
231
- #. translators: %s is the name of the post type (example Back to "Membership
232
- #. Plans").
233
- #: includes/class-yith-post-type-admin.php:286
234
- msgid "Back to \"%s\""
235
- msgstr "Torna a \"%s\""
236
-
237
- #: includes/class-yith-post-type-admin.php:286
238
- msgid "Back to the list"
239
- msgstr "Torna all'elenco"
240
-
241
- #: includes/class-yith-system-status.php:110
242
- msgid "WordPress Version"
243
- msgstr "Versione di WordPress"
244
-
245
- #: includes/class-yith-system-status.php:111
246
- msgid "WooCommerce Version"
247
- msgstr "Versione di WooCommerce"
248
-
249
- #: includes/class-yith-system-status.php:112
250
- msgid "Available Memory"
251
- msgstr "Memoria disponibile"
252
-
253
- #: includes/class-yith-system-status.php:113
254
- msgid "PHP Version"
255
- msgstr "Versione PHP"
256
-
257
- #: includes/class-yith-system-status.php:114
258
- msgid "TLS Version"
259
- msgstr "Versione TLS"
260
-
261
- #: includes/class-yith-system-status.php:115
262
- msgid "WordPress Cron"
263
- msgstr "Cron WordPress"
264
-
265
- #: includes/class-yith-system-status.php:116
266
- msgid "SimpleXML"
267
- msgstr "SimpleXML"
268
-
269
- #: includes/class-yith-system-status.php:117
270
- msgid "MultiByte String"
271
- msgstr "MultiByte String"
272
-
273
- #: includes/class-yith-system-status.php:118
274
- msgid "ImageMagick Version"
275
- msgstr "Versione di ImageMagick"
276
-
277
- #: includes/class-yith-system-status.php:119
278
- msgid "GD Library"
279
- msgstr "GD Library"
280
-
281
- #: includes/class-yith-system-status.php:120
282
- msgid "Iconv Module"
283
- msgstr "Iconv Module"
284
-
285
- #: includes/class-yith-system-status.php:121
286
- msgid "OPCache Save Comments"
287
- msgstr "OPCache Save Comments"
288
-
289
- #: includes/class-yith-system-status.php:122
290
- msgid "URL FOpen"
291
- msgstr "URL FOpen"
292
-
293
- #: includes/class-yith-system-status.php:140
294
- #: includes/class-yith-system-status.php:141
295
- #: templates/sysinfo/system-information-panel.php:11
296
- msgid "System Status"
297
- msgstr "Stato del sistema"
298
-
299
- #: includes/class-yith-system-status.php:183
300
- msgid "YITH Plugins"
301
- msgstr "Plugin YITH"
302
-
303
- #: includes/class-yith-system-status.php:191
304
- msgid "WooCommerce"
305
- msgstr "WooCommerce"
306
-
307
- #: includes/class-yith-system-status.php:342
308
- msgid "Warning!"
309
- msgstr "Attenzione!"
310
-
311
- #. translators: %1$s open link tag, %2$s open link tag
312
- #: includes/class-yith-system-status.php:346
313
- msgid ""
314
- "The system check has detected some compatibility issues on your installation."
315
- "%1$sClick here%2$s to know more"
316
- msgstr ""
317
- "Il controllo di sistema ha individuato delle incompatibilità con la tua "
318
- "installazione. %1$sVedi qui%2$s per maggiori dettagli"
319
-
320
- #: includes/class-yith-system-status.php:488
321
- msgid "Enabled"
322
- msgstr "Abilitato"
323
-
324
- #: includes/class-yith-system-status.php:488
325
- msgid "Disabled"
326
- msgstr "Disabilitato"
327
-
328
- #: includes/class-yith-system-status.php:493
329
- msgid "N/A"
330
- msgstr "N.D."
331
-
332
- #. translators: %1$s plugin name, %2$s requirement name
333
- #: includes/class-yith-system-status.php:520
334
- msgid "%1$s needs %2$s enabled"
335
- msgstr "%1$s necessita dell'attivazione di %2$s"
336
-
337
- #. translators: %1$s plugin name, %2$s required memory amount
338
- #: includes/class-yith-system-status.php:523
339
- msgid "%1$s needs at least %2$s of available memory"
340
- msgstr "%1$s necessita di almeno %2$s di memoria disponibile"
341
-
342
- #. translators: %1$s plugin name, %2$s version number
343
- #: includes/class-yith-system-status.php:526
344
- msgid "%1$s needs at least %2$s version"
345
- msgstr "%1$s necessita almeno della versione %2$s"
346
-
347
- #: includes/class-yith-system-status.php:550
348
- msgid ""
349
- "Update it to the latest version in order to benefit of all new features and "
350
- "security updates."
351
- msgstr ""
352
- "Aggiorna all'ultima versione per beneficiare di tutte le nuove funzionalità "
353
- "e degli aggiornamenti di sicurezza."
354
-
355
- #: includes/class-yith-system-status.php:554
356
- #: includes/class-yith-system-status.php:560
357
- msgid "Contact your hosting company in order to update it."
358
- msgstr "Contatta il tuo servizio hosting per aggiornarlo."
359
-
360
- #: includes/class-yith-system-status.php:558
361
- msgid "Contact your hosting company in order to install it."
362
- msgstr "Per installarlo contatta il tuo servizio di hosting."
363
-
364
- #. translators: %1$s code, %2$s file name
365
- #: includes/class-yith-system-status.php:565
366
- msgid "Remove %1$s from %2$s file"
367
- msgstr "Rimuovi %1$s dal file %2$s"
368
-
369
- #: includes/class-yith-system-status.php:573
370
- msgid "Contact your hosting company in order to enable it."
371
- msgstr "Per attivarlo contatta il tuo servizio di hosting."
372
-
373
- #. translators: %1$s opening link tag, %2$s closing link tag
374
- #: includes/class-yith-system-status.php:577
375
- #: includes/class-yith-system-status.php:600
376
- msgid ""
377
- "Read more %1$shere%2$s or contact your hosting company in order to increase "
378
- "it."
379
- msgstr ""
380
- "Per maggiori informazioni %1$sleggi questo%2$s oppure contatta il tuo host "
381
- "per un upgrade."
382
-
383
- #. translators: %s recommended memory amount
384
- #: includes/class-yith-system-status.php:597
385
- msgid ""
386
- "For optimal functioning of our plugins, we suggest setting at least %s of "
387
- "available memory"
388
- msgstr ""
389
- "Per il funzionamento ottimale dei nostri plugin consigliamo di impostare "
390
- "almeno %s della memoria disponibile"
391
-
392
- #. translators: %1$s TLS label, %2$s cURL label
393
- #: includes/class-yith-system-status.php:605
394
- msgid ""
395
- "The system check cannot determine which %1$s version is installed because "
396
- "%2$s module is disabled. Ask your hosting company to enable it."
397
- msgstr ""
398
- "Non ci è stato possibile determinare quale versione di %1$s è installata in "
399
- "quanto il modulo %2$s è disattivato. Chiedi al tuo servizio hosting di "
400
- "attivarlo."
401
-
402
- #. translators: %1$s TLS label
403
- #: includes/class-yith-system-status.php:608
404
- msgid ""
405
- "The system check cannot determine which %1$s version is installed due to a "
406
- "connection issue between your site and our server."
407
- msgstr ""
408
- "Non ci è stato possibile determinare quale versione di %1$s è installata a "
409
- "causa di un problema di connessione fra il tuo sito e il nostro server."
410
-
411
- #: templates/fields/ajax-customers.php:41
412
- msgid "Search Customers"
413
- msgstr "Cerca fra i clienti"
414
-
415
- #. translators: 1. user display name; 2. user ID; 3. user email.
416
- #: templates/fields/ajax-customers.php:68
417
- #: templates/fields/ajax-customers.php:79
418
- msgid "%1$s (#%2$s &ndash; %3$s)"
419
- msgstr "%1$s (#%2$s &ndash; %3$s)"
420
-
421
- #: templates/fields/ajax-posts.php:41
422
- msgid "Search Posts"
423
- msgstr "Cerca articoli"
424
-
425
- #: templates/fields/ajax-products.php:14
426
- msgid "Search Product"
427
- msgstr "Cerca un prodotto"
428
-
429
- #: templates/fields/ajax-terms.php:41
430
- msgid "Search Categories"
431
- msgstr "Cerca categorie"
432
-
433
- #: templates/fields/customtabs.php:17
434
- msgid "Close all"
435
- msgstr "Chiudi tutti"
436
-
437
- #: templates/fields/customtabs.php:17
438
- msgid "Expand all"
439
- msgstr "Espandi tutti"
440
-
441
- #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
442
- msgid "Remove"
443
- msgstr "Rimuovi"
444
-
445
- #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
446
- msgid "Name"
447
- msgstr "Nome"
448
-
449
- #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
450
- msgid "Value"
451
- msgstr "Valore"
452
-
453
- #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
454
- msgid "Content of the tab. (HTML is supported)"
455
- msgstr "Contenuto della scheda (codice HTML supportato)."
456
-
457
- #: templates/fields/customtabs.php:52
458
- msgid "Add custom product tab"
459
- msgstr "Aggiungi scheda prodotto personalizzata"
460
-
461
- #: templates/fields/customtabs.php:93
462
- msgid "Do you want to remove the custom tab?"
463
- msgstr "Vuoi rimuovere la scheda personalizzata?"
464
-
465
- #: templates/fields/date-format.php:65
466
- msgid "Custom:"
467
- msgstr "Personalizzato:"
468
-
469
- #: templates/fields/date-format.php:70
470
- msgid "Preview:"
471
- msgstr "Anteprima:"
472
-
473
- #: templates/fields/icons.php:78
474
- msgid "Set Default"
475
- msgstr "Ripristina impostazioni iniziali"
476
-
477
- #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
478
- msgid "Delete image"
479
- msgstr "Rimuovi immagine"
480
-
481
- #: templates/fields/image-gallery.php:37
482
- msgid "Add Images to Gallery"
483
- msgstr "Aggiungi immagini alla galleria"
484
-
485
- #: templates/fields/image-gallery.php:38
486
- msgid "Add to gallery"
487
- msgstr "Aggiungi alla galleria"
488
-
489
- #: templates/fields/image-gallery.php:39
490
- msgid "Add images"
491
- msgstr "Aggiungi immagini"
492
-
493
- #: templates/fields/image-gallery.php:41
494
- msgid "Delete"
495
- msgstr "Rimuovi"
496
-
497
- #: templates/fields/select-buttons.php:19
498
- msgid "Add All"
499
- msgstr "Aggiungi tutti"
500
-
501
- #: templates/fields/select-buttons.php:20
502
- msgid "Remove All"
503
- msgstr "Rimuovi tutti"
504
-
505
- #: templates/fields/sidebars.php:20
506
- msgid "Left sidebar"
507
- msgstr "Barra laterale sinistra"
508
-
509
- #: templates/fields/sidebars.php:23
510
- msgid "Right sidebar"
511
- msgstr "Barra laterale destra"
512
-
513
- #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
514
- msgid "No sidebar"
515
- msgstr "Nessuna barra laterale"
516
-
517
- #: templates/fields/sidebars.php:39
518
- msgid "Left Sidebar"
519
- msgstr "Barra laterale sinistra"
520
-
521
- #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
522
- msgid "Choose a sidebar"
523
- msgstr "Scegli una barra laterale"
524
-
525
- #: templates/fields/sidebars.php:54
526
- msgid "Right Sidebar"
527
- msgstr "Barra laterale destra"
528
-
529
- #: templates/fields/upload.php:34
530
- #: templates/panel/woocommerce/woocommerce-upload.php:37
531
- msgid "Upload"
532
- msgstr "Carica"
533
-
534
- #: templates/fields/upload.php:39
535
- msgid "Reset"
536
- msgstr "Ripristina"
537
-
538
- #: templates/panel/woocommerce/woocommerce-form.php:28
539
- #: templates/panel/woocommerce/woocommerce-form.php:32
540
- msgid "Save Options"
541
- msgstr "Salva le opzioni"
542
-
543
- #: templates/panel/woocommerce/woocommerce-form.php:32
544
- msgid "Options Saved"
545
- msgstr "Opzioni salvate"
546
-
547
- #: templates/panel/woocommerce/woocommerce-form.php:38
548
- msgid "Reset Defaults"
549
- msgstr "Ripristina impostazioni iniziali"
550
-
551
- #: templates/sysinfo/system-information-panel.php:12
552
- msgid "PHPInfo"
553
- msgstr "PHPInfo"
554
-
555
- #: templates/sysinfo/system-information-panel.php:13
556
- #: templates/sysinfo/tabs/error-log.php:25
557
- msgid "Log Files"
558
- msgstr "File log"
559
-
560
- #: templates/sysinfo/system-information-panel.php:22
561
- msgid "YITH System Information"
562
- msgstr "YITH System Information"
563
-
564
- #: templates/sysinfo/tabs/error-log.php:13
565
- msgid "WP debug.log file"
566
- msgstr "WP debug.log file"
567
-
568
- #: templates/sysinfo/tabs/error-log.php:18
569
- msgid "PHP error_log file"
570
- msgstr "PHP error_log file"
571
-
572
- #: templates/sysinfo/tabs/error-log.php:60
573
- msgid "Download"
574
- msgstr "Scarica"
575
-
576
- #: templates/sysinfo/tabs/error-log.php:72
577
- msgid "The file size exceeds 8 megabytes so it must be downloaded"
578
- msgstr ""
579
- "La dimensione del file supera gli 8 megabyte ed è quindi necessario "
580
- "scaricarlo"
581
-
582
- #. translators: %s file name.
583
- #: templates/sysinfo/tabs/error-log.php:96
584
- msgid ""
585
- "No Log file available. Enable the WordPress debug by adding this in the %s "
586
- "file of your installation"
587
- msgstr ""
588
- "Nessun file log disponibile. Abilita il debug WordPress aggiungendo questo "
589
- "nel file %s della tua installazione"
590
-
591
- #: templates/sysinfo/tabs/error-log.php:105
592
- msgid "Copied!"
593
- msgstr "Copiato!"
594
-
595
- #: templates/sysinfo/tabs/error-log.php:105
596
- msgid "Copy Code"
597
- msgstr "Copia codice"
598
-
599
- #: templates/sysinfo/tabs/main.php:17
600
- msgid "Site Info"
601
- msgstr "Info sito"
602
-
603
- #: templates/sysinfo/tabs/main.php:22
604
- msgid "Site URL"
605
- msgstr "URL del sito"
606
-
607
- #: templates/sysinfo/tabs/main.php:31
608
- msgid "Output IP Address"
609
- msgstr "Indirizzo IP di output"
610
-
611
- #: templates/sysinfo/tabs/main.php:39
612
- msgid "Defined WP_CACHE"
613
- msgstr "Defined WP_CACHE"
614
-
615
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
616
- msgid "Yes"
617
- msgstr "Sì"
618
-
619
- #: templates/sysinfo/tabs/main.php:47
620
- msgid "External object cache"
621
- msgstr "External object cache"
622
-
623
- #: templates/sysinfo/tabs/main.php:55
624
- msgid "YITH Plugin Framework Version"
625
- msgstr "YITH Plugin Framework Version"
626
-
627
- #. translators: %s is the name of the plugin that is loading the framework.
628
- #: templates/sysinfo/tabs/main.php:64
629
- msgid "loaded by %s"
630
- msgstr "caricato da %s"
631
-
632
- #: templates/sysinfo/tabs/main.php:73
633
- msgid "Plugins Requirements"
634
- msgstr "Requisiti plugin"
635
-
636
- #: templates/sysinfo/tabs/main.php:108
637
- msgid "Database Info"
638
- msgstr "Info database"
639
-
640
- #: templates/sysinfo/tabs/main.php:113
641
- msgid "MySQL version"
642
- msgstr "Versione MySQL"
643
-
644
- #. Translators: %s: Codex link.
645
- #: templates/sysinfo/tabs/main.php:123
646
- msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
647
- msgstr "WordPress consiglia una versione minima 5.6 di MySQL. Vedi: %s"
648
-
649
- #: templates/sysinfo/tabs/main.php:123
650
- msgid "WordPress requirements"
651
- msgstr "Requisiti WordPress"
652
-
653
- #: templates/sysinfo/tabs/main.php:130
654
- msgid "Total Database Size"
655
- msgstr "Dimensione totale database"
656
-
657
- #: templates/sysinfo/tabs/main.php:138
658
- msgid "Database Data Size"
659
- msgstr "Dimensione dati database"
660
-
661
- #: templates/sysinfo/tabs/main.php:146
662
- msgid "Database Index Size"
663
- msgstr "Dimensione indice database"
664
-
665
- #: templates/sysinfo/tabs/main.php:154
666
- msgid "Database Free Size"
667
- msgstr "Dimensione spazio libero database"
668
-
669
- #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
670
- #. Engine.
671
- #: templates/sysinfo/tabs/main.php:168
672
- msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
673
- msgstr "Dati: %1$.2fMB | Indice: %2$.2fMB | Libero: %3$.2fMB | Engine: %4$s"
674
-
675
- #. translators: %s is the title of the post object.
676
- #: yit-functions.php:1911
677
- msgid "Are you sure you want to move \"%s\" to trash?"
678
- msgstr "Sei sicuro di voler spostare \"%s\" nel cestino?"
679
-
680
- #. translators: %s is the title of the post object.
681
- #: yit-functions.php:1913 yit-functions.php:2073
682
- msgid "Are you sure you want to delete \"%s\"?"
683
- msgstr "Sei sicuro di voler eliminare \"%s\"?"
684
-
685
- #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
686
- msgid "Further actions"
687
- msgstr "Altre azioni"
688
-
689
- #: yit-plugin.php:205
690
- msgid "License"
691
- msgstr "Chiave di licenza"
692
-
693
- #. Author of the plugin/theme
694
- msgid "YITH"
695
- msgstr "YITH"
696
-
697
- #. translators: %s it the Elementor Widget title.
698
- #: includes/builders/elementor/class-yith-elementor-widget.php:252
699
- msgctxt "Elementor Widget - section title"
700
- msgid "%s - Options"
701
- msgstr "%s - Opzioni"
702
-
703
- #: includes/builders/gutenberg/class-yith-gutenberg.php:149
704
- msgctxt "[gutenberg]: Category Name"
705
- msgid "YITH"
706
- msgstr "YITH"
707
-
708
- #: includes/class-yit-assets.php:134
709
- msgctxt "Button text"
710
- msgid "Confirm"
711
- msgstr "Conferma"
712
-
713
- #: includes/class-yit-assets.php:135
714
- msgctxt "Button text"
715
- msgid "Cancel"
716
- msgstr "Annulla"
717
-
718
- #: includes/class-yit-assets.php:148 yit-functions.php:1982
719
- msgctxt "Trash confirmation action"
720
- msgid "Yes, move to trash"
721
- msgstr "Sì, sposta nel cestino"
722
-
723
- #: includes/class-yit-assets.php:152 yit-functions.php:2000
724
- #: yit-functions.php:2127
725
- msgctxt "Delete confirmation action"
726
- msgid "Yes, delete"
727
- msgstr "Sì, elimina"
728
-
729
- #: includes/class-yit-plugin-panel.php:490
730
- msgctxt "Help tab name"
731
- msgid "Help"
732
- msgstr "Help"
733
-
734
- #. translators: 1. Plugin name.
735
- #: includes/class-yit-plugin-panel.php:800
736
- msgctxt "Help tab default title"
737
- msgid "Thank you for purchasing %s!"
738
- msgstr "Grazie per aver acquistato %s!"
739
-
740
- #: includes/class-yit-plugin-panel.php:801
741
- msgctxt "Help tab default description"
742
- msgid ""
743
- "We want to help you to enjoy a wonderful experience with all our products."
744
- msgstr ""
745
- "Vogliamo aiutarti ad avere un'esperienza fantastica con tutti i nostri "
746
- "prodotti."
747
-
748
- #: includes/class-yith-dashboard.php:96
749
- msgctxt "Plugin FW"
750
- msgid "View Changelog"
751
- msgstr "Visualizza il changelog"
752
-
753
- #: includes/class-yith-dashboard.php:97
754
- msgctxt "Plugin FW"
755
- msgid "Latest update released on"
756
- msgstr "Ultimo aggiornamento rilasciato il"
757
-
758
- #: includes/class-yith-dashboard.php:137
759
- msgctxt "Button label"
760
- msgid "Close"
761
- msgstr "Chiudi"
762
-
763
- #: includes/privacy/class-yith-privacy.php:61
764
- msgctxt "Privacy Policy Guide Title"
765
- msgid "YITH Plugins"
766
- msgstr "YITH Plugins"
767
-
768
- #: includes/privacy/class-yith-privacy.php:93
769
- msgctxt "Privacy Policy Content"
770
- msgid ""
771
- "This sample language includes the basics around what personal data your "
772
- "store may be collecting, storing and sharing, as well as who may have access "
773
- "to that data. Depending on what settings are enabled and which additional "
774
- "plugins are used, the specific information shared by your store will vary. "
775
- "We recommend consulting with a lawyer when deciding what information to "
776
- "disclose on your privacy policy."
777
- msgstr ""
778
- "Questo esempio include gli elementi di base sulla raccolta dei dati "
779
- "personali, la memorizzazione e la condivisione, nonché su chi è autorizzato "
780
- "ad accedere a tali dati. In base alle impostazioni abilitate e ai moduli di "
781
- "estensione aggiuntivi utilizzati, le informazioni specifiche condivise dal "
782
- "nostro negozio possono variare. Ti consigliamo di consultare un legale al "
783
- "momento di decidere quali informazioni divulgare nell'informativa sulla "
784
- "privacy."
785
-
786
- #: includes/privacy/class-yith-privacy.php:97
787
- msgctxt "Privacy Policy Content"
788
- msgid "What we collect and store"
789
- msgstr "Cosa raccogliamo e salviamo"
790
-
791
- #: includes/privacy/class-yith-privacy.php:100
792
- msgctxt "Privacy Policy Content"
793
- msgid "Who on our team has access"
794
- msgstr "Persone del nostro gruppo di lavoro che hanno accesso"
795
-
796
- #: includes/privacy/class-yith-privacy.php:103
797
- msgctxt "Privacy Policy Content"
798
- msgid "What we share with others"
799
- msgstr "Cosa condividiamo con gli altri"
800
-
801
- #: includes/privacy/class-yith-privacy.php:106
802
- msgctxt "Privacy Policy Content"
803
- msgid "Payments"
804
- msgstr "Pagamenti"
805
-
806
- #: templates/fields/copy-to-clipboard.php:41
807
- msgctxt "Copy-to-clipboard message"
808
- msgid "Copied!"
809
- msgstr "Copiato!"
810
-
811
- #: templates/fields/copy-to-clipboard.php:45
812
- msgctxt "Copy-to-clipboard button text"
813
- msgid "Copy"
814
- msgstr "Copia"
815
-
816
- #: templates/fields/dimensions.php:13
817
- msgctxt "Position in the \"Dimensions\" field"
818
- msgid "Top"
819
- msgstr "In alto"
820
-
821
- #: templates/fields/dimensions.php:14
822
- msgctxt "Position in the \"Dimensions\" field"
823
- msgid "Right"
824
- msgstr "A destra"
825
-
826
- #: templates/fields/dimensions.php:15
827
- msgctxt "Position in the \"Dimensions\" field"
828
- msgid "Bottom"
829
- msgstr "In basso"
830
-
831
- #: templates/fields/dimensions.php:16
832
- msgctxt "Position in the \"Dimensions\" field"
833
- msgid "Left"
834
- msgstr "A sinistra"
835
-
836
- #: templates/fields/dimensions.php:94
837
- msgctxt "Tooltip in the \"Dimensions\" field"
838
- msgid "Link values together"
839
- msgstr "Collega i valori"
840
-
841
- #: templates/fields/image-dimensions.php:18
842
- msgctxt "Image width field label"
843
- msgid "Width"
844
- msgstr "Larghezza"
845
-
846
- #: templates/fields/image-dimensions.php:23
847
- msgctxt "Image height field label"
848
- msgid "Height"
849
- msgstr "Altezza"
850
-
851
- #: templates/fields/onoff.php:28
852
- msgctxt "YES/NO button: use MAX 4 characters!"
853
- msgid "YES"
854
- msgstr ""
855
-
856
- #: templates/fields/onoff.php:29
857
- msgctxt "YES/NO button: use MAX 4 characters!"
858
- msgid "NO"
859
- msgstr "NO"
860
-
861
- #. translators: 1. Url to EN playlist.
862
- #: templates/panel/help-tab.php:87
863
- msgctxt "Help tab view all video link"
864
- msgid ""
865
- "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
866
- "learn more >"
867
- msgstr ""
868
- "Per saperne di più, vedi la <a href=\"%s\" target=\"_blank\">Playlist "
869
- "completa su Youtube</a>>"
870
-
871
- #: templates/panel/help-tab.php:94
872
- msgctxt "Help tab Watch Videotutorials link"
873
- msgid "Videos are also available in:"
874
- msgstr "I video sono disponibili anche in:"
875
-
876
- #: templates/panel/help-tab.php:137
877
- msgctxt "Help tab Watch Videotutorials link"
878
- msgid "Watch our videotutorials"
879
- msgstr "Guarda i nostri video tutorial"
880
-
881
- #: templates/panel/help-tab.php:140
882
- msgctxt "Help tab Watch Videotutorials link"
883
- msgid "We show you some use cases"
884
- msgstr "Ti mostriamo alcuni casi d'uso"
885
-
886
- #: templates/panel/help-tab.php:124
887
- msgctxt "Help tab Read Documentation link"
888
- msgid "Read the documentation"
889
- msgstr "Consulta la documentazione"
890
-
891
- #: templates/panel/help-tab.php:127
892
- msgctxt "Help tab Read Documentation link"
893
- msgid "to learn from basics how it works"
894
- msgstr "per imparare dalle basi come funziona"
895
-
896
- #: templates/panel/help-tab.php:150
897
- msgctxt "Help tab view FAQs link"
898
- msgid "Check the FAQs"
899
- msgstr "Controlla le FAQ"
900
-
901
- #: templates/panel/help-tab.php:153
902
- msgctxt "Help tab view FAQs link"
903
- msgid "to find answers to your doubts"
904
- msgstr "per trovare le risposte ai tuoi dubbi"
905
-
906
- #: templates/panel/help-tab.php:169
907
- msgctxt "Help tab FAQ title"
908
- msgid "Last FAQs in our Help Center"
909
- msgstr "Ultime FAQ nel nostro Centro Assistenza"
910
-
911
- #: templates/panel/help-tab.php:183
912
- msgctxt "Help tab FAQ link"
913
- msgid "View all FAQs >"
914
- msgstr "Vedi tutte le FAQ"
915
-
916
- #: templates/panel/help-tab.php:192
917
- msgctxt "Help tab submit ticket title"
918
- msgid "Need help?"
919
- msgstr "Ti serve aiuto?"
920
-
921
- #: templates/panel/help-tab.php:195
922
- msgctxt "Help tab submit ticket description"
923
- msgid ""
924
- "If you are experiencing some technical issue ask help to our developers. "
925
- "Submit a ticket in our support desk and we will help you as soon as possible."
926
- msgstr ""
927
- "Se stai riscontrando problemi tecnici chiedi aiuto ai nostri sviluppatori. "
928
- "Invia un ticket dalla nostra piattaforma di supporto e ti daremo assistenza "
929
- "il più presto possibile."
930
-
931
- #: templates/panel/help-tab.php:203
932
- msgctxt "Help tab submit ticket button"
933
- msgid "Submit a ticket"
934
- msgstr "Invia un ticket"
935
-
936
- #: yit-functions.php:1925
937
- msgctxt "Post action"
938
- msgid "Preview"
939
- msgstr "Anteprima"
940
-
941
- #: yit-functions.php:1934
942
- msgctxt "Post action"
943
- msgid "View"
944
- msgstr "Visualizza"
945
-
946
- #: yit-functions.php:1945
947
- msgctxt "Post action"
948
- msgid "Edit"
949
- msgstr "Modifica"
950
-
951
- #: yit-functions.php:1953
952
- msgctxt "Post action"
953
- msgid "Duplicate"
954
- msgstr "Duplica"
955
-
956
- #: yit-functions.php:1965
957
- msgctxt "Post action"
958
- msgid "Restore"
959
- msgstr "Ripristina"
960
-
961
- #: yit-functions.php:1973
962
- msgctxt "Post action"
963
- msgid "Trash"
964
- msgstr "Cestina"
965
-
966
- #: yit-functions.php:1990
967
- msgctxt "Post action"
968
- msgid "Delete Permanently"
969
- msgstr "Cancella definitivamente"
970
-
971
- #: yit-functions.php:2087
972
- msgctxt "Term action"
973
- msgid "View"
974
- msgstr "Visualizza"
975
-
976
- #: yit-functions.php:2097
977
- msgctxt "Term action"
978
- msgid "Edit"
979
- msgstr "Modifica"
980
-
981
- #: yit-functions.php:2105
982
- msgctxt "Term action"
983
- msgid "Duplicate"
984
- msgstr "Duplica"
985
-
986
- #: yit-functions.php:2118
987
- msgctxt "Term action"
988
- msgid "Delete"
989
- msgstr "Elimina"
990
-
991
- #: yit-plugin.php:84
992
- msgctxt "Plugin Row Meta"
993
- msgid "Live Demo"
994
- msgstr "Live Demo"
995
-
996
- #: yit-plugin.php:88
997
- msgctxt "Plugin Row Meta"
998
- msgid "Documentation"
999
- msgstr "Documentazione"
1000
-
1001
- #: yit-plugin.php:92
1002
- msgctxt "Plugin Row Meta"
1003
- msgid "Support"
1004
- msgstr "Assistenza"
1005
-
1006
- #: yit-plugin.php:96
1007
- msgctxt "Plugin Row Meta"
1008
- msgid "Premium version"
1009
- msgstr "Versione premium"
1010
-
1011
- #: yit-plugin.php:201
1012
- msgctxt "Action links"
1013
- msgid "Settings"
1014
- msgstr "Impostazioni"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of YITH Framework in Italian
2
+ # This file is distributed under the same license as the YITH Framework package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: YITH Framework\n"
6
+ "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-12-13 14:46:02+00:00\n"
8
+ "PO-Revision-Date: 2021-12-13 12:05:30+0000\n"
9
+ "Language: it\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
+
16
+ #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
+ msgid "Confirm trash"
18
+ msgstr "Conferma eliminazione"
19
+
20
+ #: includes/class-yit-assets.php:147
21
+ msgid "Are you sure you want to trash the selected items?"
22
+ msgstr "Se sicuro di voler spostare nel cestino gli elementi selezionati?"
23
+
24
+ #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
25
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
26
+ #: yit-functions.php:1981 yit-functions.php:1999
27
+ msgid "No"
28
+ msgstr "No"
29
+
30
+ #: includes/class-yit-assets.php:150 yit-functions.php:1997
31
+ #: yit-functions.php:2125
32
+ msgid "Confirm delete"
33
+ msgstr "Conferma eliminazione"
34
+
35
+ #: includes/class-yit-assets.php:151
36
+ msgid "Are you sure you want to delete the selected items?"
37
+ msgstr "Se sicuro di voler eliminare gli elementi selezionati?"
38
+
39
+ #: includes/class-yit-assets.php:151 yit-functions.php:1913
40
+ #: yit-functions.php:2073
41
+ msgid ""
42
+ "This action cannot be undone and you will not be able to recover this data."
43
+ msgstr ""
44
+ "Quest'azione non può essere annullata e non sarà possibile recuperare questi "
45
+ "dati."
46
+
47
+ #: includes/class-yit-assets.php:164
48
+ msgid "Clear"
49
+ msgstr "Rimuovi"
50
+
51
+ #: includes/class-yit-assets.php:165
52
+ msgid "Clear color"
53
+ msgstr "Rimuovi colore"
54
+
55
+ #: includes/class-yit-assets.php:166
56
+ msgid "Default"
57
+ msgstr "Predefinito"
58
+
59
+ #: includes/class-yit-assets.php:167
60
+ msgid "Select default color"
61
+ msgstr "Seleziona il colore predefinito"
62
+
63
+ #: includes/class-yit-assets.php:168
64
+ msgid "Select Color"
65
+ msgstr "Seleziona il colore"
66
+
67
+ #: includes/class-yit-assets.php:169
68
+ msgid "Color value"
69
+ msgstr "Valore del colore"
70
+
71
+ #: includes/class-yit-help-desk.php:152
72
+ msgid "There was an error with your request; please try again later."
73
+ msgstr "Si è verificato un errore con la tua richiesta. Riprova più tardi."
74
+
75
+ #: includes/class-yit-plugin-panel-woocommerce.php:430
76
+ msgid "The changes you have made will be lost if you leave this page."
77
+ msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
78
+
79
+ #: includes/class-yit-plugin-panel.php:83
80
+ msgid "Plugin Settings"
81
+ msgstr "Impostazioni plugin"
82
+
83
+ #: includes/class-yit-plugin-panel.php:84
84
+ msgid "Settings"
85
+ msgstr "Impostazioni"
86
+
87
+ #: includes/class-yit-plugin-panel.php:455
88
+ #: includes/class-yit-plugin-panel.php:458
89
+ msgid "How to install premium version"
90
+ msgstr "Come installare la versione premium"
91
+
92
+ #: includes/class-yit-plugin-panel.php:659
93
+ #: includes/class-yit-plugin-subpanel.php:132
94
+ msgid "Save Changes"
95
+ msgstr "Salva modifiche"
96
+
97
+ #: includes/class-yit-plugin-panel.php:664
98
+ #: includes/class-yit-plugin-subpanel.php:136
99
+ #: templates/panel/woocommerce/woocommerce-form.php:14
100
+ msgid ""
101
+ "If you continue with this action, you will reset all options in this page."
102
+ msgstr ""
103
+ "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
104
+ "reimpostate."
105
+
106
+ #: includes/class-yit-plugin-panel.php:664
107
+ #: includes/class-yit-plugin-subpanel.php:136
108
+ #: templates/panel/woocommerce/woocommerce-form.php:14
109
+ msgid "Are you sure?"
110
+ msgstr "Sei sicuro?"
111
+
112
+ #: includes/class-yit-plugin-panel.php:668
113
+ #: includes/class-yit-plugin-subpanel.php:139
114
+ msgid "Reset to default"
115
+ msgstr "Ripristina configurazione predefinita"
116
+
117
+ #: includes/class-yit-plugin-panel.php:1047
118
+ msgid ""
119
+ "The element you have entered already exists. Please, enter another name."
120
+ msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
121
+
122
+ #: includes/class-yit-plugin-panel.php:1048
123
+ msgid "Settings saved"
124
+ msgstr "Impostazioni salvate"
125
+
126
+ #: includes/class-yit-plugin-panel.php:1049
127
+ msgid "Settings reset"
128
+ msgstr "Impostazioni azzerate"
129
+
130
+ #: includes/class-yit-plugin-panel.php:1050
131
+ msgid "Element deleted correctly."
132
+ msgstr "Elemento rimosso correttamente."
133
+
134
+ #: includes/class-yit-plugin-panel.php:1051
135
+ #: includes/class-yit-plugin-panel.php:1052
136
+ msgid "Element updated correctly."
137
+ msgstr "Elemento aggiornato correttamente."
138
+
139
+ #: includes/class-yit-plugin-panel.php:1053
140
+ msgid "Database imported correctly."
141
+ msgstr "Database importato correttamente."
142
+
143
+ #: includes/class-yit-plugin-panel.php:1054
144
+ msgid "An error has occurred during import. Please try again."
145
+ msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
146
+
147
+ #: includes/class-yit-plugin-panel.php:1055
148
+ msgid "The added file is not valid."
149
+ msgstr "Il file aggiunto non è valido."
150
+
151
+ #: includes/class-yit-plugin-panel.php:1056
152
+ msgid "Sorry, import is disabled."
153
+ msgstr "Ci dispiace, l'importazione è disabilitata."
154
+
155
+ #: includes/class-yit-plugin-panel.php:1057
156
+ msgid "Sorting successful."
157
+ msgstr "Ordinamento effettuato con successo."
158
+
159
+ #: includes/class-yit-plugin-panel.php:1525
160
+ msgid "We need your support"
161
+ msgstr "Abbiamo bisogno del tuo sostegno"
162
+
163
+ #: includes/class-yit-plugin-panel.php:1526
164
+ msgid "to keep updating and improving the plugin. Please,"
165
+ msgstr "per poter continuare ad aggiornare e migliorare il plugin."
166
+
167
+ #: includes/class-yit-plugin-panel.php:1528
168
+ msgid "help us by leaving a good review"
169
+ msgstr "Puoi darci una mano lasciando una recensione positiva"
170
+
171
+ #: includes/class-yit-plugin-panel.php:1529
172
+ msgid ":) Thanks!"
173
+ msgstr ":) Grazie!"
174
+
175
+ #: includes/class-yit-pointers.php:80
176
+ msgid "Plugins Activated"
177
+ msgstr "Plugin attivati"
178
+
179
+ #: includes/class-yit-pointers.php:81
180
+ msgid ""
181
+ "From now on, you can find all plugin options in YITH menu. Plugin "
182
+ "customization settings will be available as a new entry in YITH menu."
183
+ msgstr ""
184
+ "D'ora in poi puoi trovare tutte le opzioni dei plugin nel menù YITH. Le "
185
+ "impostazioni di personalizzazione saranno disponibili come una nuova voce in "
186
+ "YITH."
187
+
188
+ #. translators: 1. YITH site link; 2. WordPress site link.
189
+ #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
190
+ msgid "Discover all our plugins available on: %1$s and %2$s"
191
+ msgstr "Scopri tutti i nostri plugin disponibili su: %1$s and %2$s"
192
+
193
+ #: includes/class-yit-pointers.php:96
194
+ msgid "Plugins Upgraded"
195
+ msgstr "Plugin aggiornati"
196
+
197
+ #: includes/class-yit-pointers.php:97
198
+ msgid ""
199
+ "From now on, you can find the option panel of YITH plugins in YITH menu. "
200
+ "Every time one of our plugins is added, a new entry will be added to this "
201
+ "menu. For example, after the update, plugin options (such as for YITH "
202
+ "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
203
+ "previous location to YITH menu."
204
+ msgstr ""
205
+ "D'ora in poi puoi trovare il pannello opzioni dei plugin YITH nel menù YITH. "
206
+ "Ogni volta che viene aggiunto uno dei nostri plugin comparirà una nuova voce "
207
+ "in questo menù. Ad esempio, dopo l'aggiornamento, le opzioni del plugin "
208
+ "(come per YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) "
209
+ "saranno spostate dalla posizione precedente al menù YITH."
210
+
211
+ #: includes/class-yith-dashboard.php:35
212
+ msgid "YITH Latest Updates"
213
+ msgstr "Ultimi aggiornamenti da YITH"
214
+
215
+ #: includes/class-yith-dashboard.php:36
216
+ msgid "Latest news from YITH Blog"
217
+ msgstr "Ultime novità dal blog YITH"
218
+
219
+ #: includes/class-yith-dashboard.php:56
220
+ msgid "RSS Error:"
221
+ msgstr "Errore RSS:"
222
+
223
+ #: includes/class-yith-dashboard.php:63
224
+ msgid ""
225
+ "An error has occurred, which probably means the feed is down. Try again "
226
+ "later."
227
+ msgstr ""
228
+ "Si è verificato un errore probabilmente causato dal feed non disponibile. "
229
+ "Riprova più tardi."
230
+
231
+ #. translators: %s is the name of the post type (example Back to "Membership
232
+ #. Plans").
233
+ #: includes/class-yith-post-type-admin.php:286
234
+ msgid "Back to \"%s\""
235
+ msgstr "Torna a \"%s\""
236
+
237
+ #: includes/class-yith-post-type-admin.php:286
238
+ msgid "Back to the list"
239
+ msgstr "Torna all'elenco"
240
+
241
+ #: includes/class-yith-system-status.php:110
242
+ msgid "WordPress Version"
243
+ msgstr "Versione di WordPress"
244
+
245
+ #: includes/class-yith-system-status.php:111
246
+ msgid "WooCommerce Version"
247
+ msgstr "Versione di WooCommerce"
248
+
249
+ #: includes/class-yith-system-status.php:112
250
+ msgid "Available Memory"
251
+ msgstr "Memoria disponibile"
252
+
253
+ #: includes/class-yith-system-status.php:113
254
+ msgid "PHP Version"
255
+ msgstr "Versione PHP"
256
+
257
+ #: includes/class-yith-system-status.php:114
258
+ msgid "TLS Version"
259
+ msgstr "Versione TLS"
260
+
261
+ #: includes/class-yith-system-status.php:115
262
+ msgid "WordPress Cron"
263
+ msgstr "Cron WordPress"
264
+
265
+ #: includes/class-yith-system-status.php:116
266
+ msgid "SimpleXML"
267
+ msgstr "SimpleXML"
268
+
269
+ #: includes/class-yith-system-status.php:117
270
+ msgid "MultiByte String"
271
+ msgstr "MultiByte String"
272
+
273
+ #: includes/class-yith-system-status.php:118
274
+ msgid "ImageMagick Version"
275
+ msgstr "Versione di ImageMagick"
276
+
277
+ #: includes/class-yith-system-status.php:119
278
+ msgid "GD Library"
279
+ msgstr "GD Library"
280
+
281
+ #: includes/class-yith-system-status.php:120
282
+ msgid "Iconv Module"
283
+ msgstr "Iconv Module"
284
+
285
+ #: includes/class-yith-system-status.php:121
286
+ msgid "OPCache Save Comments"
287
+ msgstr "OPCache Save Comments"
288
+
289
+ #: includes/class-yith-system-status.php:122
290
+ msgid "URL FOpen"
291
+ msgstr "URL FOpen"
292
+
293
+ #: includes/class-yith-system-status.php:140
294
+ #: includes/class-yith-system-status.php:141
295
+ #: templates/sysinfo/system-information-panel.php:11
296
+ msgid "System Status"
297
+ msgstr "Stato del sistema"
298
+
299
+ #: includes/class-yith-system-status.php:183
300
+ msgid "YITH Plugins"
301
+ msgstr "Plugin YITH"
302
+
303
+ #: includes/class-yith-system-status.php:191
304
+ msgid "WooCommerce"
305
+ msgstr "WooCommerce"
306
+
307
+ #: includes/class-yith-system-status.php:342
308
+ msgid "Warning!"
309
+ msgstr "Attenzione!"
310
+
311
+ #. translators: %1$s open link tag, %2$s open link tag
312
+ #: includes/class-yith-system-status.php:346
313
+ msgid ""
314
+ "The system check has detected some compatibility issues on your installation."
315
+ "%1$sClick here%2$s to know more"
316
+ msgstr ""
317
+ "Il controllo di sistema ha individuato delle incompatibilità con la tua "
318
+ "installazione. %1$sVedi qui%2$s per maggiori dettagli"
319
+
320
+ #: includes/class-yith-system-status.php:488
321
+ msgid "Enabled"
322
+ msgstr "Abilitato"
323
+
324
+ #: includes/class-yith-system-status.php:488
325
+ msgid "Disabled"
326
+ msgstr "Disabilitato"
327
+
328
+ #: includes/class-yith-system-status.php:493
329
+ msgid "N/A"
330
+ msgstr "N.D."
331
+
332
+ #. translators: %1$s plugin name, %2$s requirement name
333
+ #: includes/class-yith-system-status.php:520
334
+ msgid "%1$s needs %2$s enabled"
335
+ msgstr "%1$s necessita dell'attivazione di %2$s"
336
+
337
+ #. translators: %1$s plugin name, %2$s required memory amount
338
+ #: includes/class-yith-system-status.php:523
339
+ msgid "%1$s needs at least %2$s of available memory"
340
+ msgstr "%1$s necessita di almeno %2$s di memoria disponibile"
341
+
342
+ #. translators: %1$s plugin name, %2$s version number
343
+ #: includes/class-yith-system-status.php:526
344
+ msgid "%1$s needs at least %2$s version"
345
+ msgstr "%1$s necessita almeno della versione %2$s"
346
+
347
+ #: includes/class-yith-system-status.php:550
348
+ msgid ""
349
+ "Update it to the latest version in order to benefit of all new features and "
350
+ "security updates."
351
+ msgstr ""
352
+ "Aggiorna all'ultima versione per beneficiare di tutte le nuove funzionalità "
353
+ "e degli aggiornamenti di sicurezza."
354
+
355
+ #: includes/class-yith-system-status.php:554
356
+ #: includes/class-yith-system-status.php:560
357
+ msgid "Contact your hosting company in order to update it."
358
+ msgstr "Contatta il tuo servizio hosting per aggiornarlo."
359
+
360
+ #: includes/class-yith-system-status.php:558
361
+ msgid "Contact your hosting company in order to install it."
362
+ msgstr "Per installarlo contatta il tuo servizio di hosting."
363
+
364
+ #. translators: %1$s code, %2$s file name
365
+ #: includes/class-yith-system-status.php:565
366
+ msgid "Remove %1$s from %2$s file"
367
+ msgstr "Rimuovi %1$s dal file %2$s"
368
+
369
+ #: includes/class-yith-system-status.php:573
370
+ msgid "Contact your hosting company in order to enable it."
371
+ msgstr "Per attivarlo contatta il tuo servizio di hosting."
372
+
373
+ #. translators: %1$s opening link tag, %2$s closing link tag
374
+ #: includes/class-yith-system-status.php:577
375
+ #: includes/class-yith-system-status.php:600
376
+ msgid ""
377
+ "Read more %1$shere%2$s or contact your hosting company in order to increase "
378
+ "it."
379
+ msgstr ""
380
+ "Per maggiori informazioni %1$sleggi questo%2$s oppure contatta il tuo host "
381
+ "per un upgrade."
382
+
383
+ #. translators: %s recommended memory amount
384
+ #: includes/class-yith-system-status.php:597
385
+ msgid ""
386
+ "For optimal functioning of our plugins, we suggest setting at least %s of "
387
+ "available memory"
388
+ msgstr ""
389
+ "Per il funzionamento ottimale dei nostri plugin consigliamo di impostare "
390
+ "almeno %s della memoria disponibile"
391
+
392
+ #. translators: %1$s TLS label, %2$s cURL label
393
+ #: includes/class-yith-system-status.php:605
394
+ msgid ""
395
+ "The system check cannot determine which %1$s version is installed because "
396
+ "%2$s module is disabled. Ask your hosting company to enable it."
397
+ msgstr ""
398
+ "Non ci è stato possibile determinare quale versione di %1$s è installata in "
399
+ "quanto il modulo %2$s è disattivato. Chiedi al tuo servizio hosting di "
400
+ "attivarlo."
401
+
402
+ #. translators: %1$s TLS label
403
+ #: includes/class-yith-system-status.php:608
404
+ msgid ""
405
+ "The system check cannot determine which %1$s version is installed due to a "
406
+ "connection issue between your site and our server."
407
+ msgstr ""
408
+ "Non ci è stato possibile determinare quale versione di %1$s è installata a "
409
+ "causa di un problema di connessione fra il tuo sito e il nostro server."
410
+
411
+ #: templates/fields/ajax-customers.php:41
412
+ msgid "Search Customers"
413
+ msgstr "Cerca fra i clienti"
414
+
415
+ #. translators: 1. user display name; 2. user ID; 3. user email.
416
+ #: templates/fields/ajax-customers.php:68
417
+ #: templates/fields/ajax-customers.php:79
418
+ msgid "%1$s (#%2$s &ndash; %3$s)"
419
+ msgstr "%1$s (#%2$s &ndash; %3$s)"
420
+
421
+ #: templates/fields/ajax-posts.php:41
422
+ msgid "Search Posts"
423
+ msgstr "Cerca articoli"
424
+
425
+ #: templates/fields/ajax-products.php:14
426
+ msgid "Search Product"
427
+ msgstr "Cerca un prodotto"
428
+
429
+ #: templates/fields/ajax-terms.php:41
430
+ msgid "Search Categories"
431
+ msgstr "Cerca categorie"
432
+
433
+ #: templates/fields/customtabs.php:17
434
+ msgid "Close all"
435
+ msgstr "Chiudi tutti"
436
+
437
+ #: templates/fields/customtabs.php:17
438
+ msgid "Expand all"
439
+ msgstr "Espandi tutti"
440
+
441
+ #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
442
+ msgid "Remove"
443
+ msgstr "Rimuovi"
444
+
445
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
446
+ msgid "Name"
447
+ msgstr "Nome"
448
+
449
+ #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
450
+ msgid "Value"
451
+ msgstr "Valore"
452
+
453
+ #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
454
+ msgid "Content of the tab. (HTML is supported)"
455
+ msgstr "Contenuto della scheda (codice HTML supportato)."
456
+
457
+ #: templates/fields/customtabs.php:52
458
+ msgid "Add custom product tab"
459
+ msgstr "Aggiungi scheda prodotto personalizzata"
460
+
461
+ #: templates/fields/customtabs.php:93
462
+ msgid "Do you want to remove the custom tab?"
463
+ msgstr "Vuoi rimuovere la scheda personalizzata?"
464
+
465
+ #: templates/fields/date-format.php:65
466
+ msgid "Custom:"
467
+ msgstr "Personalizzato:"
468
+
469
+ #: templates/fields/date-format.php:70
470
+ msgid "Preview:"
471
+ msgstr "Anteprima:"
472
+
473
+ #: templates/fields/icons.php:78
474
+ msgid "Set Default"
475
+ msgstr "Ripristina impostazioni iniziali"
476
+
477
+ #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
478
+ msgid "Delete image"
479
+ msgstr "Rimuovi immagine"
480
+
481
+ #: templates/fields/image-gallery.php:37
482
+ msgid "Add Images to Gallery"
483
+ msgstr "Aggiungi immagini alla galleria"
484
+
485
+ #: templates/fields/image-gallery.php:38
486
+ msgid "Add to gallery"
487
+ msgstr "Aggiungi alla galleria"
488
+
489
+ #: templates/fields/image-gallery.php:39
490
+ msgid "Add images"
491
+ msgstr "Aggiungi immagini"
492
+
493
+ #: templates/fields/image-gallery.php:41
494
+ msgid "Delete"
495
+ msgstr "Rimuovi"
496
+
497
+ #: templates/fields/select-buttons.php:19
498
+ msgid "Add All"
499
+ msgstr "Aggiungi tutti"
500
+
501
+ #: templates/fields/select-buttons.php:20
502
+ msgid "Remove All"
503
+ msgstr "Rimuovi tutti"
504
+
505
+ #: templates/fields/sidebars.php:20
506
+ msgid "Left sidebar"
507
+ msgstr "Barra laterale sinistra"
508
+
509
+ #: templates/fields/sidebars.php:23
510
+ msgid "Right sidebar"
511
+ msgstr "Barra laterale destra"
512
+
513
+ #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
514
+ msgid "No sidebar"
515
+ msgstr "Nessuna barra laterale"
516
+
517
+ #: templates/fields/sidebars.php:39
518
+ msgid "Left Sidebar"
519
+ msgstr "Barra laterale sinistra"
520
+
521
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
522
+ msgid "Choose a sidebar"
523
+ msgstr "Scegli una barra laterale"
524
+
525
+ #: templates/fields/sidebars.php:54
526
+ msgid "Right Sidebar"
527
+ msgstr "Barra laterale destra"
528
+
529
+ #: templates/fields/upload.php:34
530
+ #: templates/panel/woocommerce/woocommerce-upload.php:37
531
+ msgid "Upload"
532
+ msgstr "Carica"
533
+
534
+ #: templates/fields/upload.php:39
535
+ msgid "Reset"
536
+ msgstr "Ripristina"
537
+
538
+ #: templates/panel/woocommerce/woocommerce-form.php:28
539
+ #: templates/panel/woocommerce/woocommerce-form.php:32
540
+ msgid "Save Options"
541
+ msgstr "Salva le opzioni"
542
+
543
+ #: templates/panel/woocommerce/woocommerce-form.php:32
544
+ msgid "Options Saved"
545
+ msgstr "Opzioni salvate"
546
+
547
+ #: templates/panel/woocommerce/woocommerce-form.php:38
548
+ msgid "Reset Defaults"
549
+ msgstr "Ripristina impostazioni iniziali"
550
+
551
+ #: templates/sysinfo/system-information-panel.php:12
552
+ msgid "PHPInfo"
553
+ msgstr "PHPInfo"
554
+
555
+ #: templates/sysinfo/system-information-panel.php:13
556
+ #: templates/sysinfo/tabs/error-log.php:25
557
+ msgid "Log Files"
558
+ msgstr "File log"
559
+
560
+ #: templates/sysinfo/system-information-panel.php:22
561
+ msgid "YITH System Information"
562
+ msgstr "YITH System Information"
563
+
564
+ #: templates/sysinfo/tabs/error-log.php:13
565
+ msgid "WP debug.log file"
566
+ msgstr "WP debug.log file"
567
+
568
+ #: templates/sysinfo/tabs/error-log.php:18
569
+ msgid "PHP error_log file"
570
+ msgstr "PHP error_log file"
571
+
572
+ #: templates/sysinfo/tabs/error-log.php:60
573
+ msgid "Download"
574
+ msgstr "Scarica"
575
+
576
+ #: templates/sysinfo/tabs/error-log.php:72
577
+ msgid "The file size exceeds 8 megabytes so it must be downloaded"
578
+ msgstr ""
579
+ "La dimensione del file supera gli 8 megabyte ed è quindi necessario "
580
+ "scaricarlo"
581
+
582
+ #. translators: %s file name.
583
+ #: templates/sysinfo/tabs/error-log.php:96
584
+ msgid ""
585
+ "No Log file available. Enable the WordPress debug by adding this in the %s "
586
+ "file of your installation"
587
+ msgstr ""
588
+ "Nessun file log disponibile. Abilita il debug WordPress aggiungendo questo "
589
+ "nel file %s della tua installazione"
590
+
591
+ #: templates/sysinfo/tabs/error-log.php:105
592
+ msgid "Copied!"
593
+ msgstr "Copiato!"
594
+
595
+ #: templates/sysinfo/tabs/error-log.php:105
596
+ msgid "Copy Code"
597
+ msgstr "Copia codice"
598
+
599
+ #: templates/sysinfo/tabs/main.php:17
600
+ msgid "Site Info"
601
+ msgstr "Info sito"
602
+
603
+ #: templates/sysinfo/tabs/main.php:22
604
+ msgid "Site URL"
605
+ msgstr "URL del sito"
606
+
607
+ #: templates/sysinfo/tabs/main.php:31
608
+ msgid "Output IP Address"
609
+ msgstr "Indirizzo IP di output"
610
+
611
+ #: templates/sysinfo/tabs/main.php:39
612
+ msgid "Defined WP_CACHE"
613
+ msgstr "Defined WP_CACHE"
614
+
615
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
616
+ msgid "Yes"
617
+ msgstr "Sì"
618
+
619
+ #: templates/sysinfo/tabs/main.php:47
620
+ msgid "External object cache"
621
+ msgstr "External object cache"
622
+
623
+ #: templates/sysinfo/tabs/main.php:55
624
+ msgid "YITH Plugin Framework Version"
625
+ msgstr "YITH Plugin Framework Version"
626
+
627
+ #. translators: %s is the name of the plugin that is loading the framework.
628
+ #: templates/sysinfo/tabs/main.php:64
629
+ msgid "loaded by %s"
630
+ msgstr "caricato da %s"
631
+
632
+ #: templates/sysinfo/tabs/main.php:73
633
+ msgid "Plugins Requirements"
634
+ msgstr "Requisiti plugin"
635
+
636
+ #: templates/sysinfo/tabs/main.php:108
637
+ msgid "Database Info"
638
+ msgstr "Info database"
639
+
640
+ #: templates/sysinfo/tabs/main.php:113
641
+ msgid "MySQL version"
642
+ msgstr "Versione MySQL"
643
+
644
+ #. Translators: %s: Codex link.
645
+ #: templates/sysinfo/tabs/main.php:123
646
+ msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
647
+ msgstr "WordPress consiglia una versione minima 5.6 di MySQL. Vedi: %s"
648
+
649
+ #: templates/sysinfo/tabs/main.php:123
650
+ msgid "WordPress requirements"
651
+ msgstr "Requisiti WordPress"
652
+
653
+ #: templates/sysinfo/tabs/main.php:130
654
+ msgid "Total Database Size"
655
+ msgstr "Dimensione totale database"
656
+
657
+ #: templates/sysinfo/tabs/main.php:138
658
+ msgid "Database Data Size"
659
+ msgstr "Dimensione dati database"
660
+
661
+ #: templates/sysinfo/tabs/main.php:146
662
+ msgid "Database Index Size"
663
+ msgstr "Dimensione indice database"
664
+
665
+ #: templates/sysinfo/tabs/main.php:154
666
+ msgid "Database Free Size"
667
+ msgstr "Dimensione spazio libero database"
668
+
669
+ #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
670
+ #. Engine.
671
+ #: templates/sysinfo/tabs/main.php:168
672
+ msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
673
+ msgstr "Dati: %1$.2fMB | Indice: %2$.2fMB | Libero: %3$.2fMB | Engine: %4$s"
674
+
675
+ #. translators: %s is the title of the post object.
676
+ #: yit-functions.php:1911
677
+ msgid "Are you sure you want to move \"%s\" to trash?"
678
+ msgstr "Sei sicuro di voler spostare \"%s\" nel cestino?"
679
+
680
+ #. translators: %s is the title of the post object.
681
+ #: yit-functions.php:1913 yit-functions.php:2073
682
+ msgid "Are you sure you want to delete \"%s\"?"
683
+ msgstr "Sei sicuro di voler eliminare \"%s\"?"
684
+
685
+ #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
686
+ msgid "Further actions"
687
+ msgstr "Altre azioni"
688
+
689
+ #: yit-plugin.php:205
690
+ msgid "License"
691
+ msgstr "Chiave di licenza"
692
+
693
+ #. Author of the plugin/theme
694
+ msgid "YITH"
695
+ msgstr "YITH"
696
+
697
+ #. translators: %s it the Elementor Widget title.
698
+ #: includes/builders/elementor/class-yith-elementor-widget.php:252
699
+ msgctxt "Elementor Widget - section title"
700
+ msgid "%s - Options"
701
+ msgstr "%s - Opzioni"
702
+
703
+ #: includes/builders/gutenberg/class-yith-gutenberg.php:149
704
+ msgctxt "[gutenberg]: Category Name"
705
+ msgid "YITH"
706
+ msgstr "YITH"
707
+
708
+ #: includes/class-yit-assets.php:134
709
+ msgctxt "Button text"
710
+ msgid "Confirm"
711
+ msgstr "Conferma"
712
+
713
+ #: includes/class-yit-assets.php:135
714
+ msgctxt "Button text"
715
+ msgid "Cancel"
716
+ msgstr "Annulla"
717
+
718
+ #: includes/class-yit-assets.php:148 yit-functions.php:1982
719
+ msgctxt "Trash confirmation action"
720
+ msgid "Yes, move to trash"
721
+ msgstr "Sì, sposta nel cestino"
722
+
723
+ #: includes/class-yit-assets.php:152 yit-functions.php:2000
724
+ #: yit-functions.php:2127
725
+ msgctxt "Delete confirmation action"
726
+ msgid "Yes, delete"
727
+ msgstr "Sì, elimina"
728
+
729
+ #: includes/class-yit-plugin-panel.php:492
730
+ msgctxt "Help tab name"
731
+ msgid "Help"
732
+ msgstr "Help"
733
+
734
+ #. translators: 1. Plugin name.
735
+ #: includes/class-yit-plugin-panel.php:805
736
+ msgctxt "Help tab default title"
737
+ msgid "Thank you for purchasing %s!"
738
+ msgstr "Grazie per aver acquistato %s!"
739
+
740
+ #: includes/class-yit-plugin-panel.php:806
741
+ msgctxt "Help tab default description"
742
+ msgid ""
743
+ "We want to help you to enjoy a wonderful experience with all our products."
744
+ msgstr ""
745
+ "Vogliamo aiutarti ad avere un'esperienza fantastica con tutti i nostri "
746
+ "prodotti."
747
+
748
+ #: includes/class-yit-plugin-panel.php:853
749
+ msgctxt "Premium tab name"
750
+ msgid "Get premium"
751
+ msgstr "Diventa premium"
752
+
753
+ #: includes/class-yith-dashboard.php:96
754
+ msgctxt "Plugin FW"
755
+ msgid "View Changelog"
756
+ msgstr "Visualizza il changelog"
757
+
758
+ #: includes/class-yith-dashboard.php:97
759
+ msgctxt "Plugin FW"
760
+ msgid "Latest update released on"
761
+ msgstr "Ultimo aggiornamento rilasciato il"
762
+
763
+ #: includes/class-yith-dashboard.php:137
764
+ msgctxt "Button label"
765
+ msgid "Close"
766
+ msgstr "Chiudi"
767
+
768
+ #: includes/privacy/class-yith-privacy.php:61
769
+ msgctxt "Privacy Policy Guide Title"
770
+ msgid "YITH Plugins"
771
+ msgstr "YITH Plugins"
772
+
773
+ #: includes/privacy/class-yith-privacy.php:93
774
+ msgctxt "Privacy Policy Content"
775
+ msgid ""
776
+ "This sample language includes the basics around what personal data your "
777
+ "store may be collecting, storing and sharing, as well as who may have access "
778
+ "to that data. Depending on what settings are enabled and which additional "
779
+ "plugins are used, the specific information shared by your store will vary. "
780
+ "We recommend consulting with a lawyer when deciding what information to "
781
+ "disclose on your privacy policy."
782
+ msgstr ""
783
+ "Questo esempio include gli elementi di base sulla raccolta dei dati "
784
+ "personali, la memorizzazione e la condivisione, nonché su chi è autorizzato "
785
+ "ad accedere a tali dati. In base alle impostazioni abilitate e ai moduli di "
786
+ "estensione aggiuntivi utilizzati, le informazioni specifiche condivise dal "
787
+ "nostro negozio possono variare. Ti consigliamo di consultare un legale al "
788
+ "momento di decidere quali informazioni divulgare nell'informativa sulla "
789
+ "privacy."
790
+
791
+ #: includes/privacy/class-yith-privacy.php:97
792
+ msgctxt "Privacy Policy Content"
793
+ msgid "What we collect and store"
794
+ msgstr "Cosa raccogliamo e salviamo"
795
+
796
+ #: includes/privacy/class-yith-privacy.php:100
797
+ msgctxt "Privacy Policy Content"
798
+ msgid "Who on our team has access"
799
+ msgstr "Persone del nostro gruppo di lavoro che hanno accesso"
800
+
801
+ #: includes/privacy/class-yith-privacy.php:103
802
+ msgctxt "Privacy Policy Content"
803
+ msgid "What we share with others"
804
+ msgstr "Cosa condividiamo con gli altri"
805
+
806
+ #: includes/privacy/class-yith-privacy.php:106
807
+ msgctxt "Privacy Policy Content"
808
+ msgid "Payments"
809
+ msgstr "Pagamenti"
810
+
811
+ #: templates/fields/copy-to-clipboard.php:41
812
+ msgctxt "Copy-to-clipboard message"
813
+ msgid "Copied!"
814
+ msgstr "Copiato!"
815
+
816
+ #: templates/fields/copy-to-clipboard.php:45
817
+ msgctxt "Copy-to-clipboard button text"
818
+ msgid "Copy"
819
+ msgstr "Copia"
820
+
821
+ #: templates/fields/dimensions.php:13
822
+ msgctxt "Position in the \"Dimensions\" field"
823
+ msgid "Top"
824
+ msgstr "In alto"
825
+
826
+ #: templates/fields/dimensions.php:14
827
+ msgctxt "Position in the \"Dimensions\" field"
828
+ msgid "Right"
829
+ msgstr "A destra"
830
+
831
+ #: templates/fields/dimensions.php:15
832
+ msgctxt "Position in the \"Dimensions\" field"
833
+ msgid "Bottom"
834
+ msgstr "In basso"
835
+
836
+ #: templates/fields/dimensions.php:16
837
+ msgctxt "Position in the \"Dimensions\" field"
838
+ msgid "Left"
839
+ msgstr "A sinistra"
840
+
841
+ #: templates/fields/dimensions.php:94
842
+ msgctxt "Tooltip in the \"Dimensions\" field"
843
+ msgid "Link values together"
844
+ msgstr "Collega i valori"
845
+
846
+ #: templates/fields/image-dimensions.php:18
847
+ msgctxt "Image width field label"
848
+ msgid "Width"
849
+ msgstr "Larghezza"
850
+
851
+ #: templates/fields/image-dimensions.php:23
852
+ msgctxt "Image height field label"
853
+ msgid "Height"
854
+ msgstr "Altezza"
855
+
856
+ #: templates/fields/onoff.php:28
857
+ msgctxt "YES/NO button: use MAX 4 characters!"
858
+ msgid "YES"
859
+ msgstr ""
860
+
861
+ #: templates/fields/onoff.php:29
862
+ msgctxt "YES/NO button: use MAX 4 characters!"
863
+ msgid "NO"
864
+ msgstr "NO"
865
+
866
+ #. translators: 1. Url to EN playlist.
867
+ #: templates/panel/help-tab.php:87
868
+ msgctxt "Help tab view all video link"
869
+ msgid ""
870
+ "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
871
+ "learn more >"
872
+ msgstr ""
873
+ "Per saperne di più, vedi la <a href=\"%s\" target=\"_blank\">Playlist "
874
+ "completa su Youtube</a>>"
875
+
876
+ #: templates/panel/help-tab.php:94
877
+ msgctxt "Help tab Watch Videotutorials link"
878
+ msgid "Videos are also available in:"
879
+ msgstr "I video sono disponibili anche in:"
880
+
881
+ #: templates/panel/help-tab.php:137
882
+ msgctxt "Help tab Watch Videotutorials link"
883
+ msgid "Watch our videotutorials"
884
+ msgstr "Guarda i nostri video tutorial"
885
+
886
+ #: templates/panel/help-tab.php:140
887
+ msgctxt "Help tab Watch Videotutorials link"
888
+ msgid "We show you some use cases"
889
+ msgstr "Ti mostriamo alcuni casi d'uso"
890
+
891
+ #: templates/panel/help-tab.php:124
892
+ msgctxt "Help tab Read Documentation link"
893
+ msgid "Read the documentation"
894
+ msgstr "Consulta la documentazione"
895
+
896
+ #: templates/panel/help-tab.php:127
897
+ msgctxt "Help tab Read Documentation link"
898
+ msgid "to learn from basics how it works"
899
+ msgstr "per imparare dalle basi come funziona"
900
+
901
+ #: templates/panel/help-tab.php:150
902
+ msgctxt "Help tab view FAQs link"
903
+ msgid "Check the FAQs"
904
+ msgstr "Controlla le FAQ"
905
+
906
+ #: templates/panel/help-tab.php:153
907
+ msgctxt "Help tab view FAQs link"
908
+ msgid "to find answers to your doubts"
909
+ msgstr "per trovare le risposte ai tuoi dubbi"
910
+
911
+ #: templates/panel/help-tab.php:169
912
+ msgctxt "Help tab FAQ title"
913
+ msgid "Last FAQs in our Help Center"
914
+ msgstr "Ultime FAQ nel nostro Centro Assistenza"
915
+
916
+ #: templates/panel/help-tab.php:183
917
+ msgctxt "Help tab FAQ link"
918
+ msgid "View all FAQs >"
919
+ msgstr "Vedi tutte le FAQ"
920
+
921
+ #: templates/panel/help-tab.php:192
922
+ msgctxt "Help tab submit ticket title"
923
+ msgid "Need help?"
924
+ msgstr "Ti serve aiuto?"
925
+
926
+ #: templates/panel/help-tab.php:195
927
+ msgctxt "Help tab submit ticket description"
928
+ msgid ""
929
+ "If you are experiencing some technical issue ask help to our developers. "
930
+ "Submit a ticket in our support desk and we will help you as soon as possible."
931
+ msgstr ""
932
+ "Se stai riscontrando problemi tecnici chiedi aiuto ai nostri sviluppatori. "
933
+ "Invia un ticket dalla nostra piattaforma di supporto e ti daremo assistenza "
934
+ "il più presto possibile."
935
+
936
+ #: templates/panel/help-tab.php:203
937
+ msgctxt "Help tab submit ticket button"
938
+ msgid "Submit a ticket"
939
+ msgstr "Invia un ticket"
940
+
941
+ #: templates/panel/premium-tab.php:30
942
+ msgctxt "Premium Tab"
943
+ msgid "Get the premium version to unlock advanced features"
944
+ msgstr "Ottieni la versione premium per sbloccare le funzionalità avanzate"
945
+
946
+ #: templates/panel/premium-tab.php:34
947
+ msgctxt "Premium Tab"
948
+ msgid "Get premium"
949
+ msgstr "Diventa premium"
950
+
951
+ #: templates/panel/premium-tab.php:39
952
+ msgctxt "Premium Tab"
953
+ msgid "Plugin premium features images"
954
+ msgstr "Immagini funzionalità premium"
955
+
956
+ #. translators: alt attribute of main image tag.
957
+ #: templates/panel/premium-tab.php:51
958
+ msgctxt "Premium Tab"
959
+ msgid "And so much more!"
960
+ msgstr "E molto altro!"
961
+
962
+ #: templates/panel/premium-tab.php:53
963
+ msgctxt "Premium Tab"
964
+ msgid "Check the free vs premium features >"
965
+ msgstr "Confronta le funzionalità gratuite e premium >"
966
+
967
+ #: templates/panel/premium-tab.php:58
968
+ msgctxt "Premium Tab"
969
+ msgid "Get the premium version"
970
+ msgstr "Ottieni la versione premium"
971
+
972
+ #: yit-functions.php:1925
973
+ msgctxt "Post action"
974
+ msgid "Preview"
975
+ msgstr "Anteprima"
976
+
977
+ #: yit-functions.php:1934
978
+ msgctxt "Post action"
979
+ msgid "View"
980
+ msgstr "Visualizza"
981
+
982
+ #: yit-functions.php:1945
983
+ msgctxt "Post action"
984
+ msgid "Edit"
985
+ msgstr "Modifica"
986
+
987
+ #: yit-functions.php:1953
988
+ msgctxt "Post action"
989
+ msgid "Duplicate"
990
+ msgstr "Duplica"
991
+
992
+ #: yit-functions.php:1965
993
+ msgctxt "Post action"
994
+ msgid "Restore"
995
+ msgstr "Ripristina"
996
+
997
+ #: yit-functions.php:1973
998
+ msgctxt "Post action"
999
+ msgid "Trash"
1000
+ msgstr "Cestina"
1001
+
1002
+ #: yit-functions.php:1990
1003
+ msgctxt "Post action"
1004
+ msgid "Delete Permanently"
1005
+ msgstr "Cancella definitivamente"
1006
+
1007
+ #: yit-functions.php:2087
1008
+ msgctxt "Term action"
1009
+ msgid "View"
1010
+ msgstr "Visualizza"
1011
+
1012
+ #: yit-functions.php:2097
1013
+ msgctxt "Term action"
1014
+ msgid "Edit"
1015
+ msgstr "Modifica"
1016
+
1017
+ #: yit-functions.php:2105
1018
+ msgctxt "Term action"
1019
+ msgid "Duplicate"
1020
+ msgstr "Duplica"
1021
+
1022
+ #: yit-functions.php:2118
1023
+ msgctxt "Term action"
1024
+ msgid "Delete"
1025
+ msgstr "Elimina"
1026
+
1027
+ #: yit-plugin.php:84
1028
+ msgctxt "Plugin Row Meta"
1029
+ msgid "Live Demo"
1030
+ msgstr "Live Demo"
1031
+
1032
+ #: yit-plugin.php:88
1033
+ msgctxt "Plugin Row Meta"
1034
+ msgid "Documentation"
1035
+ msgstr "Documentazione"
1036
+
1037
+ #: yit-plugin.php:92
1038
+ msgctxt "Plugin Row Meta"
1039
+ msgid "Support"
1040
+ msgstr "Assistenza"
1041
+
1042
+ #: yit-plugin.php:96
1043
+ msgctxt "Plugin Row Meta"
1044
+ msgid "Premium version"
1045
+ msgstr "Versione premium"
1046
+
1047
+ #: yit-plugin.php:201
1048
+ msgctxt "Action links"
1049
+ msgid "Settings"
1050
+ msgstr "Impostazioni"
plugin-fw/languages/yith-plugin-fw-nl_NL.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-nl_NL.po CHANGED
@@ -1,1013 +1,1049 @@
1
- # Translation of YITH Framework in Dutch
2
- # This file is distributed under the same license as the YITH Framework package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: YITH Framework\n"
6
- "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2021-12-02 07:20:36+00:00\n"
8
- "PO-Revision-Date: 2021-09-29 11:02:22+0000\n"
9
- "Language: nl\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
- "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
-
16
- #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
- msgid "Confirm trash"
18
- msgstr "Verplaatsen naar prullenbak bevestigen"
19
-
20
- #: includes/class-yit-assets.php:147
21
- msgid "Are you sure you want to trash the selected items?"
22
- msgstr ""
23
- "Weet je zeker dat je het geselecteerde item naar de prullenbak wilt "
24
- "verplaatsen?"
25
-
26
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
27
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
28
- #: yit-functions.php:1981 yit-functions.php:1999
29
- msgid "No"
30
- msgstr "Nee"
31
-
32
- #: includes/class-yit-assets.php:150 yit-functions.php:1997
33
- #: yit-functions.php:2125
34
- msgid "Confirm delete"
35
- msgstr "Verwijderen bevestigen"
36
-
37
- #: includes/class-yit-assets.php:151
38
- msgid "Are you sure you want to delete the selected items?"
39
- msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
40
-
41
- #: includes/class-yit-assets.php:151 yit-functions.php:1913
42
- #: yit-functions.php:2073
43
- msgid ""
44
- "This action cannot be undone and you will not be able to recover this data."
45
- msgstr ""
46
- "Deze actie kan niet ongedaan gemaakt worden en je zult deze gegevens niet "
47
- "kunnen herstellen."
48
-
49
- #: includes/class-yit-assets.php:164
50
- msgid "Clear"
51
- msgstr "Wissen"
52
-
53
- #: includes/class-yit-assets.php:165
54
- msgid "Clear color"
55
- msgstr "Kleur wissen"
56
-
57
- #: includes/class-yit-assets.php:166
58
- msgid "Default"
59
- msgstr "Standaard"
60
-
61
- #: includes/class-yit-assets.php:167
62
- msgid "Select default color"
63
- msgstr "Standaardkleur selecteren"
64
-
65
- #: includes/class-yit-assets.php:168
66
- msgid "Select Color"
67
- msgstr "Kleur selecteren"
68
-
69
- #: includes/class-yit-assets.php:169
70
- msgid "Color value"
71
- msgstr "Kleurwaarde"
72
-
73
- #: includes/class-yit-help-desk.php:152
74
- msgid "There was an error with your request; please try again later."
75
- msgstr ""
76
- "Er is een fout opgetreden met je verzoek, probeer het later opnieuw a.u.b."
77
-
78
- #: includes/class-yit-plugin-panel-woocommerce.php:426
79
- msgid "The changes you have made will be lost if you leave this page."
80
- msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
81
-
82
- #: includes/class-yit-plugin-panel.php:83
83
- msgid "Plugin Settings"
84
- msgstr "Plugin instellingen"
85
-
86
- #: includes/class-yit-plugin-panel.php:84
87
- msgid "Settings"
88
- msgstr "Instellingen"
89
-
90
- #: includes/class-yit-plugin-panel.php:453
91
- #: includes/class-yit-plugin-panel.php:456
92
- msgid "How to install premium version"
93
- msgstr "Hoe installeer ik de premium versie"
94
-
95
- #: includes/class-yit-plugin-panel.php:654
96
- #: includes/class-yit-plugin-subpanel.php:132
97
- msgid "Save Changes"
98
- msgstr "Wijzigingen opslaan"
99
-
100
- #: includes/class-yit-plugin-panel.php:659
101
- #: includes/class-yit-plugin-subpanel.php:136
102
- #: templates/panel/woocommerce/woocommerce-form.php:14
103
- msgid ""
104
- "If you continue with this action, you will reset all options in this page."
105
- msgstr ""
106
- "Als je doorgaat met deze actie, zal je alle opties op deze pagina resetten."
107
-
108
- #: includes/class-yit-plugin-panel.php:659
109
- #: includes/class-yit-plugin-subpanel.php:136
110
- #: templates/panel/woocommerce/woocommerce-form.php:14
111
- msgid "Are you sure?"
112
- msgstr "Weet je het zeker?"
113
-
114
- #: includes/class-yit-plugin-panel.php:663
115
- #: includes/class-yit-plugin-subpanel.php:139
116
- msgid "Reset to default"
117
- msgstr "Resetten naar standaard"
118
-
119
- #: includes/class-yit-plugin-panel.php:981
120
- msgid ""
121
- "The element you have entered already exists. Please, enter another name."
122
- msgstr "Het element dat je hebt ingevoerd bestaat al. Voer een andere naam in."
123
-
124
- #: includes/class-yit-plugin-panel.php:982
125
- msgid "Settings saved"
126
- msgstr "Instellingen opgeslagen"
127
-
128
- #: includes/class-yit-plugin-panel.php:983
129
- msgid "Settings reset"
130
- msgstr "Instellingen resetten"
131
-
132
- #: includes/class-yit-plugin-panel.php:984
133
- msgid "Element deleted correctly."
134
- msgstr "Element juist verwijderd."
135
-
136
- #: includes/class-yit-plugin-panel.php:985
137
- #: includes/class-yit-plugin-panel.php:986
138
- msgid "Element updated correctly."
139
- msgstr "Element juist geüpdatet."
140
-
141
- #: includes/class-yit-plugin-panel.php:987
142
- msgid "Database imported correctly."
143
- msgstr "Database juist geïmporteerd."
144
-
145
- #: includes/class-yit-plugin-panel.php:988
146
- msgid "An error has occurred during import. Please try again."
147
- msgstr "Er is een fout opgetreden tijdens importeren. Probeer opnieuw."
148
-
149
- #: includes/class-yit-plugin-panel.php:989
150
- msgid "The added file is not valid."
151
- msgstr "Het toegevoegde bestand is niet geldig."
152
-
153
- #: includes/class-yit-plugin-panel.php:990
154
- msgid "Sorry, import is disabled."
155
- msgstr "Sorry, importeren is uitgeschakeld."
156
-
157
- #: includes/class-yit-plugin-panel.php:991
158
- msgid "Sorting successful."
159
- msgstr "Succesvol gesorteerd."
160
-
161
- #: includes/class-yit-plugin-panel.php:1459
162
- msgid "We need your support"
163
- msgstr "We hebben je hulp nodig"
164
-
165
- #: includes/class-yit-plugin-panel.php:1460
166
- msgid "to keep updating and improving the plugin. Please,"
167
- msgstr "om de plugin te blijven bijwerken en verbeteren. A.u.b.,"
168
-
169
- #: includes/class-yit-plugin-panel.php:1462
170
- msgid "help us by leaving a good review"
171
- msgstr "help ons door een goede beoordeling achter te laten"
172
-
173
- #: includes/class-yit-plugin-panel.php:1463
174
- msgid ":) Thanks!"
175
- msgstr ":) Bedankt!"
176
-
177
- #: includes/class-yit-pointers.php:80
178
- msgid "Plugins Activated"
179
- msgstr "Plugins geactiveerd"
180
-
181
- #: includes/class-yit-pointers.php:81
182
- msgid ""
183
- "From now on, you can find all plugin options in YITH menu. Plugin "
184
- "customization settings will be available as a new entry in YITH menu."
185
- msgstr ""
186
- "Vanaf nu kun je alle plugin opties vinden in het YITH Plugins menu. Plugin "
187
- "aanpassingen instellingen zullen beschikbaar zijn als nieuwe toegang in het "
188
- "YITH menu."
189
-
190
- #. translators: 1. YITH site link; 2. WordPress site link.
191
- #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
192
- msgid "Discover all our plugins available on: %1$s and %2$s"
193
- msgstr "Ontdek al onze beschikbare plugins op: %1$s and %2$s"
194
-
195
- #: includes/class-yit-pointers.php:96
196
- msgid "Plugins Upgraded"
197
- msgstr "Plugins Upgraded"
198
-
199
- #: includes/class-yit-pointers.php:97
200
- msgid ""
201
- "From now on, you can find the option panel of YITH plugins in YITH menu. "
202
- "Every time one of our plugins is added, a new entry will be added to this "
203
- "menu. For example, after the update, plugin options (such as for YITH "
204
- "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
205
- "previous location to YITH menu."
206
- msgstr ""
207
- "Vanaf nu kun je het optiepaneel van YITH plugins vinden in het YITH menu. "
208
- "Elke keer dat een van onze plugins wordt toegevoegd, wordt er een nieuw item "
209
- "aan dit menu toegevoegd. Bijvoorbeeld na de update worden plugin opties "
210
- "(zoals voor YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, enz.) "
211
- "verplaatst van de vorige locatie naar het YITH menu."
212
-
213
- #: includes/class-yith-dashboard.php:35
214
- msgid "YITH Latest Updates"
215
- msgstr "YITH laatste updates"
216
-
217
- #: includes/class-yith-dashboard.php:36
218
- msgid "Latest news from YITH Blog"
219
- msgstr "Laatste nieuws van YITH Blog"
220
-
221
- #: includes/class-yith-dashboard.php:56
222
- msgid "RSS Error:"
223
- msgstr "RSS-fout:"
224
-
225
- #: includes/class-yith-dashboard.php:63
226
- msgid ""
227
- "An error has occurred, which probably means the feed is down. Try again "
228
- "later."
229
- msgstr ""
230
- "Er is een fout opgetreden, wat waarschijnlijk betekent dat de feed niet "
231
- "werkt. Probeer het later opnieuw."
232
-
233
- #. translators: %s is the name of the post type (example Back to "Membership
234
- #. Plans").
235
- #: includes/class-yith-post-type-admin.php:286
236
- msgid "Back to \"%s\""
237
- msgstr "Terug naar \"%s\""
238
-
239
- #: includes/class-yith-post-type-admin.php:286
240
- msgid "Back to the list"
241
- msgstr "Terug naar de lijst"
242
-
243
- #: includes/class-yith-system-status.php:110
244
- msgid "WordPress Version"
245
- msgstr "WordPress Versie"
246
-
247
- #: includes/class-yith-system-status.php:111
248
- msgid "WooCommerce Version"
249
- msgstr "WooCommerce Versie"
250
-
251
- #: includes/class-yith-system-status.php:112
252
- msgid "Available Memory"
253
- msgstr "Beschikbaar geheugen"
254
-
255
- #: includes/class-yith-system-status.php:113
256
- msgid "PHP Version"
257
- msgstr "PHP Versie"
258
-
259
- #: includes/class-yith-system-status.php:114
260
- msgid "TLS Version"
261
- msgstr "TLS Versie"
262
-
263
- #: includes/class-yith-system-status.php:115
264
- msgid "WordPress Cron"
265
- msgstr "WordPress Cron"
266
-
267
- #: includes/class-yith-system-status.php:116
268
- msgid "SimpleXML"
269
- msgstr "SimpleXML"
270
-
271
- #: includes/class-yith-system-status.php:117
272
- msgid "MultiByte String"
273
- msgstr "MultiByte String"
274
-
275
- #: includes/class-yith-system-status.php:118
276
- msgid "ImageMagick Version"
277
- msgstr "ImageMagick Versie"
278
-
279
- #: includes/class-yith-system-status.php:119
280
- msgid "GD Library"
281
- msgstr "GD Library"
282
-
283
- #: includes/class-yith-system-status.php:120
284
- msgid "Iconv Module"
285
- msgstr "Verzendmodule inschakelen"
286
-
287
- #: includes/class-yith-system-status.php:121
288
- msgid "OPCache Save Comments"
289
- msgstr "OPCache Opmerkingen opslaan"
290
-
291
- #: includes/class-yith-system-status.php:122
292
- msgid "URL FOpen"
293
- msgstr "URL FOpen"
294
-
295
- #: includes/class-yith-system-status.php:140
296
- #: includes/class-yith-system-status.php:141
297
- #: templates/sysinfo/system-information-panel.php:11
298
- msgid "System Status"
299
- msgstr "Systeem Status"
300
-
301
- #: includes/class-yith-system-status.php:183
302
- msgid "YITH Plugins"
303
- msgstr "YITH Plugins"
304
-
305
- #: includes/class-yith-system-status.php:191
306
- msgid "WooCommerce"
307
- msgstr "WooCommerce"
308
-
309
- #: includes/class-yith-system-status.php:342
310
- msgid "Warning!"
311
- msgstr "Waarschuwing!"
312
-
313
- #. translators: %1$s open link tag, %2$s open link tag
314
- #: includes/class-yith-system-status.php:346
315
- msgid ""
316
- "The system check has detected some compatibility issues on your installation."
317
- "%1$sClick here%2$s to know more"
318
- msgstr ""
319
- "Het systeem heeft enkele compatibiliteitsproblemen gevonden op uw "
320
- "installatie.%1$sklik hier%2$s om meer te weten te komen"
321
-
322
- #: includes/class-yith-system-status.php:488
323
- msgid "Enabled"
324
- msgstr "Ingeschakeld"
325
-
326
- #: includes/class-yith-system-status.php:488
327
- msgid "Disabled"
328
- msgstr "Uitgeschakeld"
329
-
330
- #: includes/class-yith-system-status.php:493
331
- msgid "N/A"
332
- msgstr "N.v.t"
333
-
334
- #. translators: %1$s plugin name, %2$s requirement name
335
- #: includes/class-yith-system-status.php:520
336
- msgid "%1$s needs %2$s enabled"
337
- msgstr "%1$s heeft nodig %2$s ingeschakeld"
338
-
339
- #. translators: %1$s plugin name, %2$s required memory amount
340
- #: includes/class-yith-system-status.php:523
341
- msgid "%1$s needs at least %2$s of available memory"
342
- msgstr "%1$ss heeft ten minste %2$s beschikbaar geheugen nodig"
343
-
344
- #. translators: %1$s plugin name, %2$s version number
345
- #: includes/class-yith-system-status.php:526
346
- msgid "%1$s needs at least %2$s version"
347
- msgstr "%1$s heeft minstens %2$s versie nodig"
348
-
349
- #: includes/class-yith-system-status.php:550
350
- msgid ""
351
- "Update it to the latest version in order to benefit of all new features and "
352
- "security updates."
353
- msgstr ""
354
- "Bijwerken naar de laatste versie, om te profiteren van alle nieuwe opties en "
355
- "veiligheidsupdates."
356
-
357
- #: includes/class-yith-system-status.php:554
358
- #: includes/class-yith-system-status.php:560
359
- msgid "Contact your hosting company in order to update it."
360
- msgstr "Neem contact op met uw hosting provider om het bij te werken."
361
-
362
- #: includes/class-yith-system-status.php:558
363
- msgid "Contact your hosting company in order to install it."
364
- msgstr "Neem contact op met je hostingbedrijf om het te installeren."
365
-
366
- #. translators: %1$s code, %2$s file name
367
- #: includes/class-yith-system-status.php:565
368
- msgid "Remove %1$s from %2$s file"
369
- msgstr "Verwijder %1$s uit %2$s bestand"
370
-
371
- #: includes/class-yith-system-status.php:573
372
- msgid "Contact your hosting company in order to enable it."
373
- msgstr "Neem contact op met uw hosting provider om het in te schakelen."
374
-
375
- #. translators: %1$s opening link tag, %2$s closing link tag
376
- #: includes/class-yith-system-status.php:577
377
- #: includes/class-yith-system-status.php:600
378
- msgid ""
379
- "Read more %1$shere%2$s or contact your hosting company in order to increase "
380
- "it."
381
- msgstr ""
382
- "Lees %1$s hier%2$s meer, of neem contact op met uw hostingmaatschappij om "
383
- "het te verhogen."
384
-
385
- #. translators: %s recommended memory amount
386
- #: includes/class-yith-system-status.php:597
387
- msgid ""
388
- "For optimal functioning of our plugins, we suggest setting at least %s of "
389
- "available memory"
390
- msgstr ""
391
- "Om de plugins optimaal te laten functioneren, adviseren wij minstens %s "
392
- "beschikbaar geheugen"
393
-
394
- #. translators: %1$s TLS label, %2$s cURL label
395
- #: includes/class-yith-system-status.php:605
396
- msgid ""
397
- "The system check cannot determine which %1$s version is installed because "
398
- "%2$s module is disabled. Ask your hosting company to enable it."
399
- msgstr ""
400
- "We kunnen niet bepalen welke %1$s versie is geïnstalleerd omdat %2$s de "
401
- "module is uitgeschakeld. Vraag je hostingmaatschappij om het in te schakelen."
402
-
403
- #. translators: %1$s TLS label
404
- #: includes/class-yith-system-status.php:608
405
- msgid ""
406
- "The system check cannot determine which %1$s version is installed due to a "
407
- "connection issue between your site and our server."
408
- msgstr ""
409
- "De systeemcontrole kan niet bepalen welke versie van %1$s is geïnstalleerd "
410
- "vanwege een verbindingsprobleem tussen je site en onze server."
411
-
412
- #: templates/fields/ajax-customers.php:41
413
- msgid "Search Customers"
414
- msgstr "Klanten zoeken"
415
-
416
- #. translators: 1. user display name; 2. user ID; 3. user email.
417
- #: templates/fields/ajax-customers.php:68
418
- #: templates/fields/ajax-customers.php:79
419
- msgid "%1$s (#%2$s &ndash; %3$s)"
420
- msgstr "%1$s (#%2$s &ndash; %3$s)"
421
-
422
- #: templates/fields/ajax-posts.php:41
423
- msgid "Search Posts"
424
- msgstr "Posts zoeken"
425
-
426
- #: templates/fields/ajax-products.php:14
427
- msgid "Search Product"
428
- msgstr "Zoek Product"
429
-
430
- #: templates/fields/ajax-terms.php:41
431
- msgid "Search Categories"
432
- msgstr "Zoek categorieën"
433
-
434
- #: templates/fields/customtabs.php:17
435
- msgid "Close all"
436
- msgstr "Sluit allen"
437
-
438
- #: templates/fields/customtabs.php:17
439
- msgid "Expand all"
440
- msgstr "Open allen"
441
-
442
- #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
443
- msgid "Remove"
444
- msgstr "Verwijderen"
445
-
446
- #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
447
- msgid "Name"
448
- msgstr "Name"
449
-
450
- #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
451
- msgid "Value"
452
- msgstr "Waarde"
453
-
454
- #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
455
- msgid "Content of the tab. (HTML is supported)"
456
- msgstr "Inhoud van het tabblad. (HTML wordt ondersteund)"
457
-
458
- #: templates/fields/customtabs.php:52
459
- msgid "Add custom product tab"
460
- msgstr "Aangepaste product tabblad toevoegen"
461
-
462
- #: templates/fields/customtabs.php:93
463
- msgid "Do you want to remove the custom tab?"
464
- msgstr "Wil je dit aangepaste tabblad verwijderen?"
465
-
466
- #: templates/fields/date-format.php:65
467
- msgid "Custom:"
468
- msgstr "Aangepast:"
469
-
470
- #: templates/fields/date-format.php:70
471
- msgid "Preview:"
472
- msgstr "Voorbeeld:"
473
-
474
- #: templates/fields/icons.php:78
475
- msgid "Set Default"
476
- msgstr "Op standaard instellen"
477
-
478
- #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
479
- msgid "Delete image"
480
- msgstr "Afbeelding verwijderen"
481
-
482
- #: templates/fields/image-gallery.php:37
483
- msgid "Add Images to Gallery"
484
- msgstr "Afbeeldingen toevoegen aan galerij"
485
-
486
- #: templates/fields/image-gallery.php:38
487
- msgid "Add to gallery"
488
- msgstr "Aan galerij toevoegen"
489
-
490
- #: templates/fields/image-gallery.php:39
491
- msgid "Add images"
492
- msgstr "Voeg images toe"
493
-
494
- #: templates/fields/image-gallery.php:41
495
- msgid "Delete"
496
- msgstr "Verwijderen"
497
-
498
- #: templates/fields/select-buttons.php:19
499
- msgid "Add All"
500
- msgstr "Allen toevoegen"
501
-
502
- #: templates/fields/select-buttons.php:20
503
- msgid "Remove All"
504
- msgstr "Allen verwijderen"
505
-
506
- #: templates/fields/sidebars.php:20
507
- msgid "Left sidebar"
508
- msgstr "Linker sidebar"
509
-
510
- #: templates/fields/sidebars.php:23
511
- msgid "Right sidebar"
512
- msgstr "Rechter sidebar"
513
-
514
- #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
515
- msgid "No sidebar"
516
- msgstr "Geen sidebar"
517
-
518
- #: templates/fields/sidebars.php:39
519
- msgid "Left Sidebar"
520
- msgstr "Linker sidebar"
521
-
522
- #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
523
- msgid "Choose a sidebar"
524
- msgstr "Kies een sidebar"
525
-
526
- #: templates/fields/sidebars.php:54
527
- msgid "Right Sidebar"
528
- msgstr "Rechter sidebar"
529
-
530
- #: templates/fields/upload.php:34
531
- #: templates/panel/woocommerce/woocommerce-upload.php:37
532
- msgid "Upload"
533
- msgstr "Upload"
534
-
535
- #: templates/fields/upload.php:39
536
- msgid "Reset"
537
- msgstr "Resetten"
538
-
539
- #: templates/panel/woocommerce/woocommerce-form.php:28
540
- #: templates/panel/woocommerce/woocommerce-form.php:32
541
- msgid "Save Options"
542
- msgstr "Opties opslaan"
543
-
544
- #: templates/panel/woocommerce/woocommerce-form.php:32
545
- msgid "Options Saved"
546
- msgstr "Opties opgeslagen"
547
-
548
- #: templates/panel/woocommerce/woocommerce-form.php:38
549
- msgid "Reset Defaults"
550
- msgstr "Reset Standaard instellingen"
551
-
552
- #: templates/sysinfo/system-information-panel.php:12
553
- msgid "PHPInfo"
554
- msgstr "PHPInfo"
555
-
556
- #: templates/sysinfo/system-information-panel.php:13
557
- #: templates/sysinfo/tabs/error-log.php:25
558
- msgid "Log Files"
559
- msgstr "Log bestanden"
560
-
561
- #: templates/sysinfo/system-information-panel.php:22
562
- msgid "YITH System Information"
563
- msgstr "YITH Systeem Informatie"
564
-
565
- #: templates/sysinfo/tabs/error-log.php:13
566
- msgid "WP debug.log file"
567
- msgstr "WP debug.log bestand"
568
-
569
- #: templates/sysinfo/tabs/error-log.php:18
570
- msgid "PHP error_log file"
571
- msgstr "PHP error_log bestand"
572
-
573
- #: templates/sysinfo/tabs/error-log.php:60
574
- msgid "Download"
575
- msgstr "Download"
576
-
577
- #: templates/sysinfo/tabs/error-log.php:72
578
- msgid "The file size exceeds 8 megabytes so it must be downloaded"
579
- msgstr ""
580
- "De bestandsgrootte overschrijd 8 megabytes, dus het moet worden gedownload "
581
-
582
- #. translators: %s file name.
583
- #: templates/sysinfo/tabs/error-log.php:96
584
- msgid ""
585
- "No Log file available. Enable the WordPress debug by adding this in the %s "
586
- "file of your installation"
587
- msgstr ""
588
- "Geen log bestand beschikbaar. WordPress debug inschakelen door dit bestand "
589
- "toe te voegen aan het %s bestand van je installatie "
590
-
591
- #: templates/sysinfo/tabs/error-log.php:105
592
- msgid "Copied!"
593
- msgstr "Gekopieerd!"
594
-
595
- #: templates/sysinfo/tabs/error-log.php:105
596
- msgid "Copy Code"
597
- msgstr "Code kopiëren"
598
-
599
- #: templates/sysinfo/tabs/main.php:17
600
- msgid "Site Info"
601
- msgstr "Site informatie"
602
-
603
- #: templates/sysinfo/tabs/main.php:22
604
- msgid "Site URL"
605
- msgstr "Site URL"
606
-
607
- #: templates/sysinfo/tabs/main.php:31
608
- msgid "Output IP Address"
609
- msgstr "Output IP Adres"
610
-
611
- #: templates/sysinfo/tabs/main.php:39
612
- msgid "Defined WP_CACHE"
613
- msgstr "Gedefinieerde WP_CACHE"
614
-
615
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
616
- msgid "Yes"
617
- msgstr "Ja"
618
-
619
- #: templates/sysinfo/tabs/main.php:47
620
- msgid "External object cache"
621
- msgstr "Externe object cache"
622
-
623
- #: templates/sysinfo/tabs/main.php:55
624
- msgid "YITH Plugin Framework Version"
625
- msgstr "YITH Plugin Framework Versie"
626
-
627
- #. translators: %s is the name of the plugin that is loading the framework.
628
- #: templates/sysinfo/tabs/main.php:64
629
- msgid "loaded by %s"
630
- msgstr "geladen door %s"
631
-
632
- #: templates/sysinfo/tabs/main.php:73
633
- msgid "Plugins Requirements"
634
- msgstr "Plugin benodigdheden"
635
-
636
- #: templates/sysinfo/tabs/main.php:108
637
- msgid "Database Info"
638
- msgstr "Database Info"
639
-
640
- #: templates/sysinfo/tabs/main.php:113
641
- msgid "MySQL version"
642
- msgstr "MySQL versie"
643
-
644
- #. Translators: %s: Codex link.
645
- #: templates/sysinfo/tabs/main.php:123
646
- msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
647
- msgstr "WordPress raadt een minimale MySQL versie aan van 5.6. Bekijk: %s"
648
-
649
- #: templates/sysinfo/tabs/main.php:123
650
- msgid "WordPress requirements"
651
- msgstr "WordPress vereisten"
652
-
653
- #: templates/sysinfo/tabs/main.php:130
654
- msgid "Total Database Size"
655
- msgstr "Totale Database grootte"
656
-
657
- #: templates/sysinfo/tabs/main.php:138
658
- msgid "Database Data Size"
659
- msgstr "Database Data grootte"
660
-
661
- #: templates/sysinfo/tabs/main.php:146
662
- msgid "Database Index Size"
663
- msgstr "Database Index grootte"
664
-
665
- #: templates/sysinfo/tabs/main.php:154
666
- msgid "Database Free Size"
667
- msgstr "Database gratis grootte"
668
-
669
- #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
670
- #. Engine.
671
- #: templates/sysinfo/tabs/main.php:168
672
- msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
673
- msgstr "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
674
-
675
- #. translators: %s is the title of the post object.
676
- #: yit-functions.php:1911
677
- msgid "Are you sure you want to move \"%s\" to trash?"
678
- msgstr "Weet je zeker dat je \"%s\" naar de prullenbak wilt verplaatsen?"
679
-
680
- #. translators: %s is the title of the post object.
681
- #: yit-functions.php:1913 yit-functions.php:2073
682
- msgid "Are you sure you want to delete \"%s\"?"
683
- msgstr "Weet je zeker dat je \"%s\" wilt verwijderen?"
684
-
685
- #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
686
- msgid "Further actions"
687
- msgstr "Verdere acties"
688
-
689
- #: yit-plugin.php:205
690
- msgid "License"
691
- msgstr "Licentie"
692
-
693
- #. Author of the plugin/theme
694
- msgid "YITH"
695
- msgstr "YITH"
696
-
697
- #. translators: %s it the Elementor Widget title.
698
- #: includes/builders/elementor/class-yith-elementor-widget.php:252
699
- msgctxt "Elementor Widget - section title"
700
- msgid "%s - Options"
701
- msgstr "%s - Opties"
702
-
703
- #: includes/builders/gutenberg/class-yith-gutenberg.php:149
704
- msgctxt "[gutenberg]: Category Name"
705
- msgid "YITH"
706
- msgstr "YITH"
707
-
708
- #: includes/class-yit-assets.php:134
709
- msgctxt "Button text"
710
- msgid "Confirm"
711
- msgstr "Bevestigen"
712
-
713
- #: includes/class-yit-assets.php:135
714
- msgctxt "Button text"
715
- msgid "Cancel"
716
- msgstr "Annuleren"
717
-
718
- #: includes/class-yit-assets.php:148 yit-functions.php:1982
719
- msgctxt "Trash confirmation action"
720
- msgid "Yes, move to trash"
721
- msgstr "Ja, verplaatsen naar prullenbak"
722
-
723
- #: includes/class-yit-assets.php:152 yit-functions.php:2000
724
- #: yit-functions.php:2127
725
- msgctxt "Delete confirmation action"
726
- msgid "Yes, delete"
727
- msgstr "Ja, verwijderen"
728
-
729
- #: includes/class-yit-plugin-panel.php:490
730
- msgctxt "Help tab name"
731
- msgid "Help"
732
- msgstr "Help"
733
-
734
- #. translators: 1. Plugin name.
735
- #: includes/class-yit-plugin-panel.php:800
736
- msgctxt "Help tab default title"
737
- msgid "Thank you for purchasing %s!"
738
- msgstr "Bedankt voor het kopen van %s!"
739
-
740
- #: includes/class-yit-plugin-panel.php:801
741
- msgctxt "Help tab default description"
742
- msgid ""
743
- "We want to help you to enjoy a wonderful experience with all our products."
744
- msgstr ""
745
- "We willen je helpen om te genieten van de geweldige ervaringen met al onze "
746
- "producten."
747
-
748
- #: includes/class-yith-dashboard.php:96
749
- msgctxt "Plugin FW"
750
- msgid "View Changelog"
751
- msgstr "Bekijk wijzigingenlogboek"
752
-
753
- #: includes/class-yith-dashboard.php:97
754
- msgctxt "Plugin FW"
755
- msgid "Latest update released on"
756
- msgstr "Laatste update uitgebracht op"
757
-
758
- #: includes/class-yith-dashboard.php:137
759
- msgctxt "Button label"
760
- msgid "Close"
761
- msgstr "Sluiten"
762
-
763
- #: includes/privacy/class-yith-privacy.php:61
764
- msgctxt "Privacy Policy Guide Title"
765
- msgid "YITH Plugins"
766
- msgstr "YITH Plugins"
767
-
768
- #: includes/privacy/class-yith-privacy.php:93
769
- msgctxt "Privacy Policy Content"
770
- msgid ""
771
- "This sample language includes the basics around what personal data your "
772
- "store may be collecting, storing and sharing, as well as who may have access "
773
- "to that data. Depending on what settings are enabled and which additional "
774
- "plugins are used, the specific information shared by your store will vary. "
775
- "We recommend consulting with a lawyer when deciding what information to "
776
- "disclose on your privacy policy."
777
- msgstr ""
778
- "Dit geschreven voorbeeld bevat de basis rondom welke persoonlijke gegevens "
779
- "je winkel mag verzamelen, bewaren en delen, en wie toegang heeft tot deze "
780
- "gegevens. Afhankelijk van welke instellingen zijn ingeschakeld en welke "
781
- "aanvullende plugins worden gebruikt, zal de informatie die wordt gedeeld "
782
- "door je winkel variëren. We raden aan om een advocaat te raadplegen wanneer "
783
- "je besluit je privacy beleid op te stellen."
784
-
785
- #: includes/privacy/class-yith-privacy.php:97
786
- msgctxt "Privacy Policy Content"
787
- msgid "What we collect and store"
788
- msgstr "Wat we verzamelen en bewaren"
789
-
790
- #: includes/privacy/class-yith-privacy.php:100
791
- msgctxt "Privacy Policy Content"
792
- msgid "Who on our team has access"
793
- msgstr "Wie van ons team heeft toegang"
794
-
795
- #: includes/privacy/class-yith-privacy.php:103
796
- msgctxt "Privacy Policy Content"
797
- msgid "What we share with others"
798
- msgstr "Wat wij delen met anderen"
799
-
800
- #: includes/privacy/class-yith-privacy.php:106
801
- msgctxt "Privacy Policy Content"
802
- msgid "Payments"
803
- msgstr "Betalingen"
804
-
805
- #: templates/fields/copy-to-clipboard.php:41
806
- msgctxt "Copy-to-clipboard message"
807
- msgid "Copied!"
808
- msgstr "Gekopieerd!"
809
-
810
- #: templates/fields/copy-to-clipboard.php:45
811
- msgctxt "Copy-to-clipboard button text"
812
- msgid "Copy"
813
- msgstr "Kopieer"
814
-
815
- #: templates/fields/dimensions.php:13
816
- msgctxt "Position in the \"Dimensions\" field"
817
- msgid "Top"
818
- msgstr "Boven"
819
-
820
- #: templates/fields/dimensions.php:14
821
- msgctxt "Position in the \"Dimensions\" field"
822
- msgid "Right"
823
- msgstr "Rechts"
824
-
825
- #: templates/fields/dimensions.php:15
826
- msgctxt "Position in the \"Dimensions\" field"
827
- msgid "Bottom"
828
- msgstr "Onder"
829
-
830
- #: templates/fields/dimensions.php:16
831
- msgctxt "Position in the \"Dimensions\" field"
832
- msgid "Left"
833
- msgstr "Links"
834
-
835
- #: templates/fields/dimensions.php:94
836
- msgctxt "Tooltip in the \"Dimensions\" field"
837
- msgid "Link values together"
838
- msgstr "Waarden aan elkaar koppelen"
839
-
840
- #: templates/fields/image-dimensions.php:18
841
- msgctxt "Image width field label"
842
- msgid "Width"
843
- msgstr "Breedte"
844
-
845
- #: templates/fields/image-dimensions.php:23
846
- msgctxt "Image height field label"
847
- msgid "Height"
848
- msgstr "Hoogte"
849
-
850
- #: templates/fields/onoff.php:28
851
- msgctxt "YES/NO button: use MAX 4 characters!"
852
- msgid "YES"
853
- msgstr "JA"
854
-
855
- #: templates/fields/onoff.php:29
856
- msgctxt "YES/NO button: use MAX 4 characters!"
857
- msgid "NO"
858
- msgstr "NEE"
859
-
860
- #. translators: 1. Url to EN playlist.
861
- #: templates/panel/help-tab.php:87
862
- msgctxt "Help tab view all video link"
863
- msgid ""
864
- "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
865
- "learn more >"
866
- msgstr ""
867
- "Bekijk de volledige <a href=\"%s\" target=\"_blank\">Playlist op Youtube</a> "
868
- "om meer te weten te komen >"
869
-
870
- #: templates/panel/help-tab.php:94
871
- msgctxt "Help tab Watch Videotutorials link"
872
- msgid "Videos are also available in:"
873
- msgstr "Videos zijn ook beschikbaar in:"
874
-
875
- #: templates/panel/help-tab.php:137
876
- msgctxt "Help tab Watch Videotutorials link"
877
- msgid "Watch our videotutorials"
878
- msgstr "Bekijk onze video uitleg"
879
-
880
- #: templates/panel/help-tab.php:140
881
- msgctxt "Help tab Watch Videotutorials link"
882
- msgid "We show you some use cases"
883
- msgstr "We tonen je enkele gebruikscasussen"
884
-
885
- #: templates/panel/help-tab.php:124
886
- msgctxt "Help tab Read Documentation link"
887
- msgid "Read the documentation"
888
- msgstr "Lees de documentatie"
889
-
890
- #: templates/panel/help-tab.php:127
891
- msgctxt "Help tab Read Documentation link"
892
- msgid "to learn from basics how it works"
893
- msgstr "om vanaf de basis te leren hoe het werkt"
894
-
895
- #: templates/panel/help-tab.php:150
896
- msgctxt "Help tab view FAQs link"
897
- msgid "Check the FAQs"
898
- msgstr "Check de FAQs"
899
-
900
- #: templates/panel/help-tab.php:153
901
- msgctxt "Help tab view FAQs link"
902
- msgid "to find answers to your doubts"
903
- msgstr "om je twijfels te beantwoorden"
904
-
905
- #: templates/panel/help-tab.php:169
906
- msgctxt "Help tab FAQ title"
907
- msgid "Last FAQs in our Help Center"
908
- msgstr "Laatste FAQs in ons Help Center"
909
-
910
- #: templates/panel/help-tab.php:183
911
- msgctxt "Help tab FAQ link"
912
- msgid "View all FAQs >"
913
- msgstr "Bekijk alle FAQs >"
914
-
915
- #: templates/panel/help-tab.php:192
916
- msgctxt "Help tab submit ticket title"
917
- msgid "Need help?"
918
- msgstr "Hulp nodig?"
919
-
920
- #: templates/panel/help-tab.php:195
921
- msgctxt "Help tab submit ticket description"
922
- msgid ""
923
- "If you are experiencing some technical issue ask help to our developers. "
924
- "Submit a ticket in our support desk and we will help you as soon as possible."
925
- msgstr ""
926
- "Als je een technisch probleem ondervindt, vraag dan hulp aan onze "
927
- "developers. Je kunt een ticket indienen bij onze supportdesk en we helpen je "
928
- "zo snel mogelijk verder."
929
-
930
- #: templates/panel/help-tab.php:203
931
- msgctxt "Help tab submit ticket button"
932
- msgid "Submit a ticket"
933
- msgstr "Verstuur een ticket"
934
-
935
- #: yit-functions.php:1925
936
- msgctxt "Post action"
937
- msgid "Preview"
938
- msgstr "Voorbeeld"
939
-
940
- #: yit-functions.php:1934
941
- msgctxt "Post action"
942
- msgid "View"
943
- msgstr "Bekijken"
944
-
945
- #: yit-functions.php:1945
946
- msgctxt "Post action"
947
- msgid "Edit"
948
- msgstr "Bewerken"
949
-
950
- #: yit-functions.php:1953
951
- msgctxt "Post action"
952
- msgid "Duplicate"
953
- msgstr "Dupliceren"
954
-
955
- #: yit-functions.php:1965
956
- msgctxt "Post action"
957
- msgid "Restore"
958
- msgstr "Herstellen"
959
-
960
- #: yit-functions.php:1973
961
- msgctxt "Post action"
962
- msgid "Trash"
963
- msgstr "Prullenbak"
964
-
965
- #: yit-functions.php:1990
966
- msgctxt "Post action"
967
- msgid "Delete Permanently"
968
- msgstr "Permanent verijwderen"
969
-
970
- #: yit-functions.php:2087
971
- msgctxt "Term action"
972
- msgid "View"
973
- msgstr "Bekijken"
974
-
975
- #: yit-functions.php:2097
976
- msgctxt "Term action"
977
- msgid "Edit"
978
- msgstr "Bewerken"
979
-
980
- #: yit-functions.php:2105
981
- msgctxt "Term action"
982
- msgid "Duplicate"
983
- msgstr "Dupliceren"
984
-
985
- #: yit-functions.php:2118
986
- msgctxt "Term action"
987
- msgid "Delete"
988
- msgstr "Verwijderen"
989
-
990
- #: yit-plugin.php:84
991
- msgctxt "Plugin Row Meta"
992
- msgid "Live Demo"
993
- msgstr "Live Demo"
994
-
995
- #: yit-plugin.php:88
996
- msgctxt "Plugin Row Meta"
997
- msgid "Documentation"
998
- msgstr "Documentatie"
999
-
1000
- #: yit-plugin.php:92
1001
- msgctxt "Plugin Row Meta"
1002
- msgid "Support"
1003
- msgstr "Ondersteuning"
1004
-
1005
- #: yit-plugin.php:96
1006
- msgctxt "Plugin Row Meta"
1007
- msgid "Premium version"
1008
- msgstr "Premium versie"
1009
-
1010
- #: yit-plugin.php:201
1011
- msgctxt "Action links"
1012
- msgid "Settings"
1013
- msgstr "Instellingen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of YITH Framework in Dutch
2
+ # This file is distributed under the same license as the YITH Framework package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: YITH Framework\n"
6
+ "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-12-13 14:46:02+00:00\n"
8
+ "PO-Revision-Date: 2021-12-13 12:45:02+0000\n"
9
+ "Language: nl\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Generator: GlotPress/3.0.0-alpha.2\n"
15
+
16
+ #: includes/class-yit-assets.php:146 yit-functions.php:1979
17
+ msgid "Confirm trash"
18
+ msgstr "Verplaatsen naar prullenbak bevestigen"
19
+
20
+ #: includes/class-yit-assets.php:147
21
+ msgid "Are you sure you want to trash the selected items?"
22
+ msgstr ""
23
+ "Weet je zeker dat je het geselecteerde item naar de prullenbak wilt "
24
+ "verplaatsen?"
25
+
26
+ #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
27
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
28
+ #: yit-functions.php:1981 yit-functions.php:1999
29
+ msgid "No"
30
+ msgstr "Nee"
31
+
32
+ #: includes/class-yit-assets.php:150 yit-functions.php:1997
33
+ #: yit-functions.php:2125
34
+ msgid "Confirm delete"
35
+ msgstr "Verwijderen bevestigen"
36
+
37
+ #: includes/class-yit-assets.php:151
38
+ msgid "Are you sure you want to delete the selected items?"
39
+ msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
40
+
41
+ #: includes/class-yit-assets.php:151 yit-functions.php:1913
42
+ #: yit-functions.php:2073
43
+ msgid ""
44
+ "This action cannot be undone and you will not be able to recover this data."
45
+ msgstr ""
46
+ "Deze actie kan niet ongedaan gemaakt worden en je zult deze gegevens niet "
47
+ "kunnen herstellen."
48
+
49
+ #: includes/class-yit-assets.php:164
50
+ msgid "Clear"
51
+ msgstr "Wissen"
52
+
53
+ #: includes/class-yit-assets.php:165
54
+ msgid "Clear color"
55
+ msgstr "Kleur wissen"
56
+
57
+ #: includes/class-yit-assets.php:166
58
+ msgid "Default"
59
+ msgstr "Standaard"
60
+
61
+ #: includes/class-yit-assets.php:167
62
+ msgid "Select default color"
63
+ msgstr "Standaardkleur selecteren"
64
+
65
+ #: includes/class-yit-assets.php:168
66
+ msgid "Select Color"
67
+ msgstr "Kleur selecteren"
68
+
69
+ #: includes/class-yit-assets.php:169
70
+ msgid "Color value"
71
+ msgstr "Kleurwaarde"
72
+
73
+ #: includes/class-yit-help-desk.php:152
74
+ msgid "There was an error with your request; please try again later."
75
+ msgstr ""
76
+ "Er is een fout opgetreden met je verzoek, probeer het later opnieuw a.u.b."
77
+
78
+ #: includes/class-yit-plugin-panel-woocommerce.php:430
79
+ msgid "The changes you have made will be lost if you leave this page."
80
+ msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
81
+
82
+ #: includes/class-yit-plugin-panel.php:83
83
+ msgid "Plugin Settings"
84
+ msgstr "Plugin instellingen"
85
+
86
+ #: includes/class-yit-plugin-panel.php:84
87
+ msgid "Settings"
88
+ msgstr "Instellingen"
89
+
90
+ #: includes/class-yit-plugin-panel.php:455
91
+ #: includes/class-yit-plugin-panel.php:458
92
+ msgid "How to install premium version"
93
+ msgstr "Hoe installeer ik de premium versie"
94
+
95
+ #: includes/class-yit-plugin-panel.php:659
96
+ #: includes/class-yit-plugin-subpanel.php:132
97
+ msgid "Save Changes"
98
+ msgstr "Wijzigingen opslaan"
99
+
100
+ #: includes/class-yit-plugin-panel.php:664
101
+ #: includes/class-yit-plugin-subpanel.php:136
102
+ #: templates/panel/woocommerce/woocommerce-form.php:14
103
+ msgid ""
104
+ "If you continue with this action, you will reset all options in this page."
105
+ msgstr ""
106
+ "Als je doorgaat met deze actie, zal je alle opties op deze pagina resetten."
107
+
108
+ #: includes/class-yit-plugin-panel.php:664
109
+ #: includes/class-yit-plugin-subpanel.php:136
110
+ #: templates/panel/woocommerce/woocommerce-form.php:14
111
+ msgid "Are you sure?"
112
+ msgstr "Weet je het zeker?"
113
+
114
+ #: includes/class-yit-plugin-panel.php:668
115
+ #: includes/class-yit-plugin-subpanel.php:139
116
+ msgid "Reset to default"
117
+ msgstr "Resetten naar standaard"
118
+
119
+ #: includes/class-yit-plugin-panel.php:1047
120
+ msgid ""
121
+ "The element you have entered already exists. Please, enter another name."
122
+ msgstr "Het element dat je hebt ingevoerd bestaat al. Voer een andere naam in."
123
+
124
+ #: includes/class-yit-plugin-panel.php:1048
125
+ msgid "Settings saved"
126
+ msgstr "Instellingen opgeslagen"
127
+
128
+ #: includes/class-yit-plugin-panel.php:1049
129
+ msgid "Settings reset"
130
+ msgstr "Instellingen resetten"
131
+
132
+ #: includes/class-yit-plugin-panel.php:1050
133
+ msgid "Element deleted correctly."
134
+ msgstr "Element juist verwijderd."
135
+
136
+ #: includes/class-yit-plugin-panel.php:1051
137
+ #: includes/class-yit-plugin-panel.php:1052
138
+ msgid "Element updated correctly."
139
+ msgstr "Element juist geüpdatet."
140
+
141
+ #: includes/class-yit-plugin-panel.php:1053
142
+ msgid "Database imported correctly."
143
+ msgstr "Database juist geïmporteerd."
144
+
145
+ #: includes/class-yit-plugin-panel.php:1054
146
+ msgid "An error has occurred during import. Please try again."
147
+ msgstr "Er is een fout opgetreden tijdens importeren. Probeer opnieuw."
148
+
149
+ #: includes/class-yit-plugin-panel.php:1055
150
+ msgid "The added file is not valid."
151
+ msgstr "Het toegevoegde bestand is niet geldig."
152
+
153
+ #: includes/class-yit-plugin-panel.php:1056
154
+ msgid "Sorry, import is disabled."
155
+ msgstr "Sorry, importeren is uitgeschakeld."
156
+
157
+ #: includes/class-yit-plugin-panel.php:1057
158
+ msgid "Sorting successful."
159
+ msgstr "Succesvol gesorteerd."
160
+
161
+ #: includes/class-yit-plugin-panel.php:1525
162
+ msgid "We need your support"
163
+ msgstr "We hebben je hulp nodig"
164
+
165
+ #: includes/class-yit-plugin-panel.php:1526
166
+ msgid "to keep updating and improving the plugin. Please,"
167
+ msgstr "om de plugin te blijven bijwerken en verbeteren. A.u.b.,"
168
+
169
+ #: includes/class-yit-plugin-panel.php:1528
170
+ msgid "help us by leaving a good review"
171
+ msgstr "help ons door een goede beoordeling achter te laten"
172
+
173
+ #: includes/class-yit-plugin-panel.php:1529
174
+ msgid ":) Thanks!"
175
+ msgstr ":) Bedankt!"
176
+
177
+ #: includes/class-yit-pointers.php:80
178
+ msgid "Plugins Activated"
179
+ msgstr "Plugins geactiveerd"
180
+
181
+ #: includes/class-yit-pointers.php:81
182
+ msgid ""
183
+ "From now on, you can find all plugin options in YITH menu. Plugin "
184
+ "customization settings will be available as a new entry in YITH menu."
185
+ msgstr ""
186
+ "Vanaf nu kun je alle plugin opties vinden in het YITH Plugins menu. Plugin "
187
+ "aanpassingen instellingen zullen beschikbaar zijn als nieuwe toegang in het "
188
+ "YITH menu."
189
+
190
+ #. translators: 1. YITH site link; 2. WordPress site link.
191
+ #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
192
+ msgid "Discover all our plugins available on: %1$s and %2$s"
193
+ msgstr "Ontdek al onze beschikbare plugins op: %1$s and %2$s"
194
+
195
+ #: includes/class-yit-pointers.php:96
196
+ msgid "Plugins Upgraded"
197
+ msgstr "Plugins Upgraded"
198
+
199
+ #: includes/class-yit-pointers.php:97
200
+ msgid ""
201
+ "From now on, you can find the option panel of YITH plugins in YITH menu. "
202
+ "Every time one of our plugins is added, a new entry will be added to this "
203
+ "menu. For example, after the update, plugin options (such as for YITH "
204
+ "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
205
+ "previous location to YITH menu."
206
+ msgstr ""
207
+ "Vanaf nu kun je het optiepaneel van YITH plugins vinden in het YITH menu. "
208
+ "Elke keer dat een van onze plugins wordt toegevoegd, wordt er een nieuw item "
209
+ "aan dit menu toegevoegd. Bijvoorbeeld na de update worden plugin opties "
210
+ "(zoals voor YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, enz.) "
211
+ "verplaatst van de vorige locatie naar het YITH menu."
212
+
213
+ #: includes/class-yith-dashboard.php:35
214
+ msgid "YITH Latest Updates"
215
+ msgstr "YITH laatste updates"
216
+
217
+ #: includes/class-yith-dashboard.php:36
218
+ msgid "Latest news from YITH Blog"
219
+ msgstr "Laatste nieuws van YITH Blog"
220
+
221
+ #: includes/class-yith-dashboard.php:56
222
+ msgid "RSS Error:"
223
+ msgstr "RSS-fout:"
224
+
225
+ #: includes/class-yith-dashboard.php:63
226
+ msgid ""
227
+ "An error has occurred, which probably means the feed is down. Try again "
228
+ "later."
229
+ msgstr ""
230
+ "Er is een fout opgetreden, wat waarschijnlijk betekent dat de feed niet "
231
+ "werkt. Probeer het later opnieuw."
232
+
233
+ #. translators: %s is the name of the post type (example Back to "Membership
234
+ #. Plans").
235
+ #: includes/class-yith-post-type-admin.php:286
236
+ msgid "Back to \"%s\""
237
+ msgstr "Terug naar \"%s\""
238
+
239
+ #: includes/class-yith-post-type-admin.php:286
240
+ msgid "Back to the list"
241
+ msgstr "Terug naar de lijst"
242
+
243
+ #: includes/class-yith-system-status.php:110
244
+ msgid "WordPress Version"
245
+ msgstr "WordPress Versie"
246
+
247
+ #: includes/class-yith-system-status.php:111
248
+ msgid "WooCommerce Version"
249
+ msgstr "WooCommerce Versie"
250
+
251
+ #: includes/class-yith-system-status.php:112
252
+ msgid "Available Memory"
253
+ msgstr "Beschikbaar geheugen"
254
+
255
+ #: includes/class-yith-system-status.php:113
256
+ msgid "PHP Version"
257
+ msgstr "PHP Versie"
258
+
259
+ #: includes/class-yith-system-status.php:114
260
+ msgid "TLS Version"
261
+ msgstr "TLS Versie"
262
+
263
+ #: includes/class-yith-system-status.php:115
264
+ msgid "WordPress Cron"
265
+ msgstr "WordPress Cron"
266
+
267
+ #: includes/class-yith-system-status.php:116
268
+ msgid "SimpleXML"
269
+ msgstr "SimpleXML"
270
+
271
+ #: includes/class-yith-system-status.php:117
272
+ msgid "MultiByte String"
273
+ msgstr "MultiByte String"
274
+
275
+ #: includes/class-yith-system-status.php:118
276
+ msgid "ImageMagick Version"
277
+ msgstr "ImageMagick Versie"
278
+
279
+ #: includes/class-yith-system-status.php:119
280
+ msgid "GD Library"
281
+ msgstr "GD Library"
282
+
283
+ #: includes/class-yith-system-status.php:120
284
+ msgid "Iconv Module"
285
+ msgstr "Verzendmodule inschakelen"
286
+
287
+ #: includes/class-yith-system-status.php:121
288
+ msgid "OPCache Save Comments"
289
+ msgstr "OPCache Opmerkingen opslaan"
290
+
291
+ #: includes/class-yith-system-status.php:122
292
+ msgid "URL FOpen"
293
+ msgstr "URL FOpen"
294
+
295
+ #: includes/class-yith-system-status.php:140
296
+ #: includes/class-yith-system-status.php:141
297
+ #: templates/sysinfo/system-information-panel.php:11
298
+ msgid "System Status"
299
+ msgstr "Systeem Status"
300
+
301
+ #: includes/class-yith-system-status.php:183
302
+ msgid "YITH Plugins"
303
+ msgstr "YITH Plugins"
304
+
305
+ #: includes/class-yith-system-status.php:191
306
+ msgid "WooCommerce"
307
+ msgstr "WooCommerce"
308
+
309
+ #: includes/class-yith-system-status.php:342
310
+ msgid "Warning!"
311
+ msgstr "Waarschuwing!"
312
+
313
+ #. translators: %1$s open link tag, %2$s open link tag
314
+ #: includes/class-yith-system-status.php:346
315
+ msgid ""
316
+ "The system check has detected some compatibility issues on your installation."
317
+ "%1$sClick here%2$s to know more"
318
+ msgstr ""
319
+ "Het systeem heeft enkele compatibiliteitsproblemen gevonden op uw "
320
+ "installatie.%1$sklik hier%2$s om meer te weten te komen"
321
+
322
+ #: includes/class-yith-system-status.php:488
323
+ msgid "Enabled"
324
+ msgstr "Ingeschakeld"
325
+
326
+ #: includes/class-yith-system-status.php:488
327
+ msgid "Disabled"
328
+ msgstr "Uitgeschakeld"
329
+
330
+ #: includes/class-yith-system-status.php:493
331
+ msgid "N/A"
332
+ msgstr "N.v.t"
333
+
334
+ #. translators: %1$s plugin name, %2$s requirement name
335
+ #: includes/class-yith-system-status.php:520
336
+ msgid "%1$s needs %2$s enabled"
337
+ msgstr "%1$s heeft nodig %2$s ingeschakeld"
338
+
339
+ #. translators: %1$s plugin name, %2$s required memory amount
340
+ #: includes/class-yith-system-status.php:523
341
+ msgid "%1$s needs at least %2$s of available memory"
342
+ msgstr "%1$ss heeft ten minste %2$s beschikbaar geheugen nodig"
343
+
344
+ #. translators: %1$s plugin name, %2$s version number
345
+ #: includes/class-yith-system-status.php:526
346
+ msgid "%1$s needs at least %2$s version"
347
+ msgstr "%1$s heeft minstens %2$s versie nodig"
348
+
349
+ #: includes/class-yith-system-status.php:550
350
+ msgid ""
351
+ "Update it to the latest version in order to benefit of all new features and "
352
+ "security updates."
353
+ msgstr ""
354
+ "Bijwerken naar de laatste versie, om te profiteren van alle nieuwe opties en "
355
+ "veiligheidsupdates."
356
+
357
+ #: includes/class-yith-system-status.php:554
358
+ #: includes/class-yith-system-status.php:560
359
+ msgid "Contact your hosting company in order to update it."
360
+ msgstr "Neem contact op met uw hosting provider om het bij te werken."
361
+
362
+ #: includes/class-yith-system-status.php:558
363
+ msgid "Contact your hosting company in order to install it."
364
+ msgstr "Neem contact op met je hostingbedrijf om het te installeren."
365
+
366
+ #. translators: %1$s code, %2$s file name
367
+ #: includes/class-yith-system-status.php:565
368
+ msgid "Remove %1$s from %2$s file"
369
+ msgstr "Verwijder %1$s uit %2$s bestand"
370
+
371
+ #: includes/class-yith-system-status.php:573
372
+ msgid "Contact your hosting company in order to enable it."
373
+ msgstr "Neem contact op met uw hosting provider om het in te schakelen."
374
+
375
+ #. translators: %1$s opening link tag, %2$s closing link tag
376
+ #: includes/class-yith-system-status.php:577
377
+ #: includes/class-yith-system-status.php:600
378
+ msgid ""
379
+ "Read more %1$shere%2$s or contact your hosting company in order to increase "
380
+ "it."
381
+ msgstr ""
382
+ "Lees %1$s hier%2$s meer, of neem contact op met uw hostingmaatschappij om "
383
+ "het te verhogen."
384
+
385
+ #. translators: %s recommended memory amount
386
+ #: includes/class-yith-system-status.php:597
387
+ msgid ""
388
+ "For optimal functioning of our plugins, we suggest setting at least %s of "
389
+ "available memory"
390
+ msgstr ""
391
+ "Om de plugins optimaal te laten functioneren, adviseren wij minstens %s "
392
+ "beschikbaar geheugen"
393
+
394
+ #. translators: %1$s TLS label, %2$s cURL label
395
+ #: includes/class-yith-system-status.php:605
396
+ msgid ""
397
+ "The system check cannot determine which %1$s version is installed because "
398
+ "%2$s module is disabled. Ask your hosting company to enable it."
399
+ msgstr ""
400
+ "We kunnen niet bepalen welke %1$s versie is geïnstalleerd omdat %2$s de "
401
+ "module is uitgeschakeld. Vraag je hostingmaatschappij om het in te schakelen."
402
+
403
+ #. translators: %1$s TLS label
404
+ #: includes/class-yith-system-status.php:608
405
+ msgid ""
406
+ "The system check cannot determine which %1$s version is installed due to a "
407
+ "connection issue between your site and our server."
408
+ msgstr ""
409
+ "De systeemcontrole kan niet bepalen welke versie van %1$s is geïnstalleerd "
410
+ "vanwege een verbindingsprobleem tussen je site en onze server."
411
+
412
+ #: templates/fields/ajax-customers.php:41
413
+ msgid "Search Customers"
414
+ msgstr "Klanten zoeken"
415
+
416
+ #. translators: 1. user display name; 2. user ID; 3. user email.
417
+ #: templates/fields/ajax-customers.php:68
418
+ #: templates/fields/ajax-customers.php:79
419
+ msgid "%1$s (#%2$s &ndash; %3$s)"
420
+ msgstr "%1$s (#%2$s &ndash; %3$s)"
421
+
422
+ #: templates/fields/ajax-posts.php:41
423
+ msgid "Search Posts"
424
+ msgstr "Posts zoeken"
425
+
426
+ #: templates/fields/ajax-products.php:14
427
+ msgid "Search Product"
428
+ msgstr "Zoek Product"
429
+
430
+ #: templates/fields/ajax-terms.php:41
431
+ msgid "Search Categories"
432
+ msgstr "Zoek categorieën"
433
+
434
+ #: templates/fields/customtabs.php:17
435
+ msgid "Close all"
436
+ msgstr "Sluit allen"
437
+
438
+ #: templates/fields/customtabs.php:17
439
+ msgid "Expand all"
440
+ msgstr "Open allen"
441
+
442
+ #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
443
+ msgid "Remove"
444
+ msgstr "Verwijderen"
445
+
446
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
447
+ msgid "Name"
448
+ msgstr "Name"
449
+
450
+ #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
451
+ msgid "Value"
452
+ msgstr "Waarde"
453
+
454
+ #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
455
+ msgid "Content of the tab. (HTML is supported)"
456
+ msgstr "Inhoud van het tabblad. (HTML wordt ondersteund)"
457
+
458
+ #: templates/fields/customtabs.php:52
459
+ msgid "Add custom product tab"
460
+ msgstr "Aangepaste product tabblad toevoegen"
461
+
462
+ #: templates/fields/customtabs.php:93
463
+ msgid "Do you want to remove the custom tab?"
464
+ msgstr "Wil je dit aangepaste tabblad verwijderen?"
465
+
466
+ #: templates/fields/date-format.php:65
467
+ msgid "Custom:"
468
+ msgstr "Aangepast:"
469
+
470
+ #: templates/fields/date-format.php:70
471
+ msgid "Preview:"
472
+ msgstr "Voorbeeld:"
473
+
474
+ #: templates/fields/icons.php:78
475
+ msgid "Set Default"
476
+ msgstr "Op standaard instellen"
477
+
478
+ #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
479
+ msgid "Delete image"
480
+ msgstr "Afbeelding verwijderen"
481
+
482
+ #: templates/fields/image-gallery.php:37
483
+ msgid "Add Images to Gallery"
484
+ msgstr "Afbeeldingen toevoegen aan galerij"
485
+
486
+ #: templates/fields/image-gallery.php:38
487
+ msgid "Add to gallery"
488
+ msgstr "Aan galerij toevoegen"
489
+
490
+ #: templates/fields/image-gallery.php:39
491
+ msgid "Add images"
492
+ msgstr "Voeg images toe"
493
+
494
+ #: templates/fields/image-gallery.php:41
495
+ msgid "Delete"
496
+ msgstr "Verwijderen"
497
+
498
+ #: templates/fields/select-buttons.php:19
499
+ msgid "Add All"
500
+ msgstr "Allen toevoegen"
501
+
502
+ #: templates/fields/select-buttons.php:20
503
+ msgid "Remove All"
504
+ msgstr "Allen verwijderen"
505
+
506
+ #: templates/fields/sidebars.php:20
507
+ msgid "Left sidebar"
508
+ msgstr "Linker sidebar"
509
+
510
+ #: templates/fields/sidebars.php:23
511
+ msgid "Right sidebar"
512
+ msgstr "Rechter sidebar"
513
+
514
+ #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
515
+ msgid "No sidebar"
516
+ msgstr "Geen sidebar"
517
+
518
+ #: templates/fields/sidebars.php:39
519
+ msgid "Left Sidebar"
520
+ msgstr "Linker sidebar"
521
+
522
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
523
+ msgid "Choose a sidebar"
524
+ msgstr "Kies een sidebar"
525
+
526
+ #: templates/fields/sidebars.php:54
527
+ msgid "Right Sidebar"
528
+ msgstr "Rechter sidebar"
529
+
530
+ #: templates/fields/upload.php:34
531
+ #: templates/panel/woocommerce/woocommerce-upload.php:37
532
+ msgid "Upload"
533
+ msgstr "Upload"
534
+
535
+ #: templates/fields/upload.php:39
536
+ msgid "Reset"
537
+ msgstr "Resetten"
538
+
539
+ #: templates/panel/woocommerce/woocommerce-form.php:28
540
+ #: templates/panel/woocommerce/woocommerce-form.php:32
541
+ msgid "Save Options"
542
+ msgstr "Opties opslaan"
543
+
544
+ #: templates/panel/woocommerce/woocommerce-form.php:32
545
+ msgid "Options Saved"
546
+ msgstr "Opties opgeslagen"
547
+
548
+ #: templates/panel/woocommerce/woocommerce-form.php:38
549
+ msgid "Reset Defaults"
550
+ msgstr "Reset Standaard instellingen"
551
+
552
+ #: templates/sysinfo/system-information-panel.php:12
553
+ msgid "PHPInfo"
554
+ msgstr "PHPInfo"
555
+
556
+ #: templates/sysinfo/system-information-panel.php:13
557
+ #: templates/sysinfo/tabs/error-log.php:25
558
+ msgid "Log Files"
559
+ msgstr "Log bestanden"
560
+
561
+ #: templates/sysinfo/system-information-panel.php:22
562
+ msgid "YITH System Information"
563
+ msgstr "YITH Systeem Informatie"
564
+
565
+ #: templates/sysinfo/tabs/error-log.php:13
566
+ msgid "WP debug.log file"
567
+ msgstr "WP debug.log bestand"
568
+
569
+ #: templates/sysinfo/tabs/error-log.php:18
570
+ msgid "PHP error_log file"
571
+ msgstr "PHP error_log bestand"
572
+
573
+ #: templates/sysinfo/tabs/error-log.php:60
574
+ msgid "Download"
575
+ msgstr "Download"
576
+
577
+ #: templates/sysinfo/tabs/error-log.php:72
578
+ msgid "The file size exceeds 8 megabytes so it must be downloaded"
579
+ msgstr ""
580
+ "De bestandsgrootte overschrijd 8 megabytes, dus het moet worden gedownload "
581
+
582
+ #. translators: %s file name.
583
+ #: templates/sysinfo/tabs/error-log.php:96
584
+ msgid ""
585
+ "No Log file available. Enable the WordPress debug by adding this in the %s "
586
+ "file of your installation"
587
+ msgstr ""
588
+ "Geen log bestand beschikbaar. WordPress debug inschakelen door dit bestand "
589
+ "toe te voegen aan het %s bestand van je installatie "
590
+
591
+ #: templates/sysinfo/tabs/error-log.php:105
592
+ msgid "Copied!"
593
+ msgstr "Gekopieerd!"
594
+
595
+ #: templates/sysinfo/tabs/error-log.php:105
596
+ msgid "Copy Code"
597
+ msgstr "Code kopiëren"
598
+
599
+ #: templates/sysinfo/tabs/main.php:17
600
+ msgid "Site Info"
601
+ msgstr "Site informatie"
602
+
603
+ #: templates/sysinfo/tabs/main.php:22
604
+ msgid "Site URL"
605
+ msgstr "Site URL"
606
+
607
+ #: templates/sysinfo/tabs/main.php:31
608
+ msgid "Output IP Address"
609
+ msgstr "Output IP Adres"
610
+
611
+ #: templates/sysinfo/tabs/main.php:39
612
+ msgid "Defined WP_CACHE"
613
+ msgstr "Gedefinieerde WP_CACHE"
614
+
615
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
616
+ msgid "Yes"
617
+ msgstr "Ja"
618
+
619
+ #: templates/sysinfo/tabs/main.php:47
620
+ msgid "External object cache"
621
+ msgstr "Externe object cache"
622
+
623
+ #: templates/sysinfo/tabs/main.php:55
624
+ msgid "YITH Plugin Framework Version"
625
+ msgstr "YITH Plugin Framework Versie"
626
+
627
+ #. translators: %s is the name of the plugin that is loading the framework.
628
+ #: templates/sysinfo/tabs/main.php:64
629
+ msgid "loaded by %s"
630
+ msgstr "geladen door %s"
631
+
632
+ #: templates/sysinfo/tabs/main.php:73
633
+ msgid "Plugins Requirements"
634
+ msgstr "Plugin benodigdheden"
635
+
636
+ #: templates/sysinfo/tabs/main.php:108
637
+ msgid "Database Info"
638
+ msgstr "Database Info"
639
+
640
+ #: templates/sysinfo/tabs/main.php:113
641
+ msgid "MySQL version"
642
+ msgstr "MySQL versie"
643
+
644
+ #. Translators: %s: Codex link.
645
+ #: templates/sysinfo/tabs/main.php:123
646
+ msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
647
+ msgstr "WordPress raadt een minimale MySQL versie aan van 5.6. Bekijk: %s"
648
+
649
+ #: templates/sysinfo/tabs/main.php:123
650
+ msgid "WordPress requirements"
651
+ msgstr "WordPress vereisten"
652
+
653
+ #: templates/sysinfo/tabs/main.php:130
654
+ msgid "Total Database Size"
655
+ msgstr "Totale Database grootte"
656
+
657
+ #: templates/sysinfo/tabs/main.php:138
658
+ msgid "Database Data Size"
659
+ msgstr "Database Data grootte"
660
+
661
+ #: templates/sysinfo/tabs/main.php:146
662
+ msgid "Database Index Size"
663
+ msgstr "Database Index grootte"
664
+
665
+ #: templates/sysinfo/tabs/main.php:154
666
+ msgid "Database Free Size"
667
+ msgstr "Database gratis grootte"
668
+
669
+ #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
670
+ #. Engine.
671
+ #: templates/sysinfo/tabs/main.php:168
672
+ msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
673
+ msgstr "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
674
+
675
+ #. translators: %s is the title of the post object.
676
+ #: yit-functions.php:1911
677
+ msgid "Are you sure you want to move \"%s\" to trash?"
678
+ msgstr "Weet je zeker dat je \"%s\" naar de prullenbak wilt verplaatsen?"
679
+
680
+ #. translators: %s is the title of the post object.
681
+ #: yit-functions.php:1913 yit-functions.php:2073
682
+ msgid "Are you sure you want to delete \"%s\"?"
683
+ msgstr "Weet je zeker dat je \"%s\" wilt verwijderen?"
684
+
685
+ #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
686
+ msgid "Further actions"
687
+ msgstr "Verdere acties"
688
+
689
+ #: yit-plugin.php:205
690
+ msgid "License"
691
+ msgstr "Licentie"
692
+
693
+ #. Author of the plugin/theme
694
+ msgid "YITH"
695
+ msgstr "YITH"
696
+
697
+ #. translators: %s it the Elementor Widget title.
698
+ #: includes/builders/elementor/class-yith-elementor-widget.php:252
699
+ msgctxt "Elementor Widget - section title"
700
+ msgid "%s - Options"
701
+ msgstr "%s - Opties"
702
+
703
+ #: includes/builders/gutenberg/class-yith-gutenberg.php:149
704
+ msgctxt "[gutenberg]: Category Name"
705
+ msgid "YITH"
706
+ msgstr "YITH"
707
+
708
+ #: includes/class-yit-assets.php:134
709
+ msgctxt "Button text"
710
+ msgid "Confirm"
711
+ msgstr "Bevestigen"
712
+
713
+ #: includes/class-yit-assets.php:135
714
+ msgctxt "Button text"
715
+ msgid "Cancel"
716
+ msgstr "Annuleren"
717
+
718
+ #: includes/class-yit-assets.php:148 yit-functions.php:1982
719
+ msgctxt "Trash confirmation action"
720
+ msgid "Yes, move to trash"
721
+ msgstr "Ja, verplaatsen naar prullenbak"
722
+
723
+ #: includes/class-yit-assets.php:152 yit-functions.php:2000
724
+ #: yit-functions.php:2127
725
+ msgctxt "Delete confirmation action"
726
+ msgid "Yes, delete"
727
+ msgstr "Ja, verwijderen"
728
+
729
+ #: includes/class-yit-plugin-panel.php:492
730
+ msgctxt "Help tab name"
731
+ msgid "Help"
732
+ msgstr "Help"
733
+
734
+ #. translators: 1. Plugin name.
735
+ #: includes/class-yit-plugin-panel.php:805
736
+ msgctxt "Help tab default title"
737
+ msgid "Thank you for purchasing %s!"
738
+ msgstr "Bedankt voor het kopen van %s!"
739
+
740
+ #: includes/class-yit-plugin-panel.php:806
741
+ msgctxt "Help tab default description"
742
+ msgid ""
743
+ "We want to help you to enjoy a wonderful experience with all our products."
744
+ msgstr ""
745
+ "We willen je helpen om te genieten van de geweldige ervaringen met al onze "
746
+ "producten."
747
+
748
+ #: includes/class-yit-plugin-panel.php:853
749
+ msgctxt "Premium tab name"
750
+ msgid "Get premium"
751
+ msgstr "Neem premium"
752
+
753
+ #: includes/class-yith-dashboard.php:96
754
+ msgctxt "Plugin FW"
755
+ msgid "View Changelog"
756
+ msgstr "Bekijk wijzigingenlogboek"
757
+
758
+ #: includes/class-yith-dashboard.php:97
759
+ msgctxt "Plugin FW"
760
+ msgid "Latest update released on"
761
+ msgstr "Laatste update uitgebracht op"
762
+
763
+ #: includes/class-yith-dashboard.php:137
764
+ msgctxt "Button label"
765
+ msgid "Close"
766
+ msgstr "Sluiten"
767
+
768
+ #: includes/privacy/class-yith-privacy.php:61
769
+ msgctxt "Privacy Policy Guide Title"
770
+ msgid "YITH Plugins"
771
+ msgstr "YITH Plugins"
772
+
773
+ #: includes/privacy/class-yith-privacy.php:93
774
+ msgctxt "Privacy Policy Content"
775
+ msgid ""
776
+ "This sample language includes the basics around what personal data your "
777
+ "store may be collecting, storing and sharing, as well as who may have access "
778
+ "to that data. Depending on what settings are enabled and which additional "
779
+ "plugins are used, the specific information shared by your store will vary. "
780
+ "We recommend consulting with a lawyer when deciding what information to "
781
+ "disclose on your privacy policy."
782
+ msgstr ""
783
+ "Dit geschreven voorbeeld bevat de basis rondom welke persoonlijke gegevens "
784
+ "je winkel mag verzamelen, bewaren en delen, en wie toegang heeft tot deze "
785
+ "gegevens. Afhankelijk van welke instellingen zijn ingeschakeld en welke "
786
+ "aanvullende plugins worden gebruikt, zal de informatie die wordt gedeeld "
787
+ "door je winkel variëren. We raden aan om een advocaat te raadplegen wanneer "
788
+ "je besluit je privacy beleid op te stellen."
789
+
790
+ #: includes/privacy/class-yith-privacy.php:97
791
+ msgctxt "Privacy Policy Content"
792
+ msgid "What we collect and store"
793
+ msgstr "Wat we verzamelen en bewaren"
794
+
795
+ #: includes/privacy/class-yith-privacy.php:100
796
+ msgctxt "Privacy Policy Content"
797
+ msgid "Who on our team has access"
798
+ msgstr "Wie van ons team heeft toegang"
799
+
800
+ #: includes/privacy/class-yith-privacy.php:103
801
+ msgctxt "Privacy Policy Content"
802
+ msgid "What we share with others"
803
+ msgstr "Wat wij delen met anderen"
804
+
805
+ #: includes/privacy/class-yith-privacy.php:106
806
+ msgctxt "Privacy Policy Content"
807
+ msgid "Payments"
808
+ msgstr "Betalingen"
809
+
810
+ #: templates/fields/copy-to-clipboard.php:41
811
+ msgctxt "Copy-to-clipboard message"
812
+ msgid "Copied!"
813
+ msgstr "Gekopieerd!"
814
+
815
+ #: templates/fields/copy-to-clipboard.php:45
816
+ msgctxt "Copy-to-clipboard button text"
817
+ msgid "Copy"
818
+ msgstr "Kopieer"
819
+
820
+ #: templates/fields/dimensions.php:13
821
+ msgctxt "Position in the \"Dimensions\" field"
822
+ msgid "Top"
823
+ msgstr "Boven"
824
+
825
+ #: templates/fields/dimensions.php:14
826
+ msgctxt "Position in the \"Dimensions\" field"
827
+ msgid "Right"
828
+ msgstr "Rechts"
829
+
830
+ #: templates/fields/dimensions.php:15
831
+ msgctxt "Position in the \"Dimensions\" field"
832
+ msgid "Bottom"
833
+ msgstr "Onder"
834
+
835
+ #: templates/fields/dimensions.php:16
836
+ msgctxt "Position in the \"Dimensions\" field"
837
+ msgid "Left"
838
+ msgstr "Links"
839
+
840
+ #: templates/fields/dimensions.php:94
841
+ msgctxt "Tooltip in the \"Dimensions\" field"
842
+ msgid "Link values together"
843
+ msgstr "Waarden aan elkaar koppelen"
844
+
845
+ #: templates/fields/image-dimensions.php:18
846
+ msgctxt "Image width field label"
847
+ msgid "Width"
848
+ msgstr "Breedte"
849
+
850
+ #: templates/fields/image-dimensions.php:23
851
+ msgctxt "Image height field label"
852
+ msgid "Height"
853
+ msgstr "Hoogte"
854
+
855
+ #: templates/fields/onoff.php:28
856
+ msgctxt "YES/NO button: use MAX 4 characters!"
857
+ msgid "YES"
858
+ msgstr "JA"
859
+
860
+ #: templates/fields/onoff.php:29
861
+ msgctxt "YES/NO button: use MAX 4 characters!"
862
+ msgid "NO"
863
+ msgstr "NEE"
864
+
865
+ #. translators: 1. Url to EN playlist.
866
+ #: templates/panel/help-tab.php:87
867
+ msgctxt "Help tab view all video link"
868
+ msgid ""
869
+ "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
870
+ "learn more >"
871
+ msgstr ""
872
+ "Bekijk de volledige <a href=\"%s\" target=\"_blank\">Playlist op Youtube</a> "
873
+ "om meer te weten te komen >"
874
+
875
+ #: templates/panel/help-tab.php:94
876
+ msgctxt "Help tab Watch Videotutorials link"
877
+ msgid "Videos are also available in:"
878
+ msgstr "Videos zijn ook beschikbaar in:"
879
+
880
+ #: templates/panel/help-tab.php:137
881
+ msgctxt "Help tab Watch Videotutorials link"
882
+ msgid "Watch our videotutorials"
883
+ msgstr "Bekijk onze video uitleg"
884
+
885
+ #: templates/panel/help-tab.php:140
886
+ msgctxt "Help tab Watch Videotutorials link"
887
+ msgid "We show you some use cases"
888
+ msgstr "We tonen je enkele gebruikscasussen"
889
+
890
+ #: templates/panel/help-tab.php:124
891
+ msgctxt "Help tab Read Documentation link"
892
+ msgid "Read the documentation"
893
+ msgstr "Lees de documentatie"
894
+
895
+ #: templates/panel/help-tab.php:127
896
+ msgctxt "Help tab Read Documentation link"
897
+ msgid "to learn from basics how it works"
898
+ msgstr "om vanaf de basis te leren hoe het werkt"
899
+
900
+ #: templates/panel/help-tab.php:150
901
+ msgctxt "Help tab view FAQs link"
902
+ msgid "Check the FAQs"
903
+ msgstr "Check de FAQs"
904
+
905
+ #: templates/panel/help-tab.php:153
906
+ msgctxt "Help tab view FAQs link"
907
+ msgid "to find answers to your doubts"
908
+ msgstr "om je twijfels te beantwoorden"
909
+
910
+ #: templates/panel/help-tab.php:169
911
+ msgctxt "Help tab FAQ title"
912
+ msgid "Last FAQs in our Help Center"
913
+ msgstr "Laatste FAQs in ons Help Center"
914
+
915
+ #: templates/panel/help-tab.php:183
916
+ msgctxt "Help tab FAQ link"
917
+ msgid "View all FAQs >"
918
+ msgstr "Bekijk alle FAQs >"
919
+
920
+ #: templates/panel/help-tab.php:192
921
+ msgctxt "Help tab submit ticket title"
922
+ msgid "Need help?"
923
+ msgstr "Hulp nodig?"
924
+
925
+ #: templates/panel/help-tab.php:195
926
+ msgctxt "Help tab submit ticket description"
927
+ msgid ""
928
+ "If you are experiencing some technical issue ask help to our developers. "
929
+ "Submit a ticket in our support desk and we will help you as soon as possible."
930
+ msgstr ""
931
+ "Als je een technisch probleem ondervindt, vraag dan hulp aan onze "
932
+ "developers. Je kunt een ticket indienen bij onze supportdesk en we helpen je "
933
+ "zo snel mogelijk verder."
934
+
935
+ #: templates/panel/help-tab.php:203
936
+ msgctxt "Help tab submit ticket button"
937
+ msgid "Submit a ticket"
938
+ msgstr "Verstuur een ticket"
939
+
940
+ #: templates/panel/premium-tab.php:30
941
+ msgctxt "Premium Tab"
942
+ msgid "Get the premium version to unlock advanced features"
943
+ msgstr "Neem de premium versie om geavanceerde opties te deblokkeren"
944
+
945
+ #: templates/panel/premium-tab.php:34
946
+ msgctxt "Premium Tab"
947
+ msgid "Get premium"
948
+ msgstr "Neem premium"
949
+
950
+ #: templates/panel/premium-tab.php:39
951
+ msgctxt "Premium Tab"
952
+ msgid "Plugin premium features images"
953
+ msgstr "Plugin premium opties afbeeldingen"
954
+
955
+ #. translators: alt attribute of main image tag.
956
+ #: templates/panel/premium-tab.php:51
957
+ msgctxt "Premium Tab"
958
+ msgid "And so much more!"
959
+ msgstr "En zo veel meer!"
960
+
961
+ #: templates/panel/premium-tab.php:53
962
+ msgctxt "Premium Tab"
963
+ msgid "Check the free vs premium features >"
964
+ msgstr "Bekijk de gratis vs premium opties >"
965
+
966
+ #: templates/panel/premium-tab.php:58
967
+ msgctxt "Premium Tab"
968
+ msgid "Get the premium version"
969
+ msgstr "Krijg de premium versie"
970
+
971
+ #: yit-functions.php:1925
972
+ msgctxt "Post action"
973
+ msgid "Preview"
974
+ msgstr "Voorbeeld"
975
+
976
+ #: yit-functions.php:1934
977
+ msgctxt "Post action"
978
+ msgid "View"
979
+ msgstr "Bekijken"
980
+
981
+ #: yit-functions.php:1945
982
+ msgctxt "Post action"
983
+ msgid "Edit"
984
+ msgstr "Bewerken"
985
+
986
+ #: yit-functions.php:1953
987
+ msgctxt "Post action"
988
+ msgid "Duplicate"
989
+ msgstr "Dupliceren"
990
+
991
+ #: yit-functions.php:1965
992
+ msgctxt "Post action"
993
+ msgid "Restore"
994
+ msgstr "Herstellen"
995
+
996
+ #: yit-functions.php:1973
997
+ msgctxt "Post action"
998
+ msgid "Trash"
999
+ msgstr "Prullenbak"
1000
+
1001
+ #: yit-functions.php:1990
1002
+ msgctxt "Post action"
1003
+ msgid "Delete Permanently"
1004
+ msgstr "Permanent verijwderen"
1005
+
1006
+ #: yit-functions.php:2087
1007
+ msgctxt "Term action"
1008
+ msgid "View"
1009
+ msgstr "Bekijken"
1010
+
1011
+ #: yit-functions.php:2097
1012
+ msgctxt "Term action"
1013
+ msgid "Edit"
1014
+ msgstr "Bewerken"
1015
+
1016
+ #: yit-functions.php:2105
1017
+ msgctxt "Term action"
1018
+ msgid "Duplicate"
1019
+ msgstr "Dupliceren"
1020
+
1021
+ #: yit-functions.php:2118
1022
+ msgctxt "Term action"
1023
+ msgid "Delete"
1024
+ msgstr "Verwijderen"
1025
+
1026
+ #: yit-plugin.php:84
1027
+ msgctxt "Plugin Row Meta"
1028
+ msgid "Live Demo"
1029
+ msgstr "Live Demo"
1030
+
1031
+ #: yit-plugin.php:88
1032
+ msgctxt "Plugin Row Meta"
1033
+ msgid "Documentation"
1034
+ msgstr "Documentatie"
1035
+
1036
+ #: yit-plugin.php:92
1037
+ msgctxt "Plugin Row Meta"
1038
+ msgid "Support"
1039
+ msgstr "Ondersteuning"
1040
+
1041
+ #: yit-plugin.php:96
1042
+ msgctxt "Plugin Row Meta"
1043
+ msgid "Premium version"
1044
+ msgstr "Premium versie"
1045
+
1046
+ #: yit-plugin.php:201
1047
+ msgctxt "Action links"
1048
+ msgid "Settings"
1049
+ msgstr "Instellingen"
plugin-fw/languages/yith-plugin-fw.pot CHANGED
@@ -1,977 +1,1013 @@
1
- # Copyright (C) 2021
2
- # This file is distributed under the same license as the package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: \n"
6
- "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2021-12-02 07:20:36+00:00\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=utf-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: YITH <info@yithemes.com>\n"
14
- "Language: en\n"
15
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
- "X-Poedit-Country: United States\n"
17
- "X-Poedit-SourceCharset: UTF-8\n"
18
- "X-Poedit-KeywordsList: "
19
- "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
20
- "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
21
- "X-Poedit-Basepath: ../\n"
22
- "X-Poedit-SearchPath-0: .\n"
23
- "X-Poedit-Bookmarks: \n"
24
- "X-Textdomain-Support: yes\n"
25
- "X-Generator: grunt-wp-i18n 1.0.3\n"
26
-
27
- #: includes/class-yit-assets.php:146 yit-functions.php:1979
28
- msgid "Confirm trash"
29
- msgstr ""
30
-
31
- #: includes/class-yit-assets.php:147
32
- msgid "Are you sure you want to trash the selected items?"
33
- msgstr ""
34
-
35
- #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
36
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
37
- #: yit-functions.php:1981 yit-functions.php:1999
38
- msgid "No"
39
- msgstr ""
40
-
41
- #: includes/class-yit-assets.php:150 yit-functions.php:1997
42
- #: yit-functions.php:2125
43
- msgid "Confirm delete"
44
- msgstr ""
45
-
46
- #: includes/class-yit-assets.php:151
47
- msgid "Are you sure you want to delete the selected items?"
48
- msgstr ""
49
-
50
- #: includes/class-yit-assets.php:151 yit-functions.php:1913
51
- #: yit-functions.php:2073
52
- msgid "This action cannot be undone and you will not be able to recover this data."
53
- msgstr ""
54
-
55
- #: includes/class-yit-assets.php:164
56
- msgid "Clear"
57
- msgstr ""
58
-
59
- #: includes/class-yit-assets.php:165
60
- msgid "Clear color"
61
- msgstr ""
62
-
63
- #: includes/class-yit-assets.php:166
64
- msgid "Default"
65
- msgstr ""
66
-
67
- #: includes/class-yit-assets.php:167
68
- msgid "Select default color"
69
- msgstr ""
70
-
71
- #: includes/class-yit-assets.php:168
72
- msgid "Select Color"
73
- msgstr ""
74
-
75
- #: includes/class-yit-assets.php:169
76
- msgid "Color value"
77
- msgstr ""
78
-
79
- #: includes/class-yit-help-desk.php:152
80
- msgid "There was an error with your request; please try again later."
81
- msgstr ""
82
-
83
- #: includes/class-yit-plugin-panel-woocommerce.php:426
84
- msgid "The changes you have made will be lost if you leave this page."
85
- msgstr ""
86
-
87
- #: includes/class-yit-plugin-panel.php:83
88
- msgid "Plugin Settings"
89
- msgstr ""
90
-
91
- #: includes/class-yit-plugin-panel.php:84
92
- msgid "Settings"
93
- msgstr ""
94
-
95
- #: includes/class-yit-plugin-panel.php:453
96
- #: includes/class-yit-plugin-panel.php:456
97
- msgid "How to install premium version"
98
- msgstr ""
99
-
100
- #: includes/class-yit-plugin-panel.php:654
101
- #: includes/class-yit-plugin-subpanel.php:132
102
- msgid "Save Changes"
103
- msgstr ""
104
-
105
- #: includes/class-yit-plugin-panel.php:659
106
- #: includes/class-yit-plugin-subpanel.php:136
107
- #: templates/panel/woocommerce/woocommerce-form.php:14
108
- msgid "If you continue with this action, you will reset all options in this page."
109
- msgstr ""
110
-
111
- #: includes/class-yit-plugin-panel.php:659
112
- #: includes/class-yit-plugin-subpanel.php:136
113
- #: templates/panel/woocommerce/woocommerce-form.php:14
114
- msgid "Are you sure?"
115
- msgstr ""
116
-
117
- #: includes/class-yit-plugin-panel.php:663
118
- #: includes/class-yit-plugin-subpanel.php:139
119
- msgid "Reset to default"
120
- msgstr ""
121
-
122
- #: includes/class-yit-plugin-panel.php:981
123
- msgid "The element you have entered already exists. Please, enter another name."
124
- msgstr ""
125
-
126
- #: includes/class-yit-plugin-panel.php:982
127
- msgid "Settings saved"
128
- msgstr ""
129
-
130
- #: includes/class-yit-plugin-panel.php:983
131
- msgid "Settings reset"
132
- msgstr ""
133
-
134
- #: includes/class-yit-plugin-panel.php:984
135
- msgid "Element deleted correctly."
136
- msgstr ""
137
-
138
- #: includes/class-yit-plugin-panel.php:985
139
- #: includes/class-yit-plugin-panel.php:986
140
- msgid "Element updated correctly."
141
- msgstr ""
142
-
143
- #: includes/class-yit-plugin-panel.php:987
144
- msgid "Database imported correctly."
145
- msgstr ""
146
-
147
- #: includes/class-yit-plugin-panel.php:988
148
- msgid "An error has occurred during import. Please try again."
149
- msgstr ""
150
-
151
- #: includes/class-yit-plugin-panel.php:989
152
- msgid "The added file is not valid."
153
- msgstr ""
154
-
155
- #: includes/class-yit-plugin-panel.php:990
156
- msgid "Sorry, import is disabled."
157
- msgstr ""
158
-
159
- #: includes/class-yit-plugin-panel.php:991
160
- msgid "Sorting successful."
161
- msgstr ""
162
-
163
- #: includes/class-yit-plugin-panel.php:1459
164
- msgid "We need your support"
165
- msgstr ""
166
-
167
- #: includes/class-yit-plugin-panel.php:1460
168
- msgid "to keep updating and improving the plugin. Please,"
169
- msgstr ""
170
-
171
- #: includes/class-yit-plugin-panel.php:1462
172
- msgid "help us by leaving a good review"
173
- msgstr ""
174
-
175
- #: includes/class-yit-plugin-panel.php:1463
176
- msgid ":) Thanks!"
177
- msgstr ""
178
-
179
- #: includes/class-yit-pointers.php:80
180
- msgid "Plugins Activated"
181
- msgstr ""
182
-
183
- #: includes/class-yit-pointers.php:81
184
- msgid ""
185
- "From now on, you can find all plugin options in YITH menu. Plugin "
186
- "customization settings will be available as a new entry in YITH menu."
187
- msgstr ""
188
-
189
- #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
190
- #. translators: 1. YITH site link; 2. WordPress site link.
191
- msgid "Discover all our plugins available on: %1$s and %2$s"
192
- msgstr ""
193
-
194
- #: includes/class-yit-pointers.php:96
195
- msgid "Plugins Upgraded"
196
- msgstr ""
197
-
198
- #: includes/class-yit-pointers.php:97
199
- msgid ""
200
- "From now on, you can find the option panel of YITH plugins in YITH menu. "
201
- "Every time one of our plugins is added, a new entry will be added to this "
202
- "menu. For example, after the update, plugin options (such as for YITH "
203
- "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved "
204
- "from previous location to YITH menu."
205
- msgstr ""
206
-
207
- #: includes/class-yith-dashboard.php:35
208
- msgid "YITH Latest Updates"
209
- msgstr ""
210
-
211
- #: includes/class-yith-dashboard.php:36
212
- msgid "Latest news from YITH Blog"
213
- msgstr ""
214
-
215
- #: includes/class-yith-dashboard.php:56
216
- msgid "RSS Error:"
217
- msgstr ""
218
-
219
- #: includes/class-yith-dashboard.php:63
220
- msgid ""
221
- "An error has occurred, which probably means the feed is down. Try again "
222
- "later."
223
- msgstr ""
224
-
225
- #: includes/class-yith-post-type-admin.php:286
226
- #. translators: %s is the name of the post type (example Back to "Membership
227
- #. Plans").
228
- msgid "Back to \"%s\""
229
- msgstr ""
230
-
231
- #: includes/class-yith-post-type-admin.php:286
232
- msgid "Back to the list"
233
- msgstr ""
234
-
235
- #: includes/class-yith-system-status.php:110
236
- msgid "WordPress Version"
237
- msgstr ""
238
-
239
- #: includes/class-yith-system-status.php:111
240
- msgid "WooCommerce Version"
241
- msgstr ""
242
-
243
- #: includes/class-yith-system-status.php:112
244
- msgid "Available Memory"
245
- msgstr ""
246
-
247
- #: includes/class-yith-system-status.php:113
248
- msgid "PHP Version"
249
- msgstr ""
250
-
251
- #: includes/class-yith-system-status.php:114
252
- msgid "TLS Version"
253
- msgstr ""
254
-
255
- #: includes/class-yith-system-status.php:115
256
- msgid "WordPress Cron"
257
- msgstr ""
258
-
259
- #: includes/class-yith-system-status.php:116
260
- msgid "SimpleXML"
261
- msgstr ""
262
-
263
- #: includes/class-yith-system-status.php:117
264
- msgid "MultiByte String"
265
- msgstr ""
266
-
267
- #: includes/class-yith-system-status.php:118
268
- msgid "ImageMagick Version"
269
- msgstr ""
270
-
271
- #: includes/class-yith-system-status.php:119
272
- msgid "GD Library"
273
- msgstr ""
274
-
275
- #: includes/class-yith-system-status.php:120
276
- msgid "Iconv Module"
277
- msgstr ""
278
-
279
- #: includes/class-yith-system-status.php:121
280
- msgid "OPCache Save Comments"
281
- msgstr ""
282
-
283
- #: includes/class-yith-system-status.php:122
284
- msgid "URL FOpen"
285
- msgstr ""
286
-
287
- #: includes/class-yith-system-status.php:140
288
- #: includes/class-yith-system-status.php:141
289
- #: templates/sysinfo/system-information-panel.php:11
290
- msgid "System Status"
291
- msgstr ""
292
-
293
- #: includes/class-yith-system-status.php:183
294
- msgid "YITH Plugins"
295
- msgstr ""
296
-
297
- #: includes/class-yith-system-status.php:191
298
- msgid "WooCommerce"
299
- msgstr ""
300
-
301
- #: includes/class-yith-system-status.php:342
302
- msgid "Warning!"
303
- msgstr ""
304
-
305
- #: includes/class-yith-system-status.php:346
306
- #. translators: %1$s open link tag, %2$s open link tag
307
- msgid ""
308
- "The system check has detected some compatibility issues on your "
309
- "installation.%1$sClick here%2$s to know more"
310
- msgstr ""
311
-
312
- #: includes/class-yith-system-status.php:488
313
- msgid "Enabled"
314
- msgstr ""
315
-
316
- #: includes/class-yith-system-status.php:488
317
- msgid "Disabled"
318
- msgstr ""
319
-
320
- #: includes/class-yith-system-status.php:493
321
- msgid "N/A"
322
- msgstr ""
323
-
324
- #: includes/class-yith-system-status.php:520
325
- #. translators: %1$s plugin name, %2$s requirement name
326
- msgid "%1$s needs %2$s enabled"
327
- msgstr ""
328
-
329
- #: includes/class-yith-system-status.php:523
330
- #. translators: %1$s plugin name, %2$s required memory amount
331
- msgid "%1$s needs at least %2$s of available memory"
332
- msgstr ""
333
-
334
- #: includes/class-yith-system-status.php:526
335
- #. translators: %1$s plugin name, %2$s version number
336
- msgid "%1$s needs at least %2$s version"
337
- msgstr ""
338
-
339
- #: includes/class-yith-system-status.php:550
340
- msgid ""
341
- "Update it to the latest version in order to benefit of all new features and "
342
- "security updates."
343
- msgstr ""
344
-
345
- #: includes/class-yith-system-status.php:554
346
- #: includes/class-yith-system-status.php:560
347
- msgid "Contact your hosting company in order to update it."
348
- msgstr ""
349
-
350
- #: includes/class-yith-system-status.php:558
351
- msgid "Contact your hosting company in order to install it."
352
- msgstr ""
353
-
354
- #: includes/class-yith-system-status.php:565
355
- #. translators: %1$s code, %2$s file name
356
- msgid "Remove %1$s from %2$s file"
357
- msgstr ""
358
-
359
- #: includes/class-yith-system-status.php:573
360
- msgid "Contact your hosting company in order to enable it."
361
- msgstr ""
362
-
363
- #: includes/class-yith-system-status.php:577
364
- #: includes/class-yith-system-status.php:600
365
- #. translators: %1$s opening link tag, %2$s closing link tag
366
- msgid ""
367
- "Read more %1$shere%2$s or contact your hosting company in order to increase "
368
- "it."
369
- msgstr ""
370
-
371
- #: includes/class-yith-system-status.php:597
372
- #. translators: %s recommended memory amount
373
- msgid ""
374
- "For optimal functioning of our plugins, we suggest setting at least %s of "
375
- "available memory"
376
- msgstr ""
377
-
378
- #: includes/class-yith-system-status.php:605
379
- #. translators: %1$s TLS label, %2$s cURL label
380
- msgid ""
381
- "The system check cannot determine which %1$s version is installed because "
382
- "%2$s module is disabled. Ask your hosting company to enable it."
383
- msgstr ""
384
-
385
- #: includes/class-yith-system-status.php:608
386
- #. translators: %1$s TLS label
387
- msgid ""
388
- "The system check cannot determine which %1$s version is installed due to a "
389
- "connection issue between your site and our server."
390
- msgstr ""
391
-
392
- #: templates/fields/ajax-customers.php:41
393
- msgid "Search Customers"
394
- msgstr ""
395
-
396
- #: templates/fields/ajax-customers.php:68
397
- #: templates/fields/ajax-customers.php:79
398
- #. translators: 1. user display name; 2. user ID; 3. user email.
399
- msgid "%1$s (#%2$s &ndash; %3$s)"
400
- msgstr ""
401
-
402
- #: templates/fields/ajax-posts.php:41
403
- msgid "Search Posts"
404
- msgstr ""
405
-
406
- #: templates/fields/ajax-products.php:14
407
- msgid "Search Product"
408
- msgstr ""
409
-
410
- #: templates/fields/ajax-terms.php:41
411
- msgid "Search Categories"
412
- msgstr ""
413
-
414
- #: templates/fields/customtabs.php:17
415
- msgid "Close all"
416
- msgstr ""
417
-
418
- #: templates/fields/customtabs.php:17
419
- msgid "Expand all"
420
- msgstr ""
421
-
422
- #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
423
- msgid "Remove"
424
- msgstr ""
425
-
426
- #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
427
- msgid "Name"
428
- msgstr ""
429
-
430
- #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
431
- msgid "Value"
432
- msgstr ""
433
-
434
- #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
435
- msgid "Content of the tab. (HTML is supported)"
436
- msgstr ""
437
-
438
- #: templates/fields/customtabs.php:52
439
- msgid "Add custom product tab"
440
- msgstr ""
441
-
442
- #: templates/fields/customtabs.php:93
443
- msgid "Do you want to remove the custom tab?"
444
- msgstr ""
445
-
446
- #: templates/fields/date-format.php:65
447
- msgid "Custom:"
448
- msgstr ""
449
-
450
- #: templates/fields/date-format.php:70
451
- msgid "Preview:"
452
- msgstr ""
453
-
454
- #: templates/fields/icons.php:78
455
- msgid "Set Default"
456
- msgstr ""
457
-
458
- #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
459
- msgid "Delete image"
460
- msgstr ""
461
-
462
- #: templates/fields/image-gallery.php:37
463
- msgid "Add Images to Gallery"
464
- msgstr ""
465
-
466
- #: templates/fields/image-gallery.php:38
467
- msgid "Add to gallery"
468
- msgstr ""
469
-
470
- #: templates/fields/image-gallery.php:39
471
- msgid "Add images"
472
- msgstr ""
473
-
474
- #: templates/fields/image-gallery.php:41
475
- msgid "Delete"
476
- msgstr ""
477
-
478
- #: templates/fields/select-buttons.php:19
479
- msgid "Add All"
480
- msgstr ""
481
-
482
- #: templates/fields/select-buttons.php:20
483
- msgid "Remove All"
484
- msgstr ""
485
-
486
- #: templates/fields/sidebars.php:20
487
- msgid "Left sidebar"
488
- msgstr ""
489
-
490
- #: templates/fields/sidebars.php:23
491
- msgid "Right sidebar"
492
- msgstr ""
493
-
494
- #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
495
- msgid "No sidebar"
496
- msgstr ""
497
-
498
- #: templates/fields/sidebars.php:39
499
- msgid "Left Sidebar"
500
- msgstr ""
501
-
502
- #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
503
- msgid "Choose a sidebar"
504
- msgstr ""
505
-
506
- #: templates/fields/sidebars.php:54
507
- msgid "Right Sidebar"
508
- msgstr ""
509
-
510
- #: templates/fields/upload.php:34
511
- #: templates/panel/woocommerce/woocommerce-upload.php:37
512
- msgid "Upload"
513
- msgstr ""
514
-
515
- #: templates/fields/upload.php:39
516
- msgid "Reset"
517
- msgstr ""
518
-
519
- #: templates/panel/woocommerce/woocommerce-form.php:28
520
- #: templates/panel/woocommerce/woocommerce-form.php:32
521
- msgid "Save Options"
522
- msgstr ""
523
-
524
- #: templates/panel/woocommerce/woocommerce-form.php:32
525
- msgid "Options Saved"
526
- msgstr ""
527
-
528
- #: templates/panel/woocommerce/woocommerce-form.php:38
529
- msgid "Reset Defaults"
530
- msgstr ""
531
-
532
- #: templates/sysinfo/system-information-panel.php:12
533
- msgid "PHPInfo"
534
- msgstr ""
535
-
536
- #: templates/sysinfo/system-information-panel.php:13
537
- #: templates/sysinfo/tabs/error-log.php:25
538
- msgid "Log Files"
539
- msgstr ""
540
-
541
- #: templates/sysinfo/system-information-panel.php:22
542
- msgid "YITH System Information"
543
- msgstr ""
544
-
545
- #: templates/sysinfo/tabs/error-log.php:13
546
- msgid "WP debug.log file"
547
- msgstr ""
548
-
549
- #: templates/sysinfo/tabs/error-log.php:18
550
- msgid "PHP error_log file"
551
- msgstr ""
552
-
553
- #: templates/sysinfo/tabs/error-log.php:60
554
- msgid "Download"
555
- msgstr ""
556
-
557
- #: templates/sysinfo/tabs/error-log.php:72
558
- msgid "The file size exceeds 8 megabytes so it must be downloaded"
559
- msgstr ""
560
-
561
- #: templates/sysinfo/tabs/error-log.php:96
562
- #. translators: %s file name.
563
- msgid ""
564
- "No Log file available. Enable the WordPress debug by adding this in the %s "
565
- "file of your installation"
566
- msgstr ""
567
-
568
- #: templates/sysinfo/tabs/error-log.php:105
569
- msgid "Copied!"
570
- msgstr ""
571
-
572
- #: templates/sysinfo/tabs/error-log.php:105
573
- msgid "Copy Code"
574
- msgstr ""
575
-
576
- #: templates/sysinfo/tabs/main.php:17
577
- msgid "Site Info"
578
- msgstr ""
579
-
580
- #: templates/sysinfo/tabs/main.php:22
581
- msgid "Site URL"
582
- msgstr ""
583
-
584
- #: templates/sysinfo/tabs/main.php:31
585
- msgid "Output IP Address"
586
- msgstr ""
587
-
588
- #: templates/sysinfo/tabs/main.php:39
589
- msgid "Defined WP_CACHE"
590
- msgstr ""
591
-
592
- #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
593
- msgid "Yes"
594
- msgstr ""
595
-
596
- #: templates/sysinfo/tabs/main.php:47
597
- msgid "External object cache"
598
- msgstr ""
599
-
600
- #: templates/sysinfo/tabs/main.php:55
601
- msgid "YITH Plugin Framework Version"
602
- msgstr ""
603
-
604
- #: templates/sysinfo/tabs/main.php:64
605
- #. translators: %s is the name of the plugin that is loading the framework.
606
- msgid "loaded by %s"
607
- msgstr ""
608
-
609
- #: templates/sysinfo/tabs/main.php:73
610
- msgid "Plugins Requirements"
611
- msgstr ""
612
-
613
- #: templates/sysinfo/tabs/main.php:108
614
- msgid "Database Info"
615
- msgstr ""
616
-
617
- #: templates/sysinfo/tabs/main.php:113
618
- msgid "MySQL version"
619
- msgstr ""
620
-
621
- #: templates/sysinfo/tabs/main.php:123
622
- #. Translators: %s: Codex link.
623
- msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
624
- msgstr ""
625
-
626
- #: templates/sysinfo/tabs/main.php:123
627
- msgid "WordPress requirements"
628
- msgstr ""
629
-
630
- #: templates/sysinfo/tabs/main.php:130
631
- msgid "Total Database Size"
632
- msgstr ""
633
-
634
- #: templates/sysinfo/tabs/main.php:138
635
- msgid "Database Data Size"
636
- msgstr ""
637
-
638
- #: templates/sysinfo/tabs/main.php:146
639
- msgid "Database Index Size"
640
- msgstr ""
641
-
642
- #: templates/sysinfo/tabs/main.php:154
643
- msgid "Database Free Size"
644
- msgstr ""
645
-
646
- #: templates/sysinfo/tabs/main.php:168
647
- #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
648
- #. Engine.
649
- msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
650
- msgstr ""
651
-
652
- #: yit-functions.php:1911
653
- #. translators: %s is the title of the post object.
654
- msgid "Are you sure you want to move \"%s\" to trash?"
655
- msgstr ""
656
-
657
- #: yit-functions.php:1913 yit-functions.php:2073
658
- #. translators: %s is the title of the post object.
659
- msgid "Are you sure you want to delete \"%s\"?"
660
- msgstr ""
661
-
662
- #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
663
- msgid "Further actions"
664
- msgstr ""
665
-
666
- #: yit-plugin.php:205
667
- msgid "License"
668
- msgstr ""
669
-
670
- #. Author of the plugin/theme
671
- msgid "YITH"
672
- msgstr ""
673
-
674
- #: includes/builders/elementor/class-yith-elementor-widget.php:252
675
- #. translators: %s it the Elementor Widget title.
676
- msgctxt "Elementor Widget - section title"
677
- msgid "%s - Options"
678
- msgstr ""
679
-
680
- #: includes/builders/gutenberg/class-yith-gutenberg.php:149
681
- msgctxt "[gutenberg]: Category Name"
682
- msgid "YITH"
683
- msgstr ""
684
-
685
- #: includes/class-yit-assets.php:134
686
- msgctxt "Button text"
687
- msgid "Confirm"
688
- msgstr ""
689
-
690
- #: includes/class-yit-assets.php:135
691
- msgctxt "Button text"
692
- msgid "Cancel"
693
- msgstr ""
694
-
695
- #: includes/class-yit-assets.php:148 yit-functions.php:1982
696
- msgctxt "Trash confirmation action"
697
- msgid "Yes, move to trash"
698
- msgstr ""
699
-
700
- #: includes/class-yit-assets.php:152 yit-functions.php:2000
701
- #: yit-functions.php:2127
702
- msgctxt "Delete confirmation action"
703
- msgid "Yes, delete"
704
- msgstr ""
705
-
706
- #: includes/class-yit-plugin-panel.php:490
707
- msgctxt "Help tab name"
708
- msgid "Help"
709
- msgstr ""
710
-
711
- #: includes/class-yit-plugin-panel.php:800
712
- #. translators: 1. Plugin name.
713
- msgctxt "Help tab default title"
714
- msgid "Thank you for purchasing %s!"
715
- msgstr ""
716
-
717
- #: includes/class-yit-plugin-panel.php:801
718
- msgctxt "Help tab default description"
719
- msgid "We want to help you to enjoy a wonderful experience with all our products."
720
- msgstr ""
721
-
722
- #: includes/class-yith-dashboard.php:96
723
- msgctxt "Plugin FW"
724
- msgid "View Changelog"
725
- msgstr ""
726
-
727
- #: includes/class-yith-dashboard.php:97
728
- msgctxt "Plugin FW"
729
- msgid "Latest update released on"
730
- msgstr ""
731
-
732
- #: includes/class-yith-dashboard.php:137
733
- msgctxt "Button label"
734
- msgid "Close"
735
- msgstr ""
736
-
737
- #: includes/privacy/class-yith-privacy.php:61
738
- msgctxt "Privacy Policy Guide Title"
739
- msgid "YITH Plugins"
740
- msgstr ""
741
-
742
- #: includes/privacy/class-yith-privacy.php:93
743
- msgctxt "Privacy Policy Content"
744
- msgid ""
745
- "This sample language includes the basics around what personal data your "
746
- "store may be collecting, storing and sharing, as well as who may have "
747
- "access to that data. Depending on what settings are enabled and which "
748
- "additional plugins are used, the specific information shared by your store "
749
- "will vary. We recommend consulting with a lawyer when deciding what "
750
- "information to disclose on your privacy policy."
751
- msgstr ""
752
-
753
- #: includes/privacy/class-yith-privacy.php:97
754
- msgctxt "Privacy Policy Content"
755
- msgid "What we collect and store"
756
- msgstr ""
757
-
758
- #: includes/privacy/class-yith-privacy.php:100
759
- msgctxt "Privacy Policy Content"
760
- msgid "Who on our team has access"
761
- msgstr ""
762
-
763
- #: includes/privacy/class-yith-privacy.php:103
764
- msgctxt "Privacy Policy Content"
765
- msgid "What we share with others"
766
- msgstr ""
767
-
768
- #: includes/privacy/class-yith-privacy.php:106
769
- msgctxt "Privacy Policy Content"
770
- msgid "Payments"
771
- msgstr ""
772
-
773
- #: templates/fields/copy-to-clipboard.php:41
774
- msgctxt "Copy-to-clipboard message"
775
- msgid "Copied!"
776
- msgstr ""
777
-
778
- #: templates/fields/copy-to-clipboard.php:45
779
- msgctxt "Copy-to-clipboard button text"
780
- msgid "Copy"
781
- msgstr ""
782
-
783
- #: templates/fields/dimensions.php:13
784
- msgctxt "Position in the \"Dimensions\" field"
785
- msgid "Top"
786
- msgstr ""
787
-
788
- #: templates/fields/dimensions.php:14
789
- msgctxt "Position in the \"Dimensions\" field"
790
- msgid "Right"
791
- msgstr ""
792
-
793
- #: templates/fields/dimensions.php:15
794
- msgctxt "Position in the \"Dimensions\" field"
795
- msgid "Bottom"
796
- msgstr ""
797
-
798
- #: templates/fields/dimensions.php:16
799
- msgctxt "Position in the \"Dimensions\" field"
800
- msgid "Left"
801
- msgstr ""
802
-
803
- #: templates/fields/dimensions.php:94
804
- msgctxt "Tooltip in the \"Dimensions\" field"
805
- msgid "Link values together"
806
- msgstr ""
807
-
808
- #: templates/fields/image-dimensions.php:18
809
- msgctxt "Image width field label"
810
- msgid "Width"
811
- msgstr ""
812
-
813
- #: templates/fields/image-dimensions.php:23
814
- msgctxt "Image height field label"
815
- msgid "Height"
816
- msgstr ""
817
-
818
- #: templates/fields/onoff.php:28
819
- msgctxt "YES/NO button: use MAX 4 characters!"
820
- msgid "YES"
821
- msgstr ""
822
-
823
- #: templates/fields/onoff.php:29
824
- msgctxt "YES/NO button: use MAX 4 characters!"
825
- msgid "NO"
826
- msgstr ""
827
-
828
- #: templates/panel/help-tab.php:87
829
- #. translators: 1. Url to EN playlist.
830
- msgctxt "Help tab view all video link"
831
- msgid ""
832
- "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
833
- "learn more >"
834
- msgstr ""
835
-
836
- #: templates/panel/help-tab.php:94
837
- msgctxt "Help tab Watch Videotutorials link"
838
- msgid "Videos are also available in:"
839
- msgstr ""
840
-
841
- #: templates/panel/help-tab.php:137
842
- msgctxt "Help tab Watch Videotutorials link"
843
- msgid "Watch our videotutorials"
844
- msgstr ""
845
-
846
- #: templates/panel/help-tab.php:140
847
- msgctxt "Help tab Watch Videotutorials link"
848
- msgid "We show you some use cases"
849
- msgstr ""
850
-
851
- #: templates/panel/help-tab.php:124
852
- msgctxt "Help tab Read Documentation link"
853
- msgid "Read the documentation"
854
- msgstr ""
855
-
856
- #: templates/panel/help-tab.php:127
857
- msgctxt "Help tab Read Documentation link"
858
- msgid "to learn from basics how it works"
859
- msgstr ""
860
-
861
- #: templates/panel/help-tab.php:150
862
- msgctxt "Help tab view FAQs link"
863
- msgid "Check the FAQs"
864
- msgstr ""
865
-
866
- #: templates/panel/help-tab.php:153
867
- msgctxt "Help tab view FAQs link"
868
- msgid "to find answers to your doubts"
869
- msgstr ""
870
-
871
- #: templates/panel/help-tab.php:169
872
- msgctxt "Help tab FAQ title"
873
- msgid "Last FAQs in our Help Center"
874
- msgstr ""
875
-
876
- #: templates/panel/help-tab.php:183
877
- msgctxt "Help tab FAQ link"
878
- msgid "View all FAQs >"
879
- msgstr ""
880
-
881
- #: templates/panel/help-tab.php:192
882
- msgctxt "Help tab submit ticket title"
883
- msgid "Need help?"
884
- msgstr ""
885
-
886
- #: templates/panel/help-tab.php:195
887
- msgctxt "Help tab submit ticket description"
888
- msgid ""
889
- "If you are experiencing some technical issue ask help to our developers. "
890
- "Submit a ticket in our support desk and we will help you as soon as "
891
- "possible."
892
- msgstr ""
893
-
894
- #: templates/panel/help-tab.php:203
895
- msgctxt "Help tab submit ticket button"
896
- msgid "Submit a ticket"
897
- msgstr ""
898
-
899
- #: yit-functions.php:1925
900
- msgctxt "Post action"
901
- msgid "Preview"
902
- msgstr ""
903
-
904
- #: yit-functions.php:1934
905
- msgctxt "Post action"
906
- msgid "View"
907
- msgstr ""
908
-
909
- #: yit-functions.php:1945
910
- msgctxt "Post action"
911
- msgid "Edit"
912
- msgstr ""
913
-
914
- #: yit-functions.php:1953
915
- msgctxt "Post action"
916
- msgid "Duplicate"
917
- msgstr ""
918
-
919
- #: yit-functions.php:1965
920
- msgctxt "Post action"
921
- msgid "Restore"
922
- msgstr ""
923
-
924
- #: yit-functions.php:1973
925
- msgctxt "Post action"
926
- msgid "Trash"
927
- msgstr ""
928
-
929
- #: yit-functions.php:1990
930
- msgctxt "Post action"
931
- msgid "Delete Permanently"
932
- msgstr ""
933
-
934
- #: yit-functions.php:2087
935
- msgctxt "Term action"
936
- msgid "View"
937
- msgstr ""
938
-
939
- #: yit-functions.php:2097
940
- msgctxt "Term action"
941
- msgid "Edit"
942
- msgstr ""
943
-
944
- #: yit-functions.php:2105
945
- msgctxt "Term action"
946
- msgid "Duplicate"
947
- msgstr ""
948
-
949
- #: yit-functions.php:2118
950
- msgctxt "Term action"
951
- msgid "Delete"
952
- msgstr ""
953
-
954
- #: yit-plugin.php:84
955
- msgctxt "Plugin Row Meta"
956
- msgid "Live Demo"
957
- msgstr ""
958
-
959
- #: yit-plugin.php:88
960
- msgctxt "Plugin Row Meta"
961
- msgid "Documentation"
962
- msgstr ""
963
-
964
- #: yit-plugin.php:92
965
- msgctxt "Plugin Row Meta"
966
- msgid "Support"
967
- msgstr ""
968
-
969
- #: yit-plugin.php:96
970
- msgctxt "Plugin Row Meta"
971
- msgid "Premium version"
972
- msgstr ""
973
-
974
- #: yit-plugin.php:201
975
- msgctxt "Action links"
976
- msgid "Settings"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
977
  msgstr ""
1
+ # Copyright (C) 2021
2
+ # This file is distributed under the same license as the package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: \n"
6
+ "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-12-13 14:46:02+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: YITH <info@yithemes.com>\n"
14
+ "Language: en\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "X-Poedit-Country: United States\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: "
19
+ "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
20
+ "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
21
+ "X-Poedit-Basepath: ../\n"
22
+ "X-Poedit-SearchPath-0: .\n"
23
+ "X-Poedit-Bookmarks: \n"
24
+ "X-Textdomain-Support: yes\n"
25
+ "X-Generator: grunt-wp-i18n 1.0.3\n"
26
+
27
+ #: includes/class-yit-assets.php:146 yit-functions.php:1979
28
+ msgid "Confirm trash"
29
+ msgstr ""
30
+
31
+ #: includes/class-yit-assets.php:147
32
+ msgid "Are you sure you want to trash the selected items?"
33
+ msgstr ""
34
+
35
+ #: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
36
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
37
+ #: yit-functions.php:1981 yit-functions.php:1999
38
+ msgid "No"
39
+ msgstr ""
40
+
41
+ #: includes/class-yit-assets.php:150 yit-functions.php:1997
42
+ #: yit-functions.php:2125
43
+ msgid "Confirm delete"
44
+ msgstr ""
45
+
46
+ #: includes/class-yit-assets.php:151
47
+ msgid "Are you sure you want to delete the selected items?"
48
+ msgstr ""
49
+
50
+ #: includes/class-yit-assets.php:151 yit-functions.php:1913
51
+ #: yit-functions.php:2073
52
+ msgid "This action cannot be undone and you will not be able to recover this data."
53
+ msgstr ""
54
+
55
+ #: includes/class-yit-assets.php:164
56
+ msgid "Clear"
57
+ msgstr ""
58
+
59
+ #: includes/class-yit-assets.php:165
60
+ msgid "Clear color"
61
+ msgstr ""
62
+
63
+ #: includes/class-yit-assets.php:166
64
+ msgid "Default"
65
+ msgstr ""
66
+
67
+ #: includes/class-yit-assets.php:167
68
+ msgid "Select default color"
69
+ msgstr ""
70
+
71
+ #: includes/class-yit-assets.php:168
72
+ msgid "Select Color"
73
+ msgstr ""
74
+
75
+ #: includes/class-yit-assets.php:169
76
+ msgid "Color value"
77
+ msgstr ""
78
+
79
+ #: includes/class-yit-help-desk.php:152
80
+ msgid "There was an error with your request; please try again later."
81
+ msgstr ""
82
+
83
+ #: includes/class-yit-plugin-panel-woocommerce.php:430
84
+ msgid "The changes you have made will be lost if you leave this page."
85
+ msgstr ""
86
+
87
+ #: includes/class-yit-plugin-panel.php:83
88
+ msgid "Plugin Settings"
89
+ msgstr ""
90
+
91
+ #: includes/class-yit-plugin-panel.php:84
92
+ msgid "Settings"
93
+ msgstr ""
94
+
95
+ #: includes/class-yit-plugin-panel.php:455
96
+ #: includes/class-yit-plugin-panel.php:458
97
+ msgid "How to install premium version"
98
+ msgstr ""
99
+
100
+ #: includes/class-yit-plugin-panel.php:659
101
+ #: includes/class-yit-plugin-subpanel.php:132
102
+ msgid "Save Changes"
103
+ msgstr ""
104
+
105
+ #: includes/class-yit-plugin-panel.php:664
106
+ #: includes/class-yit-plugin-subpanel.php:136
107
+ #: templates/panel/woocommerce/woocommerce-form.php:14
108
+ msgid "If you continue with this action, you will reset all options in this page."
109
+ msgstr ""
110
+
111
+ #: includes/class-yit-plugin-panel.php:664
112
+ #: includes/class-yit-plugin-subpanel.php:136
113
+ #: templates/panel/woocommerce/woocommerce-form.php:14
114
+ msgid "Are you sure?"
115
+ msgstr ""
116
+
117
+ #: includes/class-yit-plugin-panel.php:668
118
+ #: includes/class-yit-plugin-subpanel.php:139
119
+ msgid "Reset to default"
120
+ msgstr ""
121
+
122
+ #: includes/class-yit-plugin-panel.php:1047
123
+ msgid "The element you have entered already exists. Please, enter another name."
124
+ msgstr ""
125
+
126
+ #: includes/class-yit-plugin-panel.php:1048
127
+ msgid "Settings saved"
128
+ msgstr ""
129
+
130
+ #: includes/class-yit-plugin-panel.php:1049
131
+ msgid "Settings reset"
132
+ msgstr ""
133
+
134
+ #: includes/class-yit-plugin-panel.php:1050
135
+ msgid "Element deleted correctly."
136
+ msgstr ""
137
+
138
+ #: includes/class-yit-plugin-panel.php:1051
139
+ #: includes/class-yit-plugin-panel.php:1052
140
+ msgid "Element updated correctly."
141
+ msgstr ""
142
+
143
+ #: includes/class-yit-plugin-panel.php:1053
144
+ msgid "Database imported correctly."
145
+ msgstr ""
146
+
147
+ #: includes/class-yit-plugin-panel.php:1054
148
+ msgid "An error has occurred during import. Please try again."
149
+ msgstr ""
150
+
151
+ #: includes/class-yit-plugin-panel.php:1055
152
+ msgid "The added file is not valid."
153
+ msgstr ""
154
+
155
+ #: includes/class-yit-plugin-panel.php:1056
156
+ msgid "Sorry, import is disabled."
157
+ msgstr ""
158
+
159
+ #: includes/class-yit-plugin-panel.php:1057
160
+ msgid "Sorting successful."
161
+ msgstr ""
162
+
163
+ #: includes/class-yit-plugin-panel.php:1525
164
+ msgid "We need your support"
165
+ msgstr ""
166
+
167
+ #: includes/class-yit-plugin-panel.php:1526
168
+ msgid "to keep updating and improving the plugin. Please,"
169
+ msgstr ""
170
+
171
+ #: includes/class-yit-plugin-panel.php:1528
172
+ msgid "help us by leaving a good review"
173
+ msgstr ""
174
+
175
+ #: includes/class-yit-plugin-panel.php:1529
176
+ msgid ":) Thanks!"
177
+ msgstr ""
178
+
179
+ #: includes/class-yit-pointers.php:80
180
+ msgid "Plugins Activated"
181
+ msgstr ""
182
+
183
+ #: includes/class-yit-pointers.php:81
184
+ msgid ""
185
+ "From now on, you can find all plugin options in YITH menu. Plugin "
186
+ "customization settings will be available as a new entry in YITH menu."
187
+ msgstr ""
188
+
189
+ #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
190
+ #. translators: 1. YITH site link; 2. WordPress site link.
191
+ msgid "Discover all our plugins available on: %1$s and %2$s"
192
+ msgstr ""
193
+
194
+ #: includes/class-yit-pointers.php:96
195
+ msgid "Plugins Upgraded"
196
+ msgstr ""
197
+
198
+ #: includes/class-yit-pointers.php:97
199
+ msgid ""
200
+ "From now on, you can find the option panel of YITH plugins in YITH menu. "
201
+ "Every time one of our plugins is added, a new entry will be added to this "
202
+ "menu. For example, after the update, plugin options (such as for YITH "
203
+ "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved "
204
+ "from previous location to YITH menu."
205
+ msgstr ""
206
+
207
+ #: includes/class-yith-dashboard.php:35
208
+ msgid "YITH Latest Updates"
209
+ msgstr ""
210
+
211
+ #: includes/class-yith-dashboard.php:36
212
+ msgid "Latest news from YITH Blog"
213
+ msgstr ""
214
+
215
+ #: includes/class-yith-dashboard.php:56
216
+ msgid "RSS Error:"
217
+ msgstr ""
218
+
219
+ #: includes/class-yith-dashboard.php:63
220
+ msgid ""
221
+ "An error has occurred, which probably means the feed is down. Try again "
222
+ "later."
223
+ msgstr ""
224
+
225
+ #: includes/class-yith-post-type-admin.php:286
226
+ #. translators: %s is the name of the post type (example Back to "Membership
227
+ #. Plans").
228
+ msgid "Back to \"%s\""
229
+ msgstr ""
230
+
231
+ #: includes/class-yith-post-type-admin.php:286
232
+ msgid "Back to the list"
233
+ msgstr ""
234
+
235
+ #: includes/class-yith-system-status.php:110
236
+ msgid "WordPress Version"
237
+ msgstr ""
238
+
239
+ #: includes/class-yith-system-status.php:111
240
+ msgid "WooCommerce Version"
241
+ msgstr ""
242
+
243
+ #: includes/class-yith-system-status.php:112
244
+ msgid "Available Memory"
245
+ msgstr ""
246
+
247
+ #: includes/class-yith-system-status.php:113
248
+ msgid "PHP Version"
249
+ msgstr ""
250
+
251
+ #: includes/class-yith-system-status.php:114
252
+ msgid "TLS Version"
253
+ msgstr ""
254
+
255
+ #: includes/class-yith-system-status.php:115
256
+ msgid "WordPress Cron"
257
+ msgstr ""
258
+
259
+ #: includes/class-yith-system-status.php:116
260
+ msgid "SimpleXML"
261
+ msgstr ""
262
+
263
+ #: includes/class-yith-system-status.php:117
264
+ msgid "MultiByte String"
265
+ msgstr ""
266
+
267
+ #: includes/class-yith-system-status.php:118
268
+ msgid "ImageMagick Version"
269
+ msgstr ""
270
+
271
+ #: includes/class-yith-system-status.php:119
272
+ msgid "GD Library"
273
+ msgstr ""
274
+
275
+ #: includes/class-yith-system-status.php:120
276
+ msgid "Iconv Module"
277
+ msgstr ""
278
+
279
+ #: includes/class-yith-system-status.php:121
280
+ msgid "OPCache Save Comments"
281
+ msgstr ""
282
+
283
+ #: includes/class-yith-system-status.php:122
284
+ msgid "URL FOpen"
285
+ msgstr ""
286
+
287
+ #: includes/class-yith-system-status.php:140
288
+ #: includes/class-yith-system-status.php:141
289
+ #: templates/sysinfo/system-information-panel.php:11
290
+ msgid "System Status"
291
+ msgstr ""
292
+
293
+ #: includes/class-yith-system-status.php:183
294
+ msgid "YITH Plugins"
295
+ msgstr ""
296
+
297
+ #: includes/class-yith-system-status.php:191
298
+ msgid "WooCommerce"
299
+ msgstr ""
300
+
301
+ #: includes/class-yith-system-status.php:342
302
+ msgid "Warning!"
303
+ msgstr ""
304
+
305
+ #: includes/class-yith-system-status.php:346
306
+ #. translators: %1$s open link tag, %2$s open link tag
307
+ msgid ""
308
+ "The system check has detected some compatibility issues on your "
309
+ "installation.%1$sClick here%2$s to know more"
310
+ msgstr ""
311
+
312
+ #: includes/class-yith-system-status.php:488
313
+ msgid "Enabled"
314
+ msgstr ""
315
+
316
+ #: includes/class-yith-system-status.php:488
317
+ msgid "Disabled"
318
+ msgstr ""
319
+
320
+ #: includes/class-yith-system-status.php:493
321
+ msgid "N/A"
322
+ msgstr ""
323
+
324
+ #: includes/class-yith-system-status.php:520
325
+ #. translators: %1$s plugin name, %2$s requirement name
326
+ msgid "%1$s needs %2$s enabled"
327
+ msgstr ""
328
+
329
+ #: includes/class-yith-system-status.php:523
330
+ #. translators: %1$s plugin name, %2$s required memory amount
331
+ msgid "%1$s needs at least %2$s of available memory"
332
+ msgstr ""
333
+
334
+ #: includes/class-yith-system-status.php:526
335
+ #. translators: %1$s plugin name, %2$s version number
336
+ msgid "%1$s needs at least %2$s version"
337
+ msgstr ""
338
+
339
+ #: includes/class-yith-system-status.php:550
340
+ msgid ""
341
+ "Update it to the latest version in order to benefit of all new features and "
342
+ "security updates."
343
+ msgstr ""
344
+
345
+ #: includes/class-yith-system-status.php:554
346
+ #: includes/class-yith-system-status.php:560
347
+ msgid "Contact your hosting company in order to update it."
348
+ msgstr ""
349
+
350
+ #: includes/class-yith-system-status.php:558
351
+ msgid "Contact your hosting company in order to install it."
352
+ msgstr ""
353
+
354
+ #: includes/class-yith-system-status.php:565
355
+ #. translators: %1$s code, %2$s file name
356
+ msgid "Remove %1$s from %2$s file"
357
+ msgstr ""
358
+
359
+ #: includes/class-yith-system-status.php:573
360
+ msgid "Contact your hosting company in order to enable it."
361
+ msgstr ""
362
+
363
+ #: includes/class-yith-system-status.php:577
364
+ #: includes/class-yith-system-status.php:600
365
+ #. translators: %1$s opening link tag, %2$s closing link tag
366
+ msgid ""
367
+ "Read more %1$shere%2$s or contact your hosting company in order to increase "
368
+ "it."
369
+ msgstr ""
370
+
371
+ #: includes/class-yith-system-status.php:597
372
+ #. translators: %s recommended memory amount
373
+ msgid ""
374
+ "For optimal functioning of our plugins, we suggest setting at least %s of "
375
+ "available memory"
376
+ msgstr ""
377
+
378
+ #: includes/class-yith-system-status.php:605
379
+ #. translators: %1$s TLS label, %2$s cURL label
380
+ msgid ""
381
+ "The system check cannot determine which %1$s version is installed because "
382
+ "%2$s module is disabled. Ask your hosting company to enable it."
383
+ msgstr ""
384
+
385
+ #: includes/class-yith-system-status.php:608
386
+ #. translators: %1$s TLS label
387
+ msgid ""
388
+ "The system check cannot determine which %1$s version is installed due to a "
389
+ "connection issue between your site and our server."
390
+ msgstr ""
391
+
392
+ #: templates/fields/ajax-customers.php:41
393
+ msgid "Search Customers"
394
+ msgstr ""
395
+
396
+ #: templates/fields/ajax-customers.php:68
397
+ #: templates/fields/ajax-customers.php:79
398
+ #. translators: 1. user display name; 2. user ID; 3. user email.
399
+ msgid "%1$s (#%2$s &ndash; %3$s)"
400
+ msgstr ""
401
+
402
+ #: templates/fields/ajax-posts.php:41
403
+ msgid "Search Posts"
404
+ msgstr ""
405
+
406
+ #: templates/fields/ajax-products.php:14
407
+ msgid "Search Product"
408
+ msgstr ""
409
+
410
+ #: templates/fields/ajax-terms.php:41
411
+ msgid "Search Categories"
412
+ msgstr ""
413
+
414
+ #: templates/fields/customtabs.php:17
415
+ msgid "Close all"
416
+ msgstr ""
417
+
418
+ #: templates/fields/customtabs.php:17
419
+ msgid "Expand all"
420
+ msgstr ""
421
+
422
+ #: templates/fields/customtabs.php:25 templates/fields/customtabs.php:68
423
+ msgid "Remove"
424
+ msgstr ""
425
+
426
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
427
+ msgid "Name"
428
+ msgstr ""
429
+
430
+ #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
431
+ msgid "Value"
432
+ msgstr ""
433
+
434
+ #: templates/fields/customtabs.php:41 templates/fields/customtabs.php:82
435
+ msgid "Content of the tab. (HTML is supported)"
436
+ msgstr ""
437
+
438
+ #: templates/fields/customtabs.php:52
439
+ msgid "Add custom product tab"
440
+ msgstr ""
441
+
442
+ #: templates/fields/customtabs.php:93
443
+ msgid "Do you want to remove the custom tab?"
444
+ msgstr ""
445
+
446
+ #: templates/fields/date-format.php:65
447
+ msgid "Custom:"
448
+ msgstr ""
449
+
450
+ #: templates/fields/date-format.php:70
451
+ msgid "Preview:"
452
+ msgstr ""
453
+
454
+ #: templates/fields/icons.php:78
455
+ msgid "Set Default"
456
+ msgstr ""
457
+
458
+ #: templates/fields/image-gallery.php:29 templates/fields/image-gallery.php:40
459
+ msgid "Delete image"
460
+ msgstr ""
461
+
462
+ #: templates/fields/image-gallery.php:37
463
+ msgid "Add Images to Gallery"
464
+ msgstr ""
465
+
466
+ #: templates/fields/image-gallery.php:38
467
+ msgid "Add to gallery"
468
+ msgstr ""
469
+
470
+ #: templates/fields/image-gallery.php:39
471
+ msgid "Add images"
472
+ msgstr ""
473
+
474
+ #: templates/fields/image-gallery.php:41
475
+ msgid "Delete"
476
+ msgstr ""
477
+
478
+ #: templates/fields/select-buttons.php:19
479
+ msgid "Add All"
480
+ msgstr ""
481
+
482
+ #: templates/fields/select-buttons.php:20
483
+ msgid "Remove All"
484
+ msgstr ""
485
+
486
+ #: templates/fields/sidebars.php:20
487
+ msgid "Left sidebar"
488
+ msgstr ""
489
+
490
+ #: templates/fields/sidebars.php:23
491
+ msgid "Right sidebar"
492
+ msgstr ""
493
+
494
+ #: templates/fields/sidebars.php:26 templates/fields/sidebars.php:29
495
+ msgid "No sidebar"
496
+ msgstr ""
497
+
498
+ #: templates/fields/sidebars.php:39
499
+ msgid "Left Sidebar"
500
+ msgstr ""
501
+
502
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:56
503
+ msgid "Choose a sidebar"
504
+ msgstr ""
505
+
506
+ #: templates/fields/sidebars.php:54
507
+ msgid "Right Sidebar"
508
+ msgstr ""
509
+
510
+ #: templates/fields/upload.php:34
511
+ #: templates/panel/woocommerce/woocommerce-upload.php:37
512
+ msgid "Upload"
513
+ msgstr ""
514
+
515
+ #: templates/fields/upload.php:39
516
+ msgid "Reset"
517
+ msgstr ""
518
+
519
+ #: templates/panel/woocommerce/woocommerce-form.php:28
520
+ #: templates/panel/woocommerce/woocommerce-form.php:32
521
+ msgid "Save Options"
522
+ msgstr ""
523
+
524
+ #: templates/panel/woocommerce/woocommerce-form.php:32
525
+ msgid "Options Saved"
526
+ msgstr ""
527
+
528
+ #: templates/panel/woocommerce/woocommerce-form.php:38
529
+ msgid "Reset Defaults"
530
+ msgstr ""
531
+
532
+ #: templates/sysinfo/system-information-panel.php:12
533
+ msgid "PHPInfo"
534
+ msgstr ""
535
+
536
+ #: templates/sysinfo/system-information-panel.php:13
537
+ #: templates/sysinfo/tabs/error-log.php:25
538
+ msgid "Log Files"
539
+ msgstr ""
540
+
541
+ #: templates/sysinfo/system-information-panel.php:22
542
+ msgid "YITH System Information"
543
+ msgstr ""
544
+
545
+ #: templates/sysinfo/tabs/error-log.php:13
546
+ msgid "WP debug.log file"
547
+ msgstr ""
548
+
549
+ #: templates/sysinfo/tabs/error-log.php:18
550
+ msgid "PHP error_log file"
551
+ msgstr ""
552
+
553
+ #: templates/sysinfo/tabs/error-log.php:60
554
+ msgid "Download"
555
+ msgstr ""
556
+
557
+ #: templates/sysinfo/tabs/error-log.php:72
558
+ msgid "The file size exceeds 8 megabytes so it must be downloaded"
559
+ msgstr ""
560
+
561
+ #: templates/sysinfo/tabs/error-log.php:96
562
+ #. translators: %s file name.
563
+ msgid ""
564
+ "No Log file available. Enable the WordPress debug by adding this in the %s "
565
+ "file of your installation"
566
+ msgstr ""
567
+
568
+ #: templates/sysinfo/tabs/error-log.php:105
569
+ msgid "Copied!"
570
+ msgstr ""
571
+
572
+ #: templates/sysinfo/tabs/error-log.php:105
573
+ msgid "Copy Code"
574
+ msgstr ""
575
+
576
+ #: templates/sysinfo/tabs/main.php:17
577
+ msgid "Site Info"
578
+ msgstr ""
579
+
580
+ #: templates/sysinfo/tabs/main.php:22
581
+ msgid "Site URL"
582
+ msgstr ""
583
+
584
+ #: templates/sysinfo/tabs/main.php:31
585
+ msgid "Output IP Address"
586
+ msgstr ""
587
+
588
+ #: templates/sysinfo/tabs/main.php:39
589
+ msgid "Defined WP_CACHE"
590
+ msgstr ""
591
+
592
+ #: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
593
+ msgid "Yes"
594
+ msgstr ""
595
+
596
+ #: templates/sysinfo/tabs/main.php:47
597
+ msgid "External object cache"
598
+ msgstr ""
599
+
600
+ #: templates/sysinfo/tabs/main.php:55
601
+ msgid "YITH Plugin Framework Version"
602
+ msgstr ""
603
+
604
+ #: templates/sysinfo/tabs/main.php:64
605
+ #. translators: %s is the name of the plugin that is loading the framework.
606
+ msgid "loaded by %s"
607
+ msgstr ""
608
+
609
+ #: templates/sysinfo/tabs/main.php:73
610
+ msgid "Plugins Requirements"
611
+ msgstr ""
612
+
613
+ #: templates/sysinfo/tabs/main.php:108
614
+ msgid "Database Info"
615
+ msgstr ""
616
+
617
+ #: templates/sysinfo/tabs/main.php:113
618
+ msgid "MySQL version"
619
+ msgstr ""
620
+
621
+ #: templates/sysinfo/tabs/main.php:123
622
+ #. Translators: %s: Codex link.
623
+ msgid "WordPress recommends a minimum MySQL version of 5.6. See: %s"
624
+ msgstr ""
625
+
626
+ #: templates/sysinfo/tabs/main.php:123
627
+ msgid "WordPress requirements"
628
+ msgstr ""
629
+
630
+ #: templates/sysinfo/tabs/main.php:130
631
+ msgid "Total Database Size"
632
+ msgstr ""
633
+
634
+ #: templates/sysinfo/tabs/main.php:138
635
+ msgid "Database Data Size"
636
+ msgstr ""
637
+
638
+ #: templates/sysinfo/tabs/main.php:146
639
+ msgid "Database Index Size"
640
+ msgstr ""
641
+
642
+ #: templates/sysinfo/tabs/main.php:154
643
+ msgid "Database Free Size"
644
+ msgstr ""
645
+
646
+ #: templates/sysinfo/tabs/main.php:168
647
+ #. Translators: %1$f: Table size, %2$f: Index size, %3$f: Free size, %4$s
648
+ #. Engine.
649
+ msgid "Data: %1$.2fMB | Index: %2$.2fMB | Free: %3$.2fMB | Engine: %4$s"
650
+ msgstr ""
651
+
652
+ #: yit-functions.php:1911
653
+ #. translators: %s is the title of the post object.
654
+ msgid "Are you sure you want to move \"%s\" to trash?"
655
+ msgstr ""
656
+
657
+ #: yit-functions.php:1913 yit-functions.php:2073
658
+ #. translators: %s is the title of the post object.
659
+ msgid "Are you sure you want to delete \"%s\"?"
660
+ msgstr ""
661
+
662
+ #: yit-functions.php:2011 yit-functions.php:2019 yit-functions.php:2136
663
+ msgid "Further actions"
664
+ msgstr ""
665
+
666
+ #: yit-plugin.php:205
667
+ msgid "License"
668
+ msgstr ""
669
+
670
+ #. Author of the plugin/theme
671
+ msgid "YITH"
672
+ msgstr ""
673
+
674
+ #: includes/builders/elementor/class-yith-elementor-widget.php:252
675
+ #. translators: %s it the Elementor Widget title.
676
+ msgctxt "Elementor Widget - section title"
677
+ msgid "%s - Options"
678
+ msgstr ""
679
+
680
+ #: includes/builders/gutenberg/class-yith-gutenberg.php:149
681
+ msgctxt "[gutenberg]: Category Name"
682
+ msgid "YITH"
683
+ msgstr ""
684
+
685
+ #: includes/class-yit-assets.php:134
686
+ msgctxt "Button text"
687
+ msgid "Confirm"
688
+ msgstr ""
689
+
690
+ #: includes/class-yit-assets.php:135
691
+ msgctxt "Button text"
692
+ msgid "Cancel"
693
+ msgstr ""
694
+
695
+ #: includes/class-yit-assets.php:148 yit-functions.php:1982
696
+ msgctxt "Trash confirmation action"
697
+ msgid "Yes, move to trash"
698
+ msgstr ""
699
+
700
+ #: includes/class-yit-assets.php:152 yit-functions.php:2000
701
+ #: yit-functions.php:2127
702
+ msgctxt "Delete confirmation action"
703
+ msgid "Yes, delete"
704
+ msgstr ""
705
+
706
+ #: includes/class-yit-plugin-panel.php:492
707
+ msgctxt "Help tab name"
708
+ msgid "Help"
709
+ msgstr ""
710
+
711
+ #: includes/class-yit-plugin-panel.php:805
712
+ #. translators: 1. Plugin name.
713
+ msgctxt "Help tab default title"
714
+ msgid "Thank you for purchasing %s!"
715
+ msgstr ""
716
+
717
+ #: includes/class-yit-plugin-panel.php:806
718
+ msgctxt "Help tab default description"
719
+ msgid "We want to help you to enjoy a wonderful experience with all our products."
720
+ msgstr ""
721
+
722
+ #: includes/class-yit-plugin-panel.php:853
723
+ msgctxt "Premium tab name"
724
+ msgid "Get premium"
725
+ msgstr ""
726
+
727
+ #: includes/class-yith-dashboard.php:96
728
+ msgctxt "Plugin FW"
729
+ msgid "View Changelog"
730
+ msgstr ""
731
+
732
+ #: includes/class-yith-dashboard.php:97
733
+ msgctxt "Plugin FW"
734
+ msgid "Latest update released on"
735
+ msgstr ""
736
+
737
+ #: includes/class-yith-dashboard.php:137
738
+ msgctxt "Button label"
739
+ msgid "Close"
740
+ msgstr ""
741
+
742
+ #: includes/privacy/class-yith-privacy.php:61
743
+ msgctxt "Privacy Policy Guide Title"
744
+ msgid "YITH Plugins"
745
+ msgstr ""
746
+
747
+ #: includes/privacy/class-yith-privacy.php:93
748
+ msgctxt "Privacy Policy Content"
749
+ msgid ""
750
+ "This sample language includes the basics around what personal data your "
751
+ "store may be collecting, storing and sharing, as well as who may have "
752
+ "access to that data. Depending on what settings are enabled and which "
753
+ "additional plugins are used, the specific information shared by your store "
754
+ "will vary. We recommend consulting with a lawyer when deciding what "
755
+ "information to disclose on your privacy policy."
756
+ msgstr ""
757
+
758
+ #: includes/privacy/class-yith-privacy.php:97
759
+ msgctxt "Privacy Policy Content"
760
+ msgid "What we collect and store"
761
+ msgstr ""
762
+
763
+ #: includes/privacy/class-yith-privacy.php:100
764
+ msgctxt "Privacy Policy Content"
765
+ msgid "Who on our team has access"
766
+ msgstr ""
767
+
768
+ #: includes/privacy/class-yith-privacy.php:103
769
+ msgctxt "Privacy Policy Content"
770
+ msgid "What we share with others"
771
+ msgstr ""
772
+
773
+ #: includes/privacy/class-yith-privacy.php:106
774
+ msgctxt "Privacy Policy Content"
775
+ msgid "Payments"
776
+ msgstr ""
777
+
778
+ #: templates/fields/copy-to-clipboard.php:41
779
+ msgctxt "Copy-to-clipboard message"
780
+ msgid "Copied!"
781
+ msgstr ""
782
+
783
+ #: templates/fields/copy-to-clipboard.php:45
784
+ msgctxt "Copy-to-clipboard button text"
785
+ msgid "Copy"
786
+ msgstr ""
787
+
788
+ #: templates/fields/dimensions.php:13
789
+ msgctxt "Position in the \"Dimensions\" field"
790
+ msgid "Top"
791
+ msgstr ""
792
+
793
+ #: templates/fields/dimensions.php:14
794
+ msgctxt "Position in the \"Dimensions\" field"
795
+ msgid "Right"
796
+ msgstr ""
797
+
798
+ #: templates/fields/dimensions.php:15
799
+ msgctxt "Position in the \"Dimensions\" field"
800
+ msgid "Bottom"
801
+ msgstr ""
802
+
803
+ #: templates/fields/dimensions.php:16
804
+ msgctxt "Position in the \"Dimensions\" field"
805
+ msgid "Left"
806
+ msgstr ""
807
+
808
+ #: templates/fields/dimensions.php:94
809
+ msgctxt "Tooltip in the \"Dimensions\" field"
810
+ msgid "Link values together"
811
+ msgstr ""
812
+
813
+ #: templates/fields/image-dimensions.php:18
814
+ msgctxt "Image width field label"
815
+ msgid "Width"
816
+ msgstr ""
817
+
818
+ #: templates/fields/image-dimensions.php:23
819
+ msgctxt "Image height field label"
820
+ msgid "Height"
821
+ msgstr ""
822
+
823
+ #: templates/fields/onoff.php:28
824
+ msgctxt "YES/NO button: use MAX 4 characters!"
825
+ msgid "YES"
826
+ msgstr ""
827
+
828
+ #: templates/fields/onoff.php:29
829
+ msgctxt "YES/NO button: use MAX 4 characters!"
830
+ msgid "NO"
831
+ msgstr ""
832
+
833
+ #: templates/panel/help-tab.php:87
834
+ #. translators: 1. Url to EN playlist.
835
+ msgctxt "Help tab view all video link"
836
+ msgid ""
837
+ "Check the full <a href=\"%s\" target=\"_blank\">Playlist on Youtube</a> to "
838
+ "learn more >"
839
+ msgstr ""
840
+
841
+ #: templates/panel/help-tab.php:94
842
+ msgctxt "Help tab Watch Videotutorials link"
843
+ msgid "Videos are also available in:"
844
+ msgstr ""
845
+
846
+ #: templates/panel/help-tab.php:137
847
+ msgctxt "Help tab Watch Videotutorials link"
848
+ msgid "Watch our videotutorials"
849
+ msgstr ""
850
+
851
+ #: templates/panel/help-tab.php:140
852
+ msgctxt "Help tab Watch Videotutorials link"
853
+ msgid "We show you some use cases"
854
+ msgstr ""
855
+
856
+ #: templates/panel/help-tab.php:124
857
+ msgctxt "Help tab Read Documentation link"
858
+ msgid "Read the documentation"
859
+ msgstr ""
860
+
861
+ #: templates/panel/help-tab.php:127
862
+ msgctxt "Help tab Read Documentation link"
863
+ msgid "to learn from basics how it works"
864
+ msgstr ""
865
+
866
+ #: templates/panel/help-tab.php:150
867
+ msgctxt "Help tab view FAQs link"
868
+ msgid "Check the FAQs"
869
+ msgstr ""
870
+
871
+ #: templates/panel/help-tab.php:153
872
+ msgctxt "Help tab view FAQs link"
873
+ msgid "to find answers to your doubts"
874
+ msgstr ""
875
+
876
+ #: templates/panel/help-tab.php:169
877
+ msgctxt "Help tab FAQ title"
878
+ msgid "Last FAQs in our Help Center"
879
+ msgstr ""
880
+
881
+ #: templates/panel/help-tab.php:183
882
+ msgctxt "Help tab FAQ link"
883
+ msgid "View all FAQs >"
884
+ msgstr ""
885
+
886
+ #: templates/panel/help-tab.php:192
887
+ msgctxt "Help tab submit ticket title"
888
+ msgid "Need help?"
889
+ msgstr ""
890
+
891
+ #: templates/panel/help-tab.php:195
892
+ msgctxt "Help tab submit ticket description"
893
+ msgid ""
894
+ "If you are experiencing some technical issue ask help to our developers. "
895
+ "Submit a ticket in our support desk and we will help you as soon as "
896
+ "possible."
897
+ msgstr ""
898
+
899
+ #: templates/panel/help-tab.php:203
900
+ msgctxt "Help tab submit ticket button"
901
+ msgid "Submit a ticket"
902
+ msgstr ""
903
+
904
+ #: templates/panel/premium-tab.php:30
905
+ msgctxt "Premium Tab"
906
+ msgid "Get the premium version to unlock advanced features"
907
+ msgstr ""
908
+
909
+ #: templates/panel/premium-tab.php:34
910
+ msgctxt "Premium Tab"
911
+ msgid "Get premium"
912
+ msgstr ""
913
+
914
+ #: templates/panel/premium-tab.php:39
915
+ msgctxt "Premium Tab"
916
+ msgid "Plugin premium features images"
917
+ msgstr ""
918
+
919
+ #: templates/panel/premium-tab.php:51
920
+ #. translators: alt attribute of main image tag.
921
+ msgctxt "Premium Tab"
922
+ msgid "And so much more!"
923
+ msgstr ""
924
+
925
+ #: templates/panel/premium-tab.php:53
926
+ msgctxt "Premium Tab"
927
+ msgid "Check the free vs premium features >"
928
+ msgstr ""
929
+
930
+ #: templates/panel/premium-tab.php:58
931
+ msgctxt "Premium Tab"
932
+ msgid "Get the premium version"
933
+ msgstr ""
934
+
935
+ #: yit-functions.php:1925
936
+ msgctxt "Post action"
937
+ msgid "Preview"
938
+ msgstr ""
939
+
940
+ #: yit-functions.php:1934
941
+ msgctxt "Post action"
942
+ msgid "View"
943
+ msgstr ""
944
+
945
+ #: yit-functions.php:1945
946
+ msgctxt "Post action"
947
+ msgid "Edit"
948
+ msgstr ""
949
+
950
+ #: yit-functions.php:1953
951
+ msgctxt "Post action"
952
+ msgid "Duplicate"
953
+ msgstr ""
954
+
955
+ #: yit-functions.php:1965
956
+ msgctxt "Post action"
957
+ msgid "Restore"
958
+ msgstr ""
959
+
960
+ #: yit-functions.php:1973
961
+ msgctxt "Post action"
962
+ msgid "Trash"
963
+ msgstr ""
964
+
965
+ #: yit-functions.php:1990
966
+ msgctxt "Post action"
967
+ msgid "Delete Permanently"
968
+ msgstr ""
969
+
970
+ #: yit-functions.php:2087
971
+ msgctxt "Term action"
972
+ msgid "View"
973
+ msgstr ""
974
+
975
+ #: yit-functions.php:2097
976
+ msgctxt "Term action"
977
+ msgid "Edit"
978
+ msgstr ""
979
+
980
+ #: yit-functions.php:2105
981
+ msgctxt "Term action"
982
+ msgid "Duplicate"
983
+ msgstr ""
984
+
985
+ #: yit-functions.php:2118
986
+ msgctxt "Term action"
987
+ msgid "Delete"
988
+ msgstr ""
989
+
990
+ #: yit-plugin.php:84
991
+ msgctxt "Plugin Row Meta"
992
+ msgid "Live Demo"
993
+ msgstr ""
994
+
995
+ #: yit-plugin.php:88
996
+ msgctxt "Plugin Row Meta"
997
+ msgid "Documentation"
998
+ msgstr ""
999
+
1000
+ #: yit-plugin.php:92
1001
+ msgctxt "Plugin Row Meta"
1002
+ msgid "Support"
1003
+ msgstr ""
1004
+
1005
+ #: yit-plugin.php:96
1006
+ msgctxt "Plugin Row Meta"
1007
+ msgid "Premium version"
1008
+ msgstr ""
1009
+
1010
+ #: yit-plugin.php:201
1011
+ msgctxt "Action links"
1012
+ msgid "Settings"
1013
  msgstr ""
plugin-fw/templates/fields/list-table.php CHANGED
@@ -11,11 +11,11 @@ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
11
  list ( $field_id, $class, $the_title, $the_post_type, $args, $add_new_button, $add_new_url, $list_table_class, $list_table_class_dir, $search_form, $desc ) = yith_plugin_fw_extract( $field, 'id', 'class', 'title', 'post_type', 'args', 'add_new_button', 'add_new_url', 'list_table_class', 'list_table_class_dir', 'search_form', 'desc' );
12
 
13
  $show_button = false;
14
- if ( isset( $add_new_button ) && isset( $the_post_type ) ) {
15
  $show_button = true;
16
  $admin_url = admin_url( 'post-new.php' );
17
  $params['post_type'] = $the_post_type;
18
- $add_new_url = apply_filters( 'yith_plugin_fw_add_new_post_url', esc_url( add_query_arg( $params, $admin_url ) ), $params, isset( $args ) ? $args : false );
19
  }
20
 
21
  if ( isset( $list_table_class, $list_table_class_dir ) && ! class_exists( $list_table_class ) && file_exists( $list_table_class_dir ) ) {
11
  list ( $field_id, $class, $the_title, $the_post_type, $args, $add_new_button, $add_new_url, $list_table_class, $list_table_class_dir, $search_form, $desc ) = yith_plugin_fw_extract( $field, 'id', 'class', 'title', 'post_type', 'args', 'add_new_button', 'add_new_url', 'list_table_class', 'list_table_class_dir', 'search_form', 'desc' );
12
 
13
  $show_button = false;
14
+ if ( isset( $add_new_button ) && ( isset( $the_post_type ) || ( isset( $add_new_url ) ) ) ) {
15
  $show_button = true;
16
  $admin_url = admin_url( 'post-new.php' );
17
  $params['post_type'] = $the_post_type;
18
+ $add_new_url = $add_new_url ? $add_new_url : apply_filters( 'yith_plugin_fw_add_new_post_url', esc_url( add_query_arg( $params, $admin_url ) ), $params, isset( $args ) ? $args : false );
19
  }
20
 
21
  if ( isset( $list_table_class, $list_table_class_dir ) && ! class_exists( $list_table_class ) && file_exists( $list_table_class_dir ) ) {
plugin-fw/templates/panel/premium-tab.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The Template for displaying the Premium tab.
4
+ *
5
+ * @var array $options The premium tab options array.
6
+ * @var string $premium_url The premium landing page URL.
7
+ * @var string $plugin_slug The plugin slug.
8
+ *
9
+ * @package YITH\PluginFramework\Templates
10
+ * @author Giuseppe Arcifa <giuseppe.arcifa@yithemes.com>
11
+ * @since 3.9.0
12
+ */
13
+
14
+ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
15
+
16
+ list( $premium_features, $main_image_url, $show_free_vs_premium ) = yith_plugin_fw_extract( $options, 'premium_features', 'main_image_url', 'show_free_vs_premium_link' );
17
+
18
+ $get_premium_url = yith_plugin_fw_add_utm_data( $premium_url, $plugin_slug, 'button-upgrade', 'wp-free-dashboard' );
19
+
20
+ if ( $show_free_vs_premium ) {
21
+ $free_vs_premium_url = yith_plugin_fw_add_utm_data( $premium_url, $plugin_slug, 'button-compare', 'wp-free-dashboard' );
22
+ }
23
+
24
+ ?>
25
+
26
+ <div id="yith_plugin_fw_panel_premium_tab" class="yith-plugin-fw-panel-premium-tab-container">
27
+ <div class="yith-plugin-fw-panel-premium-tab">
28
+ <div class="yith-plugin-fw-panel-premium-tab__header">
29
+ <span class="yith-plugin-fw-panel-premium-tab__header-title">
30
+ <?php echo esc_html_x( 'Get the premium version to unlock advanced features', 'Premium Tab', 'yith-plugin-fw' ); ?>
31
+ </span>
32
+ <span class="yith-plugin-fw-panel-premium-tab__header-cta-arrow"></span>
33
+ <a href="<?php echo esc_url( $get_premium_url ); ?>" target="_blank" class="yith-plugin-fw-panel-premium-tab__header-cta yith-plugin-fw-panel-premium-tab__cta-button">
34
+ <?php echo esc_html_x( 'Get premium', 'Premium Tab', 'yith-plugin-fw' ); ?>
35
+ </a>
36
+ </div>
37
+ <div class="yith-plugin-fw-panel-premium-tab__content">
38
+ <?php if ( $main_image_url ) : ?>
39
+ <img class="yith-plugin-fw-panel-premium-tab__main-image" src="<?php echo esc_attr( $main_image_url ); ?>" alt="<?php esc_html_x( 'Plugin premium features images', 'Premium Tab', 'yith-plugin-fw' ); // translators: alt attribute of main image tag. ?>">
40
+ <?php endif; ?>
41
+ <div class="yith-plugin-fw-panel-premium-tab__features">
42
+ <?php foreach ( $premium_features as $premium_feature ) : ?>
43
+ <div class="yith-plugin-fw-panel-premium-tab__feature">
44
+ <span class="yith-plugin-fw-panel-premium-tab__feature-content">
45
+ <?php echo wp_kses_post( $premium_feature ); ?>
46
+ </span>
47
+ </div>
48
+ <?php endforeach; ?>
49
+ <?php if ( $show_free_vs_premium ) : ?>
50
+ <span class="yith-plugin-fw-panel-premium-tab__free-vs-premium">
51
+ <?php echo esc_html_x( 'And so much more!', 'Premium Tab', 'yith-plugin-fw' ); ?>
52
+ <a href="<?php echo esc_url( $free_vs_premium_url . '#tab-free_vs_premium_tab' ); ?>" target="_blank">
53
+ <?php echo esc_html_x( 'Check the free vs premium features >', 'Premium Tab', 'yith-plugin-fw' ); ?>
54
+ </a>
55
+ </span>
56
+ <?php endif; ?>
57
+ <a href="<?php echo esc_url( $get_premium_url ); ?>" target="_blank" class="yith-plugin-fw-panel-premium-tab__content-cta yith-plugin-fw-panel-premium-tab__cta-button">
58
+ <?php echo esc_html_x( 'Get the premium version', 'Premium Tab', 'yith-plugin-fw' ); ?>
59
+ </a>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Plugin Name ===
2
  Contributors: yithemes
3
  Tags: woocommerce, quick view, woocommerce quick view, products quick view
4
- Requires at least: 5.6
5
- Tested up to: 5.8
6
- Stable tag: 1.10.0
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -40,6 +40,12 @@ Full documentation is available [here](https://docs.yithemes.com/yith-woocommerc
40
 
41
  == Changelog ==
42
 
 
 
 
 
 
 
43
  = 1.10.0 = Released 02 December 2021
44
 
45
  * New: support for WooCommerce 6.0
@@ -380,7 +386,8 @@ Or, if you have created your own language pack, or have an update for an existin
380
 
381
  == Upgrade notice ==
382
 
383
- = 1.9.0 = Released 02 November 2021
384
 
385
- * New: support for WooCommerce 5.9
 
386
  * Update: YITH plugin framework
1
  === Plugin Name ===
2
  Contributors: yithemes
3
  Tags: woocommerce, quick view, woocommerce quick view, products quick view
4
+ Requires at least: 5.7
5
+ Tested up to: 5.9
6
+ Stable tag: 1.11.0
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
40
 
41
  == Changelog ==
42
 
43
+ = 1.11.0 = Released 10 January 2022
44
+
45
+ * New: support for WordPress 5.9
46
+ * New: support for WooCommerce 6.1
47
+ * Update: YITH plugin framework
48
+
49
  = 1.10.0 = Released 02 December 2021
50
 
51
  * New: support for WooCommerce 6.0
386
 
387
  == Upgrade notice ==
388
 
389
+ = 1.11.0 = Released 10 January 2022
390
 
391
+ * New: support for WordPress 5.9
392
+ * New: support for WooCommerce 6.1
393
  * Update: YITH plugin framework