Version Description
- Fixed menu slug
Download this release
Release Info
Developer | GreenTreeLabs |
Plugin | Image Photo Gallery Final Tiles Grid |
Version | 3.3.13 |
Comparing to | |
See all releases |
Code changes from version 3.0.6 to 3.3.13
- FinalTilesGalleryLite.php +1493 -1992
- admin/add-gallery.php +217 -63
- admin/adv.php +0 -0
- admin/css/style.css +113 -37
- admin/edit-gallery.php +17 -16
- admin/galleries.php +0 -45
- admin/header.php +18 -4
- admin/images/circles.jpg +0 -0
- admin/images/modula-strip.jpg +0 -0
- admin/images/modula.jpg +0 -0
- admin/include/edit-gallery.php +1183 -223
- admin/include/fields.php +1099 -0
- admin/include/image-list.php +1 -1
- admin/overview.php +3 -3
- admin/scripts/{final-tiles-grid-gallery-lite-admin.js → final-tiles-gallery-admin.js} +285 -15
- admin/support.php +9 -16
- admin/tutorial/tutorial-add-image-size.png +0 -0
- admin/tutorial/tutorial-add-image.png +0 -0
- admin/tutorial/tutorial-add-page.jpg +0 -0
- admin/tutorial/tutorial-add.png +0 -0
- admin/tutorial/tutorial-dashboard.png +0 -0
- admin/tutorial/tutorial-edit-list.jpg +0 -0
- admin/tutorial/tutorial-image-added.jpg +0 -0
- admin/tutorial/tutorial-image-edit.jpg +0 -0
- admin/tutorial/tutorial-image-panel.JPG +0 -0
- admin/tutorial/tutorial-images-tab.png +0 -0
- admin/tutorial/tutorial-tabs.jpg +0 -0
- admin/upgrade.php +0 -4
- freemius/.codeclimate.yml +0 -19
- freemius/.github/ISSUE_TEMPLATE.md +0 -29
- freemius/.travis.yml +0 -11
- freemius/assets/css/admin/dialog-boxes.css +2 -2
- freemius/assets/img/final-tiles-grid-gallery-lite.jpg +0 -0
- freemius/assets/scss/_colors.scss +10 -3
- freemius/assets/scss/_load.scss +4 -4
- freemius/assets/scss/_mixins.scss +63 -7
- freemius/assets/scss/_start.scss +3 -3
- freemius/assets/scss/_vars.scss +5 -5
- freemius/assets/scss/admin/_ajax-loader.scss +49 -0
- freemius/assets/scss/admin/_auto-install.scss +33 -0
- freemius/assets/scss/admin/_modal-common.scss +31 -0
- freemius/assets/scss/admin/connect.scss +471 -471
- freemius/assets/scss/admin/dialog-boxes.scss +3 -1
- freemius/composer.json +0 -10
- freemius/config.php +8 -0
- freemius/gulpfile.js +0 -58
- freemius/includes/class-freemius-abstract.php +45 -1
- freemius/includes/class-freemius.php +1063 -374
- freemius/includes/class-fs-logger.php +5 -3
- freemius/includes/class-fs-plugin-updater.php +272 -4
- freemius/includes/debug/class-fs-debug-bar-panel.php +1 -1
- freemius/includes/debug/debug-bar-start.php +2 -2
- freemius/includes/fs-core-functions.php +82 -47
- freemius/includes/fs-essential-functions.php +55 -41
- freemius/includes/fs-plugin-info-dialog.php +53 -53
- freemius/includes/i18n.php +537 -517
- freemius/includes/managers/class-fs-admin-menu-manager.php +156 -9
- freemius/includes/managers/class-fs-admin-notice-manager.php +312 -312
- freemius/includes/sdk/Exceptions/ArgumentNotExistException.php +8 -8
- freemius/includes/sdk/Exceptions/EmptyArgumentException.php +8 -8
- freemius/includes/sdk/Exceptions/Exception.php +73 -73
- freemius/includes/sdk/Exceptions/InvalidArgumentException.php +7 -7
- freemius/includes/sdk/Exceptions/OAuthException.php +11 -11
- freemius/includes/sdk/Freemius.php +626 -582
- freemius/includes/sdk/FreemiusBase.php +188 -188
- freemius/languages/freemius-da_DK.mo +0 -0
- freemius/languages/freemius-da_DK.po +829 -700
- freemius/languages/freemius-en.mo +0 -0
- freemius/languages/freemius-en.po +453 -392
- freemius/languages/freemius-he.mo +0 -0
- freemius/languages/freemius-he.po +825 -695
- freemius/languages/freemius-it_IT.mo +0 -0
- freemius/languages/freemius-it_IT.po +533 -611
- freemius/languages/freemius-ja_JP.mo +0 -0
- freemius/languages/freemius-ja_JP.po +700 -571
- freemius/languages/freemius.pot +117 -112
FinalTilesGalleryLite.php
CHANGED
@@ -1,1992 +1,1493 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
Plugin
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
}
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
{
|
545 |
-
$
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
if (
|
596 |
-
$
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
{
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
$
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
$
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
$
|
960 |
-
$
|
961 |
-
$
|
962 |
-
$
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
$
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
$
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
'
|
1028 |
-
|
1029 |
-
'
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
'
|
1045 |
-
'
|
1046 |
-
'
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
'
|
1065 |
-
|
1066 |
-
'
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
'
|
1093 |
-
|
1094 |
-
|
1095 |
-
'
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
$
|
1151 |
-
$
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
),
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
),
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
),
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
),
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
)
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
"description" => "Flag this option if you don't want to group images when opened in a lightbox.",
|
1495 |
-
"default" => "F",
|
1496 |
-
"excludeFrom" => array()
|
1497 |
-
),
|
1498 |
-
"blank" => array(
|
1499 |
-
"name" => "Links target",
|
1500 |
-
"type" => "toggle",
|
1501 |
-
"description" => "Open links in a blank page.",
|
1502 |
-
"excludeFrom" => array()
|
1503 |
-
),
|
1504 |
-
"enableTwitter" => array(
|
1505 |
-
"name" => "Enable Twitter icon",
|
1506 |
-
"type" => "toggle",
|
1507 |
-
"description" => "Enable Twitter sharing.",
|
1508 |
-
"default" => "F",
|
1509 |
-
"excludeFrom" => array()
|
1510 |
-
),
|
1511 |
-
"enableFacebook" => array(
|
1512 |
-
"name" => "Enable Facebook icon",
|
1513 |
-
"type" => "toggle",
|
1514 |
-
"description" => "Enable Facebook sharing.",
|
1515 |
-
"default" => "F",
|
1516 |
-
"excludeFrom" => array()
|
1517 |
-
),
|
1518 |
-
"enableGplus" => array(
|
1519 |
-
"name" => "Enable Google Plus icon",
|
1520 |
-
"type" => "toggle",
|
1521 |
-
"description" => "Enable Google Plus sharing",
|
1522 |
-
"default" => "F",
|
1523 |
-
"excludeFrom" => array()
|
1524 |
-
),
|
1525 |
-
"enablePinterest" => array(
|
1526 |
-
"name" => "Enable Pinterest icon",
|
1527 |
-
"type" => "toggle",
|
1528 |
-
"description" => "Enable Pinterest sharing",
|
1529 |
-
"default" => "F",
|
1530 |
-
"excludeFrom" => array()
|
1531 |
-
),
|
1532 |
-
"socialIconColor" => array(
|
1533 |
-
"name" => "Color of social sharing icons",
|
1534 |
-
"type" => "color",
|
1535 |
-
"description" => "Set the color of the social sharing icons",
|
1536 |
-
"default" => "#ffffff",
|
1537 |
-
"excludeFrom" => array()
|
1538 |
-
)
|
1539 |
-
)
|
1540 |
-
),
|
1541 |
-
"Captions" => array(
|
1542 |
-
"icon" => "mdi-comment-text-outline",
|
1543 |
-
"fields" => array(
|
1544 |
-
"captionBehavior" => array(
|
1545 |
-
"name" => "Caption behavior",
|
1546 |
-
"type" => "PRO_FEATURE",
|
1547 |
-
"description" => "Captions can have two different behaviors: start hidden and shown on mouse over or viceversa.",
|
1548 |
-
"excludeFrom" => array()
|
1549 |
-
),
|
1550 |
-
"captionMobileBehavior" => array(
|
1551 |
-
"name" => "Caption mobile behavior",
|
1552 |
-
"type" => "PRO_FEATURE",
|
1553 |
-
"description" => "Caption behavior for mobile devices.",
|
1554 |
-
"excludeFrom" => array()
|
1555 |
-
),
|
1556 |
-
"captionFullHeight" => array(
|
1557 |
-
"name" => "Caption full height",
|
1558 |
-
"type" => "PRO_FEATURE",
|
1559 |
-
"description" => "Enable this option for full height captions. <strong>This is required if you want to use caption icons and caption effects other than <i>fade</i>.</strong>",
|
1560 |
-
"default" => "T",
|
1561 |
-
"excludeFrom" => array()
|
1562 |
-
),
|
1563 |
-
"captionEmpty" => array(
|
1564 |
-
"name" => "Empty captions",
|
1565 |
-
"type" => "PRO_FEATURE",
|
1566 |
-
"description" => "Choose if empty caption has to be shown. Consider that empty captions are never shown if <i>Caption full height</i> is switched off.",
|
1567 |
-
"excludeFrom" => array()
|
1568 |
-
),
|
1569 |
-
"captionIcon" => array(
|
1570 |
-
"name" => "Caption icon",
|
1571 |
-
"type" => "select",
|
1572 |
-
"description" => "Choose the icon for the captions.",
|
1573 |
-
"values" => array(
|
1574 |
-
"Icon" => array("|None", "search|Lens", "search-plus|Lens (plus)", "link|Link", "heart|Heart", "heart-o|Heart empty",
|
1575 |
-
"camera|Camera", "camera-retro|Camera retro", "picture-o|Picture", "star|Star", "star-o|Star empty",
|
1576 |
-
"sun-o|Sun", "arrows-alt|Arrows", "hand-o-right|Hand")
|
1577 |
-
),
|
1578 |
-
"excludeFrom" => array()
|
1579 |
-
),
|
1580 |
-
"customCaptionIcon" => array(
|
1581 |
-
"name" => "Custom caption icon",
|
1582 |
-
"type" => "PRO_FEATURE",
|
1583 |
-
"description" => "Use this field to insert the class of a FontAwesome icon (i.e.: fa-heart). <a href='http://fontawesome.io/icons/' target='blank'>See all available icons</a>. <strong>This value override the <i>Caption icon</i> value</strong>.",
|
1584 |
-
"excludeFrom" => array()
|
1585 |
-
),
|
1586 |
-
"captionIconColor" => array(
|
1587 |
-
"name" => "Caption icon color",
|
1588 |
-
"type" => "color",
|
1589 |
-
"description" => "Color of the icon in captions.",
|
1590 |
-
"default" => "#ffffff",
|
1591 |
-
"excludeFrom" => array()
|
1592 |
-
),
|
1593 |
-
"captionIconSize" => array(
|
1594 |
-
"name" => "Caption icon size",
|
1595 |
-
"type" => "number",
|
1596 |
-
"description" => "Size of the icon in captions.",
|
1597 |
-
"default" => 12,
|
1598 |
-
"min" => 10,
|
1599 |
-
"max" => 96,
|
1600 |
-
"mu" => "px",
|
1601 |
-
"excludeFrom" => array()
|
1602 |
-
),
|
1603 |
-
"captionFontSize" => array(
|
1604 |
-
"name" => "Caption font size",
|
1605 |
-
"type" => "number",
|
1606 |
-
"description" => "Size of the font in captions.",
|
1607 |
-
"default" => 12,
|
1608 |
-
"min" => 10,
|
1609 |
-
"max" => 96,
|
1610 |
-
"mu" => "px",
|
1611 |
-
"excludeFrom" => array()
|
1612 |
-
),
|
1613 |
-
"captionEffect" => array(
|
1614 |
-
"name" => "Caption effect",
|
1615 |
-
"type" => "PRO_FEATURE",
|
1616 |
-
"description" => "Effect used to show the captions.",
|
1617 |
-
"excludeFrom" => array()
|
1618 |
-
),
|
1619 |
-
"captionEasing" => array(
|
1620 |
-
"name" => "Caption effect easing",
|
1621 |
-
"type" => "PRO_FEATURE",
|
1622 |
-
"description" => "Easing function for the caption animation, works better with sliding animations.",
|
1623 |
-
"excludeFrom" => array()
|
1624 |
-
),
|
1625 |
-
"captionFrame" => array(
|
1626 |
-
"name" => "Caption frame",
|
1627 |
-
"type" => "toggle",
|
1628 |
-
"description" => "Add a frame around the caption",
|
1629 |
-
"default" => "F",
|
1630 |
-
"excludeFrom" => array()
|
1631 |
-
),
|
1632 |
-
"captionFrameColor" => array(
|
1633 |
-
"name" => "Caption frame color",
|
1634 |
-
"type" => "color",
|
1635 |
-
"description" => "Color of the frame around the caption",
|
1636 |
-
"default" => "#ffffff",
|
1637 |
-
"excludeFrom" => array()
|
1638 |
-
),
|
1639 |
-
"captionColor" => array(
|
1640 |
-
"name" => "Caption color",
|
1641 |
-
"type" => "color",
|
1642 |
-
"description" => "Text color of the captions.",
|
1643 |
-
"default" => "#ffffff",
|
1644 |
-
"excludeFrom" => array()
|
1645 |
-
),
|
1646 |
-
"captionEffectDuration" => array(
|
1647 |
-
"name" => "Caption effect duration",
|
1648 |
-
"type" => "text",
|
1649 |
-
"description" => "Duration of the caption animation.",
|
1650 |
-
"default" => 250,
|
1651 |
-
"mu" => "ms",
|
1652 |
-
"min" => 0,
|
1653 |
-
"max" => 1000,
|
1654 |
-
"excludeFrom" => array()
|
1655 |
-
),
|
1656 |
-
"captionBackgroundColor" => array(
|
1657 |
-
"name" => "Caption background color",
|
1658 |
-
"type" => "color",
|
1659 |
-
"description" => "Caption background color",
|
1660 |
-
"default" => "#000000",
|
1661 |
-
"excludeFrom" => array()
|
1662 |
-
),
|
1663 |
-
"captionOpacity" => array(
|
1664 |
-
"name" => "Caption opacity",
|
1665 |
-
"type" => "text",
|
1666 |
-
"description" => "Opacity of the caption, 0% means 'invisible' while 100% is a plain color without opacity.",
|
1667 |
-
"default" => 80,
|
1668 |
-
"min" => 0,
|
1669 |
-
"max" => 100,
|
1670 |
-
"mu" => "%",
|
1671 |
-
"excludeFrom" => array()
|
1672 |
-
),
|
1673 |
-
"wp_field_caption" => array(
|
1674 |
-
"name" => "WordPress caption field",
|
1675 |
-
"type" => "select",
|
1676 |
-
"description" => "WordPress field used for captions. <strong>This field is used ONLY when images are added to the gallery, </strong> however, if you want to ignore captions just set it to '<i>Don't use captions</i>'.",
|
1677 |
-
"values" => array(
|
1678 |
-
"Field" => array("none|Don't use captions", "title|Title", "caption|Caption", "description|Description")
|
1679 |
-
),
|
1680 |
-
"excludeFrom" => array("shortcode")
|
1681 |
-
),
|
1682 |
-
"wp_field_title" => array(
|
1683 |
-
"name" => "WordPress title field",
|
1684 |
-
"type" => "select",
|
1685 |
-
"description" => "WordPress field used for titles. <strong>This field is used ONLY when images are added to the gallery, </strong> however, if you want to ignore titles just set it to '<i>Don't use titles</i>'.",
|
1686 |
-
"values" => array(
|
1687 |
-
"Field" => array("none|Don't use titles", "title|Title", "description|Description")
|
1688 |
-
),
|
1689 |
-
"excludeFrom" => array("shortcode")
|
1690 |
-
),
|
1691 |
-
"recentPostsCaption" => array(
|
1692 |
-
"name" => "Recent posts caption",
|
1693 |
-
"type" => "select",
|
1694 |
-
"description" => "Field of the post used for captions when using \"Recent posts\" as source.",
|
1695 |
-
"values" => array(
|
1696 |
-
"Field" => array("none|Don't use captions", "title|Title", "excerpt|Excerpt", "auto-excerpt|Auto excerpt")
|
1697 |
-
),
|
1698 |
-
"excludeFrom" => array("shortcode")
|
1699 |
-
),
|
1700 |
-
"recentPostsCaptionAutoExcerptLength" => array(
|
1701 |
-
"name" => "Max number of words for 'Auto excerpt'",
|
1702 |
-
"type" => "text",
|
1703 |
-
"description" => "Define the max number of words of the caption when <i>Recent posts caption</i> is set to <i>Auto excerpt</i>.",
|
1704 |
-
"default" => "20",
|
1705 |
-
"excludeFrom" => array()
|
1706 |
-
),
|
1707 |
-
"captionVerticalAlignment" => array(
|
1708 |
-
"name" => "Caption Vertical Alignment",
|
1709 |
-
"type" => "select",
|
1710 |
-
"description" => "Choose the vertical alignment of the caption",
|
1711 |
-
"values" => array("Caption vertical alignment" => array("Top|Top", "Middle|Middle", "Bottom|Bottom")),
|
1712 |
-
"excludeFrom" => array()
|
1713 |
-
),
|
1714 |
-
"captionHorizontalAlignment" => array(
|
1715 |
-
"name" => "Caption Horizontal Alignment",
|
1716 |
-
"type" => "select",
|
1717 |
-
"description" => "Choose the horizontal alignment of the caption",
|
1718 |
-
"values" => array("Caption horizontal alignment" => array("Left|Left", "Center|Center", "Right|Right")),
|
1719 |
-
"excludeFrom" => array()
|
1720 |
-
),
|
1721 |
-
"titleFontSize" => array(
|
1722 |
-
"name" => "Title font size",
|
1723 |
-
"type" => "number",
|
1724 |
-
"description" => "Size of the font in captions.",
|
1725 |
-
"min" => 10,
|
1726 |
-
"max" => 96,
|
1727 |
-
"mu" => "px",
|
1728 |
-
"excludeFrom" => array()
|
1729 |
-
),
|
1730 |
-
|
1731 |
-
|
1732 |
-
)
|
1733 |
-
),
|
1734 |
-
"Hover effects" => array(
|
1735 |
-
"icon" => "mdi-file-image",
|
1736 |
-
"fields" => array(
|
1737 |
-
"hoverZoom" => array(
|
1738 |
-
"name" => "Zoom",
|
1739 |
-
"type" => "PRO_FEATURE",
|
1740 |
-
"description" => "Scale value.",
|
1741 |
-
"default" => 100,
|
1742 |
-
"min" => 0,
|
1743 |
-
"max" => 600,
|
1744 |
-
"mu" => "%",
|
1745 |
-
"excludeFrom" => array()
|
1746 |
-
),
|
1747 |
-
"hoverRotation" => array(
|
1748 |
-
"name" => "Rotation",
|
1749 |
-
"type" => "PRO_FEATURE",
|
1750 |
-
"description" => "Rotation value in degrees.",
|
1751 |
-
"min" => 0,
|
1752 |
-
"max" => 360,
|
1753 |
-
"mu" => "deg",
|
1754 |
-
"default" => 0,
|
1755 |
-
"excludeFrom" => array()
|
1756 |
-
),
|
1757 |
-
"hoverIconRotation" => array(
|
1758 |
-
"name" => "Rotate icon",
|
1759 |
-
"type" => "toggle",
|
1760 |
-
"default" => "F",
|
1761 |
-
"description" => "Enable rotation of the icon.",
|
1762 |
-
"excludeFrom" => array()
|
1763 |
-
)
|
1764 |
-
)
|
1765 |
-
),
|
1766 |
-
"Image loaded effects" => array(
|
1767 |
-
"icon" => "mdi-reload",
|
1768 |
-
"fields" => array(
|
1769 |
-
"loadedScale" => array(
|
1770 |
-
"name" => "Scale",
|
1771 |
-
"description" => "",
|
1772 |
-
"type" => "slider",
|
1773 |
-
"min" => 0,
|
1774 |
-
"max" => 200,
|
1775 |
-
"mu" => "%",
|
1776 |
-
"default" => 100,
|
1777 |
-
"excludeFrom" => array()
|
1778 |
-
),
|
1779 |
-
"loadedRotate" => array(
|
1780 |
-
"name" => "Rotate",
|
1781 |
-
"description" => "",
|
1782 |
-
"type" => "slider",
|
1783 |
-
"min" => -180,
|
1784 |
-
"max" => 180,
|
1785 |
-
"default" => 0,
|
1786 |
-
"mu" => "deg",
|
1787 |
-
"excludeFrom" => array()
|
1788 |
-
),
|
1789 |
-
"loadedHSlide" => array(
|
1790 |
-
"name" => "Horizontal slide",
|
1791 |
-
"description" => "",
|
1792 |
-
"type" => "slider",
|
1793 |
-
"min" => -100,
|
1794 |
-
"max" => 100,
|
1795 |
-
"mu" => "px",
|
1796 |
-
"default" => 0,
|
1797 |
-
"excludeFrom" => array()
|
1798 |
-
),
|
1799 |
-
"loadedVSlide" => array(
|
1800 |
-
"name" => "Vertical slide",
|
1801 |
-
"description" => "",
|
1802 |
-
"type" => "slider",
|
1803 |
-
"min" => -100,
|
1804 |
-
"max" => 100,
|
1805 |
-
"mu" => "px",
|
1806 |
-
"default" => 0,
|
1807 |
-
"excludeFrom" => array()
|
1808 |
-
)
|
1809 |
-
|
1810 |
-
)
|
1811 |
-
),
|
1812 |
-
"Style" => array(
|
1813 |
-
"icon" => "mdi-format-paint",
|
1814 |
-
"fields" => array(
|
1815 |
-
"borderSize" => array(
|
1816 |
-
"name" => "Border size",
|
1817 |
-
"type" => "number",
|
1818 |
-
"description" => "Size of the border of each image.",
|
1819 |
-
"default" => 0,
|
1820 |
-
"min" => 0,
|
1821 |
-
"max" => 10,
|
1822 |
-
"mu" => "px",
|
1823 |
-
"excludeFrom" => array()
|
1824 |
-
),
|
1825 |
-
"borderRadius" => array(
|
1826 |
-
"name" => "Border radius",
|
1827 |
-
"type" => "number",
|
1828 |
-
"description" => "Border radius of the images.",
|
1829 |
-
"default" => 0,
|
1830 |
-
"min" => 0,
|
1831 |
-
"max" => 100,
|
1832 |
-
"mu" => "px",
|
1833 |
-
"excludeFrom" => array()
|
1834 |
-
),
|
1835 |
-
"borderColor" => array(
|
1836 |
-
"name" => "Border color",
|
1837 |
-
"type" => "color",
|
1838 |
-
"description" => "Color of the border when size is greater than 0.",
|
1839 |
-
"default" => "#000000",
|
1840 |
-
"excludeFrom" => array()
|
1841 |
-
),
|
1842 |
-
"loadingBarColor" => array(
|
1843 |
-
"name" => "Loading Bar color",
|
1844 |
-
"type" => "color",
|
1845 |
-
"description" => "Color of the loading bar",
|
1846 |
-
"default" => "#000000",
|
1847 |
-
"excludeFrom" => array()
|
1848 |
-
),
|
1849 |
-
"loadingBarBackgroundColor" => array(
|
1850 |
-
"name" => "Loading Bar background color",
|
1851 |
-
"type" => "color",
|
1852 |
-
"description" => "Background color of the loading bar",
|
1853 |
-
"default" => "#cccccc",
|
1854 |
-
"excludeFrom" => array()
|
1855 |
-
),
|
1856 |
-
"shadowSize" => array(
|
1857 |
-
"name" => "Shadow size",
|
1858 |
-
"type" => "number",
|
1859 |
-
"description" => "Shadow size of the images.",
|
1860 |
-
"default" => 0,
|
1861 |
-
"min" => 0,
|
1862 |
-
"max" => 20,
|
1863 |
-
"mu" => "px",
|
1864 |
-
"excludeFrom" => array()
|
1865 |
-
),
|
1866 |
-
"shadowColor" => array(
|
1867 |
-
"name" => "Shadow color",
|
1868 |
-
"type" => "color",
|
1869 |
-
"description" => "Color of the shadow when size is greater than 0.",
|
1870 |
-
"default" => "#000000",
|
1871 |
-
"excludeFrom" => array()
|
1872 |
-
),
|
1873 |
-
"backgroundColor" => array(
|
1874 |
-
"name" => "Tile background color",
|
1875 |
-
"type" => "color",
|
1876 |
-
"description" => "Background color of tiles",
|
1877 |
-
"default" => "#fafafa",
|
1878 |
-
"excludeFrom" => array()
|
1879 |
-
)
|
1880 |
-
)
|
1881 |
-
),
|
1882 |
-
"Customizations" => array(
|
1883 |
-
"icon" => "mdi-puzzle",
|
1884 |
-
"fields" => array(
|
1885 |
-
"aClass" => array(
|
1886 |
-
"name" => "Additional CSS class on A tag",
|
1887 |
-
"type" => "text",
|
1888 |
-
"description" => "Use this field if you need to add additional CSS classes to the link that contains the image.",
|
1889 |
-
"default" => "",
|
1890 |
-
"excludeFrom" => array()
|
1891 |
-
),
|
1892 |
-
"rel" => array(
|
1893 |
-
"name" => "Value of 'rel' attribute on the link that contains the image.",
|
1894 |
-
"type" => "text",
|
1895 |
-
"description" => "Use this field if you need to add additional CSS classes to the link that contains the image. This is useful mostly to integrate the gallery with other lightbox plugins.",
|
1896 |
-
"default" => "",
|
1897 |
-
"excludeFrom" => array()
|
1898 |
-
),
|
1899 |
-
"beforeGalleryText" => array(
|
1900 |
-
"name" => "Text before gallery",
|
1901 |
-
"type" => "textarea",
|
1902 |
-
"description" => "Use this field to add text/html to be placed just before your gallery.",
|
1903 |
-
"excludeFrom" => array("shortcode")
|
1904 |
-
),
|
1905 |
-
"afterGalleryText" => array(
|
1906 |
-
"name" => "Text after gallery",
|
1907 |
-
"type" => "textarea",
|
1908 |
-
"description" => "Use this field to add text/html to be placed just after your gallery.",
|
1909 |
-
"excludeFrom" => array("shortcode")
|
1910 |
-
),
|
1911 |
-
"style" => array(
|
1912 |
-
"name" => "Custom CSS",
|
1913 |
-
"type" => "textarea",
|
1914 |
-
"description" => "<strong>Write just the code without using the <style> tag.</strong><br>List of useful selectors:<br>
|
1915 |
-
<br>
|
1916 |
-
<ul>
|
1917 |
-
<li>
|
1918 |
-
<em>.final-tiles-gallery</em> : gallery container;
|
1919 |
-
</li>
|
1920 |
-
<li>
|
1921 |
-
<em>.final-tiles-gallery .tile-inner</em> : tile content;
|
1922 |
-
</li>
|
1923 |
-
<li>
|
1924 |
-
<em>.final-tiles-gallery .tile-inner .item</em> : image of the tile;
|
1925 |
-
</li>
|
1926 |
-
<li>
|
1927 |
-
<em>.final-tiles-gallery .tile-inner .caption</em> : caption of the tile;
|
1928 |
-
</li>
|
1929 |
-
<li>
|
1930 |
-
<em>.final-tiles-gallery .ftg-filters</em> : filters container
|
1931 |
-
</li>
|
1932 |
-
<li>
|
1933 |
-
<em>.final-tiles-gallery .ftg-filters a</em> : filter
|
1934 |
-
</li>
|
1935 |
-
<li>
|
1936 |
-
<em>.final-tiles-gallery .ftg-filters a.selected</em> : selected filter
|
1937 |
-
</li>
|
1938 |
-
</ul>",
|
1939 |
-
"excludeFrom" => array("shortcode")
|
1940 |
-
),
|
1941 |
-
"script" => array(
|
1942 |
-
"name" => "Custom scripts",
|
1943 |
-
"type" => "textarea",
|
1944 |
-
"description" => "This script will be called after the gallery initialization. Useful for custom lightboxes.
|
1945 |
-
<br />
|
1946 |
-
<br />
|
1947 |
-
<strong>Write just the code without using the <script></script> tags</strong>",
|
1948 |
-
"excludeFrom" => array("shortcode")
|
1949 |
-
),
|
1950 |
-
"delay" => array(
|
1951 |
-
"name" => "Delay",
|
1952 |
-
"type" => "text",
|
1953 |
-
"description" => "Delay (in milliseconds) before firing the gallery. Sometimes it's needed to avoid conflicts with other plugins.",
|
1954 |
-
"min" => 0,
|
1955 |
-
"max" => 5000,
|
1956 |
-
"mu" => "ms",
|
1957 |
-
"default" => 0,
|
1958 |
-
"excludeFrom" => array()
|
1959 |
-
),
|
1960 |
-
"support" => array(
|
1961 |
-
"name" => "Show developer link",
|
1962 |
-
"type" => "toggle",
|
1963 |
-
"description" => "I want to support this plugin, show the developer link!",
|
1964 |
-
"default" => "F",
|
1965 |
-
"excludeFrom" => array(),
|
1966 |
-
"excludeFrom" => array()
|
1967 |
-
),
|
1968 |
-
"supportText" => array(
|
1969 |
-
"name" => "Developer link text",
|
1970 |
-
"type" => "text",
|
1971 |
-
"description" => "Text for the developer link",
|
1972 |
-
"default" => "powered by Final Tiles Grid Gallery",
|
1973 |
-
"excludeFrom" => array()
|
1974 |
-
),
|
1975 |
-
"envatoReferral" => array(
|
1976 |
-
"name" => "Envato username for referral",
|
1977 |
-
"type" => "text",
|
1978 |
-
"description" => "Enter your Envato username to earn money! Receive 30% of the first purchase or deposit of each referred user. You do not need to activate anything else, you are automatically eligible.",
|
1979 |
-
"default" => "GreenTreeLabs",
|
1980 |
-
"excludeFrom" => array()
|
1981 |
-
)
|
1982 |
-
)
|
1983 |
-
)
|
1984 |
-
);
|
1985 |
-
}
|
1986 |
-
}
|
1987 |
-
|
1988 |
-
if (class_exists("FinalTiles_GalleryLite")) {
|
1989 |
-
global $ob_FinalTiles_GalleryLite;
|
1990 |
-
$ob_FinalTiles_GalleryLite = new FinalTiles_GalleryLite();
|
1991 |
-
}
|
1992 |
-
?>
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Plugin Name: Final Tiles Grid Gallery
|
5 |
+
* Plugin URI: https://www.final-tiles-gallery.com
|
6 |
+
* Description: Wordpress Plugin for creating responsive image galleries. By: GreenTreeLabs
|
7 |
+
* Author: Green Tree Labs
|
8 |
+
* Version: 3.3.13
|
9 |
+
* Author URI: https://www.greentreelabs.net
|
10 |
+
*
|
11 |
+
* @fs_premium_only /lightbox-pro/
|
12 |
+
*
|
13 |
+
*/
|
14 |
+
define( 'FTGVERSION', '3.3.13' );
|
15 |
+
/*
|
16 |
+
Changelog:
|
17 |
+
3.3.13
|
18 |
+
Fixed menu slug
|
19 |
+
3.3.12
|
20 |
+
Lite version code merged with premium
|
21 |
+
3.3.10
|
22 |
+
Bug fix (wrong behaviour on mobile with columns layout)
|
23 |
+
3.3.9
|
24 |
+
Extended support for PHP versions
|
25 |
+
3.3.8
|
26 |
+
Bug fix (Woocommerce categories were ignored)
|
27 |
+
3.3.7
|
28 |
+
Bug fix (Youtube videos not showing in lightboxes)
|
29 |
+
3.3.6
|
30 |
+
Bug fix (Vimeo videos not showing in lightboxes)
|
31 |
+
3.3.5
|
32 |
+
Enhanced compatibility with EverlightBox
|
33 |
+
3.3.4
|
34 |
+
Bug fix (woocommerce 3.1.x galleries not working)
|
35 |
+
Admin UI minor fixes
|
36 |
+
3.3.3
|
37 |
+
Bug fix (wrong behaviour of captions on mobile devices)
|
38 |
+
3.3.2
|
39 |
+
Bug fix (videos not using the masonry layout)
|
40 |
+
3.3.1
|
41 |
+
Bug fix (videos not visible)
|
42 |
+
3.3.0
|
43 |
+
Use gallery options inside shortcode
|
44 |
+
Enhanced backend UI
|
45 |
+
Added new caption behaviours
|
46 |
+
Fix FitVid conflicts
|
47 |
+
Added Hover effects and Image loaded effects presets
|
48 |
+
Added hover effect duration
|
49 |
+
Added new feature: disable grid size below given screen width
|
50 |
+
Added title and description to LightGallery
|
51 |
+
3.2.9
|
52 |
+
Added support for EverlightBox
|
53 |
+
Renamed get_image_sizes function to avoid conflicts
|
54 |
+
3.2.8
|
55 |
+
Minor Bug fix
|
56 |
+
3.2.7
|
57 |
+
Minor Bug fix
|
58 |
+
3.2.6
|
59 |
+
Bug fix
|
60 |
+
New feature: choose image size for lightbox
|
61 |
+
3.2.5
|
62 |
+
SwipeBox now supports filters
|
63 |
+
Download the full size from LighGallery
|
64 |
+
Ajax loading (beta)
|
65 |
+
3.2.4
|
66 |
+
Bug fix
|
67 |
+
3.2.3
|
68 |
+
Bug fix
|
69 |
+
3.2.2
|
70 |
+
Bug fix
|
71 |
+
3.2.1
|
72 |
+
Bug fix
|
73 |
+
3.2.0
|
74 |
+
Lightbox groups
|
75 |
+
Hidden images
|
76 |
+
3.1.32
|
77 |
+
Added date filter to media panel
|
78 |
+
Added support to Enhanced Media Panel
|
79 |
+
Lazy loading with multiple image loading
|
80 |
+
Pre-selected filter
|
81 |
+
3.1.31
|
82 |
+
Enhanced compatibility with other plugins and themes by adding data-class attribute on images
|
83 |
+
3.1.30
|
84 |
+
Fixed jQuery issue
|
85 |
+
3.1.29
|
86 |
+
Minor bug fix
|
87 |
+
3.1.28
|
88 |
+
Bug fix
|
89 |
+
3.1.27
|
90 |
+
Alt tag
|
91 |
+
3.1.26
|
92 |
+
Bug fix
|
93 |
+
3.1.25
|
94 |
+
Bug fix
|
95 |
+
3.1.24
|
96 |
+
Bug fix
|
97 |
+
3.1.23
|
98 |
+
Fixed bug occuring with Lazy load + Filters
|
99 |
+
3.1.22
|
100 |
+
Lazy load
|
101 |
+
3.1.21
|
102 |
+
New layout Masonry
|
103 |
+
3.1.20
|
104 |
+
Max number of posts for "Recent posts" galleries
|
105 |
+
3.1.19
|
106 |
+
Open videos in lightbox
|
107 |
+
3.1.18
|
108 |
+
Admin panel enhancements
|
109 |
+
Fixed issue about Magnific Popup being loaded even when not needed
|
110 |
+
3.1.17
|
111 |
+
New lightbox added: Lightgallery
|
112 |
+
Fixed minor bug in Custom CSS (removed slashes)
|
113 |
+
3.1.16
|
114 |
+
Fixed bug in 'Recent posts' galleries, now it's possible to link posts
|
115 |
+
3.1.15
|
116 |
+
Added new lightbox: LightGallery
|
117 |
+
3.1.14
|
118 |
+
Import/Export features, Set title font size, select images by filter (backend), choose mobile lightbox
|
119 |
+
3.1.13
|
120 |
+
Fixed issue with some lightboxes on pages with more than one gallery
|
121 |
+
3.1.12
|
122 |
+
Solved conflicts with FitVids
|
123 |
+
3.1.11
|
124 |
+
[Backend] edit gallery by clicking the tile
|
125 |
+
3.1.10
|
126 |
+
Bug fix
|
127 |
+
3.1.9
|
128 |
+
Load gallery with a selected filter, choose to reload page after clicking a filter,
|
129 |
+
choose gallery from text editor, load scripts from footer for enhanced page load
|
130 |
+
3.1.8
|
131 |
+
Updated material design fonts
|
132 |
+
3.1.7
|
133 |
+
Fix grid size 0
|
134 |
+
3.1.6
|
135 |
+
Minor bug fix
|
136 |
+
3.1.5
|
137 |
+
Image loaded effects
|
138 |
+
3.1.4
|
139 |
+
Bug fix
|
140 |
+
3.1.3
|
141 |
+
Set a custom label for "All" filter, Choose size of images in admin panel, Loading bar color, Loading bar background color, Caption font size, Sequential image loading
|
142 |
+
3.1.2
|
143 |
+
PrettyPhoto security fix
|
144 |
+
3.1.1
|
145 |
+
Minor bug fix
|
146 |
+
3.1.0
|
147 |
+
New Backoffice
|
148 |
+
Wizard
|
149 |
+
WooCommerce products
|
150 |
+
New caption styles
|
151 |
+
Earn money with referral
|
152 |
+
3.0.21
|
153 |
+
Bug fix
|
154 |
+
3.0.20
|
155 |
+
Support for Social Gallery plugin by EpicPlugins
|
156 |
+
3.0.19
|
157 |
+
Bug fix
|
158 |
+
3.0.18
|
159 |
+
Posts galleries can use lightboxes
|
160 |
+
3.0.17
|
161 |
+
Bug fix
|
162 |
+
3.0.16
|
163 |
+
Filters available with recent posts
|
164 |
+
3.0.15
|
165 |
+
bug fix
|
166 |
+
3.1.14
|
167 |
+
New customization fields: before gallery text and after gallery text
|
168 |
+
3.0.13
|
169 |
+
Removed unused gallery properties
|
170 |
+
Read "Description" field from media panel
|
171 |
+
Added delay control
|
172 |
+
3.0.12
|
173 |
+
minor bug fix
|
174 |
+
3.0.11
|
175 |
+
Image width and height attributes are now ignored
|
176 |
+
3.0.10
|
177 |
+
Added compatibility with Cherry themes
|
178 |
+
3.0.9
|
179 |
+
Minor bug fix
|
180 |
+
3.0.8
|
181 |
+
Minor bug fix
|
182 |
+
3.0.7
|
183 |
+
Minor bug fix
|
184 |
+
3.0.6
|
185 |
+
Added filters in media panel
|
186 |
+
3.0.5
|
187 |
+
Minor bug fix
|
188 |
+
3.0.4
|
189 |
+
Minor bug fix
|
190 |
+
3.0.3
|
191 |
+
Bug fix
|
192 |
+
3.0.2
|
193 |
+
Bug fix
|
194 |
+
3.0.1
|
195 |
+
Bug fix
|
196 |
+
3.0
|
197 |
+
New grid layout algorithm
|
198 |
+
Video support, reverse order option
|
199 |
+
Automatic gallery with recent posts, toggle HTML compression, caption behavior on mobile devices, custom caption icon, update to FontAwesone 4.1.0
|
200 |
+
2.1.10
|
201 |
+
Lazy loading
|
202 |
+
2.1.9
|
203 |
+
Fixed issue with single quote character in captions
|
204 |
+
2.1.8
|
205 |
+
Re-activated html compression
|
206 |
+
2.1.7
|
207 |
+
Fixed notice messages
|
208 |
+
2.1.6
|
209 |
+
Magnific Popup and Lightbox now work with gallery filters
|
210 |
+
2.1.5
|
211 |
+
New feature: dynamic image size factor
|
212 |
+
2.1.4
|
213 |
+
New fields: CSS class and REL on A tag
|
214 |
+
2.1.3
|
215 |
+
Social icons bug fix
|
216 |
+
|
217 |
+
2.1.2
|
218 |
+
Show empty captions
|
219 |
+
Inverted captions (visible then hidden on mouse over)
|
220 |
+
Icons in captions
|
221 |
+
Admin redesign UI
|
222 |
+
Enable/Disable effects on mouse over
|
223 |
+
Caption auto height
|
224 |
+
Set color of social sharing icons
|
225 |
+
Fixed captions
|
226 |
+
Loading progress bar
|
227 |
+
Minor bugs fixes
|
228 |
+
Page with support request instructions
|
229 |
+
Page with instructions
|
230 |
+
*/
|
231 |
+
if ( !function_exists( 'ftg_fs' ) ) {
|
232 |
+
// Create a helper function for easy SDK access.
|
233 |
+
function ftg_fs()
|
234 |
+
{
|
235 |
+
global $ftg_fs ;
|
236 |
+
|
237 |
+
if ( !isset( $ftg_fs ) ) {
|
238 |
+
// Include Freemius SDK.
|
239 |
+
require_once dirname( __FILE__ ) . '/freemius/start.php';
|
240 |
+
$ftg_fs = fs_dynamic_init( array(
|
241 |
+
'id' => '1002',
|
242 |
+
'slug' => 'final-tiles-grid-gallery-lite',
|
243 |
+
'type' => 'plugin',
|
244 |
+
'public_key' => 'pk_d0e075b84d491d510a1d0a21087af',
|
245 |
+
'is_premium' => false,
|
246 |
+
'is_premium_only' => false,
|
247 |
+
'has_addons' => false,
|
248 |
+
'has_paid_plans' => true,
|
249 |
+
'menu' => array(
|
250 |
+
'slug' => 'ftg-lite-gallery-admin',
|
251 |
+
'contact' => false,
|
252 |
+
'support' => false,
|
253 |
+
),
|
254 |
+
'is_live' => true,
|
255 |
+
) );
|
256 |
+
}
|
257 |
+
|
258 |
+
return $ftg_fs;
|
259 |
+
}
|
260 |
+
|
261 |
+
}
|
262 |
+
// Init Freemius.
|
263 |
+
ftg_fs();
|
264 |
+
// Signal that SDK was initiated.
|
265 |
+
do_action( 'ftg_fs_loaded' );
|
266 |
+
if ( !class_exists( 'FinalTiles_Gallery' ) ) {
|
267 |
+
class FinalTiles_Gallery
|
268 |
+
{
|
269 |
+
private $defaultValues = array(
|
270 |
+
'aClass' => '',
|
271 |
+
'afterGalleryText' => '',
|
272 |
+
'allFilterLabel' => 'All',
|
273 |
+
'ajaxLoading' => 'F',
|
274 |
+
'backgroundColor' => 'transparent',
|
275 |
+
'beforeGalleryText' => '',
|
276 |
+
'blank' => 'F',
|
277 |
+
'borderColor' => 'transparent',
|
278 |
+
'borderRadius' => 0,
|
279 |
+
'borderSize' => 0,
|
280 |
+
'captionBackgroundColor' => '#000000',
|
281 |
+
'captionBehavior' => 'none',
|
282 |
+
'captionColor' => '#ffffff',
|
283 |
+
'captionEasing' => 'linear',
|
284 |
+
'captionEffect' => 'slide-from-bottom',
|
285 |
+
'captionEffectDuration' => 250,
|
286 |
+
'captionEmpty' => 'hide',
|
287 |
+
'captionFontSize' => 12,
|
288 |
+
'captionFrame' => 'F',
|
289 |
+
'captionFrameColor' => '#ffffff',
|
290 |
+
'captionHorizontalAlignment' => 'center',
|
291 |
+
'captionIcon' => 'zoom',
|
292 |
+
'captionIconColor' => '#ffffff',
|
293 |
+
'captionIconSize' => 12,
|
294 |
+
'captionMobileBehavior' => 'desktop',
|
295 |
+
'captionOpacity' => 80,
|
296 |
+
'captionPosition' => 'inside',
|
297 |
+
'captionVerticalAlignment' => 'middle',
|
298 |
+
'columns' => 4,
|
299 |
+
'columnsPhoneLandscape' => 3,
|
300 |
+
'columnsPhonePortrait' => 2,
|
301 |
+
'columnsTabletLandscape' => 4,
|
302 |
+
'columnsTabletPortrait' => 3,
|
303 |
+
'compressHTML' => 'T',
|
304 |
+
'customCaptionIcon' => '',
|
305 |
+
'defaultFilter' => '',
|
306 |
+
'defaultSize' => 'medium',
|
307 |
+
'delay' => 0,
|
308 |
+
'disableLightboxGroups' => 'F',
|
309 |
+
'enableFacebook' => 'F',
|
310 |
+
'enableGplus' => 'F',
|
311 |
+
'enablePinterest' => 'F',
|
312 |
+
'enableTwitter' => 'F',
|
313 |
+
'enlargeImages' => 'T',
|
314 |
+
'envatoReferral' => 'GreenTreeLabs',
|
315 |
+
'filterClick' => 'F',
|
316 |
+
'filters' => '',
|
317 |
+
'gridCellSize' => 25,
|
318 |
+
'gridCellSizeDisabledBelow' => 800,
|
319 |
+
'hoverDuration' => 250,
|
320 |
+
'hoverIconRotation' => 'F',
|
321 |
+
'hoverRotation' => 0,
|
322 |
+
'hoverZoom' => 100,
|
323 |
+
'imageSizeFactor' => 90,
|
324 |
+
'imageSizeFactorCustom' => '',
|
325 |
+
'imageSizeFactorPhoneLandscape' => 60,
|
326 |
+
'imageSizeFactorPhonePortrait' => 50,
|
327 |
+
'imageSizeFactorTabletLandscape' => 80,
|
328 |
+
'imageSizeFactorTabletPortrait' => 70,
|
329 |
+
'imagesOrder' => 'user',
|
330 |
+
'layout' => 'final',
|
331 |
+
'lazyLoad' => false,
|
332 |
+
'lightbox' => 'lightbox2',
|
333 |
+
'lightboxImageSize' => 'large',
|
334 |
+
'loadedDuration' => 500,
|
335 |
+
'loadedEasing' => 'ease-out',
|
336 |
+
'loadedHSlide' => 0,
|
337 |
+
'loadedRotateY' => 0,
|
338 |
+
'loadedRotateX' => 0,
|
339 |
+
'loadedScaleY' => 100,
|
340 |
+
'loadedScaleX' => 100,
|
341 |
+
'loadedVSlide' => 0,
|
342 |
+
'loadingBarBackgroundColor' => '#fff',
|
343 |
+
'loadingBarColor' => '#666',
|
344 |
+
'loadMethod' => 'sequential',
|
345 |
+
'margin' => 10,
|
346 |
+
'max_posts' => 0,
|
347 |
+
'minTileWidth' => '250',
|
348 |
+
'mobileLightbox' => 'lightbox',
|
349 |
+
'post_types' => '',
|
350 |
+
'recentPostsCaption' => 'title',
|
351 |
+
'recentPostsCaptionAutoExcerptLength' => 20,
|
352 |
+
'rel' => '',
|
353 |
+
'reverseOrder' => false,
|
354 |
+
'script' => '',
|
355 |
+
'shadowColor' => '#cccccc',
|
356 |
+
'shadowSize' => 0,
|
357 |
+
'socialIconColor' => '#ffffff',
|
358 |
+
'socialIconPosition' => 'bottom',
|
359 |
+
'socialIconStyle' => 'none',
|
360 |
+
'source' => 'images',
|
361 |
+
'style' => '',
|
362 |
+
'support' => 'F',
|
363 |
+
'supportText' => 'Powered by Final Tiles Grid Gallery',
|
364 |
+
'tilesPerPage' => 0,
|
365 |
+
'titleFontSize' => 14,
|
366 |
+
'width' => '100%',
|
367 |
+
'wp_field_caption' => 'description',
|
368 |
+
'wp_field_title' => 'title',
|
369 |
+
) ;
|
370 |
+
//Constructor
|
371 |
+
public function __construct()
|
372 |
+
{
|
373 |
+
$this->plugin_name = plugin_basename( __FILE__ );
|
374 |
+
$this->define_constants();
|
375 |
+
$this->setupFields();
|
376 |
+
$this->define_db_tables();
|
377 |
+
$this->FinalTilesdb = $this->create_db_conn();
|
378 |
+
register_activation_hook( __FILE__, array( $this, 'activation' ) );
|
379 |
+
add_filter( 'widget_text', 'do_shortcode' );
|
380 |
+
add_action( 'plugins_loaded', array( $this, 'create_textdomain' ) );
|
381 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'add_gallery_scripts' ) );
|
382 |
+
//add_action( 'admin_init', array($this,'gallery_admin_init') );
|
383 |
+
add_action( 'admin_menu', array( $this, 'add_gallery_admin_menu' ) );
|
384 |
+
add_shortcode( 'FinalTilesGallery', array( $this, 'gallery_shortcode_handler' ) );
|
385 |
+
add_action( 'wp_ajax_save_gallery', array( $this, 'save_gallery' ) );
|
386 |
+
add_action( 'wp_ajax_add_new_gallery', array( $this, 'add_new_gallery' ) );
|
387 |
+
add_action( 'wp_ajax_delete_gallery', array( $this, 'delete_gallery' ) );
|
388 |
+
add_action( 'wp_ajax_clone_gallery', array( $this, 'clone_gallery' ) );
|
389 |
+
add_action( 'wp_ajax_save_image', array( $this, 'save_image' ) );
|
390 |
+
add_action( 'wp_ajax_add_image', array( $this, 'add_image' ) );
|
391 |
+
add_action( 'wp_ajax_save_video', array( $this, 'save_video' ) );
|
392 |
+
add_action( 'wp_ajax_sort_images', array( $this, 'sort_images' ) );
|
393 |
+
add_action( 'wp_ajax_delete_image', array( $this, 'delete_image' ) );
|
394 |
+
add_action( 'wp_ajax_assign_filters', array( $this, 'assign_filters' ) );
|
395 |
+
add_action( 'wp_ajax_assign_group', array( $this, 'assign_group' ) );
|
396 |
+
add_action( 'wp_ajax_toggle_visibility', array( $this, 'toggle_visibility' ) );
|
397 |
+
add_action( 'wp_ajax_refresh_gallery', array( $this, 'refresh_gallery' ) );
|
398 |
+
add_action( 'wp_ajax_get_gallery_configuration', array( $this, 'get_configuration' ) );
|
399 |
+
add_action( 'wp_ajax_update_gallery_configuration', array( $this, 'update_configuration' ) );
|
400 |
+
add_action( 'wp_ajax_get_image_size_url', array( $this, 'get_image_size_url' ) );
|
401 |
+
add_filter( 'mce_buttons', array( $this, 'editor_button' ) );
|
402 |
+
add_filter( 'mce_external_plugins', array( $this, 'register_editor_plugin' ) );
|
403 |
+
add_action( 'wp_ajax_ftg_shortcode_editor', array( $this, 'ftg_shortcode_editor' ) );
|
404 |
+
add_filter(
|
405 |
+
'plugin_row_meta',
|
406 |
+
array( $this, 'register_links' ),
|
407 |
+
10,
|
408 |
+
2
|
409 |
+
);
|
410 |
+
add_action( 'wp_ajax_load_chunk', array( $this, 'load_chunk' ) );
|
411 |
+
add_action( 'wp_ajax_nopriv_load_chunk', array( $this, 'load_chunk' ) );
|
412 |
+
$this->resetFields();
|
413 |
+
}
|
414 |
+
|
415 |
+
private function resetFields()
|
416 |
+
{
|
417 |
+
$keys = array(
|
418 |
+
'name',
|
419 |
+
'hiddenFor',
|
420 |
+
'type',
|
421 |
+
'description',
|
422 |
+
'default',
|
423 |
+
'min',
|
424 |
+
'max',
|
425 |
+
'mu',
|
426 |
+
'excludeFrom'
|
427 |
+
);
|
428 |
+
foreach ( $this->fields as $tab_name => $tab ) {
|
429 |
+
foreach ( $tab['fields'] as $key => $field ) {
|
430 |
+
//print_r($field);
|
431 |
+
foreach ( $keys as $kk ) {
|
432 |
+
if ( !array_key_exists( $kk, $field ) ) {
|
433 |
+
$this->fields[$tab_name]['fields'][$key][$kk] = '';
|
434 |
+
}
|
435 |
+
}
|
436 |
+
}
|
437 |
+
}
|
438 |
+
}
|
439 |
+
|
440 |
+
public function register_links( $links, $file )
|
441 |
+
{
|
442 |
+
$base = plugin_basename( __FILE__ );
|
443 |
+
|
444 |
+
if ( $file == $base ) {
|
445 |
+
$links[] = '<a href="admin.php?page=ftg-lite-gallery-admin" title="Final Tiles Grid Gallery Dashboard">Dashboard</a>';
|
446 |
+
$links[] = '<a href="https://www.greentreelabs.net" title="GreenTreeLabs website">GreenTreeLabs</a>';
|
447 |
+
$links[] = '<a href="https://twitter.com/greentreelabs" title="@GreenTreeLabs on Twitter">Twitter</a>';
|
448 |
+
$links[] = '<a href="https://www.facebook.com/greentreelabs" title="GreenTreeLabs on Facebook">Facebook</a>';
|
449 |
+
$links[] = '<a href="https://www.google.com/+GreentreelabsNetjs" title="GreenTreeLabs on Google+">Google+</a>';
|
450 |
+
}
|
451 |
+
|
452 |
+
return $links;
|
453 |
+
}
|
454 |
+
|
455 |
+
public function create_db_tables()
|
456 |
+
{
|
457 |
+
include_once WP_PLUGIN_DIR . '/final-tiles-grid-gallery-lite/lib/install-db.php';
|
458 |
+
install_db();
|
459 |
+
}
|
460 |
+
|
461 |
+
public function activation()
|
462 |
+
{
|
463 |
+
}
|
464 |
+
|
465 |
+
//Define textdomain
|
466 |
+
public function create_textdomain()
|
467 |
+
{
|
468 |
+
$plugin_dir = basename( dirname( __FILE__ ) );
|
469 |
+
load_plugin_textdomain( 'final-tiles-gallery', false, dirname( plugin_basename( __FILE__ ) ) . '/lib/languages/' );
|
470 |
+
}
|
471 |
+
|
472 |
+
//Define constants
|
473 |
+
public function define_constants()
|
474 |
+
{
|
475 |
+
if ( !defined( 'FINALTILESGALLERY_PLUGIN_BASENAME' ) ) {
|
476 |
+
define( 'FINALTILESGALLERY_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
477 |
+
}
|
478 |
+
if ( !defined( 'FINALTILESGALLERY_PLUGIN_NAME' ) ) {
|
479 |
+
define( 'FINALTILESGALLERY_PLUGIN_NAME', trim( dirname( FINALTILESGALLERY_PLUGIN_BASENAME ), '/' ) );
|
480 |
+
}
|
481 |
+
if ( !defined( 'FINALTILESGALLERY_PLUGIN_DIR' ) ) {
|
482 |
+
define( 'FINALTILESGALLERY_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . FINALTILESGALLERY_PLUGIN_NAME );
|
483 |
+
}
|
484 |
+
}
|
485 |
+
|
486 |
+
//Define DB tables
|
487 |
+
public function define_db_tables()
|
488 |
+
{
|
489 |
+
global $wpdb ;
|
490 |
+
$wpdb->FinalTilesGalleries = $wpdb->prefix . 'FinalTiles_gallery';
|
491 |
+
$wpdb->FinalTilesImages = $wpdb->prefix . 'FinalTiles_gallery_images';
|
492 |
+
}
|
493 |
+
|
494 |
+
public function create_db_conn()
|
495 |
+
{
|
496 |
+
require 'lib/db-class.php';
|
497 |
+
$FinalTilesdb = FinalTilesDB::getInstance();
|
498 |
+
return $FinalTilesdb;
|
499 |
+
}
|
500 |
+
|
501 |
+
public function editor_button( $buttons )
|
502 |
+
{
|
503 |
+
array_push( $buttons, 'separator', 'ftg_shortcode_editor' );
|
504 |
+
return $buttons;
|
505 |
+
}
|
506 |
+
|
507 |
+
public function register_editor_plugin( $plugin_array )
|
508 |
+
{
|
509 |
+
$plugin_array['ftg_shortcode_editor'] = plugins_url( '/admin/scripts/editor-plugin.js', __FILE__ );
|
510 |
+
return $plugin_array;
|
511 |
+
}
|
512 |
+
|
513 |
+
public function ftg_shortcode_editor()
|
514 |
+
{
|
515 |
+
$css_path = plugins_url( 'assets/css/admin.css', __FILE__ );
|
516 |
+
$admin_url = admin_url();
|
517 |
+
$galleries = $this->FinalTilesdb->getGalleries();
|
518 |
+
//load all galleries
|
519 |
+
include 'admin/include/tinymce-galleries.php';
|
520 |
+
wp_die();
|
521 |
+
}
|
522 |
+
|
523 |
+
public function attachment_fields_to_edit( $form, $post )
|
524 |
+
{
|
525 |
+
$form['ftg_link'] = array(
|
526 |
+
'label' => 'Link <small>FTG</small>',
|
527 |
+
'input' => 'text',
|
528 |
+
'value' => get_post_meta( $post->ID, '_ftg_link', true ),
|
529 |
+
'helps' => '',
|
530 |
+
);
|
531 |
+
$form['ftg_target'] = array(
|
532 |
+
'label' => '_blank <small>FTG</small>',
|
533 |
+
'input' => 'html',
|
534 |
+
'html' => "<input type='checkbox' name='attachments[{$post->ID}][ftg_target]' id='attachments[{$post->ID}][ftg_target]' value='_mblank' " . (( get_post_meta( $post->ID, '_ftg_target', true ) == '_mblank' ? 'checked' : '' )) . ' />',
|
535 |
+
);
|
536 |
+
return $form;
|
537 |
+
}
|
538 |
+
|
539 |
+
public function attachment_fields_to_save( $post, $attachment )
|
540 |
+
{
|
541 |
+
if ( isset( $attachment['ftg_link'] ) ) {
|
542 |
+
update_post_meta( $post['ID'], '_ftg_link', $attachment['ftg_link'] );
|
543 |
+
}
|
544 |
+
if ( isset( $attachment['ftg_target'] ) ) {
|
545 |
+
update_post_meta( $post['ID'], '_ftg_target', $attachment['ftg_target'] );
|
546 |
+
}
|
547 |
+
return $post;
|
548 |
+
}
|
549 |
+
|
550 |
+
//Delete gallery
|
551 |
+
public function delete_gallery()
|
552 |
+
{
|
553 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
554 |
+
$this->FinalTilesdb->deleteGallery( intval( $_POST['id'] ) );
|
555 |
+
}
|
556 |
+
die;
|
557 |
+
}
|
558 |
+
|
559 |
+
public function update_configuration()
|
560 |
+
{
|
561 |
+
|
562 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
563 |
+
$id = $_POST['galleryId'];
|
564 |
+
$config = stripslashes( $_POST['config'] );
|
565 |
+
$this->FinalTilesdb->update_config( $id, $config );
|
566 |
+
}
|
567 |
+
|
568 |
+
die;
|
569 |
+
}
|
570 |
+
|
571 |
+
public function get_configuration()
|
572 |
+
{
|
573 |
+
|
574 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
575 |
+
$id = $_POST['galleryId'];
|
576 |
+
$gallery = $this->FinalTilesdb->getGalleryConfig( $id );
|
577 |
+
echo $gallery ;
|
578 |
+
}
|
579 |
+
|
580 |
+
die;
|
581 |
+
}
|
582 |
+
|
583 |
+
public function get_image_size_url()
|
584 |
+
{
|
585 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
586 |
+
echo wp_get_attachment_image_url( $_POST['id'], $_POST['size'], false ) ;
|
587 |
+
}
|
588 |
+
die;
|
589 |
+
}
|
590 |
+
|
591 |
+
//Clone gallery
|
592 |
+
public function clone_gallery()
|
593 |
+
{
|
594 |
+
|
595 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
596 |
+
$sourceId = intval( $_POST['id'] );
|
597 |
+
$g = $this->FinalTilesdb->getGalleryById( $sourceId, true );
|
598 |
+
$g['name'] .= ' (copy)';
|
599 |
+
$this->FinalTilesdb->addGallery( $g );
|
600 |
+
$id = $this->FinalTilesdb->getNewGalleryId();
|
601 |
+
$images = $this->FinalTilesdb->getImagesByGalleryId( $sourceId );
|
602 |
+
foreach ( $images as &$image ) {
|
603 |
+
$image->Id = null;
|
604 |
+
$image->gid = $id;
|
605 |
+
}
|
606 |
+
$this->FinalTilesdb->addImages( $id, $images );
|
607 |
+
}
|
608 |
+
|
609 |
+
die;
|
610 |
+
}
|
611 |
+
|
612 |
+
//Add gallery scripts
|
613 |
+
public function add_gallery_scripts()
|
614 |
+
{
|
615 |
+
wp_enqueue_script( 'jquery' );
|
616 |
+
wp_register_script(
|
617 |
+
'finalTilesGallery',
|
618 |
+
plugins_url( 'scripts/jquery.finalTilesGallery.js', __FILE__ ),
|
619 |
+
array( 'jquery' ),
|
620 |
+
FTGVERSION,
|
621 |
+
true
|
622 |
+
);
|
623 |
+
wp_enqueue_script( 'finalTilesGallery' );
|
624 |
+
wp_register_style(
|
625 |
+
'finalTilesGallery_stylesheet',
|
626 |
+
plugins_url( 'scripts/ftg.css', __FILE__ ),
|
627 |
+
array(),
|
628 |
+
FTGVERSION
|
629 |
+
);
|
630 |
+
wp_enqueue_style( 'finalTilesGallery_stylesheet' );
|
631 |
+
wp_register_script( 'lightbox2_script', plugins_url( 'lightbox/lightbox2/js/script.js', __FILE__ ), array( 'jquery' ) );
|
632 |
+
wp_register_style( 'lightbox2_stylesheet', plugins_url( 'lightbox/lightbox2/css/style.css', __FILE__ ) );
|
633 |
+
wp_register_style( 'fontawesome_stylesheet', '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css' );
|
634 |
+
wp_enqueue_style( 'fontawesome_stylesheet' );
|
635 |
+
}
|
636 |
+
|
637 |
+
//Admin Section - register scripts and styles
|
638 |
+
public function gallery_admin_init()
|
639 |
+
{
|
640 |
+
if ( function_exists( 'wp_enqueue_media' ) ) {
|
641 |
+
wp_enqueue_media();
|
642 |
+
}
|
643 |
+
$ftg_db_version = '5.0';
|
644 |
+
$installed_ver = get_option( 'FinalTiles_gallery_db_version' );
|
645 |
+
if ( !$installed_ver ) {
|
646 |
+
update_option( 'FinalTiles_gallery_db_version', $ftg_db_version );
|
647 |
+
}
|
648 |
+
$this->FinalTilesdb->updateConfiguration();
|
649 |
+
|
650 |
+
if ( $installed_ver != $ftg_db_version ) {
|
651 |
+
$this->create_db_tables();
|
652 |
+
update_option( 'FinalTiles_gallery_db_version', $ftg_db_version );
|
653 |
+
}
|
654 |
+
|
655 |
+
function ftg_get_image_sizes()
|
656 |
+
{
|
657 |
+
global $_wp_additional_image_sizes ;
|
658 |
+
$sizes = array();
|
659 |
+
foreach ( get_intermediate_image_sizes() as $_size ) {
|
660 |
+
|
661 |
+
if ( in_array( $_size, array(
|
662 |
+
'thumbnail',
|
663 |
+
'medium',
|
664 |
+
'medium_large',
|
665 |
+
'large'
|
666 |
+
) ) ) {
|
667 |
+
$sizes[$_size]['width'] = get_option( "{$_size}_size_w" );
|
668 |
+
$sizes[$_size]['height'] = get_option( "{$_size}_size_h" );
|
669 |
+
$sizes[$_size]['crop'] = (bool) get_option( "{$_size}_crop" );
|
670 |
+
} elseif ( isset( $_wp_additional_image_sizes[$_size] ) ) {
|
671 |
+
$sizes[$_size] = array(
|
672 |
+
'width' => $_wp_additional_image_sizes[$_size]['width'],
|
673 |
+
'height' => $_wp_additional_image_sizes[$_size]['height'],
|
674 |
+
'crop' => $_wp_additional_image_sizes[$_size]['crop'],
|
675 |
+
);
|
676 |
+
}
|
677 |
+
|
678 |
+
}
|
679 |
+
return $sizes;
|
680 |
+
}
|
681 |
+
|
682 |
+
foreach ( ftg_get_image_sizes() as $name => $size ) {
|
683 |
+
$this->fields['Links & Lightbox']['fields']['lightboxImageSize']['values']['Size'][] = $name . '|' . $name . ' (' . $size['width'] . 'x' . $size['height'] . (( $size['crop'] ? ' cropped)' : ')' ));
|
684 |
+
}
|
685 |
+
$this->fields['Links & Lightbox']['fields']['lightboxImageSize']['values']['Size'][] = 'full|Original (full)';
|
686 |
+
wp_enqueue_script( 'jquery' );
|
687 |
+
wp_enqueue_script( 'jquery-ui-dialog' );
|
688 |
+
wp_enqueue_script( 'jquery-ui-sortable' );
|
689 |
+
wp_enqueue_script( 'wp-color-picker' );
|
690 |
+
wp_enqueue_style( 'wp-color-picker' );
|
691 |
+
wp_enqueue_script( 'media-upload' );
|
692 |
+
wp_enqueue_script( 'thickbox' );
|
693 |
+
//wp_register_script('futurico', plugins_url().'/final-tiles-grid-gallery-lite/admin/scripts/SCF.ui.js', array('jquery', 'chosen'));
|
694 |
+
//wp_enqueue_script('futurico');
|
695 |
+
wp_register_style( 'google-fonts', '//fonts.googleapis.com/css?family=Roboto:400,700,500,300,900' );
|
696 |
+
wp_enqueue_style( 'google-fonts' );
|
697 |
+
wp_register_style( 'google-icons', '//cdn.materialdesignicons.com/1.9.32/css/materialdesignicons.min.css', array() );
|
698 |
+
wp_enqueue_style( 'google-icons' );
|
699 |
+
wp_register_style( 'final-tiles-gallery-admin', plugins_url( 'admin/css/style.css', __FILE__ ), array( 'colors' ) );
|
700 |
+
wp_enqueue_style( 'final-tiles-gallery-admin' );
|
701 |
+
wp_register_script( 'materialize', plugins_url( 'admin/scripts/materialize.min.js', __FILE__ ), array( 'jquery' ) );
|
702 |
+
wp_enqueue_script( 'materialize' );
|
703 |
+
wp_register_script( 'final-tiles-gallery', plugins_url( 'admin/scripts/final-tiles-gallery-admin.js', __FILE__ ), array(
|
704 |
+
'jquery',
|
705 |
+
'media-upload',
|
706 |
+
'thickbox',
|
707 |
+
'materialize'
|
708 |
+
) );
|
709 |
+
wp_enqueue_script( 'final-tiles-gallery' );
|
710 |
+
wp_enqueue_style( 'thickbox' );
|
711 |
+
wp_register_style( 'fontawesome_stylesheet', '//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css' );
|
712 |
+
wp_enqueue_style( 'fontawesome_stylesheet' );
|
713 |
+
}
|
714 |
+
|
715 |
+
//Create Admin Menu
|
716 |
+
public function add_gallery_admin_menu()
|
717 |
+
{
|
718 |
+
$overview = add_menu_page(
|
719 |
+
'Final Tiles Gallery',
|
720 |
+
'Final Tiles Gallery',
|
721 |
+
'edit_posts',
|
722 |
+
'ftg-lite-gallery-admin',
|
723 |
+
array( $this, 'add_overview' ),
|
724 |
+
plugins_url() . '/final-tiles-grid-gallery-lite/admin/icon.png'
|
725 |
+
);
|
726 |
+
$add_gallery = add_submenu_page(
|
727 |
+
'ftg-lite-gallery-admin',
|
728 |
+
__( 'FinalTiles Gallery >> Add Gallery', 'FinalTiles-gallery' ),
|
729 |
+
__( 'Add Gallery', 'FinalTiles-gallery' ),
|
730 |
+
'edit_posts',
|
731 |
+
'ftg-add-gallery',
|
732 |
+
array( $this, 'add_gallery' )
|
733 |
+
);
|
734 |
+
$tutorial = add_submenu_page(
|
735 |
+
'ftg-lite-gallery-admin',
|
736 |
+
__( 'FinalTiles Gallery >> Tutorial', 'FinalTiles-gallery' ),
|
737 |
+
__( 'Tutorial', 'FinalTiles-gallery' ),
|
738 |
+
'edit_posts',
|
739 |
+
'ftg-tutorial',
|
740 |
+
array( $this, 'tutorial' )
|
741 |
+
);
|
742 |
+
add_action( 'load-' . $tutorial, array( $this, 'gallery_admin_init' ) );
|
743 |
+
add_action( 'load-' . $overview, array( $this, 'gallery_admin_init' ) );
|
744 |
+
add_action( 'load-' . $add_gallery, array( $this, 'gallery_admin_init' ) );
|
745 |
+
}
|
746 |
+
|
747 |
+
//Create Admin Pages
|
748 |
+
public function add_overview()
|
749 |
+
{
|
750 |
+
global $ftg_fields ;
|
751 |
+
$ftg_fields = $this->fields;
|
752 |
+
global $ftg_parent_page ;
|
753 |
+
$ftg_parent_page = 'dashboard';
|
754 |
+
|
755 |
+
if ( array_key_exists( 'id', $_GET ) ) {
|
756 |
+
$woocommerce_post_types = array(
|
757 |
+
'product',
|
758 |
+
'product_variation',
|
759 |
+
'shop_order',
|
760 |
+
'shop_order_refund',
|
761 |
+
'shop_coupon',
|
762 |
+
'shop_webhook'
|
763 |
+
);
|
764 |
+
$wp_post_types = array( 'revision', 'nav_menu_item' );
|
765 |
+
$excluded_post_types = array_merge( $wp_post_types, $woocommerce_post_types );
|
766 |
+
$woo_categories = $this->getWooCategories();
|
767 |
+
include 'admin/edit-gallery.php';
|
768 |
+
} else {
|
769 |
+
include 'admin/overview.php';
|
770 |
+
}
|
771 |
+
|
772 |
+
}
|
773 |
+
|
774 |
+
public function tutorial()
|
775 |
+
{
|
776 |
+
include 'admin/tutorial.php';
|
777 |
+
}
|
778 |
+
|
779 |
+
public function support()
|
780 |
+
{
|
781 |
+
include 'admin/support.php';
|
782 |
+
}
|
783 |
+
|
784 |
+
private function getWooCategories()
|
785 |
+
{
|
786 |
+
|
787 |
+
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
|
788 |
+
$taxonomy = 'product_cat';
|
789 |
+
$orderby = 'name';
|
790 |
+
$show_count = 0;
|
791 |
+
// 1 for yes, 0 for no
|
792 |
+
$pad_counts = 0;
|
793 |
+
// 1 for yes, 0 for no
|
794 |
+
$hierarchical = 1;
|
795 |
+
// 1 for yes, 0 for no
|
796 |
+
$title = '';
|
797 |
+
$empty = 0;
|
798 |
+
$args = array(
|
799 |
+
'taxonomy' => $taxonomy,
|
800 |
+
'orderby' => $orderby,
|
801 |
+
'show_count' => $show_count,
|
802 |
+
'pad_counts' => $pad_counts,
|
803 |
+
'hierarchical' => $hierarchical,
|
804 |
+
'title_li' => $title,
|
805 |
+
'hide_empty' => $empty,
|
806 |
+
);
|
807 |
+
return get_categories( $args );
|
808 |
+
} else {
|
809 |
+
return array();
|
810 |
+
}
|
811 |
+
|
812 |
+
}
|
813 |
+
|
814 |
+
public function add_gallery()
|
815 |
+
{
|
816 |
+
global $ftg_fields ;
|
817 |
+
$ftg_fields = $this->fields;
|
818 |
+
$gallery = null;
|
819 |
+
$woocommerce_post_types = array(
|
820 |
+
'product',
|
821 |
+
'product_variation',
|
822 |
+
'shop_order',
|
823 |
+
'shop_order_refund',
|
824 |
+
'shop_coupon',
|
825 |
+
'shop_webhook'
|
826 |
+
);
|
827 |
+
$wp_post_types = array( 'revision', 'nav_menu_item' );
|
828 |
+
$excluded_post_types = array_merge( $wp_post_types, $woocommerce_post_types );
|
829 |
+
$woo_categories = $this->getWooCategories();
|
830 |
+
include 'admin/add-gallery.php';
|
831 |
+
}
|
832 |
+
|
833 |
+
public function delete_image()
|
834 |
+
{
|
835 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
836 |
+
foreach ( explode( ',', $_POST['id'] ) as $id ) {
|
837 |
+
$this->FinalTilesdb->deleteImage( intval( $id ) );
|
838 |
+
}
|
839 |
+
}
|
840 |
+
wp_die();
|
841 |
+
}
|
842 |
+
|
843 |
+
public function assign_filters()
|
844 |
+
{
|
845 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
846 |
+
|
847 |
+
if ( $_POST['source'] == 'posts' ) {
|
848 |
+
foreach ( explode( ',', $_POST['id'] ) as $id ) {
|
849 |
+
update_post_meta( intval( $id ), 'ftg_filters', $_POST['filters'] );
|
850 |
+
}
|
851 |
+
} else {
|
852 |
+
foreach ( explode( ',', $_POST['id'] ) as $id ) {
|
853 |
+
$result = $this->FinalTilesdb->editImage( $id, array(
|
854 |
+
'filters' => $_POST['filters'],
|
855 |
+
) );
|
856 |
+
}
|
857 |
+
}
|
858 |
+
|
859 |
+
}
|
860 |
+
wp_die();
|
861 |
+
}
|
862 |
+
|
863 |
+
public function toggle_visibility()
|
864 |
+
{
|
865 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
866 |
+
foreach ( explode( ',', $_POST['id'] ) as $id ) {
|
867 |
+
$image = $this->FinalTilesdb->getImage( $id );
|
868 |
+
$this->FinalTilesdb->editImage( $id, array(
|
869 |
+
'hidden' => ( $image->hidden == 'T' ? 'F' : 'T' ),
|
870 |
+
) );
|
871 |
+
}
|
872 |
+
}
|
873 |
+
wp_die();
|
874 |
+
}
|
875 |
+
|
876 |
+
public function assign_group()
|
877 |
+
{
|
878 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
879 |
+
|
880 |
+
if ( $_POST['source'] == 'posts' ) {
|
881 |
+
foreach ( explode( ',', $_POST['id'] ) as $id ) {
|
882 |
+
update_post_meta( intval( $id ), 'ftg_group', $_POST['group'] );
|
883 |
+
}
|
884 |
+
} else {
|
885 |
+
foreach ( explode( ',', $_POST['id'] ) as $id ) {
|
886 |
+
$result = $this->FinalTilesdb->editImage( $id, array(
|
887 |
+
'group' => $_POST['group'],
|
888 |
+
) );
|
889 |
+
}
|
890 |
+
}
|
891 |
+
|
892 |
+
}
|
893 |
+
wp_die();
|
894 |
+
}
|
895 |
+
|
896 |
+
public function add_image()
|
897 |
+
{
|
898 |
+
|
899 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
900 |
+
$gid = intval( $_POST['galleryId'] );
|
901 |
+
$enc_images = stripslashes( $_POST['enc_images'] );
|
902 |
+
$images = json_decode( $enc_images );
|
903 |
+
$result = $this->FinalTilesdb->addImages( $gid, $images );
|
904 |
+
header( 'Content-type: application/json' );
|
905 |
+
|
906 |
+
if ( $result === false ) {
|
907 |
+
echo '{"success":false}' ;
|
908 |
+
} else {
|
909 |
+
echo '{"success":true}' ;
|
910 |
+
}
|
911 |
+
|
912 |
+
}
|
913 |
+
|
914 |
+
wp_die();
|
915 |
+
}
|
916 |
+
|
917 |
+
public function list_thumbnail_sizes()
|
918 |
+
{
|
919 |
+
global $_wp_additional_image_sizes ;
|
920 |
+
$sizes = array();
|
921 |
+
foreach ( get_intermediate_image_sizes() as $s ) {
|
922 |
+
|
923 |
+
if ( in_array( $s, array( 'thumbnail', 'medium', 'large' ) ) ) {
|
924 |
+
$sizes[$s][0] = get_option( $s . '_size_w' );
|
925 |
+
$sizes[$s][1] = get_option( $s . '_size_h' );
|
926 |
+
} else {
|
927 |
+
if ( isset( $_wp_additional_image_sizes ) && isset( $_wp_additional_image_sizes[$s] ) && $_wp_additional_image_sizes[$s]['width'] > 0 && $_wp_additional_image_sizes[$s]['height'] > 0 ) {
|
928 |
+
$sizes[$s] = array( $_wp_additional_image_sizes[$s]['width'], $_wp_additional_image_sizes[$s]['height'] );
|
929 |
+
}
|
930 |
+
}
|
931 |
+
|
932 |
+
}
|
933 |
+
return $sizes;
|
934 |
+
}
|
935 |
+
|
936 |
+
public function sort_images()
|
937 |
+
{
|
938 |
+
|
939 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
940 |
+
$result = $this->FinalTilesdb->sortImages( explode( ',', $_POST['ids'] ) );
|
941 |
+
header( 'Content-type: application/json' );
|
942 |
+
|
943 |
+
if ( $result === false ) {
|
944 |
+
echo '{"success":false}' ;
|
945 |
+
} else {
|
946 |
+
echo '{"success":true}' ;
|
947 |
+
}
|
948 |
+
|
949 |
+
}
|
950 |
+
|
951 |
+
wp_die();
|
952 |
+
}
|
953 |
+
|
954 |
+
public function load_chunk()
|
955 |
+
{
|
956 |
+
require_once 'lib/gallery-class.php';
|
957 |
+
|
958 |
+
if ( check_admin_referer( 'finaltilesgallery', 'finaltilesgallery' ) ) {
|
959 |
+
$gid = intval( $_POST['gallery'] );
|
960 |
+
$images = $this->FinalTilesdb->getImagesByGalleryId( $gid );
|
961 |
+
$FinalTilesGallery = new FinalTilesGallery( $gid, $this->FinalTilesdb, $this->defaultValues );
|
962 |
+
echo $FinalTilesGallery->images_markup() ;
|
963 |
+
}
|
964 |
+
|
965 |
+
wp_die();
|
966 |
+
}
|
967 |
+
|
968 |
+
public function refresh_gallery()
|
969 |
+
{
|
970 |
+
if ( $_POST['source'] == 'images' ) {
|
971 |
+
$this->list_images();
|
972 |
+
}
|
973 |
+
}
|
974 |
+
|
975 |
+
public function save_image()
|
976 |
+
{
|
977 |
+
|
978 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
979 |
+
$result = false;
|
980 |
+
|
981 |
+
if ( $_POST['source'] == 'posts' ) {
|
982 |
+
$result = true;
|
983 |
+
$postId = intval( $_POST['post_id'] );
|
984 |
+
$img_url = stripslashes( $_POST['img_url'] );
|
985 |
+
update_post_meta( $postId, 'ftg_image_url', $img_url );
|
986 |
+
if ( array_key_exists( 'filters', $_POST ) && strlen( $_POST['filters'] ) ) {
|
987 |
+
update_post_meta( $postId, 'ftg_filters', $_POST['filters'] );
|
988 |
+
}
|
989 |
+
} else {
|
990 |
+
$type = $_POST['type'];
|
991 |
+
$imageUrl = stripslashes( $_POST['img_url'] );
|
992 |
+
$imageCaption = stripslashes( $_POST['description'] );
|
993 |
+
$filters = stripslashes( $_POST['filters'] );
|
994 |
+
$title = stripslashes( $_POST['imageTitle'] );
|
995 |
+
$target = $_POST['target'];
|
996 |
+
$group = $_POST['group'];
|
997 |
+
$hidden = $_POST['hidden'];
|
998 |
+
$link = ( isset( $_POST['link'] ) ? stripslashes( $_POST['link'] ) : null );
|
999 |
+
$imageId = intval( $_POST['img_id'] );
|
1000 |
+
$sortOrder = intval( $_POST['sortOrder'] );
|
1001 |
+
$data = array(
|
1002 |
+
'imagePath' => $imageUrl,
|
1003 |
+
'target' => $target,
|
1004 |
+
'link' => $link,
|
1005 |
+
'imageId' => $imageId,
|
1006 |
+
'description' => $imageCaption,
|
1007 |
+
'filters' => $filters,
|
1008 |
+
'title' => $title,
|
1009 |
+
'group' => $group,
|
1010 |
+
'hidden' => $hidden,
|
1011 |
+
'sortOrder' => $sortOrder,
|
1012 |
+
);
|
1013 |
+
|
1014 |
+
if ( !empty($_POST['id']) ) {
|
1015 |
+
$imageId = intval( $_POST['id'] );
|
1016 |
+
$result = $this->FinalTilesdb->editImage( $imageId, $data );
|
1017 |
+
} else {
|
1018 |
+
$data['gid'] = intval( $_POST['galleryId'] );
|
1019 |
+
$result = $this->FinalTilesdb->addFullImage( $data );
|
1020 |
+
}
|
1021 |
+
|
1022 |
+
}
|
1023 |
+
|
1024 |
+
header( 'Content-type: application/json' );
|
1025 |
+
|
1026 |
+
if ( $result === false ) {
|
1027 |
+
echo '{"success":false}' ;
|
1028 |
+
} else {
|
1029 |
+
echo '{"success":true}' ;
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
}
|
1033 |
+
|
1034 |
+
wp_die();
|
1035 |
+
}
|
1036 |
+
|
1037 |
+
public function save_video()
|
1038 |
+
{
|
1039 |
+
|
1040 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
1041 |
+
$result = false;
|
1042 |
+
$type = ( isset( $_POST['type'] ) ? $_POST['type'] : '' );
|
1043 |
+
$data = array(
|
1044 |
+
'imagePath' => stripslashes( $_POST['embed'] ),
|
1045 |
+
'filters' => stripslashes( $_POST['filters'] ),
|
1046 |
+
'gid' => intval( $_POST['galleryId'] ),
|
1047 |
+
);
|
1048 |
+
$id = ( isset( $_POST['id'] ) ? intval( $_POST['id'] ) : '' );
|
1049 |
+
$step = ( isset( $_POST['step'] ) ? $_POST['step'] : '' );
|
1050 |
+
if ( !empty($step) ) {
|
1051 |
+
|
1052 |
+
if ( $step == 'add' ) {
|
1053 |
+
$result = $this->FinalTilesdb->addVideo( $data );
|
1054 |
+
} else {
|
1055 |
+
if ( $step == 'edit' ) {
|
1056 |
+
$result = $this->FinalTilesdb->editVideo( $id, $data );
|
1057 |
+
}
|
1058 |
+
}
|
1059 |
+
|
1060 |
+
}
|
1061 |
+
header( 'Content-type: application/json' );
|
1062 |
+
|
1063 |
+
if ( $result === false ) {
|
1064 |
+
echo '{"success":false}' ;
|
1065 |
+
} else {
|
1066 |
+
echo '{"success":true}' ;
|
1067 |
+
}
|
1068 |
+
|
1069 |
+
}
|
1070 |
+
|
1071 |
+
wp_die();
|
1072 |
+
}
|
1073 |
+
|
1074 |
+
public function list_images()
|
1075 |
+
{
|
1076 |
+
|
1077 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
1078 |
+
$gid = intval( $_POST['gid'] );
|
1079 |
+
$imageResults = $this->FinalTilesdb->getImagesByGalleryId( $gid );
|
1080 |
+
$gallery = $this->FinalTilesdb->getGalleryById( $gid );
|
1081 |
+
$list_size = 'medium';
|
1082 |
+
$column_size = 's6 m3 l3';
|
1083 |
+
if ( isset( $_POST['list_size'] ) && !empty($_POST['list_size']) ) {
|
1084 |
+
$list_size = $_POST['list_size'];
|
1085 |
+
}
|
1086 |
+
setcookie( 'ftg_imglist_size', $list_size );
|
1087 |
+
$_COOKIE['ftg_imglist_size'] = $list_size;
|
1088 |
+
if ( $list_size == 'small' ) {
|
1089 |
+
$column_size = 's4 m2 l2';
|
1090 |
+
}
|
1091 |
+
if ( $list_size == 'medium' ) {
|
1092 |
+
$column_size = 's6 m3 l3';
|
1093 |
+
}
|
1094 |
+
if ( $list_size == 'big' ) {
|
1095 |
+
$column_size = 's12 m4 l4';
|
1096 |
+
}
|
1097 |
+
include 'admin/include/image-list.php';
|
1098 |
+
}
|
1099 |
+
|
1100 |
+
wp_die();
|
1101 |
+
}
|
1102 |
+
|
1103 |
+
public function add_new_gallery()
|
1104 |
+
{
|
1105 |
+
|
1106 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
1107 |
+
$data = $this->defaultValues;
|
1108 |
+
$data['name'] = $_POST['ftg_name'];
|
1109 |
+
$data['description'] = $_POST['ftg_description'];
|
1110 |
+
$data['source'] = $_POST['ftg_source'];
|
1111 |
+
$data['wp_field_caption'] = $_POST['ftg_wp_field_caption'];
|
1112 |
+
$data['wp_field_title'] = $_POST['ftg_wp_field_title'];
|
1113 |
+
$data['captionEffect'] = $_POST['ftg_captionEffect'];
|
1114 |
+
$data['post_categories'] = $_POST['post_categories'];
|
1115 |
+
$data['post_tags'] = $_POST['post_tags'];
|
1116 |
+
$data['layout'] = $_POST['layout'];
|
1117 |
+
$data['defaultWooImageSize'] = $_POST['def_imgsize'];
|
1118 |
+
$data['defaultPostImageSize'] = $_POST['def_imgsize'];
|
1119 |
+
$data['woo_categories'] = $_POST['woo_categories'];
|
1120 |
+
$result = $this->FinalTilesdb->addGallery( $data );
|
1121 |
+
$id = $this->FinalTilesdb->getNewGalleryId();
|
1122 |
+
|
1123 |
+
if ( $id > 0 && array_key_exists( 'enc_images', $_POST ) && strlen( $_POST['enc_images'] ) ) {
|
1124 |
+
$enc_images = stripslashes( $_POST['enc_images'] );
|
1125 |
+
$images = json_decode( $enc_images );
|
1126 |
+
$result = $this->FinalTilesdb->addImages( $id, $images );
|
1127 |
+
}
|
1128 |
+
|
1129 |
+
echo $id ;
|
1130 |
+
} else {
|
1131 |
+
echo -1 ;
|
1132 |
+
}
|
1133 |
+
|
1134 |
+
wp_die();
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
private function checkboxVal( $field )
|
1138 |
+
{
|
1139 |
+
if ( isset( $_POST[$field] ) ) {
|
1140 |
+
return 'T';
|
1141 |
+
}
|
1142 |
+
return 'F';
|
1143 |
+
}
|
1144 |
+
|
1145 |
+
public function save_gallery()
|
1146 |
+
{
|
1147 |
+
|
1148 |
+
if ( check_admin_referer( 'FinalTiles_gallery', 'FinalTiles_gallery' ) ) {
|
1149 |
+
$galleryName = stripslashes( $_POST['ftg_name'] );
|
1150 |
+
$galleryDescription = stripslashes( $_POST['ftg_description'] );
|
1151 |
+
$slug = strtolower( str_replace( ' ', '', $galleryName ) );
|
1152 |
+
$margin = intval( $_POST['ftg_margin'] );
|
1153 |
+
$minTileWidth = intval( $_POST['ftg_minTileWidth'] );
|
1154 |
+
$gridCellSize = intval( $_POST['ftg_gridCellSize'] );
|
1155 |
+
$imagesOrder = $_POST['ftg_imagesOrder'];
|
1156 |
+
$width = $_POST['ftg_width'];
|
1157 |
+
$enableTwitter = $this->checkboxVal( 'ftg_enableTwitter' );
|
1158 |
+
$filterClick = $this->checkboxVal( 'ftg_filterClick' );
|
1159 |
+
$enableFacebook = $this->checkboxVal( 'ftg_enableFacebook' );
|
1160 |
+
$enableGplus = $this->checkboxVal( 'ftg_enableGplus' );
|
1161 |
+
$enablePinterest = $this->checkboxVal( 'ftg_enablePinterest' );
|
1162 |
+
$lightbox = $_POST['ftg_lightbox'];
|
1163 |
+
$mobileLightbox = $_POST['ftg_mobileLightbox'];
|
1164 |
+
$blank = $this->checkboxVal( 'ftg_blank' );
|
1165 |
+
$filters = $_POST['ftg_filters'];
|
1166 |
+
$scrollEffect = $_POST['ftg_scrollEffect'];
|
1167 |
+
$captionBehavior = $_POST['ftg_captionBehavior'];
|
1168 |
+
$captionMobileBehavior = $_POST['ftg_captionMobileBehavior'];
|
1169 |
+
$captionEffect = $_POST['ftg_captionEffect'];
|
1170 |
+
$captionColor = $_POST['ftg_captionColor'];
|
1171 |
+
$captionBackgroundColor = $_POST['ftg_captionBackgroundColor'];
|
1172 |
+
$captionEasing = $_POST['ftg_captionEasing'];
|
1173 |
+
$captionHorizontalAlignment = $_POST['ftg_captionHorizontalAlignment'];
|
1174 |
+
$captionVerticalAlignment = $_POST['ftg_captionVerticalAlignment'];
|
1175 |
+
$captionEmpty = $_POST['ftg_captionEmpty'];
|
1176 |
+
$captionOpacity = intval( $_POST['ftg_captionOpacity'] );
|
1177 |
+
$borderSize = intval( $_POST['ftg_borderSize'] );
|
1178 |
+
$borderColor = $_POST['ftg_borderColor'];
|
1179 |
+
$titleFontSize = intval( $_POST['ftg_titleFontSize'] );
|
1180 |
+
$loadingBarColor = $_POST['ftg_loadingBarColor'];
|
1181 |
+
$loadingBarBackgroundColor = $_POST['ftg_loadingBarBackgroundColor'];
|
1182 |
+
$borderRadius = intval( $_POST['ftg_borderRadius'] );
|
1183 |
+
$allFilterLabel = $_POST['ftg_allFilterLabel'];
|
1184 |
+
$shadowColor = $_POST['ftg_shadowColor'];
|
1185 |
+
$shadowSize = intval( $_POST['ftg_shadowSize'] );
|
1186 |
+
$enlargeImages = $this->checkboxVal( 'ftg_enlargeImages' );
|
1187 |
+
$wp_field_caption = $_POST['ftg_wp_field_caption'];
|
1188 |
+
$wp_field_title = $_POST['ftg_wp_field_title'];
|
1189 |
+
$style = $_POST['ftg_style'];
|
1190 |
+
$script = $_POST['ftg_script'];
|
1191 |
+
$loadedHSlide = intval( $_POST['ftg_loadedHSlide'] );
|
1192 |
+
$loadedVSlide = intval( $_POST['ftg_loadedVSlide'] );
|
1193 |
+
$captionEffectDuration = intval( $_POST['ftg_captionEffectDuration'] );
|
1194 |
+
$id = ( isset( $_POST['ftg_gallery_edit'] ) ? intval( $_POST['ftg_gallery_edit'] ) : 0 );
|
1195 |
+
$data = array(
|
1196 |
+
'ajaxLoading' => $_POST['ftg_ajaxLoading'],
|
1197 |
+
'layout' => $_POST['ftg_layout'],
|
1198 |
+
'name' => $galleryName,
|
1199 |
+
'slug' => $slug,
|
1200 |
+
'description' => $galleryDescription,
|
1201 |
+
'lightbox' => $lightbox,
|
1202 |
+
'mobileLightbox' => $mobileLightbox,
|
1203 |
+
'lightboxImageSize' => $_POST['ftg_lightboxImageSize'],
|
1204 |
+
'blank' => $blank,
|
1205 |
+
'margin' => $margin,
|
1206 |
+
'allFilterLabel' => $allFilterLabel,
|
1207 |
+
'minTileWidth' => $minTileWidth,
|
1208 |
+
'gridCellSize' => $gridCellSize,
|
1209 |
+
'gridCellSizeDisabledBelow' => intval( $_POST['ftg_gridCellSizeDisabledBelow'] ),
|
1210 |
+
'enableTwitter' => $enableTwitter,
|
1211 |
+
'backgroundColor' => $_POST['ftg_backgroundColor'],
|
1212 |
+
'filterClick' => $filterClick,
|
1213 |
+
'disableLightboxGroups' => $this->checkboxVal( 'ftg_disableLightboxGroups' ),
|
1214 |
+
'defaultFilter' => $_POST['ftg_filterDef'],
|
1215 |
+
'enableFacebook' => $enableFacebook,
|
1216 |
+
'enableGplus' => $enableGplus,
|
1217 |
+
'enablePinterest' => $enablePinterest,
|
1218 |
+
'imagesOrder' => $imagesOrder,
|
1219 |
+
'compressHTML' => $this->checkboxVal( 'ftg_compressHTML' ),
|
1220 |
+
'loadMethod' => $_POST['ftg_loadMethod'],
|
1221 |
+
'socialIconColor' => $_POST['ftg_socialIconColor'],
|
1222 |
+
'socialIconPosition' => $_POST['ftg_socialIconPosition'],
|
1223 |
+
'socialIconStyle' => $_POST['ftg_socialIconStyle'],
|
1224 |
+
'recentPostsCaption' => $_POST['ftg_recentPostsCaption'],
|
1225 |
+
'recentPostsCaptionAutoExcerptLength' => intval( $_POST['ftg_recentPostsCaptionAutoExcerptLength'] ),
|
1226 |
+
'captionBehavior' => $captionBehavior,
|
1227 |
+
'captionEffect' => $captionEffect,
|
1228 |
+
'captionEmpty' => $captionEmpty,
|
1229 |
+
'captionBackgroundColor' => $captionBackgroundColor,
|
1230 |
+
'captionColor' => $captionColor,
|
1231 |
+
'captionFrameColor' => $_POST['ftg_captionFrameColor'],
|
1232 |
+
'captionEffectDuration' => $captionEffectDuration,
|
1233 |
+
'captionEasing' => $captionEasing,
|
1234 |
+
'captionVerticalAlignment' => $captionVerticalAlignment,
|
1235 |
+
'captionHorizontalAlignment' => $captionHorizontalAlignment,
|
1236 |
+
'captionMobileBehavior' => $captionMobileBehavior,
|
1237 |
+
'captionOpacity' => $captionOpacity,
|
1238 |
+
'captionIcon' => $_POST['ftg_captionIcon'],
|
1239 |
+
'captionFrame' => $this->checkboxVal( 'ftg_captionFrame' ),
|
1240 |
+
'customCaptionIcon' => $_POST['ftg_customCaptionIcon'],
|
1241 |
+
'captionIconColor' => $_POST['ftg_captionIconColor'],
|
1242 |
+
'captionIconSize' => intval( $_POST['ftg_captionIconSize'] ),
|
1243 |
+
'captionFontSize' => intval( $_POST['ftg_captionFontSize'] ),
|
1244 |
+
'captionPosition' => $_POST['ftg_captionPosition'],
|
1245 |
+
'titleFontSize' => intval( $_POST['ftg_titleFontSize'] ),
|
1246 |
+
'hoverZoom' => intval( $_POST['ftg_hoverZoom'] ),
|
1247 |
+
'hoverRotation' => intval( $_POST['ftg_hoverRotation'] ),
|
1248 |
+
'hoverDuration' => intval( $_POST['ftg_hoverDuration'] ),
|
1249 |
+
'hoverIconRotation' => $this->checkboxVal( 'ftg_hoverIconRotation' ),
|
1250 |
+
'filters' => $filters,
|
1251 |
+
'wp_field_caption' => $wp_field_caption,
|
1252 |
+
'wp_field_title' => $wp_field_title,
|
1253 |
+
'borderSize' => $borderSize,
|
1254 |
+
'borderColor' => $borderColor,
|
1255 |
+
'loadingBarColor' => $loadingBarColor,
|
1256 |
+
'loadingBarBackgroundColor' => $loadingBarBackgroundColor,
|
1257 |
+
'enlargeImages' => $enlargeImages,
|
1258 |
+
'borderRadius' => $borderRadius,
|
1259 |
+
'imageSizeFactor' => intval( $_POST['ftg_imageSizeFactor'] ),
|
1260 |
+
'imageSizeFactorTabletLandscape' => intval( $_POST['ftg_imageSizeFactorTabletLandscape'] ),
|
1261 |
+
'imageSizeFactorTabletPortrait' => intval( $_POST['ftg_imageSizeFactorTabletPortrait'] ),
|
1262 |
+
'imageSizeFactorPhoneLandscape' => intval( $_POST['ftg_imageSizeFactorPhoneLandscape'] ),
|
1263 |
+
'imageSizeFactorPhonePortrait' => intval( $_POST['ftg_imageSizeFactorPhonePortrait'] ),
|
1264 |
+
'imageSizeFactorCustom' => $_POST['ftg_imageSizeFactorCustom'],
|
1265 |
+
'columns' => intval( $_POST['ftg_columns'] ),
|
1266 |
+
'columnsTabletLandscape' => intval( $_POST['ftg_columnsTabletLandscape'] ),
|
1267 |
+
'columnsTabletPortrait' => intval( $_POST['ftg_columnsTabletPortrait'] ),
|
1268 |
+
'columnsPhoneLandscape' => intval( $_POST['ftg_columnsPhoneLandscape'] ),
|
1269 |
+
'columnsPhonePortrait' => intval( $_POST['ftg_columnsPhonePortrait'] ),
|
1270 |
+
'max_posts' => intval( $_POST['ftg_max_posts'] ),
|
1271 |
+
'shadowSize' => $shadowSize,
|
1272 |
+
'shadowColor' => $shadowColor,
|
1273 |
+
'source' => $_POST['ftg_source'],
|
1274 |
+
'post_types' => $_POST['ftg_post_types'],
|
1275 |
+
'post_categories' => $_POST['ftg_post_categories'],
|
1276 |
+
'post_tags' => $_POST['ftg_post_tags'],
|
1277 |
+
'tilesPerPage' => intval( $_POST['ftg_tilesPerPage'] ),
|
1278 |
+
'woo_categories' => ( isset( $_POST['ftg_woo_categories'] ) ? $_POST['ftg_woo_categories'] : '' ),
|
1279 |
+
'defaultPostImageSize' => $_POST['ftg_defaultPostImageSize'],
|
1280 |
+
'defaultWooImageSize' => ( isset( $_POST['ftg_defaultWooImageSize'] ) ? $_POST['ftg_defaultWooImageSize'] : '' ),
|
1281 |
+
'width' => $width,
|
1282 |
+
'beforeGalleryText' => $_POST['ftg_beforeGalleryText'],
|
1283 |
+
'afterGalleryText' => $_POST['ftg_afterGalleryText'],
|
1284 |
+
'aClass' => $_POST['ftg_aClass'],
|
1285 |
+
'rel' => $_POST['ftg_rel'],
|
1286 |
+
'style' => $style,
|
1287 |
+
'delay' => intval( $_POST['ftg_delay'] ),
|
1288 |
+
'script' => $script,
|
1289 |
+
'support' => $this->checkboxVal( 'ftg_support' ),
|
1290 |
+
'supportText' => $_POST['ftg_supportText'],
|
1291 |
+
'envatoReferral' => $_POST['ftg_envatoReferral'],
|
1292 |
+
'scrollEffect' => $scrollEffect,
|
1293 |
+
'loadedScaleY' => intval( $_POST['ftg_loadedScaleY'] ),
|
1294 |
+
'loadedScaleX' => intval( $_POST['ftg_loadedScaleX'] ),
|
1295 |
+
'loadedRotate' => $loadedRotate,
|
1296 |
+
'loadedHSlide' => $loadedHSlide,
|
1297 |
+
'loadedVSlide' => $loadedVSlide,
|
1298 |
+
'loadedEasing' => $_POST['ftg_loadedEasing'],
|
1299 |
+
'loadedDuration' => $_POST['ftg_loadedDuration'],
|
1300 |
+
'loadedRotateY' => intval( $_POST['ftg_loadedRotateY'] ),
|
1301 |
+
'loadedRotateX' => intval( $_POST['ftg_loadedRotateX'] ),
|
1302 |
+
);
|
1303 |
+
header( 'Content-type: application/json' );
|
1304 |
+
|
1305 |
+
if ( $id > 0 ) {
|
1306 |
+
$result = $this->FinalTilesdb->editGallery( $id, $data );
|
1307 |
+
} else {
|
1308 |
+
$result = $this->FinalTilesdb->addGallery( $data );
|
1309 |
+
$id = $this->FinalTilesdb->getNewGalleryId();
|
1310 |
+
}
|
1311 |
+
|
1312 |
+
|
1313 |
+
if ( $result ) {
|
1314 |
+
echo '{"success":true,"id":' . $id . '}' ;
|
1315 |
+
} else {
|
1316 |
+
echo '{"success":false}' ;
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
}
|
1320 |
+
|
1321 |
+
wp_die();
|
1322 |
+
}
|
1323 |
+
|
1324 |
+
public static function get_image_size_links( $id )
|
1325 |
+
{
|
1326 |
+
$result = array();
|
1327 |
+
$sizes = get_intermediate_image_sizes();
|
1328 |
+
$sizes[] = 'full';
|
1329 |
+
foreach ( $sizes as $size ) {
|
1330 |
+
$image = wp_get_attachment_image_src( $id, $size );
|
1331 |
+
if ( !empty($image) && (true == $image[3] || 'full' == $size) ) {
|
1332 |
+
$result["{$image['1']}x{$image['2']}"] = $image[0];
|
1333 |
+
}
|
1334 |
+
}
|
1335 |
+
ksort( $result );
|
1336 |
+
return $result;
|
1337 |
+
}
|
1338 |
+
|
1339 |
+
//Create gallery
|
1340 |
+
public function create_gallery( $attrs )
|
1341 |
+
{
|
1342 |
+
require_once 'lib/gallery-class.php';
|
1343 |
+
global $FinalTilesGallery ;
|
1344 |
+
$galleryId = $attrs['id'];
|
1345 |
+
|
1346 |
+
if ( class_exists( 'FinalTilesGallery' ) ) {
|
1347 |
+
$FinalTilesGallery = new FinalTilesGallery(
|
1348 |
+
$galleryId,
|
1349 |
+
$this->FinalTilesdb,
|
1350 |
+
$this->defaultValues,
|
1351 |
+
$attrs
|
1352 |
+
);
|
1353 |
+
$settings = $FinalTilesGallery->getGallery();
|
1354 |
+
switch ( $settings->lightbox ) {
|
1355 |
+
case 'magnific':
|
1356 |
+
wp_enqueue_style( 'magnific_stylesheet' );
|
1357 |
+
wp_enqueue_script( 'magnific_script' );
|
1358 |
+
break;
|
1359 |
+
case 'prettyphoto':
|
1360 |
+
wp_enqueue_style( 'prettyphoto_stylesheet' );
|
1361 |
+
wp_enqueue_script( 'prettyphoto_script' );
|
1362 |
+
break;
|
1363 |
+
case 'fancybox':
|
1364 |
+
wp_enqueue_style( 'fancybox_stylesheet' );
|
1365 |
+
wp_enqueue_script( 'fancybox_script' );
|
1366 |
+
break;
|
1367 |
+
case 'colorbox':
|
1368 |
+
wp_enqueue_style( 'colorbox_stylesheet' );
|
1369 |
+
wp_enqueue_script( 'colorbox_script' );
|
1370 |
+
break;
|
1371 |
+
case 'swipebox':
|
1372 |
+
wp_enqueue_style( 'swipebox_stylesheet' );
|
1373 |
+
wp_enqueue_script( 'swipebox_script' );
|
1374 |
+
break;
|
1375 |
+
case 'lightbox2':
|
1376 |
+
wp_enqueue_style( 'lightbox2_stylesheet' );
|
1377 |
+
wp_enqueue_script( 'lightbox2_script' );
|
1378 |
+
break;
|
1379 |
+
case 'image-lightbox':
|
1380 |
+
wp_enqueue_script( 'image-lightbox_script' );
|
1381 |
+
case 'lightgallery':
|
1382 |
+
wp_enqueue_style( 'lightgallery_stylesheet' );
|
1383 |
+
wp_enqueue_script( 'lightgallery_script' );
|
1384 |
+
break;
|
1385 |
+
}
|
1386 |
+
switch ( $settings->mobileLightbox ) {
|
1387 |
+
default:
|
1388 |
+
case 'magnific':
|
1389 |
+
wp_enqueue_style( 'magnific_stylesheet' );
|
1390 |
+
wp_enqueue_script( 'magnific_script' );
|
1391 |
+
break;
|
1392 |
+
case 'prettyphoto':
|
1393 |
+
wp_enqueue_style( 'prettyphoto_stylesheet' );
|
1394 |
+
wp_enqueue_script( 'prettyphoto_script' );
|
1395 |
+
break;
|
1396 |
+
case 'fancybox':
|
1397 |
+
wp_enqueue_style( 'fancybox_stylesheet' );
|
1398 |
+
wp_enqueue_script( 'fancybox_script' );
|
1399 |
+
break;
|
1400 |
+
case 'colorbox':
|
1401 |
+
wp_enqueue_style( 'colorbox_stylesheet' );
|
1402 |
+
wp_enqueue_script( 'colorbox_script' );
|
1403 |
+
break;
|
1404 |
+
case 'swipebox':
|
1405 |
+
wp_enqueue_style( 'swipebox_stylesheet' );
|
1406 |
+
wp_enqueue_script( 'swipebox_script' );
|
1407 |
+
break;
|
1408 |
+
case 'lightbox2':
|
1409 |
+
wp_enqueue_style( 'lightbox2_stylesheet' );
|
1410 |
+
wp_enqueue_script( 'lightbox2_script' );
|
1411 |
+
break;
|
1412 |
+
case 'image-lightbox':
|
1413 |
+
wp_enqueue_script( 'image-lightbox_script' );
|
1414 |
+
case 'lightgallery':
|
1415 |
+
wp_enqueue_style( 'lightgallery_stylesheet' );
|
1416 |
+
wp_enqueue_script( 'lightgallery_script' );
|
1417 |
+
break;
|
1418 |
+
}
|
1419 |
+
return $FinalTilesGallery->render();
|
1420 |
+
} else {
|
1421 |
+
return 'Gallery not found.';
|
1422 |
+
}
|
1423 |
+
|
1424 |
+
}
|
1425 |
+
|
1426 |
+
//Create Short Code
|
1427 |
+
public function gallery_shortcode_handler( $atts )
|
1428 |
+
{
|
1429 |
+
return $this->create_gallery( $atts );
|
1430 |
+
}
|
1431 |
+
|
1432 |
+
public static function slugify( $text )
|
1433 |
+
{
|
1434 |
+
$text = preg_replace( '~[^\\pL\\d]+~u', '-', $text );
|
1435 |
+
$text = trim( $text, '-' );
|
1436 |
+
$text = iconv( 'utf-8', 'us-ascii//TRANSLIT', $text );
|
1437 |
+
$text = strtolower( $text );
|
1438 |
+
$text = preg_replace( '~[^-\\w]+~', '', $text );
|
1439 |
+
if ( empty($text) ) {
|
1440 |
+
return 'n-a';
|
1441 |
+
}
|
1442 |
+
return $text;
|
1443 |
+
}
|
1444 |
+
|
1445 |
+
public static function getFieldType( $field )
|
1446 |
+
{
|
1447 |
+
return 'cta';
|
1448 |
+
}
|
1449 |
+
|
1450 |
+
public $fields = array() ;
|
1451 |
+
private function addField( $section, $field, $data )
|
1452 |
+
{
|
1453 |
+
$this->fields[$section]['fields'][$field] = $data;
|
1454 |
+
}
|
1455 |
+
|
1456 |
+
private function setupFields()
|
1457 |
+
{
|
1458 |
+
include 'admin/include/fields.php';
|
1459 |
+
}
|
1460 |
+
|
1461 |
+
}
|
1462 |
+
}
|
1463 |
+
if ( !class_exists( 'FinalTilesGalleryUtils' ) ) {
|
1464 |
+
class FinalTilesGalleryUtils
|
1465 |
+
{
|
1466 |
+
public static function shortcodeToFieldName( $string, $capitalizeFirstCharacter = false )
|
1467 |
+
{
|
1468 |
+
$str = str_replace( '-', '\\t', $string );
|
1469 |
+
$str = str_replace( '_', '', ucwords( $str ) );
|
1470 |
+
$str = str_replace( '\\t', '_', $str );
|
1471 |
+
if ( !$capitalizeFirstCharacter ) {
|
1472 |
+
$str = lcfirst( $str );
|
1473 |
+
}
|
1474 |
+
return $str;
|
1475 |
+
}
|
1476 |
+
|
1477 |
+
public static function fieldNameToShortcode( $string )
|
1478 |
+
{
|
1479 |
+
preg_match_all( '!([A-Z][A-Z0-9]*(?=$|[A-Z][a-z0-9])|[A-Za-z][a-z0-9]+)!', $string, $matches );
|
1480 |
+
$ret = $matches[0];
|
1481 |
+
foreach ( $ret as &$match ) {
|
1482 |
+
$match = ( $match == strtoupper( $match ) ? strtolower( $match ) : lcfirst( $match ) );
|
1483 |
+
}
|
1484 |
+
return implode( '_', $ret );
|
1485 |
+
}
|
1486 |
+
|
1487 |
+
}
|
1488 |
+
}
|
1489 |
+
|
1490 |
+
if ( class_exists( 'FinalTiles_Gallery' ) ) {
|
1491 |
+
global $ob_FinalTiles_Gallery ;
|
1492 |
+
$ob_FinalTiles_Gallery = new FinalTiles_Gallery();
|
1493 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/add-gallery.php
CHANGED
@@ -1,16 +1,31 @@
|
|
1 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
<?php
|
4 |
-
|
|
|
5 |
|
6 |
|
7 |
<div class="bd">
|
8 |
|
9 |
<div id="ftg-wizard">
|
10 |
-
<h2><?php
|
|
|
|
|
|
|
11 |
|
12 |
<form action="#" method="post">
|
13 |
-
<?php
|
|
|
|
|
14 |
<input type="hidden" name="action" value="add_new_gallery" />
|
15 |
<input type="hidden" name="enc_images" value="" />
|
16 |
<input type="hidden" name="post_categories" value="" />
|
@@ -21,32 +36,75 @@
|
|
21 |
<div class="row">
|
22 |
<div class="input-field">
|
23 |
<input name="ftg_name" id="name" type="text" class="validate" required="required">
|
24 |
-
<label for="name"><?php
|
|
|
|
|
|
|
25 |
</div>
|
26 |
</div>
|
27 |
<div class="input-field">
|
28 |
<textarea name="ftg_description" class="materialize-textarea" id="description"></textarea>
|
29 |
-
<label for="description"><?php
|
|
|
|
|
|
|
30 |
</div>
|
31 |
</fieldset>
|
32 |
<fieldset data-step="2">
|
33 |
-
<h5><?php
|
|
|
|
|
|
|
34 |
<p>
|
35 |
<input class="with-gap" type="radio" checked="checked" name="ftg_source" id="source1" value="images" />
|
36 |
-
<label for="source1"><?php
|
|
|
|
|
|
|
37 |
</p>
|
38 |
<p>
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
</p>
|
42 |
<p>
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
</p>
|
46 |
</fieldset>
|
47 |
<fieldset data-step="3" data-branch="images">
|
48 |
<div class="field">
|
49 |
-
<h5><?php
|
|
|
|
|
|
|
50 |
<select class="browser-default" name="ftg_wp_field_caption">
|
51 |
<option value="none"> Don't use captions </option>
|
52 |
<option value="title"> Title </option>
|
@@ -56,67 +114,125 @@
|
|
56 |
</div>
|
57 |
|
58 |
<div class="field">
|
59 |
-
<h5><?php
|
|
|
|
|
|
|
60 |
<select class="browser-default" name="ftg_wp_field_title">
|
61 |
<option value="none"> Don't use titles </option>
|
62 |
<option selected value="title"> Title </option>
|
63 |
<option value="description"> Description </option>
|
64 |
</select>
|
65 |
</div>
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
<div class="field">
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
</div>
|
90 |
-
</fieldset>
|
|
|
|
|
91 |
<fieldset data-step="4" data-save="true">
|
92 |
<div class="field">
|
93 |
-
<h5><?php
|
|
|
|
|
|
|
94 |
<select class="browser-default" name="layout">
|
95 |
<option value="final">Final Tiles Gallery (mixed image width)</option>
|
96 |
<option value="columns">Masonry (columns, same image width)</option>
|
97 |
</select>
|
98 |
</div>
|
99 |
<div class="field">
|
100 |
-
<h5><?php
|
|
|
|
|
|
|
101 |
<select class="browser-default" name="def_imgsize">
|
102 |
-
<?php
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
?>
|
108 |
</select>
|
109 |
-
<label><?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
</div>
|
111 |
<div class="field select-images">
|
112 |
<a class="waves-effect waves-light btn add-images">
|
113 |
-
<i class="
|
114 |
-
|
115 |
-
|
|
|
116 |
<br>
|
117 |
-
<label
|
118 |
-
|
119 |
-
|
|
|
120 |
<div class="images list-group"></div>
|
121 |
</div>
|
122 |
</fieldset>
|
@@ -124,30 +240,68 @@
|
|
124 |
<div class="progress loading">
|
125 |
<div class="indeterminate"></div>
|
126 |
</div>
|
127 |
-
<a class="waves-effect waves-yellow btn-flat prev"><?php
|
128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
</footer>
|
130 |
</form>
|
131 |
<div id="success" class="modal">
|
132 |
<div class="modal-content">
|
133 |
-
<h4><?php
|
134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
<input type="text" readonly class="code"><br>
|
136 |
-
<?php
|
137 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
</p>
|
139 |
</div>
|
140 |
<div class="modal-'footer">
|
141 |
-
<a href="?page=ftg-lite-gallery-admin" id="modal-close" class="waves-effect waves-green btn-flat modal-action"><?php
|
|
|
|
|
|
|
142 |
</div>
|
143 |
</div>
|
144 |
<div id="error" class="modal">
|
145 |
<div class="modal-content">
|
146 |
-
<h4><?php
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
</div>
|
149 |
<div class="modal-footer">
|
150 |
-
<a href="?page=ftg-lite-gallery-admin" class="waves-effect waves-green btn-flat modal-action modal-close"><?php
|
|
|
|
|
|
|
151 |
</div>
|
152 |
</div>
|
153 |
</div>
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
|
4 |
+
die( _e( 'You are not allowed to call this page directly.', 'final-tiles-gallery' ) );
|
5 |
+
}
|
6 |
+
?>
|
7 |
+
|
8 |
+
<?php
|
9 |
+
$ftg_subtitle = 'New gallery';
|
10 |
+
?>
|
11 |
|
12 |
+
<?php
|
13 |
+
include 'header.php';
|
14 |
+
?>
|
15 |
|
16 |
|
17 |
<div class="bd">
|
18 |
|
19 |
<div id="ftg-wizard">
|
20 |
+
<h2><?php
|
21 |
+
_e( 'Add new gallery wizard', 'final-tiles-gallery' );
|
22 |
+
?>
|
23 |
+
</h2>
|
24 |
|
25 |
<form action="#" method="post">
|
26 |
+
<?php
|
27 |
+
wp_nonce_field( 'FinalTiles_gallery', 'FinalTiles_gallery' );
|
28 |
+
?>
|
29 |
<input type="hidden" name="action" value="add_new_gallery" />
|
30 |
<input type="hidden" name="enc_images" value="" />
|
31 |
<input type="hidden" name="post_categories" value="" />
|
36 |
<div class="row">
|
37 |
<div class="input-field">
|
38 |
<input name="ftg_name" id="name" type="text" class="validate" required="required">
|
39 |
+
<label for="name"><?php
|
40 |
+
_e( 'Name of the gallery', 'final-tiles-gallery' );
|
41 |
+
?>
|
42 |
+
</label>
|
43 |
</div>
|
44 |
</div>
|
45 |
<div class="input-field">
|
46 |
<textarea name="ftg_description" class="materialize-textarea" id="description"></textarea>
|
47 |
+
<label for="description"><?php
|
48 |
+
_e( 'Description of the gallery', 'final-tiles-gallery' );
|
49 |
+
?>
|
50 |
+
</label>
|
51 |
</div>
|
52 |
</fieldset>
|
53 |
<fieldset data-step="2">
|
54 |
+
<h5><?php
|
55 |
+
_e( 'Choose the source of the images', 'final-tiles-gallery' );
|
56 |
+
?>
|
57 |
+
</h5>
|
58 |
<p>
|
59 |
<input class="with-gap" type="radio" checked="checked" name="ftg_source" id="source1" value="images" />
|
60 |
+
<label for="source1"><?php
|
61 |
+
_e( 'Media library', 'final-tiles-gallery' );
|
62 |
+
?>
|
63 |
+
</label>
|
64 |
</p>
|
65 |
<p>
|
66 |
+
<?php
|
67 |
+
?>
|
68 |
+
<input disabled class="with-gap" type="radio" name="ftg_source" value="*" id="source2" />
|
69 |
+
<label for="source2"><?php
|
70 |
+
_e( 'Recent posts', 'final-tiles-gallery' );
|
71 |
+
?>
|
72 |
+
- <a class="in-wizard-cta" href="<?php
|
73 |
+
echo ftg_fs()->get_upgrade_url() ;
|
74 |
+
?>
|
75 |
+
"><i class="mdi mdi-bell-ring-outline"></i>
|
76 |
+
<?php
|
77 |
+
_e( 'Unlock this feature. Upgrade Now!', 'final-tiles-grid-gallery-lite' );
|
78 |
+
?>
|
79 |
+
</a></label>
|
80 |
+
<?php
|
81 |
+
?>
|
82 |
</p>
|
83 |
<p>
|
84 |
+
<?php
|
85 |
+
?>
|
86 |
+
<input class="with-gap" disabled type="radio" name="ftg_source" value="*" id="source3" />
|
87 |
+
<label for="source3"><?php
|
88 |
+
_e( 'WooCommerce products', 'final-tiles-gallery' );
|
89 |
+
?>
|
90 |
+
- <a class="in-wizard-cta" href="<?php
|
91 |
+
echo ftg_fs()->get_upgrade_url() ;
|
92 |
+
?>
|
93 |
+
"><i class="mdi mdi-bell-ring-outline"></i>
|
94 |
+
<?php
|
95 |
+
_e( 'Unlock this feature. Upgrade Now!', 'final-tiles-grid-gallery-lite' );
|
96 |
+
?>
|
97 |
+
</a></label>
|
98 |
+
<?php
|
99 |
+
?>
|
100 |
</p>
|
101 |
</fieldset>
|
102 |
<fieldset data-step="3" data-branch="images">
|
103 |
<div class="field">
|
104 |
+
<h5><?php
|
105 |
+
_e( 'WordPress field for captions:', 'final-tiles-gallery' );
|
106 |
+
?>
|
107 |
+
</h5>
|
108 |
<select class="browser-default" name="ftg_wp_field_caption">
|
109 |
<option value="none"> Don't use captions </option>
|
110 |
<option value="title"> Title </option>
|
114 |
</div>
|
115 |
|
116 |
<div class="field">
|
117 |
+
<h5><?php
|
118 |
+
_e( 'WordPress field for titles:', 'final-tiles-gallery' );
|
119 |
+
?>
|
120 |
+
</h5>
|
121 |
<select class="browser-default" name="ftg_wp_field_title">
|
122 |
<option value="none"> Don't use titles </option>
|
123 |
<option selected value="title"> Title </option>
|
124 |
<option value="description"> Description </option>
|
125 |
</select>
|
126 |
</div>
|
127 |
+
<!--
|
128 |
+
<div class="field">
|
129 |
+
<h5>Caption behavior:</h5>
|
130 |
+
<p>
|
131 |
+
<input class="with-gap" type="radio" name="ftg_captionBehavior" value="hidden" checked="checked" id="behavior1" />
|
132 |
+
<label for="behavior1">Hidden, show it on mouse hover</label>
|
133 |
+
</p>
|
134 |
+
<p>
|
135 |
+
<input class="with-gap" type="radio" name="ftg_captionBehavior" value="visible" id="behavior2" />
|
136 |
+
<label for="behavior2">Visible, hide it on mouse hover</label>
|
137 |
+
</p>
|
138 |
+
<p>
|
139 |
+
<input class="with-gap" type="radio" name="ftg_captionBehavior" value="always-visible" id="behavior3" />
|
140 |
+
<label for="behavior3" class="line">Always visible</label>
|
141 |
+
</p>
|
142 |
+
</div>
|
143 |
+
-->
|
144 |
<div class="field">
|
145 |
+
<h5><?php
|
146 |
+
_e( 'Caption effect:', 'final-tiles-gallery' );
|
147 |
+
?>
|
148 |
+
</h5>
|
149 |
+
<select class="browser-default" name="ftg_captionEffect">
|
150 |
+
<option value="none"><?php
|
151 |
+
_e( 'Fade' );
|
152 |
+
?>
|
153 |
+
</option>
|
154 |
+
<?php
|
155 |
+
?>
|
156 |
+
<option value="fixed" disabled><?php
|
157 |
+
_e( 'Fixed' );
|
158 |
+
?>
|
159 |
+
(Upgrade to unlock)</option>
|
160 |
+
<option value="fixed-bg" disabled><?php
|
161 |
+
_e( 'Fixed with background' );
|
162 |
+
?>
|
163 |
+
(Upgrade to unlock)</option>
|
164 |
+
<option value="fixed-then-hidden" disabled><?php
|
165 |
+
_e( 'Fixed, hidden on hover' );
|
166 |
+
?>
|
167 |
+
(Upgrade to unlock)</option>
|
168 |
+
<option value="fixed-bottom" disabled><?php
|
169 |
+
_e( 'Fixed at bottom' );
|
170 |
+
?>
|
171 |
+
(Upgrade to unlock)</option>
|
172 |
+
<option value="slide-from-top" disabled><?php
|
173 |
+
_e( 'Slide from top' );
|
174 |
+
?>
|
175 |
+
(Upgrade to unlock)</option>
|
176 |
+
<option value="slide-from-bottom" disabled><?php
|
177 |
+
_e( 'Slide from bottom' );
|
178 |
+
?>
|
179 |
+
(Upgrade to unlock)</option>
|
180 |
+
<?php
|
181 |
+
?>
|
182 |
+
</select>
|
183 |
</div>
|
184 |
+
</fieldset>
|
185 |
+
<?php
|
186 |
+
?>
|
187 |
<fieldset data-step="4" data-save="true">
|
188 |
<div class="field">
|
189 |
+
<h5><?php
|
190 |
+
_e( 'Choose the layout', 'final-tiles-gallery' );
|
191 |
+
?>
|
192 |
+
</h5>
|
193 |
<select class="browser-default" name="layout">
|
194 |
<option value="final">Final Tiles Gallery (mixed image width)</option>
|
195 |
<option value="columns">Masonry (columns, same image width)</option>
|
196 |
</select>
|
197 |
</div>
|
198 |
<div class="field">
|
199 |
+
<h5><?php
|
200 |
+
_e( 'Choose a default image size', 'final-tiles-gallery' );
|
201 |
+
?>
|
202 |
+
</h5>
|
203 |
<select class="browser-default" name="def_imgsize">
|
204 |
+
<?php
|
205 |
+
foreach ( $this->list_thumbnail_sizes() as $size => $atts ) {
|
206 |
+
print '<option value="' . $size . '">' . $size . ' (' . implode( 'x', $atts ) . ')</option>';
|
207 |
+
}
|
208 |
+
?>
|
|
|
209 |
</select>
|
210 |
+
<label><?php
|
211 |
+
_e( 'You can customize each image later', 'final-tiles-gallery' );
|
212 |
+
?>
|
213 |
+
</label>
|
214 |
+
<br>
|
215 |
+
<label class="shortpixel">
|
216 |
+
<img src="<?php
|
217 |
+
echo plugins_url( '', __FILE__ ) ;
|
218 |
+
?>
|
219 |
+
/images/icon-shortpixel.png" alt="ShortPixel">
|
220 |
+
<a target="_blank" href="https://shortpixel.com/wp/af/J4PFT4Z72393"><?php
|
221 |
+
_e( 'We suggest you to use ShortPixel image optimization plugin for best SEO results.', 'modula-gallery' );
|
222 |
+
?>
|
223 |
+
</a></label>
|
224 |
</div>
|
225 |
<div class="field select-images">
|
226 |
<a class="waves-effect waves-light btn add-images">
|
227 |
+
<i class="fa fa-plus left"></i> <?php
|
228 |
+
_e( 'Add images', 'final-tiles-gallery' );
|
229 |
+
?>
|
230 |
+
</a>
|
231 |
<br>
|
232 |
+
<label><?php
|
233 |
+
_e( 'You can add images now or later.', 'final-tiles-gallery' );
|
234 |
+
?>
|
235 |
+
</label>
|
236 |
<div class="images list-group"></div>
|
237 |
</div>
|
238 |
</fieldset>
|
240 |
<div class="progress loading">
|
241 |
<div class="indeterminate"></div>
|
242 |
</div>
|
243 |
+
<a class="waves-effect waves-yellow btn-flat prev"><?php
|
244 |
+
_e( 'Previous', 'final-tiles-gallery' );
|
245 |
+
?>
|
246 |
+
</a>
|
247 |
+
<a class="waves-effect waves-green btn-flat next"><?php
|
248 |
+
_e( 'Next', 'final-tiles-gallery' );
|
249 |
+
?>
|
250 |
+
</a>
|
251 |
</footer>
|
252 |
</form>
|
253 |
<div id="success" class="modal">
|
254 |
<div class="modal-content">
|
255 |
+
<h4><?php
|
256 |
+
_e( 'Success!', 'final-tiles-gallery' );
|
257 |
+
?>
|
258 |
+
</h4>
|
259 |
+
<p><?php
|
260 |
+
_e( 'Your gallery', 'final-tiles-gallery' );
|
261 |
+
?>
|
262 |
+
"<span class="gallery-name"></span>" <?php
|
263 |
+
_e( 'has been created. Copy the following shortcode:', 'final-tiles-gallery' );
|
264 |
+
?>
|
265 |
+
<br>
|
266 |
<input type="text" readonly class="code"><br>
|
267 |
+
<?php
|
268 |
+
_e( 'and paste it inside a post or a page. Otherwise click', 'final-tiles-gallery' );
|
269 |
+
?>
|
270 |
+
<a class='customize'><?php
|
271 |
+
_e( 'here', 'final-tiles-gallery' );
|
272 |
+
?>
|
273 |
+
</a> <?php
|
274 |
+
_e( 'to customize
|
275 |
+
the gallery.', 'final-tiles-gallery' );
|
276 |
+
?>
|
277 |
</p>
|
278 |
</div>
|
279 |
<div class="modal-'footer">
|
280 |
+
<a href="?page=ftg-lite-gallery-admin" id="modal-close" class="waves-effect waves-green btn-flat modal-action"><?php
|
281 |
+
_e( 'Close', 'final-tiles-gallery' );
|
282 |
+
?>
|
283 |
+
</a>
|
284 |
</div>
|
285 |
</div>
|
286 |
<div id="error" class="modal">
|
287 |
<div class="modal-content">
|
288 |
+
<h4><?php
|
289 |
+
_e( 'Error!', 'final-tiles-gallery' );
|
290 |
+
?>
|
291 |
+
</h4>
|
292 |
+
<p><?php
|
293 |
+
_e( 'For some reason it was not possible to save your gallery, please contact', 'final-tiles-gallery' );
|
294 |
+
?>
|
295 |
+
<a href="?page=ftg-support"><?php
|
296 |
+
_e( 'support', 'final-tiles-gallery' );
|
297 |
+
?>
|
298 |
+
</a>.</p>
|
299 |
</div>
|
300 |
<div class="modal-footer">
|
301 |
+
<a href="?page=ftg-lite-gallery-admin" class="waves-effect waves-green btn-flat modal-action modal-close"><?php
|
302 |
+
_e( 'Close', 'final-tiles-gallery' );
|
303 |
+
?>
|
304 |
+
</a>
|
305 |
</div>
|
306 |
</div>
|
307 |
</div>
|
admin/adv.php
DELETED
File without changes
|
admin/css/style.css
CHANGED
@@ -1,17 +1,28 @@
|
|
1 |
@import "materialize.css";
|
2 |
-
.fs-submenu-item.final-tiles-grid-gallery-lite.pricing.upgrade-mode {
|
3 |
-
display: none;
|
4 |
-
}
|
5 |
#wpcontent {
|
6 |
padding-left: 0;
|
7 |
}
|
|
|
|
|
|
|
|
|
8 |
#media-attachment-media_category-filters,
|
9 |
#media-attachment-date-filters {
|
10 |
display: inline;
|
11 |
}
|
12 |
-
.list-view-control
|
|
|
|
|
|
|
|
|
13 |
border-bottom: 2px solid;
|
14 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
#gallery-list {
|
16 |
margin-top: 2rem;
|
17 |
}
|
@@ -33,27 +44,6 @@
|
|
33 |
#gallery-list .card:hover .card-content {
|
34 |
background: rgba(0, 0, 0, 0);
|
35 |
}
|
36 |
-
#adv {
|
37 |
-
margin:20px 0;
|
38 |
-
}
|
39 |
-
#adv img {
|
40 |
-
width: 100%;
|
41 |
-
}
|
42 |
-
.ftg-everlightbox-settings {
|
43 |
-
display: none;
|
44 |
-
}
|
45 |
-
.pro-cell {
|
46 |
-
background: #039BE5;
|
47 |
-
font-size: 18px;
|
48 |
-
border-top-left-radius: 6px;
|
49 |
-
border-top-right-radius: 6px;
|
50 |
-
padding: 10px;
|
51 |
-
transition: all .3s;
|
52 |
-
}
|
53 |
-
.pro-cell a {
|
54 |
-
transition: all .3s;
|
55 |
-
color: #fff;
|
56 |
-
}
|
57 |
.bulk .options {
|
58 |
margin-bottom: 20px;
|
59 |
}
|
@@ -84,22 +74,67 @@
|
|
84 |
}
|
85 |
#top {
|
86 |
padding: 1rem 0 3rem 40px;
|
87 |
-
background-image: url('../images/colors.jpg');
|
88 |
-
background-repeat: repeat-x;
|
89 |
-
background-position: left bottom;
|
90 |
font-family: Roboto, 'sans-serif';
|
91 |
}
|
92 |
#top h1 {
|
93 |
-
color: #fff;
|
94 |
font-size: 3.4rem;
|
95 |
-
margin: 16px 0
|
96 |
font-weight: 300;
|
|
|
97 |
}
|
98 |
#top h1 small {
|
99 |
font-size: 1rem;
|
100 |
}
|
101 |
#top h4 {
|
102 |
-
margin:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
#support-page {
|
105 |
background: #fff;
|
@@ -237,6 +272,10 @@
|
|
237 |
.modal .modal-footer {
|
238 |
background: #fff;
|
239 |
}
|
|
|
|
|
|
|
|
|
240 |
#gallery-list .card p {
|
241 |
height: 40px;
|
242 |
overflow: hidden;
|
@@ -298,8 +337,6 @@
|
|
298 |
#edit-gallery .jump-head select {
|
299 |
height: 2rem;
|
300 |
display: inline;
|
301 |
-
}
|
302 |
-
#edit-gallery .jump {
|
303 |
width: auto;
|
304 |
}
|
305 |
.bullet-menu {
|
@@ -314,6 +351,7 @@
|
|
314 |
}
|
315 |
.collapsible li {
|
316 |
margin-bottom: 0;
|
|
|
317 |
}
|
318 |
.collapsible li .alternate {
|
319 |
background: transparent;
|
@@ -323,6 +361,12 @@
|
|
323 |
height: 5rem;
|
324 |
line-height: 5rem;
|
325 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
.collapsible li .collapsible-header i {
|
327 |
line-height: 5rem;
|
328 |
}
|
@@ -342,6 +386,9 @@
|
|
342 |
border-radius: 0;
|
343 |
-webkit-border-radius: 0;
|
344 |
}
|
|
|
|
|
|
|
345 |
.collapsible li textarea {
|
346 |
height: 100px;
|
347 |
}
|
@@ -363,7 +410,7 @@
|
|
363 |
float: none;
|
364 |
margin: 0;
|
365 |
}
|
366 |
-
.collapsible li .toggle div.help {
|
367 |
display: none;
|
368 |
}
|
369 |
.collapsible li .toggle [type="checkbox"]:not(:checked) + label:before {
|
@@ -375,9 +422,40 @@
|
|
375 |
border-top-right-radius: 0;
|
376 |
border-bottom-left-radius: 6px;
|
377 |
border-bottom-right-radius: 6px;
|
378 |
-
padding: 10px;
|
379 |
color: #666;
|
380 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
.collapsible li div.help strong {
|
382 |
font-weight: 700;
|
383 |
}
|
@@ -659,11 +737,9 @@
|
|
659 |
.cf {
|
660 |
*zoom: 1;
|
661 |
}
|
662 |
-
|
663 |
#fs_connect {
|
664 |
margin: 60px auto !important;
|
665 |
}
|
666 |
#fs_connect .fs-visual .dashicons-wordpress {
|
667 |
height: 76px !important;
|
668 |
width: 76px !important;
|
669 |
-
}
|
1 |
@import "materialize.css";
|
|
|
|
|
|
|
2 |
#wpcontent {
|
3 |
padding-left: 0;
|
4 |
}
|
5 |
+
.shortpixel img {
|
6 |
+
position: relative;
|
7 |
+
top: 6px;
|
8 |
+
}
|
9 |
#media-attachment-media_category-filters,
|
10 |
#media-attachment-date-filters {
|
11 |
display: inline;
|
12 |
}
|
13 |
+
.collapsible .list-view-control li {
|
14 |
+
display: inline-block;
|
15 |
+
clear: none;
|
16 |
+
}
|
17 |
+
.collapsible .list-view-control .selected {
|
18 |
border-bottom: 2px solid;
|
19 |
}
|
20 |
+
[type="radio"]:not(:checked) + label, [type="radio"]:checked + label {
|
21 |
+
color:#333;
|
22 |
+
}
|
23 |
+
[type="radio"]:disabled + label {
|
24 |
+
color:#666;
|
25 |
+
}
|
26 |
#gallery-list {
|
27 |
margin-top: 2rem;
|
28 |
}
|
44 |
#gallery-list .card:hover .card-content {
|
45 |
background: rgba(0, 0, 0, 0);
|
46 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
.bulk .options {
|
48 |
margin-bottom: 20px;
|
49 |
}
|
74 |
}
|
75 |
#top {
|
76 |
padding: 1rem 0 3rem 40px;
|
|
|
|
|
|
|
77 |
font-family: Roboto, 'sans-serif';
|
78 |
}
|
79 |
#top h1 {
|
|
|
80 |
font-size: 3.4rem;
|
81 |
+
margin: 16px 0 0 0;
|
82 |
font-weight: 300;
|
83 |
+
color: #333;
|
84 |
}
|
85 |
#top h1 small {
|
86 |
font-size: 1rem;
|
87 |
}
|
88 |
#top h4 {
|
89 |
+
margin: 0 0 13px 0;
|
90 |
+
color: #666;
|
91 |
+
font-size: 20px;
|
92 |
+
font-weight: 100;
|
93 |
+
}
|
94 |
+
.upgrade-call {
|
95 |
+
display: inline-block;
|
96 |
+
position: absolute;
|
97 |
+
background: yellow;
|
98 |
+
top:20px;
|
99 |
+
right: 20px;
|
100 |
+
border-radius: 4px;
|
101 |
+
color: #111;
|
102 |
+
text-decoration: none;
|
103 |
+
text-transform: uppercase;
|
104 |
+
padding: 4px 6px;
|
105 |
+
}
|
106 |
+
.settings-header {
|
107 |
+
padding:16px;
|
108 |
+
background: #fff;
|
109 |
+
-webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
110 |
+
-moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
111 |
+
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
112 |
+
margin-bottom: 20px;
|
113 |
+
}
|
114 |
+
.settings-header .shortcode {
|
115 |
+
margin-top: 20px;
|
116 |
+
margin-bottom: 0;
|
117 |
+
}
|
118 |
+
.settings-header .shortcode input {
|
119 |
+
height: 30px;
|
120 |
+
}
|
121 |
+
.import-export a {
|
122 |
+
display: inline-block;
|
123 |
+
margin-right: 20px;
|
124 |
+
font-size:16px;
|
125 |
+
color: #333;
|
126 |
+
}
|
127 |
+
.import-export a:hover {
|
128 |
+
color: #666;
|
129 |
+
text-decoration: underline;
|
130 |
+
}
|
131 |
+
#shortcode-shortcut {
|
132 |
+
font-family: Courier, monospace;
|
133 |
+
display: inline-block;
|
134 |
+
width: 300px;
|
135 |
+
background: #fafafa;
|
136 |
+
border:1px solid #999;
|
137 |
+
padding:0 20px;
|
138 |
}
|
139 |
#support-page {
|
140 |
background: #fff;
|
272 |
.modal .modal-footer {
|
273 |
background: #fff;
|
274 |
}
|
275 |
+
.in-table-cta {
|
276 |
+
font-weight: bold;
|
277 |
+
font-size: 18px;
|
278 |
+
}
|
279 |
#gallery-list .card p {
|
280 |
height: 40px;
|
281 |
overflow: hidden;
|
337 |
#edit-gallery .jump-head select {
|
338 |
height: 2rem;
|
339 |
display: inline;
|
|
|
|
|
340 |
width: auto;
|
341 |
}
|
342 |
.bullet-menu {
|
351 |
}
|
352 |
.collapsible li {
|
353 |
margin-bottom: 0;
|
354 |
+
clear: both;
|
355 |
}
|
356 |
.collapsible li .alternate {
|
357 |
background: transparent;
|
361 |
height: 5rem;
|
362 |
line-height: 5rem;
|
363 |
}
|
364 |
+
.collapsible-header {
|
365 |
+
padding: 0;
|
366 |
+
}
|
367 |
+
.collapsible li .collapsible-header .ftg-section-icon {
|
368 |
+
width:5rem;
|
369 |
+
}
|
370 |
.collapsible li .collapsible-header i {
|
371 |
line-height: 5rem;
|
372 |
}
|
386 |
border-radius: 0;
|
387 |
-webkit-border-radius: 0;
|
388 |
}
|
389 |
+
.collapsible-body {
|
390 |
+
clear: both;
|
391 |
+
}
|
392 |
.collapsible li textarea {
|
393 |
height: 100px;
|
394 |
}
|
410 |
float: none;
|
411 |
margin: 0;
|
412 |
}
|
413 |
+
.collapsible li .toggle div.help p {
|
414 |
display: none;
|
415 |
}
|
416 |
.collapsible li .toggle [type="checkbox"]:not(:checked) + label:before {
|
422 |
border-top-right-radius: 0;
|
423 |
border-bottom-left-radius: 6px;
|
424 |
border-bottom-right-radius: 6px;
|
425 |
+
padding: 10px 10px 0 10px;
|
426 |
color: #666;
|
427 |
}
|
428 |
+
.collapsible li div.help .ftg-code {
|
429 |
+
display: block;
|
430 |
+
padding-top: 10px;
|
431 |
+
height: 40px;
|
432 |
+
}
|
433 |
+
.collapsible li div.help .ftg-code a {
|
434 |
+
color: #999;
|
435 |
+
font-size: 18px;
|
436 |
+
}
|
437 |
+
.collapsible li div.help .ftg-code a:focus {
|
438 |
+
box-shadow: none;
|
439 |
+
}
|
440 |
+
.collapsible li div.help .ftg-code span {
|
441 |
+
opacity: 0;
|
442 |
+
}
|
443 |
+
.collapsible li div.help .ftg-code span.visible {
|
444 |
+
opacity: 1;
|
445 |
+
}
|
446 |
+
.collapsible li div.help .ftg-code input[type=text] {
|
447 |
+
font-size:12px;
|
448 |
+
font-family: courier, monospace;
|
449 |
+
width:200px;
|
450 |
+
display: inline-block;
|
451 |
+
padding: 5px;
|
452 |
+
height: auto;
|
453 |
+
border:1px solid #ccc;
|
454 |
+
}
|
455 |
+
.collapsible li div.help p {
|
456 |
+
padding:0 0 10px 0;
|
457 |
+
border-bottom:1px dotted #ccc;
|
458 |
+
}
|
459 |
.collapsible li div.help strong {
|
460 |
font-weight: 700;
|
461 |
}
|
737 |
.cf {
|
738 |
*zoom: 1;
|
739 |
}
|
|
|
740 |
#fs_connect {
|
741 |
margin: 60px auto !important;
|
742 |
}
|
743 |
#fs_connect .fs-visual .dashicons-wordpress {
|
744 |
height: 76px !important;
|
745 |
width: 76px !important;
|
|
admin/edit-gallery.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
3 |
|
4 |
$galleryResults = $this->FinalTilesdb->getGalleries();
|
|
|
5 |
$gallery = null;
|
6 |
|
7 |
$gid = intval($_GET['id']);
|
@@ -21,23 +22,23 @@
|
|
21 |
<?php include "header.php" ?>
|
22 |
|
23 |
<div class='bd'>
|
24 |
-
<div class="row ">
|
25 |
-
<div class="
|
26 |
-
<
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
39 |
</div>
|
40 |
-
<p class="import-export"> <a id='import-settings' href="#"> Import </a> / <a id='export-settings' href="#"> Export </a> </p>
|
41 |
<div id="settings">
|
42 |
<form name="gallery_form" id="edit-gallery" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>" method="post">
|
43 |
<?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
|
2 |
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
3 |
|
4 |
$galleryResults = $this->FinalTilesdb->getGalleries();
|
5 |
+
$default_options = get_option('FinalTiles_gallery_options');
|
6 |
$gallery = null;
|
7 |
|
8 |
$gid = intval($_GET['id']);
|
22 |
<?php include "header.php" ?>
|
23 |
|
24 |
<div class='bd'>
|
25 |
+
<div class="row ">
|
26 |
+
<div class="settings-header">
|
27 |
+
<p class="import-export">
|
28 |
+
<a id='import-settings' href="#"><i class="mdi mdi-import"></i> Import settings</a>
|
29 |
+
<a id='export-settings' href="#"><i class="mdi mdi-export"></i> Export settings</a>
|
30 |
+
<a target="_blank" href="http://issuu.com/greentreelabs/docs/finaltilesgridgallery-documentation?e=17859916/13243836">
|
31 |
+
<i class="mdi mdi-book-open-variant"></i>
|
32 |
+
<?php _e('Documentation','final-tiles-gallery')?>
|
33 |
+
</a>
|
34 |
+
<a target="_blank" href="https://www.youtube.com/watch?v=RNT4JGjtyrs">
|
35 |
+
<i class="mdi mdi-play-circle-outline"></i>
|
36 |
+
<?php _e('Tutorial','final-tiles-gallery')?></a>
|
37 |
+
</p>
|
38 |
+
<p class="shortcode">
|
39 |
+
Shortcode: <input id="shortcode-shortcut" readonly="" type="text" value="[FinalTilesGallery id='<?php print $gid ?>']">
|
40 |
+
</p>
|
41 |
</div>
|
|
|
42 |
<div id="settings">
|
43 |
<form name="gallery_form" id="edit-gallery" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>" method="post">
|
44 |
<?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
|
admin/galleries.php
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
<?php $ftg_subtitle = "Other galleries by GreenTreeLabs"; ?>
|
2 |
-
<?php include "header.php" ?>
|
3 |
-
|
4 |
-
<div class="row" id="other-galleries">
|
5 |
-
<div class="col s12 m6 l6">
|
6 |
-
<div class="card">
|
7 |
-
<div class="card-image">
|
8 |
-
<a href="http://modula.greentreelabs.net/?utm_source=ftglite&utm_medium=banner&utm_campaign=Final%20Tiles%20Gallery%20Lite" target="_blank">
|
9 |
-
<img src="<?php echo plugins_url('',__file__) ?>/images/modula.jpg" alt="Modula Grid Gallery">
|
10 |
-
</a>
|
11 |
-
</div>
|
12 |
-
<div class="card-content">
|
13 |
-
<div class="text">
|
14 |
-
<h4>Modula Grid Gallery</h4>
|
15 |
-
<p>Modula is a New Multipurpose WordPress Plugin To Make Attention-Grabbing Photo Grid Galleries.</p>
|
16 |
-
</div>
|
17 |
-
<div class="cta">
|
18 |
-
<a href="http://modula.greentreelabs.net/?utm_source=ftglite&utm_medium=banner&utm_campaign=Final%20Tiles%20Gallery%20Lite" target="_blank" class="waves-effect waves-light btn deep-orange darken-3">
|
19 |
-
Find out more
|
20 |
-
</a>
|
21 |
-
</div>
|
22 |
-
</div>
|
23 |
-
</div>
|
24 |
-
</div>
|
25 |
-
<div class="col s12 m6 l6">
|
26 |
-
<div class="card">
|
27 |
-
<div class="card-image">
|
28 |
-
<a href="http://circles-gallery.com/wordpress" target="_blank">
|
29 |
-
<img src="<?php echo plugins_url('',__file__) ?>/images/circles.jpg" alt="Circles Gallery">
|
30 |
-
</a>
|
31 |
-
</div>
|
32 |
-
<div class="card-content">
|
33 |
-
<div class="text">
|
34 |
-
<h4>Circles Gallery</h4>
|
35 |
-
<p>Three plugins in one: not only an original gallery plugin for WordPress but also a responsive multi-column layout for texts and a “Team members” plugin.</p>
|
36 |
-
</div>
|
37 |
-
<div class="cta">
|
38 |
-
<a href="http://circles-gallery.com/wordpress" target="_blank" class="waves-effect waves-light btn deep-orange darken-3">
|
39 |
-
Find out more
|
40 |
-
</a>
|
41 |
-
</div>
|
42 |
-
</div>
|
43 |
-
</div>
|
44 |
-
</div>
|
45 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/header.php
CHANGED
@@ -1,4 +1,18 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'deep-orange');
|
4 |
+
|
5 |
+
?>
|
6 |
+
<header id="top">
|
7 |
+
<h1 class="header center-on-small-only">Final Tiles Grid Gallery <small><?php print FTGVERSION ?></small></h1>
|
8 |
+
<h4 class="center-on-small-only"><?php print $ftg_subtitle ?></h4>
|
9 |
+
</header>
|
10 |
+
<?php
|
11 |
+
if ( ftg_fs()->is_not_paying() ) {
|
12 |
+
echo '<a class="upgrade-call" href="' . ftg_fs()->get_upgrade_url() . '">' .
|
13 |
+
__('Upgrade Now!', 'final-tiles-grid-gallery-lite') .
|
14 |
+
'</a>';
|
15 |
+
echo '
|
16 |
+
</section>';
|
17 |
+
}
|
18 |
+
?>
|
admin/images/circles.jpg
DELETED
Binary file
|
admin/images/modula-strip.jpg
DELETED
Binary file
|
admin/images/modula.jpg
DELETED
Binary file
|
admin/include/edit-gallery.php
CHANGED
@@ -1,231 +1,601 @@
|
|
1 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
function ftg_p($gallery, $field, $default = NULL)
|
4 |
-
{
|
5 |
-
global $ftg_options;
|
6 |
-
|
7 |
-
if($ftg_options) {
|
8 |
-
if(array_key_exists($field, $ftg_options))
|
9 |
-
print stripslashes($ftg_options[$field]);
|
10 |
-
return;
|
11 |
-
}
|
12 |
-
|
13 |
-
if($gallery == NULL || $gallery->$field === NULL)
|
14 |
-
{
|
15 |
-
if($default === NULL)
|
16 |
-
{
|
17 |
-
print "";
|
18 |
-
}
|
19 |
-
else
|
20 |
-
{
|
21 |
-
print stripslashes($default);
|
22 |
-
}
|
23 |
-
}
|
24 |
-
else
|
25 |
-
{
|
26 |
-
print stripslashes($gallery->$field);
|
27 |
-
}
|
28 |
-
}
|
29 |
-
function ftg_sel($gallery, $field, $value, $type="selected")
|
30 |
-
{
|
31 |
-
global $ftg_options;
|
32 |
-
|
33 |
-
if($ftg_options && $ftg_options[$field] == $value) {
|
34 |
-
print $type;
|
35 |
-
return;
|
36 |
-
}
|
37 |
-
|
38 |
-
if($gallery == NULL)
|
39 |
-
{
|
40 |
-
print "";
|
41 |
-
}
|
42 |
-
else
|
43 |
-
{
|
44 |
-
if($gallery->$field == $value)
|
45 |
-
print $type;
|
46 |
-
}
|
47 |
-
}
|
48 |
-
|
49 |
-
|
50 |
-
global $ftg_parent_page;
|
51 |
-
global $ftg_fields;
|
52 |
-
|
53 |
-
$filters = explode('|', $gallery->filters);
|
54 |
-
|
55 |
-
//print_r($gallery);
|
56 |
-
|
57 |
-
$idx = 0;
|
58 |
-
$colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'deep-orange');
|
59 |
-
?>
|
60 |
-
|
61 |
-
<?php
|
62 |
-
|
63 |
-
/*foreach($ftg_fields as $section => $s)
|
64 |
-
{
|
65 |
-
foreach($s["fields"] as $f => $data)
|
66 |
-
{
|
67 |
-
_e("<strong>" . $data["name"] . "</strong><br>");
|
68 |
-
_e("<p>".$data["description"]."</p>");
|
69 |
-
}
|
70 |
-
}*/
|
71 |
-
|
72 |
-
function ftgSortByName($a, $b)
|
73 |
-
{
|
74 |
-
return $a["name"] > $b["name"];
|
75 |
-
}
|
76 |
-
|
77 |
-
?>
|
78 |
|
79 |
<ul class="collapsible" data-collapsible="accordion">
|
80 |
-
<?php
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
</div>
|
85 |
-
<div class="collapsible-body <?php
|
|
|
|
|
|
|
86 |
<div class="jump-head">
|
87 |
-
<?php
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
usort($jumpFields, "ftgSortByName");
|
98 |
-
|
99 |
-
?>
|
100 |
<select class="browser-default jump">
|
101 |
-
<option><?php
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
</option>
|
107 |
-
<?php
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
109 |
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
</div>
|
111 |
<table>
|
112 |
<tbody>
|
113 |
-
<?php
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
-
<tr class="row-<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
<th scope="row">
|
118 |
-
<label><?php
|
119 |
-
|
120 |
-
|
121 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
</label>
|
123 |
</th>
|
124 |
<td>
|
125 |
-
<div class="field
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
<div class="text">
|
128 |
-
<input type="text" size="30" name="ftg_<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
</div>
|
130 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
<div class="text">
|
132 |
-
<select class="browser-default" name="ftg_<?php
|
133 |
-
|
134 |
-
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
|
137 |
-
<?php
|
|
|
|
|
138 |
|
139 |
-
<option <?php
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
</optgroup>
|
142 |
-
<?php
|
|
|
|
|
143 |
</select>
|
144 |
-
<?php
|
|
|
|
|
|
|
145 |
<div class="col s12 ftg-everlightbox-settings">
|
146 |
-
<?php
|
|
|
|
|
|
|
147 |
<div class="card-panel light-green lighten-4">
|
148 |
<a href="?page=everlightbox_options" target="_blank">EverlightBox settings</a>
|
149 |
</div>
|
150 |
-
<?php
|
|
|
|
|
151 |
<div class="card-panel yellow lighten-3">
|
152 |
EverlightBox not installed. <a target="_blank" href="plugin-install.php?s=everlightbox&tab=search&type=term">Install</a>
|
153 |
</div>
|
154 |
-
<?php
|
|
|
|
|
|
|
|
|
155 |
</div>
|
156 |
-
<?php
|
|
|
|
|
|
|
157 |
</div>
|
158 |
-
<?php
|
|
|
|
|
159 |
<div class="text">
|
160 |
-
<input type="checkbox"
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
</div>
|
163 |
|
164 |
-
<?php
|
|
|
|
|
165 |
|
166 |
<div class="text">
|
167 |
<p class="range-field">
|
168 |
-
<input name="ftg_<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
</p>
|
170 |
</div>
|
171 |
|
172 |
-
<?php
|
|
|
|
|
173 |
<div class="text">
|
174 |
-
<input type="text" name="ftg_<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
</div>
|
176 |
|
177 |
-
<?php
|
|
|
|
|
178 |
<div class="text">
|
179 |
-
<input type="text" size="6" data-default-color="<?php
|
180 |
-
|
181 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
<div class="text">
|
190 |
-
<textarea name="ftg_<?php
|
191 |
-
|
192 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
<div class="help">
|
194 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
</div>
|
196 |
|
197 |
</div>
|
198 |
</td>
|
199 |
</tr>
|
200 |
-
<?php
|
201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
</tbody>
|
203 |
</table>
|
204 |
</div>
|
205 |
</li>
|
206 |
-
<?php
|
207 |
-
|
|
|
|
|
|
|
|
|
208 |
<li id="images">
|
209 |
-
<div class="collapsible-header
|
210 |
-
<i class="mdi mdi-image-filter
|
|
|
|
|
|
|
|
|
|
|
211 |
</div>
|
212 |
-
<div class="collapsible-body <?php
|
|
|
|
|
|
|
213 |
<div id="images" class="ftg-section form-fields">
|
214 |
<div class="actions">
|
215 |
-
<label><?php
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
<div class="actions">
|
224 |
<div class="row">
|
225 |
<label>Loading method</label>
|
226 |
<select name="ftg_loadMethod" class="browser-default">
|
227 |
-
<option <?php
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
</select>
|
230 |
</div>
|
231 |
</div>
|
@@ -233,74 +603,470 @@ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'dee
|
|
233 |
<div class="row">
|
234 |
<label>Ajax loading</label>
|
235 |
<select name="ftg_ajaxLoading" class="browser-default js-ajax-loading-control">
|
236 |
-
<option <?php
|
237 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
</select>
|
239 |
</div>
|
240 |
<div class="row js-ajax-loading" style="display:none;">
|
241 |
<label>Number of images to load via ajax</label>
|
242 |
-
<input class="browser-default" type="text" value="<?php
|
|
|
|
|
|
|
243 |
</div>
|
244 |
</div>
|
245 |
<div class="actions source-images source-panel">
|
246 |
<div class="row">
|
247 |
<div class="tips">
|
248 |
<span class="shortpixel">
|
249 |
-
<img src="<?php
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
</div>
|
252 |
-
<label><?php
|
|
|
|
|
|
|
253 |
|
254 |
<select class="current-image-size browser-default">
|
255 |
-
<?php
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
?>
|
261 |
</select>
|
262 |
-
<p class="tips"><?php
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
<div class="tips">
|
264 |
-
<strong><?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
<br>
|
266 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
</div>
|
268 |
</div>
|
269 |
<div class="row">
|
270 |
-
<a href="#" class="open-media-panel waves-effect waves-light btn action"><i class="mdi mdi-image-area"></i> <?php
|
271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
</div>
|
273 |
<div class="row">
|
274 |
-
<p class="tips"><?php
|
275 |
-
|
|
|
|
|
|
|
276 |
</div>
|
277 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
</div>
|
279 |
<div class="actions">
|
280 |
<div class="bulk row">
|
281 |
-
<label><?php
|
|
|
|
|
|
|
282 |
<div class="options">
|
283 |
<span class="indigo lighten-4">
|
284 |
-
<a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="select"><?php
|
285 |
-
|
286 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
</span>
|
288 |
<span class="green lighten-4">
|
289 |
-
|
290 |
-
|
|
|
|
|
291 |
</span>
|
292 |
<span class="orange lighten-4">
|
293 |
-
<a class="btn lime darken-3 waves-effect waves-light" href="#" data-action="show-hide"><?php
|
294 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
</span>
|
296 |
</div>
|
297 |
|
298 |
<div class="row">
|
299 |
-
<b class="listview"> <?php
|
|
|
|
|
|
|
300 |
<ul class="list-view-control">
|
301 |
-
<li data-size="small" id="listview-small" class="li"> <?php
|
302 |
-
|
303 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
</ul>
|
305 |
</div>
|
306 |
|
@@ -308,29 +1074,56 @@ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'dee
|
|
308 |
<strong></strong>
|
309 |
<p class="text"></p>
|
310 |
<p class="input">
|
311 |
-
<input type="text" placeholder="<?php
|
312 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
</p>
|
314 |
<p class="buttons">
|
315 |
-
<a class="btn orange cancel" href="#"><?php
|
316 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
</p>
|
318 |
</div>
|
319 |
</div>
|
320 |
</div>
|
321 |
|
322 |
-
<?php
|
|
|
|
|
|
|
323 |
<div class="row filter-list">
|
324 |
-
<b class="listview"> <?php
|
|
|
|
|
|
|
325 |
<ul class="filter-select-control">
|
326 |
-
<?php
|
|
|
|
|
327 |
<li class='filter-item' >
|
328 |
-
<?php
|
|
|
|
|
329 |
</li>
|
330 |
-
<?php
|
|
|
|
|
331 |
</ul>
|
332 |
</div>
|
333 |
-
<?php
|
|
|
|
|
|
|
334 |
<div id="image-list" class="row"></div>
|
335 |
</div>
|
336 |
</li>
|
@@ -343,31 +1136,106 @@ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'dee
|
|
343 |
<i class="large mdi mdi-chevron-up"></i>
|
344 |
</a>
|
345 |
<ul>
|
346 |
-
<?php
|
347 |
-
|
348 |
-
|
349 |
-
<?php
|
350 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
</ul>
|
352 |
</div>
|
353 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
<!-- image panel -->
|
355 |
<div id="image-panel-model" class="modal">
|
356 |
<div class="modal-content cf">
|
357 |
-
<h4><?php
|
|
|
|
|
|
|
358 |
<div class="left">
|
359 |
<div class="figure"></div>
|
360 |
<div class="field sizes"></div>
|
361 |
</div>
|
362 |
<div class="right-side">
|
363 |
<div class="field">
|
364 |
-
<label><?php
|
|
|
|
|
|
|
365 |
<div class="text">
|
366 |
<textarea name="imageTitle"></textarea>
|
367 |
</div>
|
368 |
</div>
|
369 |
<div class="field">
|
370 |
-
<label><?php
|
|
|
|
|
|
|
371 |
<div class="text">
|
372 |
<textarea name="description"></textarea>
|
373 |
</div>
|
@@ -375,31 +1243,72 @@ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'dee
|
|
375 |
<div class="field">
|
376 |
<input id="hidden-image" type="checkbox" name="hidden" value="T" />
|
377 |
<label for="hidden-image">
|
378 |
-
<?php
|
|
|
|
|
379 |
</label>
|
380 |
</div>
|
381 |
<div class="field js-no-hidden">
|
382 |
-
<label><?php
|
|
|
|
|
|
|
383 |
<div class="text dark">
|
384 |
<input type="text" size="20" value="" name="link" />
|
385 |
</div>
|
386 |
</div>
|
387 |
<div class="field js-no-hidden">
|
388 |
-
<label><?php
|
|
|
|
|
|
|
389 |
<div class="text">
|
390 |
<select name="target" class="browser-default">
|
391 |
-
<option value="default"><?php
|
392 |
-
|
393 |
-
|
394 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
</select>
|
396 |
</div>
|
397 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
</div>
|
399 |
</div>
|
400 |
<div class="field buttons modal-footer">
|
401 |
-
<a href="#" data-action="save" class="action modal-action modal-close waves-effect waves-green btn-flat"><i class="fa fa-save"></i> <?php
|
402 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
</div>
|
404 |
</div>
|
405 |
|
@@ -419,7 +1328,24 @@ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'dee
|
|
419 |
<div class="overlay" style="display:none"></div>
|
420 |
|
421 |
<script>
|
422 |
-
var
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
(function ($) {
|
424 |
$("[name=captionFullHeight]").change(function () {
|
425 |
if($(this).val() == "F")
|
@@ -432,5 +1358,39 @@ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'dee
|
|
432 |
}
|
433 |
});
|
434 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
435 |
})(jQuery);
|
436 |
</script>
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !function_exists( 'ftg_p' ) ) {
|
4 |
+
function ftg_p( $gallery, $field, $default = NULL )
|
5 |
+
{
|
6 |
+
global $ftg_options ;
|
7 |
+
|
8 |
+
if ( $ftg_options ) {
|
9 |
+
if ( array_key_exists( $field, $ftg_options ) ) {
|
10 |
+
print stripslashes( $ftg_options[$field] );
|
11 |
+
}
|
12 |
+
return;
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
if ( $gallery == NULL || $gallery->{$field} === NULL ) {
|
17 |
+
|
18 |
+
if ( $default === NULL ) {
|
19 |
+
print '';
|
20 |
+
} else {
|
21 |
+
print stripslashes( $default );
|
22 |
+
}
|
23 |
+
|
24 |
+
} else {
|
25 |
+
print stripslashes( $gallery->{$field} );
|
26 |
+
}
|
27 |
+
|
28 |
+
}
|
29 |
+
|
30 |
+
function ftg_sel(
|
31 |
+
$gallery,
|
32 |
+
$field,
|
33 |
+
$value,
|
34 |
+
$type = 'selected'
|
35 |
+
)
|
36 |
+
{
|
37 |
+
global $ftg_options ;
|
38 |
+
|
39 |
+
if ( $ftg_options && $ftg_options[$field] == $value ) {
|
40 |
+
print $type;
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
|
44 |
+
|
45 |
+
if ( $gallery == NULL ) {
|
46 |
+
print '';
|
47 |
+
} else {
|
48 |
+
if ( $gallery->{$field} == $value ) {
|
49 |
+
print $type;
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
}
|
54 |
+
|
55 |
+
function ftg_checkFieldDisabled( $options )
|
56 |
+
{
|
57 |
+
if ( count( $options ) == 3 && $options[2] == 'disabled' ) {
|
58 |
+
return 'disabled';
|
59 |
+
}
|
60 |
+
return '';
|
61 |
+
}
|
62 |
+
|
63 |
+
function ftg_checkDisabledOption( $plan )
|
64 |
+
{
|
65 |
+
return 'disabled';
|
66 |
+
return '';
|
67 |
+
}
|
68 |
+
|
69 |
+
function ftg_printPro( $plan )
|
70 |
+
{
|
71 |
+
return ' (upgrade to unlock)';
|
72 |
+
return '';
|
73 |
+
}
|
74 |
+
|
75 |
+
function ftg_printFieldPro( $options )
|
76 |
+
{
|
77 |
+
if ( count( $options ) == 3 && $options[2] == 'disabled' ) {
|
78 |
+
return ' (upgrade to unlock)';
|
79 |
+
}
|
80 |
+
return '';
|
81 |
+
}
|
82 |
+
|
83 |
+
}
|
84 |
+
|
85 |
+
global $ftg_parent_page ;
|
86 |
+
global $ftg_fields ;
|
87 |
+
$filters = explode( '|', $gallery->filters );
|
88 |
+
//print_r($gallery);
|
89 |
+
$idx = 0;
|
90 |
+
function ftgSortByName( $a, $b )
|
91 |
+
{
|
92 |
+
return $a['name'] > $b['name'];
|
93 |
+
}
|
94 |
+
|
95 |
+
?>
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
<ul class="collapsible" data-collapsible="accordion">
|
99 |
+
<?php
|
100 |
+
foreach ( $ftg_fields as $section => $s ) {
|
101 |
+
?>
|
102 |
+
<li id="<?php
|
103 |
+
_e( FinalTiles_Gallery::slugify( $section ) );
|
104 |
+
?>
|
105 |
+
">
|
106 |
+
<div class="collapsible-header">
|
107 |
+
<i class="mdi <?php
|
108 |
+
_e( $s['icon'] );
|
109 |
+
?>
|
110 |
+
ftg-section-icon white-text <?php
|
111 |
+
print $colors[$idx];
|
112 |
+
?>
|
113 |
+
darken-2"></i> <?php
|
114 |
+
_e( $section );
|
115 |
+
?>
|
116 |
</div>
|
117 |
+
<div class="collapsible-body <?php
|
118 |
+
print $colors[$idx];
|
119 |
+
?>
|
120 |
+
lighten-5 tab form-fields">
|
121 |
<div class="jump-head">
|
122 |
+
<?php
|
123 |
+
$jumpFields = array();
|
124 |
+
foreach ( $s['fields'] as $f => $data ) {
|
125 |
+
$jumpFields[$f] = $data;
|
126 |
+
$jumpFields[$f]['_code'] = $f;
|
127 |
+
}
|
128 |
+
unset( $f );
|
129 |
+
unset( $data );
|
130 |
+
usort( $jumpFields, 'ftgSortByName' );
|
131 |
+
?>
|
|
|
|
|
|
|
132 |
<select class="browser-default jump">
|
133 |
+
<option><?php
|
134 |
+
_e( 'Jump to setting', 'final-tiles-gallery' );
|
135 |
+
?>
|
136 |
+
</option>
|
137 |
+
<?php
|
138 |
+
foreach ( $jumpFields as $f => $data ) {
|
139 |
+
?>
|
140 |
+
<?php
|
141 |
+
|
142 |
+
if ( is_array( $data['excludeFrom'] ) && !in_array( $ftg_parent_page, $data['excludeFrom'] ) ) {
|
143 |
+
?>
|
144 |
+
<option value="<?php
|
145 |
+
_e( $data['_code'] );
|
146 |
+
?>
|
147 |
+
">
|
148 |
+
<?php
|
149 |
+
_e( $data['name'] );
|
150 |
+
?>
|
151 |
</option>
|
152 |
+
<?php
|
153 |
+
}
|
154 |
+
|
155 |
+
?>
|
156 |
+
<?php
|
157 |
+
}
|
158 |
+
?>
|
159 |
</select>
|
160 |
+
|
161 |
+
<?php
|
162 |
+
|
163 |
+
if ( array_key_exists( 'presets', $s ) ) {
|
164 |
+
?>
|
165 |
+
<select class="browser-default presets" data-field-idx="<?php
|
166 |
+
echo $idx ;
|
167 |
+
?>
|
168 |
+
">
|
169 |
+
<option value="">Select preset</option>
|
170 |
+
<?php
|
171 |
+
foreach ( $s['presets'] as $preset => $data ) {
|
172 |
+
?>
|
173 |
+
<option><?php
|
174 |
+
echo $preset ;
|
175 |
+
?>
|
176 |
+
</option>
|
177 |
+
<?php
|
178 |
+
}
|
179 |
+
?>
|
180 |
+
</select>
|
181 |
+
<?php
|
182 |
+
}
|
183 |
+
|
184 |
+
?>
|
185 |
</div>
|
186 |
<table>
|
187 |
<tbody>
|
188 |
+
<?php
|
189 |
+
foreach ( $s['fields'] as $f => $data ) {
|
190 |
+
?>
|
191 |
+
<?php
|
192 |
+
|
193 |
+
if ( is_array( $data['excludeFrom'] ) && !in_array( $ftg_parent_page, $data['excludeFrom'] ) ) {
|
194 |
+
?>
|
195 |
|
196 |
+
<tr class="row-<?php
|
197 |
+
print $f;
|
198 |
+
?>
|
199 |
+
<?php
|
200 |
+
print $data['type'];
|
201 |
+
?>
|
202 |
+
">
|
203 |
<th scope="row">
|
204 |
+
<label><?php
|
205 |
+
_e( $data['name'] );
|
206 |
+
?>
|
207 |
+
<?php
|
208 |
+
|
209 |
+
if ( $data['mu'] ) {
|
210 |
+
?>
|
211 |
+
(<?php
|
212 |
+
_e( $data['mu'] );
|
213 |
+
?>
|
214 |
+
)
|
215 |
+
<?php
|
216 |
+
}
|
217 |
+
|
218 |
+
?>
|
219 |
</label>
|
220 |
</th>
|
221 |
<td>
|
222 |
+
<div class="field <?php
|
223 |
+
echo ( in_array( 'shortcode', $data['excludeFrom'] ) ? '' : 'js-update-shortcode' ) ;
|
224 |
+
?>
|
225 |
+
">
|
226 |
+
<?php
|
227 |
+
|
228 |
+
if ( $data['type'] == 'text' ) {
|
229 |
+
?>
|
230 |
<div class="text">
|
231 |
+
<input type="text" size="30" name="ftg_<?php
|
232 |
+
print $f;
|
233 |
+
?>
|
234 |
+
" value="<?php
|
235 |
+
ftg_p( $gallery, $f, $data['default'] );
|
236 |
+
?>
|
237 |
+
" />
|
238 |
</div>
|
239 |
+
<?php
|
240 |
+
} elseif ( $data['type'] == 'cta' ) {
|
241 |
+
?>
|
242 |
+
<div class="text">
|
243 |
+
<a class="in-table-cta" href="<?php
|
244 |
+
echo ftg_fs()->get_upgrade_url() ;
|
245 |
+
?>
|
246 |
+
"><i class="mdi mdi-bell-ring-outline"></i>
|
247 |
+
<?php
|
248 |
+
_e( 'Unlock this feature. Upgrade Now!', 'final-tiles-grid-gallery-lite' );
|
249 |
+
?>
|
250 |
+
</a>
|
251 |
+
</div>
|
252 |
+
<?php
|
253 |
+
} elseif ( $data['type'] == 'select' ) {
|
254 |
+
?>
|
255 |
<div class="text">
|
256 |
+
<select class="browser-default" name="ftg_<?php
|
257 |
+
print $f;
|
258 |
+
?>
|
259 |
+
">
|
260 |
+
<?php
|
261 |
+
foreach ( array_keys( $data['values'] ) as $optgroup ) {
|
262 |
+
?>
|
263 |
+
<optgroup label="<?php
|
264 |
+
print $optgroup;
|
265 |
+
?>
|
266 |
+
">
|
267 |
+
<?php
|
268 |
+
foreach ( $data['values'][$optgroup] as $option ) {
|
269 |
+
?>
|
270 |
|
271 |
+
<?php
|
272 |
+
$v = explode( '|', $option );
|
273 |
+
?>
|
274 |
|
275 |
+
<option <?php
|
276 |
+
echo ftg_checkFieldDisabled( $v ) ;
|
277 |
+
?>
|
278 |
+
<?php
|
279 |
+
ftg_sel( $gallery, $f, $v[0] );
|
280 |
+
?>
|
281 |
+
value="<?php
|
282 |
+
print $v[0];
|
283 |
+
?>
|
284 |
+
"><?php
|
285 |
+
print $v[1];
|
286 |
+
echo ftg_printFieldPro( $v ) ;
|
287 |
+
?>
|
288 |
+
</option>
|
289 |
+
<?php
|
290 |
+
}
|
291 |
+
?>
|
292 |
</optgroup>
|
293 |
+
<?php
|
294 |
+
}
|
295 |
+
?>
|
296 |
</select>
|
297 |
+
<?php
|
298 |
+
|
299 |
+
if ( $f == 'lightbox' ) {
|
300 |
+
?>
|
301 |
<div class="col s12 ftg-everlightbox-settings">
|
302 |
+
<?php
|
303 |
+
|
304 |
+
if ( class_exists( 'Everlightbox_Public' ) ) {
|
305 |
+
?>
|
306 |
<div class="card-panel light-green lighten-4">
|
307 |
<a href="?page=everlightbox_options" target="_blank">EverlightBox settings</a>
|
308 |
</div>
|
309 |
+
<?php
|
310 |
+
} else {
|
311 |
+
?>
|
312 |
<div class="card-panel yellow lighten-3">
|
313 |
EverlightBox not installed. <a target="_blank" href="plugin-install.php?s=everlightbox&tab=search&type=term">Install</a>
|
314 |
</div>
|
315 |
+
<?php
|
316 |
+
}
|
317 |
+
|
318 |
+
?>
|
319 |
+
|
320 |
</div>
|
321 |
+
<?php
|
322 |
+
}
|
323 |
+
|
324 |
+
?>
|
325 |
</div>
|
326 |
+
<?php
|
327 |
+
} elseif ( $data['type'] == 'toggle' ) {
|
328 |
+
?>
|
329 |
<div class="text">
|
330 |
+
<input type="checkbox" class="ftg-checkbox" id="ftg_<?php
|
331 |
+
print $f;
|
332 |
+
?>
|
333 |
+
" name="ftg_<?php
|
334 |
+
print $f;
|
335 |
+
?>
|
336 |
+
" value="<?php
|
337 |
+
ftg_p( $gallery, $f, $data['default'] );
|
338 |
+
?>
|
339 |
+
" <?php
|
340 |
+
ftg_sel(
|
341 |
+
$gallery,
|
342 |
+
$f,
|
343 |
+
'T',
|
344 |
+
'checked'
|
345 |
+
);
|
346 |
+
?>
|
347 |
+
/>
|
348 |
+
<label for="ftg_<?php
|
349 |
+
print $f;
|
350 |
+
?>
|
351 |
+
"><?php
|
352 |
+
_e( $data['description'] );
|
353 |
+
?>
|
354 |
+
</label>
|
355 |
</div>
|
356 |
|
357 |
+
<?php
|
358 |
+
} elseif ( $data['type'] == 'slider' ) {
|
359 |
+
?>
|
360 |
|
361 |
<div class="text">
|
362 |
<p class="range-field">
|
363 |
+
<input name="ftg_<?php
|
364 |
+
print $f;
|
365 |
+
?>
|
366 |
+
" value="<?php
|
367 |
+
ftg_p( $gallery, $f, $data['default'] );
|
368 |
+
?>
|
369 |
+
" type="range" min="<?php
|
370 |
+
print $data['min'];
|
371 |
+
?>
|
372 |
+
" max="<?php
|
373 |
+
print $data['max'];
|
374 |
+
?>
|
375 |
+
" />
|
376 |
</p>
|
377 |
</div>
|
378 |
|
379 |
+
<?php
|
380 |
+
} elseif ( $data['type'] == 'number' ) {
|
381 |
+
?>
|
382 |
<div class="text">
|
383 |
+
<input type="text" name="ftg_<?php
|
384 |
+
print $f;
|
385 |
+
?>
|
386 |
+
" class="integer-only" value="<?php
|
387 |
+
ftg_p( $gallery, $f, $data['default'] );
|
388 |
+
?>
|
389 |
+
" >
|
390 |
</div>
|
391 |
|
392 |
+
<?php
|
393 |
+
} elseif ( $data['type'] == 'color' ) {
|
394 |
+
?>
|
395 |
<div class="text">
|
396 |
+
<input type="text" size="6" data-default-color="<?php
|
397 |
+
print $data['default'];
|
398 |
+
?>
|
399 |
+
" name="ftg_<?php
|
400 |
+
print $f;
|
401 |
+
?>
|
402 |
+
" value="<?php
|
403 |
+
ftg_p( $gallery, $f, $data['default'] );
|
404 |
+
?>
|
405 |
+
" class='pickColor' /> </div>
|
406 |
|
407 |
+
<?php
|
408 |
+
} elseif ( $data['type'] == 'filter' ) {
|
409 |
+
?>
|
410 |
+
|
411 |
+
<div class="filters gallery-filters dynamic-table">
|
412 |
+
<div class="text"></div>
|
413 |
+
<a href="#" class="add waves-effect waves-light btn">
|
414 |
+
<i class="fa fa-plus left"></i> Add filter</a>
|
415 |
+
<p class="reset"><button class="waves-effect waves-light btn yellow reset-default-filter">Reset selected filter</button></p>
|
416 |
+
<input type="hidden" name="ftg_filters" value="<?php
|
417 |
+
ftg_p( $gallery, 'filters' );
|
418 |
+
?>
|
419 |
+
" />
|
420 |
+
<input type="hidden" name="filter_def" value="<?php
|
421 |
+
ftg_p( $gallery, 'defaultFilter' );
|
422 |
+
?>
|
423 |
+
" />
|
424 |
+
</div>
|
425 |
+
|
426 |
+
<?php
|
427 |
+
} elseif ( $data['type'] == 'textarea' ) {
|
428 |
+
?>
|
429 |
<div class="text">
|
430 |
+
<textarea name="ftg_<?php
|
431 |
+
print $f;
|
432 |
+
?>
|
433 |
+
"><?php
|
434 |
+
ftg_p( $gallery, $f );
|
435 |
+
?>
|
436 |
+
</textarea>
|
437 |
+
</div>
|
438 |
+
<?php
|
439 |
+
} elseif ( $data['type'] == 'custom_isf' ) {
|
440 |
+
?>
|
441 |
+
<div class="custom_isf dynamic-table">
|
442 |
+
<table class="striped">
|
443 |
+
<thead>
|
444 |
+
<tr>
|
445 |
+
<th></th>
|
446 |
+
<th><?php
|
447 |
+
_e( 'Resolution', 'final-tiles-gallery' );
|
448 |
+
?>
|
449 |
+
(px)</th>
|
450 |
+
<th><?php
|
451 |
+
_e( 'Size factor', 'final-tiles-gallery' );
|
452 |
+
?>
|
453 |
+
(%)</th>
|
454 |
+
</tr>
|
455 |
+
</thead>
|
456 |
+
<tbody>
|
457 |
+
</tbody>
|
458 |
+
</table>
|
459 |
+
<input type="hidden" name="ftg_imageSizeFactorCustom" value="<?php
|
460 |
+
ftg_p( $gallery, 'imageSizeFactorCustom' );
|
461 |
+
?>
|
462 |
+
" />
|
463 |
+
<a href="#" class="add waves-effect waves-light btn">
|
464 |
+
<i class="mdi-content-add left"></i>
|
465 |
+
<?php
|
466 |
+
_e( 'Add resolution', 'final-tiles-gallery' );
|
467 |
+
?>
|
468 |
+
</a>
|
469 |
+
</div>
|
470 |
+
<?php
|
471 |
+
}
|
472 |
+
|
473 |
+
?>
|
474 |
<div class="help">
|
475 |
+
<?php
|
476 |
+
|
477 |
+
if ( strlen( $data['description'] ) ) {
|
478 |
+
?>
|
479 |
+
<p><?php
|
480 |
+
_e( $data['description'] );
|
481 |
+
?>
|
482 |
+
</p>
|
483 |
+
<?php
|
484 |
+
}
|
485 |
+
|
486 |
+
?>
|
487 |
+
<?php
|
488 |
+
|
489 |
+
if ( !in_array( 'shortcode', $data['excludeFrom'] ) && $data['type'] != 'cta' ) {
|
490 |
+
?>
|
491 |
+
<div class="ftg-code">
|
492 |
+
<a href="#" class="toggle-shortcode" data-code="<?php
|
493 |
+
print $f;
|
494 |
+
?>
|
495 |
+
"><i class="mdi mdi-settings"></i></a>
|
496 |
+
<span id="shortcode-<?php
|
497 |
+
print $f;
|
498 |
+
?>
|
499 |
+
">
|
500 |
+
Shortcode attribute:
|
501 |
+
<input type="text" class="shortcode-val" readonly="" value='<?php
|
502 |
+
_e( FinalTilesGalleryUtils::fieldNameToShortcode( $f ) );
|
503 |
+
?>
|
504 |
+
="<?php
|
505 |
+
ftg_p( $gallery, $f, $data['default'] );
|
506 |
+
?>
|
507 |
+
"'>
|
508 |
+
</span>
|
509 |
+
</div>
|
510 |
+
<?php
|
511 |
+
}
|
512 |
+
|
513 |
+
?>
|
514 |
</div>
|
515 |
|
516 |
</div>
|
517 |
</td>
|
518 |
</tr>
|
519 |
+
<?php
|
520 |
+
}
|
521 |
+
|
522 |
+
?>
|
523 |
+
|
524 |
+
<?php
|
525 |
+
}
|
526 |
+
?>
|
527 |
</tbody>
|
528 |
</table>
|
529 |
</div>
|
530 |
</li>
|
531 |
+
<?php
|
532 |
+
$idx++;
|
533 |
+
?>
|
534 |
+
<?php
|
535 |
+
}
|
536 |
+
?>
|
537 |
<li id="images">
|
538 |
+
<div class="collapsible-header">
|
539 |
+
<i class="mdi mdi-image-filter ftg-section-icon white-text <?php
|
540 |
+
print $colors[$idx];
|
541 |
+
?>
|
542 |
+
darken-2"></i> <?php
|
543 |
+
_e( 'Images', 'final-tiles-gallery' );
|
544 |
+
?>
|
545 |
</div>
|
546 |
+
<div class="collapsible-body <?php
|
547 |
+
print $colors[$idx];
|
548 |
+
?>
|
549 |
+
lighten-5">
|
550 |
<div id="images" class="ftg-section form-fields">
|
551 |
<div class="actions">
|
552 |
+
<label><?php
|
553 |
+
_e( 'Source:', 'final-tiles-gallery' );
|
554 |
+
?>
|
555 |
+
</label>
|
556 |
+
<select name="ftg_source" class="browser-default">
|
557 |
+
<option value="images"><?php
|
558 |
+
_e( 'User images', 'final-tiles-gallery' );
|
559 |
+
?>
|
560 |
+
</option>
|
561 |
+
<option value="posts" <?php
|
562 |
+
echo ftg_checkDisabledOption( 'ultimate' ) ;
|
563 |
+
?>
|
564 |
+
><?php
|
565 |
+
_e( 'Recent posts with featured image', 'final-tiles-gallery' );
|
566 |
+
echo ftg_printPro( 'ultimate' ) ;
|
567 |
+
?>
|
568 |
+
</option>
|
569 |
+
<?php
|
570 |
+
|
571 |
+
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
|
572 |
+
?>
|
573 |
+
<option value="woocommerce" <?php
|
574 |
+
echo ftg_checkDisabledOption( 'ultimate' ) ;
|
575 |
+
?>
|
576 |
+
><?php
|
577 |
+
_e( 'WooCommerce products', 'final-tiles-gallery' );
|
578 |
+
echo ftg_printPro( 'ultimate' ) ;
|
579 |
+
?>
|
580 |
+
</option>
|
581 |
+
<?php
|
582 |
+
}
|
583 |
+
|
584 |
+
?>
|
585 |
+
</select>
|
586 |
+
</div>
|
587 |
<div class="actions">
|
588 |
<div class="row">
|
589 |
<label>Loading method</label>
|
590 |
<select name="ftg_loadMethod" class="browser-default">
|
591 |
+
<option <?php
|
592 |
+
ftg_sel( $gallery, 'loadMethod', 'sequential' );
|
593 |
+
?>
|
594 |
+
value="sequential">Sequential</option>
|
595 |
+
<option <?php
|
596 |
+
ftg_sel( $gallery, 'loadMethod', 'lazy' );
|
597 |
+
?>
|
598 |
+
value="lazy">Lazy</option>
|
599 |
</select>
|
600 |
</div>
|
601 |
</div>
|
603 |
<div class="row">
|
604 |
<label>Ajax loading</label>
|
605 |
<select name="ftg_ajaxLoading" class="browser-default js-ajax-loading-control">
|
606 |
+
<option <?php
|
607 |
+
ftg_sel( $gallery, 'ajaxLoading', 'F' );
|
608 |
+
?>
|
609 |
+
value="F">Complete markup on page</option>
|
610 |
+
<option <?php
|
611 |
+
ftg_sel( $gallery, 'ajaxLoading', 'T' );
|
612 |
+
?>
|
613 |
+
value="T">Enable ajax loading (still in beta!)</option>
|
614 |
</select>
|
615 |
</div>
|
616 |
<div class="row js-ajax-loading" style="display:none;">
|
617 |
<label>Number of images to load via ajax</label>
|
618 |
+
<input class="browser-default" type="text" value="<?php
|
619 |
+
echo $gallery->tilesPerPage ;
|
620 |
+
?>
|
621 |
+
" name="ftg_tilesPerPage">
|
622 |
</div>
|
623 |
</div>
|
624 |
<div class="actions source-images source-panel">
|
625 |
<div class="row">
|
626 |
<div class="tips">
|
627 |
<span class="shortpixel">
|
628 |
+
<img src="<?php
|
629 |
+
echo plugins_url( '', __FILE__ ) ;
|
630 |
+
?>
|
631 |
+
/../images/icon-shortpixel.png" alt="ShortPixel">
|
632 |
+
<a target="_blank" href="https://shortpixel.com/wp/af/J4PFT4Z72393"><?php
|
633 |
+
_e( 'We suggest you to use ShortPixel image optimization plugin for best SEO results.', 'modula-gallery' );
|
634 |
+
?>
|
635 |
+
</a></span>
|
636 |
</div>
|
637 |
+
<label><?php
|
638 |
+
_e( 'Image size', 'final-tiles-gallery' );
|
639 |
+
?>
|
640 |
+
</label>
|
641 |
|
642 |
<select class="current-image-size browser-default">
|
643 |
+
<?php
|
644 |
+
foreach ( $this->list_thumbnail_sizes() as $size => $atts ) {
|
645 |
+
print '<option value="' . $size . '">' . $size . ' (' . implode( 'x', $atts ) . ')</option>';
|
646 |
+
}
|
647 |
+
?>
|
|
|
648 |
</select>
|
649 |
+
<p class="tips"><?php
|
650 |
+
_e( 'Want to add more images sizes?', 'final-tiles-gallery' );
|
651 |
+
?>
|
652 |
+
<a href="http://www.wpbeginner.com/wp-tutorials/how-to-create-additional-image-sizes-in-wordpress/" target="_blank"><?php
|
653 |
+
_e( 'Read a simple tutorial.', 'final-tiles-gallery' );
|
654 |
+
?>
|
655 |
+
</a></p>
|
656 |
<div class="tips">
|
657 |
+
<strong><?php
|
658 |
+
_e( 'About choosing a proper image size:', 'final-tiles-gallery' );
|
659 |
+
?>
|
660 |
+
</strong> <?php
|
661 |
+
_e( 'Final Tiles Gallery doesn\'t scale down the images when there\'s enough space, it gives you the freedom to choose your favourite size for each image. So you should use images that are smaller than the container, choose the', 'final-tiles-gallery' );
|
662 |
+
?>
|
663 |
+
<strong><?php
|
664 |
+
_e( 'thumbnail', 'final-tiles-gallery' );
|
665 |
+
?>
|
666 |
+
</strong> <?php
|
667 |
+
_e( 'or', 'final-tiles-gallery' );
|
668 |
+
?>
|
669 |
+
<strong><?php
|
670 |
+
_e( 'medium', 'final-tiles-gallery' );
|
671 |
+
?>
|
672 |
+
</strong> <?php
|
673 |
+
_e( 'size, for example.', 'final-tiles-gallery' );
|
674 |
+
?>
|
675 |
+
<br>
|
676 |
<br>
|
677 |
+
<?php
|
678 |
+
_e( 'How to get a better grid? Watch the', 'final-tiles-gallery' );
|
679 |
+
?>
|
680 |
+
<a href="https://www.youtube.com/watch?v=RNT4JGjtyrs" target="_blank"><?php
|
681 |
+
_e( 'video tutorial', 'final-tiles-gallery' );
|
682 |
+
?>
|
683 |
+
</a>.
|
684 |
</div>
|
685 |
</div>
|
686 |
<div class="row">
|
687 |
+
<a href="#" class="open-media-panel waves-effect waves-light btn action"><i class="mdi mdi-image-area"></i> <?php
|
688 |
+
_e( 'Add images', 'final-tiles-gallery' );
|
689 |
+
?>
|
690 |
+
</a>
|
691 |
+
<a href="#" class="open-add-video waves-effect waves-light btn action"><i class="mdi mdi-video"></i> <?php
|
692 |
+
_e( 'Add video', 'final-tiles-gallery' );
|
693 |
+
?>
|
694 |
+
</a>
|
695 |
</div>
|
696 |
<div class="row">
|
697 |
+
<p class="tips"><?php
|
698 |
+
_e( 'For multiple selections: Click+CTRL.
|
699 |
+
Drag images to change order.', 'final-tiles-gallery' );
|
700 |
+
?>
|
701 |
+
</p>
|
702 |
</div>
|
703 |
+
</div>
|
704 |
+
<div class="actions source-posts source-panel">
|
705 |
+
<div class="row">
|
706 |
+
<label><?php
|
707 |
+
_e( 'Image size', 'final-tiles-gallery' );
|
708 |
+
?>
|
709 |
+
</label>
|
710 |
+
|
711 |
+
<select class="browser-default" name="ftg_defaultPostImageSize">
|
712 |
+
<?php
|
713 |
+
foreach ( $this->list_thumbnail_sizes() as $size => $atts ) {
|
714 |
+
print '<option ' . (( $size == $gallery->defaultPostImageSize ? 'selected' : '' )) . ' value="' . $size . '">' . $size . ' (' . implode( 'x', $atts ) . ')</option>';
|
715 |
+
}
|
716 |
+
?>
|
717 |
+
</select>
|
718 |
+
<p class="tips"><?php
|
719 |
+
_e( 'Want to add more images sizes?', 'final-tiles-gallery' );
|
720 |
+
?>
|
721 |
+
<a href="http://www.wpbeginner.com/wp-tutorials/how-to-create-additional-image-sizes-in-wordpress/" target="_blank"><?php
|
722 |
+
_e( 'Read a simple tutorial.', 'final-tiles-gallery' );
|
723 |
+
?>
|
724 |
+
</a></p>
|
725 |
+
<div class="tips">
|
726 |
+
<strong><?php
|
727 |
+
_e( 'About choosing a proper image size:', 'final-tiles-gallery' );
|
728 |
+
?>
|
729 |
+
</strong> <?php
|
730 |
+
_e( 'Final Tiles Gallery doesn\'t scale down the images
|
731 |
+
when there\'s enough space, it gives you the freedom to choose your favourite size for each image.
|
732 |
+
So you should use images that are smaller than the container, choose the', 'final-tiles-gallery' );
|
733 |
+
?>
|
734 |
+
<strong><?php
|
735 |
+
_e( 'thumbnail', 'final-tiles-gallery' );
|
736 |
+
?>
|
737 |
+
</strong> <?php
|
738 |
+
_e( 'or', 'final-tiles-gallery' );
|
739 |
+
?>
|
740 |
+
<strong><?php
|
741 |
+
_e( 'medium', 'final-tiles-gallery' );
|
742 |
+
?>
|
743 |
+
</strong> <?php
|
744 |
+
_e( 'size, for example.', 'final-tiles-gallery' );
|
745 |
+
?>
|
746 |
+
<br>
|
747 |
+
<br>
|
748 |
+
<?php
|
749 |
+
_e( 'How to get a better grid? Watch the', 'final-tiles-gallery' );
|
750 |
+
?>
|
751 |
+
<a href="https://www.youtube.com/watch?v=RNT4JGjtyrs" target="_blank"><?php
|
752 |
+
_e( 'video tutorial', 'final-tiles-gallery' );
|
753 |
+
?>
|
754 |
+
</a>.
|
755 |
+
</div>
|
756 |
+
<div class="row checkboxes">
|
757 |
+
<strong class="label"><?php
|
758 |
+
_e( 'Post type:', 'final-tiles-gallery' );
|
759 |
+
?>
|
760 |
+
</strong>
|
761 |
+
<span>
|
762 |
+
<?php
|
763 |
+
$idx = 0;
|
764 |
+
?>
|
765 |
+
<?php
|
766 |
+
foreach ( get_post_types( '', 'names' ) as $t ) {
|
767 |
+
?>
|
768 |
+
<?php
|
769 |
+
|
770 |
+
if ( !in_array( $t, $excluded_post_types ) ) {
|
771 |
+
?>
|
772 |
+
<input id="post-type-<?php
|
773 |
+
_e( $idx );
|
774 |
+
?>
|
775 |
+
" type="checkbox" name="post_types" value="<?php
|
776 |
+
_e( $t );
|
777 |
+
?>
|
778 |
+
">
|
779 |
+
<label for="post-type-<?php
|
780 |
+
_e( $idx );
|
781 |
+
?>
|
782 |
+
"><?php
|
783 |
+
_e( $t );
|
784 |
+
?>
|
785 |
+
</label>
|
786 |
+
<?php
|
787 |
+
$idx++;
|
788 |
+
?>
|
789 |
+
<?php
|
790 |
+
}
|
791 |
+
|
792 |
+
?>
|
793 |
+
<?php
|
794 |
+
}
|
795 |
+
?>
|
796 |
+
<input type="hidden" name="ftg_post_types" value="<?php
|
797 |
+
_e( $gallery->post_types );
|
798 |
+
?>
|
799 |
+
" />
|
800 |
+
</span>
|
801 |
+
</div>
|
802 |
+
<div class="row checkboxes">
|
803 |
+
<strong class="label"><?php
|
804 |
+
_e( 'Categories:', 'final-tiles-gallery' );
|
805 |
+
?>
|
806 |
+
</strong>
|
807 |
+
<span>
|
808 |
+
<?php
|
809 |
+
$idx = 0;
|
810 |
+
?>
|
811 |
+
<?php
|
812 |
+
foreach ( get_categories() as $c ) {
|
813 |
+
?>
|
814 |
+
<input id="post-cat-<?php
|
815 |
+
_e( $idx );
|
816 |
+
?>
|
817 |
+
" type="checkbox" name="post_categories" value="<?php
|
818 |
+
_e( $c->cat_ID );
|
819 |
+
?>
|
820 |
+
">
|
821 |
+
<label for="post-cat-<?php
|
822 |
+
_e( $idx );
|
823 |
+
?>
|
824 |
+
"><?php
|
825 |
+
_e( $c->name );
|
826 |
+
?>
|
827 |
+
</label>
|
828 |
+
<?php
|
829 |
+
$idx++;
|
830 |
+
?>
|
831 |
+
<?php
|
832 |
+
}
|
833 |
+
?>
|
834 |
+
<input type="hidden" name="ftg_post_categories" value="<?php
|
835 |
+
_e( $gallery->post_categories );
|
836 |
+
?>
|
837 |
+
" />
|
838 |
+
</span>
|
839 |
+
</div>
|
840 |
+
<div class="row checkboxes">
|
841 |
+
<strong class="label"><?php
|
842 |
+
_e( 'Tags:', 'final-tiles-gallery' );
|
843 |
+
?>
|
844 |
+
</strong>
|
845 |
+
<span>
|
846 |
+
<?php
|
847 |
+
$tags = get_tags();
|
848 |
+
?>
|
849 |
+
<?php
|
850 |
+
$idx = 0;
|
851 |
+
?>
|
852 |
+
<?php
|
853 |
+
foreach ( $tags as $c ) {
|
854 |
+
?>
|
855 |
+
|
856 |
+
<input id="post-tag-<?php
|
857 |
+
_e( $idx );
|
858 |
+
?>
|
859 |
+
" type="checkbox" name="post_tags" value="<?php
|
860 |
+
_e( $c->term_id );
|
861 |
+
?>
|
862 |
+
">
|
863 |
+
<label for="post-tag-<?php
|
864 |
+
_e( $idx );
|
865 |
+
?>
|
866 |
+
"><?php
|
867 |
+
_e( $c->name );
|
868 |
+
?>
|
869 |
+
</label>
|
870 |
+
<?php
|
871 |
+
$idx++;
|
872 |
+
?>
|
873 |
+
<?php
|
874 |
+
}
|
875 |
+
?>
|
876 |
+
<?php
|
877 |
+
|
878 |
+
if ( count( $tags ) == 0 ) {
|
879 |
+
?>
|
880 |
+
<?php
|
881 |
+
_e( 'No tags found', 'final-tiles-gallery' );
|
882 |
+
?>
|
883 |
+
<?php
|
884 |
+
}
|
885 |
+
|
886 |
+
?>
|
887 |
+
<input type="hidden" name="ftg_post_tags" value="<?php
|
888 |
+
echo $gallery->post_tags ;
|
889 |
+
?>
|
890 |
+
" />
|
891 |
+
</span>
|
892 |
+
</div>
|
893 |
+
<div class="row checkboxes">
|
894 |
+
<strong class="label"><?php
|
895 |
+
_e( 'Max posts:', 'final-tiles-gallery' );
|
896 |
+
?>
|
897 |
+
</strong>
|
898 |
+
<span class="aside">
|
899 |
+
<input type="text" name="ftg_max_posts" value="<?php
|
900 |
+
echo $gallery->max_posts ;
|
901 |
+
?>
|
902 |
+
">
|
903 |
+
<span><?php
|
904 |
+
_e( '(enter 0 for unlimited posts)', 'final-tiles-gallery' );
|
905 |
+
?>
|
906 |
+
</span>
|
907 |
+
</span>
|
908 |
+
</div>
|
909 |
+
</div>
|
910 |
+
</div>
|
911 |
+
<?php
|
912 |
+
|
913 |
+
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
|
914 |
+
?>
|
915 |
+
<div class="actions source-woocommerce source-panel">
|
916 |
+
<div class="row">
|
917 |
+
<label><?php
|
918 |
+
_e( 'Image size', 'final-tiles-gallery' );
|
919 |
+
?>
|
920 |
+
</label>
|
921 |
+
|
922 |
+
<select class="browser-default" name="ftg_defaultWooImageSize">
|
923 |
+
<?php
|
924 |
+
foreach ( $this->list_thumbnail_sizes() as $size => $atts ) {
|
925 |
+
print '<option ' . (( $size == $gallery->defaultWooImageSize ? 'selected' : '' )) . ' value="' . $size . '">' . $size . ' (' . implode( 'x', $atts ) . ')</option>';
|
926 |
+
}
|
927 |
+
?>
|
928 |
+
</select>
|
929 |
+
<p class="tips"><?php
|
930 |
+
_e( 'Want to add more images sizes?', 'final-tiles-gallery' );
|
931 |
+
?>
|
932 |
+
<a href="http://www.wpbeginner.com/wp-tutorials/how-to-create-additional-image-sizes-in-wordpress/" target="_blank"><?php
|
933 |
+
_e( 'Read a simple tutorial.', 'final-tiles-gallery' );
|
934 |
+
?>
|
935 |
+
</a></p>
|
936 |
+
<div class="tips">
|
937 |
+
<strong><?php
|
938 |
+
_e( 'About choosing a proper image size:', 'final-tiles-gallery' );
|
939 |
+
?>
|
940 |
+
</strong> <?php
|
941 |
+
_e( 'Final Tiles Gallery doesn\'t scale down the images
|
942 |
+
when there\'s enough space, it gives you the freedom to choose your favourite size for each image.
|
943 |
+
So you should use images that are smaller than the container, choose the', 'final-tiles-gallery' );
|
944 |
+
?>
|
945 |
+
<strong><?php
|
946 |
+
_e( 'thumbnail', 'final-tiles-gallery' );
|
947 |
+
?>
|
948 |
+
</strong> <?php
|
949 |
+
_e( 'or', 'final-tiles-gallery' );
|
950 |
+
?>
|
951 |
+
<strong><?php
|
952 |
+
_e( 'medium', 'final-tiles-gallery' );
|
953 |
+
?>
|
954 |
+
</strong> <?php
|
955 |
+
_e( 'size, for example.', 'final-tiles-gallery' );
|
956 |
+
?>
|
957 |
+
<br>
|
958 |
+
<br>
|
959 |
+
<?php
|
960 |
+
_e( 'How to get a better grid? Watch the', 'final-tiles-gallery' );
|
961 |
+
?>
|
962 |
+
<a href="https://www.youtube.com/watch?v=RNT4JGjtyrs" target="_blank"><?php
|
963 |
+
_e( 'video tutorial', 'final-tiles-gallery' );
|
964 |
+
?>
|
965 |
+
</a>.
|
966 |
+
</div>
|
967 |
+
<div class="row checkboxes">
|
968 |
+
<strong class="label"><?php
|
969 |
+
_e( 'Categories:', 'final-tiles-gallery' );
|
970 |
+
?>
|
971 |
+
</strong>
|
972 |
+
<span>
|
973 |
+
<?php
|
974 |
+
$idx = 0;
|
975 |
+
?>
|
976 |
+
<?php
|
977 |
+
foreach ( $woo_categories as $c ) {
|
978 |
+
?>
|
979 |
+
<input id="woo-cat-<?php
|
980 |
+
_e( $idx );
|
981 |
+
?>
|
982 |
+
" type="checkbox" name="woo_cat" value="<?php
|
983 |
+
_e( $c->cat_ID );
|
984 |
+
?>
|
985 |
+
">
|
986 |
+
<label for="woo-cat-<?php
|
987 |
+
_e( $idx );
|
988 |
+
?>
|
989 |
+
"><?php
|
990 |
+
_e( $c->cat_name );
|
991 |
+
?>
|
992 |
+
</label>
|
993 |
+
<?php
|
994 |
+
$idx++;
|
995 |
+
?>
|
996 |
+
|
997 |
+
<?php
|
998 |
+
}
|
999 |
+
?>
|
1000 |
+
<input type="hidden" name="ftg_woo_categories" value="<?php
|
1001 |
+
_e( $gallery->woo_categories );
|
1002 |
+
?>
|
1003 |
+
" />
|
1004 |
+
</span>
|
1005 |
+
</div>
|
1006 |
+
</div>
|
1007 |
+
<?php
|
1008 |
+
}
|
1009 |
+
|
1010 |
+
?>
|
1011 |
+
|
1012 |
</div>
|
1013 |
<div class="actions">
|
1014 |
<div class="bulk row">
|
1015 |
+
<label><?php
|
1016 |
+
_e( 'Bulk Actions', 'final-tiles-gallery' );
|
1017 |
+
?>
|
1018 |
+
</label>
|
1019 |
<div class="options">
|
1020 |
<span class="indigo lighten-4">
|
1021 |
+
<a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="select"><?php
|
1022 |
+
_e( 'Select all', 'final-tiles-gallery' );
|
1023 |
+
?>
|
1024 |
+
</a>
|
1025 |
+
<a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="deselect"><?php
|
1026 |
+
_e( 'Deselect all', 'final-tiles-gallery' );
|
1027 |
+
?>
|
1028 |
+
</a>
|
1029 |
+
<a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="toggle"><?php
|
1030 |
+
_e( 'Toggle selection', 'final-tiles-gallery' );
|
1031 |
+
?>
|
1032 |
+
</a>
|
1033 |
</span>
|
1034 |
<span class="green lighten-4">
|
1035 |
+
<?php
|
1036 |
+
?>
|
1037 |
+
<?php
|
1038 |
+
?>
|
1039 |
</span>
|
1040 |
<span class="orange lighten-4">
|
1041 |
+
<a class="btn lime darken-3 waves-effect waves-light" href="#" data-action="show-hide"><?php
|
1042 |
+
_e( 'Toggle visibility', 'final-tiles-gallery' );
|
1043 |
+
?>
|
1044 |
+
</a>
|
1045 |
+
<a class="btn deep-orange darken-1 waves-effect waves-light" href="#" data-action="remove"><?php
|
1046 |
+
_e( 'Remove', 'final-tiles-gallery' );
|
1047 |
+
?>
|
1048 |
+
</a>
|
1049 |
</span>
|
1050 |
</div>
|
1051 |
|
1052 |
<div class="row">
|
1053 |
+
<b class="listview"> <?php
|
1054 |
+
_e( 'List View:', 'final-tiles-gallery' );
|
1055 |
+
?>
|
1056 |
+
</b>
|
1057 |
<ul class="list-view-control">
|
1058 |
+
<li data-size="small" id="listview-small" class="li"> <?php
|
1059 |
+
_e( 'Small', 'final-tiles-gallery' );
|
1060 |
+
?>
|
1061 |
+
</li>
|
1062 |
+
<li data-size="medium" id="listview-medium" class="li" > <?php
|
1063 |
+
_e( 'Medium', 'final-tiles-gallery', 'final-tiles-gallery' );
|
1064 |
+
?>
|
1065 |
+
</li>
|
1066 |
+
<li data-size="big" id="listview-big" class="li"> <?php
|
1067 |
+
_e( 'Big', 'final-tiles-gallery' );
|
1068 |
+
?>
|
1069 |
+
</li>
|
1070 |
</ul>
|
1071 |
</div>
|
1072 |
|
1074 |
<strong></strong>
|
1075 |
<p class="text"></p>
|
1076 |
<p class="input">
|
1077 |
+
<input type="text" placeholder="<?php
|
1078 |
+
_e( 'Group name', 'final-tiles-gallery' );
|
1079 |
+
?>
|
1080 |
+
">
|
1081 |
+
<span><?php
|
1082 |
+
_e( 'avoid space and special characters', 'final-tiles-gallery' );
|
1083 |
+
?>
|
1084 |
+
</span>
|
1085 |
</p>
|
1086 |
<p class="buttons">
|
1087 |
+
<a class="btn orange cancel" href="#"><?php
|
1088 |
+
_e( 'Cancel', 'final-tiles-gallery' );
|
1089 |
+
?>
|
1090 |
+
</a>
|
1091 |
+
<a class="btn green proceed" href="#"><?php
|
1092 |
+
_e( 'Proceed', 'final-tiles-gallery' );
|
1093 |
+
?>
|
1094 |
+
</a>
|
1095 |
</p>
|
1096 |
</div>
|
1097 |
</div>
|
1098 |
</div>
|
1099 |
|
1100 |
+
<?php
|
1101 |
+
|
1102 |
+
if ( is_array( $filters ) && count( $filters ) > 1 ) {
|
1103 |
+
?>
|
1104 |
<div class="row filter-list">
|
1105 |
+
<b class="listview"> <?php
|
1106 |
+
_e( 'Filters:', 'final-tiles-gallery' );
|
1107 |
+
?>
|
1108 |
+
</b>
|
1109 |
<ul class="filter-select-control">
|
1110 |
+
<?php
|
1111 |
+
foreach ( $filters as $filter ) {
|
1112 |
+
?>
|
1113 |
<li class='filter-item' >
|
1114 |
+
<?php
|
1115 |
+
print $filter;
|
1116 |
+
?>
|
1117 |
</li>
|
1118 |
+
<?php
|
1119 |
+
}
|
1120 |
+
?>
|
1121 |
</ul>
|
1122 |
</div>
|
1123 |
+
<?php
|
1124 |
+
}
|
1125 |
+
|
1126 |
+
?>
|
1127 |
<div id="image-list" class="row"></div>
|
1128 |
</div>
|
1129 |
</li>
|
1136 |
<i class="large mdi mdi-chevron-up"></i>
|
1137 |
</a>
|
1138 |
<ul>
|
1139 |
+
<?php
|
1140 |
+
$idx = 0;
|
1141 |
+
?>
|
1142 |
+
<?php
|
1143 |
+
foreach ( $ftg_fields as $section => $s ) {
|
1144 |
+
?>
|
1145 |
+
<li><a class="btn-floating <?php
|
1146 |
+
_e( $colors[$idx++] );
|
1147 |
+
?>
|
1148 |
+
" rel="<?php
|
1149 |
+
_e( FinalTiles_Gallery::slugify( $section ) );
|
1150 |
+
?>
|
1151 |
+
"><i class="large mdi <?php
|
1152 |
+
_e( $s['icon'] );
|
1153 |
+
?>
|
1154 |
+
"></i></a></li>
|
1155 |
+
<?php
|
1156 |
+
}
|
1157 |
+
?>
|
1158 |
+
<li><a class="btn-floating <?php
|
1159 |
+
_e( $colors[$idx++] );
|
1160 |
+
?>
|
1161 |
+
" rel="images"><i class="large mdi mdi-image-filter"></i></a></li>
|
1162 |
</ul>
|
1163 |
</div>
|
1164 |
|
1165 |
+
|
1166 |
+
<!-- video panel -->
|
1167 |
+
<div id="video-panel-model" class="modal">
|
1168 |
+
<div class="modal-content">
|
1169 |
+
<p><?php
|
1170 |
+
_e( 'Paste here the embed code (it must be an ', 'final-tiles-gallery' );
|
1171 |
+
?>
|
1172 |
+
<strong><?php
|
1173 |
+
_e( 'iframe', 'final-tiles-gallery' );
|
1174 |
+
?>
|
1175 |
+
</strong>
|
1176 |
+
<?php
|
1177 |
+
_e( 'and it must contain the attributes', 'final-tiles-gallery' );
|
1178 |
+
?>
|
1179 |
+
<strong><?php
|
1180 |
+
_e( 'width', 'final-tiles-gallery' );
|
1181 |
+
?>
|
1182 |
+
</strong> <?php
|
1183 |
+
_e( 'and', 'final-tiles-gallery' );
|
1184 |
+
?>
|
1185 |
+
<strong><?php
|
1186 |
+
_e( ' height', 'final-tiles-gallery' );
|
1187 |
+
?>
|
1188 |
+
</strong>)</p>
|
1189 |
+
<div class="text dark">
|
1190 |
+
<textarea></textarea>
|
1191 |
+
</div>
|
1192 |
+
<div class="field video-filters clearfix" ></div>
|
1193 |
+
<input type="hidden" id="filter-video" value="<?php
|
1194 |
+
print $gallery->filters;
|
1195 |
+
?>
|
1196 |
+
">
|
1197 |
+
</div>
|
1198 |
+
<input type="hidden" id="video-panel-action" >
|
1199 |
+
<div class="field buttons modal-footer">
|
1200 |
+
<a href="#" data-action="edit" class="action positive save modal-action modal-close waves-effect waves-green btn-flat"><?php
|
1201 |
+
_e( 'Save', 'final-tiles-gallery' );
|
1202 |
+
?>
|
1203 |
+
</a>
|
1204 |
+
<a href="#" data-action="cancel" class="action neutral modal-action modal-close waves-effect waves-yellow btn-flat"><?php
|
1205 |
+
_e( 'Cancel', 'final-tiles-gallery' );
|
1206 |
+
?>
|
1207 |
+
</a>
|
1208 |
+
</div>
|
1209 |
+
</div>
|
1210 |
+
|
1211 |
+
|
1212 |
+
|
1213 |
<!-- image panel -->
|
1214 |
<div id="image-panel-model" class="modal">
|
1215 |
<div class="modal-content cf">
|
1216 |
+
<h4><?php
|
1217 |
+
_e( 'Edit image', 'final-tiles-gallery' );
|
1218 |
+
?>
|
1219 |
+
</h4>
|
1220 |
<div class="left">
|
1221 |
<div class="figure"></div>
|
1222 |
<div class="field sizes"></div>
|
1223 |
</div>
|
1224 |
<div class="right-side">
|
1225 |
<div class="field">
|
1226 |
+
<label><?php
|
1227 |
+
_e( 'Title', 'final-tiles-gallery' );
|
1228 |
+
?>
|
1229 |
+
</label>
|
1230 |
<div class="text">
|
1231 |
<textarea name="imageTitle"></textarea>
|
1232 |
</div>
|
1233 |
</div>
|
1234 |
<div class="field">
|
1235 |
+
<label><?php
|
1236 |
+
_e( 'Caption', 'final-tiles-gallery' );
|
1237 |
+
?>
|
1238 |
+
</label>
|
1239 |
<div class="text">
|
1240 |
<textarea name="description"></textarea>
|
1241 |
</div>
|
1243 |
<div class="field">
|
1244 |
<input id="hidden-image" type="checkbox" name="hidden" value="T" />
|
1245 |
<label for="hidden-image">
|
1246 |
+
<?php
|
1247 |
+
_e( 'Hidden, visible only with lightbox', 'final-tiles-gallery' );
|
1248 |
+
?>
|
1249 |
</label>
|
1250 |
</div>
|
1251 |
<div class="field js-no-hidden">
|
1252 |
+
<label><?php
|
1253 |
+
_e( 'Link', 'final-tiles-gallery' );
|
1254 |
+
?>
|
1255 |
+
</label>
|
1256 |
<div class="text dark">
|
1257 |
<input type="text" size="20" value="" name="link" />
|
1258 |
</div>
|
1259 |
</div>
|
1260 |
<div class="field js-no-hidden">
|
1261 |
+
<label><?php
|
1262 |
+
_e( 'Link target', 'final-tiles-gallery' );
|
1263 |
+
?>
|
1264 |
+
</label>
|
1265 |
<div class="text">
|
1266 |
<select name="target" class="browser-default">
|
1267 |
+
<option value="default"><?php
|
1268 |
+
_e( 'Default target', 'final-tiles-gallery' );
|
1269 |
+
?>
|
1270 |
+
</option>
|
1271 |
+
<option value="_self"><?php
|
1272 |
+
_e( 'Open in same page', 'final-tiles-gallery' );
|
1273 |
+
?>
|
1274 |
+
</option>
|
1275 |
+
<option value="_blank"><?php
|
1276 |
+
_e( 'Open in _blank', 'final-tiles-gallery' );
|
1277 |
+
?>
|
1278 |
+
</option>
|
1279 |
+
<option value="_lightbox"><?php
|
1280 |
+
_e( 'Open in lightbox (when using a lightbox)', 'final-tiles-gallery' );
|
1281 |
+
?>
|
1282 |
+
</option>
|
1283 |
</select>
|
1284 |
</div>
|
1285 |
</div>
|
1286 |
+
<div class="field">
|
1287 |
+
<div class="text dark">
|
1288 |
+
<label><?php
|
1289 |
+
_e( 'Lightbox group (rel)', 'final-tiles-gallery' );
|
1290 |
+
?>
|
1291 |
+
</label>
|
1292 |
+
<input type="text" size="20" value="" name="group" />
|
1293 |
+
<p class="info"><?php
|
1294 |
+
_e( 'Used to group images with the following lightbox: Magnific Popup, PrettyPhoto, FancyBox, SwipeBox, Lightbox', 'final-tiles-gallery' );
|
1295 |
+
?>
|
1296 |
+
</p>
|
1297 |
+
</div>
|
1298 |
+
</div>
|
1299 |
+
|
1300 |
+
<div class="field filters clearfix"></div>
|
1301 |
</div>
|
1302 |
</div>
|
1303 |
<div class="field buttons modal-footer">
|
1304 |
+
<a href="#" data-action="save" class="action modal-action modal-close waves-effect waves-green btn-flat"><i class="fa fa-save"></i> <?php
|
1305 |
+
_e( 'Save', 'final-tiles-gallery' );
|
1306 |
+
?>
|
1307 |
+
</a>
|
1308 |
+
<a href="#" data-action="cancel" class="action modal-action modal-close waves-effect waves-yellow btn-flat"><i class="mdi-content-reply"></i> <?php
|
1309 |
+
_e( 'Cancel', 'final-tiles-gallery' );
|
1310 |
+
?>
|
1311 |
+
</a>
|
1312 |
</div>
|
1313 |
</div>
|
1314 |
|
1328 |
<div class="overlay" style="display:none"></div>
|
1329 |
|
1330 |
<script>
|
1331 |
+
var presets = {};
|
1332 |
+
<?php
|
1333 |
+
$presetIdx = 0;
|
1334 |
+
foreach ( $ftg_fields as $section => $s ) {
|
1335 |
+
if ( array_key_exists( 'presets', $s ) ) {
|
1336 |
+
foreach ( $s['presets'] as $preset => $values ) {
|
1337 |
+
echo 'presets[\'preset_' . $presetIdx . '_' . $preset . '\'] = ' . json_encode( $values ) . ';
|
1338 |
+
' ;
|
1339 |
+
}
|
1340 |
+
}
|
1341 |
+
$presetIdx++;
|
1342 |
+
}
|
1343 |
+
?>
|
1344 |
+
|
1345 |
+
var ftg_wp_caption_field = '<?php
|
1346 |
+
ftg_p( $gallery, 'wp_field_caption' );
|
1347 |
+
?>
|
1348 |
+
';
|
1349 |
(function ($) {
|
1350 |
$("[name=captionFullHeight]").change(function () {
|
1351 |
if($(this).val() == "F")
|
1358 |
}
|
1359 |
});
|
1360 |
|
1361 |
+
var post_types = $("[name=ftg_post_types]").val().split(',');
|
1362 |
+
$.each(post_types, function () {
|
1363 |
+
if(this.length)
|
1364 |
+
$("[name=post_types][value="+ this +"]").get(0).checked = true;
|
1365 |
+
});
|
1366 |
+
|
1367 |
+
var post_categories = $("[name=ftg_post_categories]").val().split(',');
|
1368 |
+
$.each(post_categories, function () {
|
1369 |
+
if(this.length) {
|
1370 |
+
var el = $("[name=post_categories][value="+ this +"]");
|
1371 |
+
if(el.length)
|
1372 |
+
el.get(0).checked = true;
|
1373 |
+
}
|
1374 |
+
});
|
1375 |
+
|
1376 |
+
var post_tags = $("[name=ftg_post_tags]").val().split(',');
|
1377 |
+
$.each(post_tags, function () {
|
1378 |
+
if(this.length) {
|
1379 |
+
var el = $("[name=post_tags][value="+ this +"]");
|
1380 |
+
if(el.length)
|
1381 |
+
el.get(0).checked = true;
|
1382 |
+
}
|
1383 |
+
});
|
1384 |
+
|
1385 |
+
var woo_categories = [];
|
1386 |
+
if($("[name=ftg_woo_categories]").val())
|
1387 |
+
woo_categories = $("[name=ftg_woo_categories]").val().split(',');
|
1388 |
+
$.each(woo_categories, function () {
|
1389 |
+
if(this.length) {
|
1390 |
+
var el = $("[name=woo_cat][value="+ this +"]");
|
1391 |
+
if(el.length)
|
1392 |
+
el.get(0).checked = true;
|
1393 |
+
}
|
1394 |
+
});
|
1395 |
})(jQuery);
|
1396 |
</script>
|
admin/include/fields.php
ADDED
@@ -0,0 +1,1099 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$this->fields = array(
|
4 |
+
'General' => array(
|
5 |
+
'icon' => 'mdi-settings',
|
6 |
+
'fields' => array(),
|
7 |
+
),
|
8 |
+
'Links & Lightbox' => array(
|
9 |
+
'icon' => 'mdi-link-variant',
|
10 |
+
'fields' => array(),
|
11 |
+
),
|
12 |
+
'Captions' => array(
|
13 |
+
'icon' => 'mdi-comment-text-outline',
|
14 |
+
'fields' => array(),
|
15 |
+
),
|
16 |
+
'Hover effects' => array(
|
17 |
+
'icon' => 'mdi-file-image',
|
18 |
+
'presets' => array(
|
19 |
+
'Slow zoom in' => array(
|
20 |
+
'hoverDuration' => 60000,
|
21 |
+
'hoverZoom' => 400,
|
22 |
+
'hoverRotation' => 0,
|
23 |
+
),
|
24 |
+
'Zoom in' => array(
|
25 |
+
'hoverDuration' => 250,
|
26 |
+
'hoverZoom' => 200,
|
27 |
+
'hoverRotation' => 0,
|
28 |
+
),
|
29 |
+
'Swirl in' => array(
|
30 |
+
'hoverZoom' => 200,
|
31 |
+
'hoverRotation' => 20,
|
32 |
+
),
|
33 |
+
'Swirl in super' => array(
|
34 |
+
'hoverZoom' => 200,
|
35 |
+
'hoverRotation' => 360,
|
36 |
+
),
|
37 |
+
'Zoom out' => array(
|
38 |
+
'hoverZoom' => 50,
|
39 |
+
'hoverRotation' => 0,
|
40 |
+
),
|
41 |
+
'Swirl out' => array(
|
42 |
+
'hoverZoom' => 50,
|
43 |
+
'hoverRotation' => -20,
|
44 |
+
),
|
45 |
+
'Swirl out super' => array(
|
46 |
+
'hoverZoom' => 50,
|
47 |
+
'hoverRotation' => -360,
|
48 |
+
),
|
49 |
+
),
|
50 |
+
'fields' => array(),
|
51 |
+
),
|
52 |
+
'Image loaded effects' => array(
|
53 |
+
'icon' => 'mdi-reload',
|
54 |
+
'presets' => array(
|
55 |
+
'Wobble' => array(
|
56 |
+
'loadedDuration' => 600,
|
57 |
+
'loadedEasing' => 'elastic-out',
|
58 |
+
'loadedScaleY' => 50,
|
59 |
+
'loadedScaleX' => 50,
|
60 |
+
'loadedRotateY' => 0,
|
61 |
+
'loadedRotateX' => 0,
|
62 |
+
'loadedVSlide' => 0,
|
63 |
+
'loadedHSlide' => 0,
|
64 |
+
),
|
65 |
+
'Windows' => array(
|
66 |
+
'loadedDuration' => 600,
|
67 |
+
'loadedEasing' => 'elastic-out',
|
68 |
+
'loadedRotateY' => -120,
|
69 |
+
'loadedScaleY' => 100,
|
70 |
+
'loadedScaleX' => 100,
|
71 |
+
'loadedRotateX' => 0,
|
72 |
+
'loadedVSlide' => 0,
|
73 |
+
'loadedHSlide' => 0,
|
74 |
+
),
|
75 |
+
'Cards' => array(
|
76 |
+
'loadedDuration' => 600,
|
77 |
+
'loadedEasing' => 'ease-in-out',
|
78 |
+
'loadedRotateX' => -120,
|
79 |
+
'loadedRotateY' => -120,
|
80 |
+
'loadedScaleY' => 100,
|
81 |
+
'loadedScaleX' => 0,
|
82 |
+
'loadedVSlide' => 0,
|
83 |
+
'loadedHSlide' => 0,
|
84 |
+
),
|
85 |
+
'Slide from bottom' => array(
|
86 |
+
'loadedDuration' => 250,
|
87 |
+
'loadedEasing' => 'ease-out',
|
88 |
+
'loadedRotateX' => 0,
|
89 |
+
'loadedRotateY' => 0,
|
90 |
+
'loadedScaleY' => 100,
|
91 |
+
'loadedScaleX' => 100,
|
92 |
+
'loadedVSlide' => 100,
|
93 |
+
'loadedHSlide' => 0,
|
94 |
+
),
|
95 |
+
'Slide from left' => array(
|
96 |
+
'loadedDuration' => 250,
|
97 |
+
'loadedEasing' => 'ease-out',
|
98 |
+
'loadedRotateX' => 0,
|
99 |
+
'loadedRotateY' => 0,
|
100 |
+
'loadedScaleY' => 100,
|
101 |
+
'loadedScaleX' => 100,
|
102 |
+
'loadedVSlide' => 0,
|
103 |
+
'loadedHSlide' => -100,
|
104 |
+
),
|
105 |
+
'Elastic skew' => array(
|
106 |
+
'loadedDuration' => 800,
|
107 |
+
'loadedEasing' => 'elastic-out',
|
108 |
+
'loadedRotateX' => 0,
|
109 |
+
'loadedRotateY' => -180,
|
110 |
+
'loadedScaleY' => 200,
|
111 |
+
'loadedScaleX' => 100,
|
112 |
+
'loadedVSlide' => 300,
|
113 |
+
'loadedHSlide' => 0,
|
114 |
+
),
|
115 |
+
'Flying doors' => array(
|
116 |
+
'loadedDuration' => 800,
|
117 |
+
'loadedEasing' => 'ease-out-back',
|
118 |
+
'loadedRotateX' => -180,
|
119 |
+
'loadedRotateY' => 0,
|
120 |
+
'loadedScaleY' => 100,
|
121 |
+
'loadedScaleX' => 300,
|
122 |
+
'loadedVSlide' => -500,
|
123 |
+
'loadedHSlide' => -800,
|
124 |
+
),
|
125 |
+
'Pop' => array(
|
126 |
+
'loadedDuration' => 300,
|
127 |
+
'loadedEasing' => 'ease-in-out',
|
128 |
+
'loadedRotateX' => 0,
|
129 |
+
'loadedRotateY' => 0,
|
130 |
+
'loadedScaleY' => 1,
|
131 |
+
'loadedScaleX' => 1,
|
132 |
+
'loadedVSlide' => 0,
|
133 |
+
'loadedHSlide' => 0,
|
134 |
+
),
|
135 |
+
),
|
136 |
+
'fields' => array(),
|
137 |
+
),
|
138 |
+
'Style' => array(
|
139 |
+
'icon' => 'mdi-format-paint',
|
140 |
+
'fields' => array(),
|
141 |
+
),
|
142 |
+
'Customizations' => array(
|
143 |
+
'icon' => 'mdi-puzzle',
|
144 |
+
'fields' => array(),
|
145 |
+
),
|
146 |
+
);
|
147 |
+
$this->addField( 'General', 'name', array(
|
148 |
+
'name' => 'Name',
|
149 |
+
'hiddenFor' => array( 'dashboard', 'shortcode' ),
|
150 |
+
'type' => 'text',
|
151 |
+
'description' => 'Name of the gallery, for internal use.',
|
152 |
+
'proCall' => false,
|
153 |
+
'excludeFrom' => array( 'dashboard', 'shortcode' ),
|
154 |
+
) );
|
155 |
+
$this->addField( 'General', 'description', array(
|
156 |
+
'name' => 'Description',
|
157 |
+
'hiddenFor' => array( 'dashboard', 'shortcode' ),
|
158 |
+
'type' => 'text',
|
159 |
+
'description' => 'Description of the gallery, for internal use.',
|
160 |
+
'proCall' => false,
|
161 |
+
'excludeFrom' => array( 'dashboard', 'shortcode' ),
|
162 |
+
) );
|
163 |
+
$this->addField( 'General', 'layout', array(
|
164 |
+
'name' => 'Layout',
|
165 |
+
'type' => 'select',
|
166 |
+
'description' => '<strong>Final Tiles</strong>: use images with different sizes<br><strong>Masonry</strong>: multi-column layout, use this one if you need images of the same size.',
|
167 |
+
'values' => array(
|
168 |
+
'Layout' => array( 'final|Final Tiles', 'columns|Masonry' ),
|
169 |
+
),
|
170 |
+
'proCall' => false,
|
171 |
+
'excludeFrom' => array(),
|
172 |
+
) );
|
173 |
+
$this->addField( 'General', 'width', array(
|
174 |
+
'name' => 'Width',
|
175 |
+
'type' => 'text',
|
176 |
+
'description' => 'Width of the gallery in pixels or percentage.',
|
177 |
+
'proCall' => false,
|
178 |
+
'excludeFrom' => array(),
|
179 |
+
) );
|
180 |
+
$this->addField( 'General', 'margin', array(
|
181 |
+
'name' => 'Margin',
|
182 |
+
'type' => 'number',
|
183 |
+
'description' => 'Margin between images',
|
184 |
+
'mu' => 'px',
|
185 |
+
'min' => 0,
|
186 |
+
'max' => 50,
|
187 |
+
'proCall' => false,
|
188 |
+
'excludeFrom' => array(),
|
189 |
+
) );
|
190 |
+
$this->addField( 'General', 'columns', array(
|
191 |
+
'name' => 'Number of columns',
|
192 |
+
'type' => 'number',
|
193 |
+
'description' => '',
|
194 |
+
'mu' => '',
|
195 |
+
'min' => 1,
|
196 |
+
'max' => 50,
|
197 |
+
'proCall' => false,
|
198 |
+
'excludeFrom' => array(),
|
199 |
+
) );
|
200 |
+
$this->addField( 'General', 'columnsTabletLandscape', array(
|
201 |
+
'name' => 'Number of columns (Tablet landscape)',
|
202 |
+
'type' => 'number',
|
203 |
+
'description' => '',
|
204 |
+
'mu' => '',
|
205 |
+
'min' => 1,
|
206 |
+
'max' => 50,
|
207 |
+
'proCall' => false,
|
208 |
+
'excludeFrom' => array(),
|
209 |
+
) );
|
210 |
+
$this->addField( 'General', 'columnsTabletPortrait', array(
|
211 |
+
'name' => 'Number of columns (Tablet portrait)',
|
212 |
+
'type' => 'number',
|
213 |
+
'description' => '',
|
214 |
+
'mu' => '',
|
215 |
+
'min' => 1,
|
216 |
+
'max' => 50,
|
217 |
+
'proCall' => false,
|
218 |
+
'excludeFrom' => array(),
|
219 |
+
) );
|
220 |
+
$this->addField( 'General', 'columnsPhoneLandscape', array(
|
221 |
+
'name' => 'Number of columns (Phone landscape)',
|
222 |
+
'type' => 'number',
|
223 |
+
'description' => '',
|
224 |
+
'mu' => '',
|
225 |
+
'min' => 1,
|
226 |
+
'max' => 50,
|
227 |
+
'proCall' => false,
|
228 |
+
'excludeFrom' => array(),
|
229 |
+
) );
|
230 |
+
$this->addField( 'General', 'columnsPhonePortrait', array(
|
231 |
+
'name' => 'Number of columns (Phone portrait)',
|
232 |
+
'type' => 'number',
|
233 |
+
'description' => '',
|
234 |
+
'mu' => '',
|
235 |
+
'min' => 1,
|
236 |
+
'max' => 50,
|
237 |
+
'proCall' => false,
|
238 |
+
'excludeFrom' => array(),
|
239 |
+
) );
|
240 |
+
$this->addField( 'General', 'imageSizeFactor', array(
|
241 |
+
'name' => 'Image size factor',
|
242 |
+
'type' => 'slider',
|
243 |
+
'description' => 'Percentage of image size, i.e.: if an image of the gallery is 300x200 and the size factor is 50% then the resulting image will be 150x100.
|
244 |
+
90% is a suggested default value, because under some circumstances, the images could be enlarged by the script (to fill gaps and avoid blank spaces between tiles).',
|
245 |
+
'default' => 90,
|
246 |
+
'min' => 1,
|
247 |
+
'max' => 100,
|
248 |
+
'mu' => '%',
|
249 |
+
'proCall' => false,
|
250 |
+
'excludeFrom' => array(),
|
251 |
+
) );
|
252 |
+
$this->addField( 'General', 'imageSizeFactorTabletLandscape', array(
|
253 |
+
'name' => 'Image size factor (Tablet Landscape)',
|
254 |
+
'type' => 'slider',
|
255 |
+
'description' => 'Image size factor to apply when the viewport is 1024px, typically for tablets with landscape orientation',
|
256 |
+
'default' => 80,
|
257 |
+
'min' => 1,
|
258 |
+
'max' => 100,
|
259 |
+
'mu' => '%',
|
260 |
+
'proCall' => false,
|
261 |
+
'excludeFrom' => array(),
|
262 |
+
) );
|
263 |
+
$this->addField( 'General', 'imageSizeFactorTabletPortrait', array(
|
264 |
+
'name' => 'Image size factor Tablet Portrait',
|
265 |
+
'type' => 'slider',
|
266 |
+
'description' => 'Image size factor to apply when the viewport is 768px, typically for tablets with portrait orientation',
|
267 |
+
'default' => 70,
|
268 |
+
'min' => 1,
|
269 |
+
'max' => 100,
|
270 |
+
'mu' => '%',
|
271 |
+
'proCall' => false,
|
272 |
+
'excludeFrom' => array(),
|
273 |
+
) );
|
274 |
+
$this->addField( 'General', 'imageSizeFactorPhoneLandscape', array(
|
275 |
+
'name' => 'Image size factor Smartphone Landscape',
|
276 |
+
'type' => 'slider',
|
277 |
+
'description' => 'Image size factor to apply when the viewport is 640px, typically for smartphones with landscape orientation',
|
278 |
+
'default' => 60,
|
279 |
+
'min' => 1,
|
280 |
+
'max' => 100,
|
281 |
+
'mu' => '%',
|
282 |
+
'proCall' => false,
|
283 |
+
'excludeFrom' => array(),
|
284 |
+
) );
|
285 |
+
$this->addField( 'General', 'imageSizeFactorPhonePortrait', array(
|
286 |
+
'name' => 'Image size factor Phone Portrait',
|
287 |
+
'type' => 'slider',
|
288 |
+
'description' => 'Image size factor to apply when the viewport is 320px, typically for smartphones with portrait orientation',
|
289 |
+
'default' => 50,
|
290 |
+
'min' => 1,
|
291 |
+
'max' => 100,
|
292 |
+
'mu' => '%',
|
293 |
+
'proCall' => false,
|
294 |
+
'excludeFrom' => array(),
|
295 |
+
) );
|
296 |
+
$this->addField( 'General', 'imageSizeFactorCustom', array(
|
297 |
+
'name' => 'Custom image size factor',
|
298 |
+
'hiddenFor' => array( 'dashboard', 'shortcode' ),
|
299 |
+
'type' => FinalTiles_Gallery::getFieldType( 'custom_isf' ),
|
300 |
+
'description' => 'Use this field if you need further resolutions. Make custom layout for any device and resolution.',
|
301 |
+
'proCall' => true,
|
302 |
+
'excludeFrom' => array( 'dashboard', 'shortcode' ),
|
303 |
+
) );
|
304 |
+
$this->addField( 'General', 'minTileWidth', array(
|
305 |
+
'name' => 'Tile minimum width',
|
306 |
+
'type' => 'number',
|
307 |
+
'description' => 'Minimum width of each tile, <strong>multiply this value for the image size factor to get the real size</strong>.',
|
308 |
+
'mu' => 'px',
|
309 |
+
'min' => 50,
|
310 |
+
'max' => 500,
|
311 |
+
'default' => 200,
|
312 |
+
'proCall' => false,
|
313 |
+
'excludeFrom' => array(),
|
314 |
+
) );
|
315 |
+
$this->addField( 'General', 'imagesOrder', array(
|
316 |
+
'name' => 'Images order',
|
317 |
+
'type' => 'select',
|
318 |
+
'description' => 'Choose the order of the images',
|
319 |
+
'default' => '',
|
320 |
+
'values' => array(
|
321 |
+
'Images order' => array( 'user|User', 'reverse|Reverse', 'random|Random' ),
|
322 |
+
),
|
323 |
+
'proCall' => false,
|
324 |
+
'excludeFrom' => array(),
|
325 |
+
) );
|
326 |
+
$this->addField( 'General', 'filter', array(
|
327 |
+
'name' => 'Filters',
|
328 |
+
'type' => FinalTiles_Gallery::getFieldType( 'filter' ),
|
329 |
+
'description' => 'Manage here all the filters of this gallery',
|
330 |
+
'proCall' => true,
|
331 |
+
'excludeFrom' => array( 'dashboard', 'shortcode' ),
|
332 |
+
) );
|
333 |
+
$this->addField( 'General', 'gridCellSize', array(
|
334 |
+
'name' => 'Size of the grid',
|
335 |
+
'type' => 'number',
|
336 |
+
'default' => 25,
|
337 |
+
'min' => 1,
|
338 |
+
'max' => 100,
|
339 |
+
'mu' => 'px',
|
340 |
+
'description' => 'Tiles are snapped to a virtual grid, <strong>the higher this value the higher the chance to get bottom aligned tiles</strong> (but it needs to crop vertically).',
|
341 |
+
'proCall' => false,
|
342 |
+
'excludeFrom' => array(),
|
343 |
+
) );
|
344 |
+
$this->addField( 'General', 'gridCellSizeDisabledBelow', array(
|
345 |
+
'name' => 'Disable grid size below resolution',
|
346 |
+
'type' => 'number',
|
347 |
+
'default' => 800,
|
348 |
+
'min' => 0,
|
349 |
+
'max' => 4000,
|
350 |
+
'mu' => 'px',
|
351 |
+
'description' => 'If you have small tiny images under certain resolutions then you can switch off grid size (image cropping) when the screen resolution is below this value.',
|
352 |
+
'proCall' => false,
|
353 |
+
'excludeFrom' => array(),
|
354 |
+
) );
|
355 |
+
$this->addField( 'General', 'enlargeImages', array(
|
356 |
+
'name' => 'Allow image enlargement',
|
357 |
+
'type' => 'toggle',
|
358 |
+
'description' => 'Images can be occasionally enlarged to avoid gaps. If you notice a quality loss try to reduce the <strong>Image size factor</strong> parameter.',
|
359 |
+
'default' => 'T',
|
360 |
+
'proCall' => false,
|
361 |
+
'excludeFrom' => array(),
|
362 |
+
) );
|
363 |
+
/*"scrollEffect" , array(
|
364 |
+
"name" => "Scroll effect",
|
365 |
+
"type" => "select",
|
366 |
+
"description" => "Effect on tiles when scrolling the page",
|
367 |
+
"values" => array(
|
368 |
+
"Scroll effect" => array(
|
369 |
+
"none|None", "slide|Sliding tiles", "zoom|Zoom", "rotate-left|Left rotation", "rotate-right|Right rotation"
|
370 |
+
)
|
371 |
+
),
|
372 |
+
"proCall" => false,
|
373 |
+
"excludeFrom" => array()
|
374 |
+
));*/
|
375 |
+
$this->addField( 'General', 'compressHTML', array(
|
376 |
+
'name' => 'Compress HTML',
|
377 |
+
'type' => 'toggle',
|
378 |
+
'description' => 'Enable or disable HTML compression, some themes prefer uncompressed, switch it off in case of problems.',
|
379 |
+
'default' => 'T',
|
380 |
+
'proCall' => false,
|
381 |
+
'excludeFrom' => array(),
|
382 |
+
) );
|
383 |
+
$this->addField( 'Links & Lightbox', 'lightbox', array(
|
384 |
+
'name' => 'Lightbox & Links',
|
385 |
+
'type' => 'select',
|
386 |
+
'description' => 'Define here what happens when user click on the images. Lightboxes with video support: EverlightBox, LightGallery, Magnific popup, Colorbox (require embed URL)); PrettyPhoto, FancyBox (require embed URL)',
|
387 |
+
'values' => array(
|
388 |
+
'Link' => array( ' |No link', 'direct|Direct link to image (useful for external lightboxes)|disabled', 'post|Post or WooCommerce product|disabled' ),
|
389 |
+
'Lightboxes' => array(
|
390 |
+
'lightbox2|Lightbox',
|
391 |
+
'everlightbox|EverlightBox + social sharing and comments',
|
392 |
+
'lightgallery|LightGallery|disabled',
|
393 |
+
'magnific|Magnific popup|disabled',
|
394 |
+
'colorbox|ColorBox|disabled',
|
395 |
+
'prettyphoto|PrettyPhoto|disabled',
|
396 |
+
'fancybox|FancyBox|disabled',
|
397 |
+
'swipebox|SwipeBox|disabled'
|
398 |
+
),
|
399 |
+
),
|
400 |
+
'proCall' => true,
|
401 |
+
'excludeFrom' => array(),
|
402 |
+
) );
|
403 |
+
$this->addField( 'Links & Lightbox', 'mobileLightbox', array(
|
404 |
+
'name' => 'Lightbox & Links',
|
405 |
+
'type' => 'select',
|
406 |
+
'description' => 'Define here what happens when user click on the images. Lightboxes with video support: EverlightBox, LightGallery, Magnific popup, Colorbox (require embed URL)); PrettyPhoto, FancyBox (require embed URL)',
|
407 |
+
'values' => array(
|
408 |
+
'Link' => array( ' |No link', 'direct|Direct link to image (useful for external lightboxes)', 'post|Post or WooCommerce product|disabled' ),
|
409 |
+
'Lightboxes' => array(
|
410 |
+
'lightbox2|Lightbox',
|
411 |
+
'everlightbox|EverlightBox + social sharing and comments',
|
412 |
+
'lightgallery|LightGallery|disabled',
|
413 |
+
'magnific|Magnific popup|disabled',
|
414 |
+
'colorbox|ColorBox|disabled',
|
415 |
+
'prettyphoto|PrettyPhoto|disabled',
|
416 |
+
'fancybox|FancyBox|disabled',
|
417 |
+
'swipebox|SwipeBox|disabled'
|
418 |
+
),
|
419 |
+
),
|
420 |
+
'proCall' => true,
|
421 |
+
'excludeFrom' => array(),
|
422 |
+
) );
|
423 |
+
$this->addField( 'Links & Lightbox', 'lightboxImageSize', array(
|
424 |
+
'name' => 'Image size for the lightbox',
|
425 |
+
'type' => 'select',
|
426 |
+
'description' => '',
|
427 |
+
'values' => array(
|
428 |
+
'Size' => array(),
|
429 |
+
),
|
430 |
+
'proCall' => false,
|
431 |
+
'excludeFrom' => array(),
|
432 |
+
) );
|
433 |
+
$this->addField( 'Links & Lightbox', 'disableLightboxGroups', array(
|
434 |
+
'name' => 'Disable lightbox grouping',
|
435 |
+
'type' => 'toggle',
|
436 |
+
'description' => 'Flag this option if you don\'t want to group images when opened in a lightbox.',
|
437 |
+
'default' => 'F',
|
438 |
+
'proCall' => false,
|
439 |
+
'excludeFrom' => array(),
|
440 |
+
) );
|
441 |
+
$this->addField( 'Links & Lightbox', 'blank', array(
|
442 |
+
'name' => 'Links target',
|
443 |
+
'type' => 'toggle',
|
444 |
+
'description' => 'Open links in a blank page.',
|
445 |
+
'proCall' => false,
|
446 |
+
'excludeFrom' => array(),
|
447 |
+
) );
|
448 |
+
$this->addField( 'Links & Lightbox', 'enableTwitter', array(
|
449 |
+
'name' => 'Enable Twitter icon',
|
450 |
+
'type' => 'toggle',
|
451 |
+
'description' => 'Enable Twitter sharing.',
|
452 |
+
'default' => 'F',
|
453 |
+
'proCall' => false,
|
454 |
+
'excludeFrom' => array(),
|
455 |
+
) );
|
456 |
+
$this->addField( 'Links & Lightbox', 'enableFacebook', array(
|
457 |
+
'name' => 'Enable Facebook icon',
|
458 |
+
'type' => 'toggle',
|
459 |
+
'description' => 'Enable Facebook sharing. Note: after the last version of OpenGraph API it\'s not possible to share a specific image anymore.',
|
460 |
+
'default' => 'F',
|
461 |
+
'proCall' => false,
|
462 |
+
'excludeFrom' => array(),
|
463 |
+
) );
|
464 |
+
$this->addField( 'Links & Lightbox', 'enableGplus', array(
|
465 |
+
'name' => 'Enable Google Plus icon',
|
466 |
+
'type' => 'toggle',
|
467 |
+
'description' => 'Enable Google Plus sharing',
|
468 |
+
'default' => 'F',
|
469 |
+
'proCall' => false,
|
470 |
+
'excludeFrom' => array(),
|
471 |
+
) );
|
472 |
+
$this->addField( 'Links & Lightbox', 'enablePinterest', array(
|
473 |
+
'name' => 'Enable Pinterest icon',
|
474 |
+
'type' => 'toggle',
|
475 |
+
'description' => 'Enable Pinterest sharing',
|
476 |
+
'default' => 'F',
|
477 |
+
'proCall' => false,
|
478 |
+
'excludeFrom' => array(),
|
479 |
+
) );
|
480 |
+
$this->addField( 'Links & Lightbox', 'socialIconColor', array(
|
481 |
+
'name' => 'Color of social sharing icons',
|
482 |
+
'type' => 'color',
|
483 |
+
'description' => 'Set the color of the social sharing icons',
|
484 |
+
'default' => '#ffffff',
|
485 |
+
'proCall' => false,
|
486 |
+
'excludeFrom' => array(),
|
487 |
+
) );
|
488 |
+
$this->addField( 'Links & Lightbox', 'socialIconStyle', array(
|
489 |
+
'name' => 'Style of the social icons panel',
|
490 |
+
'type' => 'select',
|
491 |
+
'description' => 'Set the color of the social sharing icons',
|
492 |
+
'default' => 'none',
|
493 |
+
'values' => array(
|
494 |
+
'Style' => array( 'none|None', 'circle|Circles', 'bar|Bar' ),
|
495 |
+
),
|
496 |
+
'proCall' => false,
|
497 |
+
'excludeFrom' => array(),
|
498 |
+
) );
|
499 |
+
$this->addField( 'Links & Lightbox', 'socialIconPosition', array(
|
500 |
+
'name' => 'Position of the social icons panel',
|
501 |
+
'type' => 'select',
|
502 |
+
'description' => 'Set the position of the social sharing icons',
|
503 |
+
'default' => 'bottom',
|
504 |
+
'values' => array(
|
505 |
+
'Position' => array( 'bottom|Bottom', 'right|Right' ),
|
506 |
+
),
|
507 |
+
'proCall' => false,
|
508 |
+
'excludeFrom' => array(),
|
509 |
+
) );
|
510 |
+
$this->addField( 'Captions', 'captionBehavior', array(
|
511 |
+
'name' => 'Caption behavior',
|
512 |
+
'type' => 'select',
|
513 |
+
'description' => 'Effect used to show the captions.',
|
514 |
+
'values' => array(
|
515 |
+
'Effect' => array(
|
516 |
+
'none|Fade in',
|
517 |
+
'fixed|Fixed|disabled',
|
518 |
+
'fixed-bg|Fixed with background|disabled',
|
519 |
+
'fixed-then-hidden|Fixed, hidden on mouse hover|disabled',
|
520 |
+
'fixed-bottom|Fixed at bottom|disabled',
|
521 |
+
'slide-from-top|Slide from top|disabled',
|
522 |
+
'slide-from-bottom|Slide from bottom|disabled'
|
523 |
+
),
|
524 |
+
),
|
525 |
+
'proCall' => true,
|
526 |
+
'excludeFrom' => array(),
|
527 |
+
) );
|
528 |
+
$this->addField( 'Captions', 'captionMobileBehavior', array(
|
529 |
+
'name' => 'Caption mobile behavior',
|
530 |
+
'type' => 'select',
|
531 |
+
'description' => 'Caption behavior for mobile devices.',
|
532 |
+
'values' => array(
|
533 |
+
'Behavior' => array(
|
534 |
+
'desktop|Same as desktop',
|
535 |
+
'none|Never show captions|disabled',
|
536 |
+
'fixed-bg|Fixed with background|disabled',
|
537 |
+
'fixed-bottom|Fixed at bottom|disabled',
|
538 |
+
'fixed-then-hidden|Visible, hidden on touch|disabled'
|
539 |
+
),
|
540 |
+
),
|
541 |
+
'proCall' => false,
|
542 |
+
'excludeFrom' => array(),
|
543 |
+
) );
|
544 |
+
$this->addField( 'Captions', 'captionPosition', array(
|
545 |
+
'name' => 'Position',
|
546 |
+
'type' => 'select',
|
547 |
+
'description' => 'Choose the position of the caption.',
|
548 |
+
'values' => array(
|
549 |
+
'Behavior' => array( 'inside|Inside', 'outside|Outside (EXPERIMENTAL)' ),
|
550 |
+
),
|
551 |
+
'proCall' => false,
|
552 |
+
'excludeFrom' => array(),
|
553 |
+
) );
|
554 |
+
/*"captionFullHeight" , array(
|
555 |
+
"name" => "Caption full height",
|
556 |
+
"type" => "toggle",
|
557 |
+
"description" => "Enable this option for full height captions. <strong>This is required if you want to use caption icons and caption effects other than <i>fade</i>.</strong>",
|
558 |
+
"default" => "T",
|
559 |
+
"proCall" => false,
|
560 |
+
"excludeFrom" => array()
|
561 |
+
));*/
|
562 |
+
$this->addField( 'Captions', 'captionEmpty', array(
|
563 |
+
'name' => 'Empty captions',
|
564 |
+
'type' => 'select',
|
565 |
+
'description' => 'Choose if empty caption has to be shown.',
|
566 |
+
'values' => array(
|
567 |
+
'Empty captions' => array( 'hide|Don\'t show empty captions', 'show|Show empty captions|disabled' ),
|
568 |
+
),
|
569 |
+
'proCall' => false,
|
570 |
+
'excludeFrom' => array(),
|
571 |
+
) );
|
572 |
+
$this->addField( 'Captions', 'captionIcon', array(
|
573 |
+
'name' => 'Caption icon',
|
574 |
+
'type' => 'select',
|
575 |
+
'description' => 'Choose the icon for the captions.',
|
576 |
+
'values' => array(
|
577 |
+
'Icon' => array(
|
578 |
+
'|None',
|
579 |
+
'search|Lens',
|
580 |
+
'search-plus|Lens (plus)',
|
581 |
+
'link|Link',
|
582 |
+
'heart|Heart',
|
583 |
+
'heart-o|Heart empty',
|
584 |
+
'camera|Camera',
|
585 |
+
'camera-retro|Camera retro',
|
586 |
+
'picture-o|Picture',
|
587 |
+
'star|Star',
|
588 |
+
'star-o|Star empty',
|
589 |
+
'sun-o|Sun',
|
590 |
+
'arrows-alt|Arrows',
|
591 |
+
'hand-o-right|Hand'
|
592 |
+
),
|
593 |
+
),
|
594 |
+
'proCall' => false,
|
595 |
+
'excludeFrom' => array(),
|
596 |
+
) );
|
597 |
+
$this->addField( 'Captions', 'customCaptionIcon', array(
|
598 |
+
'name' => 'Custom caption icon',
|
599 |
+
'type' => FinalTiles_Gallery::getFieldType( 'customCaptionIcon' ),
|
600 |
+
'description' => 'Use this field to insert the class of a FontAwesome icon (i.e.: fa-heart). <a href=\'http://fontawesome.io/icons/\' target=\'blank\'>See all available icons</a>. <strong>This value override the <i>Caption icon</i> value</strong>.',
|
601 |
+
'proCall' => false,
|
602 |
+
'excludeFrom' => array(),
|
603 |
+
) );
|
604 |
+
$this->addField( 'Captions', 'captionIconColor', array(
|
605 |
+
'name' => 'Caption icon color',
|
606 |
+
'type' => 'color',
|
607 |
+
'description' => 'Color of the icon in captions.',
|
608 |
+
'default' => '#ffffff',
|
609 |
+
'proCall' => false,
|
610 |
+
'excludeFrom' => array(),
|
611 |
+
) );
|
612 |
+
$this->addField( 'Captions', 'captionIconSize', array(
|
613 |
+
'name' => 'Caption icon size',
|
614 |
+
'type' => 'number',
|
615 |
+
'description' => 'Size of the icon in captions.',
|
616 |
+
'default' => 12,
|
617 |
+
'min' => 10,
|
618 |
+
'max' => 96,
|
619 |
+
'mu' => 'px',
|
620 |
+
'proCall' => false,
|
621 |
+
'excludeFrom' => array(),
|
622 |
+
) );
|
623 |
+
$this->addField( 'Captions', 'captionFontSize', array(
|
624 |
+
'name' => 'Caption font size',
|
625 |
+
'type' => 'number',
|
626 |
+
'description' => 'Size of the font in captions.',
|
627 |
+
'default' => 12,
|
628 |
+
'min' => 10,
|
629 |
+
'max' => 96,
|
630 |
+
'mu' => 'px',
|
631 |
+
'proCall' => false,
|
632 |
+
'excludeFrom' => array(),
|
633 |
+
) );
|
634 |
+
$this->addField( 'Captions', 'captionEasing', array(
|
635 |
+
'name' => 'Caption effect easing',
|
636 |
+
'type' => 'select',
|
637 |
+
'description' => 'Easing function for the caption animation, works better with sliding animations.',
|
638 |
+
'values' => array(
|
639 |
+
'Easing' => array(
|
640 |
+
'ease|Ease',
|
641 |
+
'linear|Linear|disabled',
|
642 |
+
'ease-in|Ease in|disabled',
|
643 |
+
'ease-out|Ease out|disabled',
|
644 |
+
'ease-in-out|Ease in and out|disabled'
|
645 |
+
),
|
646 |
+
),
|
647 |
+
'proCall' => false,
|
648 |
+
'excludeFrom' => array(),
|
649 |
+
) );
|
650 |
+
$this->addField( 'Captions', 'captionFrame', array(
|
651 |
+
'name' => 'Caption frame',
|
652 |
+
'type' => 'toggle',
|
653 |
+
'description' => 'Add a frame around the caption',
|
654 |
+
'default' => 'F',
|
655 |
+
'proCall' => false,
|
656 |
+
'excludeFrom' => array(),
|
657 |
+
) );
|
658 |
+
$this->addField( 'Captions', 'captionFrameColor', array(
|
659 |
+
'name' => 'Caption frame color',
|
660 |
+
'type' => 'color',
|
661 |
+
'description' => 'Color of the frame around the caption',
|
662 |
+
'default' => '#ffffff',
|
663 |
+
'proCall' => false,
|
664 |
+
'excludeFrom' => array(),
|
665 |
+
) );
|
666 |
+
$this->addField( 'Captions', 'captionColor', array(
|
667 |
+
'name' => 'Caption color',
|
668 |
+
'type' => 'color',
|
669 |
+
'description' => 'Text color of the captions.',
|
670 |
+
'default' => '#ffffff',
|
671 |
+
'proCall' => false,
|
672 |
+
'excludeFrom' => array(),
|
673 |
+
) );
|
674 |
+
$this->addField( 'Captions', 'captionEffectDuration', array(
|
675 |
+
'name' => 'Caption effect duration',
|
676 |
+
'type' => 'text',
|
677 |
+
'description' => 'Duration of the caption animation.',
|
678 |
+
'default' => 250,
|
679 |
+
'mu' => 'ms',
|
680 |
+
'min' => 0,
|
681 |
+
'max' => 1000,
|
682 |
+
'proCall' => false,
|
683 |
+
'excludeFrom' => array(),
|
684 |
+
) );
|
685 |
+
$this->addField( 'Captions', 'captionBackgroundColor', array(
|
686 |
+
'name' => 'Caption background color',
|
687 |
+
'type' => 'color',
|
688 |
+
'description' => 'Caption background color',
|
689 |
+
'default' => '#000000',
|
690 |
+
'proCall' => false,
|
691 |
+
'excludeFrom' => array(),
|
692 |
+
) );
|
693 |
+
$this->addField( 'Captions', 'captionOpacity', array(
|
694 |
+
'name' => 'Caption opacity',
|
695 |
+
'type' => 'text',
|
696 |
+
'description' => 'Opacity of the caption, 0% means \'invisible\' while 100% is a plain color without opacity.',
|
697 |
+
'default' => 80,
|
698 |
+
'min' => 0,
|
699 |
+
'max' => 100,
|
700 |
+
'mu' => '%',
|
701 |
+
'proCall' => false,
|
702 |
+
'excludeFrom' => array(),
|
703 |
+
) );
|
704 |
+
$this->addField( 'Captions', 'wp_field_caption', array(
|
705 |
+
'name' => 'WordPress caption field',
|
706 |
+
'type' => 'select',
|
707 |
+
'description' => 'WordPress field used for captions. <strong>This field is used ONLY when images are added to the gallery, </strong> however, if you want to ignore captions just set it to \'<i>Don\'t use captions</i>\'.',
|
708 |
+
'values' => array(
|
709 |
+
'Field' => array(
|
710 |
+
'none|Don\'t use captions',
|
711 |
+
'title|Title',
|
712 |
+
'caption|Caption',
|
713 |
+
'description|Description'
|
714 |
+
),
|
715 |
+
),
|
716 |
+
'proCall' => false,
|
717 |
+
'excludeFrom' => array( 'shortcode' ),
|
718 |
+
) );
|
719 |
+
$this->addField( 'Captions', 'wp_field_title', array(
|
720 |
+
'name' => 'WordPress title field',
|
721 |
+
'type' => 'select',
|
722 |
+
'description' => 'WordPress field used for titles. <strong>This field is used ONLY when images are added to the gallery, </strong> however, if you want to ignore titles just set it to \'<i>Don\'t use titles</i>\'.',
|
723 |
+
'values' => array(
|
724 |
+
'Field' => array( 'none|Don\'t use titles', 'title|Title', 'description|Description' ),
|
725 |
+
),
|
726 |
+
'proCall' => false,
|
727 |
+
'excludeFrom' => array( 'shortcode' ),
|
728 |
+
) );
|
729 |
+
$this->addField( 'Captions', 'recentPostsCaption', array(
|
730 |
+
'name' => 'Recent posts caption',
|
731 |
+
'type' => 'select',
|
732 |
+
'description' => 'Field of the post used for captions when using "Recent posts" as source.',
|
733 |
+
'values' => array(
|
734 |
+
'Field' => array(
|
735 |
+
'none|Don\'t use captions',
|
736 |
+
'title|Title',
|
737 |
+
'excerpt|Excerpt',
|
738 |
+
'auto-excerpt|Auto excerpt'
|
739 |
+
),
|
740 |
+
),
|
741 |
+
'proCall' => false,
|
742 |
+
'excludeFrom' => array( 'shortcode' ),
|
743 |
+
) );
|
744 |
+
$this->addField( 'Captions', 'recentPostsCaptionAutoExcerptLength', array(
|
745 |
+
'name' => 'Max number of words for \'Auto excerpt\'',
|
746 |
+
'type' => 'text',
|
747 |
+
'description' => 'Define the max number of words of the caption when <i>Recent posts caption</i> is set to <i>Auto excerpt</i>.',
|
748 |
+
'default' => '20',
|
749 |
+
'proCall' => false,
|
750 |
+
'excludeFrom' => array(),
|
751 |
+
) );
|
752 |
+
$this->addField( 'Captions', 'captionVerticalAlignment', array(
|
753 |
+
'name' => 'Caption Vertical Alignment',
|
754 |
+
'type' => 'select',
|
755 |
+
'description' => 'Choose the vertical alignment of the caption',
|
756 |
+
'values' => array(
|
757 |
+
'Caption vertical alignment' => array( 'top|Top', 'middle|Middle', 'bottom|Bottom' ),
|
758 |
+
),
|
759 |
+
'proCall' => false,
|
760 |
+
'excludeFrom' => array(),
|
761 |
+
) );
|
762 |
+
$this->addField( 'Captions', 'captionHorizontalAlignment', array(
|
763 |
+
'name' => 'Caption Horizontal Alignment',
|
764 |
+
'type' => 'select',
|
765 |
+
'description' => 'Choose the horizontal alignment of the caption',
|
766 |
+
'values' => array(
|
767 |
+
'Caption horizontal alignment' => array( 'left|Left', 'center|Center', 'right|Right' ),
|
768 |
+
),
|
769 |
+
'proCall' => false,
|
770 |
+
'excludeFrom' => array(),
|
771 |
+
) );
|
772 |
+
$this->addField( 'Captions', 'titleFontSize', array(
|
773 |
+
'name' => 'Title font size',
|
774 |
+
'type' => 'number',
|
775 |
+
'description' => 'Size of the font in captions.',
|
776 |
+
'min' => 10,
|
777 |
+
'max' => 96,
|
778 |
+
'mu' => 'px',
|
779 |
+
'proCall' => false,
|
780 |
+
'excludeFrom' => array(),
|
781 |
+
) );
|
782 |
+
$this->addField( 'Hover effects', 'hoverZoom', array(
|
783 |
+
'name' => 'Zoom',
|
784 |
+
'type' => FinalTiles_gallery::getFieldType( 'hoverZoom' ),
|
785 |
+
'description' => 'Scale value.',
|
786 |
+
'default' => 100,
|
787 |
+
'min' => 0,
|
788 |
+
'max' => 600,
|
789 |
+
'mu' => '%',
|
790 |
+
'proCall' => false,
|
791 |
+
'excludeFrom' => array(),
|
792 |
+
) );
|
793 |
+
$this->addField( 'Hover effects', 'hoverRotation', array(
|
794 |
+
'name' => 'Rotation',
|
795 |
+
'type' => FinalTiles_gallery::getFieldType( 'hoverRotation' ),
|
796 |
+
'description' => 'Rotation value in degrees.',
|
797 |
+
'min' => 0,
|
798 |
+
'max' => 360,
|
799 |
+
'mu' => 'deg',
|
800 |
+
'default' => 0,
|
801 |
+
'proCall' => false,
|
802 |
+
'excludeFrom' => array(),
|
803 |
+
) );
|
804 |
+
$this->addField( 'Hover effects', 'hoverDuration', array(
|
805 |
+
'name' => 'Duration',
|
806 |
+
'description' => '',
|
807 |
+
'type' => FinalTiles_gallery::getFieldType( 'hoverDuration' ),
|
808 |
+
'min' => 10,
|
809 |
+
'max' => 60000,
|
810 |
+
'mu' => 'ms',
|
811 |
+
'default' => 500,
|
812 |
+
'proCall' => false,
|
813 |
+
'excludeFrom' => array(),
|
814 |
+
) );
|
815 |
+
$this->addField( 'Hover effects', 'hoverIconRotation', array(
|
816 |
+
'name' => 'Rotate icon',
|
817 |
+
'type' => 'toggle',
|
818 |
+
'default' => 'F',
|
819 |
+
'description' => 'Enable rotation of the icon.',
|
820 |
+
'proCall' => false,
|
821 |
+
'excludeFrom' => array(),
|
822 |
+
) );
|
823 |
+
$this->addField( 'Image loaded effects', 'loadedDuration', array(
|
824 |
+
'name' => 'Duration',
|
825 |
+
'description' => '',
|
826 |
+
'type' => 'slider',
|
827 |
+
'min' => 10,
|
828 |
+
'max' => 1000,
|
829 |
+
'mu' => 'ms',
|
830 |
+
'default' => 500,
|
831 |
+
'proCall' => false,
|
832 |
+
'excludeFrom' => array(),
|
833 |
+
) );
|
834 |
+
$this->addField( 'Image loaded effects', 'loadedEasing', array(
|
835 |
+
'name' => 'Easing curve',
|
836 |
+
'type' => 'select',
|
837 |
+
'description' => 'Choose the easing curve for the loading effect animation',
|
838 |
+
'values' => array(
|
839 |
+
'Easing curve' => array(
|
840 |
+
'linear|Linear',
|
841 |
+
'ease-in|Ease in',
|
842 |
+
'ease-out|Ease out',
|
843 |
+
'ease-in-out|Ease in and out',
|
844 |
+
'ease-out-back|Ease out back',
|
845 |
+
'ease-in-out-back|Ease in and out back',
|
846 |
+
'ease-out-back-accent|Ease out back (accent)',
|
847 |
+
'elastic-out|Elastic out'
|
848 |
+
),
|
849 |
+
),
|
850 |
+
'proCall' => false,
|
851 |
+
'excludeFrom' => array(),
|
852 |
+
) );
|
853 |
+
$this->addField( 'Image loaded effects', 'loadedScaleY', array(
|
854 |
+
'name' => 'Vertical scaling',
|
855 |
+
'description' => '',
|
856 |
+
'type' => 'slider',
|
857 |
+
'min' => 1,
|
858 |
+
'max' => 300,
|
859 |
+
'mu' => '%',
|
860 |
+
'default' => 100,
|
861 |
+
'proCall' => false,
|
862 |
+
'excludeFrom' => array(),
|
863 |
+
) );
|
864 |
+
$this->addField( 'Image loaded effects', 'loadedScaleX', array(
|
865 |
+
'name' => 'Horizontal scaling',
|
866 |
+
'description' => '',
|
867 |
+
'type' => 'slider',
|
868 |
+
'min' => 1,
|
869 |
+
'max' => 300,
|
870 |
+
'mu' => '%',
|
871 |
+
'default' => 100,
|
872 |
+
'proCall' => false,
|
873 |
+
'excludeFrom' => array(),
|
874 |
+
) );
|
875 |
+
$this->addField( 'Image loaded effects', 'loadedRotateY', array(
|
876 |
+
'name' => 'Vertical rotation',
|
877 |
+
'description' => '',
|
878 |
+
'type' => 'slider',
|
879 |
+
'min' => -180,
|
880 |
+
'max' => 180,
|
881 |
+
'default' => 0,
|
882 |
+
'mu' => 'deg',
|
883 |
+
'proCall' => false,
|
884 |
+
'excludeFrom' => array(),
|
885 |
+
) );
|
886 |
+
$this->addField( 'Image loaded effects', 'loadedRotateX', array(
|
887 |
+
'name' => 'Horizontal rotation',
|
888 |
+
'description' => '',
|
889 |
+
'type' => 'slider',
|
890 |
+
'min' => -180,
|
891 |
+
'max' => 180,
|
892 |
+
'default' => 0,
|
893 |
+
'mu' => 'deg',
|
894 |
+
'proCall' => false,
|
895 |
+
'excludeFrom' => array(),
|
896 |
+
) );
|
897 |
+
$this->addField( 'Image loaded effects', 'loadedHSlide', array(
|
898 |
+
'name' => 'Horizontal slide',
|
899 |
+
'description' => '',
|
900 |
+
'type' => 'slider',
|
901 |
+
'min' => -1000,
|
902 |
+
'max' => 1000,
|
903 |
+
'mu' => 'px',
|
904 |
+
'default' => 0,
|
905 |
+
'proCall' => false,
|
906 |
+
'excludeFrom' => array(),
|
907 |
+
) );
|
908 |
+
$this->addField( 'Image loaded effects', 'loadedVSlide', array(
|
909 |
+
'name' => 'Vertical slide',
|
910 |
+
'description' => '',
|
911 |
+
'type' => 'slider',
|
912 |
+
'min' => -1000,
|
913 |
+
'max' => 1000,
|
914 |
+
'mu' => 'px',
|
915 |
+
'default' => 0,
|
916 |
+
'proCall' => false,
|
917 |
+
'excludeFrom' => array(),
|
918 |
+
) );
|
919 |
+
$this->addField( 'Style', 'borderSize', array(
|
920 |
+
'name' => 'Border size',
|
921 |
+
'type' => 'number',
|
922 |
+
'description' => 'Size of the border of each image.',
|
923 |
+
'default' => 0,
|
924 |
+
'min' => 0,
|
925 |
+
'max' => 10,
|
926 |
+
'mu' => 'px',
|
927 |
+
'proCall' => false,
|
928 |
+
'excludeFrom' => array(),
|
929 |
+
) );
|
930 |
+
$this->addField( 'Style', 'borderRadius', array(
|
931 |
+
'name' => 'Border radius',
|
932 |
+
'type' => 'number',
|
933 |
+
'description' => 'Border radius of the images.',
|
934 |
+
'default' => 0,
|
935 |
+
'min' => 0,
|
936 |
+
'max' => 100,
|
937 |
+
'mu' => 'px',
|
938 |
+
'proCall' => false,
|
939 |
+
'excludeFrom' => array(),
|
940 |
+
) );
|
941 |
+
$this->addField( 'Style', 'borderColor', array(
|
942 |
+
'name' => 'Border color',
|
943 |
+
'type' => 'color',
|
944 |
+
'description' => 'Color of the border when size is greater than 0.',
|
945 |
+
'default' => '#000000',
|
946 |
+
'proCall' => false,
|
947 |
+
'excludeFrom' => array(),
|
948 |
+
) );
|
949 |
+
$this->addField( 'Style', 'loadingBarColor', array(
|
950 |
+
'name' => 'Loading Bar color',
|
951 |
+
'type' => 'color',
|
952 |
+
'description' => 'Color of the loading bar',
|
953 |
+
'default' => '#000000',
|
954 |
+
'proCall' => false,
|
955 |
+
'excludeFrom' => array(),
|
956 |
+
) );
|
957 |
+
$this->addField( 'Style', 'loadingBarBackgroundColor', array(
|
958 |
+
'name' => 'Loading Bar background color',
|
959 |
+
'type' => 'color',
|
960 |
+
'description' => 'Background color of the loading bar',
|
961 |
+
'default' => '#cccccc',
|
962 |
+
'proCall' => false,
|
963 |
+
'excludeFrom' => array(),
|
964 |
+
) );
|
965 |
+
$this->addField( 'Style', 'shadowSize', array(
|
966 |
+
'name' => 'Shadow size',
|
967 |
+
'type' => 'number',
|
968 |
+
'description' => 'Shadow size of the images.',
|
969 |
+
'default' => 0,
|
970 |
+
'min' => 0,
|
971 |
+
'max' => 20,
|
972 |
+
'mu' => 'px',
|
973 |
+
'proCall' => false,
|
974 |
+
'excludeFrom' => array(),
|
975 |
+
) );
|
976 |
+
$this->addField( 'Style', 'shadowColor', array(
|
977 |
+
'name' => 'Shadow color',
|
978 |
+
'type' => 'color',
|
979 |
+
'description' => 'Color of the shadow when size is greater than 0.',
|
980 |
+
'default' => '#000000',
|
981 |
+
'proCall' => false,
|
982 |
+
'excludeFrom' => array(),
|
983 |
+
) );
|
984 |
+
$this->addField( 'Style', 'backgroundColor', array(
|
985 |
+
'name' => 'Tile background color',
|
986 |
+
'type' => 'color',
|
987 |
+
'description' => 'Background color of tiles',
|
988 |
+
'default' => '#fafafa',
|
989 |
+
'proCall' => false,
|
990 |
+
'excludeFrom' => array(),
|
991 |
+
) );
|
992 |
+
$this->addField( 'Customizations', 'aClass', array(
|
993 |
+
'name' => 'Additional CSS class on A tag',
|
994 |
+
'type' => 'text',
|
995 |
+
'description' => 'Use this field if you need to add additional CSS classes to the link that contains the image.',
|
996 |
+
'default' => '',
|
997 |
+
'proCall' => false,
|
998 |
+
'excludeFrom' => array(),
|
999 |
+
) );
|
1000 |
+
$this->addField( 'Customizations', 'rel', array(
|
1001 |
+
'name' => 'Value of \'rel\' attribute on the link that contains the image.',
|
1002 |
+
'type' => 'text',
|
1003 |
+
'description' => 'Use this field if you need to add additional CSS classes to the link that contains the image. This is useful mostly to integrate the gallery with other lightbox plugins.',
|
1004 |
+
'default' => '',
|
1005 |
+
'proCall' => false,
|
1006 |
+
'excludeFrom' => array(),
|
1007 |
+
) );
|
1008 |
+
$this->addField( 'Customizations', 'beforeGalleryText', array(
|
1009 |
+
'name' => 'Text before gallery',
|
1010 |
+
'type' => 'textarea',
|
1011 |
+
'description' => 'Use this field to add text/html to be placed just before your gallery.',
|
1012 |
+
'proCall' => false,
|
1013 |
+
'excludeFrom' => array( 'shortcode' ),
|
1014 |
+
) );
|
1015 |
+
$this->addField( 'Customizations', 'afterGalleryText', array(
|
1016 |
+
'name' => 'Text after gallery',
|
1017 |
+
'type' => 'textarea',
|
1018 |
+
'description' => 'Use this field to add text/html to be placed just after your gallery.',
|
1019 |
+
'proCall' => false,
|
1020 |
+
'excludeFrom' => array( 'shortcode' ),
|
1021 |
+
) );
|
1022 |
+
$this->addField( 'Customizations', 'style', array(
|
1023 |
+
'name' => 'Custom CSS',
|
1024 |
+
'type' => 'textarea',
|
1025 |
+
'description' => '<strong>Write just the code without using the <style> tag.</strong><br>List of useful selectors:<br>
|
1026 |
+
<br>
|
1027 |
+
<ul>
|
1028 |
+
<li>
|
1029 |
+
<em>.final-tiles-gallery</em> : gallery container;
|
1030 |
+
</li>
|
1031 |
+
<li>
|
1032 |
+
<em>.final-tiles-gallery .tile-inner</em> : tile content;
|
1033 |
+
</li>
|
1034 |
+
<li>
|
1035 |
+
<em>.final-tiles-gallery .tile-inner .item</em> : image of the tile;
|
1036 |
+
</li>
|
1037 |
+
<li>
|
1038 |
+
<em>.final-tiles-gallery .tile-inner .caption</em> : caption of the tile;
|
1039 |
+
</li>
|
1040 |
+
<li>
|
1041 |
+
<em>.final-tiles-gallery .ftg-filters</em> : filters container
|
1042 |
+
</li>
|
1043 |
+
<li>
|
1044 |
+
<em>.final-tiles-gallery .ftg-filters a</em> : filter
|
1045 |
+
</li>
|
1046 |
+
<li>
|
1047 |
+
<em>.final-tiles-gallery .ftg-filters a.selected</em> : selected filter
|
1048 |
+
</li>
|
1049 |
+
</ul>',
|
1050 |
+
'proCall' => false,
|
1051 |
+
'excludeFrom' => array( 'shortcode' ),
|
1052 |
+
) );
|
1053 |
+
$this->addField( 'Customizations', 'script', array(
|
1054 |
+
'name' => 'Custom scripts',
|
1055 |
+
'type' => 'textarea',
|
1056 |
+
'description' => 'This script will be called after the gallery initialization. Useful for custom lightboxes.
|
1057 |
+
<br />
|
1058 |
+
<br />
|
1059 |
+
<strong>Write just the code without using the <script></script> tags</strong>',
|
1060 |
+
'proCall' => false,
|
1061 |
+
'excludeFrom' => array( 'shortcode' ),
|
1062 |
+
) );
|
1063 |
+
$this->addField( 'Customizations', 'delay', array(
|
1064 |
+
'name' => 'Delay',
|
1065 |
+
'type' => 'text',
|
1066 |
+
'description' => 'Delay (in milliseconds) before firing the gallery. Sometimes it\'s needed to avoid conflicts with other plugins.',
|
1067 |
+
'min' => 0,
|
1068 |
+
'max' => 5000,
|
1069 |
+
'mu' => 'ms',
|
1070 |
+
'default' => 0,
|
1071 |
+
'proCall' => false,
|
1072 |
+
'excludeFrom' => array(),
|
1073 |
+
) );
|
1074 |
+
$this->addField( 'Customizations', 'support', array(
|
1075 |
+
'name' => 'Show developer link',
|
1076 |
+
'type' => 'toggle',
|
1077 |
+
'description' => 'I want to support this plugin, show the developer link!',
|
1078 |
+
'default' => 'F',
|
1079 |
+
'proCall' => false,
|
1080 |
+
'excludeFrom' => array(),
|
1081 |
+
'proCall' => false,
|
1082 |
+
'excludeFrom' => array(),
|
1083 |
+
) );
|
1084 |
+
$this->addField( 'Customizations', 'supportText', array(
|
1085 |
+
'name' => 'Developer link text',
|
1086 |
+
'type' => 'text',
|
1087 |
+
'description' => 'Text for the developer link',
|
1088 |
+
'default' => 'powered by Final Tiles Grid Gallery',
|
1089 |
+
'proCall' => false,
|
1090 |
+
'excludeFrom' => array(),
|
1091 |
+
) );
|
1092 |
+
$this->addField( 'Customizations', 'envatoReferral', array(
|
1093 |
+
'name' => 'Envato username for referral',
|
1094 |
+
'type' => 'text',
|
1095 |
+
'description' => 'Enter your Envato username to earn money! Receive 30% of the first purchase or deposit of each referred user. You do not need to activate anything else, you are automatically eligible.',
|
1096 |
+
'default' => 'GreenTreeLabs',
|
1097 |
+
'proCall' => false,
|
1098 |
+
'excludeFrom' => array(),
|
1099 |
+
) );
|
admin/include/image-list.php
CHANGED
@@ -7,7 +7,7 @@ if(isset($gallery))
|
|
7 |
|
8 |
?>
|
9 |
<?php foreach($imageResults as $image) {
|
10 |
-
$sizes =
|
11 |
$thumb = "";
|
12 |
if($image->type == 'image')
|
13 |
$thumb = array_key_exists("150x150", $sizes) ? $sizes["150x150"] : $image->imagePath;
|
7 |
|
8 |
?>
|
9 |
<?php foreach($imageResults as $image) {
|
10 |
+
$sizes = FinalTiles_Gallery::get_image_size_links($image->imageId);
|
11 |
$thumb = "";
|
12 |
if($image->type == 'image')
|
13 |
$thumb = array_key_exists("150x150", $sizes) ? $sizes["150x150"] : $image->imagePath;
|
admin/overview.php
CHANGED
@@ -11,14 +11,14 @@
|
|
11 |
$galleries = $this->FinalTilesdb->getGalleries();
|
12 |
?>
|
13 |
|
14 |
-
<div class="bd">
|
15 |
<?php if(count($galleries) == 0) : ?>
|
16 |
<div class="row ">
|
17 |
<div class="col s12">
|
18 |
<div class="card-panel light-green lighten-4">
|
19 |
<h5 class="cyan-text text-darken-3"><?php _e('Welcome to Final Tiles Grid Gallery!','final-tiles-gallery')?></h5>
|
20 |
<p>
|
21 |
-
<?php _e('Create your first awesome gallery, click','final-tiles-gallery')?> <a href="?page=ftg-
|
22 |
</p>
|
23 |
</div>
|
24 |
</div>
|
@@ -56,7 +56,7 @@
|
|
56 |
</div>
|
57 |
<?php endif ?>
|
58 |
<div class="fixed-action-btn" style="bottom: 15px; right: 24px;">
|
59 |
-
<a href="?page=ftg-
|
60 |
<i class="large fa fa-plus"></i>
|
61 |
</a>
|
62 |
</div>
|
11 |
$galleries = $this->FinalTilesdb->getGalleries();
|
12 |
?>
|
13 |
|
14 |
+
<div class="bd">
|
15 |
<?php if(count($galleries) == 0) : ?>
|
16 |
<div class="row ">
|
17 |
<div class="col s12">
|
18 |
<div class="card-panel light-green lighten-4">
|
19 |
<h5 class="cyan-text text-darken-3"><?php _e('Welcome to Final Tiles Grid Gallery!','final-tiles-gallery')?></h5>
|
20 |
<p>
|
21 |
+
<?php _e('Create your first awesome gallery, click','final-tiles-gallery')?> <a href="?page=ftg-add-gallery"><?php _e('here','final-tiles-gallery')?></a>.
|
22 |
</p>
|
23 |
</div>
|
24 |
</div>
|
56 |
</div>
|
57 |
<?php endif ?>
|
58 |
<div class="fixed-action-btn" style="bottom: 15px; right: 24px;">
|
59 |
+
<a href="?page=ftg-add-gallery" class="btn-floating btn-large red">
|
60 |
<i class="large fa fa-plus"></i>
|
61 |
</a>
|
62 |
</div>
|
admin/scripts/{final-tiles-grid-gallery-lite-admin.js → final-tiles-gallery-admin.js}
RENAMED
@@ -147,9 +147,88 @@ var FTG = function($) {
|
|
147 |
}
|
148 |
});
|
149 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
init_gallery: function() {
|
151 |
|
152 |
-
var source = $('[name=ftg_source').val();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
},
|
154 |
refresh_woocommerce: function() {
|
155 |
FTG.show_loading();
|
@@ -215,6 +294,8 @@ var FTG = function($) {
|
|
215 |
// !gallery save
|
216 |
var data = {};
|
217 |
data.action = 'save_gallery';
|
|
|
|
|
218 |
|
219 |
$(".form-fields").find("input[type=text], input[type=range], select, input:checked, input[type=hidden], textarea").each(function() {
|
220 |
var name = $(this).attr("name");
|
@@ -372,6 +453,13 @@ var FTG = function($) {
|
|
372 |
$("body").on("keyup", ".filters .f", function() {
|
373 |
$(this).siblings("input").val(this.value);
|
374 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
|
376 |
$('.import-export a').click(function() {
|
377 |
|
@@ -419,6 +507,7 @@ var FTG = function($) {
|
|
419 |
});
|
420 |
}
|
421 |
});
|
|
|
422 |
|
423 |
$("[name=ftg_layout]").change(function() {
|
424 |
|
@@ -453,16 +542,9 @@ var FTG = function($) {
|
|
453 |
})
|
454 |
});
|
455 |
|
456 |
-
$('[name="ftg_lightbox"]').change(function () {
|
457 |
-
if($(this).val() == "everlightbox")
|
458 |
-
$(".ftg-everlightbox-settings").show();
|
459 |
-
else
|
460 |
-
$(".ftg-everlightbox-settings").hide();
|
461 |
-
}).change();
|
462 |
-
|
463 |
$("#image-list").on("mouseenter", ".item .filters li", function() {
|
464 |
$(this).css('cursor', 'pointer');
|
465 |
-
})
|
466 |
|
467 |
$("#image-list").on("click", ".item .filters li", function() {
|
468 |
var filter = $(this).html().trim();
|
@@ -597,7 +679,26 @@ var FTG = function($) {
|
|
597 |
|
598 |
if (source == 'posts') {
|
599 |
panel.find("[name=link], textarea").hide();
|
600 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
|
602 |
var link = $item.find("[name=link]").val();
|
603 |
|
@@ -616,7 +717,13 @@ var FTG = function($) {
|
|
616 |
if ($(this).attr("name"))
|
617 |
data[$(this).attr("name")] = $(this).val();
|
618 |
});
|
619 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
620 |
|
621 |
$("#image-panel .close").trigger("click");
|
622 |
FTG.show_loading();
|
@@ -696,6 +803,12 @@ var FTG = function($) {
|
|
696 |
$(this).siblings("[name=url]").val("").get(0).disabled = true;
|
697 |
}
|
698 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
|
700 |
$(".bulk a").click(function(e) {
|
701 |
e.preventDefault();
|
@@ -706,14 +819,17 @@ var FTG = function($) {
|
|
706 |
case "select":
|
707 |
$("#images .item").addClass("selected");
|
708 |
$("#images .item .checkbox").addClass("checked");
|
|
|
709 |
break;
|
710 |
case "deselect":
|
711 |
$("#images .item").removeClass("selected");
|
712 |
$("#images .item .checkbox").removeClass("checked");
|
|
|
713 |
break;
|
714 |
case "toggle":
|
715 |
$("#images .item").toggleClass("selected");
|
716 |
$("#images .item .checkbox").toggleClass("checked");
|
|
|
717 |
break;
|
718 |
case "show-hide":
|
719 |
var selected = [];
|
@@ -777,7 +893,12 @@ var FTG = function($) {
|
|
777 |
|
778 |
$(".proceed", $bulk).unbind("click").click(function(e) {
|
779 |
e.preventDefault();
|
780 |
-
|
|
|
|
|
|
|
|
|
|
|
781 |
$(".panel", $bulk).slideUp();
|
782 |
|
783 |
var data = {
|
@@ -796,7 +917,63 @@ var FTG = function($) {
|
|
796 |
|
797 |
$(".panel", $bulk).slideDown();
|
798 |
}
|
799 |
-
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
800 |
case "remove":
|
801 |
$(".panel", $bulk).hide();
|
802 |
$(".panel strong", $bulk).text("");
|
@@ -852,7 +1029,88 @@ var FTG = function($) {
|
|
852 |
e.preventDefault();
|
853 |
$(this).parents(".field:first").find(".help").show();
|
854 |
});
|
855 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
856 |
$(".open-media-panel").on("click", function(e) {
|
857 |
e.preventDefault();
|
858 |
var currentImageSize = $(".current-image-size").val();
|
@@ -1122,7 +1380,19 @@ var FTGWizard = function($) {
|
|
1122 |
}
|
1123 |
}(jQuery);
|
1124 |
jQuery(function() {
|
1125 |
-
jQuery
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1126 |
FTG.init();
|
1127 |
FTGWizard.init();
|
1128 |
});
|
147 |
}
|
148 |
});
|
149 |
},
|
150 |
+
update_filters: function() {
|
151 |
+
var ff = [];
|
152 |
+
$(".gallery-filters .f").each(function() {
|
153 |
+
var val = $.trim($(this).val());
|
154 |
+
if (val.length > 0 && $.inArray(val, ff) < 0) {
|
155 |
+
ff.push(val);
|
156 |
+
}
|
157 |
+
});
|
158 |
+
$(".gallery-filters [name=ftg_filters]").val(ff.join('|'));
|
159 |
+
|
160 |
+
|
161 |
+
},
|
162 |
+
update_custom_isf: function() {
|
163 |
+
var isf = [];
|
164 |
+
$(".custom_isf tbody tr").each(function(i, o) {
|
165 |
+
var res = $.trim($(o).find("input.res").val());
|
166 |
+
var size = $.trim($(o).find("input.size").val());
|
167 |
+
|
168 |
+
if (res && size) {
|
169 |
+
isf.push(res + "," + size);
|
170 |
+
}
|
171 |
+
});
|
172 |
+
$("[name=ftg_imageSizeFactorCustom]").val(isf.join("|"));
|
173 |
+
},
|
174 |
+
add_filter: function(value) {
|
175 |
+
var defFilter = $('[name="filter_def"]').val();
|
176 |
+
var checked = value == defFilter ? "checked" : "";
|
177 |
+
if (!value)
|
178 |
+
value = "";
|
179 |
+
|
180 |
+
var row = $("<p style='display:none'><a class='btn-floating waves-effect red' href='#'><i class='fa fa-times'></i></a> <input class='f' type='text' /> <input type='radio' " + checked + " name='ftg_filterDef' value='" + value + "'> Selected</p>");
|
181 |
+
if (value)
|
182 |
+
row.find(".f").val(value);
|
183 |
+
|
184 |
+
$(".filters .text").append(row);
|
185 |
+
row.slideDown();
|
186 |
+
row.find("a").click(function(e) {
|
187 |
+
e.preventDefault();
|
188 |
+
row.slideUp(function() {
|
189 |
+
$(this).remove();
|
190 |
+
});
|
191 |
+
FTG.update_filters();
|
192 |
+
});
|
193 |
+
},
|
194 |
+
add_isf: function(value) {
|
195 |
+
var $item = $("<tr><td class='del'></td><td></td><td></td></tr>");
|
196 |
+
$("td", $item).eq(0).append("<a class='btn-floating waves-effect red' href='#'><i class='fa fa-times'></i></a>");
|
197 |
+
$("td", $item).eq(1).append("<input type='text' class='res' placeholder='Resolution' />");
|
198 |
+
$("td", $item).eq(2).append("<input type='text' class='size' placeholder='Size factor' />");
|
199 |
+
|
200 |
+
$item.find("a").click(function(e) {
|
201 |
+
e.preventDefault();
|
202 |
+
$item.remove();
|
203 |
+
});
|
204 |
+
if (value) {
|
205 |
+
var data = value.split(',');
|
206 |
+
$item.find(".res").val(data[0]);
|
207 |
+
$item.find(".size").val(data[1]);
|
208 |
+
}
|
209 |
+
$(".custom_isf tbody").append($item);
|
210 |
+
},
|
211 |
init_gallery: function() {
|
212 |
|
213 |
+
var source = $('[name=ftg_source').val();
|
214 |
+
|
215 |
+
var ff = $(".filters [name=ftg_filters]").val().split('|');
|
216 |
+
|
217 |
+
if (ff.length == 0 || ff[0] == "") {
|
218 |
+
FTG.add_filter();
|
219 |
+
} else {
|
220 |
+
for (var i = 0; i < ff.length; i++) {
|
221 |
+
if (ff[i].length > 0)
|
222 |
+
FTG.add_filter(ff[i]);
|
223 |
+
}
|
224 |
+
}
|
225 |
+
|
226 |
+
var isf = $("[name=ftg_imageSizeFactorCustom]").val().split('|');
|
227 |
+
|
228 |
+
for (var i = 0; i < isf.length; i++) {
|
229 |
+
if (isf[i].length)
|
230 |
+
FTG.add_isf(isf[i]);
|
231 |
+
}
|
232 |
},
|
233 |
refresh_woocommerce: function() {
|
234 |
FTG.show_loading();
|
294 |
// !gallery save
|
295 |
var data = {};
|
296 |
data.action = 'save_gallery';
|
297 |
+
FTG.update_filters();
|
298 |
+
FTG.update_custom_isf();
|
299 |
|
300 |
$(".form-fields").find("input[type=text], input[type=range], select, input:checked, input[type=hidden], textarea").each(function() {
|
301 |
var name = $(this).attr("name");
|
453 |
$("body").on("keyup", ".filters .f", function() {
|
454 |
$(this).siblings("input").val(this.value);
|
455 |
});
|
456 |
+
|
457 |
+
$('[name="ftg_lightbox"]').change(function () {
|
458 |
+
if($(this).val() == "everlightbox")
|
459 |
+
$(".ftg-everlightbox-settings").show();
|
460 |
+
else
|
461 |
+
$(".ftg-everlightbox-settings").hide();
|
462 |
+
}).change();
|
463 |
|
464 |
$('.import-export a').click(function() {
|
465 |
|
507 |
});
|
508 |
}
|
509 |
});
|
510 |
+
|
511 |
|
512 |
$("[name=ftg_layout]").change(function() {
|
513 |
|
542 |
})
|
543 |
});
|
544 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
545 |
$("#image-list").on("mouseenter", ".item .filters li", function() {
|
546 |
$(this).css('cursor', 'pointer');
|
547 |
+
})
|
548 |
|
549 |
$("#image-list").on("click", ".item .filters li", function() {
|
550 |
var filter = $(this).html().trim();
|
679 |
|
680 |
if (source == 'posts') {
|
681 |
panel.find("[name=link], textarea").hide();
|
682 |
+
}
|
683 |
+
|
684 |
+
var selFilters = $item.find("[name=filters]").val().split('|');
|
685 |
+
var filters = $("[name=ftg_filters]").val().split('|');
|
686 |
+
|
687 |
+
$(".filters", panel).empty();
|
688 |
+
for (var i = 0; i < filters.length; i++) {
|
689 |
+
if ($.trim(filters[i]).length > 0) {
|
690 |
+
var ft = $("<input type='checkbox' />");
|
691 |
+
ft.val($.trim(filters[i]));
|
692 |
+
ft.attr("id", "imgft" + i);
|
693 |
+
$(".filters", panel).append(ft);
|
694 |
+
|
695 |
+
ft.after("<label for='imgft" + i + "'>" + $.trim(filters[i]) + "</label>");
|
696 |
+
|
697 |
+
if ($.inArray(filters[i], selFilters) > -1)
|
698 |
+
ft.attr("checked", "checked");
|
699 |
+
|
700 |
+
}
|
701 |
+
}
|
702 |
|
703 |
var link = $item.find("[name=link]").val();
|
704 |
|
717 |
if ($(this).attr("name"))
|
718 |
data[$(this).attr("name")] = $(this).val();
|
719 |
});
|
720 |
+
|
721 |
+
var savFilters = [];
|
722 |
+
|
723 |
+
$(".filters input:checked", panel).each(function(i, o) {
|
724 |
+
savFilters.push($(o).val());
|
725 |
+
});
|
726 |
+
data.filters = savFilters.join("|");
|
727 |
|
728 |
$("#image-panel .close").trigger("click");
|
729 |
FTG.show_loading();
|
803 |
$(this).siblings("[name=url]").val("").get(0).disabled = true;
|
804 |
}
|
805 |
});
|
806 |
+
$("body").on("change", ".presets", function () {
|
807 |
+
var idx = $(this).data("field-idx");
|
808 |
+
for(p in presets["preset_" + idx + "_" + $(this).val()]) {
|
809 |
+
$('[name="ftg_'+ p +'"]').val(presets["preset_" + idx + "_" + $(this).val()][p]).change();
|
810 |
+
}
|
811 |
+
});
|
812 |
|
813 |
$(".bulk a").click(function(e) {
|
814 |
e.preventDefault();
|
819 |
case "select":
|
820 |
$("#images .item").addClass("selected");
|
821 |
$("#images .item .checkbox").addClass("checked");
|
822 |
+
$('.filter-select-control li').removeClass('selected');
|
823 |
break;
|
824 |
case "deselect":
|
825 |
$("#images .item").removeClass("selected");
|
826 |
$("#images .item .checkbox").removeClass("checked");
|
827 |
+
$('.filter-select-control li').removeClass('selected');
|
828 |
break;
|
829 |
case "toggle":
|
830 |
$("#images .item").toggleClass("selected");
|
831 |
$("#images .item .checkbox").toggleClass("checked");
|
832 |
+
$('.filter-select-control li').removeClass('selected');
|
833 |
break;
|
834 |
case "show-hide":
|
835 |
var selected = [];
|
893 |
|
894 |
$(".proceed", $bulk).unbind("click").click(function(e) {
|
895 |
e.preventDefault();
|
896 |
+
|
897 |
+
var filters = [];
|
898 |
+
$(".panel :checked", $bulk).each(function(i, o) {
|
899 |
+
filters.push($(o).val());
|
900 |
+
});
|
901 |
+
|
902 |
$(".panel", $bulk).slideUp();
|
903 |
|
904 |
var data = {
|
917 |
|
918 |
$(".panel", $bulk).slideDown();
|
919 |
}
|
920 |
+
break;
|
921 |
+
case "filter":
|
922 |
+
var selected = [];
|
923 |
+
$("#images .item.selected").each(function(i, o) {
|
924 |
+
selected.push($(o).data("id"));
|
925 |
+
});
|
926 |
+
if (selected.length == 0) {
|
927 |
+
alert("No images selected");
|
928 |
+
} else {
|
929 |
+
$(".panel", $bulk).hide();
|
930 |
+
$(".panel strong", $bulk).text("");
|
931 |
+
$(".panel .text", $bulk).text("");
|
932 |
+
$(".panel .input", $bulk).hide();
|
933 |
+
$(".panel input", $bulk).val("");
|
934 |
+
|
935 |
+
var filters = $("[name=ftg_filters]").val().split('|');
|
936 |
+
for (var i = 0; i < filters.length; i++) {
|
937 |
+
if ($.trim(filters[i]).length > 0) {
|
938 |
+
var ft = $("<input id='bulkft" + i + "' type='checkbox' value='" + $.trim(filters[i]) + "' />");
|
939 |
+
$(".panel .text", $bulk).append(ft);
|
940 |
+
ft.after("<label for='bulkft" + i + "'>" + $.trim(filters[i]) + "</label>");
|
941 |
+
}
|
942 |
+
}
|
943 |
+
|
944 |
+
$(".cancel", $bulk).unbind("click").click(function(e) {
|
945 |
+
e.preventDefault();
|
946 |
+
$(".panel", $bulk).slideUp();
|
947 |
+
});
|
948 |
+
|
949 |
+
$(".proceed", $bulk).unbind("click").click(function(e) {
|
950 |
+
e.preventDefault();
|
951 |
+
|
952 |
+
var filters = [];
|
953 |
+
$(".panel :checked", $bulk).each(function(i, o) {
|
954 |
+
filters.push($(o).val());
|
955 |
+
});
|
956 |
+
|
957 |
+
$(".panel", $bulk).slideUp();
|
958 |
+
|
959 |
+
var data = {
|
960 |
+
action: 'assign_filters',
|
961 |
+
FinalTiles_gallery: $('#FinalTiles_gallery').val(),
|
962 |
+
filters: filters.join("|"),
|
963 |
+
id: selected.join(","),
|
964 |
+
source: $("[name=ftg_source]").val()
|
965 |
+
};
|
966 |
+
|
967 |
+
FTG.show_loading();
|
968 |
+
$.post(ajaxurl, data, function() {
|
969 |
+
FTG.hide_loading();
|
970 |
+
FTG.load_images();
|
971 |
+
});
|
972 |
+
});
|
973 |
+
|
974 |
+
$(".panel", $bulk).slideDown();
|
975 |
+
}
|
976 |
+
break;
|
977 |
case "remove":
|
978 |
$(".panel", $bulk).hide();
|
979 |
$(".panel strong", $bulk).text("");
|
1029 |
e.preventDefault();
|
1030 |
$(this).parents(".field:first").find(".help").show();
|
1031 |
});
|
1032 |
+
$("body #edit-gallery .js-update-shortcode").on("change keyup", "input, select", function(e) {
|
1033 |
+
e.preventDefault();
|
1034 |
+
var code = $(this).attr("name").substr(4);
|
1035 |
+
if($(this).attr("type") == "checkbox") {
|
1036 |
+
var val = this.checked ? "T" : "F";
|
1037 |
+
|
1038 |
+
} else {
|
1039 |
+
var val = $(this).val();
|
1040 |
+
}
|
1041 |
+
var shortcode = $("#shortcode-" + code + " input").val().split("=");
|
1042 |
+
$("#shortcode-" + code + " input").val(shortcode[0] + '="' + val + '"');
|
1043 |
+
});
|
1044 |
+
$("body").on("click", ".toggle-shortcode", function(e) {
|
1045 |
+
e.preventDefault();
|
1046 |
+
var code = $(this).data("code");
|
1047 |
+
$("#shortcode-" + code).toggleClass("visible");
|
1048 |
+
});
|
1049 |
+
$("body").on("click", "#video-panel-model a", function(e) {
|
1050 |
+
e.preventDefault();
|
1051 |
+
var filters = [];
|
1052 |
+
$('.video-filters input[type=checkbox]:checked').each(function() {
|
1053 |
+
filters.push($(this).val());
|
1054 |
+
})
|
1055 |
+
filters = filters.join('|');
|
1056 |
+
switch ($(this).data("action")) {
|
1057 |
+
case "edit":
|
1058 |
+
// !video save
|
1059 |
+
var $panel = $("#video-panel-model");
|
1060 |
+
var data = {
|
1061 |
+
action: 'save_video',
|
1062 |
+
embed: $("textarea", $panel).val(),
|
1063 |
+
galleryId: $("#gallery-id").val(),
|
1064 |
+
FinalTiles_gallery: $('#FinalTiles_gallery').val()
|
1065 |
+
};
|
1066 |
+
|
1067 |
+
FTG.show_loading();
|
1068 |
+
|
1069 |
+
$("input[type=hidden]", $panel).each(function() {
|
1070 |
+
if ($(this).attr("name"))
|
1071 |
+
data[$(this).attr("name")] = $(this).val();
|
1072 |
+
});
|
1073 |
+
|
1074 |
+
data['filters'] = filters;
|
1075 |
+
console.log(data);
|
1076 |
+
|
1077 |
+
data['step'] = $('#video-panel-action').val();
|
1078 |
+
|
1079 |
+
$.ajax({
|
1080 |
+
url: ajaxurl,
|
1081 |
+
data: data,
|
1082 |
+
dataType: "json",
|
1083 |
+
type: "post",
|
1084 |
+
error: function(a, b, c) {
|
1085 |
+
console.log(a, b, c);
|
1086 |
+
FTG.hide_loading();
|
1087 |
+
alert("error adding images");
|
1088 |
+
},
|
1089 |
+
success: function(r) {
|
1090 |
+
if (r.success) {
|
1091 |
+
FTG.hide_loading();
|
1092 |
+
FTG.load_images();
|
1093 |
+
}
|
1094 |
+
}
|
1095 |
+
});
|
1096 |
+
break;
|
1097 |
+
}
|
1098 |
+
});
|
1099 |
+
$(".open-add-video").on("click", function(e) {
|
1100 |
+
e.preventDefault();
|
1101 |
+
$('#video-panel-action').val('add');
|
1102 |
+
$(".save", $panel).text("Save");
|
1103 |
+
$("#video-panel-model textarea").val("");
|
1104 |
+
var $panel = $("#video-panel-model"); //.clone().attr("id", "video-panel");
|
1105 |
+
|
1106 |
+
if ($('#video-panel-action').val('add')) {
|
1107 |
+
$('.video-filters', $panel).empty();
|
1108 |
+
}
|
1109 |
+
|
1110 |
+
$panel.show().openModal();
|
1111 |
+
|
1112 |
+
});
|
1113 |
+
|
1114 |
$(".open-media-panel").on("click", function(e) {
|
1115 |
e.preventDefault();
|
1116 |
var currentImageSize = $(".current-image-size").val();
|
1380 |
}
|
1381 |
}(jQuery);
|
1382 |
jQuery(function() {
|
1383 |
+
var $ = jQuery;
|
1384 |
+
$(".pickColor").wpColorPicker({
|
1385 |
+
change: function (event, ui) {
|
1386 |
+
var element = event.target;
|
1387 |
+
var color = ui.color.toString();
|
1388 |
+
|
1389 |
+
if($(element).parents(".field").hasClass("js-update-shortcode")) {
|
1390 |
+
var $input = $(element).parents(".field").find(".shortcode-val");
|
1391 |
+
var shortcode = $input.val().split("=");
|
1392 |
+
$input.val(shortcode[0] + '="' + color + '"');
|
1393 |
+
}
|
1394 |
+
},
|
1395 |
+
});
|
1396 |
FTG.init();
|
1397 |
FTGWizard.init();
|
1398 |
});
|
admin/support.php
CHANGED
@@ -5,35 +5,28 @@
|
|
5 |
|
6 |
<div class="container">
|
7 |
<div class="row">
|
8 |
-
<div class="section s12 m12 l12 col" id="support-page">
|
9 |
<p>
|
10 |
-
|
|
|
|
|
|
|
11 |
</p>
|
12 |
<ul>
|
13 |
-
<li><?php _e('URL of the page with the gallery;','final-tiles-gallery')
|
14 |
<li><?php _e('describe the problem you are experiencing;','final-tiles-gallery')?></li>
|
15 |
<li><?php _e('browser and operating system used.','final-tiles-gallery')?></li>
|
16 |
</ul>
|
17 |
<p>
|
18 |
-
<?php _e('Another great help from you would be doing a couple of tests, try these simple operations and let us know the results:','final-tiles-gallery')?>
|
19 |
</p>
|
20 |
<ul>
|
21 |
<li><?php _e("Switch to the default WordPress theme and look if the problem is still there, if not we'll already know that the problem is related to your theme and we can be faster solving the issue;",'final-tiles-gallery')?></li>
|
22 |
<li><?php _e('See if the problem is repeatable, also on another computers.','final-tiles-gallery')?></li>
|
23 |
</ul>
|
24 |
-
<p><strong><?php _e("The more complete these informations are, the faster we'll be our response",'final-tiles-gallery')?></strong
|
25 |
-
<p>
|
26 |
-
Write on our support <a href="https://wordpress.org/support/plugin/final-tiles-grid-gallery-lite" target="_bloank">forum</a>.<br>
|
27 |
-
We'll try to give you an answer as soon as we can.
|
28 |
-
</p>
|
29 |
-
<p>
|
30 |
-
If you're in a rush and need a priority and dedicated support then
|
31 |
-
please consider <a href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank">buying a license</a>. That will also extend your plugin
|
32 |
-
with a lot of new features.
|
33 |
-
</p>
|
34 |
<p class="buttons">
|
35 |
-
<a class="waves-effect waves-light btn" href="
|
36 |
-
<a class="waves-effect waves-light btn" href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank"><i class="mdi-content-send right"></i> <?php _e('Buy dedicated support + unlock features','final-tiles-gallery')?> </a>
|
37 |
</p>
|
38 |
</div>
|
39 |
</div>
|
5 |
|
6 |
<div class="container">
|
7 |
<div class="row">
|
8 |
+
<div class="section s12 m12 l12 col" id="support-page">
|
9 |
<p>
|
10 |
+
<strong><?php _e('Having problems with the plugin? No panic, our support is quite fast and reliable!','final-tiles-gallery')?></strong>
|
11 |
+
</p>
|
12 |
+
<p>
|
13 |
+
<?php _e('To get a fast solution you should fill a support ticket on our platform, before that')?> <strong><?php _e('prepare these basic but important informations','final-tiles-gallery')?></strong>:
|
14 |
</p>
|
15 |
<ul>
|
16 |
+
<li><?php _e('URL of the page with the gallery;','final-tiles-gallery')?></li>
|
17 |
<li><?php _e('describe the problem you are experiencing;','final-tiles-gallery')?></li>
|
18 |
<li><?php _e('browser and operating system used.','final-tiles-gallery')?></li>
|
19 |
</ul>
|
20 |
<p>
|
21 |
+
<?php _e('Another great help from you would be doing a couple of tests, try these simple operations and let us know the results:','final-tiles-gallery')?>
|
22 |
</p>
|
23 |
<ul>
|
24 |
<li><?php _e("Switch to the default WordPress theme and look if the problem is still there, if not we'll already know that the problem is related to your theme and we can be faster solving the issue;",'final-tiles-gallery')?></li>
|
25 |
<li><?php _e('See if the problem is repeatable, also on another computers.','final-tiles-gallery')?></li>
|
26 |
</ul>
|
27 |
+
<p><strong><?php _e("The more complete these informations are, the faster we'll be our response",'final-tiles-gallery')?></strong><?php _e('(time zone permitting), thanks!','final-tiles-gallery')?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
<p class="buttons">
|
29 |
+
<a class="right waves-effect waves-light btn" href="http://greentreelabs.ticksy.com" target="_blank"><i class="mdi-content-send right"></i> <?php _e('Go to GreenTreeLabs support platform','final-tiles-gallery')?> </a>
|
|
|
30 |
</p>
|
31 |
</div>
|
32 |
</div>
|
admin/tutorial/tutorial-add-image-size.png
ADDED
Binary file
|
admin/tutorial/tutorial-add-image.png
ADDED
Binary file
|
admin/tutorial/tutorial-add-page.jpg
ADDED
Binary file
|
admin/tutorial/tutorial-add.png
ADDED
Binary file
|
admin/tutorial/tutorial-dashboard.png
ADDED
Binary file
|
admin/tutorial/tutorial-edit-list.jpg
ADDED
Binary file
|
admin/tutorial/tutorial-image-added.jpg
ADDED
Binary file
|
admin/tutorial/tutorial-image-edit.jpg
ADDED
Binary file
|
admin/tutorial/tutorial-image-panel.JPG
ADDED
Binary file
|
admin/tutorial/tutorial-images-tab.png
ADDED
Binary file
|
admin/tutorial/tutorial-tabs.jpg
ADDED
Binary file
|
admin/upgrade.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<p>Redirecting...</p>
|
2 |
-
<script>
|
3 |
-
location.href = "http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351";
|
4 |
-
</script>
|
|
|
|
|
|
|
|
freemius/.codeclimate.yml
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
engines:
|
2 |
-
phpcodesniffer:
|
3 |
-
enabled: true
|
4 |
-
config:
|
5 |
-
standard: "WordPress"
|
6 |
-
checks:
|
7 |
-
Squiz Commenting InlineComment InvalidEndChar:
|
8 |
-
enabled: false
|
9 |
-
Squiz Commenting InlineComment SpacingBefore:
|
10 |
-
enabled: false
|
11 |
-
Squiz Commenting InlineComment WrongStyle:
|
12 |
-
enabled: false
|
13 |
-
Generic Commenting DocComment MissingShort:
|
14 |
-
enabled: false
|
15 |
-
Generic WhiteSpace ScopeIndent IncorrectExact:
|
16 |
-
enabled: false
|
17 |
-
ratings:
|
18 |
-
paths:
|
19 |
-
- "**.php"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
freemius/.github/ISSUE_TEMPLATE.md
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
**Actual Behavior**:
|
2 |
-
- `What is the issue? (*)`
|
3 |
-
- `What is the expected behavior?`
|
4 |
-
|
5 |
-
**Versions**: (*)
|
6 |
-
- `Freemius SDK Version:`
|
7 |
-
- `WordPress Version:`
|
8 |
-
- `PHP Version:`
|
9 |
-
|
10 |
-
**Plugin / Theme**: (*)
|
11 |
-
- `Name:`
|
12 |
-
- `Slug:`
|
13 |
-
- `Freemius ID:`
|
14 |
-
|
15 |
-
**Additional Information**:
|
16 |
-
- `Browser Type: (*)`
|
17 |
-
- `Browser Version: (*)`
|
18 |
-
- `OS: (*)`
|
19 |
-
- `Stack Traces:`
|
20 |
-
|
21 |
-
----
|
22 |
-
**Note:** `(*)` indicates required information. Without this information, your issue may be auto-closed.
|
23 |
-
|
24 |
-
> You can find your Freemius SDK version at `/freemius/start.php`
|
25 |
-
|
26 |
-
> You can find your Freemius product ID in the Freemius dashboard: `SETTINGS -> INTEGRATION`.
|
27 |
-
|
28 |
-
> Do not modify the titles or questions. Simply add your responses to the ends of the questions.
|
29 |
-
Add more lines if needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
freemius/.travis.yml
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
sudo: false
|
2 |
-
|
3 |
-
language: php
|
4 |
-
|
5 |
-
php:
|
6 |
-
- 5.3
|
7 |
-
- 5.4
|
8 |
-
- 5.5
|
9 |
-
- 5.6
|
10 |
-
- 7.0
|
11 |
-
- hhvm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
freemius/assets/css/admin/dialog-boxes.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
-
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
+
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}
|
freemius/assets/img/final-tiles-grid-gallery-lite.jpg
CHANGED
Binary file
|
freemius/assets/scss/_colors.scss
CHANGED
@@ -20,9 +20,6 @@ $fs-logo-blue-color: #29abe1;
|
|
20 |
$fs-logo-green-color: #71ae00;
|
21 |
$fs-logo-magenta-color: #d3135a;
|
22 |
|
23 |
-
$fs-notice-promotion-border-color: #00a0d2;
|
24 |
-
$fs-notice-promotion-bkg: #f2fcff;
|
25 |
-
|
26 |
// WordPress colors.
|
27 |
$page-header-bkg: #333;
|
28 |
$page-header-color: $fms-white;
|
@@ -30,6 +27,16 @@ $text-dark-color: #333;
|
|
30 |
$text-light-color: #666;
|
31 |
$text-lightest-color: #999;
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
// WP Buttons.
|
34 |
$button-primary-bkg: #6bc406;
|
35 |
$button-primary-color: $fms-white;
|
20 |
$fs-logo-green-color: #71ae00;
|
21 |
$fs-logo-magenta-color: #d3135a;
|
22 |
|
|
|
|
|
|
|
23 |
// WordPress colors.
|
24 |
$page-header-bkg: #333;
|
25 |
$page-header-color: $fms-white;
|
27 |
$text-light-color: #666;
|
28 |
$text-lightest-color: #999;
|
29 |
|
30 |
+
// Notices.
|
31 |
+
$wp-notice-success-color: #f7fff7;
|
32 |
+
$wp-notice-success-dark-color: #46b450;
|
33 |
+
$wp-notice-error-color: #ffeaea;
|
34 |
+
$wp-notice-error-dark-color: #dc3232;
|
35 |
+
$wp-notice-warn-color: #fff8e5;
|
36 |
+
$wp-notice-warn-dark-color: #ffb900;
|
37 |
+
$fs-notice-promotion-border-color: #00a0d2;
|
38 |
+
$fs-notice-promotion-bkg: #f2fcff;
|
39 |
+
|
40 |
// WP Buttons.
|
41 |
$button-primary-bkg: #6bc406;
|
42 |
$button-primary-color: $fms-white;
|
freemius/assets/scss/_load.scss
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
@import 'mixins';
|
2 |
-
@import "vars";
|
3 |
-
@import "functions";
|
4 |
-
@import "colors";
|
1 |
+
@import 'mixins';
|
2 |
+
@import "vars";
|
3 |
+
@import "functions";
|
4 |
+
@import "colors";
|
freemius/assets/scss/_mixins.scss
CHANGED
@@ -78,13 +78,13 @@ $useIEFilters: 0;
|
|
78 |
}
|
79 |
|
80 |
// requires sass 3.2
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
|
89 |
@mixin linear-gradient($from, $to, $ie: $useIEFilters) {
|
90 |
@if $ie != 1 { background-color: $to; }
|
@@ -192,6 +192,62 @@ $useIEFilters: 0;
|
|
192 |
transition: $value;
|
193 |
}
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
// ==== /CSS3 SASS MIXINS ====
|
196 |
|
197 |
@mixin opacity($opacity) {
|
78 |
}
|
79 |
|
80 |
// requires sass 3.2
|
81 |
+
@mixin keyframes($name){
|
82 |
+
@-moz-keyframes #{$name} { @content; }
|
83 |
+
@-ms-keyframes #{$name} { @content; }
|
84 |
+
@-o-keyframes #{$name} { @content; }
|
85 |
+
@-webkit-keyframes #{$name} { @content; }
|
86 |
+
@keyframes #{$name} { @content; }
|
87 |
+
}
|
88 |
|
89 |
@mixin linear-gradient($from, $to, $ie: $useIEFilters) {
|
90 |
@if $ie != 1 { background-color: $to; }
|
192 |
transition: $value;
|
193 |
}
|
194 |
|
195 |
+
@mixin animation($str) {
|
196 |
+
-webkit-animation: #{$str};
|
197 |
+
-moz-animation: #{$str};
|
198 |
+
-ms-animation: #{$str};
|
199 |
+
-o-animation: #{$str};
|
200 |
+
animation: #{$str};
|
201 |
+
}
|
202 |
+
|
203 |
+
@mixin animation-name($str) {
|
204 |
+
-webkit-animation-name: #{$str};
|
205 |
+
-moz-animation-name: #{$str};
|
206 |
+
-ms-animation-name: #{$str};
|
207 |
+
-o-animation-name: #{$str};
|
208 |
+
animation-name: #{$str};
|
209 |
+
}
|
210 |
+
|
211 |
+
@mixin animation-duration($str) {
|
212 |
+
-webkit-animation-duration: #{$str};
|
213 |
+
-moz-animation-duration: #{$str};
|
214 |
+
-ms-animation-duration: #{$str};
|
215 |
+
-o-animation-duration: #{$str};
|
216 |
+
animation-duration: #{$str};
|
217 |
+
}
|
218 |
+
|
219 |
+
@mixin animation-direction($str) {
|
220 |
+
-webkit-animation-direction: #{$str};
|
221 |
+
-moz-animation-direction: #{$str};
|
222 |
+
-ms-animation-direction: #{$str};
|
223 |
+
-o-animation-direction: #{$str};
|
224 |
+
animation-direction: #{$str};
|
225 |
+
}
|
226 |
+
|
227 |
+
@mixin animation-delay($str) {
|
228 |
+
animation-delay:#{$str};
|
229 |
+
-o-animation-delay:#{$str};
|
230 |
+
-ms-animation-delay:#{$str};
|
231 |
+
-webkit-animation-delay:#{$str};
|
232 |
+
-moz-animation-delay:#{$str};
|
233 |
+
}
|
234 |
+
|
235 |
+
@mixin animation-iteration-count($str) {
|
236 |
+
animation-iteration-count:#{$str};
|
237 |
+
-o-animation-iteration-count:#{$str};
|
238 |
+
-ms-animation-iteration-count:#{$str};
|
239 |
+
-webkit-animation-iteration-count:#{$str};
|
240 |
+
-moz-animation-iteration-count:#{$str};
|
241 |
+
}
|
242 |
+
|
243 |
+
@mixin animation-timing-function($str) {
|
244 |
+
-webkit-animation-timing-function: #{$str};
|
245 |
+
-moz-animation-timing-function: #{$str};
|
246 |
+
-ms-animation-timing-function: #{$str};
|
247 |
+
-o-animation-timing-function: #{$str};
|
248 |
+
animation-timing-function: #{$str};
|
249 |
+
}
|
250 |
+
|
251 |
// ==== /CSS3 SASS MIXINS ====
|
252 |
|
253 |
@mixin opacity($opacity) {
|
freemius/assets/scss/_start.scss
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
@import "vars";
|
2 |
-
@import "colors";
|
3 |
-
@import "mixins";
|
4 |
@import "functions";
|
1 |
+
@import "vars";
|
2 |
+
@import "colors";
|
3 |
+
@import "mixins";
|
4 |
@import "functions";
|
freemius/assets/scss/_vars.scss
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
$is_production: true;
|
2 |
-
|
3 |
-
$img_common: if($is_production == true, '//img.freemius.com', 'http://img.freemius:8080');
|
4 |
-
|
5 |
-
$layout_width: 960px;
|
6 |
$admin_mobile_max_width: 782px;
|
1 |
+
$is_production: true;
|
2 |
+
|
3 |
+
$img_common: if($is_production == true, '//img.freemius.com', 'http://img.freemius:8080');
|
4 |
+
|
5 |
+
$layout_width: 960px;
|
6 |
$admin_mobile_max_width: 782px;
|
freemius/assets/scss/admin/_ajax-loader.scss
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
$color: $wp-selected-color;
|
2 |
+
$bkg-color: #fff;
|
3 |
+
$size: 20;
|
4 |
+
|
5 |
+
.fs-ajax-loader
|
6 |
+
{
|
7 |
+
position: relative;
|
8 |
+
width: #{8*$size + 10}px;
|
9 |
+
height: #{$size}px;
|
10 |
+
margin: auto;
|
11 |
+
|
12 |
+
.fs-ajax-loader-bar
|
13 |
+
{
|
14 |
+
position: absolute;
|
15 |
+
top: 0;
|
16 |
+
background-color: $color;
|
17 |
+
width: #{$size}px;
|
18 |
+
height: #{$size}px;
|
19 |
+
@include animation-name(bounce_ajaxLoader);
|
20 |
+
@include animation-duration(1.5s);
|
21 |
+
@include animation-iteration-count(infinite);
|
22 |
+
@include animation-direction(normal);
|
23 |
+
@include transform(.3);
|
24 |
+
}
|
25 |
+
|
26 |
+
@for $i from 0 through 7
|
27 |
+
{
|
28 |
+
.fs-ajax-loader-bar-#{$i + 1}
|
29 |
+
{
|
30 |
+
left: #{$i*($size - 1)}px;
|
31 |
+
@include animation-delay(#{0.6 + $i*0.15}s);
|
32 |
+
}
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
@include keyframes(bounce_ajaxLoader)
|
37 |
+
{
|
38 |
+
0%
|
39 |
+
{
|
40 |
+
@include transform(scale(1));
|
41 |
+
background-color: $color;
|
42 |
+
}
|
43 |
+
|
44 |
+
100%
|
45 |
+
{
|
46 |
+
@include transform(scale(.3));
|
47 |
+
background-color: $bkg-color;
|
48 |
+
}
|
49 |
+
}
|
freemius/assets/scss/admin/_auto-install.scss
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.fs-modal-auto-install
|
2 |
+
{
|
3 |
+
$max-width: 300px;
|
4 |
+
|
5 |
+
#request-filesystem-credentials-form
|
6 |
+
{
|
7 |
+
h2,
|
8 |
+
.request-filesystem-credentials-action-buttons
|
9 |
+
{
|
10 |
+
display: none;
|
11 |
+
}
|
12 |
+
|
13 |
+
input[type=password],
|
14 |
+
input[type=email],
|
15 |
+
input[type=text]
|
16 |
+
{
|
17 |
+
-webkit-appearance: none;
|
18 |
+
padding: 10px 10px 5px 10px;
|
19 |
+
width: $max-width;
|
20 |
+
max-width: 100%;
|
21 |
+
}
|
22 |
+
|
23 |
+
> div,
|
24 |
+
label,
|
25 |
+
fieldset
|
26 |
+
{
|
27 |
+
width: $max-width;
|
28 |
+
max-width: 100%;
|
29 |
+
margin: 0 auto;
|
30 |
+
display: block;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
}
|
freemius/assets/scss/admin/_modal-common.scss
CHANGED
@@ -46,6 +46,37 @@
|
|
46 |
}
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
.fs-modal-body,
|
50 |
.fs-modal-footer {
|
51 |
border: 0;
|
46 |
}
|
47 |
}
|
48 |
|
49 |
+
&.fs-success {
|
50 |
+
.fs-modal-header {
|
51 |
+
border-bottom-color: $wp-notice-success-dark-color;
|
52 |
+
}
|
53 |
+
|
54 |
+
.fs-modal-body {
|
55 |
+
background-color: $wp-notice-success-color;
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
&.fs-warn {
|
60 |
+
.fs-modal-header {
|
61 |
+
border-bottom-color: $wp-notice-warn-dark-color;
|
62 |
+
}
|
63 |
+
|
64 |
+
.fs-modal-body {
|
65 |
+
background-color: $wp-notice-warn-color;
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
&.fs-error {
|
70 |
+
.fs-modal-header {
|
71 |
+
border-bottom-color: $wp-notice-error-dark-color;
|
72 |
+
}
|
73 |
+
|
74 |
+
.fs-modal-body {
|
75 |
+
background-color: $wp-notice-error-color;
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
|
80 |
.fs-modal-body,
|
81 |
.fs-modal-footer {
|
82 |
border: 0;
|
freemius/assets/scss/admin/connect.scss
CHANGED
@@ -1,471 +1,471 @@
|
|
1 |
-
@import "../start";
|
2 |
-
|
3 |
-
$form_width: 480px;
|
4 |
-
|
5 |
-
#fs_connect
|
6 |
-
{
|
7 |
-
width: $form_width;
|
8 |
-
@include box-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
|
9 |
-
margin: 20px 0;
|
10 |
-
|
11 |
-
@media screen and (max-width: ($form_width - 1)) {
|
12 |
-
@include box-shadow(none);
|
13 |
-
width: auto;
|
14 |
-
margin: 0 0 0 -10px;
|
15 |
-
}
|
16 |
-
|
17 |
-
.fs-content
|
18 |
-
{
|
19 |
-
background: #fff;
|
20 |
-
padding: 15px 20px;
|
21 |
-
|
22 |
-
.fs-error {
|
23 |
-
background: snow;
|
24 |
-
color: $fs-logo-magenta-color;
|
25 |
-
border: 1px solid $fs-logo-magenta-color;
|
26 |
-
@include box-shadow(0 1px 1px 0 rgba(0,0,0,.1));
|
27 |
-
text-align: center;
|
28 |
-
padding: 5px;
|
29 |
-
margin-bottom: 10px;
|
30 |
-
}
|
31 |
-
|
32 |
-
p
|
33 |
-
{
|
34 |
-
margin: 0;
|
35 |
-
padding: 0;
|
36 |
-
font-size: 1.2em;
|
37 |
-
}
|
38 |
-
}
|
39 |
-
|
40 |
-
.fs-license-key-container {
|
41 |
-
position: relative;
|
42 |
-
width: 280px;
|
43 |
-
margin: 10px auto 0 auto;
|
44 |
-
|
45 |
-
input {
|
46 |
-
width: 100%;
|
47 |
-
}
|
48 |
-
|
49 |
-
.dashicons {
|
50 |
-
position: absolute;
|
51 |
-
top: 5px;
|
52 |
-
right: 5px;
|
53 |
-
}
|
54 |
-
}
|
55 |
-
|
56 |
-
.fs-actions
|
57 |
-
{
|
58 |
-
padding: 10px 20px;
|
59 |
-
background: #C0C7CA;
|
60 |
-
|
61 |
-
.button
|
62 |
-
{
|
63 |
-
padding: 0 10px 1px;
|
64 |
-
line-height: 35px;
|
65 |
-
height: 37px;
|
66 |
-
font-size: 16px;
|
67 |
-
margin-bottom: 0;
|
68 |
-
|
69 |
-
.dashicons
|
70 |
-
{
|
71 |
-
font-size: 37px;
|
72 |
-
margin-left: -8px;
|
73 |
-
margin-right: 12px;
|
74 |
-
}
|
75 |
-
|
76 |
-
&.button-primary
|
77 |
-
{
|
78 |
-
padding-right: 15px;
|
79 |
-
padding-left: 15px;
|
80 |
-
|
81 |
-
&:after
|
82 |
-
{
|
83 |
-
content: ' \279C';
|
84 |
-
}
|
85 |
-
|
86 |
-
&.fs-loading
|
87 |
-
{
|
88 |
-
&:after
|
89 |
-
{
|
90 |
-
content: '';
|
91 |
-
}
|
92 |
-
}
|
93 |
-
}
|
94 |
-
|
95 |
-
&.button-secondary
|
96 |
-
{
|
97 |
-
float: right;
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
// .fs-skip
|
102 |
-
// {
|
103 |
-
// line-height: 38px;
|
104 |
-
// vertical-align: middle;
|
105 |
-
// text-decoration: none;
|
106 |
-
// margin-left: 10px;
|
107 |
-
// }
|
108 |
-
}
|
109 |
-
|
110 |
-
&.fs-anonymous-disabled
|
111 |
-
{
|
112 |
-
.fs-actions
|
113 |
-
{
|
114 |
-
.button.button-primary
|
115 |
-
{
|
116 |
-
width: 100%;
|
117 |
-
}
|
118 |
-
}
|
119 |
-
}
|
120 |
-
|
121 |
-
.fs-permissions
|
122 |
-
{
|
123 |
-
padding: 10px 20px;
|
124 |
-
background: #FEFEFE;
|
125 |
-
// background: #F1F1F1;
|
126 |
-
@include transition(background 0.5s ease);
|
127 |
-
|
128 |
-
.fs-license-sync-disclaimer {
|
129 |
-
text-align: center;
|
130 |
-
margin-top: 0;
|
131 |
-
}
|
132 |
-
|
133 |
-
.fs-trigger
|
134 |
-
{
|
135 |
-
font-size: 0.9em;
|
136 |
-
text-decoration: none;
|
137 |
-
text-align: center;
|
138 |
-
display: block;
|
139 |
-
}
|
140 |
-
|
141 |
-
ul
|
142 |
-
{
|
143 |
-
height: 0;
|
144 |
-
overflow: hidden;
|
145 |
-
margin: 0;
|
146 |
-
|
147 |
-
li
|
148 |
-
{
|
149 |
-
margin-bottom: 12px;
|
150 |
-
|
151 |
-
&:last-child
|
152 |
-
{
|
153 |
-
margin-bottom: 0;
|
154 |
-
}
|
155 |
-
|
156 |
-
i.dashicons
|
157 |
-
{
|
158 |
-
float: left;
|
159 |
-
font-size: 40px;
|
160 |
-
width: 40px;
|
161 |
-
height: 40px;
|
162 |
-
}
|
163 |
-
|
164 |
-
div
|
165 |
-
{
|
166 |
-
margin-left: 55px;
|
167 |
-
|
168 |
-
span
|
169 |
-
{
|
170 |
-
font-weight: bold;
|
171 |
-
text-transform: uppercase;
|
172 |
-
color: #23282d;
|
173 |
-
}
|
174 |
-
|
175 |
-
p
|
176 |
-
{
|
177 |
-
margin: 2px 0 0 0;
|
178 |
-
}
|
179 |
-
}
|
180 |
-
}
|
181 |
-
}
|
182 |
-
|
183 |
-
&.fs-open
|
184 |
-
{
|
185 |
-
background: #fff;
|
186 |
-
|
187 |
-
ul
|
188 |
-
{
|
189 |
-
height: auto;
|
190 |
-
margin: 20px 20px 10px 20px;
|
191 |
-
}
|
192 |
-
}
|
193 |
-
|
194 |
-
@media screen and (max-width: ($form_width - 1)) {
|
195 |
-
background: #fff;
|
196 |
-
|
197 |
-
.fs-trigger
|
198 |
-
{
|
199 |
-
display: none;
|
200 |
-
}
|
201 |
-
|
202 |
-
ul
|
203 |
-
{
|
204 |
-
height: auto;
|
205 |
-
margin: 20px;
|
206 |
-
}
|
207 |
-
}
|
208 |
-
}
|
209 |
-
|
210 |
-
.fs-freemium-licensing {
|
211 |
-
padding: 8px;
|
212 |
-
// background: #0085BA;
|
213 |
-
background: #777;
|
214 |
-
color: #fff;
|
215 |
-
|
216 |
-
p {
|
217 |
-
text-align: center;
|
218 |
-
display: block;
|
219 |
-
margin: 0;
|
220 |
-
padding: 0;
|
221 |
-
}
|
222 |
-
|
223 |
-
a {
|
224 |
-
color: #C2EEFF;
|
225 |
-
text-decoration: underline;
|
226 |
-
}
|
227 |
-
}
|
228 |
-
|
229 |
-
$icon_size: 80px;
|
230 |
-
$wp_logo_padding: $icon_size / 10;
|
231 |
-
$icons_top: 10px;
|
232 |
-
|
233 |
-
.fs-visual
|
234 |
-
{
|
235 |
-
padding: 12px;
|
236 |
-
line-height: 0;
|
237 |
-
background: #fafafa;
|
238 |
-
height: $icon_size;
|
239 |
-
position: relative;
|
240 |
-
|
241 |
-
.fs-site-icon
|
242 |
-
{
|
243 |
-
position: absolute;
|
244 |
-
left: 20px;
|
245 |
-
top: $icons_top;
|
246 |
-
}
|
247 |
-
|
248 |
-
.fs-connect-logo
|
249 |
-
{
|
250 |
-
position: absolute;
|
251 |
-
right: 20px;
|
252 |
-
top: $icons_top;
|
253 |
-
}
|
254 |
-
|
255 |
-
.fs-plugin-icon
|
256 |
-
{
|
257 |
-
position: absolute;
|
258 |
-
top: $icons_top;
|
259 |
-
left: 50%;
|
260 |
-
margin-left: - ($icon_size / 2);
|
261 |
-
}
|
262 |
-
|
263 |
-
.fs-plugin-icon,
|
264 |
-
.fs-site-icon,
|
265 |
-
img,
|
266 |
-
object
|
267 |
-
{
|
268 |
-
width: $icon_size;
|
269 |
-
height: $icon_size;
|
270 |
-
}
|
271 |
-
|
272 |
-
.dashicons-wordpress
|
273 |
-
{
|
274 |
-
font-size: $icon_size - ($wp_logo_padding * 2);
|
275 |
-
background: $wordpress_color;
|
276 |
-
color: #fff;
|
277 |
-
width: $icon_size - ($wp_logo_padding * 2);
|
278 |
-
height: $icon_size - ($wp_logo_padding * 2);
|
279 |
-
padding: $wp_logo_padding;
|
280 |
-
}
|
281 |
-
|
282 |
-
.dashicons-plus
|
283 |
-
{
|
284 |
-
position: absolute;
|
285 |
-
top: 50%;
|
286 |
-
font-size: 30px;
|
287 |
-
margin-top: -10px;
|
288 |
-
color: #bbb;
|
289 |
-
|
290 |
-
&.fs-first
|
291 |
-
{
|
292 |
-
left: 28%;
|
293 |
-
}
|
294 |
-
&.fs-second
|
295 |
-
{
|
296 |
-
left: 65%;
|
297 |
-
}
|
298 |
-
}
|
299 |
-
|
300 |
-
.fs-plugin-icon,
|
301 |
-
.fs-connect-logo,
|
302 |
-
.fs-site-icon
|
303 |
-
{
|
304 |
-
border: 1px solid #ccc;
|
305 |
-
padding: 1px;
|
306 |
-
background: #fff;
|
307 |
-
}
|
308 |
-
}
|
309 |
-
|
310 |
-
.fs-terms
|
311 |
-
{
|
312 |
-
text-align: center;
|
313 |
-
font-size: 0.85em;
|
314 |
-
padding: 5px;
|
315 |
-
background: rgba(0, 0, 0, 0.05);
|
316 |
-
|
317 |
-
&, a
|
318 |
-
{
|
319 |
-
color: #999;
|
320 |
-
}
|
321 |
-
|
322 |
-
a
|
323 |
-
{
|
324 |
-
text-decoration: none;
|
325 |
-
}
|
326 |
-
}
|
327 |
-
}
|
328 |
-
|
329 |
-
.rtl
|
330 |
-
{
|
331 |
-
#fs_connect
|
332 |
-
{
|
333 |
-
.fs-actions
|
334 |
-
{
|
335 |
-
padding: 10px 20px;
|
336 |
-
background: #C0C7CA;
|
337 |
-
|
338 |
-
.button
|
339 |
-
{
|
340 |
-
.dashicons
|
341 |
-
{
|
342 |
-
font-size: 37px;
|
343 |
-
margin-left: -8px;
|
344 |
-
margin-right: 12px;
|
345 |
-
}
|
346 |
-
|
347 |
-
&.button-primary
|
348 |
-
{
|
349 |
-
&:after
|
350 |
-
{
|
351 |
-
content: ' \000bb';
|
352 |
-
}
|
353 |
-
|
354 |
-
&.fs-loading
|
355 |
-
{
|
356 |
-
&:after
|
357 |
-
{
|
358 |
-
content: '';
|
359 |
-
}
|
360 |
-
}
|
361 |
-
}
|
362 |
-
|
363 |
-
&.button-secondary
|
364 |
-
{
|
365 |
-
float: left;
|
366 |
-
}
|
367 |
-
}
|
368 |
-
}
|
369 |
-
|
370 |
-
.fs-permissions
|
371 |
-
{
|
372 |
-
ul
|
373 |
-
{
|
374 |
-
li
|
375 |
-
{
|
376 |
-
div
|
377 |
-
{
|
378 |
-
margin-right: 55px;
|
379 |
-
margin-left: 0;
|
380 |
-
}
|
381 |
-
|
382 |
-
i.dashicons
|
383 |
-
{
|
384 |
-
float: right;
|
385 |
-
}
|
386 |
-
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
|
391 |
-
.fs-visual
|
392 |
-
{
|
393 |
-
.fs-site-icon
|
394 |
-
{
|
395 |
-
right: 20px;
|
396 |
-
left: auto;
|
397 |
-
}
|
398 |
-
|
399 |
-
.fs-connect-logo
|
400 |
-
{
|
401 |
-
right: auto;
|
402 |
-
left: 20px;
|
403 |
-
}
|
404 |
-
}
|
405 |
-
}
|
406 |
-
}
|
407 |
-
|
408 |
-
.wp-pointer-content
|
409 |
-
{
|
410 |
-
#fs_connect
|
411 |
-
{
|
412 |
-
margin: 0;
|
413 |
-
@include box-shadow(none);
|
414 |
-
}
|
415 |
-
}
|
416 |
-
|
417 |
-
.fs-opt-in-pointer
|
418 |
-
{
|
419 |
-
.wp-pointer-content
|
420 |
-
{
|
421 |
-
padding: 0;
|
422 |
-
}
|
423 |
-
|
424 |
-
&.wp-pointer-top
|
425 |
-
{
|
426 |
-
.wp-pointer-arrow
|
427 |
-
{
|
428 |
-
border-bottom-color: #dfdfdf;
|
429 |
-
}
|
430 |
-
.wp-pointer-arrow-inner
|
431 |
-
{
|
432 |
-
border-bottom-color: #fafafa;
|
433 |
-
}
|
434 |
-
}
|
435 |
-
|
436 |
-
&.wp-pointer-bottom
|
437 |
-
{
|
438 |
-
.wp-pointer-arrow
|
439 |
-
{
|
440 |
-
border-top-color: #dfdfdf;
|
441 |
-
}
|
442 |
-
.wp-pointer-arrow-inner
|
443 |
-
{
|
444 |
-
border-top-color: #fafafa;
|
445 |
-
}
|
446 |
-
}
|
447 |
-
|
448 |
-
&.wp-pointer-left
|
449 |
-
{
|
450 |
-
.wp-pointer-arrow
|
451 |
-
{
|
452 |
-
border-right-color: #dfdfdf;
|
453 |
-
}
|
454 |
-
.wp-pointer-arrow-inner
|
455 |
-
{
|
456 |
-
border-right-color: #fafafa;
|
457 |
-
}
|
458 |
-
}
|
459 |
-
|
460 |
-
&.wp-pointer-right
|
461 |
-
{
|
462 |
-
.wp-pointer-arrow
|
463 |
-
{
|
464 |
-
border-left-color: #dfdfdf;
|
465 |
-
}
|
466 |
-
.wp-pointer-arrow-inner
|
467 |
-
{
|
468 |
-
border-left-color: #fafafa;
|
469 |
-
}
|
470 |
-
}
|
471 |
-
}
|
1 |
+
@import "../start";
|
2 |
+
|
3 |
+
$form_width: 480px;
|
4 |
+
|
5 |
+
#fs_connect
|
6 |
+
{
|
7 |
+
width: $form_width;
|
8 |
+
@include box-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
|
9 |
+
margin: 20px 0;
|
10 |
+
|
11 |
+
@media screen and (max-width: ($form_width - 1)) {
|
12 |
+
@include box-shadow(none);
|
13 |
+
width: auto;
|
14 |
+
margin: 0 0 0 -10px;
|
15 |
+
}
|
16 |
+
|
17 |
+
.fs-content
|
18 |
+
{
|
19 |
+
background: #fff;
|
20 |
+
padding: 15px 20px;
|
21 |
+
|
22 |
+
.fs-error {
|
23 |
+
background: snow;
|
24 |
+
color: $fs-logo-magenta-color;
|
25 |
+
border: 1px solid $fs-logo-magenta-color;
|
26 |
+
@include box-shadow(0 1px 1px 0 rgba(0,0,0,.1));
|
27 |
+
text-align: center;
|
28 |
+
padding: 5px;
|
29 |
+
margin-bottom: 10px;
|
30 |
+
}
|
31 |
+
|
32 |
+
p
|
33 |
+
{
|
34 |
+
margin: 0;
|
35 |
+
padding: 0;
|
36 |
+
font-size: 1.2em;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
.fs-license-key-container {
|
41 |
+
position: relative;
|
42 |
+
width: 280px;
|
43 |
+
margin: 10px auto 0 auto;
|
44 |
+
|
45 |
+
input {
|
46 |
+
width: 100%;
|
47 |
+
}
|
48 |
+
|
49 |
+
.dashicons {
|
50 |
+
position: absolute;
|
51 |
+
top: 5px;
|
52 |
+
right: 5px;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
.fs-actions
|
57 |
+
{
|
58 |
+
padding: 10px 20px;
|
59 |
+
background: #C0C7CA;
|
60 |
+
|
61 |
+
.button
|
62 |
+
{
|
63 |
+
padding: 0 10px 1px;
|
64 |
+
line-height: 35px;
|
65 |
+
height: 37px;
|
66 |
+
font-size: 16px;
|
67 |
+
margin-bottom: 0;
|
68 |
+
|
69 |
+
.dashicons
|
70 |
+
{
|
71 |
+
font-size: 37px;
|
72 |
+
margin-left: -8px;
|
73 |
+
margin-right: 12px;
|
74 |
+
}
|
75 |
+
|
76 |
+
&.button-primary
|
77 |
+
{
|
78 |
+
padding-right: 15px;
|
79 |
+
padding-left: 15px;
|
80 |
+
|
81 |
+
&:after
|
82 |
+
{
|
83 |
+
content: ' \279C';
|
84 |
+
}
|
85 |
+
|
86 |
+
&.fs-loading
|
87 |
+
{
|
88 |
+
&:after
|
89 |
+
{
|
90 |
+
content: '';
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
&.button-secondary
|
96 |
+
{
|
97 |
+
float: right;
|
98 |
+
}
|
99 |
+
}
|
100 |
+
|
101 |
+
// .fs-skip
|
102 |
+
// {
|
103 |
+
// line-height: 38px;
|
104 |
+
// vertical-align: middle;
|
105 |
+
// text-decoration: none;
|
106 |
+
// margin-left: 10px;
|
107 |
+
// }
|
108 |
+
}
|
109 |
+
|
110 |
+
&.fs-anonymous-disabled
|
111 |
+
{
|
112 |
+
.fs-actions
|
113 |
+
{
|
114 |
+
.button.button-primary
|
115 |
+
{
|
116 |
+
width: 100%;
|
117 |
+
}
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
.fs-permissions
|
122 |
+
{
|
123 |
+
padding: 10px 20px;
|
124 |
+
background: #FEFEFE;
|
125 |
+
// background: #F1F1F1;
|
126 |
+
@include transition(background 0.5s ease);
|
127 |
+
|
128 |
+
.fs-license-sync-disclaimer {
|
129 |
+
text-align: center;
|
130 |
+
margin-top: 0;
|
131 |
+
}
|
132 |
+
|
133 |
+
.fs-trigger
|
134 |
+
{
|
135 |
+
font-size: 0.9em;
|
136 |
+
text-decoration: none;
|
137 |
+
text-align: center;
|
138 |
+
display: block;
|
139 |
+
}
|
140 |
+
|
141 |
+
ul
|
142 |
+
{
|
143 |
+
height: 0;
|
144 |
+
overflow: hidden;
|
145 |
+
margin: 0;
|
146 |
+
|
147 |
+
li
|
148 |
+
{
|
149 |
+
margin-bottom: 12px;
|
150 |
+
|
151 |
+
&:last-child
|
152 |
+
{
|
153 |
+
margin-bottom: 0;
|
154 |
+
}
|
155 |
+
|
156 |
+
i.dashicons
|
157 |
+
{
|
158 |
+
float: left;
|
159 |
+
font-size: 40px;
|
160 |
+
width: 40px;
|
161 |
+
height: 40px;
|
162 |
+
}
|
163 |
+
|
164 |
+
div
|
165 |
+
{
|
166 |
+
margin-left: 55px;
|
167 |
+
|
168 |
+
span
|
169 |
+
{
|
170 |
+
font-weight: bold;
|
171 |
+
text-transform: uppercase;
|
172 |
+
color: #23282d;
|
173 |
+
}
|
174 |
+
|
175 |
+
p
|
176 |
+
{
|
177 |
+
margin: 2px 0 0 0;
|
178 |
+
}
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
&.fs-open
|
184 |
+
{
|
185 |
+
background: #fff;
|
186 |
+
|
187 |
+
ul
|
188 |
+
{
|
189 |
+
height: auto;
|
190 |
+
margin: 20px 20px 10px 20px;
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
@media screen and (max-width: ($form_width - 1)) {
|
195 |
+
background: #fff;
|
196 |
+
|
197 |
+
.fs-trigger
|
198 |
+
{
|
199 |
+
display: none;
|
200 |
+
}
|
201 |
+
|
202 |
+
ul
|
203 |
+
{
|
204 |
+
height: auto;
|
205 |
+
margin: 20px;
|
206 |
+
}
|
207 |
+
}
|
208 |
+
}
|
209 |
+
|
210 |
+
.fs-freemium-licensing {
|
211 |
+
padding: 8px;
|
212 |
+
// background: #0085BA;
|
213 |
+
background: #777;
|
214 |
+
color: #fff;
|
215 |
+
|
216 |
+
p {
|
217 |
+
text-align: center;
|
218 |
+
display: block;
|
219 |
+
margin: 0;
|
220 |
+
padding: 0;
|
221 |
+
}
|
222 |
+
|
223 |
+
a {
|
224 |
+
color: #C2EEFF;
|
225 |
+
text-decoration: underline;
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
$icon_size: 80px;
|
230 |
+
$wp_logo_padding: $icon_size / 10;
|
231 |
+
$icons_top: 10px;
|
232 |
+
|
233 |
+
.fs-visual
|
234 |
+
{
|
235 |
+
padding: 12px;
|
236 |
+
line-height: 0;
|
237 |
+
background: #fafafa;
|
238 |
+
height: $icon_size;
|
239 |
+
position: relative;
|
240 |
+
|
241 |
+
.fs-site-icon
|
242 |
+
{
|
243 |
+
position: absolute;
|
244 |
+
left: 20px;
|
245 |
+
top: $icons_top;
|
246 |
+
}
|
247 |
+
|
248 |
+
.fs-connect-logo
|
249 |
+
{
|
250 |
+
position: absolute;
|
251 |
+
right: 20px;
|
252 |
+
top: $icons_top;
|
253 |
+
}
|
254 |
+
|
255 |
+
.fs-plugin-icon
|
256 |
+
{
|
257 |
+
position: absolute;
|
258 |
+
top: $icons_top;
|
259 |
+
left: 50%;
|
260 |
+
margin-left: - ($icon_size / 2);
|
261 |
+
}
|
262 |
+
|
263 |
+
.fs-plugin-icon,
|
264 |
+
.fs-site-icon,
|
265 |
+
img,
|
266 |
+
object
|
267 |
+
{
|
268 |
+
width: $icon_size;
|
269 |
+
height: $icon_size;
|
270 |
+
}
|
271 |
+
|
272 |
+
.dashicons-wordpress
|
273 |
+
{
|
274 |
+
font-size: $icon_size - ($wp_logo_padding * 2);
|
275 |
+
background: $wordpress_color;
|
276 |
+
color: #fff;
|
277 |
+
width: $icon_size - ($wp_logo_padding * 2);
|
278 |
+
height: $icon_size - ($wp_logo_padding * 2);
|
279 |
+
padding: $wp_logo_padding;
|
280 |
+
}
|
281 |
+
|
282 |
+
.dashicons-plus
|
283 |
+
{
|
284 |
+
position: absolute;
|
285 |
+
top: 50%;
|
286 |
+
font-size: 30px;
|
287 |
+
margin-top: -10px;
|
288 |
+
color: #bbb;
|
289 |
+
|
290 |
+
&.fs-first
|
291 |
+
{
|
292 |
+
left: 28%;
|
293 |
+
}
|
294 |
+
&.fs-second
|
295 |
+
{
|
296 |
+
left: 65%;
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
.fs-plugin-icon,
|
301 |
+
.fs-connect-logo,
|
302 |
+
.fs-site-icon
|
303 |
+
{
|
304 |
+
border: 1px solid #ccc;
|
305 |
+
padding: 1px;
|
306 |
+
background: #fff;
|
307 |
+
}
|
308 |
+
}
|
309 |
+
|
310 |
+
.fs-terms
|
311 |
+
{
|
312 |
+
text-align: center;
|
313 |
+
font-size: 0.85em;
|
314 |
+
padding: 5px;
|
315 |
+
background: rgba(0, 0, 0, 0.05);
|
316 |
+
|
317 |
+
&, a
|
318 |
+
{
|
319 |
+
color: #999;
|
320 |
+
}
|
321 |
+
|
322 |
+
a
|
323 |
+
{
|
324 |
+
text-decoration: none;
|
325 |
+
}
|
326 |
+
}
|
327 |
+
}
|
328 |
+
|
329 |
+
.rtl
|
330 |
+
{
|
331 |
+
#fs_connect
|
332 |
+
{
|
333 |
+
.fs-actions
|
334 |
+
{
|
335 |
+
padding: 10px 20px;
|
336 |
+
background: #C0C7CA;
|
337 |
+
|
338 |
+
.button
|
339 |
+
{
|
340 |
+
.dashicons
|
341 |
+
{
|
342 |
+
font-size: 37px;
|
343 |
+
margin-left: -8px;
|
344 |
+
margin-right: 12px;
|
345 |
+
}
|
346 |
+
|
347 |
+
&.button-primary
|
348 |
+
{
|
349 |
+
&:after
|
350 |
+
{
|
351 |
+
content: ' \000bb';
|
352 |
+
}
|
353 |
+
|
354 |
+
&.fs-loading
|
355 |
+
{
|
356 |
+
&:after
|
357 |
+
{
|
358 |
+
content: '';
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
|
363 |
+
&.button-secondary
|
364 |
+
{
|
365 |
+
float: left;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
}
|
369 |
+
|
370 |
+
.fs-permissions
|
371 |
+
{
|
372 |
+
ul
|
373 |
+
{
|
374 |
+
li
|
375 |
+
{
|
376 |
+
div
|
377 |
+
{
|
378 |
+
margin-right: 55px;
|
379 |
+
margin-left: 0;
|
380 |
+
}
|
381 |
+
|
382 |
+
i.dashicons
|
383 |
+
{
|
384 |
+
float: right;
|
385 |
+
}
|
386 |
+
|
387 |
+
}
|
388 |
+
}
|
389 |
+
}
|
390 |
+
|
391 |
+
.fs-visual
|
392 |
+
{
|
393 |
+
.fs-site-icon
|
394 |
+
{
|
395 |
+
right: 20px;
|
396 |
+
left: auto;
|
397 |
+
}
|
398 |
+
|
399 |
+
.fs-connect-logo
|
400 |
+
{
|
401 |
+
right: auto;
|
402 |
+
left: 20px;
|
403 |
+
}
|
404 |
+
}
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
.wp-pointer-content
|
409 |
+
{
|
410 |
+
#fs_connect
|
411 |
+
{
|
412 |
+
margin: 0;
|
413 |
+
@include box-shadow(none);
|
414 |
+
}
|
415 |
+
}
|
416 |
+
|
417 |
+
.fs-opt-in-pointer
|
418 |
+
{
|
419 |
+
.wp-pointer-content
|
420 |
+
{
|
421 |
+
padding: 0;
|
422 |
+
}
|
423 |
+
|
424 |
+
&.wp-pointer-top
|
425 |
+
{
|
426 |
+
.wp-pointer-arrow
|
427 |
+
{
|
428 |
+
border-bottom-color: #dfdfdf;
|
429 |
+
}
|
430 |
+
.wp-pointer-arrow-inner
|
431 |
+
{
|
432 |
+
border-bottom-color: #fafafa;
|
433 |
+
}
|
434 |
+
}
|
435 |
+
|
436 |
+
&.wp-pointer-bottom
|
437 |
+
{
|
438 |
+
.wp-pointer-arrow
|
439 |
+
{
|
440 |
+
border-top-color: #dfdfdf;
|
441 |
+
}
|
442 |
+
.wp-pointer-arrow-inner
|
443 |
+
{
|
444 |
+
border-top-color: #fafafa;
|
445 |
+
}
|
446 |
+
}
|
447 |
+
|
448 |
+
&.wp-pointer-left
|
449 |
+
{
|
450 |
+
.wp-pointer-arrow
|
451 |
+
{
|
452 |
+
border-right-color: #dfdfdf;
|
453 |
+
}
|
454 |
+
.wp-pointer-arrow-inner
|
455 |
+
{
|
456 |
+
border-right-color: #fafafa;
|
457 |
+
}
|
458 |
+
}
|
459 |
+
|
460 |
+
&.wp-pointer-right
|
461 |
+
{
|
462 |
+
.wp-pointer-arrow
|
463 |
+
{
|
464 |
+
border-left-color: #dfdfdf;
|
465 |
+
}
|
466 |
+
.wp-pointer-arrow-inner
|
467 |
+
{
|
468 |
+
border-left-color: #fafafa;
|
469 |
+
}
|
470 |
+
}
|
471 |
+
}
|
freemius/assets/scss/admin/dialog-boxes.scss
CHANGED
@@ -2,4 +2,6 @@
|
|
2 |
@import "modal-common";
|
3 |
@import "deactivation-feedback";
|
4 |
@import "license-activation";
|
5 |
-
@import "license-key-resend";
|
|
|
|
2 |
@import "modal-common";
|
3 |
@import "deactivation-feedback";
|
4 |
@import "license-activation";
|
5 |
+
@import "license-key-resend";
|
6 |
+
@import "ajax-loader";
|
7 |
+
@import "auto-install";
|
freemius/composer.json
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "freemius/wordpress-sdk",
|
3 |
-
"description": "Freemius WordPress SDK",
|
4 |
-
"keywords": ["freemius", "wordpress", "plugin", "sdk"],
|
5 |
-
"homepage": "https://freemius.com",
|
6 |
-
"license": "GPL-2.0+",
|
7 |
-
"require": {
|
8 |
-
"php": ">=5.2"
|
9 |
-
}
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
freemius/config.php
CHANGED
@@ -249,6 +249,14 @@
|
|
249 |
}
|
250 |
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
/**
|
253 |
* Billing Frequencies
|
254 |
*/
|
249 |
}
|
250 |
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
251 |
|
252 |
+
/**
|
253 |
+
* Module types
|
254 |
+
*
|
255 |
+
* @since 1.2.2
|
256 |
+
*/
|
257 |
+
define( 'WP_FS__MODULE_TYPE_PLUGIN', 'plugin' );
|
258 |
+
define( 'WP_FS__MODULE_TYPE_THEME', 'theme' );
|
259 |
+
|
260 |
/**
|
261 |
* Billing Frequencies
|
262 |
*/
|
freemius/gulpfile.js
DELETED
@@ -1,58 +0,0 @@
|
|
1 |
-
var gulp = require('gulp');
|
2 |
-
var wpPot = require('gulp-wp-pot');
|
3 |
-
var gettext = require('gulp-gettext');
|
4 |
-
var sort = require('gulp-sort');
|
5 |
-
var pofill = require('gulp-pofill');
|
6 |
-
var rename = require('gulp-rename');
|
7 |
-
|
8 |
-
gulp.task('default', function () {
|
9 |
-
// Create POT out of i18n.php.
|
10 |
-
gulp.src('includes/i18n.php')
|
11 |
-
.pipe(sort())
|
12 |
-
.pipe(wpPot( {
|
13 |
-
destFile:'freemius.pot',
|
14 |
-
package: 'freemius',
|
15 |
-
bugReport: 'https://github.com/Freemius/wordpress-sdk/issues',
|
16 |
-
lastTranslator: 'Vova Feldman <vova@freemius.com>',
|
17 |
-
team: 'Freemius Team <admin@freemius.com>',
|
18 |
-
gettextFunctions: [
|
19 |
-
{name: '_fs_text'},
|
20 |
-
{name: '_fs_echo'},
|
21 |
-
{name: '_fs_esc_attr'},
|
22 |
-
{name: '_fs_esc_attr_echo'},
|
23 |
-
{name: '_fs_esc_html'},
|
24 |
-
{name: '_fs_esc_html_echo'},
|
25 |
-
{name: '_fs_x', context: 2},
|
26 |
-
{name: '_fs_ex', context: 2},
|
27 |
-
{name: '_fs_esc_attr_x', context: 2},
|
28 |
-
{name: '_fs_esc_html_x', context: 2},
|
29 |
-
{name: '_fs_n', plural: 2},
|
30 |
-
{name: '_fs_n_noop', plural: 2},
|
31 |
-
{name: '_fs_nx', plural: 2, context: 4},
|
32 |
-
{name: '_fs_nx_noop', plural: 2, context: 3}
|
33 |
-
]
|
34 |
-
} ))
|
35 |
-
.pipe(gulp.dest('languages/freemius.pot'));
|
36 |
-
|
37 |
-
// Create English PO out of the POT.
|
38 |
-
gulp.src('languages/freemius.pot')
|
39 |
-
.pipe(pofill({
|
40 |
-
items: function(item) {
|
41 |
-
// If msgstr is empty, use identity translation
|
42 |
-
if (!item.msgstr.length) {
|
43 |
-
item.msgstr = [''];
|
44 |
-
}
|
45 |
-
if (!item.msgstr[0]) {
|
46 |
-
item.msgstr[0] = item.msgid;
|
47 |
-
}
|
48 |
-
return item;
|
49 |
-
}
|
50 |
-
}))
|
51 |
-
.pipe(rename('freemius-en.po'))
|
52 |
-
.pipe(gulp.dest('languages/'));
|
53 |
-
|
54 |
-
// Compile POs to MOs.
|
55 |
-
gulp.src('languages/*.po')
|
56 |
-
.pipe(gettext())
|
57 |
-
.pipe(gulp.dest('languages/'))
|
58 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
freemius/includes/class-freemius-abstract.php
CHANGED
@@ -28,7 +28,13 @@
|
|
28 |
#----------------------------------------------------------------------------------
|
29 |
|
30 |
/**
|
31 |
-
* Check if user
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
*
|
33 |
* @since 1.0.1
|
34 |
* @return bool
|
@@ -117,6 +123,34 @@
|
|
117 |
|
118 |
#endregion
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
#----------------------------------------------------------------------------------
|
121 |
#region Permissions
|
122 |
#----------------------------------------------------------------------------------
|
@@ -442,6 +476,16 @@
|
|
442 |
$this->has_free_plan();
|
443 |
}
|
444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
445 |
#endregion
|
446 |
|
447 |
/**
|
28 |
#----------------------------------------------------------------------------------
|
29 |
|
30 |
/**
|
31 |
+
* Check if user has connected his account (opted-in).
|
32 |
+
*
|
33 |
+
* Note:
|
34 |
+
* If the user opted-in and opted-out on a later stage,
|
35 |
+
* this will still return true. If you want to check if the
|
36 |
+
* user is currently opted-in, use:
|
37 |
+
* `$fs->is_registered() && $fs->is_tracking_allowed()`
|
38 |
*
|
39 |
* @since 1.0.1
|
40 |
* @return bool
|
123 |
|
124 |
#endregion
|
125 |
|
126 |
+
#----------------------------------------------------------------------------------
|
127 |
+
#region Module Type
|
128 |
+
#----------------------------------------------------------------------------------
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Checks if the plugin's type is "plugin". The other type is "theme".
|
132 |
+
*
|
133 |
+
* @author Leo Fajardo (@leorw)
|
134 |
+
* @since 1.2.2
|
135 |
+
*
|
136 |
+
* @return bool
|
137 |
+
*/
|
138 |
+
abstract function is_plugin();
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Checks if the module type is "theme". The other type is "plugin".
|
142 |
+
*
|
143 |
+
* @author Leo Fajardo (@leorw)
|
144 |
+
* @since 1.2.2
|
145 |
+
*
|
146 |
+
* @return bool
|
147 |
+
*/
|
148 |
+
function is_theme() {
|
149 |
+
return ( ! $this->is_plugin() );
|
150 |
+
}
|
151 |
+
|
152 |
+
#endregion
|
153 |
+
|
154 |
#----------------------------------------------------------------------------------
|
155 |
#region Permissions
|
156 |
#----------------------------------------------------------------------------------
|
476 |
$this->has_free_plan();
|
477 |
}
|
478 |
|
479 |
+
/**
|
480 |
+
* Check if module has only one plan.
|
481 |
+
*
|
482 |
+
* @author Vova Feldman (@svovaf)
|
483 |
+
* @since 1.2.1.7
|
484 |
+
*
|
485 |
+
* @return bool
|
486 |
+
*/
|
487 |
+
abstract function is_single_plan();
|
488 |
+
|
489 |
#endregion
|
490 |
|
491 |
/**
|
freemius/includes/class-freemius.php
CHANGED
@@ -335,6 +335,45 @@
|
|
335 |
$this->_version_updates_handler();
|
336 |
}
|
337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
/**
|
339 |
* @author Vova Feldman (@svovaf)
|
340 |
* @since 1.0.9
|
@@ -527,6 +566,11 @@
|
|
527 |
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
528 |
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
529 |
|
|
|
|
|
|
|
|
|
|
|
530 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
531 |
|
532 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
@@ -634,7 +678,7 @@
|
|
634 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
635 |
$plugin_main_file = $this->_storage->plugin_main_file;
|
636 |
if ( isset( $plugin_main_file->path ) && file_exists( $plugin_main_file->path ) ) {
|
637 |
-
return $
|
638 |
}
|
639 |
}
|
640 |
|
@@ -659,8 +703,9 @@
|
|
659 |
}
|
660 |
|
661 |
wp_die(
|
662 |
-
|
663 |
-
|
|
|
664 |
array( 'back_link' => true )
|
665 |
);
|
666 |
}
|
@@ -671,7 +716,8 @@
|
|
671 |
* Only the original instantiator that calls dynamic_init can modify the module's path.
|
672 |
*/
|
673 |
// Find caller module.
|
674 |
-
$
|
|
|
675 |
|
676 |
$this->_storage->plugin_main_file = (object) array(
|
677 |
'path' => fs_normalize_path( $plugin_file ),
|
@@ -680,6 +726,97 @@
|
|
680 |
return $plugin_file;
|
681 |
}
|
682 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
683 |
|
684 |
#----------------------------------------------------------------------------------
|
685 |
#region Deactivation Feedback Form
|
@@ -761,21 +898,21 @@
|
|
761 |
|
762 |
$reason_found_better_plugin = array(
|
763 |
'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
|
764 |
-
'text' =>
|
765 |
'input_type' => 'textfield',
|
766 |
-
'input_placeholder' =>
|
767 |
);
|
768 |
|
769 |
$reason_temporary_deactivation = array(
|
770 |
'id' => self::REASON_TEMPORARY_DEACTIVATION,
|
771 |
-
'text' =>
|
772 |
'input_type' => '',
|
773 |
'input_placeholder' => ''
|
774 |
);
|
775 |
|
776 |
$reason_other = array(
|
777 |
'id' => self::REASON_OTHER,
|
778 |
-
'text' =>
|
779 |
'input_type' => 'textfield',
|
780 |
'input_placeholder' => ''
|
781 |
);
|
@@ -783,27 +920,27 @@
|
|
783 |
$long_term_user_reasons = array(
|
784 |
array(
|
785 |
'id' => self::REASON_NO_LONGER_NEEDED,
|
786 |
-
'text' =>
|
787 |
'input_type' => '',
|
788 |
'input_placeholder' => ''
|
789 |
),
|
790 |
$reason_found_better_plugin,
|
791 |
array(
|
792 |
'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
|
793 |
-
'text' =>
|
794 |
'input_type' => '',
|
795 |
'input_placeholder' => ''
|
796 |
),
|
797 |
array(
|
798 |
'id' => self::REASON_BROKE_MY_SITE,
|
799 |
-
'text' =>
|
800 |
'input_type' => '',
|
801 |
'input_placeholder' => '',
|
802 |
'internal_message' => $contact_support_template
|
803 |
),
|
804 |
array(
|
805 |
'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
|
806 |
-
'text' =>
|
807 |
'input_type' => '',
|
808 |
'input_placeholder' => '',
|
809 |
'internal_message' => $contact_support_template
|
@@ -813,15 +950,15 @@
|
|
813 |
if ( $this->is_paying() ) {
|
814 |
$long_term_user_reasons[] = array(
|
815 |
'id' => self::REASON_CANT_PAY_ANYMORE,
|
816 |
-
'text' =>
|
817 |
'input_type' => 'textfield',
|
818 |
-
'input_placeholder' =>
|
819 |
);
|
820 |
}
|
821 |
|
822 |
$reason_dont_share_info = array(
|
823 |
'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
|
824 |
-
'text' =>
|
825 |
'input_type' => '',
|
826 |
'input_placeholder' => ''
|
827 |
);
|
@@ -842,7 +979,7 @@
|
|
842 |
'non-registered-and-non-anonymous-short-term' => array(
|
843 |
array(
|
844 |
'id' => self::REASON_DIDNT_WORK,
|
845 |
-
'text' =>
|
846 |
'input_type' => '',
|
847 |
'input_placeholder' => ''
|
848 |
),
|
@@ -852,7 +989,7 @@
|
|
852 |
'short-term' => array(
|
853 |
array(
|
854 |
'id' => self::REASON_COULDNT_MAKE_IT_WORK,
|
855 |
-
'text' =>
|
856 |
'input_type' => '',
|
857 |
'input_placeholder' => '',
|
858 |
'internal_message' => $contact_support_template
|
@@ -860,27 +997,27 @@
|
|
860 |
$reason_found_better_plugin,
|
861 |
array(
|
862 |
'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
|
863 |
-
'text' =>
|
864 |
'input_type' => 'textarea',
|
865 |
-
'input_placeholder' =>
|
866 |
),
|
867 |
array(
|
868 |
'id' => self::REASON_NOT_WORKING,
|
869 |
-
'text' =>
|
870 |
'input_type' => 'textarea',
|
871 |
-
'input_placeholder' =>
|
872 |
),
|
873 |
array(
|
874 |
'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
|
875 |
-
'text' =>
|
876 |
'input_type' => 'textarea',
|
877 |
-
'input_placeholder' =>
|
878 |
),
|
879 |
array(
|
880 |
'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
|
881 |
-
'text' =>
|
882 |
'input_type' => 'textarea',
|
883 |
-
'input_placeholder' =>
|
884 |
)
|
885 |
)
|
886 |
);
|
@@ -904,6 +1041,10 @@
|
|
904 |
* @since 1.1.2
|
905 |
*/
|
906 |
function _submit_uninstall_reason_action() {
|
|
|
|
|
|
|
|
|
907 |
$reason_id = fs_request_get( 'reason_id' );
|
908 |
|
909 |
// Check if the given reason ID is an unsigned integer.
|
@@ -944,9 +1085,13 @@
|
|
944 |
* @param string $slug
|
945 |
* @param bool $is_init Is initiation sequence.
|
946 |
*
|
947 |
-
* @return Freemius
|
948 |
*/
|
949 |
static function instance( $slug, $is_init = false ) {
|
|
|
|
|
|
|
|
|
950 |
$slug = strtolower( $slug );
|
951 |
|
952 |
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
@@ -978,7 +1123,7 @@
|
|
978 |
* @author Vova Feldman (@svovaf)
|
979 |
* @since 1.0.6
|
980 |
*
|
981 |
-
* @param $id
|
982 |
*
|
983 |
* @return false|Freemius
|
984 |
*/
|
@@ -1023,7 +1168,7 @@
|
|
1023 |
* @author Vova Feldman (@svovaf)
|
1024 |
* @since 1.0.6
|
1025 |
*
|
1026 |
-
* @param $slug_or_id
|
1027 |
*
|
1028 |
* @return bool|Freemius
|
1029 |
*/
|
@@ -1081,6 +1226,68 @@
|
|
1081 |
);
|
1082 |
}
|
1083 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1084 |
/**
|
1085 |
* Get collection of all active plugins.
|
1086 |
*
|
@@ -1213,12 +1420,16 @@
|
|
1213 |
// Configure which Freemius powered plugins should be auto updated.
|
1214 |
// add_filter( 'auto_update_plugin', '_include_plugins_in_auto_update', 10, 2 );
|
1215 |
|
1216 |
-
add_action( 'admin_menu', array( 'Freemius', '
|
1217 |
|
1218 |
add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) );
|
1219 |
|
1220 |
self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) );
|
1221 |
|
|
|
|
|
|
|
|
|
1222 |
add_action( 'plugins_loaded', array( 'Freemius', '_load_textdomain' ), 1 );
|
1223 |
|
1224 |
self::$_statics_loaded = true;
|
@@ -1241,13 +1452,12 @@
|
|
1241 |
|
1242 |
global $fs_active_plugins;
|
1243 |
|
|
|
1244 |
load_plugin_textdomain(
|
1245 |
'freemius',
|
1246 |
false,
|
1247 |
$fs_active_plugins->newest->sdk_path . '/languages/'
|
1248 |
);
|
1249 |
-
|
1250 |
-
// @todo Load for themes.
|
1251 |
}
|
1252 |
|
1253 |
#endregion
|
@@ -1260,20 +1470,20 @@
|
|
1260 |
* @author Vova Feldman (@svovaf)
|
1261 |
* @since 1.0.8
|
1262 |
*/
|
1263 |
-
static function
|
1264 |
if ( ! current_user_can( 'activate_plugins' ) ) {
|
1265 |
return;
|
1266 |
}
|
1267 |
|
1268 |
self::$_static_logger->entrance();
|
1269 |
|
1270 |
-
$title = sprintf( '%s [v.%s]',
|
1271 |
|
1272 |
$hook = null;
|
1273 |
|
1274 |
if ( WP_FS__DEV_MODE ) {
|
1275 |
// Add top-level debug menu item.
|
1276 |
-
$hook =
|
1277 |
$title,
|
1278 |
$title,
|
1279 |
'manage_options',
|
@@ -1283,7 +1493,7 @@
|
|
1283 |
} else {
|
1284 |
if ( 'freemius' === fs_request_get( 'page' ) ) {
|
1285 |
// Add hidden debug page.
|
1286 |
-
$hook =
|
1287 |
null,
|
1288 |
$title,
|
1289 |
$title,
|
@@ -1304,11 +1514,13 @@
|
|
1304 |
* @since 1.1.7.3
|
1305 |
*/
|
1306 |
static function _toggle_debug_mode() {
|
1307 |
-
|
1308 |
-
|
|
|
|
|
1309 |
|
1310 |
// Turn on/off storage logging.
|
1311 |
-
FS_Logger::_set_storage_logging( ( 1 == $
|
1312 |
}
|
1313 |
|
1314 |
exit;
|
@@ -1320,7 +1532,7 @@
|
|
1320 |
*/
|
1321 |
static function _get_debug_log() {
|
1322 |
$logs = FS_Logger::load_db_logs(
|
1323 |
-
|
1324 |
! empty( $_POST['limit'] ) && is_numeric( $_POST['limit'] ) ? $_POST['limit'] : 200,
|
1325 |
! empty( $_POST['offset'] ) && is_numeric( $_POST['offset'] ) ? $_POST['offset'] : 0
|
1326 |
);
|
@@ -1328,6 +1540,46 @@
|
|
1328 |
self::shoot_ajax_success( $logs );
|
1329 |
}
|
1330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1331 |
/**
|
1332 |
* @author Vova Feldman (@svovaf)
|
1333 |
* @since 1.0.8
|
@@ -1358,7 +1610,7 @@
|
|
1358 |
check_admin_referer( 'download_logs' );
|
1359 |
|
1360 |
$download_url = FS_Logger::download_db_logs(
|
1361 |
-
|
1362 |
);
|
1363 |
|
1364 |
if ( false === $download_url ) {
|
@@ -1376,21 +1628,12 @@
|
|
1376 |
static function _debug_page_render() {
|
1377 |
self::$_static_logger->entrance();
|
1378 |
|
1379 |
-
$sites = self::get_all_sites();
|
1380 |
-
$users = self::get_all_users();
|
1381 |
-
$addons = self::get_all_addons();
|
1382 |
-
$account_addons = self::get_all_account_addons();
|
1383 |
-
$licenses = self::get_all_licenses();
|
1384 |
-
|
1385 |
-
// $plans = self::get_all_plans();
|
1386 |
-
// $licenses = self::get_all_licenses();
|
1387 |
-
|
1388 |
$vars = array(
|
1389 |
-
'sites' =>
|
1390 |
-
'users' =>
|
1391 |
-
'addons' =>
|
1392 |
-
'account_addons' =>
|
1393 |
-
'licenses' =>
|
1394 |
);
|
1395 |
|
1396 |
fs_enqueue_local_style( 'fs_debug', '/admin/debug.css' );
|
@@ -1705,102 +1948,128 @@
|
|
1705 |
) {
|
1706 |
switch ( $api_result->error->code ) {
|
1707 |
case 'curl_missing':
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1708 |
$message = sprintf(
|
1709 |
-
|
1710 |
-
|
|
|
1711 |
' %s',
|
1712 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1713 |
sprintf(
|
1714 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1715 |
sprintf(
|
1716 |
'<a class="fs-resolve" data-type="curl" href="#"><b>%s</b></a>%s',
|
1717 |
-
|
1718 |
' - ' . sprintf(
|
1719 |
-
|
1720 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1721 |
)
|
1722 |
),
|
1723 |
sprintf(
|
1724 |
'<b>%s</b> - %s',
|
1725 |
-
|
1726 |
-
|
1727 |
),
|
1728 |
sprintf(
|
1729 |
'<a href="%s"><b>%s</b></a>%s',
|
1730 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1731 |
-
|
1732 |
-
' - ' .
|
1733 |
)
|
1734 |
)
|
1735 |
);
|
1736 |
break;
|
1737 |
case 'cloudflare_ddos_protection':
|
1738 |
$message = sprintf(
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
' %s',
|
1743 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1744 |
sprintf(
|
1745 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1746 |
sprintf(
|
1747 |
'<a class="fs-resolve" data-type="cloudflare" href="#"><b>%s</b></a>%s',
|
1748 |
-
|
1749 |
' - ' . sprintf(
|
1750 |
-
|
1751 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1752 |
)
|
1753 |
),
|
1754 |
sprintf(
|
1755 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
1756 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
1757 |
-
|
1758 |
-
' - ' .
|
1759 |
),
|
1760 |
sprintf(
|
1761 |
'<a href="%s"><b>%s</b></a>%s',
|
1762 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1763 |
-
|
1764 |
-
' - ' .
|
1765 |
)
|
1766 |
)
|
1767 |
);
|
1768 |
break;
|
1769 |
case 'squid_cache_block':
|
1770 |
$message = sprintf(
|
1771 |
-
|
1772 |
-
|
1773 |
' %s',
|
1774 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1775 |
sprintf(
|
1776 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1777 |
sprintf(
|
1778 |
'<a class="fs-resolve" data-type="squid" href="#"><b>%s</b></a>%s',
|
1779 |
-
|
1780 |
' - ' . sprintf(
|
1781 |
-
|
1782 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1783 |
)
|
1784 |
),
|
1785 |
sprintf(
|
1786 |
'<b>%s</b> - %s',
|
1787 |
-
|
1788 |
sprintf(
|
1789 |
-
|
1790 |
// We use a filter since the plugin might require additional API connectivity.
|
1791 |
'<b>' . implode( ', ', $this->apply_filters( 'api_domains', array( 'api.freemius.com' ) ) ) . '</b>' )
|
1792 |
),
|
1793 |
sprintf(
|
1794 |
'<a href="%s"><b>%s</b></a>%s',
|
1795 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1796 |
-
|
1797 |
-
' - ' .
|
1798 |
)
|
1799 |
)
|
1800 |
);
|
1801 |
break;
|
1802 |
// default:
|
1803 |
-
// $message =
|
1804 |
// break;
|
1805 |
}
|
1806 |
}
|
@@ -1812,21 +2081,21 @@
|
|
1812 |
if ( $is_first_failure ) {
|
1813 |
// First attempt failed.
|
1814 |
$message = sprintf(
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
1818 |
'%s',
|
1819 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1820 |
sprintf(
|
1821 |
'<div id="fs_firewall_issue_options">%s %s</div>',
|
1822 |
sprintf(
|
1823 |
'<a class="button button-primary fs-resolve" data-type="retry_ping" href="#">%s</a>',
|
1824 |
-
|
1825 |
),
|
1826 |
sprintf(
|
1827 |
'<a href="%s" class="button">%s</a>',
|
1828 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1829 |
-
|
1830 |
)
|
1831 |
)
|
1832 |
);
|
@@ -1836,32 +2105,32 @@
|
|
1836 |
} else {
|
1837 |
// Second connectivity attempt failed.
|
1838 |
$message = sprintf(
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
' %s',
|
1843 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1844 |
sprintf(
|
1845 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1846 |
sprintf(
|
1847 |
'<a class="fs-resolve" data-type="general" href="#"><b>%s</b></a>%s',
|
1848 |
-
|
1849 |
' - ' . sprintf(
|
1850 |
-
|
1851 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1852 |
)
|
1853 |
),
|
1854 |
sprintf(
|
1855 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
1856 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
1857 |
-
|
1858 |
-
' - ' .
|
1859 |
),
|
1860 |
sprintf(
|
1861 |
'<a href="%s"><b>%s</b></a>%s',
|
1862 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1863 |
-
|
1864 |
-
' - ' .
|
1865 |
)
|
1866 |
)
|
1867 |
);
|
@@ -1871,7 +2140,7 @@
|
|
1871 |
$this->_admin_notices->add_sticky(
|
1872 |
$message,
|
1873 |
$message_id,
|
1874 |
-
|
1875 |
$type
|
1876 |
);
|
1877 |
}
|
@@ -1919,7 +2188,7 @@
|
|
1919 |
|
1920 |
// Add 'API Error' custom email section.
|
1921 |
$custom_email_sections['api_error'] = array(
|
1922 |
-
'title' =>
|
1923 |
'rows' => array(
|
1924 |
'ping' => array(
|
1925 |
'API Error',
|
@@ -1938,7 +2207,7 @@
|
|
1938 |
|
1939 |
$this->_admin_notices->add_sticky(
|
1940 |
sprintf(
|
1941 |
-
|
1942 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1943 |
),
|
1944 |
'server_details_sent'
|
@@ -2040,7 +2309,7 @@
|
|
2040 |
$message = fs_get_template( 'email.php', $vars );
|
2041 |
|
2042 |
// Set the type of email to HTML.
|
2043 |
-
$headers[] = 'Content-type: text/html;
|
2044 |
|
2045 |
$header_string = implode( "\r\n", $headers );
|
2046 |
|
@@ -2313,10 +2582,10 @@
|
|
2313 |
|
2314 |
$this->_admin_notices->add(
|
2315 |
( ! empty( $parent_name ) ?
|
2316 |
-
sprintf(
|
2317 |
-
sprintf(
|
2318 |
),
|
2319 |
-
|
2320 |
'error'
|
2321 |
);
|
2322 |
|
@@ -2339,8 +2608,6 @@
|
|
2339 |
$this->deactivate_premium_only_addon_without_license();
|
2340 |
}
|
2341 |
} else {
|
2342 |
-
add_action( 'admin_init', array( &$this, '_admin_init_action' ) );
|
2343 |
-
|
2344 |
if ( $this->has_addons() &&
|
2345 |
'plugin-information' === fs_request_get( 'tab', false ) &&
|
2346 |
$this->get_id() == fs_request_get( 'parent_plugin_id', false )
|
@@ -2351,6 +2618,8 @@
|
|
2351 |
}
|
2352 |
}
|
2353 |
|
|
|
|
|
2354 |
// if ( $this->is_registered() ||
|
2355 |
// $this->is_anonymous() ||
|
2356 |
// $this->is_pending_activation()
|
@@ -2419,6 +2688,10 @@
|
|
2419 |
* @since 1.2.1.5
|
2420 |
*/
|
2421 |
function _stop_tracking_callback() {
|
|
|
|
|
|
|
|
|
2422 |
$result = $this->stop_tracking();
|
2423 |
|
2424 |
if ( true === $result ) {
|
@@ -2428,7 +2701,7 @@
|
|
2428 |
$this->_logger->api_error( $result );
|
2429 |
|
2430 |
self::shoot_ajax_failure(
|
2431 |
-
|
2432 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2433 |
$result->error->message :
|
2434 |
var_export( $result, true ) )
|
@@ -2440,6 +2713,10 @@
|
|
2440 |
* @since 1.2.1.5
|
2441 |
*/
|
2442 |
function _allow_tracking_callback() {
|
|
|
|
|
|
|
|
|
2443 |
$result = $this->allow_tracking();
|
2444 |
|
2445 |
if ( true === $result ) {
|
@@ -2449,7 +2726,7 @@
|
|
2449 |
$this->_logger->api_error( $result );
|
2450 |
|
2451 |
self::shoot_ajax_failure(
|
2452 |
-
|
2453 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2454 |
$result->error->message :
|
2455 |
var_export( $result, true ) )
|
@@ -2641,7 +2918,7 @@
|
|
2641 |
// Set the secret key after storing the plugin, we don't want to store the key in the storage.
|
2642 |
$this->_plugin->secret_key = $secret_key;
|
2643 |
|
2644 |
-
if (! isset( $plugin_info['menu'] )) {
|
2645 |
$plugin_info['menu'] = array();
|
2646 |
|
2647 |
if ( ! empty( $this->_storage->sdk_last_version ) &&
|
@@ -2819,9 +3096,9 @@
|
|
2819 |
) );
|
2820 |
|
2821 |
$this->_admin_notices->add_sticky(
|
2822 |
-
|
2823 |
'premium_activated',
|
2824 |
-
|
2825 |
);
|
2826 |
} else {
|
2827 |
// Remove sticky message related to premium code activation.
|
@@ -2833,11 +3110,11 @@
|
|
2833 |
if ( $this->is_paying() && ! $this->is_premium() ) {
|
2834 |
$this->_admin_notices->add_sticky(
|
2835 |
sprintf(
|
2836 |
-
|
2837 |
$this->_site->plan->title
|
2838 |
) . $this->get_complete_upgrade_instructions(),
|
2839 |
'plan_upgraded',
|
2840 |
-
|
2841 |
);
|
2842 |
}
|
2843 |
}
|
@@ -2875,11 +3152,26 @@
|
|
2875 |
* @since 1.0.6
|
2876 |
*
|
2877 |
* @param string|number $slug_or_id
|
|
|
2878 |
*
|
2879 |
* @return bool
|
2880 |
*/
|
2881 |
-
function is_addon_activated( $slug_or_id ) {
|
2882 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2883 |
}
|
2884 |
|
2885 |
/**
|
@@ -2893,6 +3185,8 @@
|
|
2893 |
* @return bool
|
2894 |
*/
|
2895 |
function is_addon_connected( $slug ) {
|
|
|
|
|
2896 |
$sites = self::get_all_sites();
|
2897 |
|
2898 |
if ( ! isset( $sites[ $slug ] ) ) {
|
@@ -2928,6 +3222,8 @@
|
|
2928 |
* @return bool
|
2929 |
*/
|
2930 |
function is_addon_installed( $slug ) {
|
|
|
|
|
2931 |
return file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $this->get_addon_basename( $slug ) ) );
|
2932 |
}
|
2933 |
|
@@ -2946,13 +3242,13 @@
|
|
2946 |
self::instance( $slug )->get_plugin_basename();
|
2947 |
}
|
2948 |
|
2949 |
-
$premium_basename = $slug
|
2950 |
|
2951 |
if ( file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $premium_basename ) ) ) {
|
2952 |
return $premium_basename;
|
2953 |
}
|
2954 |
|
2955 |
-
$free_basename = $slug
|
2956 |
|
2957 |
return $free_basename;
|
2958 |
}
|
@@ -3062,20 +3358,19 @@
|
|
3062 |
|
3063 |
$this->_parent->_admin_notices->add_sticky(
|
3064 |
sprintf(
|
3065 |
-
|
3066 |
'addon-trial-cancelled-message' :
|
3067 |
-
'addon-no-license-message'
|
3068 |
-
$this->_parent->_slug
|
3069 |
),
|
3070 |
'<b>' . $this->_plugin->title . '</b>'
|
3071 |
) . ' ' . sprintf(
|
3072 |
'<a href="%s" aria-label="%s" class="button button-primary" style="margin-left: 10px; vertical-align: middle;">%s ➜</a>',
|
3073 |
$this->_parent->addon_url( $this->_slug ),
|
3074 |
-
esc_attr( sprintf(
|
3075 |
-
|
3076 |
),
|
3077 |
'no_addon_license_' . $this->_slug,
|
3078 |
-
( $is_after_trial_cancel ? '' :
|
3079 |
( $is_after_trial_cancel ? 'success' : 'error' )
|
3080 |
);
|
3081 |
|
@@ -3195,7 +3490,7 @@
|
|
3195 |
private function run_manual_sync() {
|
3196 |
$this->require_pluggable_essentials();
|
3197 |
|
3198 |
-
if ( !
|
3199 |
return;
|
3200 |
}
|
3201 |
|
@@ -3507,10 +3802,10 @@
|
|
3507 |
|
3508 |
$this->_admin_notices->add_sticky(
|
3509 |
sprintf(
|
3510 |
-
|
3511 |
'<b>' . $this->get_plugin_name() . '</b>',
|
3512 |
'<b>' . $email . '</b>',
|
3513 |
-
|
3514 |
),
|
3515 |
'activation_pending',
|
3516 |
'Thanks!'
|
@@ -3562,15 +3857,15 @@
|
|
3562 |
|
3563 |
if ( ! $this->is_addon() && ! $this->is_registered() && ! $this->is_anonymous() ) {
|
3564 |
if ( ! $this->is_pending_activation() ) {
|
3565 |
-
if ( ! $this->_menu->
|
3566 |
if ( $this->is_plugin_new_install() || $this->is_only_premium() ) {
|
3567 |
// Show notice for new plugin installations.
|
3568 |
$this->_admin_notices->add(
|
3569 |
sprintf(
|
3570 |
-
|
3571 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3572 |
$this->get_activation_url(),
|
3573 |
-
sprintf(
|
3574 |
)
|
3575 |
),
|
3576 |
'',
|
@@ -3583,10 +3878,10 @@
|
|
3583 |
// Show notice for new plugin installations.
|
3584 |
$this->_admin_notices->add_sticky(
|
3585 |
sprintf(
|
3586 |
-
|
3587 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3588 |
$this->get_activation_url(),
|
3589 |
-
sprintf(
|
3590 |
)
|
3591 |
),
|
3592 |
'connect_account',
|
@@ -3816,7 +4111,7 @@
|
|
3816 |
function _activate_plugin_event_hook() {
|
3817 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
3818 |
|
3819 |
-
if ( !
|
3820 |
return;
|
3821 |
}
|
3822 |
|
@@ -3857,8 +4152,8 @@
|
|
3857 |
// If activating the premium module version, add an admin notice to congratulate for an upgrade completion.
|
3858 |
if ( $is_premium_version_activation ) {
|
3859 |
$this->_admin_notices->add(
|
3860 |
-
sprintf(
|
3861 |
-
|
3862 |
);
|
3863 |
}
|
3864 |
} else if ( $this->is_anonymous() ) {
|
@@ -3892,7 +4187,10 @@
|
|
3892 |
$this->_storage->is_plugin_new_install = empty( $this->_storage->plugin_last_version );
|
3893 |
}
|
3894 |
|
3895 |
-
if ( ! $this->_anonymous_mode &&
|
|
|
|
|
|
|
3896 |
// Store hint that the plugin was just activated to enable auto-redirection to settings.
|
3897 |
add_option( "fs_{$this->_slug}_activated", true );
|
3898 |
}
|
@@ -3919,7 +4217,7 @@
|
|
3919 |
function delete_account_event( $check_user = true ) {
|
3920 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
3921 |
|
3922 |
-
if ( $check_user && !
|
3923 |
return;
|
3924 |
}
|
3925 |
|
@@ -4644,8 +4942,8 @@
|
|
4644 |
*
|
4645 |
* @return string
|
4646 |
*/
|
4647 |
-
|
4648 |
-
return
|
4649 |
}
|
4650 |
|
4651 |
/**
|
@@ -4755,6 +5053,16 @@
|
|
4755 |
return $this->_slug;
|
4756 |
}
|
4757 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4758 |
/**
|
4759 |
* @author Vova Feldman (@svovaf)
|
4760 |
* @since 1.0.1
|
@@ -4866,6 +5174,20 @@
|
|
4866 |
return $this->apply_filters( 'plugin_version', $plugin_data['Version'] );
|
4867 |
}
|
4868 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4869 |
/**
|
4870 |
* @author Vova Feldman (@svovaf)
|
4871 |
* @since 1.0.4
|
@@ -5040,7 +5362,13 @@
|
|
5040 |
}
|
5041 |
|
5042 |
/**
|
5043 |
-
* Check if user
|
|
|
|
|
|
|
|
|
|
|
|
|
5044 |
*
|
5045 |
* @author Vova Feldman (@svovaf)
|
5046 |
* @since 1.0.1
|
@@ -5682,6 +6010,27 @@
|
|
5682 |
return ( $current_plan_order > $required_plan_order );
|
5683 |
}
|
5684 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5685 |
/**
|
5686 |
* Check if plan based on trial. If not in trial mode, should return false.
|
5687 |
*
|
@@ -5822,7 +6171,7 @@
|
|
5822 |
* @since 1.2.0
|
5823 |
*/
|
5824 |
function _add_license_activation() {
|
5825 |
-
if ( !
|
5826 |
// Only admins can activate a license.
|
5827 |
return;
|
5828 |
}
|
@@ -5857,36 +6206,43 @@
|
|
5857 |
* @since 1.1.9
|
5858 |
*/
|
5859 |
function _activate_license_ajax_action() {
|
|
|
|
|
|
|
|
|
5860 |
$license_key = trim( fs_request_get( 'license_key' ) );
|
5861 |
|
5862 |
if ( empty( $license_key ) ) {
|
5863 |
exit;
|
5864 |
}
|
5865 |
|
5866 |
-
$slug
|
5867 |
-
$fs
|
|
|
|
|
|
|
5868 |
$error = false;
|
5869 |
$next_page = false;
|
5870 |
|
5871 |
-
if ( $
|
5872 |
$api = $fs->get_api_site_scope();
|
5873 |
$install = $api->call( '/', 'put', array(
|
5874 |
-
'license_key' => $
|
5875 |
) );
|
5876 |
|
5877 |
if ( isset( $install->error ) ) {
|
5878 |
$error = $install->error->message;
|
5879 |
} else {
|
5880 |
-
$
|
5881 |
-
$
|
5882 |
-
$
|
5883 |
|
5884 |
-
$next_page = $
|
5885 |
|
5886 |
-
$
|
5887 |
}
|
5888 |
} else {
|
5889 |
-
$next_page = $
|
5890 |
|
5891 |
if ( isset( $next_page->error ) ) {
|
5892 |
$error = $next_page->error;
|
@@ -5915,9 +6271,11 @@
|
|
5915 |
* @since 1.2.1.5
|
5916 |
*/
|
5917 |
function _update_billing_ajax_action() {
|
5918 |
-
|
5919 |
|
5920 |
-
|
|
|
|
|
5921 |
// Only for admins.
|
5922 |
self::shoot_ajax_failure();
|
5923 |
}
|
@@ -5946,9 +6304,11 @@
|
|
5946 |
* @since 1.2.1.5
|
5947 |
*/
|
5948 |
function _start_trial_ajax_action() {
|
5949 |
-
|
5950 |
|
5951 |
-
|
|
|
|
|
5952 |
// Only for admins.
|
5953 |
self::shoot_ajax_failure();
|
5954 |
}
|
@@ -5982,11 +6342,12 @@
|
|
5982 |
* @since 1.2.0
|
5983 |
*/
|
5984 |
function _resend_license_key_ajax_action() {
|
5985 |
-
|
5986 |
-
|
5987 |
-
|
|
|
|
|
5988 |
|
5989 |
-
$email_address = trim( $_POST['email'] );
|
5990 |
if ( empty( $email_address ) ) {
|
5991 |
exit;
|
5992 |
}
|
@@ -6005,9 +6366,9 @@
|
|
6005 |
$error = $result->error;
|
6006 |
|
6007 |
if ( in_array( $error->code, array( 'invalid_email', 'no_user' ) ) ) {
|
6008 |
-
$error =
|
6009 |
} else if ( 'no_license' === $error->code ) {
|
6010 |
-
$error =
|
6011 |
} else {
|
6012 |
$error = $error->message;
|
6013 |
}
|
@@ -6018,7 +6379,7 @@
|
|
6018 |
);
|
6019 |
|
6020 |
if ( false !== $error ) {
|
6021 |
-
$licenses['error'] = sprintf( '%s... %s',
|
6022 |
}
|
6023 |
|
6024 |
echo json_encode( $licenses );
|
@@ -6034,12 +6395,26 @@
|
|
6034 |
*
|
6035 |
* @return bool
|
6036 |
*/
|
6037 |
-
|
6038 |
global $pagenow;
|
6039 |
|
6040 |
return ( 'plugins.php' === $pagenow );
|
6041 |
}
|
6042 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6043 |
#----------------------------------------------------------------------------------
|
6044 |
#region URL Generators
|
6045 |
#----------------------------------------------------------------------------------
|
@@ -6218,6 +6593,18 @@
|
|
6218 |
return $this->_is_premium_only;
|
6219 |
}
|
6220 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6221 |
/**
|
6222 |
* Check if module has a premium code version.
|
6223 |
*
|
@@ -6344,7 +6731,7 @@
|
|
6344 |
$ajax_action = fs_request_get( 'action' );
|
6345 |
|
6346 |
foreach ( $actions as $action ) {
|
6347 |
-
if ( $ajax_action === self::
|
6348 |
return true;
|
6349 |
}
|
6350 |
}
|
@@ -6405,44 +6792,67 @@
|
|
6405 |
}
|
6406 |
}
|
6407 |
|
6408 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6409 |
$parent_slug = $this->_menu->get_parent_slug();
|
6410 |
$menu_file = ( false !== strpos( $parent_slug, '.php' ) ) ?
|
6411 |
$parent_slug :
|
6412 |
'admin.php';
|
6413 |
|
6414 |
return add_query_arg( array_merge( $params, array(
|
6415 |
-
'page' => $
|
6416 |
) ), admin_url( $menu_file, 'admin' ) );
|
6417 |
}
|
6418 |
|
|
|
6419 |
if ( $this->_menu->is_cpt() ) {
|
6420 |
if ( empty( $page ) && $this->is_activation_mode() ) {
|
6421 |
return add_query_arg( array_merge( $params, array(
|
6422 |
-
'page' => $
|
6423 |
) ), admin_url( 'admin.php', 'admin' ) );
|
6424 |
} else {
|
6425 |
if ( ! empty( $page ) ) {
|
6426 |
-
$params['page'] = $
|
6427 |
}
|
6428 |
|
6429 |
-
return add_query_arg(
|
|
|
|
|
|
|
6430 |
}
|
6431 |
-
} else {
|
6432 |
-
/**
|
6433 |
-
* @author Vova Feldman
|
6434 |
-
* @since 1.2.1.6
|
6435 |
-
*
|
6436 |
-
* If module doesn't have a settings page, create one for the opt-in screen.
|
6437 |
-
*/
|
6438 |
-
$menu_slug = $this->_menu->has_menu_slug() ?
|
6439 |
-
$this->_menu->get_slug( $page ) :
|
6440 |
-
$this->_slug;
|
6441 |
-
|
6442 |
-
return add_query_arg( array_merge( $params, array(
|
6443 |
-
'page' => $menu_slug,
|
6444 |
-
) ), admin_url( 'admin.php', 'admin' ) );
|
6445 |
}
|
|
|
|
|
|
|
|
|
|
|
6446 |
}
|
6447 |
|
6448 |
/**
|
@@ -6453,12 +6863,11 @@
|
|
6453 |
*
|
6454 |
* @param bool|number $plugin_id
|
6455 |
* @param bool $add_action_nonce
|
|
|
6456 |
*
|
6457 |
* @return string
|
6458 |
*/
|
6459 |
-
function _get_sync_license_url( $plugin_id = false, $add_action_nonce = true ) {
|
6460 |
-
$params = array();
|
6461 |
-
|
6462 |
if ( is_numeric( $plugin_id ) ) {
|
6463 |
$params['plugin_id'] = $plugin_id;
|
6464 |
}
|
@@ -6584,20 +6993,52 @@
|
|
6584 |
|
6585 |
/* Security
|
6586 |
------------------------------------------------------------------------------------------------------------------*/
|
6587 |
-
private function _encrypt( $str ) {
|
6588 |
if ( is_null( $str ) ) {
|
6589 |
return null;
|
6590 |
}
|
6591 |
|
6592 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6593 |
}
|
6594 |
|
6595 |
-
|
6596 |
if ( is_null( $str ) ) {
|
6597 |
return null;
|
6598 |
}
|
6599 |
|
6600 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6601 |
}
|
6602 |
|
6603 |
/**
|
@@ -6608,12 +7049,12 @@
|
|
6608 |
*
|
6609 |
* @return FS_Entity Return an encrypted clone entity.
|
6610 |
*/
|
6611 |
-
private function _encrypt_entity( FS_Entity $entity ) {
|
6612 |
$clone = clone $entity;
|
6613 |
$props = get_object_vars( $entity );
|
6614 |
|
6615 |
foreach ( $props as $key => $val ) {
|
6616 |
-
$clone->{$key} =
|
6617 |
}
|
6618 |
|
6619 |
return $clone;
|
@@ -6627,12 +7068,12 @@
|
|
6627 |
*
|
6628 |
* @return FS_Entity Return an decrypted clone entity.
|
6629 |
*/
|
6630 |
-
private function _decrypt_entity( FS_Entity $entity ) {
|
6631 |
$clone = clone $entity;
|
6632 |
$props = get_object_vars( $entity );
|
6633 |
|
6634 |
foreach ( $props as $key => $val ) {
|
6635 |
-
$clone->{$key} =
|
6636 |
}
|
6637 |
|
6638 |
return $clone;
|
@@ -6750,7 +7191,7 @@
|
|
6750 |
) {
|
6751 |
// Load site.
|
6752 |
$this->_site = clone $site;
|
6753 |
-
$this->_site->plan =
|
6754 |
|
6755 |
// Load relevant user.
|
6756 |
$this->_user = clone $users[ $this->_site->user_id ];
|
@@ -6762,7 +7203,7 @@
|
|
6762 |
} else {
|
6763 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
6764 |
if ( $this->_plans[ $i ] instanceof FS_Plugin_Plan ) {
|
6765 |
-
$this->_plans[ $i ] =
|
6766 |
} else {
|
6767 |
unset( $this->_plans[ $i ] );
|
6768 |
}
|
@@ -7071,10 +7512,18 @@
|
|
7071 |
* @param FS_User $user
|
7072 |
* @param FS_Site $site
|
7073 |
* @param bool $redirect
|
|
|
|
|
|
|
7074 |
*
|
7075 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7076 |
*/
|
7077 |
-
function setup_account(
|
|
|
|
|
|
|
|
|
|
|
7078 |
$this->_user = $user;
|
7079 |
$this->_site = $site;
|
7080 |
|
@@ -7109,7 +7558,7 @@
|
|
7109 |
|
7110 |
if ( ! $this->is_paying_or_trial() ) {
|
7111 |
$this->_admin_notices->add_sticky(
|
7112 |
-
sprintf(
|
7113 |
'activation_complete'
|
7114 |
);
|
7115 |
}
|
@@ -7120,20 +7569,20 @@
|
|
7120 |
if ( $this->is_paying() ) {
|
7121 |
$this->_admin_notices->add_sticky(
|
7122 |
sprintf(
|
7123 |
-
|
7124 |
$this->_site->plan->title
|
7125 |
) . $this->get_complete_upgrade_instructions(),
|
7126 |
'plan_upgraded',
|
7127 |
-
|
7128 |
);
|
7129 |
} else {
|
7130 |
$this->_admin_notices->add_sticky(
|
7131 |
sprintf(
|
7132 |
-
|
7133 |
'<i>' . $this->get_plugin_name() . '</i>'
|
7134 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
7135 |
'trial_started',
|
7136 |
-
|
7137 |
);
|
7138 |
}
|
7139 |
}
|
@@ -7152,6 +7601,11 @@
|
|
7152 |
|
7153 |
$next_page = '';
|
7154 |
|
|
|
|
|
|
|
|
|
|
|
7155 |
if ( is_numeric( $plugin_id ) ) {
|
7156 |
/**
|
7157 |
* @author Leo Fajardo
|
@@ -7161,7 +7615,7 @@
|
|
7161 |
*/
|
7162 |
if ( $this->is_anonymous() || $plugin_id != $this->_plugin->id ) {
|
7163 |
// Add-on was installed - sync license right after install.
|
7164 |
-
$next_page = $this->_get_sync_license_url( $plugin_id );
|
7165 |
}
|
7166 |
} else {
|
7167 |
/**
|
@@ -7175,7 +7629,7 @@
|
|
7175 |
// Reload the page with the keys.
|
7176 |
$next_page = $this->is_anonymous() ?
|
7177 |
// If user previously skipped, redirect to account page.
|
7178 |
-
$this->get_account_url() :
|
7179 |
$this->get_after_activation_url( 'after_connect_url' );
|
7180 |
}
|
7181 |
|
@@ -7209,7 +7663,9 @@
|
|
7209 |
fs_request_get( 'user_secret_key' ),
|
7210 |
fs_request_get( 'install_id' ),
|
7211 |
fs_request_get( 'install_public_key' ),
|
7212 |
-
fs_request_get( 'install_secret_key' )
|
|
|
|
|
7213 |
);
|
7214 |
} else if ( fs_request_has( 'pending_activation' ) ) {
|
7215 |
$this->set_pending_confirmation( fs_request_get( 'user_email' ), true );
|
@@ -7230,6 +7686,9 @@
|
|
7230 |
* @param string $install_public_key
|
7231 |
* @param string $install_secret_key
|
7232 |
* @param bool $redirect
|
|
|
|
|
|
|
7233 |
*
|
7234 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7235 |
*/
|
@@ -7240,7 +7699,8 @@
|
|
7240 |
$install_id,
|
7241 |
$install_public_key,
|
7242 |
$install_secret_key,
|
7243 |
-
$redirect = true
|
|
|
7244 |
) {
|
7245 |
$user = new FS_User();
|
7246 |
$user->id = $user_id;
|
@@ -7262,7 +7722,12 @@
|
|
7262 |
$site = new FS_Site( $site_result );
|
7263 |
$this->_site = $site;
|
7264 |
|
7265 |
-
return $this->setup_account(
|
|
|
|
|
|
|
|
|
|
|
7266 |
}
|
7267 |
|
7268 |
/**
|
@@ -7399,9 +7864,9 @@
|
|
7399 |
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
7400 |
|
7401 |
$this->_admin_notices->add(
|
7402 |
-
sprintf(
|
7403 |
-
|
7404 |
-
|
7405 |
'error'
|
7406 |
);
|
7407 |
|
@@ -7443,9 +7908,9 @@
|
|
7443 |
|
7444 |
if ( isset( $addon_install->error ) ) {
|
7445 |
$this->_admin_notices->add(
|
7446 |
-
sprintf(
|
7447 |
-
|
7448 |
-
|
7449 |
'error'
|
7450 |
);
|
7451 |
|
@@ -7529,6 +7994,8 @@
|
|
7529 |
fs_request_is_action( $this->_slug . '_activate_new' )
|
7530 |
) {
|
7531 |
$this->_install_with_new_user();
|
|
|
|
|
7532 |
}
|
7533 |
}
|
7534 |
}
|
@@ -7568,9 +8035,9 @@
|
|
7568 |
|
7569 |
$hook = false;
|
7570 |
|
7571 |
-
if ( ! $this->_menu->
|
7572 |
// Add the opt-in page without a menu item.
|
7573 |
-
$hook =
|
7574 |
null,
|
7575 |
$this->get_plugin_name(),
|
7576 |
$this->get_plugin_name(),
|
@@ -7583,7 +8050,7 @@
|
|
7583 |
|
7584 |
if ( false === $hook ) {
|
7585 |
// Create new menu item just for the opt-in.
|
7586 |
-
$hook =
|
7587 |
$this->get_plugin_name(),
|
7588 |
$this->get_plugin_name(),
|
7589 |
'manage_options',
|
@@ -7595,28 +8062,9 @@
|
|
7595 |
$menus = array( $this->_menu->get_parent_slug() );
|
7596 |
|
7597 |
if ( $this->_menu->is_override_exact() ) {
|
7598 |
-
|
7599 |
-
$activation_url = strtolower( $this->get_activation_url() );
|
7600 |
-
$request_url = strtolower( $_SERVER['REQUEST_URI'] );
|
7601 |
-
|
7602 |
-
if ( parse_url( $activation_url, PHP_URL_PATH ) !== parse_url( $request_url, PHP_URL_PATH ) ) {
|
7603 |
-
// Different path - DO NOT OVERRIDE PAGE.
|
7604 |
return;
|
7605 |
}
|
7606 |
-
|
7607 |
-
$activation_url_params = array();
|
7608 |
-
parse_str( parse_url( $activation_url, PHP_URL_QUERY ), $activation_url_params );
|
7609 |
-
|
7610 |
-
$request_url_params = array();
|
7611 |
-
parse_str( parse_url( $request_url, PHP_URL_QUERY ), $request_url_params );
|
7612 |
-
|
7613 |
-
|
7614 |
-
foreach ( $activation_url_params as $key => $val ) {
|
7615 |
-
if ( ! isset( $request_url_params[ $key ] ) || $val != $request_url_params[ $key ] ) {
|
7616 |
-
// Not matching query string - DO NOT OVERRIDE PAGE.
|
7617 |
-
return;
|
7618 |
-
}
|
7619 |
-
}
|
7620 |
}
|
7621 |
|
7622 |
foreach ( $menus as $parent_slug ) {
|
@@ -7633,7 +8081,7 @@
|
|
7633 |
}
|
7634 |
}
|
7635 |
|
7636 |
-
if ( $this->
|
7637 |
// Clean admin page from distracting content.
|
7638 |
self::_clean_admin_content_section();
|
7639 |
}
|
@@ -7697,43 +8145,50 @@
|
|
7697 |
if ( $this->is_registered() ) {
|
7698 |
// Add user account page.
|
7699 |
$this->add_submenu_item(
|
7700 |
-
|
7701 |
array( &$this, '_account_page_render' ),
|
7702 |
-
$this->get_plugin_name() . ' – ' .
|
7703 |
'manage_options',
|
7704 |
'account',
|
7705 |
array( &$this, '_account_page_load' ),
|
7706 |
WP_FS__DEFAULT_PRIORITY,
|
7707 |
-
$this->
|
7708 |
);
|
7709 |
}
|
7710 |
|
7711 |
// Add contact page.
|
7712 |
$this->add_submenu_item(
|
7713 |
-
|
7714 |
array( &$this, '_contact_page_render' ),
|
7715 |
-
$this->get_plugin_name() . ' – ' .
|
7716 |
'manage_options',
|
7717 |
'contact',
|
7718 |
'Freemius::_clean_admin_content_section',
|
7719 |
WP_FS__DEFAULT_PRIORITY,
|
7720 |
-
$this->
|
7721 |
);
|
7722 |
|
7723 |
if ( $this->has_addons() ) {
|
7724 |
$this->add_submenu_item(
|
7725 |
-
|
7726 |
array( &$this, '_addons_page_render' ),
|
7727 |
-
$this->get_plugin_name() . ' – ' .
|
7728 |
'manage_options',
|
7729 |
'addons',
|
7730 |
array( &$this, '_addons_page_load' ),
|
7731 |
WP_FS__LOWEST_PRIORITY - 1,
|
7732 |
-
$this->
|
7733 |
);
|
7734 |
}
|
7735 |
|
7736 |
-
$show_pricing = (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7737 |
// If user don't have paid plans, add pricing page
|
7738 |
// to support add-ons checkout but don't add the submenu item.
|
7739 |
// || (isset( $_GET['page'] ) && $this->_menu->get_slug( 'pricing' ) == $_GET['page']);
|
@@ -7755,9 +8210,9 @@
|
|
7755 |
|
7756 |
// Add upgrade/pricing page.
|
7757 |
$this->add_submenu_item(
|
7758 |
-
|
7759 |
array( &$this, '_pricing_page_render' ),
|
7760 |
-
$this->get_plugin_name() . ' – ' .
|
7761 |
'manage_options',
|
7762 |
'pricing',
|
7763 |
'Freemius::_clean_admin_content_section',
|
@@ -7814,7 +8269,7 @@
|
|
7814 |
$menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
|
7815 |
|
7816 |
if ( ! isset( $item['url'] ) ) {
|
7817 |
-
$hook =
|
7818 |
$item['show_submenu'] ?
|
7819 |
$this->get_top_level_menu_slug() :
|
7820 |
null,
|
@@ -7829,7 +8284,7 @@
|
|
7829 |
add_action( "load-$hook", $item['before_render_function'] );
|
7830 |
}
|
7831 |
} else {
|
7832 |
-
|
7833 |
$this->get_top_level_menu_slug(),
|
7834 |
$item['page_title'],
|
7835 |
$menu_item,
|
@@ -7922,9 +8377,9 @@
|
|
7922 |
}
|
7923 |
|
7924 |
if ( ! $this->is_activation_mode() ) {
|
7925 |
-
if ( $this->
|
7926 |
$this->add_submenu_link_item(
|
7927 |
-
$this->apply_filters( 'support_forum_submenu',
|
7928 |
$this->apply_filters( 'support_forum_url', 'https://wordpress.org/support/plugin/' . $this->_slug ),
|
7929 |
'wp-support-forum',
|
7930 |
null,
|
@@ -8050,8 +8505,10 @@
|
|
8050 |
|
8051 |
#endregion ------------------------------------------------------------------
|
8052 |
|
8053 |
-
|
8054 |
-
|
|
|
|
|
8055 |
/**
|
8056 |
* @author Vova Feldman (@svovaf)
|
8057 |
* @since 1.1.7
|
@@ -8085,8 +8542,30 @@
|
|
8085 |
*
|
8086 |
* @return string
|
8087 |
*/
|
8088 |
-
|
8089 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8090 |
}
|
8091 |
|
8092 |
/**
|
@@ -8098,8 +8577,14 @@
|
|
8098 |
*
|
8099 |
* @return string
|
8100 |
*/
|
8101 |
-
private static function
|
8102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
8103 |
}
|
8104 |
|
8105 |
/**
|
@@ -8138,7 +8623,12 @@
|
|
8138 |
*
|
8139 |
* @uses add_action()
|
8140 |
*/
|
8141 |
-
function add_action(
|
|
|
|
|
|
|
|
|
|
|
8142 |
$this->_logger->entrance( $tag );
|
8143 |
|
8144 |
add_action( $this->get_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
|
@@ -8201,7 +8691,7 @@
|
|
8201 |
}
|
8202 |
|
8203 |
add_action(
|
8204 |
-
self::
|
8205 |
$function_to_add,
|
8206 |
$priority,
|
8207 |
0
|
@@ -8313,6 +8803,8 @@
|
|
8313 |
return has_filter( $this->get_action_tag( $tag ), $function_to_check );
|
8314 |
}
|
8315 |
|
|
|
|
|
8316 |
/**
|
8317 |
* Override default i18n text phrases.
|
8318 |
*
|
@@ -8347,7 +8839,7 @@
|
|
8347 |
}
|
8348 |
|
8349 |
$encrypted_site = clone $this->_site;
|
8350 |
-
$encrypted_site->plan =
|
8351 |
|
8352 |
$sites = self::get_all_sites();
|
8353 |
$sites[ $this->_slug ] = $encrypted_site;
|
@@ -8370,7 +8862,7 @@
|
|
8370 |
// Copy plans.
|
8371 |
$encrypted_plans = array();
|
8372 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
8373 |
-
$encrypted_plans[] =
|
8374 |
}
|
8375 |
|
8376 |
$plans[ $this->_slug ] = $encrypted_plans;
|
@@ -8549,7 +9041,7 @@
|
|
8549 |
$this->_user->last = $user->last;
|
8550 |
$this->_user->email = $user->email;
|
8551 |
|
8552 |
-
$is_menu_item_account_visible = $this->
|
8553 |
|
8554 |
if ( $user->is_verified &&
|
8555 |
( ! isset( $this->_user->is_verified ) || false === $this->_user->is_verified )
|
@@ -8559,8 +9051,8 @@
|
|
8559 |
$this->do_action( 'account_email_verified', $user->email );
|
8560 |
|
8561 |
$this->_admin_notices->add(
|
8562 |
-
|
8563 |
-
|
8564 |
'success',
|
8565 |
// Make admin sticky if account menu item is invisible,
|
8566 |
// since the page will be auto redirected to the plugin's
|
@@ -8813,7 +9305,7 @@
|
|
8813 |
$plugin_id = $this->_plugin->id;
|
8814 |
}
|
8815 |
|
8816 |
-
$result = $api->get( "/plugins/{$plugin_id}/payments.json", true );
|
8817 |
|
8818 |
if ( ! isset( $result->error ) ) {
|
8819 |
for ( $i = 0, $len = count( $result->payments ); $i < $len; $i ++ ) {
|
@@ -8990,6 +9482,20 @@
|
|
8990 |
return $this->is_trial() || $this->has_features_enabled_license();
|
8991 |
}
|
8992 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8993 |
/**
|
8994 |
* Sync site's plan.
|
8995 |
*
|
@@ -9073,22 +9579,22 @@
|
|
9073 |
$this->_admin_notices->add_sticky(
|
9074 |
FS_Plan_Manager::instance()->has_free_plan( $plans ) ?
|
9075 |
sprintf(
|
9076 |
-
|
9077 |
$addon->title
|
9078 |
) . ' ' . $this->get_latest_download_link(
|
9079 |
-
|
9080 |
$addon_id
|
9081 |
)
|
9082 |
:
|
9083 |
sprintf(
|
9084 |
-
|
9085 |
$addon->title
|
9086 |
) . ' ' . $this->get_latest_download_link(
|
9087 |
-
|
9088 |
$addon_id
|
9089 |
),
|
9090 |
'addon_plan_upgraded_' . $addon->slug,
|
9091 |
-
|
9092 |
);
|
9093 |
}
|
9094 |
}
|
@@ -9133,11 +9639,11 @@
|
|
9133 |
if ( ! self::$_global_admin_notices->has_sticky( 'api_blocked' ) ) {
|
9134 |
self::$_global_admin_notices->add(
|
9135 |
sprintf(
|
9136 |
-
|
9137 |
$this->get_plugin_name(),
|
9138 |
'<a href="' . $api->get_url() . '" target="_blank">' . $api->get_url() . '</a>'
|
9139 |
-
) . '<br> ' .
|
9140 |
-
|
9141 |
'error',
|
9142 |
$background,
|
9143 |
false,
|
@@ -9147,8 +9653,8 @@
|
|
9147 |
} else {
|
9148 |
// Authentication params are broken.
|
9149 |
$this->_admin_notices->add(
|
9150 |
-
|
9151 |
-
|
9152 |
'error'
|
9153 |
);
|
9154 |
}
|
@@ -9275,19 +9781,19 @@
|
|
9275 |
if ( $plan->is_free() ) {
|
9276 |
$this->_admin_notices->add(
|
9277 |
sprintf(
|
9278 |
-
|
9279 |
-
'<i><b>' . $plan->title . ( $this->is_trial() ? ' ' .
|
9280 |
) . ' ' . sprintf(
|
9281 |
'<a href="%s">%s</a>',
|
9282 |
$this->contact_url(
|
9283 |
'bug',
|
9284 |
-
sprintf(
|
9285 |
strtoupper( $plan->name )
|
9286 |
)
|
9287 |
),
|
9288 |
-
|
9289 |
),
|
9290 |
-
|
9291 |
);
|
9292 |
}
|
9293 |
}
|
@@ -9295,11 +9801,11 @@
|
|
9295 |
case 'upgraded':
|
9296 |
$this->_admin_notices->add_sticky(
|
9297 |
sprintf(
|
9298 |
-
|
9299 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9300 |
) . $this->get_complete_upgrade_instructions(),
|
9301 |
'plan_upgraded',
|
9302 |
-
|
9303 |
);
|
9304 |
|
9305 |
$this->_admin_notices->remove_sticky( array(
|
@@ -9312,7 +9818,7 @@
|
|
9312 |
case 'changed':
|
9313 |
$this->_admin_notices->add_sticky(
|
9314 |
sprintf(
|
9315 |
-
|
9316 |
$this->_site->plan->title
|
9317 |
),
|
9318 |
'plan_changed'
|
@@ -9327,41 +9833,41 @@
|
|
9327 |
break;
|
9328 |
case 'downgraded':
|
9329 |
$this->_admin_notices->add_sticky(
|
9330 |
-
sprintf(
|
9331 |
'license_expired',
|
9332 |
-
|
9333 |
);
|
9334 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9335 |
break;
|
9336 |
case 'cancelled':
|
9337 |
$this->_admin_notices->add(
|
9338 |
-
|
9339 |
sprintf(
|
9340 |
'<a href="%s">%s</a>',
|
9341 |
$this->contact_url( 'bug' ),
|
9342 |
-
|
9343 |
),
|
9344 |
-
|
9345 |
'error'
|
9346 |
);
|
9347 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9348 |
break;
|
9349 |
case 'expired':
|
9350 |
$this->_admin_notices->add_sticky(
|
9351 |
-
sprintf(
|
9352 |
'license_expired',
|
9353 |
-
|
9354 |
);
|
9355 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9356 |
break;
|
9357 |
case 'trial_started':
|
9358 |
$this->_admin_notices->add_sticky(
|
9359 |
sprintf(
|
9360 |
-
|
9361 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9362 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
9363 |
'trial_started',
|
9364 |
-
|
9365 |
);
|
9366 |
|
9367 |
$this->_admin_notices->remove_sticky( array(
|
@@ -9370,9 +9876,9 @@
|
|
9370 |
break;
|
9371 |
case 'trial_expired':
|
9372 |
$this->_admin_notices->add_sticky(
|
9373 |
-
|
9374 |
'trial_expired',
|
9375 |
-
|
9376 |
);
|
9377 |
$this->_admin_notices->remove_sticky( array(
|
9378 |
'trial_started',
|
@@ -9440,16 +9946,16 @@
|
|
9440 |
if ( ! $background ) {
|
9441 |
$this->_admin_notices->add( sprintf(
|
9442 |
'%s %s',
|
9443 |
-
|
9444 |
( is_object( $license ) && isset( $license->error ) ?
|
9445 |
$license->error->message :
|
9446 |
sprintf( '%s<br><code>%s</code>',
|
9447 |
-
|
9448 |
var_export( $license, true )
|
9449 |
)
|
9450 |
)
|
9451 |
),
|
9452 |
-
|
9453 |
'error'
|
9454 |
);
|
9455 |
}
|
@@ -9471,10 +9977,10 @@
|
|
9471 |
|
9472 |
if ( ! $background ) {
|
9473 |
$this->_admin_notices->add_sticky(
|
9474 |
-
|
9475 |
$this->get_complete_upgrade_instructions(),
|
9476 |
'license_activated',
|
9477 |
-
|
9478 |
);
|
9479 |
}
|
9480 |
|
@@ -9495,8 +10001,8 @@
|
|
9495 |
|
9496 |
if ( ! is_object( $this->_license ) ) {
|
9497 |
$this->_admin_notices->add(
|
9498 |
-
sprintf(
|
9499 |
-
|
9500 |
);
|
9501 |
|
9502 |
return;
|
@@ -9507,9 +10013,9 @@
|
|
9507 |
|
9508 |
if ( isset( $license->error ) ) {
|
9509 |
$this->_admin_notices->add(
|
9510 |
-
|
9511 |
-
|
9512 |
-
|
9513 |
'error'
|
9514 |
);
|
9515 |
|
@@ -9534,8 +10040,8 @@
|
|
9534 |
|
9535 |
if ( $show_notice ) {
|
9536 |
$this->_admin_notices->add(
|
9537 |
-
sprintf(
|
9538 |
-
|
9539 |
);
|
9540 |
}
|
9541 |
|
@@ -9583,7 +10089,7 @@
|
|
9583 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9584 |
|
9585 |
$this->_admin_notices->add(
|
9586 |
-
sprintf(
|
9587 |
$plan->title,
|
9588 |
human_time_diff( time(), strtotime( $this->_license->expiration ) )
|
9589 |
)
|
@@ -9593,8 +10099,8 @@
|
|
9593 |
$this->_store_site();
|
9594 |
} else {
|
9595 |
$this->_admin_notices->add(
|
9596 |
-
|
9597 |
-
|
9598 |
'error'
|
9599 |
);
|
9600 |
}
|
@@ -9614,8 +10120,8 @@
|
|
9614 |
if ( $this->is_trial() ) {
|
9615 |
// Already in trial mode.
|
9616 |
$this->_admin_notices->add(
|
9617 |
-
|
9618 |
-
|
9619 |
'error'
|
9620 |
);
|
9621 |
|
@@ -9625,8 +10131,8 @@
|
|
9625 |
if ( $this->_site->is_trial_utilized() ) {
|
9626 |
// Trial was already utilized.
|
9627 |
$this->_admin_notices->add(
|
9628 |
-
|
9629 |
-
|
9630 |
'error'
|
9631 |
);
|
9632 |
|
@@ -9639,8 +10145,8 @@
|
|
9639 |
if ( false === $plan ) {
|
9640 |
// Plan doesn't exist.
|
9641 |
$this->_admin_notices->add(
|
9642 |
-
sprintf(
|
9643 |
-
|
9644 |
'error'
|
9645 |
);
|
9646 |
|
@@ -9650,8 +10156,8 @@
|
|
9650 |
if ( ! $plan->has_trial() ) {
|
9651 |
// Plan doesn't exist.
|
9652 |
$this->_admin_notices->add(
|
9653 |
-
sprintf(
|
9654 |
-
|
9655 |
'error'
|
9656 |
);
|
9657 |
|
@@ -9661,8 +10167,8 @@
|
|
9661 |
if ( ! $this->has_trial_plan() ) {
|
9662 |
// None of the plans have a trial.
|
9663 |
$this->_admin_notices->add(
|
9664 |
-
|
9665 |
-
|
9666 |
'error'
|
9667 |
);
|
9668 |
|
@@ -9680,8 +10186,8 @@
|
|
9680 |
if ( ! $this->is_api_result_entity( $plan ) ) {
|
9681 |
// Some API error while trying to start the trial.
|
9682 |
$this->_admin_notices->add(
|
9683 |
-
|
9684 |
-
|
9685 |
'error'
|
9686 |
);
|
9687 |
|
@@ -9707,8 +10213,8 @@
|
|
9707 |
|
9708 |
if ( ! $this->is_trial() ) {
|
9709 |
$this->_admin_notices->add(
|
9710 |
-
|
9711 |
-
|
9712 |
'error'
|
9713 |
);
|
9714 |
|
@@ -9758,7 +10264,7 @@
|
|
9758 |
! $this->deactivate_premium_only_addon_without_license( true )
|
9759 |
) {
|
9760 |
$this->_admin_notices->add(
|
9761 |
-
sprintf(
|
9762 |
);
|
9763 |
}
|
9764 |
|
@@ -9766,8 +10272,8 @@
|
|
9766 |
unset( $this->_storage->trial_plan );
|
9767 |
} else {
|
9768 |
$this->_admin_notices->add(
|
9769 |
-
|
9770 |
-
|
9771 |
'error'
|
9772 |
);
|
9773 |
}
|
@@ -9996,21 +10502,21 @@
|
|
9996 |
if ( ! $background ) {
|
9997 |
$this->_admin_notices->add(
|
9998 |
sprintf(
|
9999 |
-
|
10000 |
$update->version,
|
10001 |
sprintf(
|
10002 |
'<a href="%s" target="_blank">%s</a>',
|
10003 |
$this->get_account_url( 'download_latest' ),
|
10004 |
-
sprintf(
|
10005 |
)
|
10006 |
),
|
10007 |
-
|
10008 |
);
|
10009 |
}
|
10010 |
} else if ( false === $new_version && ! $background ) {
|
10011 |
$this->_admin_notices->add(
|
10012 |
-
|
10013 |
-
|
10014 |
);
|
10015 |
}
|
10016 |
|
@@ -10276,7 +10782,7 @@
|
|
10276 |
|
10277 |
if ( ! isset( $result->error ) ) {
|
10278 |
$this->_admin_notices->add( sprintf(
|
10279 |
-
|
10280 |
sprintf( '<a href="mailto:%1s">%2s</a>', esc_url( $this->_user->email ), $this->_user->email )
|
10281 |
) );
|
10282 |
} else {
|
@@ -10294,6 +10800,14 @@
|
|
10294 |
* @return string
|
10295 |
*/
|
10296 |
private function get_activation_url( $params = array() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10297 |
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
10298 |
}
|
10299 |
|
@@ -10341,7 +10855,7 @@
|
|
10341 |
*
|
10342 |
*/
|
10343 |
private function _handle_account_edits() {
|
10344 |
-
if ( !
|
10345 |
return;
|
10346 |
}
|
10347 |
|
@@ -10424,20 +10938,20 @@
|
|
10424 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10425 |
|
10426 |
if ( $this->init_change_owner( $candidate_email ) ) {
|
10427 |
-
$this->_admin_notices->add( sprintf(
|
10428 |
}
|
10429 |
break;
|
10430 |
case 'owner_confirmed':
|
10431 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10432 |
|
10433 |
-
$this->_admin_notices->add( sprintf(
|
10434 |
break;
|
10435 |
case 'candidate_confirmed':
|
10436 |
if ( $this->complete_change_owner() ) {
|
10437 |
$this->_admin_notices->add_sticky(
|
10438 |
-
sprintf(
|
10439 |
'ownership_changed',
|
10440 |
-
|
10441 |
);
|
10442 |
} else {
|
10443 |
// @todo Handle failed ownership change message.
|
@@ -10457,23 +10971,23 @@
|
|
10457 |
switch ( $result->error->code ) {
|
10458 |
case 'user_exist':
|
10459 |
$this->_admin_notices->add(
|
10460 |
-
|
10461 |
-
sprintf(
|
10462 |
sprintf(
|
10463 |
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
10464 |
$this->get_account_url( 'change_owner', array(
|
10465 |
'state' => 'init',
|
10466 |
'candidate_email' => $new_email
|
10467 |
) ),
|
10468 |
-
|
10469 |
),
|
10470 |
-
|
10471 |
'error'
|
10472 |
);
|
10473 |
break;
|
10474 |
}
|
10475 |
} else {
|
10476 |
-
$this->_admin_notices->add(
|
10477 |
}
|
10478 |
|
10479 |
return;
|
@@ -10485,12 +10999,12 @@
|
|
10485 |
|
10486 |
if ( isset( $result->error ) ) {
|
10487 |
$this->_admin_notices->add(
|
10488 |
-
|
10489 |
-
|
10490 |
'error'
|
10491 |
);
|
10492 |
} else {
|
10493 |
-
$this->_admin_notices->add(
|
10494 |
}
|
10495 |
|
10496 |
return;
|
@@ -10550,7 +11064,7 @@
|
|
10550 |
$this->do_action( 'account_property_edit', 'site', $site_property, $site_property_value );
|
10551 |
|
10552 |
$this->_admin_notices->add( sprintf(
|
10553 |
-
|
10554 |
'<b>' . str_replace( '_', ' ', $p ) . '</b>' ) );
|
10555 |
|
10556 |
return;
|
@@ -10675,8 +11189,8 @@
|
|
10675 |
|
10676 |
if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
|
10677 |
$this->_admin_notices->add(
|
10678 |
-
sprintf(
|
10679 |
-
|
10680 |
'update-nag'
|
10681 |
);
|
10682 |
}
|
@@ -10913,7 +11427,7 @@
|
|
10913 |
* @return bool If trial notice added.
|
10914 |
*/
|
10915 |
function _add_trial_notice() {
|
10916 |
-
if ( !
|
10917 |
return false;
|
10918 |
}
|
10919 |
|
@@ -10982,7 +11496,7 @@
|
|
10982 |
$trial_period = $this->_trial_days;
|
10983 |
$require_payment = $this->_is_trial_require_payment;
|
10984 |
$trial_url = $this->get_trial_url();
|
10985 |
-
$plans_string = strtolower(
|
10986 |
|
10987 |
if ( $this->is_registered() ) {
|
10988 |
// If opted-in, override trial with up to date data from API.
|
@@ -11022,7 +11536,7 @@
|
|
11022 |
}
|
11023 |
|
11024 |
$message = sprintf(
|
11025 |
-
|
11026 |
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
11027 |
$plans_string,
|
11028 |
$trial_period
|
@@ -11030,15 +11544,15 @@
|
|
11030 |
|
11031 |
// "No Credit-Card Required" or "No Commitment for N Days".
|
11032 |
$cc_string = $require_payment ?
|
11033 |
-
sprintf(
|
11034 |
-
|
11035 |
|
11036 |
|
11037 |
// Start trial button.
|
11038 |
$button = ' ' . sprintf(
|
11039 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
11040 |
$trial_url,
|
11041 |
-
|
11042 |
);
|
11043 |
|
11044 |
$this->_admin_notices->add_sticky(
|
@@ -11136,7 +11650,7 @@
|
|
11136 |
if ( $this->is_registered() ) {
|
11137 |
if ( ! $this->is_paying() && $this->has_paid_plan() ) {
|
11138 |
$this->add_plugin_action_link(
|
11139 |
-
|
11140 |
$this->get_upgrade_url(),
|
11141 |
false,
|
11142 |
7,
|
@@ -11146,7 +11660,7 @@
|
|
11146 |
|
11147 |
if ( $this->has_addons() ) {
|
11148 |
$this->add_plugin_action_link(
|
11149 |
-
|
11150 |
$this->_get_admin_page_url( 'addons' ),
|
11151 |
false,
|
11152 |
9,
|
@@ -11174,9 +11688,10 @@
|
|
11174 |
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
11175 |
}
|
11176 |
|
11177 |
-
$link_text =
|
11178 |
-
$this->is_free_plan() ?
|
11179 |
-
|
|
|
11180 |
);
|
11181 |
|
11182 |
$this->add_plugin_action_link(
|
@@ -11201,6 +11716,11 @@
|
|
11201 |
|
11202 |
$this->_logger->entrance();
|
11203 |
|
|
|
|
|
|
|
|
|
|
|
11204 |
if ( ! $this->is_enable_anonymous() ) {
|
11205 |
// Don't allow to opt-out if anonymous mode is disabled.
|
11206 |
return;
|
@@ -11251,7 +11771,7 @@
|
|
11251 |
}
|
11252 |
|
11253 |
$this->add_plugin_action_link(
|
11254 |
-
|
11255 |
$url,
|
11256 |
false,
|
11257 |
13,
|
@@ -11353,15 +11873,12 @@
|
|
11353 |
}
|
11354 |
|
11355 |
if ( ! empty( $deactivate_link ) ) {
|
11356 |
-
|
11357 |
-
|
11358 |
-
|
11359 |
-
|
11360 |
-
|
11361 |
-
|
11362 |
-
*/
|
11363 |
-
$deactivate_link .= '<i class="fs-slug" data-slug="' . $this->_slug . '"></i>';
|
11364 |
-
}
|
11365 |
|
11366 |
// Append deactivation link.
|
11367 |
$before_deactivate['deactivate'] = $deactivate_link;
|
@@ -11422,20 +11939,20 @@
|
|
11422 |
|
11423 |
// @since 1.2.1.5 The free version is auto deactivated.
|
11424 |
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
11425 |
-
( '<li>' .
|
11426 |
'';
|
11427 |
|
11428 |
return sprintf(
|
11429 |
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
11430 |
-
|
11431 |
$this->get_latest_download_link( sprintf(
|
11432 |
-
|
11433 |
$plan_title
|
11434 |
) ),
|
11435 |
$deactivation_step,
|
11436 |
-
|
11437 |
'//bit.ly/upload-wp-plugin',
|
11438 |
-
|
11439 |
);
|
11440 |
}
|
11441 |
|
@@ -11490,6 +12007,18 @@
|
|
11490 |
return $update;
|
11491 |
}
|
11492 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11493 |
#----------------------------------------------------------------------------------
|
11494 |
#region Versioning
|
11495 |
#----------------------------------------------------------------------------------
|
@@ -11537,8 +12066,6 @@
|
|
11537 |
*
|
11538 |
* @author Vova Feldman (@svovaf)
|
11539 |
* @since 1.0.9
|
11540 |
-
*
|
11541 |
-
* @return bool
|
11542 |
*/
|
11543 |
function set_plugin_upgrade_complete() {
|
11544 |
$this->_storage->plugin_upgrade_mode = false;
|
@@ -11566,6 +12093,168 @@
|
|
11566 |
|
11567 |
#endregion
|
11568 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11569 |
#----------------------------------------------------------------------------------
|
11570 |
#region Marketing
|
11571 |
#----------------------------------------------------------------------------------
|
335 |
$this->_version_updates_handler();
|
336 |
}
|
337 |
|
338 |
+
/**
|
339 |
+
* Checks whether this plugin or theme has settings menu.
|
340 |
+
*
|
341 |
+
* @author Leo Fajardo (@leorw)
|
342 |
+
* @since 1.2.2
|
343 |
+
*
|
344 |
+
* @return bool
|
345 |
+
*/
|
346 |
+
function has_settings_menu() {
|
347 |
+
/**
|
348 |
+
* At the moment the wp.org require to show the opt-in in
|
349 |
+
* the themes page. Therefore, if the theme is .org compliant,
|
350 |
+
* treat it as if it doesn't have a menu item.
|
351 |
+
*/
|
352 |
+
if ( $this->is_theme() && $this->is_org_repo_compliant() ) {
|
353 |
+
return false;
|
354 |
+
}
|
355 |
+
|
356 |
+
return $this->_menu->has_menu();
|
357 |
+
}
|
358 |
+
|
359 |
+
/**
|
360 |
+
* Checks whether this a submenu item is visible.
|
361 |
+
*
|
362 |
+
* @author Vova Feldman (@svovaf)
|
363 |
+
* @since 1.2.2.6
|
364 |
+
*
|
365 |
+
* @param string $slug
|
366 |
+
*
|
367 |
+
* @return bool
|
368 |
+
*/
|
369 |
+
function is_submenu_item_visible( $slug ) {
|
370 |
+
if ( ! $this->has_settings_menu() ) {
|
371 |
+
return false;
|
372 |
+
}
|
373 |
+
|
374 |
+
return $this->_menu->is_submenu_item_visible( $slug );
|
375 |
+
}
|
376 |
+
|
377 |
/**
|
378 |
* @author Vova Feldman (@svovaf)
|
379 |
* @since 1.0.9
|
566 |
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
567 |
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
568 |
|
569 |
+
$this->add_ajax_action( 'install_premium_version', array(
|
570 |
+
&$this,
|
571 |
+
'_install_premium_version_ajax_action'
|
572 |
+
) );
|
573 |
+
|
574 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
575 |
|
576 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
678 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
679 |
$plugin_main_file = $this->_storage->plugin_main_file;
|
680 |
if ( isset( $plugin_main_file->path ) && file_exists( $plugin_main_file->path ) ) {
|
681 |
+
return $plugin_main_file->path;
|
682 |
}
|
683 |
}
|
684 |
|
703 |
}
|
704 |
|
705 |
wp_die(
|
706 |
+
$this->get_text( 'failed-finding-main-path' ) .
|
707 |
+
" Module: {$this->_slug}; SDK: " . WP_FS__SDK_VERSION . ";",
|
708 |
+
$this->get_text( 'error' ),
|
709 |
array( 'back_link' => true )
|
710 |
);
|
711 |
}
|
716 |
* Only the original instantiator that calls dynamic_init can modify the module's path.
|
717 |
*/
|
718 |
// Find caller module.
|
719 |
+
$file_and_type = $this->get_caller_main_file_and_type();
|
720 |
+
$plugin_file = $file_and_type->path;
|
721 |
|
722 |
$this->_storage->plugin_main_file = (object) array(
|
723 |
'path' => fs_normalize_path( $plugin_file ),
|
726 |
return $plugin_file;
|
727 |
}
|
728 |
|
729 |
+
/**
|
730 |
+
* Identifies the caller path.
|
731 |
+
*
|
732 |
+
* @todo (Vova) When merging this branch with the theme's one, use the theme's one instead of this one.
|
733 |
+
*
|
734 |
+
* @author Leo Fajardo (@leorw)
|
735 |
+
* @since 1.2.2
|
736 |
+
*
|
737 |
+
* @author Vova Feldman (@svovaf)
|
738 |
+
* @since 1.2.2.3 Find the earliest module in the call stack that calls to the SDK. This fix is for cases
|
739 |
+
* when add-ons are relying on loading the SDK from the parent module, and also allows themes
|
740 |
+
* including the SDK an internal file instead of directly from functions.php.
|
741 |
+
* @since 1.2.1.7 Knows how to handle cases when an add-on includes the parent module logic.
|
742 |
+
*/
|
743 |
+
private function get_caller_main_file_and_type() {
|
744 |
+
self::require_plugin_essentials();
|
745 |
+
|
746 |
+
$all_plugins = get_plugins();
|
747 |
+
$all_plugins_paths = array();
|
748 |
+
|
749 |
+
// Get active plugin's main files real full names (might be symlinks).
|
750 |
+
foreach ( $all_plugins as $relative_path => &$data ) {
|
751 |
+
if ( false === strpos( fs_normalize_path( $relative_path ), '/' ) ) {
|
752 |
+
/**
|
753 |
+
* Ignore plugins that don't have a folder (e.g. Hello Dolly) since they
|
754 |
+
* can't really include the SDK.
|
755 |
+
*
|
756 |
+
* @author Vova Feldman
|
757 |
+
* @since 1.2.1.7
|
758 |
+
*/
|
759 |
+
continue;
|
760 |
+
}
|
761 |
+
|
762 |
+
$all_plugins_paths[] = fs_normalize_path( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) );
|
763 |
+
}
|
764 |
+
|
765 |
+
$caller_file_candidate = false;
|
766 |
+
$caller_map = array();
|
767 |
+
$module_type = WP_FS__MODULE_TYPE_PLUGIN;
|
768 |
+
|
769 |
+
for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
|
770 |
+
if ( empty( $bt[ $i ]['file'] ) ) {
|
771 |
+
continue;
|
772 |
+
}
|
773 |
+
|
774 |
+
if ( $i > 1 && ! empty( $bt[ $i - 1 ]['file'] ) && $bt[ $i ]['file'] === $bt[ $i - 1 ]['file'] ) {
|
775 |
+
// If file same as the prev file in the stack, skip it.
|
776 |
+
continue;
|
777 |
+
}
|
778 |
+
|
779 |
+
if ( ! empty( $bt[ $i ]['function'] ) && in_array( $bt[ $i ]['function'], array(
|
780 |
+
'do_action',
|
781 |
+
'apply_filter',
|
782 |
+
'require_once',
|
783 |
+
'require',
|
784 |
+
'include_once',
|
785 |
+
'include'
|
786 |
+
) )
|
787 |
+
) {
|
788 |
+
// Ignore call stack hooks and files inclusion.
|
789 |
+
continue;
|
790 |
+
}
|
791 |
+
|
792 |
+
$caller_file_path = fs_normalize_path( $bt[ $i ]['file'] );
|
793 |
+
$caller_file_hash = md5( $caller_file_path );
|
794 |
+
|
795 |
+
if ( ! isset( $caller_map[ $caller_file_hash ] ) ) {
|
796 |
+
foreach ( $all_plugins_paths as $plugin_path ) {
|
797 |
+
if ( false !== strpos( $caller_file_path, fs_normalize_path( dirname( $plugin_path ) . '/' ) ) ) {
|
798 |
+
$caller_map[ $caller_file_hash ] = fs_normalize_path( $plugin_path );
|
799 |
+
break;
|
800 |
+
}
|
801 |
+
}
|
802 |
+
}
|
803 |
+
|
804 |
+
if ( isset( $caller_map[ $caller_file_hash ] ) ) {
|
805 |
+
$module_type = WP_FS__MODULE_TYPE_PLUGIN;
|
806 |
+
$caller_file_candidate = $caller_map[ $caller_file_hash ];
|
807 |
+
}
|
808 |
+
}
|
809 |
+
|
810 |
+
if ( empty( $caller_file_candidate ) ) {
|
811 |
+
// Throw an error to the developer in case of some edge case dev environment.
|
812 |
+
wp_die( $this->get_text( 'failed-finding-main-path' ), $this->get_text( 'error' ), array( 'back_link' => true ) );
|
813 |
+
}
|
814 |
+
|
815 |
+
return (object) array(
|
816 |
+
'module_type' => $module_type,
|
817 |
+
'path' => $caller_file_candidate
|
818 |
+
);
|
819 |
+
}
|
820 |
|
821 |
#----------------------------------------------------------------------------------
|
822 |
#region Deactivation Feedback Form
|
898 |
|
899 |
$reason_found_better_plugin = array(
|
900 |
'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
|
901 |
+
'text' => $this->get_text( 'reason-found-a-better-plugin' ),
|
902 |
'input_type' => 'textfield',
|
903 |
+
'input_placeholder' => $this->get_text( 'placeholder-plugin-name' )
|
904 |
);
|
905 |
|
906 |
$reason_temporary_deactivation = array(
|
907 |
'id' => self::REASON_TEMPORARY_DEACTIVATION,
|
908 |
+
'text' => $this->get_text( 'reason-temporary-deactivation' ),
|
909 |
'input_type' => '',
|
910 |
'input_placeholder' => ''
|
911 |
);
|
912 |
|
913 |
$reason_other = array(
|
914 |
'id' => self::REASON_OTHER,
|
915 |
+
'text' => $this->get_text( 'reason-other' ),
|
916 |
'input_type' => 'textfield',
|
917 |
'input_placeholder' => ''
|
918 |
);
|
920 |
$long_term_user_reasons = array(
|
921 |
array(
|
922 |
'id' => self::REASON_NO_LONGER_NEEDED,
|
923 |
+
'text' => $this->get_text( 'reason-no-longer-needed' ),
|
924 |
'input_type' => '',
|
925 |
'input_placeholder' => ''
|
926 |
),
|
927 |
$reason_found_better_plugin,
|
928 |
array(
|
929 |
'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
|
930 |
+
'text' => $this->get_text( 'reason-needed-for-a-short-period' ),
|
931 |
'input_type' => '',
|
932 |
'input_placeholder' => ''
|
933 |
),
|
934 |
array(
|
935 |
'id' => self::REASON_BROKE_MY_SITE,
|
936 |
+
'text' => $this->get_text( 'reason-broke-my-site' ),
|
937 |
'input_type' => '',
|
938 |
'input_placeholder' => '',
|
939 |
'internal_message' => $contact_support_template
|
940 |
),
|
941 |
array(
|
942 |
'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
|
943 |
+
'text' => $this->get_text( 'reason-suddenly-stopped-working' ),
|
944 |
'input_type' => '',
|
945 |
'input_placeholder' => '',
|
946 |
'internal_message' => $contact_support_template
|
950 |
if ( $this->is_paying() ) {
|
951 |
$long_term_user_reasons[] = array(
|
952 |
'id' => self::REASON_CANT_PAY_ANYMORE,
|
953 |
+
'text' => $this->get_text( 'reason-cant-pay-anymore' ),
|
954 |
'input_type' => 'textfield',
|
955 |
+
'input_placeholder' => $this->get_text( 'placeholder-comfortable-price' )
|
956 |
);
|
957 |
}
|
958 |
|
959 |
$reason_dont_share_info = array(
|
960 |
'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
|
961 |
+
'text' => $this->get_text( 'reason-dont-like-to-share-my-information' ),
|
962 |
'input_type' => '',
|
963 |
'input_placeholder' => ''
|
964 |
);
|
979 |
'non-registered-and-non-anonymous-short-term' => array(
|
980 |
array(
|
981 |
'id' => self::REASON_DIDNT_WORK,
|
982 |
+
'text' => $this->get_text( 'reason-didnt-work' ),
|
983 |
'input_type' => '',
|
984 |
'input_placeholder' => ''
|
985 |
),
|
989 |
'short-term' => array(
|
990 |
array(
|
991 |
'id' => self::REASON_COULDNT_MAKE_IT_WORK,
|
992 |
+
'text' => $this->get_text( 'reason-couldnt-make-it-work' ),
|
993 |
'input_type' => '',
|
994 |
'input_placeholder' => '',
|
995 |
'internal_message' => $contact_support_template
|
997 |
$reason_found_better_plugin,
|
998 |
array(
|
999 |
'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
|
1000 |
+
'text' => $this->get_text( 'reason-great-but-need-specific-feature' ),
|
1001 |
'input_type' => 'textarea',
|
1002 |
+
'input_placeholder' => $this->get_text( 'placeholder-feature' )
|
1003 |
),
|
1004 |
array(
|
1005 |
'id' => self::REASON_NOT_WORKING,
|
1006 |
+
'text' => $this->get_text( 'reason-not-working' ),
|
1007 |
'input_type' => 'textarea',
|
1008 |
+
'input_placeholder' => $this->get_text( 'placeholder-share-what-didnt-work' )
|
1009 |
),
|
1010 |
array(
|
1011 |
'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
|
1012 |
+
'text' => $this->get_text( 'reason-not-what-i-was-looking-for' ),
|
1013 |
'input_type' => 'textarea',
|
1014 |
+
'input_placeholder' => $this->get_text( 'placeholder-what-youve-been-looking-for' )
|
1015 |
),
|
1016 |
array(
|
1017 |
'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
|
1018 |
+
'text' => $this->get_text( 'reason-didnt-work-as-expected' ),
|
1019 |
'input_type' => 'textarea',
|
1020 |
+
'input_placeholder' => $this->get_text( 'placeholder-what-did-you-expect' )
|
1021 |
)
|
1022 |
)
|
1023 |
);
|
1041 |
* @since 1.1.2
|
1042 |
*/
|
1043 |
function _submit_uninstall_reason_action() {
|
1044 |
+
$this->_logger->entrance();
|
1045 |
+
|
1046 |
+
$this->check_ajax_referer( 'submit_uninstall_reason' );
|
1047 |
+
|
1048 |
$reason_id = fs_request_get( 'reason_id' );
|
1049 |
|
1050 |
// Check if the given reason ID is an unsigned integer.
|
1085 |
* @param string $slug
|
1086 |
* @param bool $is_init Is initiation sequence.
|
1087 |
*
|
1088 |
+
* @return Freemius|false
|
1089 |
*/
|
1090 |
static function instance( $slug, $is_init = false ) {
|
1091 |
+
if ( empty( $slug ) ) {
|
1092 |
+
return false;
|
1093 |
+
}
|
1094 |
+
|
1095 |
$slug = strtolower( $slug );
|
1096 |
|
1097 |
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
1123 |
* @author Vova Feldman (@svovaf)
|
1124 |
* @since 1.0.6
|
1125 |
*
|
1126 |
+
* @param number $id
|
1127 |
*
|
1128 |
* @return false|Freemius
|
1129 |
*/
|
1168 |
* @author Vova Feldman (@svovaf)
|
1169 |
* @since 1.0.6
|
1170 |
*
|
1171 |
+
* @param string|number $slug_or_id
|
1172 |
*
|
1173 |
* @return bool|Freemius
|
1174 |
*/
|
1226 |
);
|
1227 |
}
|
1228 |
|
1229 |
+
/**
|
1230 |
+
* Check if current page is the opt-in/pending-activation page.
|
1231 |
+
*
|
1232 |
+
* @author Vova Feldman (@svovaf)
|
1233 |
+
* @since 1.2.1.7
|
1234 |
+
*
|
1235 |
+
* @return bool
|
1236 |
+
*/
|
1237 |
+
function is_activation_page() {
|
1238 |
+
if ( $this->_menu->is_main_settings_page() ) {
|
1239 |
+
return true;
|
1240 |
+
}
|
1241 |
+
|
1242 |
+
if ( ! $this->is_activation_mode() ) {
|
1243 |
+
return false;
|
1244 |
+
}
|
1245 |
+
|
1246 |
+
// Check if current page is matching the activation page.
|
1247 |
+
return $this->is_matching_url( $_SERVER['REQUEST_URI'], $this->get_activation_url() );
|
1248 |
+
}
|
1249 |
+
|
1250 |
+
/**
|
1251 |
+
* Check if URL path's are matching and that all querystring
|
1252 |
+
* arguments of the $sub_url exist in the $url with the same values.
|
1253 |
+
*
|
1254 |
+
* WARNING:
|
1255 |
+
* 1. This method doesn't check if the sub/domain are matching.
|
1256 |
+
* 2. Ignore case sensitivity.
|
1257 |
+
*
|
1258 |
+
* @author Vova Feldman (@svovaf)
|
1259 |
+
* @since 1.2.1.7
|
1260 |
+
*
|
1261 |
+
* @param string $url
|
1262 |
+
* @param string $sub_url
|
1263 |
+
*
|
1264 |
+
* @return bool
|
1265 |
+
*/
|
1266 |
+
private function is_matching_url( $url, $sub_url ) {
|
1267 |
+
$url = strtolower( $url );
|
1268 |
+
$sub_url = strtolower( $sub_url );
|
1269 |
+
|
1270 |
+
if ( parse_url( $sub_url, PHP_URL_PATH ) !== parse_url( $url, PHP_URL_PATH ) ) {
|
1271 |
+
// Different path - DO NOT OVERRIDE PAGE.
|
1272 |
+
return false;
|
1273 |
+
}
|
1274 |
+
|
1275 |
+
$url_params = array();
|
1276 |
+
parse_str( parse_url( $url, PHP_URL_QUERY ), $url_params );
|
1277 |
+
|
1278 |
+
$sub_url_params = array();
|
1279 |
+
parse_str( parse_url( $sub_url, PHP_URL_QUERY ), $sub_url_params );
|
1280 |
+
|
1281 |
+
foreach ( $sub_url_params as $key => $val ) {
|
1282 |
+
if ( ! isset( $url_params[ $key ] ) || $val != $url_params[ $key ] ) {
|
1283 |
+
// Not matching query string - DO NOT OVERRIDE PAGE.
|
1284 |
+
return false;
|
1285 |
+
}
|
1286 |
+
}
|
1287 |
+
|
1288 |
+
return true;
|
1289 |
+
}
|
1290 |
+
|
1291 |
/**
|
1292 |
* Get collection of all active plugins.
|
1293 |
*
|
1420 |
// Configure which Freemius powered plugins should be auto updated.
|
1421 |
// add_filter( 'auto_update_plugin', '_include_plugins_in_auto_update', 10, 2 );
|
1422 |
|
1423 |
+
add_action( 'admin_menu', array( 'Freemius', '_add_debug_section' ) );
|
1424 |
|
1425 |
add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) );
|
1426 |
|
1427 |
self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) );
|
1428 |
|
1429 |
+
self::add_ajax_action_static( 'get_db_option', array( 'Freemius', '_get_db_option' ) );
|
1430 |
+
|
1431 |
+
self::add_ajax_action_static( 'set_db_option', array( 'Freemius', '_set_db_option' ) );
|
1432 |
+
|
1433 |
add_action( 'plugins_loaded', array( 'Freemius', '_load_textdomain' ), 1 );
|
1434 |
|
1435 |
self::$_statics_loaded = true;
|
1452 |
|
1453 |
global $fs_active_plugins;
|
1454 |
|
1455 |
+
// Works both for plugins and themes.
|
1456 |
load_plugin_textdomain(
|
1457 |
'freemius',
|
1458 |
false,
|
1459 |
$fs_active_plugins->newest->sdk_path . '/languages/'
|
1460 |
);
|
|
|
|
|
1461 |
}
|
1462 |
|
1463 |
#endregion
|
1470 |
* @author Vova Feldman (@svovaf)
|
1471 |
* @since 1.0.8
|
1472 |
*/
|
1473 |
+
static function _add_debug_section() {
|
1474 |
if ( ! current_user_can( 'activate_plugins' ) ) {
|
1475 |
return;
|
1476 |
}
|
1477 |
|
1478 |
self::$_static_logger->entrance();
|
1479 |
|
1480 |
+
$title = sprintf( '%s [v.%s]', fs_text( 'freemius-debug' ), WP_FS__SDK_VERSION );
|
1481 |
|
1482 |
$hook = null;
|
1483 |
|
1484 |
if ( WP_FS__DEV_MODE ) {
|
1485 |
// Add top-level debug menu item.
|
1486 |
+
$hook = FS_Admin_Menu_Manager::add_page(
|
1487 |
$title,
|
1488 |
$title,
|
1489 |
'manage_options',
|
1493 |
} else {
|
1494 |
if ( 'freemius' === fs_request_get( 'page' ) ) {
|
1495 |
// Add hidden debug page.
|
1496 |
+
$hook = FS_Admin_Menu_Manager::add_subpage(
|
1497 |
null,
|
1498 |
$title,
|
1499 |
$title,
|
1514 |
* @since 1.1.7.3
|
1515 |
*/
|
1516 |
static function _toggle_debug_mode() {
|
1517 |
+
$is_on = fs_request_get( 'is_on', false, 'post' );
|
1518 |
+
|
1519 |
+
if ( fs_request_is_post() && in_array( $is_on, array( 0, 1 ) ) ) {
|
1520 |
+
update_option( 'fs_debug_mode', $is_on );
|
1521 |
|
1522 |
// Turn on/off storage logging.
|
1523 |
+
FS_Logger::_set_storage_logging( ( 1 == $is_on ) );
|
1524 |
}
|
1525 |
|
1526 |
exit;
|
1532 |
*/
|
1533 |
static function _get_debug_log() {
|
1534 |
$logs = FS_Logger::load_db_logs(
|
1535 |
+
fs_request_get( 'filters', false, 'post' ),
|
1536 |
! empty( $_POST['limit'] ) && is_numeric( $_POST['limit'] ) ? $_POST['limit'] : 200,
|
1537 |
! empty( $_POST['offset'] ) && is_numeric( $_POST['offset'] ) ? $_POST['offset'] : 0
|
1538 |
);
|
1540 |
self::shoot_ajax_success( $logs );
|
1541 |
}
|
1542 |
|
1543 |
+
/**
|
1544 |
+
* @author Vova Feldman (@svovaf)
|
1545 |
+
* @since 1.2.1.7
|
1546 |
+
*/
|
1547 |
+
static function _get_db_option() {
|
1548 |
+
$option_name = fs_request_get( 'option_name' );
|
1549 |
+
|
1550 |
+
$value = get_option( $option_name );
|
1551 |
+
|
1552 |
+
$result = array(
|
1553 |
+
'name' => $option_name,
|
1554 |
+
);
|
1555 |
+
|
1556 |
+
if ( false !== $value ) {
|
1557 |
+
if ( ! is_string( $value ) ) {
|
1558 |
+
$value = json_encode( $value );
|
1559 |
+
}
|
1560 |
+
|
1561 |
+
$result['value'] = $value;
|
1562 |
+
}
|
1563 |
+
|
1564 |
+
self::shoot_ajax_success( $result );
|
1565 |
+
}
|
1566 |
+
|
1567 |
+
/**
|
1568 |
+
* @author Vova Feldman (@svovaf)
|
1569 |
+
* @since 1.2.1.7
|
1570 |
+
*/
|
1571 |
+
static function _set_db_option() {
|
1572 |
+
$option_name = fs_request_get( 'option_name' );
|
1573 |
+
$option_value = fs_request_get( 'option_value' );
|
1574 |
+
|
1575 |
+
if ( ! empty( $option_value ) ) {
|
1576 |
+
update_option( $option_name, $option_value );
|
1577 |
+
}
|
1578 |
+
|
1579 |
+
self::shoot_ajax_success();
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
|
1583 |
/**
|
1584 |
* @author Vova Feldman (@svovaf)
|
1585 |
* @since 1.0.8
|
1610 |
check_admin_referer( 'download_logs' );
|
1611 |
|
1612 |
$download_url = FS_Logger::download_db_logs(
|
1613 |
+
fs_request_get( 'filters', false, 'post' )
|
1614 |
);
|
1615 |
|
1616 |
if ( false === $download_url ) {
|
1628 |
static function _debug_page_render() {
|
1629 |
self::$_static_logger->entrance();
|
1630 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1631 |
$vars = array(
|
1632 |
+
'sites' => self::get_all_sites(),
|
1633 |
+
'users' => self::get_all_users(),
|
1634 |
+
'addons' => self::get_all_addons(),
|
1635 |
+
'account_addons' => self::get_all_account_addons(),
|
1636 |
+
'licenses' => self::get_all_licenses(),
|
1637 |
);
|
1638 |
|
1639 |
fs_enqueue_local_style( 'fs_debug', '/admin/debug.css' );
|
1948 |
) {
|
1949 |
switch ( $api_result->error->code ) {
|
1950 |
case 'curl_missing':
|
1951 |
+
$missing_methods = '';
|
1952 |
+
if ( is_array( $api_result->missing_methods ) &&
|
1953 |
+
! empty( $api_result->missing_methods )
|
1954 |
+
) {
|
1955 |
+
foreach ( $api_result->missing_methods as $m ) {
|
1956 |
+
if ( 'curl_version' === $m ) {
|
1957 |
+
continue;
|
1958 |
+
}
|
1959 |
+
|
1960 |
+
if ( ! empty( $missing_methods ) ) {
|
1961 |
+
$missing_methods .= ', ';
|
1962 |
+
}
|
1963 |
+
|
1964 |
+
$missing_methods .= sprintf( '<code>%s</code>', $m );
|
1965 |
+
}
|
1966 |
+
|
1967 |
+
if ( ! empty( $missing_methods ) ) {
|
1968 |
+
$missing_methods = sprintf(
|
1969 |
+
'<br><br><b>%s</b> %s',
|
1970 |
+
$this->get_text( 'curl-disabled-methods' ),
|
1971 |
+
$missing_methods
|
1972 |
+
);
|
1973 |
+
}
|
1974 |
+
}
|
1975 |
+
|
1976 |
$message = sprintf(
|
1977 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
1978 |
+
$this->get_text( 'curl-missing-message' ) . ' ' .
|
1979 |
+
$missing_methods .
|
1980 |
' %s',
|
1981 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1982 |
sprintf(
|
1983 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1984 |
sprintf(
|
1985 |
'<a class="fs-resolve" data-type="curl" href="#"><b>%s</b></a>%s',
|
1986 |
+
$this->get_text( 'curl-missing-no-clue-title' ),
|
1987 |
' - ' . sprintf(
|
1988 |
+
$this->get_text( 'curl-missing-no-clue-desc' ),
|
1989 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1990 |
)
|
1991 |
),
|
1992 |
sprintf(
|
1993 |
'<b>%s</b> - %s',
|
1994 |
+
$this->get_text( 'sysadmin-title' ),
|
1995 |
+
$this->get_text( 'curl-missing-sysadmin-desc' )
|
1996 |
),
|
1997 |
sprintf(
|
1998 |
'<a href="%s"><b>%s</b></a>%s',
|
1999 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2000 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2001 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2002 |
)
|
2003 |
)
|
2004 |
);
|
2005 |
break;
|
2006 |
case 'cloudflare_ddos_protection':
|
2007 |
$message = sprintf(
|
2008 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2009 |
+
$this->get_text( 'cloudflare-blocks-connection-message' ) . ' ' .
|
2010 |
+
$this->get_text( 'happy-to-resolve-issue-asap' ) .
|
2011 |
' %s',
|
2012 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2013 |
sprintf(
|
2014 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2015 |
sprintf(
|
2016 |
'<a class="fs-resolve" data-type="cloudflare" href="#"><b>%s</b></a>%s',
|
2017 |
+
$this->get_text( 'fix-issue-title' ),
|
2018 |
' - ' . sprintf(
|
2019 |
+
$this->get_text( 'fix-issue-desc' ),
|
2020 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2021 |
)
|
2022 |
),
|
2023 |
sprintf(
|
2024 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
2025 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2026 |
+
$this->get_text( 'install-previous-title' ),
|
2027 |
+
' - ' . $this->get_text( 'install-previous-desc' )
|
2028 |
),
|
2029 |
sprintf(
|
2030 |
'<a href="%s"><b>%s</b></a>%s',
|
2031 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2032 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2033 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2034 |
)
|
2035 |
)
|
2036 |
);
|
2037 |
break;
|
2038 |
case 'squid_cache_block':
|
2039 |
$message = sprintf(
|
2040 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2041 |
+
$this->get_text( 'squid-blocks-connection-message' ) .
|
2042 |
' %s',
|
2043 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2044 |
sprintf(
|
2045 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2046 |
sprintf(
|
2047 |
'<a class="fs-resolve" data-type="squid" href="#"><b>%s</b></a>%s',
|
2048 |
+
$this->get_text( 'squid-no-clue-title' ),
|
2049 |
' - ' . sprintf(
|
2050 |
+
$this->get_text( 'squid-no-clue-desc' ),
|
2051 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2052 |
)
|
2053 |
),
|
2054 |
sprintf(
|
2055 |
'<b>%s</b> - %s',
|
2056 |
+
$this->get_text( 'sysadmin-title' ),
|
2057 |
sprintf(
|
2058 |
+
$this->get_text( 'squid-sysadmin-desc' ),
|
2059 |
// We use a filter since the plugin might require additional API connectivity.
|
2060 |
'<b>' . implode( ', ', $this->apply_filters( 'api_domains', array( 'api.freemius.com' ) ) ) . '</b>' )
|
2061 |
),
|
2062 |
sprintf(
|
2063 |
'<a href="%s"><b>%s</b></a>%s',
|
2064 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2065 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2066 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2067 |
)
|
2068 |
)
|
2069 |
);
|
2070 |
break;
|
2071 |
// default:
|
2072 |
+
// $message = $this->get_text( 'connectivity-test-fails-message' );
|
2073 |
// break;
|
2074 |
}
|
2075 |
}
|
2081 |
if ( $is_first_failure ) {
|
2082 |
// First attempt failed.
|
2083 |
$message = sprintf(
|
2084 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2085 |
+
$this->get_text( 'connectivity-test-fails-message' ) . ' ' .
|
2086 |
+
$this->get_text( 'connectivity-test-maybe-temporary' ) . '<br><br>' .
|
2087 |
'%s',
|
2088 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2089 |
sprintf(
|
2090 |
'<div id="fs_firewall_issue_options">%s %s</div>',
|
2091 |
sprintf(
|
2092 |
'<a class="button button-primary fs-resolve" data-type="retry_ping" href="#">%s</a>',
|
2093 |
+
$this->get_text( 'yes-do-your-thing' )
|
2094 |
),
|
2095 |
sprintf(
|
2096 |
'<a href="%s" class="button">%s</a>',
|
2097 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2098 |
+
$this->get_text( 'no-deactivate' )
|
2099 |
)
|
2100 |
)
|
2101 |
);
|
2105 |
} else {
|
2106 |
// Second connectivity attempt failed.
|
2107 |
$message = sprintf(
|
2108 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2109 |
+
$this->get_text( 'connectivity-test-fails-message' ) . ' ' .
|
2110 |
+
$this->get_text( 'happy-to-resolve-issue-asap' ) .
|
2111 |
' %s',
|
2112 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2113 |
sprintf(
|
2114 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2115 |
sprintf(
|
2116 |
'<a class="fs-resolve" data-type="general" href="#"><b>%s</b></a>%s',
|
2117 |
+
$this->get_text( 'fix-issue-title' ),
|
2118 |
' - ' . sprintf(
|
2119 |
+
$this->get_text( 'fix-issue-desc' ),
|
2120 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2121 |
)
|
2122 |
),
|
2123 |
sprintf(
|
2124 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
2125 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2126 |
+
$this->get_text( 'install-previous-title' ),
|
2127 |
+
' - ' . $this->get_text( 'install-previous-desc' )
|
2128 |
),
|
2129 |
sprintf(
|
2130 |
'<a href="%s"><b>%s</b></a>%s',
|
2131 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2132 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2133 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2134 |
)
|
2135 |
)
|
2136 |
);
|
2140 |
$this->_admin_notices->add_sticky(
|
2141 |
$message,
|
2142 |
$message_id,
|
2143 |
+
$this->get_text( 'oops' ) . '...',
|
2144 |
$type
|
2145 |
);
|
2146 |
}
|
2188 |
|
2189 |
// Add 'API Error' custom email section.
|
2190 |
$custom_email_sections['api_error'] = array(
|
2191 |
+
'title' => 'API Error',
|
2192 |
'rows' => array(
|
2193 |
'ping' => array(
|
2194 |
'API Error',
|
2207 |
|
2208 |
$this->_admin_notices->add_sticky(
|
2209 |
sprintf(
|
2210 |
+
$this->get_text( 'fix-request-sent-message' ),
|
2211 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2212 |
),
|
2213 |
'server_details_sent'
|
2309 |
$message = fs_get_template( 'email.php', $vars );
|
2310 |
|
2311 |
// Set the type of email to HTML.
|
2312 |
+
$headers[] = 'Content-type: text/html; charset=UTF-8';
|
2313 |
|
2314 |
$header_string = implode( "\r\n", $headers );
|
2315 |
|
2582 |
|
2583 |
$this->_admin_notices->add(
|
2584 |
( ! empty( $parent_name ) ?
|
2585 |
+
sprintf( $this->get_text( 'addon-x-cannot-run-without-y' ), $this->get_plugin_name(), $parent_name ) :
|
2586 |
+
sprintf( $this->get_text( 'addon-x-cannot-run-without-parent' ), $this->get_plugin_name() )
|
2587 |
),
|
2588 |
+
$this->get_text( 'oops' ) . '...',
|
2589 |
'error'
|
2590 |
);
|
2591 |
|
2608 |
$this->deactivate_premium_only_addon_without_license();
|
2609 |
}
|
2610 |
} else {
|
|
|
|
|
2611 |
if ( $this->has_addons() &&
|
2612 |
'plugin-information' === fs_request_get( 'tab', false ) &&
|
2613 |
$this->get_id() == fs_request_get( 'parent_plugin_id', false )
|
2618 |
}
|
2619 |
}
|
2620 |
|
2621 |
+
add_action( 'admin_init', array( &$this, '_admin_init_action' ) );
|
2622 |
+
|
2623 |
// if ( $this->is_registered() ||
|
2624 |
// $this->is_anonymous() ||
|
2625 |
// $this->is_pending_activation()
|
2688 |
* @since 1.2.1.5
|
2689 |
*/
|
2690 |
function _stop_tracking_callback() {
|
2691 |
+
$this->_logger->entrance();
|
2692 |
+
|
2693 |
+
$this->check_ajax_referer( 'stop_tracking' );
|
2694 |
+
|
2695 |
$result = $this->stop_tracking();
|
2696 |
|
2697 |
if ( true === $result ) {
|
2701 |
$this->_logger->api_error( $result );
|
2702 |
|
2703 |
self::shoot_ajax_failure(
|
2704 |
+
$this->get_text( 'unexpected-api-error' ) .
|
2705 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2706 |
$result->error->message :
|
2707 |
var_export( $result, true ) )
|
2713 |
* @since 1.2.1.5
|
2714 |
*/
|
2715 |
function _allow_tracking_callback() {
|
2716 |
+
$this->_logger->entrance();
|
2717 |
+
|
2718 |
+
$this->check_ajax_referer( 'allow_tracking' );
|
2719 |
+
|
2720 |
$result = $this->allow_tracking();
|
2721 |
|
2722 |
if ( true === $result ) {
|
2726 |
$this->_logger->api_error( $result );
|
2727 |
|
2728 |
self::shoot_ajax_failure(
|
2729 |
+
$this->get_text( 'unexpected-api-error' ) .
|
2730 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2731 |
$result->error->message :
|
2732 |
var_export( $result, true ) )
|
2918 |
// Set the secret key after storing the plugin, we don't want to store the key in the storage.
|
2919 |
$this->_plugin->secret_key = $secret_key;
|
2920 |
|
2921 |
+
if ( ! isset( $plugin_info['menu'] ) ) {
|
2922 |
$plugin_info['menu'] = array();
|
2923 |
|
2924 |
if ( ! empty( $this->_storage->sdk_last_version ) &&
|
3096 |
) );
|
3097 |
|
3098 |
$this->_admin_notices->add_sticky(
|
3099 |
+
$this->get_text( 'premium-activated-message' ),
|
3100 |
'premium_activated',
|
3101 |
+
$this->get_text( 'woot' ) . '!'
|
3102 |
);
|
3103 |
} else {
|
3104 |
// Remove sticky message related to premium code activation.
|
3110 |
if ( $this->is_paying() && ! $this->is_premium() ) {
|
3111 |
$this->_admin_notices->add_sticky(
|
3112 |
sprintf(
|
3113 |
+
$this->get_text( 'you-have-x-license' ),
|
3114 |
$this->_site->plan->title
|
3115 |
) . $this->get_complete_upgrade_instructions(),
|
3116 |
'plan_upgraded',
|
3117 |
+
$this->get_text( 'yee-haw' ) . '!'
|
3118 |
);
|
3119 |
}
|
3120 |
}
|
3152 |
* @since 1.0.6
|
3153 |
*
|
3154 |
* @param string|number $slug_or_id
|
3155 |
+
* @param bool|null $is_premium Since 1.2.1.7 can check for specified add-on version.
|
3156 |
*
|
3157 |
* @return bool
|
3158 |
*/
|
3159 |
+
function is_addon_activated( $slug_or_id, $is_premium = null ) {
|
3160 |
+
$this->_logger->entrance();
|
3161 |
+
|
3162 |
+
$is_activated = self::has_instance( $slug_or_id );
|
3163 |
+
|
3164 |
+
if ( ! $is_activated ) {
|
3165 |
+
return false;
|
3166 |
+
}
|
3167 |
+
|
3168 |
+
if ( is_bool( $is_premium ) ) {
|
3169 |
+
// Check if the specified code version is activate.
|
3170 |
+
$addon = $this->get_addon_instance( $slug_or_id );
|
3171 |
+
$is_activated = ( $is_premium === $addon->is_premium() );
|
3172 |
+
}
|
3173 |
+
|
3174 |
+
return $is_activated;
|
3175 |
}
|
3176 |
|
3177 |
/**
|
3185 |
* @return bool
|
3186 |
*/
|
3187 |
function is_addon_connected( $slug ) {
|
3188 |
+
$this->_logger->entrance();
|
3189 |
+
|
3190 |
$sites = self::get_all_sites();
|
3191 |
|
3192 |
if ( ! isset( $sites[ $slug ] ) ) {
|
3222 |
* @return bool
|
3223 |
*/
|
3224 |
function is_addon_installed( $slug ) {
|
3225 |
+
$this->_logger->entrance();
|
3226 |
+
|
3227 |
return file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $this->get_addon_basename( $slug ) ) );
|
3228 |
}
|
3229 |
|
3242 |
self::instance( $slug )->get_plugin_basename();
|
3243 |
}
|
3244 |
|
3245 |
+
$premium_basename = "{$slug}-premium/{$slug}.php";
|
3246 |
|
3247 |
if ( file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $premium_basename ) ) ) {
|
3248 |
return $premium_basename;
|
3249 |
}
|
3250 |
|
3251 |
+
$free_basename = "{$slug}/{$slug}.php";
|
3252 |
|
3253 |
return $free_basename;
|
3254 |
}
|
3358 |
|
3359 |
$this->_parent->_admin_notices->add_sticky(
|
3360 |
sprintf(
|
3361 |
+
$this->_parent->get_text( $is_after_trial_cancel ?
|
3362 |
'addon-trial-cancelled-message' :
|
3363 |
+
'addon-no-license-message'
|
|
|
3364 |
),
|
3365 |
'<b>' . $this->_plugin->title . '</b>'
|
3366 |
) . ' ' . sprintf(
|
3367 |
'<a href="%s" aria-label="%s" class="button button-primary" style="margin-left: 10px; vertical-align: middle;">%s ➜</a>',
|
3368 |
$this->_parent->addon_url( $this->_slug ),
|
3369 |
+
esc_attr( sprintf( $this->_parent->get_text( 'more-information-about-x' ), $this->_plugin->title ) ),
|
3370 |
+
$this->_parent->get_text( 'purchase-license' )
|
3371 |
),
|
3372 |
'no_addon_license_' . $this->_slug,
|
3373 |
+
( $is_after_trial_cancel ? '' : $this->_parent->get_text( 'oops' ) . '...' ),
|
3374 |
( $is_after_trial_cancel ? 'success' : 'error' )
|
3375 |
);
|
3376 |
|
3490 |
private function run_manual_sync() {
|
3491 |
$this->require_pluggable_essentials();
|
3492 |
|
3493 |
+
if ( ! $this->is_user_admin() ) {
|
3494 |
return;
|
3495 |
}
|
3496 |
|
3802 |
|
3803 |
$this->_admin_notices->add_sticky(
|
3804 |
sprintf(
|
3805 |
+
$this->get_text( 'pending-activation-message' ),
|
3806 |
'<b>' . $this->get_plugin_name() . '</b>',
|
3807 |
'<b>' . $email . '</b>',
|
3808 |
+
$this->get_text( $is_pending_trial ? 'start-the-trial' : 'complete-the-install' )
|
3809 |
),
|
3810 |
'activation_pending',
|
3811 |
'Thanks!'
|
3857 |
|
3858 |
if ( ! $this->is_addon() && ! $this->is_registered() && ! $this->is_anonymous() ) {
|
3859 |
if ( ! $this->is_pending_activation() ) {
|
3860 |
+
if ( ! $this->_menu->is_main_settings_page() ) {
|
3861 |
if ( $this->is_plugin_new_install() || $this->is_only_premium() ) {
|
3862 |
// Show notice for new plugin installations.
|
3863 |
$this->_admin_notices->add(
|
3864 |
sprintf(
|
3865 |
+
$this->get_text( 'you-are-step-away' ),
|
3866 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3867 |
$this->get_activation_url(),
|
3868 |
+
sprintf( $this->get_text( 'activate-x-now' ), $this->get_plugin_name() )
|
3869 |
)
|
3870 |
),
|
3871 |
'',
|
3878 |
// Show notice for new plugin installations.
|
3879 |
$this->_admin_notices->add_sticky(
|
3880 |
sprintf(
|
3881 |
+
$this->get_text( 'few-plugin-tweaks' ),
|
3882 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3883 |
$this->get_activation_url(),
|
3884 |
+
sprintf( $this->get_text( 'optin-x-now' ), $this->get_plugin_name() )
|
3885 |
)
|
3886 |
),
|
3887 |
'connect_account',
|
4111 |
function _activate_plugin_event_hook() {
|
4112 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
4113 |
|
4114 |
+
if ( ! $this->is_user_admin() ) {
|
4115 |
return;
|
4116 |
}
|
4117 |
|
4152 |
// If activating the premium module version, add an admin notice to congratulate for an upgrade completion.
|
4153 |
if ( $is_premium_version_activation ) {
|
4154 |
$this->_admin_notices->add(
|
4155 |
+
sprintf( $this->get_text( 'successful-version-upgrade-message' ), sprintf( '<b>%s</b>', $this->_plugin->title ) ),
|
4156 |
+
$this->get_text( 'woot' ) . '!'
|
4157 |
);
|
4158 |
}
|
4159 |
} else if ( $this->is_anonymous() ) {
|
4187 |
$this->_storage->is_plugin_new_install = empty( $this->_storage->plugin_last_version );
|
4188 |
}
|
4189 |
|
4190 |
+
if ( ! $this->_anonymous_mode &&
|
4191 |
+
$this->has_api_connectivity( WP_FS__DEV_MODE ) &&
|
4192 |
+
! $this->_isAutoInstall
|
4193 |
+
) {
|
4194 |
// Store hint that the plugin was just activated to enable auto-redirection to settings.
|
4195 |
add_option( "fs_{$this->_slug}_activated", true );
|
4196 |
}
|
4217 |
function delete_account_event( $check_user = true ) {
|
4218 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
4219 |
|
4220 |
+
if ( $check_user && ! $this->is_user_admin() ) {
|
4221 |
return;
|
4222 |
}
|
4223 |
|
4942 |
*
|
4943 |
* @return string
|
4944 |
*/
|
4945 |
+
function premium_plugin_basename() {
|
4946 |
+
return "{$this->_slug}-premium/" . basename( $this->_free_plugin_basename );
|
4947 |
}
|
4948 |
|
4949 |
/**
|
5053 |
return $this->_slug;
|
5054 |
}
|
5055 |
|
5056 |
+
/**
|
5057 |
+
* @author Vova Feldman (@svovaf)
|
5058 |
+
* @since 1.2.1.7
|
5059 |
+
*
|
5060 |
+
* @return string Plugin slug.
|
5061 |
+
*/
|
5062 |
+
function get_target_folder_name() {
|
5063 |
+
return $this->_slug . ( $this->can_use_premium_code() ? '-premium' : '' );
|
5064 |
+
}
|
5065 |
+
|
5066 |
/**
|
5067 |
* @author Vova Feldman (@svovaf)
|
5068 |
* @since 1.0.1
|
5174 |
return $this->apply_filters( 'plugin_version', $plugin_data['Version'] );
|
5175 |
}
|
5176 |
|
5177 |
+
/**
|
5178 |
+
* @author Vova Feldman (@svovaf)
|
5179 |
+
* @since 1.2.1.7
|
5180 |
+
*
|
5181 |
+
* @return string
|
5182 |
+
*/
|
5183 |
+
function get_plugin_title() {
|
5184 |
+
$this->_logger->entrance();
|
5185 |
+
|
5186 |
+
$title = $this->_plugin->title;
|
5187 |
+
|
5188 |
+
return $this->apply_filters( 'plugin_title', $title );
|
5189 |
+
}
|
5190 |
+
|
5191 |
/**
|
5192 |
* @author Vova Feldman (@svovaf)
|
5193 |
* @since 1.0.4
|
5362 |
}
|
5363 |
|
5364 |
/**
|
5365 |
+
* Check if user has connected his account (opted-in).
|
5366 |
+
*
|
5367 |
+
* Note:
|
5368 |
+
* If the user opted-in and opted-out on a later stage,
|
5369 |
+
* this will still return true. If you want to check if the
|
5370 |
+
* user is currently opted-in, use:
|
5371 |
+
* `$fs->is_registered() && $fs->is_tracking_allowed()`
|
5372 |
*
|
5373 |
* @author Vova Feldman (@svovaf)
|
5374 |
* @since 1.0.1
|
6010 |
return ( $current_plan_order > $required_plan_order );
|
6011 |
}
|
6012 |
|
6013 |
+
/**
|
6014 |
+
* Check if module has only one plan.
|
6015 |
+
*
|
6016 |
+
* @author Vova Feldman (@svovaf)
|
6017 |
+
* @since 1.2.1.7
|
6018 |
+
*
|
6019 |
+
* @return bool
|
6020 |
+
*/
|
6021 |
+
function is_single_plan() {
|
6022 |
+
$this->_logger->entrance();
|
6023 |
+
|
6024 |
+
if ( ! $this->is_registered() ||
|
6025 |
+
! is_array( $this->_plans ) ||
|
6026 |
+
0 === count( $this->_plans )
|
6027 |
+
) {
|
6028 |
+
return true;
|
6029 |
+
}
|
6030 |
+
|
6031 |
+
return ( 1 === count( $this->_plans ) );
|
6032 |
+
}
|
6033 |
+
|
6034 |
/**
|
6035 |
* Check if plan based on trial. If not in trial mode, should return false.
|
6036 |
*
|
6171 |
* @since 1.2.0
|
6172 |
*/
|
6173 |
function _add_license_activation() {
|
6174 |
+
if ( ! $this->is_user_admin() ) {
|
6175 |
// Only admins can activate a license.
|
6176 |
return;
|
6177 |
}
|
6206 |
* @since 1.1.9
|
6207 |
*/
|
6208 |
function _activate_license_ajax_action() {
|
6209 |
+
$this->_logger->entrance();
|
6210 |
+
|
6211 |
+
$this->check_ajax_referer( 'activate_license' );
|
6212 |
+
|
6213 |
$license_key = trim( fs_request_get( 'license_key' ) );
|
6214 |
|
6215 |
if ( empty( $license_key ) ) {
|
6216 |
exit;
|
6217 |
}
|
6218 |
|
6219 |
+
$slug = fs_request_get( 'slug', '', 'post' );
|
6220 |
+
$fs = ( $slug === $this->_slug ) ?
|
6221 |
+
$this :
|
6222 |
+
$this->get_addon_instance( $slug );
|
6223 |
+
|
6224 |
$error = false;
|
6225 |
$next_page = false;
|
6226 |
|
6227 |
+
if ( $fs->is_registered() ) {
|
6228 |
$api = $fs->get_api_site_scope();
|
6229 |
$install = $api->call( '/', 'put', array(
|
6230 |
+
'license_key' => $fs->apply_filters( 'license_key', $license_key )
|
6231 |
) );
|
6232 |
|
6233 |
if ( isset( $install->error ) ) {
|
6234 |
$error = $install->error->message;
|
6235 |
} else {
|
6236 |
+
$parent_fs = $fs->is_addon() ?
|
6237 |
+
$fs->get_parent_instance() :
|
6238 |
+
$fs;
|
6239 |
|
6240 |
+
$next_page = $parent_fs->_get_sync_license_url( $fs->get_id(), true );
|
6241 |
|
6242 |
+
$fs->reconnect_locally();
|
6243 |
}
|
6244 |
} else {
|
6245 |
+
$next_page = $fs->opt_in( false, false, false, $license_key );
|
6246 |
|
6247 |
if ( isset( $next_page->error ) ) {
|
6248 |
$error = $next_page->error;
|
6271 |
* @since 1.2.1.5
|
6272 |
*/
|
6273 |
function _update_billing_ajax_action() {
|
6274 |
+
$this->_logger->entrance();
|
6275 |
|
6276 |
+
$this->check_ajax_referer( 'update_billing' );
|
6277 |
+
|
6278 |
+
if ( ! $this->is_user_admin() ) {
|
6279 |
// Only for admins.
|
6280 |
self::shoot_ajax_failure();
|
6281 |
}
|
6304 |
* @since 1.2.1.5
|
6305 |
*/
|
6306 |
function _start_trial_ajax_action() {
|
6307 |
+
$this->_logger->entrance();
|
6308 |
|
6309 |
+
$this->check_ajax_referer( 'start_trial' );
|
6310 |
+
|
6311 |
+
if ( ! $this->is_user_admin() ) {
|
6312 |
// Only for admins.
|
6313 |
self::shoot_ajax_failure();
|
6314 |
}
|
6342 |
* @since 1.2.0
|
6343 |
*/
|
6344 |
function _resend_license_key_ajax_action() {
|
6345 |
+
$this->_logger->entrance();
|
6346 |
+
|
6347 |
+
$this->check_ajax_referer( 'resend_license_key' );
|
6348 |
+
|
6349 |
+
$email_address = sanitize_email( trim( fs_request_get( 'email', '', 'post' ) ) );
|
6350 |
|
|
|
6351 |
if ( empty( $email_address ) ) {
|
6352 |
exit;
|
6353 |
}
|
6366 |
$error = $result->error;
|
6367 |
|
6368 |
if ( in_array( $error->code, array( 'invalid_email', 'no_user' ) ) ) {
|
6369 |
+
$error = $this->get_text( 'email-not-found' );
|
6370 |
} else if ( 'no_license' === $error->code ) {
|
6371 |
+
$error = $this->get_text( 'no-active-licenses' );
|
6372 |
} else {
|
6373 |
$error = $error->message;
|
6374 |
}
|
6379 |
);
|
6380 |
|
6381 |
if ( false !== $error ) {
|
6382 |
+
$licenses['error'] = sprintf( '%s... %s', $this->get_text( 'oops' ), strtolower( $error ) );
|
6383 |
}
|
6384 |
|
6385 |
echo json_encode( $licenses );
|
6395 |
*
|
6396 |
* @return bool
|
6397 |
*/
|
6398 |
+
function is_plugins_page() {
|
6399 |
global $pagenow;
|
6400 |
|
6401 |
return ( 'plugins.php' === $pagenow );
|
6402 |
}
|
6403 |
|
6404 |
+
/**
|
6405 |
+
* Helper method to check if user in the themes page.
|
6406 |
+
*
|
6407 |
+
* @author Vova Feldman (@svovaf)
|
6408 |
+
* @since 1.2.2.6
|
6409 |
+
*
|
6410 |
+
* @return bool
|
6411 |
+
*/
|
6412 |
+
function is_themes_page() {
|
6413 |
+
global $pagenow;
|
6414 |
+
|
6415 |
+
return ( 'themes.php' === $pagenow );
|
6416 |
+
}
|
6417 |
+
|
6418 |
#----------------------------------------------------------------------------------
|
6419 |
#region URL Generators
|
6420 |
#----------------------------------------------------------------------------------
|
6593 |
return $this->_is_premium_only;
|
6594 |
}
|
6595 |
|
6596 |
+
/**
|
6597 |
+
* Checks if the plugin's type is "plugin". The other type is "theme".
|
6598 |
+
*
|
6599 |
+
* @author Leo Fajardo (@leorw)
|
6600 |
+
* @since 1.2.2
|
6601 |
+
*
|
6602 |
+
* @return bool
|
6603 |
+
*/
|
6604 |
+
function is_plugin() {
|
6605 |
+
return true;
|
6606 |
+
}
|
6607 |
+
|
6608 |
/**
|
6609 |
* Check if module has a premium code version.
|
6610 |
*
|
6731 |
$ajax_action = fs_request_get( 'action' );
|
6732 |
|
6733 |
foreach ( $actions as $action ) {
|
6734 |
+
if ( $ajax_action === self::get_ajax_action_static( $action, $slug ) ) {
|
6735 |
return true;
|
6736 |
}
|
6737 |
}
|
6792 |
}
|
6793 |
}
|
6794 |
|
6795 |
+
$page_param = $this->_menu->get_slug( $page );
|
6796 |
+
|
6797 |
+
if ( ! $this->has_settings_menu() ) {
|
6798 |
+
if ( ! empty( $page ) ) {
|
6799 |
+
// Module doesn't have a setting page, but since the request is for
|
6800 |
+
// a specific Freemius page, use the admin.php path.
|
6801 |
+
return add_query_arg( array_merge( $params, array(
|
6802 |
+
'page' => $page_param,
|
6803 |
+
) ), admin_url( 'admin.php', 'admin' ) );
|
6804 |
+
} else {
|
6805 |
+
if ( $this->is_activation_mode() ) {
|
6806 |
+
/**
|
6807 |
+
* @author Vova Feldman
|
6808 |
+
* @since 1.2.1.6
|
6809 |
+
*
|
6810 |
+
* If plugin doesn't have a settings page, create one for the opt-in screen.
|
6811 |
+
*/
|
6812 |
+
return add_query_arg( array_merge( $params, array(
|
6813 |
+
'page' => $this->_slug,
|
6814 |
+
) ), admin_url( 'admin.php', 'admin' ) );
|
6815 |
+
} else {
|
6816 |
+
// Plugin without a settings page.
|
6817 |
+
return admin_url( 'plugins.php' );
|
6818 |
+
}
|
6819 |
+
}
|
6820 |
+
}
|
6821 |
+
|
6822 |
+
// Module has a submenu settings page.
|
6823 |
+
if ( ! $this->_menu->is_top_level() ) {
|
6824 |
$parent_slug = $this->_menu->get_parent_slug();
|
6825 |
$menu_file = ( false !== strpos( $parent_slug, '.php' ) ) ?
|
6826 |
$parent_slug :
|
6827 |
'admin.php';
|
6828 |
|
6829 |
return add_query_arg( array_merge( $params, array(
|
6830 |
+
'page' => $page_param,
|
6831 |
) ), admin_url( $menu_file, 'admin' ) );
|
6832 |
}
|
6833 |
|
6834 |
+
// Module has a top level CPT settings page.
|
6835 |
if ( $this->_menu->is_cpt() ) {
|
6836 |
if ( empty( $page ) && $this->is_activation_mode() ) {
|
6837 |
return add_query_arg( array_merge( $params, array(
|
6838 |
+
'page' => $page_param
|
6839 |
) ), admin_url( 'admin.php', 'admin' ) );
|
6840 |
} else {
|
6841 |
if ( ! empty( $page ) ) {
|
6842 |
+
$params['page'] = $page_param;
|
6843 |
}
|
6844 |
|
6845 |
+
return add_query_arg(
|
6846 |
+
$params,
|
6847 |
+
admin_url( $this->_menu->get_raw_slug(), 'admin' )
|
6848 |
+
);
|
6849 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6850 |
}
|
6851 |
+
|
6852 |
+
// Module has a custom top level settings page.
|
6853 |
+
return add_query_arg( array_merge( $params, array(
|
6854 |
+
'page' => $page_param,
|
6855 |
+
) ), admin_url( 'admin.php', 'admin' ) );
|
6856 |
}
|
6857 |
|
6858 |
/**
|
6863 |
*
|
6864 |
* @param bool|number $plugin_id
|
6865 |
* @param bool $add_action_nonce
|
6866 |
+
* @param array $params
|
6867 |
*
|
6868 |
* @return string
|
6869 |
*/
|
6870 |
+
function _get_sync_license_url( $plugin_id = false, $add_action_nonce = true, $params = array() ) {
|
|
|
|
|
6871 |
if ( is_numeric( $plugin_id ) ) {
|
6872 |
$params['plugin_id'] = $plugin_id;
|
6873 |
}
|
6993 |
|
6994 |
/* Security
|
6995 |
------------------------------------------------------------------------------------------------------------------*/
|
6996 |
+
private static function _encrypt( $str ) {
|
6997 |
if ( is_null( $str ) ) {
|
6998 |
return null;
|
6999 |
}
|
7000 |
|
7001 |
+
/**
|
7002 |
+
* The encrypt/decrypt functions are used to protect
|
7003 |
+
* the user from messing up with some of the sensitive
|
7004 |
+
* data stored for the module as a JSON in the database.
|
7005 |
+
*
|
7006 |
+
* I used the same suggested hack by the theme review team.
|
7007 |
+
* For more details, look at the function `Base64UrlDecode()`
|
7008 |
+
* in `./sdk/FreemiusBase.php`.
|
7009 |
+
*
|
7010 |
+
* @todo Remove this hack once the base64 error is removed from the Theme Check.
|
7011 |
+
*
|
7012 |
+
* @author Vova Feldman (@svovaf)
|
7013 |
+
* @since 1.2.2
|
7014 |
+
*/
|
7015 |
+
$fn = 'base64' . '_encode';
|
7016 |
+
|
7017 |
+
return $fn( $str );
|
7018 |
}
|
7019 |
|
7020 |
+
static function _decrypt( $str ) {
|
7021 |
if ( is_null( $str ) ) {
|
7022 |
return null;
|
7023 |
}
|
7024 |
|
7025 |
+
/**
|
7026 |
+
* The encrypt/decrypt functions are used to protect
|
7027 |
+
* the user from messing up with some of the sensitive
|
7028 |
+
* data stored for the module as a JSON in the database.
|
7029 |
+
*
|
7030 |
+
* I used the same suggested hack by the theme review team.
|
7031 |
+
* For more details, look at the function `Base64UrlDecode()`
|
7032 |
+
* in `./sdk/FreemiusBase.php`.
|
7033 |
+
*
|
7034 |
+
* @todo Remove this hack once the base64 error is removed from the Theme Check.
|
7035 |
+
*
|
7036 |
+
* @author Vova Feldman (@svovaf)
|
7037 |
+
* @since 1.2.2
|
7038 |
+
*/
|
7039 |
+
$fn = 'base64' . '_decode';
|
7040 |
+
|
7041 |
+
return $fn( $str );
|
7042 |
}
|
7043 |
|
7044 |
/**
|
7049 |
*
|
7050 |
* @return FS_Entity Return an encrypted clone entity.
|
7051 |
*/
|
7052 |
+
private static function _encrypt_entity( FS_Entity $entity ) {
|
7053 |
$clone = clone $entity;
|
7054 |
$props = get_object_vars( $entity );
|
7055 |
|
7056 |
foreach ( $props as $key => $val ) {
|
7057 |
+
$clone->{$key} = self::_encrypt( $val );
|
7058 |
}
|
7059 |
|
7060 |
return $clone;
|
7068 |
*
|
7069 |
* @return FS_Entity Return an decrypted clone entity.
|
7070 |
*/
|
7071 |
+
private static function _decrypt_entity( FS_Entity $entity ) {
|
7072 |
$clone = clone $entity;
|
7073 |
$props = get_object_vars( $entity );
|
7074 |
|
7075 |
foreach ( $props as $key => $val ) {
|
7076 |
+
$clone->{$key} = self::_decrypt( $val );
|
7077 |
}
|
7078 |
|
7079 |
return $clone;
|
7191 |
) {
|
7192 |
// Load site.
|
7193 |
$this->_site = clone $site;
|
7194 |
+
$this->_site->plan = self::_decrypt_entity( $this->_site->plan );
|
7195 |
|
7196 |
// Load relevant user.
|
7197 |
$this->_user = clone $users[ $this->_site->user_id ];
|
7203 |
} else {
|
7204 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
7205 |
if ( $this->_plans[ $i ] instanceof FS_Plugin_Plan ) {
|
7206 |
+
$this->_plans[ $i ] = self::_decrypt_entity( $this->_plans[ $i ] );
|
7207 |
} else {
|
7208 |
unset( $this->_plans[ $i ] );
|
7209 |
}
|
7512 |
* @param FS_User $user
|
7513 |
* @param FS_Site $site
|
7514 |
* @param bool $redirect
|
7515 |
+
* @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will
|
7516 |
+
* redirect (or return a URL) to the account page with a special parameter to
|
7517 |
+
* trigger the auto installation processes.
|
7518 |
*
|
7519 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7520 |
*/
|
7521 |
+
function setup_account(
|
7522 |
+
FS_User $user,
|
7523 |
+
FS_Site $site,
|
7524 |
+
$redirect = true,
|
7525 |
+
$auto_install = false
|
7526 |
+
) {
|
7527 |
$this->_user = $user;
|
7528 |
$this->_site = $site;
|
7529 |
|
7558 |
|
7559 |
if ( ! $this->is_paying_or_trial() ) {
|
7560 |
$this->_admin_notices->add_sticky(
|
7561 |
+
sprintf( $this->get_text( 'plugin-x-activation-message' ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
7562 |
'activation_complete'
|
7563 |
);
|
7564 |
}
|
7569 |
if ( $this->is_paying() ) {
|
7570 |
$this->_admin_notices->add_sticky(
|
7571 |
sprintf(
|
7572 |
+
$this->get_text( 'activation-with-plan-x-message' ),
|
7573 |
$this->_site->plan->title
|
7574 |
) . $this->get_complete_upgrade_instructions(),
|
7575 |
'plan_upgraded',
|
7576 |
+
$this->get_text( 'yee-haw' ) . '!'
|
7577 |
);
|
7578 |
} else {
|
7579 |
$this->_admin_notices->add_sticky(
|
7580 |
sprintf(
|
7581 |
+
$this->get_text( 'trial-started-message' ),
|
7582 |
'<i>' . $this->get_plugin_name() . '</i>'
|
7583 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
7584 |
'trial_started',
|
7585 |
+
$this->get_text( 'yee-haw' ) . '!'
|
7586 |
);
|
7587 |
}
|
7588 |
}
|
7601 |
|
7602 |
$next_page = '';
|
7603 |
|
7604 |
+
$extra = array();
|
7605 |
+
if ( $auto_install ) {
|
7606 |
+
$extra['auto_install'] = 'true';
|
7607 |
+
}
|
7608 |
+
|
7609 |
if ( is_numeric( $plugin_id ) ) {
|
7610 |
/**
|
7611 |
* @author Leo Fajardo
|
7615 |
*/
|
7616 |
if ( $this->is_anonymous() || $plugin_id != $this->_plugin->id ) {
|
7617 |
// Add-on was installed - sync license right after install.
|
7618 |
+
$next_page = $this->_get_sync_license_url( $plugin_id, true, $extra );
|
7619 |
}
|
7620 |
} else {
|
7621 |
/**
|
7629 |
// Reload the page with the keys.
|
7630 |
$next_page = $this->is_anonymous() ?
|
7631 |
// If user previously skipped, redirect to account page.
|
7632 |
+
$this->get_account_url( false, $extra ) :
|
7633 |
$this->get_after_activation_url( 'after_connect_url' );
|
7634 |
}
|
7635 |
|
7663 |
fs_request_get( 'user_secret_key' ),
|
7664 |
fs_request_get( 'install_id' ),
|
7665 |
fs_request_get( 'install_public_key' ),
|
7666 |
+
fs_request_get( 'install_secret_key' ),
|
7667 |
+
true,
|
7668 |
+
fs_request_get_bool( 'auto_install' )
|
7669 |
);
|
7670 |
} else if ( fs_request_has( 'pending_activation' ) ) {
|
7671 |
$this->set_pending_confirmation( fs_request_get( 'user_email' ), true );
|
7686 |
* @param string $install_public_key
|
7687 |
* @param string $install_secret_key
|
7688 |
* @param bool $redirect
|
7689 |
+
* @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will
|
7690 |
+
* redirect (or return a URL) to the account page with a special parameter to
|
7691 |
+
* trigger the auto installation processes.
|
7692 |
*
|
7693 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7694 |
*/
|
7699 |
$install_id,
|
7700 |
$install_public_key,
|
7701 |
$install_secret_key,
|
7702 |
+
$redirect = true,
|
7703 |
+
$auto_install = false
|
7704 |
) {
|
7705 |
$user = new FS_User();
|
7706 |
$user->id = $user_id;
|
7722 |
$site = new FS_Site( $site_result );
|
7723 |
$this->_site = $site;
|
7724 |
|
7725 |
+
return $this->setup_account(
|
7726 |
+
$this->_user,
|
7727 |
+
$this->_site,
|
7728 |
+
$redirect,
|
7729 |
+
$auto_install
|
7730 |
+
);
|
7731 |
}
|
7732 |
|
7733 |
/**
|
7864 |
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
7865 |
|
7866 |
$this->_admin_notices->add(
|
7867 |
+
sprintf( $this->get_text( 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
7868 |
+
$this->get_text( 'contact-us-with-error-message' ) . ' ' . '<b>' . $install->error->message . '</b>',
|
7869 |
+
$this->get_text( 'oops' ) . '...',
|
7870 |
'error'
|
7871 |
);
|
7872 |
|
7908 |
|
7909 |
if ( isset( $addon_install->error ) ) {
|
7910 |
$this->_admin_notices->add(
|
7911 |
+
sprintf( $this->get_text( 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
7912 |
+
$this->get_text( 'contact-us-with-error-message' ) . ' ' . '<b>' . $addon_install->error->message . '</b>',
|
7913 |
+
$this->get_text( 'oops' ) . '...',
|
7914 |
'error'
|
7915 |
);
|
7916 |
|
7994 |
fs_request_is_action( $this->_slug . '_activate_new' )
|
7995 |
) {
|
7996 |
$this->_install_with_new_user();
|
7997 |
+
} else if ( fs_request_is_action( 'sync_user' ) && ! $this->has_settings_menu() ) {
|
7998 |
+
$this->_handle_account_user_sync();
|
7999 |
}
|
8000 |
}
|
8001 |
}
|
8035 |
|
8036 |
$hook = false;
|
8037 |
|
8038 |
+
if ( ! $this->_menu->has_menu() ) {
|
8039 |
// Add the opt-in page without a menu item.
|
8040 |
+
$hook = FS_Admin_Menu_Manager::add_subpage(
|
8041 |
null,
|
8042 |
$this->get_plugin_name(),
|
8043 |
$this->get_plugin_name(),
|
8050 |
|
8051 |
if ( false === $hook ) {
|
8052 |
// Create new menu item just for the opt-in.
|
8053 |
+
$hook = FS_Admin_Menu_Manager::add_page(
|
8054 |
$this->get_plugin_name(),
|
8055 |
$this->get_plugin_name(),
|
8056 |
'manage_options',
|
8062 |
$menus = array( $this->_menu->get_parent_slug() );
|
8063 |
|
8064 |
if ( $this->_menu->is_override_exact() ) {
|
8065 |
+
if ( ! $this->is_matching_url( $_SERVER['REQUEST_URI'], $this->get_activation_url() ) ) {
|
|
|
|
|
|
|
|
|
|
|
8066 |
return;
|
8067 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8068 |
}
|
8069 |
|
8070 |
foreach ( $menus as $parent_slug ) {
|
8081 |
}
|
8082 |
}
|
8083 |
|
8084 |
+
if ( $this->is_activation_page() ) {
|
8085 |
// Clean admin page from distracting content.
|
8086 |
self::_clean_admin_content_section();
|
8087 |
}
|
8145 |
if ( $this->is_registered() ) {
|
8146 |
// Add user account page.
|
8147 |
$this->add_submenu_item(
|
8148 |
+
$this->get_text( 'account' ),
|
8149 |
array( &$this, '_account_page_render' ),
|
8150 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'account' ),
|
8151 |
'manage_options',
|
8152 |
'account',
|
8153 |
array( &$this, '_account_page_load' ),
|
8154 |
WP_FS__DEFAULT_PRIORITY,
|
8155 |
+
$this->is_submenu_item_visible( 'account' )
|
8156 |
);
|
8157 |
}
|
8158 |
|
8159 |
// Add contact page.
|
8160 |
$this->add_submenu_item(
|
8161 |
+
$this->get_text( 'contact-us' ),
|
8162 |
array( &$this, '_contact_page_render' ),
|
8163 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'contact-us' ),
|
8164 |
'manage_options',
|
8165 |
'contact',
|
8166 |
'Freemius::_clean_admin_content_section',
|
8167 |
WP_FS__DEFAULT_PRIORITY,
|
8168 |
+
$this->is_submenu_item_visible( 'contact' )
|
8169 |
);
|
8170 |
|
8171 |
if ( $this->has_addons() ) {
|
8172 |
$this->add_submenu_item(
|
8173 |
+
$this->get_text( 'add-ons' ),
|
8174 |
array( &$this, '_addons_page_render' ),
|
8175 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'add-ons' ),
|
8176 |
'manage_options',
|
8177 |
'addons',
|
8178 |
array( &$this, '_addons_page_load' ),
|
8179 |
WP_FS__LOWEST_PRIORITY - 1,
|
8180 |
+
$this->is_submenu_item_visible( 'addons' )
|
8181 |
);
|
8182 |
}
|
8183 |
|
8184 |
+
$show_pricing = (
|
8185 |
+
// Has at least one paid plan.
|
8186 |
+
$this->has_paid_plan() &&
|
8187 |
+
// Didn't ask to hide the pricing page.
|
8188 |
+
$this->is_submenu_item_visible( 'pricing' ) &&
|
8189 |
+
// Don't have a valid active license or has more than one plan.
|
8190 |
+
( ! $this->is_paying() || ! $this->is_single_plan() )
|
8191 |
+
);
|
8192 |
// If user don't have paid plans, add pricing page
|
8193 |
// to support add-ons checkout but don't add the submenu item.
|
8194 |
// || (isset( $_GET['page'] ) && $this->_menu->get_slug( 'pricing' ) == $_GET['page']);
|
8210 |
|
8211 |
// Add upgrade/pricing page.
|
8212 |
$this->add_submenu_item(
|
8213 |
+
$this->get_text( $pricing_cta_slug ) . ' ' . ( is_rtl() ? '←' : '➤' ),
|
8214 |
array( &$this, '_pricing_page_render' ),
|
8215 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'pricing' ),
|
8216 |
'manage_options',
|
8217 |
'pricing',
|
8218 |
'Freemius::_clean_admin_content_section',
|
8269 |
$menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
|
8270 |
|
8271 |
if ( ! isset( $item['url'] ) ) {
|
8272 |
+
$hook = FS_Admin_Menu_Manager::add_subpage(
|
8273 |
$item['show_submenu'] ?
|
8274 |
$this->get_top_level_menu_slug() :
|
8275 |
null,
|
8284 |
add_action( "load-$hook", $item['before_render_function'] );
|
8285 |
}
|
8286 |
} else {
|
8287 |
+
FS_Admin_Menu_Manager::add_subpage(
|
8288 |
$this->get_top_level_menu_slug(),
|
8289 |
$item['page_title'],
|
8290 |
$menu_item,
|
8377 |
}
|
8378 |
|
8379 |
if ( ! $this->is_activation_mode() ) {
|
8380 |
+
if ( $this->is_submenu_item_visible( 'support' ) ) {
|
8381 |
$this->add_submenu_link_item(
|
8382 |
+
$this->apply_filters( 'support_forum_submenu', $this->get_text( 'support-forum' ) ),
|
8383 |
$this->apply_filters( 'support_forum_url', 'https://wordpress.org/support/plugin/' . $this->_slug ),
|
8384 |
'wp-support-forum',
|
8385 |
null,
|
8505 |
|
8506 |
#endregion ------------------------------------------------------------------
|
8507 |
|
8508 |
+
#--------------------------------------------------------------------------------
|
8509 |
+
#region Actions / Hooks / Filters
|
8510 |
+
#--------------------------------------------------------------------------------
|
8511 |
+
|
8512 |
/**
|
8513 |
* @author Vova Feldman (@svovaf)
|
8514 |
* @since 1.1.7
|
8542 |
*
|
8543 |
* @return string
|
8544 |
*/
|
8545 |
+
function get_ajax_action( $tag ) {
|
8546 |
+
return self::get_ajax_action_static( $tag, $this->_slug );
|
8547 |
+
}
|
8548 |
+
|
8549 |
+
/**
|
8550 |
+
* @author Vova Feldman (@svovaf)
|
8551 |
+
* @since 1.2.1.7
|
8552 |
+
*
|
8553 |
+
* @param string $tag
|
8554 |
+
*
|
8555 |
+
* @return string
|
8556 |
+
*/
|
8557 |
+
function get_ajax_security( $tag ) {
|
8558 |
+
return wp_create_nonce( $this->get_ajax_action( $tag ) );
|
8559 |
+
}
|
8560 |
+
|
8561 |
+
/**
|
8562 |
+
* @author Vova Feldman (@svovaf)
|
8563 |
+
* @since 1.2.1.7
|
8564 |
+
*
|
8565 |
+
* @param string $tag
|
8566 |
+
*/
|
8567 |
+
function check_ajax_referer( $tag ) {
|
8568 |
+
check_ajax_referer( $this->get_ajax_action( $tag ), 'security' );
|
8569 |
}
|
8570 |
|
8571 |
/**
|
8577 |
*
|
8578 |
* @return string
|
8579 |
*/
|
8580 |
+
private static function get_ajax_action_static( $tag, $slug = '' ) {
|
8581 |
+
$action = "fs_{$tag}";
|
8582 |
+
|
8583 |
+
if ( ! empty( $slug ) ) {
|
8584 |
+
$action .= "_{$slug}";
|
8585 |
+
}
|
8586 |
+
|
8587 |
+
return $action;
|
8588 |
}
|
8589 |
|
8590 |
/**
|
8623 |
*
|
8624 |
* @uses add_action()
|
8625 |
*/
|
8626 |
+
function add_action(
|
8627 |
+
$tag,
|
8628 |
+
$function_to_add,
|
8629 |
+
$priority = WP_FS__DEFAULT_PRIORITY,
|
8630 |
+
$accepted_args = 1
|
8631 |
+
) {
|
8632 |
$this->_logger->entrance( $tag );
|
8633 |
|
8634 |
add_action( $this->get_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
|
8691 |
}
|
8692 |
|
8693 |
add_action(
|
8694 |
+
'wp_ajax_' . self::get_ajax_action_static( $tag, $slug ),
|
8695 |
$function_to_add,
|
8696 |
$priority,
|
8697 |
0
|
8803 |
return has_filter( $this->get_action_tag( $tag ), $function_to_check );
|
8804 |
}
|
8805 |
|
8806 |
+
#endregion
|
8807 |
+
|
8808 |
/**
|
8809 |
* Override default i18n text phrases.
|
8810 |
*
|
8839 |
}
|
8840 |
|
8841 |
$encrypted_site = clone $this->_site;
|
8842 |
+
$encrypted_site->plan = self::_encrypt_entity( $this->_site->plan );
|
8843 |
|
8844 |
$sites = self::get_all_sites();
|
8845 |
$sites[ $this->_slug ] = $encrypted_site;
|
8862 |
// Copy plans.
|
8863 |
$encrypted_plans = array();
|
8864 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
8865 |
+
$encrypted_plans[] = self::_encrypt_entity( $this->_plans[ $i ] );
|
8866 |
}
|
8867 |
|
8868 |
$plans[ $this->_slug ] = $encrypted_plans;
|
9041 |
$this->_user->last = $user->last;
|
9042 |
$this->_user->email = $user->email;
|
9043 |
|
9044 |
+
$is_menu_item_account_visible = $this->is_submenu_item_visible( 'account' );
|
9045 |
|
9046 |
if ( $user->is_verified &&
|
9047 |
( ! isset( $this->_user->is_verified ) || false === $this->_user->is_verified )
|
9051 |
$this->do_action( 'account_email_verified', $user->email );
|
9052 |
|
9053 |
$this->_admin_notices->add(
|
9054 |
+
$this->get_text( 'email-verified-message' ),
|
9055 |
+
$this->get_text( 'right-on' ) . '!',
|
9056 |
'success',
|
9057 |
// Make admin sticky if account menu item is invisible,
|
9058 |
// since the page will be auto redirected to the plugin's
|
9305 |
$plugin_id = $this->_plugin->id;
|
9306 |
}
|
9307 |
|
9308 |
+
$result = $api->get( "/plugins/{$plugin_id}/payments.json?include_addons=true", true );
|
9309 |
|
9310 |
if ( ! isset( $result->error ) ) {
|
9311 |
for ( $i = 0, $len = count( $result->payments ); $i < $len; $i ++ ) {
|
9482 |
return $this->is_trial() || $this->has_features_enabled_license();
|
9483 |
}
|
9484 |
|
9485 |
+
/**
|
9486 |
+
* Checks if the current user can activate plugins or switch themes. Note that this method should only be used
|
9487 |
+
* after the `init` action is triggered because it is using `current_user_can()` which is only functional after
|
9488 |
+
* the context user is authenticated.
|
9489 |
+
*
|
9490 |
+
* @author Leo Fajardo (@leorw)
|
9491 |
+
* @since 1.2.2
|
9492 |
+
*
|
9493 |
+
* @return bool
|
9494 |
+
*/
|
9495 |
+
function is_user_admin() {
|
9496 |
+
return current_user_can( 'activate_plugins' );
|
9497 |
+
}
|
9498 |
+
|
9499 |
/**
|
9500 |
* Sync site's plan.
|
9501 |
*
|
9579 |
$this->_admin_notices->add_sticky(
|
9580 |
FS_Plan_Manager::instance()->has_free_plan( $plans ) ?
|
9581 |
sprintf(
|
9582 |
+
$this->get_text( 'addon-successfully-upgraded-message' ),
|
9583 |
$addon->title
|
9584 |
) . ' ' . $this->get_latest_download_link(
|
9585 |
+
$this->get_text( 'download-latest-version' ),
|
9586 |
$addon_id
|
9587 |
)
|
9588 |
:
|
9589 |
sprintf(
|
9590 |
+
$this->get_text( 'addon-successfully-purchased-message' ),
|
9591 |
$addon->title
|
9592 |
) . ' ' . $this->get_latest_download_link(
|
9593 |
+
$this->get_text( 'download-latest-version' ),
|
9594 |
$addon_id
|
9595 |
),
|
9596 |
'addon_plan_upgraded_' . $addon->slug,
|
9597 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9598 |
);
|
9599 |
}
|
9600 |
}
|
9639 |
if ( ! self::$_global_admin_notices->has_sticky( 'api_blocked' ) ) {
|
9640 |
self::$_global_admin_notices->add(
|
9641 |
sprintf(
|
9642 |
+
$this->get_text( 'server-blocking-access' ),
|
9643 |
$this->get_plugin_name(),
|
9644 |
'<a href="' . $api->get_url() . '" target="_blank">' . $api->get_url() . '</a>'
|
9645 |
+
) . '<br> ' . $this->get_text( 'server-error-message' ) . var_export( $site->error, true ),
|
9646 |
+
$this->get_text( 'oops' ) . '...',
|
9647 |
'error',
|
9648 |
$background,
|
9649 |
false,
|
9653 |
} else {
|
9654 |
// Authentication params are broken.
|
9655 |
$this->_admin_notices->add(
|
9656 |
+
$this->get_text( 'wrong-authentication-param-message' ),
|
9657 |
+
$this->get_text( 'oops' ) . '...',
|
9658 |
'error'
|
9659 |
);
|
9660 |
}
|
9781 |
if ( $plan->is_free() ) {
|
9782 |
$this->_admin_notices->add(
|
9783 |
sprintf(
|
9784 |
+
$this->get_text( 'plan-did-not-change-message' ),
|
9785 |
+
'<i><b>' . $plan->title . ( $this->is_trial() ? ' ' . $this->get_text( 'trial' ) : '' ) . '</b></i>'
|
9786 |
) . ' ' . sprintf(
|
9787 |
'<a href="%s">%s</a>',
|
9788 |
$this->contact_url(
|
9789 |
'bug',
|
9790 |
+
sprintf( $this->get_text( 'plan-did-not-change-email-message' ),
|
9791 |
strtoupper( $plan->name )
|
9792 |
)
|
9793 |
),
|
9794 |
+
$this->get_text( 'contact-us-here' )
|
9795 |
),
|
9796 |
+
$this->get_text( 'hmm' ) . '...'
|
9797 |
);
|
9798 |
}
|
9799 |
}
|
9801 |
case 'upgraded':
|
9802 |
$this->_admin_notices->add_sticky(
|
9803 |
sprintf(
|
9804 |
+
$this->get_text( 'plan-upgraded-message' ),
|
9805 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9806 |
) . $this->get_complete_upgrade_instructions(),
|
9807 |
'plan_upgraded',
|
9808 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9809 |
);
|
9810 |
|
9811 |
$this->_admin_notices->remove_sticky( array(
|
9818 |
case 'changed':
|
9819 |
$this->_admin_notices->add_sticky(
|
9820 |
sprintf(
|
9821 |
+
$this->get_text( 'plan-changed-to-x-message' ),
|
9822 |
$this->_site->plan->title
|
9823 |
),
|
9824 |
'plan_changed'
|
9833 |
break;
|
9834 |
case 'downgraded':
|
9835 |
$this->_admin_notices->add_sticky(
|
9836 |
+
sprintf( $this->get_text( 'license-expired-blocking-message' ) ),
|
9837 |
'license_expired',
|
9838 |
+
$this->get_text( 'hmm' ) . '...'
|
9839 |
);
|
9840 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9841 |
break;
|
9842 |
case 'cancelled':
|
9843 |
$this->_admin_notices->add(
|
9844 |
+
$this->get_text( 'license-cancelled' ) . ' ' .
|
9845 |
sprintf(
|
9846 |
'<a href="%s">%s</a>',
|
9847 |
$this->contact_url( 'bug' ),
|
9848 |
+
$this->get_text( 'contact-us-here' )
|
9849 |
),
|
9850 |
+
$this->get_text( 'hmm' ) . '...',
|
9851 |
'error'
|
9852 |
);
|
9853 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9854 |
break;
|
9855 |
case 'expired':
|
9856 |
$this->_admin_notices->add_sticky(
|
9857 |
+
sprintf( $this->get_text( 'license-expired-non-blocking-message' ), $this->_site->plan->title ),
|
9858 |
'license_expired',
|
9859 |
+
$this->get_text( 'hmm' ) . '...'
|
9860 |
);
|
9861 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9862 |
break;
|
9863 |
case 'trial_started':
|
9864 |
$this->_admin_notices->add_sticky(
|
9865 |
sprintf(
|
9866 |
+
$this->get_text( 'trial-started-message' ),
|
9867 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9868 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
9869 |
'trial_started',
|
9870 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9871 |
);
|
9872 |
|
9873 |
$this->_admin_notices->remove_sticky( array(
|
9876 |
break;
|
9877 |
case 'trial_expired':
|
9878 |
$this->_admin_notices->add_sticky(
|
9879 |
+
$this->get_text( 'trial-expired-message' ),
|
9880 |
'trial_expired',
|
9881 |
+
$this->get_text( 'hmm' ) . '...'
|
9882 |
);
|
9883 |
$this->_admin_notices->remove_sticky( array(
|
9884 |
'trial_started',
|
9946 |
if ( ! $background ) {
|
9947 |
$this->_admin_notices->add( sprintf(
|
9948 |
'%s %s',
|
9949 |
+
$this->get_text( 'license-activation-failed-message' ),
|
9950 |
( is_object( $license ) && isset( $license->error ) ?
|
9951 |
$license->error->message :
|
9952 |
sprintf( '%s<br><code>%s</code>',
|
9953 |
+
$this->get_text( 'server-error-message' ),
|
9954 |
var_export( $license, true )
|
9955 |
)
|
9956 |
)
|
9957 |
),
|
9958 |
+
$this->get_text( 'hmm' ) . '...',
|
9959 |
'error'
|
9960 |
);
|
9961 |
}
|
9977 |
|
9978 |
if ( ! $background ) {
|
9979 |
$this->_admin_notices->add_sticky(
|
9980 |
+
$this->get_text( 'license-activated-message' ) .
|
9981 |
$this->get_complete_upgrade_instructions(),
|
9982 |
'license_activated',
|
9983 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9984 |
);
|
9985 |
}
|
9986 |
|
10001 |
|
10002 |
if ( ! is_object( $this->_license ) ) {
|
10003 |
$this->_admin_notices->add(
|
10004 |
+
sprintf( $this->get_text( 'no-active-license-message' ), $this->_site->plan->title ),
|
10005 |
+
$this->get_text( 'hmm' ) . '...'
|
10006 |
);
|
10007 |
|
10008 |
return;
|
10013 |
|
10014 |
if ( isset( $license->error ) ) {
|
10015 |
$this->_admin_notices->add(
|
10016 |
+
$this->get_text( 'license-deactivation-failed-message' ) . '<br> ' .
|
10017 |
+
$this->get_text( 'server-error-message' ) . ' ' . var_export( $license->error, true ),
|
10018 |
+
$this->get_text( 'hmm' ) . '...',
|
10019 |
'error'
|
10020 |
);
|
10021 |
|
10040 |
|
10041 |
if ( $show_notice ) {
|
10042 |
$this->_admin_notices->add(
|
10043 |
+
sprintf( $this->get_text( 'license-deactivation-message' ), $this->_site->plan->title ),
|
10044 |
+
$this->get_text( 'ok' )
|
10045 |
);
|
10046 |
}
|
10047 |
|
10089 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
10090 |
|
10091 |
$this->_admin_notices->add(
|
10092 |
+
sprintf( $this->get_text( 'plan-x-downgraded-message' ),
|
10093 |
$plan->title,
|
10094 |
human_time_diff( time(), strtotime( $this->_license->expiration ) )
|
10095 |
)
|
10099 |
$this->_store_site();
|
10100 |
} else {
|
10101 |
$this->_admin_notices->add(
|
10102 |
+
$this->get_text( 'plan-downgraded-failure-message' ),
|
10103 |
+
$this->get_text( 'oops' ) . '...',
|
10104 |
'error'
|
10105 |
);
|
10106 |
}
|
10120 |
if ( $this->is_trial() ) {
|
10121 |
// Already in trial mode.
|
10122 |
$this->_admin_notices->add(
|
10123 |
+
$this->get_text( 'in-trial-mode' ),
|
10124 |
+
$this->get_text( 'oops' ) . '...',
|
10125 |
'error'
|
10126 |
);
|
10127 |
|
10131 |
if ( $this->_site->is_trial_utilized() ) {
|
10132 |
// Trial was already utilized.
|
10133 |
$this->_admin_notices->add(
|
10134 |
+
$this->get_text( 'trial-utilized' ),
|
10135 |
+
$this->get_text( 'oops' ) . '...',
|
10136 |
'error'
|
10137 |
);
|
10138 |
|
10145 |
if ( false === $plan ) {
|
10146 |
// Plan doesn't exist.
|
10147 |
$this->_admin_notices->add(
|
10148 |
+
sprintf( $this->get_text( 'trial-plan-x-not-exist' ), $plan_name ),
|
10149 |
+
$this->get_text( 'oops' ) . '...',
|
10150 |
'error'
|
10151 |
);
|
10152 |
|
10156 |
if ( ! $plan->has_trial() ) {
|
10157 |
// Plan doesn't exist.
|
10158 |
$this->_admin_notices->add(
|
10159 |
+
sprintf( $this->get_text( 'plan-x-no-trial' ), $plan_name ),
|
10160 |
+
$this->get_text( 'oops' ) . '...',
|
10161 |
'error'
|
10162 |
);
|
10163 |
|
10167 |
if ( ! $this->has_trial_plan() ) {
|
10168 |
// None of the plans have a trial.
|
10169 |
$this->_admin_notices->add(
|
10170 |
+
$this->get_text( 'no-trials' ),
|
10171 |
+
$this->get_text( 'oops' ) . '...',
|
10172 |
'error'
|
10173 |
);
|
10174 |
|
10186 |
if ( ! $this->is_api_result_entity( $plan ) ) {
|
10187 |
// Some API error while trying to start the trial.
|
10188 |
$this->_admin_notices->add(
|
10189 |
+
$this->get_text( 'unexpected-api-error' ) . ' ' . var_export( $plan, true ),
|
10190 |
+
$this->get_text( 'oops' ) . '...',
|
10191 |
'error'
|
10192 |
);
|
10193 |
|
10213 |
|
10214 |
if ( ! $this->is_trial() ) {
|
10215 |
$this->_admin_notices->add(
|
10216 |
+
$this->get_text( 'trial-cancel-no-trial-message' ),
|
10217 |
+
$this->get_text( 'oops' ) . '...',
|
10218 |
'error'
|
10219 |
);
|
10220 |
|
10264 |
! $this->deactivate_premium_only_addon_without_license( true )
|
10265 |
) {
|
10266 |
$this->_admin_notices->add(
|
10267 |
+
sprintf( $this->get_text( 'trial-cancel-message' ), $this->_storage->trial_plan->title )
|
10268 |
);
|
10269 |
}
|
10270 |
|
10272 |
unset( $this->_storage->trial_plan );
|
10273 |
} else {
|
10274 |
$this->_admin_notices->add(
|
10275 |
+
$this->get_text( 'trial-cancel-failure-message' ),
|
10276 |
+
$this->get_text( 'oops' ) . '...',
|
10277 |
'error'
|
10278 |
);
|
10279 |
}
|
10502 |
if ( ! $background ) {
|
10503 |
$this->_admin_notices->add(
|
10504 |
sprintf(
|
10505 |
+
$this->get_text( 'version-x-released' ) . ' ' . $this->get_text( 'please-download-x' ),
|
10506 |
$update->version,
|
10507 |
sprintf(
|
10508 |
'<a href="%s" target="_blank">%s</a>',
|
10509 |
$this->get_account_url( 'download_latest' ),
|
10510 |
+
sprintf( $this->get_text( 'latest-x-version' ), $this->_site->plan->title )
|
10511 |
)
|
10512 |
),
|
10513 |
+
$this->get_text( 'new' ) . '!'
|
10514 |
);
|
10515 |
}
|
10516 |
} else if ( false === $new_version && ! $background ) {
|
10517 |
$this->_admin_notices->add(
|
10518 |
+
$this->get_text( 'you-have-latest' ),
|
10519 |
+
$this->get_text( 'you-are-good' )
|
10520 |
);
|
10521 |
}
|
10522 |
|
10782 |
|
10783 |
if ( ! isset( $result->error ) ) {
|
10784 |
$this->_admin_notices->add( sprintf(
|
10785 |
+
$this->get_text( 'verification-email-sent-message' ),
|
10786 |
sprintf( '<a href="mailto:%1s">%2s</a>', esc_url( $this->_user->email ), $this->_user->email )
|
10787 |
) );
|
10788 |
} else {
|
10800 |
* @return string
|
10801 |
*/
|
10802 |
private function get_activation_url( $params = array() ) {
|
10803 |
+
if ( $this->is_addon() ) {
|
10804 |
+
/**
|
10805 |
+
* @author Vova Feldman (@svovaf)
|
10806 |
+
* @since 1.2.1.7 Add-on's activation is the parent's module activation.
|
10807 |
+
*/
|
10808 |
+
return $this->get_parent_instance()->get_activation_url( $params );
|
10809 |
+
}
|
10810 |
+
|
10811 |
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
10812 |
}
|
10813 |
|
10855 |
*
|
10856 |
*/
|
10857 |
private function _handle_account_edits() {
|
10858 |
+
if ( ! $this->is_user_admin() ) {
|
10859 |
return;
|
10860 |
}
|
10861 |
|
10938 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10939 |
|
10940 |
if ( $this->init_change_owner( $candidate_email ) ) {
|
10941 |
+
$this->_admin_notices->add( sprintf( $this->get_text( 'change-owner-request-sent-x' ), '<b>' . $this->_user->email . '</b>' ) );
|
10942 |
}
|
10943 |
break;
|
10944 |
case 'owner_confirmed':
|
10945 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10946 |
|
10947 |
+
$this->_admin_notices->add( sprintf( $this->get_text( 'change-owner-request_owner-confirmed' ), '<b>' . $candidate_email . '</b>' ) );
|
10948 |
break;
|
10949 |
case 'candidate_confirmed':
|
10950 |
if ( $this->complete_change_owner() ) {
|
10951 |
$this->_admin_notices->add_sticky(
|
10952 |
+
sprintf( $this->get_text( 'change-owner-request_candidate-confirmed' ), '<b>' . $this->_user->email . '</b>' ),
|
10953 |
'ownership_changed',
|
10954 |
+
$this->get_text( 'congrats' ) . '!'
|
10955 |
);
|
10956 |
} else {
|
10957 |
// @todo Handle failed ownership change message.
|
10971 |
switch ( $result->error->code ) {
|
10972 |
case 'user_exist':
|
10973 |
$this->_admin_notices->add(
|
10974 |
+
$this->get_text( 'user-exist-message' ) . ' ' .
|
10975 |
+
sprintf( $this->get_text( 'user-exist-message_ownership' ), '<b>' . $new_email . '</b>' ) .
|
10976 |
sprintf(
|
10977 |
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
10978 |
$this->get_account_url( 'change_owner', array(
|
10979 |
'state' => 'init',
|
10980 |
'candidate_email' => $new_email
|
10981 |
) ),
|
10982 |
+
$this->get_text( 'change-ownership' )
|
10983 |
),
|
10984 |
+
$this->get_text( 'oops' ) . '...',
|
10985 |
'error'
|
10986 |
);
|
10987 |
break;
|
10988 |
}
|
10989 |
} else {
|
10990 |
+
$this->_admin_notices->add( $this->get_text( 'email-updated-message' ) );
|
10991 |
}
|
10992 |
|
10993 |
return;
|
10999 |
|
11000 |
if ( isset( $result->error ) ) {
|
11001 |
$this->_admin_notices->add(
|
11002 |
+
$this->get_text( 'name-update-failed-message' ),
|
11003 |
+
$this->get_text( 'oops' ) . '...',
|
11004 |
'error'
|
11005 |
);
|
11006 |
} else {
|
11007 |
+
$this->_admin_notices->add( $this->get_text( 'name-updated-message' ) );
|
11008 |
}
|
11009 |
|
11010 |
return;
|
11064 |
$this->do_action( 'account_property_edit', 'site', $site_property, $site_property_value );
|
11065 |
|
11066 |
$this->_admin_notices->add( sprintf(
|
11067 |
+
$this->get_text( 'x-updated' ),
|
11068 |
'<b>' . str_replace( '_', ' ', $p ) . '</b>' ) );
|
11069 |
|
11070 |
return;
|
11189 |
|
11190 |
if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
|
11191 |
$this->_admin_notices->add(
|
11192 |
+
sprintf( $this->get_text( 'addons-info-external-message' ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
11193 |
+
$this->get_text( 'heads-up' ),
|
11194 |
'update-nag'
|
11195 |
);
|
11196 |
}
|
11427 |
* @return bool If trial notice added.
|
11428 |
*/
|
11429 |
function _add_trial_notice() {
|
11430 |
+
if ( ! $this->is_user_admin() ) {
|
11431 |
return false;
|
11432 |
}
|
11433 |
|
11496 |
$trial_period = $this->_trial_days;
|
11497 |
$require_payment = $this->_is_trial_require_payment;
|
11498 |
$trial_url = $this->get_trial_url();
|
11499 |
+
$plans_string = strtolower( $this->get_text( 'awesome' ) );
|
11500 |
|
11501 |
if ( $this->is_registered() ) {
|
11502 |
// If opted-in, override trial with up to date data from API.
|
11536 |
}
|
11537 |
|
11538 |
$message = sprintf(
|
11539 |
+
$this->get_text( 'hey' ) . '! ' . $this->get_text( 'trial-x-promotion-message' ),
|
11540 |
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
11541 |
$plans_string,
|
11542 |
$trial_period
|
11544 |
|
11545 |
// "No Credit-Card Required" or "No Commitment for N Days".
|
11546 |
$cc_string = $require_payment ?
|
11547 |
+
sprintf( $this->get_text( 'no-commitment-for-x-days' ), $trial_period ) :
|
11548 |
+
$this->get_text( 'no-cc-required' ) . '!';
|
11549 |
|
11550 |
|
11551 |
// Start trial button.
|
11552 |
$button = ' ' . sprintf(
|
11553 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
11554 |
$trial_url,
|
11555 |
+
$this->get_text( 'start-free-trial' )
|
11556 |
);
|
11557 |
|
11558 |
$this->_admin_notices->add_sticky(
|
11650 |
if ( $this->is_registered() ) {
|
11651 |
if ( ! $this->is_paying() && $this->has_paid_plan() ) {
|
11652 |
$this->add_plugin_action_link(
|
11653 |
+
$this->get_text( 'upgrade' ),
|
11654 |
$this->get_upgrade_url(),
|
11655 |
false,
|
11656 |
7,
|
11660 |
|
11661 |
if ( $this->has_addons() ) {
|
11662 |
$this->add_plugin_action_link(
|
11663 |
+
$this->get_text( 'add-ons' ),
|
11664 |
$this->_get_admin_page_url( 'addons' ),
|
11665 |
false,
|
11666 |
9,
|
11688 |
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
11689 |
}
|
11690 |
|
11691 |
+
$link_text = $this->get_text(
|
11692 |
+
$this->is_free_plan() ?
|
11693 |
+
'activate-license' :
|
11694 |
+
'change-license'
|
11695 |
);
|
11696 |
|
11697 |
$this->add_plugin_action_link(
|
11716 |
|
11717 |
$this->_logger->entrance();
|
11718 |
|
11719 |
+
if ( ! $this->is_plugins_page() ) {
|
11720 |
+
// Only show tracking links on the plugin's page.
|
11721 |
+
return;
|
11722 |
+
}
|
11723 |
+
|
11724 |
if ( ! $this->is_enable_anonymous() ) {
|
11725 |
// Don't allow to opt-out if anonymous mode is disabled.
|
11726 |
return;
|
11771 |
}
|
11772 |
|
11773 |
$this->add_plugin_action_link(
|
11774 |
+
$this->get_text( $link_text_id ),
|
11775 |
$url,
|
11776 |
false,
|
11777 |
13,
|
11873 |
}
|
11874 |
|
11875 |
if ( ! empty( $deactivate_link ) ) {
|
11876 |
+
/**
|
11877 |
+
* This HTML element is used to identify the correct plugin when attaching an event to its Deactivate link.
|
11878 |
+
*
|
11879 |
+
* @since 1.2.1.6 Always show the deactivation feedback form since we added automatic free version deactivation upon premium code activation.
|
11880 |
+
*/
|
11881 |
+
$deactivate_link .= '<i class="fs-slug" data-slug="' . $this->_slug . '"></i>';
|
|
|
|
|
|
|
11882 |
|
11883 |
// Append deactivation link.
|
11884 |
$before_deactivate['deactivate'] = $deactivate_link;
|
11939 |
|
11940 |
// @since 1.2.1.5 The free version is auto deactivated.
|
11941 |
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
11942 |
+
( '<li>' . $this->get_text( 'deactivate-free-version' ) . '.</li>' ) :
|
11943 |
'';
|
11944 |
|
11945 |
return sprintf(
|
11946 |
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
11947 |
+
$this->get_text( 'follow-steps-to-complete-upgrade' ),
|
11948 |
$this->get_latest_download_link( sprintf(
|
11949 |
+
$this->get_text( 'download-latest-x-version' ),
|
11950 |
$plan_title
|
11951 |
) ),
|
11952 |
$deactivation_step,
|
11953 |
+
$this->get_text( 'upload-and-activate' ),
|
11954 |
'//bit.ly/upload-wp-plugin',
|
11955 |
+
$this->get_text( 'howto-upload-activate' )
|
11956 |
);
|
11957 |
}
|
11958 |
|
12007 |
return $update;
|
12008 |
}
|
12009 |
|
12010 |
+
/**
|
12011 |
+
* @author Vova Feldman (@svovaf)
|
12012 |
+
* @since 1.2.1.7
|
12013 |
+
*
|
12014 |
+
* @param string $key
|
12015 |
+
*
|
12016 |
+
* @return string
|
12017 |
+
*/
|
12018 |
+
function get_text( $key ) {
|
12019 |
+
return fs_text( $key, $this->_slug );
|
12020 |
+
}
|
12021 |
+
|
12022 |
#----------------------------------------------------------------------------------
|
12023 |
#region Versioning
|
12024 |
#----------------------------------------------------------------------------------
|
12066 |
*
|
12067 |
* @author Vova Feldman (@svovaf)
|
12068 |
* @since 1.0.9
|
|
|
|
|
12069 |
*/
|
12070 |
function set_plugin_upgrade_complete() {
|
12071 |
$this->_storage->plugin_upgrade_mode = false;
|
12093 |
|
12094 |
#endregion
|
12095 |
|
12096 |
+
#----------------------------------------------------------------------------------
|
12097 |
+
#region Auto Activation
|
12098 |
+
#----------------------------------------------------------------------------------
|
12099 |
+
|
12100 |
+
/**
|
12101 |
+
* Hints the SDK if running an auto-installation.
|
12102 |
+
*
|
12103 |
+
* @var bool
|
12104 |
+
*/
|
12105 |
+
private $_isAutoInstall = false;
|
12106 |
+
|
12107 |
+
/**
|
12108 |
+
* After upgrade callback to install and auto activate a plugin.
|
12109 |
+
* This code will only be executed on explicit request from the user,
|
12110 |
+
* following the practice Jetpack are using with their theme installations.
|
12111 |
+
*
|
12112 |
+
* @link https://make.wordpress.org/plugins/2017/03/16/clarification-of-guideline-8-executable-code-and-installs/
|
12113 |
+
*
|
12114 |
+
* @author Vova Feldman (@svovaf)
|
12115 |
+
* @since 1.2.1.7
|
12116 |
+
*/
|
12117 |
+
function _install_premium_version_ajax_action() {
|
12118 |
+
$this->_logger->entrance();
|
12119 |
+
|
12120 |
+
$this->check_ajax_referer( 'install_premium_version' );
|
12121 |
+
|
12122 |
+
if ( ! $this->is_registered() ) {
|
12123 |
+
// Not registered.
|
12124 |
+
self::shoot_ajax_failure( array(
|
12125 |
+
'message' => $this->get_text( 'auto-install-error-not-opted-in' ),
|
12126 |
+
'code' => 'premium_installed',
|
12127 |
+
) );
|
12128 |
+
}
|
12129 |
+
|
12130 |
+
$plugin_id = fs_request_get( 'module_id', $this->get_id() );
|
12131 |
+
|
12132 |
+
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
12133 |
+
// Invalid ID.
|
12134 |
+
self::shoot_ajax_failure( array(
|
12135 |
+
'message' => $this->get_text( 'auto-install-error-invalid-id' ),
|
12136 |
+
'code' => 'invalid_module_id',
|
12137 |
+
) );
|
12138 |
+
}
|
12139 |
+
|
12140 |
+
if ( $plugin_id == $this->get_id() ) {
|
12141 |
+
if ( $this->is_premium() ) {
|
12142 |
+
// Already using the premium code version.
|
12143 |
+
self::shoot_ajax_failure( array(
|
12144 |
+
'message' => $this->get_text( 'auto-install-error-premium-activated' ),
|
12145 |
+
'code' => 'premium_installed',
|
12146 |
+
) );
|
12147 |
+
}
|
12148 |
+
if ( ! $this->can_use_premium_code() ) {
|
12149 |
+
// Don't have access to the premium code.
|
12150 |
+
self::shoot_ajax_failure( array(
|
12151 |
+
'message' => $this->get_text( 'auto-install-error-invalid-license' ),
|
12152 |
+
'code' => 'invalid_license',
|
12153 |
+
) );
|
12154 |
+
}
|
12155 |
+
if ( ! $this->has_release_on_freemius() ) {
|
12156 |
+
// Plugin is a serviceware, no premium code version.
|
12157 |
+
self::shoot_ajax_failure( array(
|
12158 |
+
'message' => $this->get_text( 'auto-install-error-serviceware' ),
|
12159 |
+
'code' => 'premium_version_missing',
|
12160 |
+
) );
|
12161 |
+
}
|
12162 |
+
} else {
|
12163 |
+
$addon = $this->get_addon( $plugin_id );
|
12164 |
+
|
12165 |
+
if ( ! is_object( $addon ) ) {
|
12166 |
+
// Invalid add-on ID.
|
12167 |
+
self::shoot_ajax_failure( array(
|
12168 |
+
'message' => $this->get_text( 'auto-install-error-invalid-id' ),
|
12169 |
+
'code' => 'invalid_module_id',
|
12170 |
+
) );
|
12171 |
+
}
|
12172 |
+
|
12173 |
+
if ( $this->is_addon_activated( $plugin_id, true ) ) {
|
12174 |
+
// Premium add-on version is already activated.
|
12175 |
+
self::shoot_ajax_failure( array(
|
12176 |
+
'message' => $this->get_text( 'auto-install-error-premium-addon-activated' ),
|
12177 |
+
'code' => 'premium_installed',
|
12178 |
+
) );
|
12179 |
+
}
|
12180 |
+
}
|
12181 |
+
|
12182 |
+
$this->_isAutoInstall = true;
|
12183 |
+
|
12184 |
+
// Try to install and activate.
|
12185 |
+
$updater = new FS_Plugin_Updater( $this );
|
12186 |
+
$result = $updater->install_and_activate_plugin( $plugin_id );
|
12187 |
+
|
12188 |
+
if ( is_array( $result ) && ! empty( $result['message'] ) ) {
|
12189 |
+
self::shoot_ajax_failure( array(
|
12190 |
+
'message' => $result['message'],
|
12191 |
+
'code' => $result['code'],
|
12192 |
+
) );
|
12193 |
+
}
|
12194 |
+
|
12195 |
+
self::shoot_ajax_success( $result );
|
12196 |
+
}
|
12197 |
+
|
12198 |
+
/**
|
12199 |
+
* Displays module activation dialog box after a successful upgrade
|
12200 |
+
* where the user explicitly requested to auto download and install
|
12201 |
+
* the premium version.
|
12202 |
+
*
|
12203 |
+
* @author Vova Feldman (@svovaf)
|
12204 |
+
* @since 1.2.1.7
|
12205 |
+
*/
|
12206 |
+
function _add_auto_installation_dialog_box() {
|
12207 |
+
$this->_logger->entrance();
|
12208 |
+
|
12209 |
+
if ( ! $this->is_registered() ) {
|
12210 |
+
// Not registered.
|
12211 |
+
return;
|
12212 |
+
}
|
12213 |
+
|
12214 |
+
$plugin_id = fs_request_get( 'plugin_id', $this->get_id() );
|
12215 |
+
|
12216 |
+
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
12217 |
+
// Invalid module ID.
|
12218 |
+
return;
|
12219 |
+
}
|
12220 |
+
|
12221 |
+
if ( $plugin_id == $this->get_id() ) {
|
12222 |
+
if ( $this->is_premium() ) {
|
12223 |
+
// Already using the premium code version.
|
12224 |
+
return;
|
12225 |
+
}
|
12226 |
+
if ( ! $this->can_use_premium_code() ) {
|
12227 |
+
// Don't have access to the premium code.
|
12228 |
+
return;
|
12229 |
+
}
|
12230 |
+
if ( ! $this->has_release_on_freemius() ) {
|
12231 |
+
// Plugin is a serviceware, no premium code version.
|
12232 |
+
return;
|
12233 |
+
}
|
12234 |
+
} else {
|
12235 |
+
$addon = $this->get_addon( $plugin_id );
|
12236 |
+
|
12237 |
+
if ( ! is_object( $addon ) ) {
|
12238 |
+
// Invalid add-on ID.
|
12239 |
+
return;
|
12240 |
+
}
|
12241 |
+
|
12242 |
+
if ( $this->is_addon_activated( $plugin_id, true ) ) {
|
12243 |
+
// Premium add-on version is already activated.
|
12244 |
+
return;
|
12245 |
+
}
|
12246 |
+
}
|
12247 |
+
|
12248 |
+
$vars = array(
|
12249 |
+
'id' => $plugin_id,
|
12250 |
+
'slug' => $this->_slug,
|
12251 |
+
);
|
12252 |
+
|
12253 |
+
fs_require_template( 'auto-installation.php', $vars );
|
12254 |
+
}
|
12255 |
+
|
12256 |
+
#endregion
|
12257 |
+
|
12258 |
#----------------------------------------------------------------------------------
|
12259 |
#region Marketing
|
12260 |
#----------------------------------------------------------------------------------
|
freemius/includes/class-fs-logger.php
CHANGED
@@ -85,10 +85,12 @@
|
|
85 |
* @since 1.2.1.6
|
86 |
*/
|
87 |
private static function init() {
|
88 |
-
self::$_ownerName = get_current_user
|
|
|
|
|
89 |
self::$_isStorageLoggingOn = ( 1 == get_option( 'fs_storage_logger', 0 ) );
|
90 |
self::$_abspathLength = strlen( ABSPATH );
|
91 |
-
self::$_processID = mt_rand(0, 32000);
|
92 |
|
93 |
// Process ID may be `false` on errors.
|
94 |
if ( ! is_numeric( self::$_processID ) ) {
|
@@ -186,7 +188,7 @@
|
|
186 |
|
187 |
self::$LOG[] = $log;
|
188 |
|
189 |
-
if ( $this->is_echo_on() ) {
|
190 |
echo self::format_html( $log ) . "\n";
|
191 |
}
|
192 |
}
|
85 |
* @since 1.2.1.6
|
86 |
*/
|
87 |
private static function init() {
|
88 |
+
self::$_ownerName = function_exists( 'get_current_user' ) ?
|
89 |
+
get_current_user() :
|
90 |
+
'unknown';
|
91 |
self::$_isStorageLoggingOn = ( 1 == get_option( 'fs_storage_logger', 0 ) );
|
92 |
self::$_abspathLength = strlen( ABSPATH );
|
93 |
+
self::$_processID = mt_rand( 0, 32000 );
|
94 |
|
95 |
// Process ID may be `false` on errors.
|
96 |
if ( ! is_numeric( self::$_processID ) ) {
|
188 |
|
189 |
self::$LOG[] = $log;
|
190 |
|
191 |
+
if ( $this->is_echo_on() && ! Freemius::is_ajax() ) {
|
192 |
echo self::format_html( $log ) . "\n";
|
193 |
}
|
194 |
}
|
freemius/includes/class-fs-plugin-updater.php
CHANGED
@@ -123,7 +123,7 @@
|
|
123 |
$plugin_update_row = preg_replace(
|
124 |
'/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
|
125 |
'$1 $2 ' . sprintf(
|
126 |
-
|
127 |
'<a href="' . $this->_fs->pricing_url() . '">', '</a>',
|
128 |
$r->new_version ) .
|
129 |
'$4',
|
@@ -318,13 +318,13 @@ if ( !isset($info->error) ) {
|
|
318 |
}
|
319 |
|
320 |
// Get plugin's newest update.
|
321 |
-
$new_version = $this->
|
322 |
|
323 |
if ( ! is_object( $new_version ) || empty( $new_version->version ) ) {
|
324 |
$data->version = $this->_fs->get_plugin_version();
|
325 |
} else {
|
326 |
if ( $is_addon ) {
|
327 |
-
$data->name = $addon->title . ' ' .
|
328 |
$data->slug = $addon->slug;
|
329 |
$data->url = WP_FS__ADDRESS;
|
330 |
$data->package = $new_version->url;
|
@@ -343,6 +343,18 @@ if ( !isset($info->error) ) {
|
|
343 |
return $data;
|
344 |
}
|
345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
/**
|
347 |
* Checks if a given basename has a matching folder name
|
348 |
* with the current context plugin.
|
@@ -359,7 +371,7 @@ if ( !isset($info->error) ) {
|
|
359 |
$basename = $this->_fs->get_plugin_basename();
|
360 |
}
|
361 |
|
362 |
-
return ( $this->_fs->
|
363 |
}
|
364 |
|
365 |
/**
|
@@ -412,4 +424,260 @@ if ( !isset($info->error) ) {
|
|
412 |
|
413 |
return $response;
|
414 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
}
|
123 |
$plugin_update_row = preg_replace(
|
124 |
'/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
|
125 |
'$1 $2 ' . sprintf(
|
126 |
+
$this->_fs->get_text( 'renew-license-now' ),
|
127 |
'<a href="' . $this->_fs->pricing_url() . '">', '</a>',
|
128 |
$r->new_version ) .
|
129 |
'$4',
|
318 |
}
|
319 |
|
320 |
// Get plugin's newest update.
|
321 |
+
$new_version = $this->get_latest_download_details( $is_addon ? $addon->id : false );
|
322 |
|
323 |
if ( ! is_object( $new_version ) || empty( $new_version->version ) ) {
|
324 |
$data->version = $this->_fs->get_plugin_version();
|
325 |
} else {
|
326 |
if ( $is_addon ) {
|
327 |
+
$data->name = $addon->title . ' ' . $this->_fs->get_text( 'addon' );
|
328 |
$data->slug = $addon->slug;
|
329 |
$data->url = WP_FS__ADDRESS;
|
330 |
$data->package = $new_version->url;
|
343 |
return $data;
|
344 |
}
|
345 |
|
346 |
+
/**
|
347 |
+
* @author Vova Feldman (@svovaf)
|
348 |
+
* @since 1.2.1.7
|
349 |
+
*
|
350 |
+
* @param number|bool $addon_id
|
351 |
+
*
|
352 |
+
* @return object
|
353 |
+
*/
|
354 |
+
private function get_latest_download_details( $addon_id = false ) {
|
355 |
+
return $this->_fs->_fetch_latest_version( $addon_id );
|
356 |
+
}
|
357 |
+
|
358 |
/**
|
359 |
* Checks if a given basename has a matching folder name
|
360 |
* with the current context plugin.
|
371 |
$basename = $this->_fs->get_plugin_basename();
|
372 |
}
|
373 |
|
374 |
+
return ( $this->_fs->get_target_folder_name() != trim( dirname( $basename ), '/\\' ) );
|
375 |
}
|
376 |
|
377 |
/**
|
424 |
|
425 |
return $response;
|
426 |
}
|
427 |
+
|
428 |
+
#----------------------------------------------------------------------------------
|
429 |
+
#region Auto Activation
|
430 |
+
#----------------------------------------------------------------------------------
|
431 |
+
|
432 |
+
/**
|
433 |
+
* Installs and active a plugin when explicitly requested that from a 3rd party service.
|
434 |
+
*
|
435 |
+
* This logic was inspired by the TGMPA GPL licensed library by Thomas Griffin.
|
436 |
+
*
|
437 |
+
* @link http://tgmpluginactivation.com/
|
438 |
+
*
|
439 |
+
* @author Vova Feldman
|
440 |
+
* @since 1.2.1.7
|
441 |
+
*
|
442 |
+
* @link https://make.wordpress.org/plugins/2017/03/16/clarification-of-guideline-8-executable-code-and-installs/
|
443 |
+
*
|
444 |
+
* @uses WP_Filesystem
|
445 |
+
* @uses WP_Error
|
446 |
+
* @uses WP_Upgrader
|
447 |
+
* @uses Plugin_Upgrader
|
448 |
+
* @uses Plugin_Installer_Skin
|
449 |
+
* @uses Plugin_Upgrader_Skin
|
450 |
+
*
|
451 |
+
* @param number|bool $plugin_id
|
452 |
+
*
|
453 |
+
* @return array
|
454 |
+
*/
|
455 |
+
function install_and_activate_plugin( $plugin_id = false ) {
|
456 |
+
if ( ! empty( $plugin_id ) && ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
457 |
+
// Invalid plugin ID.
|
458 |
+
return array(
|
459 |
+
'message' => $this->_fs->get_text( 'auto-install-error-invalid-id' ),
|
460 |
+
'code' => 'invalid_module_id',
|
461 |
+
);
|
462 |
+
}
|
463 |
+
|
464 |
+
$is_addon = false;
|
465 |
+
if ( FS_Plugin::is_valid_id( $plugin_id ) &&
|
466 |
+
$plugin_id != $this->_fs->get_id()
|
467 |
+
) {
|
468 |
+
$addon = $this->_fs->get_addon( $plugin_id );
|
469 |
+
|
470 |
+
if ( ! is_object( $addon ) ) {
|
471 |
+
// Invalid add-on ID.
|
472 |
+
return array(
|
473 |
+
'message' => $this->_fs->get_text( 'auto-install-error-invalid-id' ),
|
474 |
+
'code' => 'invalid_module_id',
|
475 |
+
);
|
476 |
+
}
|
477 |
+
|
478 |
+
$slug = $addon->slug;
|
479 |
+
$title = $addon->title . ' ' . $this->_fs->get_text( 'addon' );
|
480 |
+
|
481 |
+
$is_addon = true;
|
482 |
+
} else {
|
483 |
+
$slug = $this->_fs->get_slug();
|
484 |
+
$title = $this->_fs->get_plugin_title() .
|
485 |
+
( $this->_fs->is_addon() ? ' ' . $this->_fs->get_text( 'addon' ) : '' );
|
486 |
+
}
|
487 |
+
|
488 |
+
if ( $this->is_premium_plugin_active( $plugin_id ) ) {
|
489 |
+
// Premium version already activated.
|
490 |
+
return array(
|
491 |
+
'message' => $this->_fs->get_text(
|
492 |
+
$is_addon ?
|
493 |
+
'auto-install-error-premium-addon-activated' :
|
494 |
+
'auto-install-error-premium-activated'
|
495 |
+
),
|
496 |
+
'code' => 'premium_installed',
|
497 |
+
);
|
498 |
+
}
|
499 |
+
|
500 |
+
$latest_version = $this->get_latest_download_details( $plugin_id );
|
501 |
+
$target_folder = "{$slug}-premium";
|
502 |
+
|
503 |
+
// Prep variables for Plugin_Installer_Skin class.
|
504 |
+
$extra = array();
|
505 |
+
$extra['slug'] = $target_folder;
|
506 |
+
$source = $latest_version->url;
|
507 |
+
$api = null;
|
508 |
+
|
509 |
+
$install_url = add_query_arg(
|
510 |
+
array(
|
511 |
+
'action' => 'install-plugin',
|
512 |
+
'plugin' => urlencode( $slug ),
|
513 |
+
),
|
514 |
+
'update.php'
|
515 |
+
);
|
516 |
+
|
517 |
+
if ( ! class_exists( 'Plugin_Upgrader', false ) ) {
|
518 |
+
// Include required resources for the installation.
|
519 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
520 |
+
}
|
521 |
+
|
522 |
+
$skin_args = array(
|
523 |
+
'type' => 'web',
|
524 |
+
'title' => sprintf( fs_text( 'installing-plugin-x', $slug ), $title ),
|
525 |
+
'url' => esc_url_raw( $install_url ),
|
526 |
+
'nonce' => 'install-plugin_' . $slug,
|
527 |
+
'plugin' => '',
|
528 |
+
'api' => $api,
|
529 |
+
'extra' => $extra,
|
530 |
+
);
|
531 |
+
|
532 |
+
// $skin = new Automatic_Upgrader_Skin( $skin_args );
|
533 |
+
// $skin = new Plugin_Installer_Skin( $skin_args );
|
534 |
+
$skin = new WP_Ajax_Upgrader_Skin( $skin_args );
|
535 |
+
|
536 |
+
// Create a new instance of Plugin_Upgrader.
|
537 |
+
$upgrader = new Plugin_Upgrader( $skin );
|
538 |
+
|
539 |
+
// Perform the action and install the plugin from the $source urldecode().
|
540 |
+
add_filter( 'upgrader_source_selection', array( &$this, '_maybe_adjust_source_dir' ), 1, 3 );
|
541 |
+
|
542 |
+
$install_result = $upgrader->install( $source );
|
543 |
+
|
544 |
+
remove_filter( 'upgrader_source_selection', array( &$this, '_maybe_adjust_source_dir' ), 1 );
|
545 |
+
|
546 |
+
if ( is_wp_error( $install_result ) ) {
|
547 |
+
return array(
|
548 |
+
'message' => $install_result->get_error_message(),
|
549 |
+
'code' => $install_result->get_error_code(),
|
550 |
+
);
|
551 |
+
} elseif ( is_wp_error( $skin->result ) ) {
|
552 |
+
return array(
|
553 |
+
'message' => $skin->result->get_error_message(),
|
554 |
+
'code' => $skin->result->get_error_code(),
|
555 |
+
);
|
556 |
+
} elseif ( $skin->get_errors()->get_error_code() ) {
|
557 |
+
return array(
|
558 |
+
'message' => $skin->get_error_messages(),
|
559 |
+
'code' => 'unknown',
|
560 |
+
);
|
561 |
+
} elseif ( is_null( $install_result ) ) {
|
562 |
+
global $wp_filesystem;
|
563 |
+
|
564 |
+
$error_code = 'unable_to_connect_to_filesystem';
|
565 |
+
$error_message = __( 'Unable to connect to the filesystem. Please confirm your credentials.' );
|
566 |
+
|
567 |
+
// Pass through the error from WP_Filesystem if one was raised.
|
568 |
+
if ( $wp_filesystem instanceof WP_Filesystem_Base &&
|
569 |
+
is_wp_error( $wp_filesystem->errors ) &&
|
570 |
+
$wp_filesystem->errors->get_error_code()
|
571 |
+
) {
|
572 |
+
$error_message = $wp_filesystem->errors->get_error_message();
|
573 |
+
}
|
574 |
+
|
575 |
+
return array(
|
576 |
+
'message' => $error_message,
|
577 |
+
'code' => $error_code,
|
578 |
+
);
|
579 |
+
}
|
580 |
+
|
581 |
+
// Grab the full path to the main plugin's file.
|
582 |
+
$plugin_activate = $upgrader->plugin_info();
|
583 |
+
|
584 |
+
// Try to activate the plugin.
|
585 |
+
$activation_result = $this->try_activate_plugin( $plugin_activate );
|
586 |
+
|
587 |
+
if ( is_wp_error( $activation_result ) ) {
|
588 |
+
return array(
|
589 |
+
'message' => $activation_result->get_error_message(),
|
590 |
+
'code' => $activation_result->get_error_code(),
|
591 |
+
);
|
592 |
+
}
|
593 |
+
|
594 |
+
return $skin->get_upgrade_messages();
|
595 |
+
}
|
596 |
+
|
597 |
+
/**
|
598 |
+
* Tries to activate a plugin. If fails, returns the error.
|
599 |
+
*
|
600 |
+
* @author Vova Feldman
|
601 |
+
* @since 1.2.1.7
|
602 |
+
*
|
603 |
+
* @param string $file_path Path within wp-plugins/ to main plugin file.
|
604 |
+
* This determines the styling of the output messages.
|
605 |
+
*
|
606 |
+
* @return bool|WP_Error
|
607 |
+
*/
|
608 |
+
protected function try_activate_plugin( $file_path ) {
|
609 |
+
$activate = activate_plugin( $file_path );
|
610 |
+
|
611 |
+
return is_wp_error( $activate ) ?
|
612 |
+
$activate :
|
613 |
+
true;
|
614 |
+
}
|
615 |
+
|
616 |
+
/**
|
617 |
+
* Check if a premium module version is already active.
|
618 |
+
*
|
619 |
+
* @author Vova Feldman
|
620 |
+
* @since 1.2.1.7
|
621 |
+
*
|
622 |
+
* @param number|bool $plugin_id
|
623 |
+
*
|
624 |
+
* @return bool
|
625 |
+
*/
|
626 |
+
private function is_premium_plugin_active( $plugin_id = false ) {
|
627 |
+
if ( $plugin_id != $this->_fs->get_id() ) {
|
628 |
+
return $this->_fs->is_addon_activated( $plugin_id, true );
|
629 |
+
}
|
630 |
+
|
631 |
+
return is_plugin_active( $this->_fs->premium_plugin_basename() );
|
632 |
+
}
|
633 |
+
|
634 |
+
/**
|
635 |
+
* Adjust the plugin directory name if necessary.
|
636 |
+
* Assumes plugin has a folder (not a single file plugin).
|
637 |
+
*
|
638 |
+
* The final destination directory of a plugin is based on the subdirectory name found in the
|
639 |
+
* (un)zipped source. In some cases this subdirectory name is not the same as the expected
|
640 |
+
* slug and the plugin will not be recognized as installed. This is fixed by adjusting
|
641 |
+
* the temporary unzipped source subdirectory name to the expected plugin slug.
|
642 |
+
*
|
643 |
+
* @author Vova Feldman
|
644 |
+
* @since 1.2.1.7
|
645 |
+
*
|
646 |
+
* @param string $source Path to upgrade/zip-file-name.tmp/subdirectory/.
|
647 |
+
* @param string $remote_source Path to upgrade/zip-file-name.tmp.
|
648 |
+
* @param \WP_Upgrader $upgrader Instance of the upgrader which installs the plugin.
|
649 |
+
*
|
650 |
+
* @return string|WP_Error
|
651 |
+
*/
|
652 |
+
function _maybe_adjust_source_dir( $source, $remote_source, $upgrader ) {
|
653 |
+
if ( ! is_object( $GLOBALS['wp_filesystem'] ) ) {
|
654 |
+
return $source;
|
655 |
+
}
|
656 |
+
|
657 |
+
// Figure out what the slug is supposed to be.
|
658 |
+
$desired_slug = $upgrader->skin->options['extra']['slug'];
|
659 |
+
|
660 |
+
$subdir_name = untrailingslashit( str_replace( trailingslashit( $remote_source ), '', $source ) );
|
661 |
+
|
662 |
+
if ( ! empty( $subdir_name ) && $subdir_name !== $desired_slug ) {
|
663 |
+
$from_path = untrailingslashit( $source );
|
664 |
+
$to_path = trailingslashit( $remote_source ) . $desired_slug;
|
665 |
+
|
666 |
+
if ( true === $GLOBALS['wp_filesystem']->move( $from_path, $to_path ) ) {
|
667 |
+
return trailingslashit( $to_path );
|
668 |
+
} else {
|
669 |
+
return new WP_Error(
|
670 |
+
'rename_failed',
|
671 |
+
$this->_fs->get_text( 'module-package-rename-failure' ),
|
672 |
+
array(
|
673 |
+
'found' => $subdir_name,
|
674 |
+
'expected' => $desired_slug
|
675 |
+
) );
|
676 |
+
}
|
677 |
+
}
|
678 |
+
|
679 |
+
return $source;
|
680 |
+
}
|
681 |
+
|
682 |
+
#endregion
|
683 |
}
|
freemius/includes/debug/class-fs-debug-bar-panel.php
CHANGED
@@ -45,7 +45,7 @@
|
|
45 |
$total_time += $l['total'];
|
46 |
}
|
47 |
|
48 |
-
return number_format( 100 * $total_time, 2 ) . ' ' .
|
49 |
}
|
50 |
|
51 |
function render() {
|
45 |
$total_time += $l['total'];
|
46 |
}
|
47 |
|
48 |
+
return number_format( 100 * $total_time, 2 ) . ' ' . fs_text( 'ms' );
|
49 |
}
|
50 |
|
51 |
function render() {
|
freemius/includes/debug/debug-bar-start.php
CHANGED
@@ -38,8 +38,8 @@
|
|
38 |
require_once dirname( __FILE__ ) . '/class-fs-debug-bar-panel.php';
|
39 |
$statuses[] = array(
|
40 |
'fs_api_requests',
|
41 |
-
|
42 |
-
Freemius_Debug_Bar_Panel::requests_count() . ' ' .
|
43 |
' (' . Freemius_Debug_Bar_Panel::total_time() . ')'
|
44 |
);
|
45 |
}
|
38 |
require_once dirname( __FILE__ ) . '/class-fs-debug-bar-panel.php';
|
39 |
$statuses[] = array(
|
40 |
'fs_api_requests',
|
41 |
+
fs_text( 'Freemius API' ),
|
42 |
+
Freemius_Debug_Bar_Panel::requests_count() . ' ' . fs_text( 'Requests' ) .
|
43 |
' (' . Freemius_Debug_Bar_Panel::total_time() . ')'
|
44 |
);
|
45 |
}
|
freemius/includes/fs-core-functions.php
CHANGED
@@ -10,10 +10,6 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
global $fs_core_logger;
|
14 |
-
|
15 |
-
$fs_core_logger = FS_Logger::get_logger( WP_FS__SLUG . '_core', WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
16 |
-
|
17 |
if ( ! function_exists( 'fs_dummy' ) ) {
|
18 |
function fs_dummy() {
|
19 |
}
|
@@ -65,24 +61,10 @@
|
|
65 |
/* Scripts and styles including.
|
66 |
--------------------------------------------------------------------------------------------*/
|
67 |
function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, $media = 'all' ) {
|
68 |
-
global $fs_core_logger;
|
69 |
-
if ( $fs_core_logger->is_on() ) {
|
70 |
-
$fs_core_logger->info( 'handle = ' . $handle . '; path = ' . $path . ';' );
|
71 |
-
$fs_core_logger->info( 'plugin_basename = ' . plugins_url( WP_FS__DIR_CSS . trim( $path, '/' ) ) );
|
72 |
-
$fs_core_logger->info( 'plugins_url = ' . plugins_url( plugin_basename( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ) ) );
|
73 |
-
}
|
74 |
-
|
75 |
wp_enqueue_style( $handle, plugins_url( plugin_basename( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $media );
|
76 |
}
|
77 |
|
78 |
function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) {
|
79 |
-
global $fs_core_logger;
|
80 |
-
if ( $fs_core_logger->is_on() ) {
|
81 |
-
$fs_core_logger->info( 'handle = ' . $handle . '; path = ' . $path . ';' );
|
82 |
-
$fs_core_logger->info( 'plugin_basename = ' . plugins_url( WP_FS__DIR_JS . trim( $path, '/' ) ) );
|
83 |
-
$fs_core_logger->info( 'plugins_url = ' . plugins_url( plugin_basename( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ) ) );
|
84 |
-
}
|
85 |
-
|
86 |
wp_enqueue_script( $handle, plugins_url( plugin_basename( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $in_footer );
|
87 |
}
|
88 |
|
@@ -93,13 +75,32 @@
|
|
93 |
/* Request handlers.
|
94 |
--------------------------------------------------------------------------------------------*/
|
95 |
/**
|
96 |
-
* @param string
|
97 |
-
* @param mixed
|
|
|
|
|
|
|
98 |
*
|
99 |
* @return mixed
|
100 |
*/
|
101 |
-
function fs_request_get( $key, $def = false ) {
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
function fs_request_has( $key ) {
|
@@ -184,8 +185,8 @@
|
|
184 |
return true;
|
185 |
}
|
186 |
|
187 |
-
function fs_is_plugin_page( $
|
188 |
-
return ( is_admin() && $
|
189 |
}
|
190 |
|
191 |
/* Core UI.
|
@@ -467,6 +468,8 @@
|
|
467 |
$ch = curl_init( $from );
|
468 |
$fp = fopen( fs_normalize_path( $to ), 'wb' );
|
469 |
curl_setopt( $ch, CURLOPT_FILE, $fp );
|
|
|
|
|
470 |
curl_setopt( $ch, CURLOPT_HEADER, 0 );
|
471 |
curl_exec( $ch );
|
472 |
curl_close( $ch );
|
@@ -508,87 +511,119 @@
|
|
508 |
#region Localization
|
509 |
#--------------------------------------------------------------------------------
|
510 |
|
511 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
* @author Vova Feldman
|
513 |
-
* @since
|
514 |
*
|
515 |
* @param string $key
|
516 |
* @param string $slug
|
517 |
*
|
518 |
* @return string
|
519 |
*/
|
520 |
-
function fs_esc_attr($key, $slug) {
|
521 |
-
return esc_attr(
|
522 |
}
|
523 |
|
524 |
/**
|
525 |
* @author Vova Feldman
|
526 |
-
* @since
|
527 |
*
|
528 |
* @param string $key
|
529 |
* @param string $slug
|
530 |
*/
|
531 |
-
function fs_esc_attr_echo($key, $slug) {
|
532 |
-
echo esc_attr(
|
533 |
}
|
534 |
|
535 |
/**
|
536 |
* @author Vova Feldman
|
537 |
-
* @since
|
538 |
*
|
539 |
* @param string $key
|
540 |
* @param string $slug
|
541 |
*
|
542 |
* @return string
|
543 |
*/
|
544 |
-
function fs_esc_js($key, $slug) {
|
545 |
-
return esc_js(
|
546 |
}
|
547 |
|
548 |
/**
|
549 |
* @author Vova Feldman
|
550 |
-
* @since
|
551 |
*
|
552 |
* @param string $key
|
553 |
* @param string $slug
|
554 |
*/
|
555 |
-
function fs_esc_js_echo($key, $slug) {
|
556 |
-
echo esc_js(
|
557 |
}
|
558 |
|
559 |
/**
|
560 |
* @author Vova Feldman
|
561 |
-
* @since
|
562 |
*
|
563 |
* @param string $key
|
564 |
* @param string $slug
|
565 |
*/
|
566 |
-
function fs_json_encode_echo($key, $slug) {
|
567 |
-
echo json_encode(
|
568 |
}
|
569 |
|
570 |
/**
|
571 |
* @author Vova Feldman
|
572 |
-
* @since
|
573 |
*
|
574 |
* @param string $key
|
575 |
* @param string $slug
|
576 |
*
|
577 |
* @return string
|
578 |
*/
|
579 |
-
function fs_esc_html($key, $slug) {
|
580 |
-
return esc_html(
|
581 |
}
|
582 |
|
583 |
/**
|
584 |
* @author Vova Feldman
|
585 |
-
* @since
|
586 |
*
|
587 |
* @param string $key
|
588 |
* @param string $slug
|
589 |
*/
|
590 |
-
function fs_esc_html_echo($key, $slug) {
|
591 |
-
echo esc_html(
|
592 |
}
|
593 |
|
594 |
-
|
10 |
exit;
|
11 |
}
|
12 |
|
|
|
|
|
|
|
|
|
13 |
if ( ! function_exists( 'fs_dummy' ) ) {
|
14 |
function fs_dummy() {
|
15 |
}
|
61 |
/* Scripts and styles including.
|
62 |
--------------------------------------------------------------------------------------------*/
|
63 |
function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, $media = 'all' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
wp_enqueue_style( $handle, plugins_url( plugin_basename( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $media );
|
65 |
}
|
66 |
|
67 |
function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
wp_enqueue_script( $handle, plugins_url( plugin_basename( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $in_footer );
|
69 |
}
|
70 |
|
75 |
/* Request handlers.
|
76 |
--------------------------------------------------------------------------------------------*/
|
77 |
/**
|
78 |
+
* @param string $key
|
79 |
+
* @param mixed $def
|
80 |
+
* @param string|bool $type Since 1.2.1.7 - when set to 'get' will look for the value passed via querystring, when
|
81 |
+
* set to 'post' will look for the value passed via the POST request's body, otherwise,
|
82 |
+
* will check if the parameter was passed in any of the two.
|
83 |
*
|
84 |
* @return mixed
|
85 |
*/
|
86 |
+
function fs_request_get( $key, $def = false, $type = false ) {
|
87 |
+
if ( is_string( $type ) ) {
|
88 |
+
$type = strtolower( $type );
|
89 |
+
}
|
90 |
+
|
91 |
+
switch ( $type ) {
|
92 |
+
case 'post':
|
93 |
+
$value = isset( $_POST[ $key ] ) ? $_POST[ $key ] : $def;
|
94 |
+
break;
|
95 |
+
case 'get':
|
96 |
+
$value = isset( $_GET[ $key ] ) ? $_GET[ $key ] : $def;
|
97 |
+
break;
|
98 |
+
default:
|
99 |
+
$value = isset( $_REQUEST[ $key ] ) ? $_REQUEST[ $key ] : $def;
|
100 |
+
break;
|
101 |
+
}
|
102 |
+
|
103 |
+
return $value;
|
104 |
}
|
105 |
|
106 |
function fs_request_has( $key ) {
|
185 |
return true;
|
186 |
}
|
187 |
|
188 |
+
function fs_is_plugin_page( $page_slug ) {
|
189 |
+
return ( is_admin() && $page_slug === fs_request_get('page') );
|
190 |
}
|
191 |
|
192 |
/* Core UI.
|
468 |
$ch = curl_init( $from );
|
469 |
$fp = fopen( fs_normalize_path( $to ), 'wb' );
|
470 |
curl_setopt( $ch, CURLOPT_FILE, $fp );
|
471 |
+
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
|
472 |
+
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
|
473 |
curl_setopt( $ch, CURLOPT_HEADER, 0 );
|
474 |
curl_exec( $ch );
|
475 |
curl_close( $ch );
|
511 |
#region Localization
|
512 |
#--------------------------------------------------------------------------------
|
513 |
|
514 |
+
if ( ! function_exists( 'fs_text' ) ) {
|
515 |
+
/**
|
516 |
+
* Retrieve a translated text by key.
|
517 |
+
*
|
518 |
+
* @author Vova Feldman (@svovaf)
|
519 |
+
* @since 1.2.1.7
|
520 |
+
*
|
521 |
+
* @param string $key
|
522 |
+
* @param string $slug
|
523 |
+
*
|
524 |
+
* @return string
|
525 |
+
*
|
526 |
+
* @global $fs_text, $fs_text_overrides
|
527 |
+
*/
|
528 |
+
function fs_text( $key, $slug = 'freemius' ) {
|
529 |
+
return __fs( $key, $slug );
|
530 |
+
}
|
531 |
+
|
532 |
+
/**
|
533 |
+
* Output a translated text by key.
|
534 |
+
*
|
535 |
+
* @author Vova Feldman (@svovaf)
|
536 |
+
* @since 1.2.1.7
|
537 |
+
*
|
538 |
+
* @param string $key
|
539 |
+
* @param string $slug
|
540 |
+
*/
|
541 |
+
function fs_echo( $key, $slug = 'freemius' ) {
|
542 |
+
echo fs_text( $key, $slug );
|
543 |
+
}
|
544 |
+
}
|
545 |
+
|
546 |
+
/**
|
547 |
* @author Vova Feldman
|
548 |
+
* @since 1.2.1.6
|
549 |
*
|
550 |
* @param string $key
|
551 |
* @param string $slug
|
552 |
*
|
553 |
* @return string
|
554 |
*/
|
555 |
+
function fs_esc_attr( $key, $slug ) {
|
556 |
+
return esc_attr( fs_text( $key, $slug ) );
|
557 |
}
|
558 |
|
559 |
/**
|
560 |
* @author Vova Feldman
|
561 |
+
* @since 1.2.1.6
|
562 |
*
|
563 |
* @param string $key
|
564 |
* @param string $slug
|
565 |
*/
|
566 |
+
function fs_esc_attr_echo( $key, $slug ) {
|
567 |
+
echo esc_attr( fs_text( $key, $slug ) );
|
568 |
}
|
569 |
|
570 |
/**
|
571 |
* @author Vova Feldman
|
572 |
+
* @since 1.2.1.6
|
573 |
*
|
574 |
* @param string $key
|
575 |
* @param string $slug
|
576 |
*
|
577 |
* @return string
|
578 |
*/
|
579 |
+
function fs_esc_js( $key, $slug ) {
|
580 |
+
return esc_js( fs_text( $key, $slug ) );
|
581 |
}
|
582 |
|
583 |
/**
|
584 |
* @author Vova Feldman
|
585 |
+
* @since 1.2.1.6
|
586 |
*
|
587 |
* @param string $key
|
588 |
* @param string $slug
|
589 |
*/
|
590 |
+
function fs_esc_js_echo( $key, $slug ) {
|
591 |
+
echo esc_js( fs_text( $key, $slug ) );
|
592 |
}
|
593 |
|
594 |
/**
|
595 |
* @author Vova Feldman
|
596 |
+
* @since 1.2.1.6
|
597 |
*
|
598 |
* @param string $key
|
599 |
* @param string $slug
|
600 |
*/
|
601 |
+
function fs_json_encode_echo( $key, $slug ) {
|
602 |
+
echo json_encode( fs_text( $key, $slug ) );
|
603 |
}
|
604 |
|
605 |
/**
|
606 |
* @author Vova Feldman
|
607 |
+
* @since 1.2.1.6
|
608 |
*
|
609 |
* @param string $key
|
610 |
* @param string $slug
|
611 |
*
|
612 |
* @return string
|
613 |
*/
|
614 |
+
function fs_esc_html( $key, $slug ) {
|
615 |
+
return esc_html( fs_text( $key, $slug ) );
|
616 |
}
|
617 |
|
618 |
/**
|
619 |
* @author Vova Feldman
|
620 |
+
* @since 1.2.1.6
|
621 |
*
|
622 |
* @param string $key
|
623 |
* @param string $slug
|
624 |
*/
|
625 |
+
function fs_esc_html_echo( $key, $slug ) {
|
626 |
+
echo esc_html( fs_text( $key, $slug ) );
|
627 |
}
|
628 |
|
629 |
+
#endregion
|
freemius/includes/fs-essential-functions.php
CHANGED
@@ -52,7 +52,7 @@
|
|
52 |
|
53 |
$file = '';
|
54 |
$line = '';
|
55 |
-
if ( headers_sent($file, $line) ) {
|
56 |
if ( WP_FS__DEBUG_SDK && class_exists( 'FS_Admin_Notice_Manager' ) ) {
|
57 |
$notices = FS_Admin_Notice_Manager::instance( 'global' );
|
58 |
|
@@ -152,64 +152,70 @@
|
|
152 |
/**
|
153 |
* Retrieve a translated text by key.
|
154 |
*
|
155 |
-
* @
|
156 |
-
*
|
|
|
|
|
157 |
*
|
158 |
* @param string $key
|
159 |
* @param string $slug
|
160 |
*
|
161 |
* @return string
|
162 |
*
|
163 |
-
* @global $fs_text
|
164 |
*/
|
165 |
function __fs( $key, $slug = 'freemius' ) {
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
}
|
199 |
|
200 |
/**
|
201 |
-
*
|
202 |
*
|
203 |
-
* @
|
204 |
-
*
|
|
|
|
|
205 |
*
|
206 |
* @param string $key
|
207 |
* @param string $slug
|
208 |
*/
|
209 |
function _efs( $key, $slug = 'freemius' ) {
|
210 |
-
|
211 |
}
|
|
|
212 |
|
|
|
213 |
/**
|
214 |
* Override default i18n text phrases.
|
215 |
*
|
@@ -292,6 +298,10 @@
|
|
292 |
|
293 |
$plugin_file = null;
|
294 |
for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
|
|
|
|
|
|
|
|
|
295 |
if ( in_array( fs_normalize_path( $bt[ $i ]['file'] ), $all_plugins_paths ) ) {
|
296 |
$plugin_file = $bt[ $i ]['file'];
|
297 |
break;
|
@@ -300,7 +310,11 @@
|
|
300 |
|
301 |
if ( is_null( $plugin_file ) ) {
|
302 |
// Throw an error to the developer in case of some edge case dev environment.
|
303 |
-
wp_die(
|
|
|
|
|
|
|
|
|
304 |
}
|
305 |
|
306 |
return $plugin_file;
|
52 |
|
53 |
$file = '';
|
54 |
$line = '';
|
55 |
+
if ( headers_sent( $file, $line ) ) {
|
56 |
if ( WP_FS__DEBUG_SDK && class_exists( 'FS_Admin_Notice_Manager' ) ) {
|
57 |
$notices = FS_Admin_Notice_Manager::instance( 'global' );
|
58 |
|
152 |
/**
|
153 |
* Retrieve a translated text by key.
|
154 |
*
|
155 |
+
* @deprecated Use `fs_text()` instead since methods starting with `__` trigger warnings in Php 7.
|
156 |
+
*
|
157 |
+
* @author Vova Feldman (@svovaf)
|
158 |
+
* @since 1.1.4
|
159 |
*
|
160 |
* @param string $key
|
161 |
* @param string $slug
|
162 |
*
|
163 |
* @return string
|
164 |
*
|
165 |
+
* @global $fs_text, $fs_text_overrides
|
166 |
*/
|
167 |
function __fs( $key, $slug = 'freemius' ) {
|
168 |
+
global $fs_text,
|
169 |
+
$fs_module_info_text,
|
170 |
+
$fs_text_overrides;
|
171 |
+
|
172 |
+
if ( isset( $fs_text_overrides[ $slug ] ) ) {
|
173 |
+
if ( isset( $fs_text_overrides[ $slug ][ $key ] ) ) {
|
174 |
+
return $fs_text_overrides[ $slug ][ $key ];
|
175 |
+
}
|
176 |
+
|
177 |
+
$lower_key = strtolower( $key );
|
178 |
+
if ( isset( $fs_text_overrides[ $slug ][ $lower_key ] ) ) {
|
179 |
+
return $fs_text_overrides[ $slug ][ $lower_key ];
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
if ( ! isset( $fs_text ) ) {
|
184 |
+
$dir = defined( 'WP_FS__DIR_INCLUDES' ) ?
|
185 |
+
WP_FS__DIR_INCLUDES :
|
186 |
+
dirname( __FILE__ );
|
187 |
+
|
188 |
+
require_once $dir . '/i18n.php';
|
189 |
+
}
|
190 |
+
|
191 |
+
if ( isset( $fs_text[ $key ] ) ) {
|
192 |
+
return $fs_text[ $key ];
|
193 |
+
}
|
194 |
+
|
195 |
+
if ( isset( $fs_module_info_text[ $key ] ) ) {
|
196 |
+
return $fs_module_info_text[ $key ];
|
197 |
+
}
|
198 |
+
|
199 |
+
return $key;
|
200 |
}
|
201 |
|
202 |
/**
|
203 |
+
* Output a translated text by key.
|
204 |
*
|
205 |
+
* @deprecated Use `fs_echo()` instead for consistency with `fs_text()`.
|
206 |
+
*
|
207 |
+
* @author Vova Feldman (@svovaf)
|
208 |
+
* @since 1.1.4
|
209 |
*
|
210 |
* @param string $key
|
211 |
* @param string $slug
|
212 |
*/
|
213 |
function _efs( $key, $slug = 'freemius' ) {
|
214 |
+
fs_echo( $key, $slug );
|
215 |
}
|
216 |
+
}
|
217 |
|
218 |
+
if ( ! function_exists( 'fs_override_i18n' ) ) {
|
219 |
/**
|
220 |
* Override default i18n text phrases.
|
221 |
*
|
298 |
|
299 |
$plugin_file = null;
|
300 |
for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
|
301 |
+
if ( empty( $bt[ $i ]['file'] ) ) {
|
302 |
+
continue;
|
303 |
+
}
|
304 |
+
|
305 |
if ( in_array( fs_normalize_path( $bt[ $i ]['file'] ), $all_plugins_paths ) ) {
|
306 |
$plugin_file = $bt[ $i ]['file'];
|
307 |
break;
|
310 |
|
311 |
if ( is_null( $plugin_file ) ) {
|
312 |
// Throw an error to the developer in case of some edge case dev environment.
|
313 |
+
wp_die(
|
314 |
+
"Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error.",
|
315 |
+
'Error',
|
316 |
+
array( 'back_link' => true )
|
317 |
+
);
|
318 |
}
|
319 |
|
320 |
return $plugin_file;
|
freemius/includes/fs-plugin-info-dialog.php
CHANGED
@@ -323,8 +323,8 @@
|
|
323 |
$plan->has_trial()
|
324 |
) . '" target="_parent">' .
|
325 |
( ! $plan->has_trial() ?
|
326 |
-
|
327 |
-
sprintf(
|
328 |
) .
|
329 |
'</a>';
|
330 |
|
@@ -346,23 +346,23 @@
|
|
346 |
* plugin is wordpress.org compliant. Therefore, require a download
|
347 |
* since installing external plugins is not allowed by the wp.org guidelines.
|
348 |
*/
|
349 |
-
return ' <a class="button button-primary right" href="' . esc_url( $api->download_link ) . '" target="_blank">' .
|
350 |
} else {
|
351 |
if ( $status['url'] ) {
|
352 |
-
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' .
|
353 |
}
|
354 |
}
|
355 |
break;
|
356 |
case 'update_available':
|
357 |
if ( $status['url'] ) {
|
358 |
-
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' .
|
359 |
}
|
360 |
break;
|
361 |
case 'newer_installed':
|
362 |
-
return '<a class="button button-primary right disabled">' . sprintf(
|
363 |
break;
|
364 |
case 'latest_installed':
|
365 |
-
return '<a class="button button-primary right disabled">' .
|
366 |
break;
|
367 |
}
|
368 |
|
@@ -475,13 +475,13 @@
|
|
475 |
);
|
476 |
|
477 |
$plugins_section_titles = array(
|
478 |
-
'description' =>
|
479 |
-
'installation' =>
|
480 |
-
'faq' =>
|
481 |
-
'screenshots' =>
|
482 |
-
'changelog' =>
|
483 |
-
'reviews' =>
|
484 |
-
'other_notes' =>
|
485 |
);
|
486 |
|
487 |
// Sanitize HTML
|
@@ -496,7 +496,7 @@
|
|
496 |
}
|
497 |
|
498 |
// Add after $api->slug is ready.
|
499 |
-
$plugins_section_titles['features'] =
|
500 |
|
501 |
$_tab = esc_attr( $tab );
|
502 |
|
@@ -506,7 +506,7 @@
|
|
506 |
$section = array_shift( $section_titles );
|
507 |
}
|
508 |
|
509 |
-
iframe_header(
|
510 |
|
511 |
$_with_banner = '';
|
512 |
|
@@ -574,7 +574,7 @@
|
|
574 |
<div class="fs-plan<?php if ( ! $is_multi_cycle ) {
|
575 |
echo ' fs-single-cycle';
|
576 |
} ?>" data-plan-id="<?php echo $plan->id ?>">
|
577 |
-
<h3 data-plan="<?php echo $plan->id ?>"><?php printf(
|
578 |
<?php $has_annual = $first_pricing->has_annual() ?>
|
579 |
<?php $has_monthly = $first_pricing->has_monthly() ?>
|
580 |
<div class="nav-tab-wrapper">
|
@@ -599,9 +599,9 @@
|
|
599 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
600 |
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
601 |
<?php if ( $is_featured ) : ?>
|
602 |
-
<label>★ <?php
|
603 |
<?php endif ?>
|
604 |
-
<?php
|
605 |
</a>
|
606 |
<?php endif ?>
|
607 |
<?php $i ++; endforeach ?>
|
@@ -612,21 +612,21 @@
|
|
612 |
_formatBillingFrequency = function (cycle) {
|
613 |
switch (cycle) {
|
614 |
case 'monthly':
|
615 |
-
return '<?php printf(
|
616 |
case 'annual':
|
617 |
-
return '<?php printf(
|
618 |
case 'lifetime':
|
619 |
-
return '<?php printf(
|
620 |
}
|
621 |
},
|
622 |
_formatLicensesTitle = function (pricing) {
|
623 |
switch (pricing.licenses) {
|
624 |
case 1:
|
625 |
-
return '<?php
|
626 |
case null:
|
627 |
-
return '<?php
|
628 |
default:
|
629 |
-
return '<?php
|
630 |
}
|
631 |
},
|
632 |
_formatPrice = function (pricing, cycle, multipleLicenses) {
|
@@ -636,14 +636,14 @@
|
|
636 |
var priceCycle;
|
637 |
switch (cycle) {
|
638 |
case 'monthly':
|
639 |
-
priceCycle = ' / <?php
|
640 |
break;
|
641 |
case 'lifetime':
|
642 |
priceCycle = '';
|
643 |
break;
|
644 |
case 'annual':
|
645 |
default:
|
646 |
-
priceCycle = ' / <?php
|
647 |
break;
|
648 |
}
|
649 |
|
@@ -695,7 +695,7 @@
|
|
695 |
|
696 |
// Render licenses prices.
|
697 |
if (1 == pricing.length) {
|
698 |
-
html = '<li><label><?php
|
699 |
} else {
|
700 |
for (var i = 0; i < pricing.length; i++) {
|
701 |
html += '<li><label><input name="pricing-<?php echo $plan->id ?>" type="radio" value="' + pricing[i].id + '">' + _formatPrice(pricing[i], billingCycle) + '</label></li>';
|
@@ -741,7 +741,7 @@
|
|
741 |
<?php $annual_discount = ( $has_annual && $has_monthly ) ? $plan->pricing[0]->annual_discount_percentage() : 0 ?>
|
742 |
<?php if ( $annual_discount > 0 ) : ?>
|
743 |
<span
|
744 |
-
class="fs-annual-discount"><?php printf(
|
745 |
<?php endif ?>
|
746 |
<ul class="fs-licenses">
|
747 |
</ul>
|
@@ -751,10 +751,10 @@
|
|
751 |
<?php $trial_period = $this->get_trial_period( $plan ) ?>
|
752 |
<ul class="fs-trial-terms">
|
753 |
<li>
|
754 |
-
<i class="dashicons dashicons-yes"></i><?php printf(
|
755 |
</li>
|
756 |
<li>
|
757 |
-
<i class="dashicons dashicons-yes"></i><?php printf(
|
758 |
</li>
|
759 |
</ul>
|
760 |
<?php endif ?>
|
@@ -765,45 +765,45 @@
|
|
765 |
<?php endif ?>
|
766 |
<?php endif ?>
|
767 |
<div>
|
768 |
-
<h3><?php
|
769 |
<ul>
|
770 |
<?php if ( ! empty( $api->version ) ) { ?>
|
771 |
-
<li><strong><?php
|
772 |
<?php
|
773 |
}
|
774 |
if ( ! empty( $api->author ) ) {
|
775 |
?>
|
776 |
<li>
|
777 |
-
<strong><?php
|
778 |
</li>
|
779 |
<?php
|
780 |
}
|
781 |
if ( ! empty( $api->last_updated ) ) {
|
782 |
?>
|
783 |
-
<li><strong><?php
|
784 |
title="<?php echo $api->last_updated; ?>">
|
785 |
-
<?php printf(
|
786 |
</span></li>
|
787 |
<?php
|
788 |
}
|
789 |
if ( ! empty( $api->requires ) ) {
|
790 |
?>
|
791 |
<li>
|
792 |
-
<strong><?php
|
793 |
</li>
|
794 |
<?php
|
795 |
}
|
796 |
if ( ! empty( $api->tested ) ) {
|
797 |
?>
|
798 |
-
<li><strong><?php
|
799 |
</li>
|
800 |
<?php
|
801 |
}
|
802 |
if ( ! empty( $api->downloaded ) ) {
|
803 |
?>
|
804 |
<li>
|
805 |
-
<strong><?php
|
806 |
-
|
807 |
number_format_i18n( $api->downloaded )
|
808 |
); ?>
|
809 |
</li>
|
@@ -812,36 +812,36 @@
|
|
812 |
if ( ! empty( $api->slug ) && empty( $api->external ) ) {
|
813 |
?>
|
814 |
<li><a target="_blank"
|
815 |
-
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php
|
816 |
</li>
|
817 |
<?php
|
818 |
}
|
819 |
if ( ! empty( $api->homepage ) ) {
|
820 |
?>
|
821 |
<li><a target="_blank"
|
822 |
-
href="<?php echo esc_url( $api->homepage ); ?>"><?php
|
823 |
</li>
|
824 |
<?php
|
825 |
}
|
826 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
827 |
?>
|
828 |
<li><a target="_blank"
|
829 |
-
href="<?php echo esc_url( $api->donate_link ); ?>"><?php
|
830 |
</li>
|
831 |
<?php } ?>
|
832 |
</ul>
|
833 |
</div>
|
834 |
<?php if ( ! empty( $api->rating ) ) { ?>
|
835 |
-
<h3><?php
|
836 |
<?php wp_star_rating( array(
|
837 |
'rating' => $api->rating,
|
838 |
'type' => 'percent',
|
839 |
'number' => $api->num_ratings
|
840 |
) ); ?>
|
841 |
<small>(<?php printf(
|
842 |
-
|
843 |
sprintf(
|
844 |
-
|
845 |
number_format_i18n( $api->num_ratings )
|
846 |
) ); ?>)</small>
|
847 |
<?php
|
@@ -852,7 +852,7 @@
|
|
852 |
// Avoid div-by-zero.
|
853 |
$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
|
854 |
$stars_label = sprintf(
|
855 |
-
|
856 |
number_format_i18n( $key )
|
857 |
);
|
858 |
?>
|
@@ -860,7 +860,7 @@
|
|
860 |
<span class="counter-label"><a
|
861 |
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
862 |
target="_blank"
|
863 |
-
title="<?php echo esc_attr( sprintf(
|
864 |
<span class="counter-back">
|
865 |
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
|
866 |
</span>
|
@@ -871,7 +871,7 @@
|
|
871 |
}
|
872 |
if ( ! empty( $api->contributors ) ) {
|
873 |
?>
|
874 |
-
<h3><?php
|
875 |
<ul class="contributors">
|
876 |
<?php
|
877 |
foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
|
@@ -892,16 +892,16 @@
|
|
892 |
</ul>
|
893 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
894 |
<a target="_blank"
|
895 |
-
href="<?php echo esc_url( $api->donate_link ); ?>"><?php
|
896 |
<?php } ?>
|
897 |
<?php } ?>
|
898 |
</div>
|
899 |
<div id="section-holder" class="wrap">
|
900 |
<?php
|
901 |
if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
|
902 |
-
echo '<div class="notice notice-warning"><p>' . '<strong>' .
|
903 |
} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
|
904 |
-
echo '<div class="notice notice-warning"><p>' . '<strong>' .
|
905 |
}
|
906 |
|
907 |
foreach ( (array) $api->sections as $section_name => $content ) {
|
@@ -919,7 +919,7 @@
|
|
919 |
$missing_notice = array(
|
920 |
'type' => 'error',
|
921 |
'id' => md5( microtime() ),
|
922 |
-
'message' =>
|
923 |
);
|
924 |
fs_require_template( 'admin-notice.php', $missing_notice );
|
925 |
}
|
323 |
$plan->has_trial()
|
324 |
) . '" target="_parent">' .
|
325 |
( ! $plan->has_trial() ?
|
326 |
+
fs_text( 'purchase', $api->slug ) :
|
327 |
+
sprintf( fs_text( 'start-free-x', $api->slug ), $this->get_trial_period( $plan ) )
|
328 |
) .
|
329 |
'</a>';
|
330 |
|
346 |
* plugin is wordpress.org compliant. Therefore, require a download
|
347 |
* since installing external plugins is not allowed by the wp.org guidelines.
|
348 |
*/
|
349 |
+
return ' <a class="button button-primary right" href="' . esc_url( $api->download_link ) . '" target="_blank">' . fs_text( 'download-latest', $api->slug ) . '</a>';
|
350 |
} else {
|
351 |
if ( $status['url'] ) {
|
352 |
+
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . fs_text( 'install-now', $api->slug ) . '</a>';
|
353 |
}
|
354 |
}
|
355 |
break;
|
356 |
case 'update_available':
|
357 |
if ( $status['url'] ) {
|
358 |
+
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . fs_text( 'install-update-now', $api->slug ) . '</a>';
|
359 |
}
|
360 |
break;
|
361 |
case 'newer_installed':
|
362 |
+
return '<a class="button button-primary right disabled">' . sprintf( fs_text( 'newer-installed', $api->slug ), $status['version'] ) . '</a>';
|
363 |
break;
|
364 |
case 'latest_installed':
|
365 |
+
return '<a class="button button-primary right disabled">' . fs_text( 'latest-installed', $api->slug ) . '</a>';
|
366 |
break;
|
367 |
}
|
368 |
|
475 |
);
|
476 |
|
477 |
$plugins_section_titles = array(
|
478 |
+
'description' => fs_text( 'description', $api->slug ),
|
479 |
+
'installation' => fs_text( 'installation', $api->slug ),
|
480 |
+
'faq' => fs_text( 'faq', $api->slug ),
|
481 |
+
'screenshots' => fs_text( 'screenshots', $api->slug ),
|
482 |
+
'changelog' => fs_text( 'changelog', $api->slug ),
|
483 |
+
'reviews' => fs_text( 'reviews', $api->slug ),
|
484 |
+
'other_notes' => fs_text( 'other_notes', $api->slug ),
|
485 |
);
|
486 |
|
487 |
// Sanitize HTML
|
496 |
}
|
497 |
|
498 |
// Add after $api->slug is ready.
|
499 |
+
$plugins_section_titles['features'] = fs_text( 'features-and-pricing', $api->slug );
|
500 |
|
501 |
$_tab = esc_attr( $tab );
|
502 |
|
506 |
$section = array_shift( $section_titles );
|
507 |
}
|
508 |
|
509 |
+
iframe_header( fs_text( 'plugin-install', $api->slug ) );
|
510 |
|
511 |
$_with_banner = '';
|
512 |
|
574 |
<div class="fs-plan<?php if ( ! $is_multi_cycle ) {
|
575 |
echo ' fs-single-cycle';
|
576 |
} ?>" data-plan-id="<?php echo $plan->id ?>">
|
577 |
+
<h3 data-plan="<?php echo $plan->id ?>"><?php printf( fs_text( 'x-plan', $api->slug ), $plan->title ) ?></h3>
|
578 |
<?php $has_annual = $first_pricing->has_annual() ?>
|
579 |
<?php $has_monthly = $first_pricing->has_monthly() ?>
|
580 |
<div class="nav-tab-wrapper">
|
599 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
600 |
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
601 |
<?php if ( $is_featured ) : ?>
|
602 |
+
<label>★ <?php fs_echo( 'best', $api->slug ) ?> ★</label>
|
603 |
<?php endif ?>
|
604 |
+
<?php fs_echo( $cycle, $api->slug ) ?>
|
605 |
</a>
|
606 |
<?php endif ?>
|
607 |
<?php $i ++; endforeach ?>
|
612 |
_formatBillingFrequency = function (cycle) {
|
613 |
switch (cycle) {
|
614 |
case 'monthly':
|
615 |
+
return '<?php printf(fs_text('billed-x', $api->slug), fs_text('monthly', $api->slug)) ?>';
|
616 |
case 'annual':
|
617 |
+
return '<?php printf(fs_text('billed-x', $api->slug), fs_text('annually', $api->slug)) ?>';
|
618 |
case 'lifetime':
|
619 |
+
return '<?php printf(fs_text('billed-x', $api->slug), fs_text('once', $api->slug)) ?>';
|
620 |
}
|
621 |
},
|
622 |
_formatLicensesTitle = function (pricing) {
|
623 |
switch (pricing.licenses) {
|
624 |
case 1:
|
625 |
+
return '<?php fs_echo( 'license-single-site', $api->slug ) ?>';
|
626 |
case null:
|
627 |
+
return '<?php fs_echo( 'license-unlimited', $api->slug ) ?>';
|
628 |
default:
|
629 |
+
return '<?php fs_echo( 'license-x-sites', $api->slug ) ?>'.replace('%s', pricing.licenses);
|
630 |
}
|
631 |
},
|
632 |
_formatPrice = function (pricing, cycle, multipleLicenses) {
|
636 |
var priceCycle;
|
637 |
switch (cycle) {
|
638 |
case 'monthly':
|
639 |
+
priceCycle = ' / <?php fs_echo('mo', $api->slug) ?>';
|
640 |
break;
|
641 |
case 'lifetime':
|
642 |
priceCycle = '';
|
643 |
break;
|
644 |
case 'annual':
|
645 |
default:
|
646 |
+
priceCycle = ' / <?php fs_echo('year', $api->slug) ?>';
|
647 |
break;
|
648 |
}
|
649 |
|
695 |
|
696 |
// Render licenses prices.
|
697 |
if (1 == pricing.length) {
|
698 |
+
html = '<li><label><?php fs_echo( 'price', $api->slug ) ?>: ' + _formatPrice(pricing[0], billingCycle, false) + '</label></li>';
|
699 |
} else {
|
700 |
for (var i = 0; i < pricing.length; i++) {
|
701 |
html += '<li><label><input name="pricing-<?php echo $plan->id ?>" type="radio" value="' + pricing[i].id + '">' + _formatPrice(pricing[i], billingCycle) + '</label></li>';
|
741 |
<?php $annual_discount = ( $has_annual && $has_monthly ) ? $plan->pricing[0]->annual_discount_percentage() : 0 ?>
|
742 |
<?php if ( $annual_discount > 0 ) : ?>
|
743 |
<span
|
744 |
+
class="fs-annual-discount"><?php printf( fs_text( 'save-x', $api->slug ), $annual_discount . '%' ) ?></span>
|
745 |
<?php endif ?>
|
746 |
<ul class="fs-licenses">
|
747 |
</ul>
|
751 |
<?php $trial_period = $this->get_trial_period( $plan ) ?>
|
752 |
<ul class="fs-trial-terms">
|
753 |
<li>
|
754 |
+
<i class="dashicons dashicons-yes"></i><?php printf( fs_text( 'no-commitment-x', $api->slug ), $trial_period ) ?>
|
755 |
</li>
|
756 |
<li>
|
757 |
+
<i class="dashicons dashicons-yes"></i><?php printf( fs_text( 'after-x-pay-as-little-y', $api->slug ), $trial_period, '<var class="fs-price">' . $this->get_price_tag( $plan, $plan->pricing[0] ) . '</var>' ) ?>
|
758 |
</li>
|
759 |
</ul>
|
760 |
<?php endif ?>
|
765 |
<?php endif ?>
|
766 |
<?php endif ?>
|
767 |
<div>
|
768 |
+
<h3><?php fs_echo( 'details', $api->slug ) ?></h3>
|
769 |
<ul>
|
770 |
<?php if ( ! empty( $api->version ) ) { ?>
|
771 |
+
<li><strong><?php fs_echo( 'version', $api->slug ); ?>:</strong> <?php echo $api->version; ?></li>
|
772 |
<?php
|
773 |
}
|
774 |
if ( ! empty( $api->author ) ) {
|
775 |
?>
|
776 |
<li>
|
777 |
+
<strong><?php fs_echo( 'author:', $api->slug ); ?></strong> <?php echo links_add_target( $api->author, '_blank' ); ?>
|
778 |
</li>
|
779 |
<?php
|
780 |
}
|
781 |
if ( ! empty( $api->last_updated ) ) {
|
782 |
?>
|
783 |
+
<li><strong><?php fs_echo( 'last-updated:', $api->slug ); ?></strong> <span
|
784 |
title="<?php echo $api->last_updated; ?>">
|
785 |
+
<?php printf( fs_text( 'x-ago', $api->slug ), human_time_diff( strtotime( $api->last_updated ) ) ); ?>
|
786 |
</span></li>
|
787 |
<?php
|
788 |
}
|
789 |
if ( ! empty( $api->requires ) ) {
|
790 |
?>
|
791 |
<li>
|
792 |
+
<strong><?php fs_echo( 'requires-wordpress-version:', $api->slug ); ?></strong> <?php printf( fs_text( 'x-or-higher', $api->slug ), $api->requires ); ?>
|
793 |
</li>
|
794 |
<?php
|
795 |
}
|
796 |
if ( ! empty( $api->tested ) ) {
|
797 |
?>
|
798 |
+
<li><strong><?php fs_echo( 'compatible-up-to:', $api->slug ); ?></strong> <?php echo $api->tested; ?>
|
799 |
</li>
|
800 |
<?php
|
801 |
}
|
802 |
if ( ! empty( $api->downloaded ) ) {
|
803 |
?>
|
804 |
<li>
|
805 |
+
<strong><?php fs_echo( 'downloaded:', $api->slug ); ?></strong> <?php printf(
|
806 |
+
fs_text( ( 1 == $api->downloaded ) ? 'x-time' : 'x-times', $api->slug ),
|
807 |
number_format_i18n( $api->downloaded )
|
808 |
); ?>
|
809 |
</li>
|
812 |
if ( ! empty( $api->slug ) && empty( $api->external ) ) {
|
813 |
?>
|
814 |
<li><a target="_blank"
|
815 |
+
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php fs_echo( 'wp-org-plugin-page', $api->slug ); ?> »</a>
|
816 |
</li>
|
817 |
<?php
|
818 |
}
|
819 |
if ( ! empty( $api->homepage ) ) {
|
820 |
?>
|
821 |
<li><a target="_blank"
|
822 |
+
href="<?php echo esc_url( $api->homepage ); ?>"><?php fs_echo( 'plugin-homepage', $api->slug ); ?> »</a>
|
823 |
</li>
|
824 |
<?php
|
825 |
}
|
826 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
827 |
?>
|
828 |
<li><a target="_blank"
|
829 |
+
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo( 'donate-to-plugin', $api->slug ); ?> »</a>
|
830 |
</li>
|
831 |
<?php } ?>
|
832 |
</ul>
|
833 |
</div>
|
834 |
<?php if ( ! empty( $api->rating ) ) { ?>
|
835 |
+
<h3><?php fs_echo( 'average-rating', $api->slug ); ?></h3>
|
836 |
<?php wp_star_rating( array(
|
837 |
'rating' => $api->rating,
|
838 |
'type' => 'percent',
|
839 |
'number' => $api->num_ratings
|
840 |
) ); ?>
|
841 |
<small>(<?php printf(
|
842 |
+
fs_text( 'based-on-x', $api->slug ),
|
843 |
sprintf(
|
844 |
+
fs_text( ( 1 == $api->num_ratings ) ? 'x-rating' : 'x-ratings', $api->slug ),
|
845 |
number_format_i18n( $api->num_ratings )
|
846 |
) ); ?>)</small>
|
847 |
<?php
|
852 |
// Avoid div-by-zero.
|
853 |
$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
|
854 |
$stars_label = sprintf(
|
855 |
+
fs_text( ( 1 == $key ) ? 'x-star' : 'x-stars', $api->slug ),
|
856 |
number_format_i18n( $key )
|
857 |
);
|
858 |
?>
|
860 |
<span class="counter-label"><a
|
861 |
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
862 |
target="_blank"
|
863 |
+
title="<?php echo esc_attr( sprintf( fs_text('click-to-reviews', $api->slug), $stars_label) ) ?>"><?php echo $stars_label ?></a></span>
|
864 |
<span class="counter-back">
|
865 |
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
|
866 |
</span>
|
871 |
}
|
872 |
if ( ! empty( $api->contributors ) ) {
|
873 |
?>
|
874 |
+
<h3><?php fs_echo( 'contributors', $api->slug ); ?></h3>
|
875 |
<ul class="contributors">
|
876 |
<?php
|
877 |
foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
|
892 |
</ul>
|
893 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
894 |
<a target="_blank"
|
895 |
+
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo( 'donate-to-plugin', $api->slug ) ?> »</a>
|
896 |
<?php } ?>
|
897 |
<?php } ?>
|
898 |
</div>
|
899 |
<div id="section-holder" class="wrap">
|
900 |
<?php
|
901 |
if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
|
902 |
+
echo '<div class="notice notice-warning"><p>' . '<strong>' . fs_text( 'warning:', $api->slug ) . '</strong> ' . fs_text( 'not-tested-warning', $api->slug ) . '</p></div>';
|
903 |
} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
|
904 |
+
echo '<div class="notice notice-warning"><p>' . '<strong>' . fs_text( 'warning:', $api->slug ) . '</strong> ' . fs_text( 'not-compatible-warning', $api->slug ) . '</p></div>';
|
905 |
}
|
906 |
|
907 |
foreach ( (array) $api->sections as $section_name => $content ) {
|
919 |
$missing_notice = array(
|
920 |
'type' => 'error',
|
921 |
'id' => md5( microtime() ),
|
922 |
+
'message' => fs_text( ( $api->is_paid ? 'paid-addon-not-deployed' : 'free-addon-not-deployed' ), $api->slug ),
|
923 |
);
|
924 |
fs_require_template( 'admin-notice.php', $missing_notice );
|
925 |
}
|
freemius/includes/i18n.php
CHANGED
@@ -1,518 +1,538 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
-
* @since 1.1.4
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
require_once dirname( __FILE__ ) . '/l10n.php';
|
14 |
-
|
15 |
-
/**
|
16 |
-
* All strings can now be overridden.
|
17 |
-
*
|
18 |
-
* For example, if we want to override:
|
19 |
-
* 'you-are-step-away' => 'You are just one step away - %s',
|
20 |
-
*
|
21 |
-
* We can use the filter:
|
22 |
-
* fs_override_i18n( array(
|
23 |
-
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
24 |
-
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
25 |
-
* ), '{plugin_slug}' );
|
26 |
-
*
|
27 |
-
* Or with the Freemius instance:
|
28 |
-
*
|
29 |
-
* my_freemius->override_i18n( array(
|
30 |
-
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
31 |
-
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
32 |
-
* );
|
33 |
-
*/
|
34 |
-
global $fs_text;
|
35 |
-
|
36 |
-
$fs_text = array(
|
37 |
-
'account' => _fs_text( 'Account' ),
|
38 |
-
'addon' => _fs_text( 'Add On' ),
|
39 |
-
'contact-us' => _fs_text( 'Contact Us' ),
|
40 |
-
'contact-support' => _fs_text( 'Contact Support' ),
|
41 |
-
'change-ownership' => _fs_text( 'Change Ownership' ),
|
42 |
-
'support' => _fs_text( 'Support' ),
|
43 |
-
'support-forum' => _fs_text( 'Support Forum' ),
|
44 |
-
'add-ons' => _fs_text( 'Add Ons' ),
|
45 |
-
'upgrade' => _fs_x( 'Upgrade', 'verb' ),
|
46 |
-
'awesome' => _fs_text( 'Awesome' ),
|
47 |
-
'pricing' => _fs_x( 'Pricing', 'noun' ),
|
48 |
-
'price' => _fs_x( 'Price', 'noun' ),
|
49 |
-
'unlimited-updates' => _fs_text( 'Unlimited Updates' ),
|
50 |
-
'downgrade' => _fs_x( 'Downgrade', 'verb' ),
|
51 |
-
'cancel-
|
52 |
-
'
|
53 |
-
'
|
54 |
-
'
|
55 |
-
'
|
56 |
-
'
|
57 |
-
'
|
58 |
-
'
|
59 |
-
'
|
60 |
-
'
|
61 |
-
'
|
62 |
-
'
|
63 |
-
'
|
64 |
-
'
|
65 |
-
'
|
66 |
-
'
|
67 |
-
'
|
68 |
-
'
|
69 |
-
'
|
70 |
-
'
|
71 |
-
'
|
72 |
-
'
|
73 |
-
'download-x-version
|
74 |
-
'download-
|
75 |
-
'
|
76 |
-
'
|
77 |
-
'
|
78 |
-
'
|
79 |
-
'
|
80 |
-
'
|
81 |
-
'purchase
|
82 |
-
'
|
83 |
-
'buy
|
84 |
-
'license
|
85 |
-
'license-
|
86 |
-
'license-
|
87 |
-
'
|
88 |
-
'
|
89 |
-
'
|
90 |
-
'
|
91 |
-
'
|
92 |
-
|
93 |
-
|
94 |
-
'
|
95 |
-
'
|
96 |
-
'
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
'
|
101 |
-
'
|
102 |
-
'
|
103 |
-
'
|
104 |
-
'
|
105 |
-
'
|
106 |
-
'
|
107 |
-
'
|
108 |
-
'
|
109 |
-
'x
|
110 |
-
|
111 |
-
|
112 |
-
'
|
113 |
-
'
|
114 |
-
'
|
115 |
-
'email
|
116 |
-
'
|
117 |
-
'
|
118 |
-
'module
|
119 |
-
'
|
120 |
-
'
|
121 |
-
'
|
122 |
-
'
|
123 |
-
'
|
124 |
-
'
|
125 |
-
'
|
126 |
-
'
|
127 |
-
'
|
128 |
-
'
|
129 |
-
'
|
130 |
-
'
|
131 |
-
'
|
132 |
-
'
|
133 |
-
'
|
134 |
-
'
|
135 |
-
'
|
136 |
-
'
|
137 |
-
'
|
138 |
-
'no-
|
139 |
-
'
|
140 |
-
'sync'
|
141 |
-
'
|
142 |
-
'activate-
|
143 |
-
'activate-
|
144 |
-
'
|
145 |
-
'
|
146 |
-
'
|
147 |
-
'
|
148 |
-
'
|
149 |
-
'
|
150 |
-
'
|
151 |
-
'skip-
|
152 |
-
'
|
153 |
-
'
|
154 |
-
'
|
155 |
-
'
|
156 |
-
'
|
157 |
-
'install-
|
158 |
-
'
|
159 |
-
'
|
160 |
-
'
|
161 |
-
'x-
|
162 |
-
'
|
163 |
-
'
|
164 |
-
'
|
165 |
-
'
|
166 |
-
'
|
167 |
-
'delete-account-confirm'
|
168 |
-
'
|
169 |
-
'
|
170 |
-
'
|
171 |
-
'after-downgrade-blocking'
|
172 |
-
'
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
'add-ons-
|
177 |
-
|
178 |
-
|
179 |
-
'
|
180 |
-
'
|
181 |
-
'deactivation-
|
182 |
-
'deactivation-modal-button-
|
183 |
-
'
|
184 |
-
'
|
185 |
-
'reason-
|
186 |
-
'reason-
|
187 |
-
'reason-
|
188 |
-
'reason-
|
189 |
-
'reason-
|
190 |
-
'reason-
|
191 |
-
'reason-
|
192 |
-
|
193 |
-
|
194 |
-
'
|
195 |
-
'placeholder-
|
196 |
-
'
|
197 |
-
'reason-
|
198 |
-
'reason-
|
199 |
-
'reason-not-
|
200 |
-
'reason-
|
201 |
-
'
|
202 |
-
'placeholder-
|
203 |
-
'placeholder-what-
|
204 |
-
'placeholder-what-
|
205 |
-
'
|
206 |
-
'reason-
|
207 |
-
'dont-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
'
|
213 |
-
'
|
214 |
-
'connect-
|
215 |
-
'
|
216 |
-
'
|
217 |
-
'
|
218 |
-
'
|
219 |
-
'
|
220 |
-
'
|
221 |
-
'permissions
|
222 |
-
'permissions-
|
223 |
-
'permissions-
|
224 |
-
'permissions-
|
225 |
-
'permissions-
|
226 |
-
'permissions-
|
227 |
-
'permissions-
|
228 |
-
'permissions-
|
229 |
-
'permissions-
|
230 |
-
'permissions-
|
231 |
-
'permissions-
|
232 |
-
'
|
233 |
-
'
|
234 |
-
'
|
235 |
-
'
|
236 |
-
'
|
237 |
-
'
|
238 |
-
'
|
239 |
-
'
|
240 |
-
'
|
241 |
-
'
|
242 |
-
'
|
243 |
-
'
|
244 |
-
'
|
245 |
-
'
|
246 |
-
'
|
247 |
-
'
|
248 |
-
'
|
249 |
-
'
|
250 |
-
'opt-
|
251 |
-
'opt-out
|
252 |
-
'
|
253 |
-
'opting-
|
254 |
-
'
|
255 |
-
'opt-out-message-
|
256 |
-
'opt-out-message-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
'
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
'
|
267 |
-
'
|
268 |
-
'
|
269 |
-
'
|
270 |
-
'
|
271 |
-
'
|
272 |
-
'
|
273 |
-
'
|
274 |
-
'sdk
|
275 |
-
'
|
276 |
-
'
|
277 |
-
'
|
278 |
-
'
|
279 |
-
'
|
280 |
-
'
|
281 |
-
'
|
282 |
-
'
|
283 |
-
'
|
284 |
-
'
|
285 |
-
'
|
286 |
-
'
|
287 |
-
'
|
288 |
-
'
|
289 |
-
'
|
290 |
-
'
|
291 |
-
'
|
292 |
-
'
|
293 |
-
'
|
294 |
-
'
|
295 |
-
'
|
296 |
-
'
|
297 |
-
'
|
298 |
-
'
|
299 |
-
'all-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
'
|
305 |
-
'
|
306 |
-
'
|
307 |
-
|
308 |
-
|
309 |
-
'
|
310 |
-
|
311 |
-
|
312 |
-
'
|
313 |
-
'
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
'you-
|
320 |
-
'
|
321 |
-
'user-exist-
|
322 |
-
'
|
323 |
-
'
|
324 |
-
'
|
325 |
-
'
|
326 |
-
'
|
327 |
-
'
|
328 |
-
'
|
329 |
-
'
|
330 |
-
'
|
331 |
-
'
|
332 |
-
'
|
333 |
-
'
|
334 |
-
'
|
335 |
-
'download-latest-version'
|
336 |
-
'
|
337 |
-
'
|
338 |
-
'
|
339 |
-
'
|
340 |
-
|
341 |
-
|
342 |
-
'
|
343 |
-
'
|
344 |
-
'plan-
|
345 |
-
'
|
346 |
-
'license-
|
347 |
-
'
|
348 |
-
'
|
349 |
-
'
|
350 |
-
'license-
|
351 |
-
'license-deactivation-
|
352 |
-
'license-
|
353 |
-
'
|
354 |
-
'
|
355 |
-
'
|
356 |
-
'plan-downgraded-
|
357 |
-
'
|
358 |
-
'trial-cancel-message'
|
359 |
-
'
|
360 |
-
'
|
361 |
-
'
|
362 |
-
|
363 |
-
|
364 |
-
'
|
365 |
-
'
|
366 |
-
'
|
367 |
-
'
|
368 |
-
'trial-
|
369 |
-
'
|
370 |
-
'trial-
|
371 |
-
'plan-x-
|
372 |
-
'no-
|
373 |
-
'
|
374 |
-
'
|
375 |
-
'
|
376 |
-
'
|
377 |
-
'
|
378 |
-
'
|
379 |
-
'
|
380 |
-
'
|
381 |
-
|
382 |
-
#
|
383 |
-
|
384 |
-
'connectivity-test-
|
385 |
-
'
|
386 |
-
'
|
387 |
-
'
|
388 |
-
|
389 |
-
'
|
390 |
-
|
391 |
-
'squid-
|
392 |
-
'
|
393 |
-
'squid-
|
394 |
-
'
|
395 |
-
'
|
396 |
-
'curl-missing-
|
397 |
-
'
|
398 |
-
'
|
399 |
-
'
|
400 |
-
'
|
401 |
-
'
|
402 |
-
'
|
403 |
-
'
|
404 |
-
'
|
405 |
-
'
|
406 |
-
'
|
407 |
-
|
408 |
-
'
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
'change-owner-
|
414 |
-
|
415 |
-
'
|
416 |
-
|
417 |
-
'addon-x-cannot-run-without-
|
418 |
-
|
419 |
-
|
420 |
-
'
|
421 |
-
|
422 |
-
'
|
423 |
-
|
424 |
-
|
425 |
-
#--------------------------------------------------------------------------------
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
#
|
431 |
-
#--------------------------------------------------------------------------------
|
432 |
-
|
433 |
-
|
434 |
-
'
|
435 |
-
'
|
436 |
-
'
|
437 |
-
'
|
438 |
-
'
|
439 |
-
'
|
440 |
-
'
|
441 |
-
'
|
442 |
-
|
443 |
-
'
|
444 |
-
|
445 |
-
|
446 |
-
#--------------------------------------------------------------------------------
|
447 |
-
|
448 |
-
|
449 |
-
'start-trial
|
450 |
-
/* translators: %s:
|
451 |
-
'start-trial-prompt-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
#
|
456 |
-
#--------------------------------------------------------------------------------
|
457 |
-
|
458 |
-
|
459 |
-
'
|
460 |
-
'
|
461 |
-
'
|
462 |
-
'
|
463 |
-
'
|
464 |
-
'
|
465 |
-
'
|
466 |
-
'
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
'
|
482 |
-
'
|
483 |
-
'
|
484 |
-
'
|
485 |
-
'
|
486 |
-
'
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
'
|
502 |
-
'
|
503 |
-
'
|
504 |
-
'
|
505 |
-
'
|
506 |
-
'
|
507 |
-
|
508 |
-
'
|
509 |
-
|
510 |
-
'
|
511 |
-
|
512 |
-
'
|
513 |
-
|
514 |
-
'
|
515 |
-
|
516 |
-
'
|
517 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
);
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.1.4
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
require_once dirname( __FILE__ ) . '/l10n.php';
|
14 |
+
|
15 |
+
/**
|
16 |
+
* All strings can now be overridden.
|
17 |
+
*
|
18 |
+
* For example, if we want to override:
|
19 |
+
* 'you-are-step-away' => 'You are just one step away - %s',
|
20 |
+
*
|
21 |
+
* We can use the filter:
|
22 |
+
* fs_override_i18n( array(
|
23 |
+
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
24 |
+
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
25 |
+
* ), '{plugin_slug}' );
|
26 |
+
*
|
27 |
+
* Or with the Freemius instance:
|
28 |
+
*
|
29 |
+
* my_freemius->override_i18n( array(
|
30 |
+
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
31 |
+
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
32 |
+
* );
|
33 |
+
*/
|
34 |
+
global $fs_text;
|
35 |
+
|
36 |
+
$fs_text = array(
|
37 |
+
'account' => _fs_text( 'Account' ),
|
38 |
+
'addon' => _fs_text( 'Add On' ),
|
39 |
+
'contact-us' => _fs_text( 'Contact Us' ),
|
40 |
+
'contact-support' => _fs_text( 'Contact Support' ),
|
41 |
+
'change-ownership' => _fs_text( 'Change Ownership' ),
|
42 |
+
'support' => _fs_text( 'Support' ),
|
43 |
+
'support-forum' => _fs_text( 'Support Forum' ),
|
44 |
+
'add-ons' => _fs_text( 'Add Ons' ),
|
45 |
+
'upgrade' => _fs_x( 'Upgrade', 'verb' ),
|
46 |
+
'awesome' => _fs_text( 'Awesome' ),
|
47 |
+
'pricing' => _fs_x( 'Pricing', 'noun' ),
|
48 |
+
'price' => _fs_x( 'Price', 'noun' ),
|
49 |
+
'unlimited-updates' => _fs_text( 'Unlimited Updates' ),
|
50 |
+
'downgrade' => _fs_x( 'Downgrade', 'verb' ),
|
51 |
+
'cancel-subscription' => _fs_x( 'Cancel Subscription', 'verb' ),
|
52 |
+
'cancel-trial' => _fs_text( 'Cancel Trial' ),
|
53 |
+
'free-trial' => _fs_text( 'Free Trial' ),
|
54 |
+
'start-free-x' => _fs_text( 'Start my free %s' ),
|
55 |
+
'no-commitment-x' => _fs_text( 'No commitment for %s - cancel anytime' ),
|
56 |
+
'after-x-pay-as-little-y' => _fs_text( 'After your free %s, pay as little as %s' ),
|
57 |
+
'details' => _fs_text( 'Details' ),
|
58 |
+
'account-details' => _fs_text( 'Account Details' ),
|
59 |
+
'delete' => _fs_x( 'Delete', 'verb' ),
|
60 |
+
'show' => _fs_x( 'Show', 'verb' ),
|
61 |
+
'hide' => _fs_x( 'Hide', 'verb' ),
|
62 |
+
'edit' => _fs_x( 'Edit', 'verb' ),
|
63 |
+
'update' => _fs_x( 'Update', 'verb' ),
|
64 |
+
'date' => _fs_text( 'Date' ),
|
65 |
+
'amount' => _fs_text( 'Amount' ),
|
66 |
+
'invoice' => _fs_text( 'Invoice' ),
|
67 |
+
'billing' => _fs_text( 'Billing' ),
|
68 |
+
'payments' => _fs_text( 'Payments' ),
|
69 |
+
'delete-account' => _fs_text( 'Delete Account' ),
|
70 |
+
'dismiss' => _fs_x( 'Dismiss', 'as close a window' ),
|
71 |
+
'plan' => _fs_x( 'Plan', 'as product pricing plan' ),
|
72 |
+
'change-plan' => _fs_text( 'Change Plan' ),
|
73 |
+
'download-x-version' => _fs_x( 'Download %s Version', 'as download professional version' ),
|
74 |
+
'download-x-version-now' => _fs_x( 'Download %s version now', 'as download professional version now' ),
|
75 |
+
'download-latest' => _fs_x( 'Download Latest', 'as download latest version' ),
|
76 |
+
'you-have-x-license' => _fs_x( 'You have a %s license.', 'E.g. you have a professional license.' ),
|
77 |
+
'new' => _fs_text( 'New' ),
|
78 |
+
'free' => _fs_text( 'Free' ),
|
79 |
+
'trial' => _fs_x( 'Trial', 'as trial plan' ),
|
80 |
+
'start-trial' => _fs_x( 'Start Trial', 'as starting a trial plan' ),
|
81 |
+
'purchase' => _fs_x( 'Purchase', 'verb' ),
|
82 |
+
'purchase-license' => _fs_text( 'Purchase License' ),
|
83 |
+
'buy' => _fs_x( 'Buy', 'verb' ),
|
84 |
+
'buy-license' => _fs_text( 'Buy License' ),
|
85 |
+
'license-single-site' => _fs_text( 'Single Site License' ),
|
86 |
+
'license-unlimited' => _fs_text( 'Unlimited Licenses' ),
|
87 |
+
'license-x-sites' => _fs_text( 'Up to %s Sites' ),
|
88 |
+
'renew-license-now' => _fs_text( '%sRenew your license now%s to access version %s features and support.' ),
|
89 |
+
'ask-for-upgrade-email-address' => _fs_text( "Enter the email address you've used for the upgrade below and we will resend you the license key." ),
|
90 |
+
'x-plan' => _fs_x( '%s Plan', 'e.g. Professional Plan' ),
|
91 |
+
'you-are-step-away' => _fs_text( 'You are just one step away - %s' ),
|
92 |
+
'activate-x-now' => _fs_x( 'Complete "%s" Activation Now',
|
93 |
+
'%s - plugin name. As complete "Jetpack" activation now' ),
|
94 |
+
'few-plugin-tweaks' => _fs_text( 'We made a few tweaks to the plugin, %s' ),
|
95 |
+
'optin-x-now' => _fs_text( 'Opt-in to make "%s" Better!' ),
|
96 |
+
'error' => _fs_text( 'Error' ),
|
97 |
+
'failed-finding-main-path' => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
|
98 |
+
#region Account
|
99 |
+
|
100 |
+
'expiration' => _fs_x( 'Expiration', 'as expiration date' ),
|
101 |
+
'license' => _fs_x( 'License', 'as software license' ),
|
102 |
+
'not-verified' => _fs_text( 'not verified' ),
|
103 |
+
'verify-email' => _fs_text( 'Verify Email' ),
|
104 |
+
'expires-in' => _fs_x( 'Expires in %s', 'e.g. expires in 2 months' ),
|
105 |
+
'renews-in' => _fs_x( 'Auto renews in %s', 'e.g. auto renews in 2 months' ),
|
106 |
+
'no-expiration' => _fs_text( 'No expiration' ),
|
107 |
+
'expired' => _fs_text( 'Expired' ),
|
108 |
+
'cancelled' => _fs_text( 'Cancelled' ),
|
109 |
+
'in-x' => _fs_x( 'In %s', 'e.g. In 2 hours' ),
|
110 |
+
'x-ago' => _fs_x( '%s ago', 'e.g. 2 min ago' ),
|
111 |
+
/* translators: %s: Version number (e.g. 4.6 or higher) */
|
112 |
+
'x-or-higher' => _fs_text( '%s or higher' ),
|
113 |
+
'version' => _fs_x( 'Version', 'as plugin version' ),
|
114 |
+
'name' => _fs_text( 'Name' ),
|
115 |
+
'email' => _fs_text( 'Email' ),
|
116 |
+
'email-address' => _fs_text( 'Email address' ),
|
117 |
+
'verified' => _fs_text( 'Verified' ),
|
118 |
+
'module' => _fs_text( 'Module' ),
|
119 |
+
'module-type' => _fs_text( 'Module Type' ),
|
120 |
+
'plugin' => _fs_text( 'Plugin' ),
|
121 |
+
'plugins' => _fs_text( 'Plugins' ),
|
122 |
+
'theme' => _fs_text( 'Theme' ),
|
123 |
+
'themes' => _fs_text( 'Themes' ),
|
124 |
+
'path' => _fs_x( 'Path', 'as file/folder path' ),
|
125 |
+
'title' => _fs_text( 'Title' ),
|
126 |
+
'free-version' => _fs_text( 'Free version' ),
|
127 |
+
'premium-version' => _fs_text( 'Premium version' ),
|
128 |
+
'slug' => _fs_x( 'Slug', 'as WP plugin slug' ),
|
129 |
+
'id' => _fs_text( 'ID' ),
|
130 |
+
'users' => _fs_text( 'Users' ),
|
131 |
+
'plugin-installs' => _fs_text( 'Plugin Installs' ),
|
132 |
+
'module-installs' => _fs_text( '%s Installs' ),
|
133 |
+
'sites' => _fs_x( 'Sites', 'like websites' ),
|
134 |
+
'user-id' => _fs_text( 'User ID' ),
|
135 |
+
'site-id' => _fs_text( 'Site ID' ),
|
136 |
+
'public-key' => _fs_text( 'Public Key' ),
|
137 |
+
'secret-key' => _fs_text( 'Secret Key' ),
|
138 |
+
'no-secret' => _fs_x( 'No Secret', 'as secret encryption key missing' ),
|
139 |
+
'no-id' => _fs_text( 'No ID' ),
|
140 |
+
'sync-license' => _fs_x( 'Sync License', 'as synchronize license' ),
|
141 |
+
'sync' => _fs_x( 'Sync', 'as synchronize' ),
|
142 |
+
'activate-license' => _fs_text( 'Activate License' ),
|
143 |
+
'activate-free-version' => _fs_text( 'Activate Free Version' ),
|
144 |
+
'activate-license-message' => _fs_text( 'Please enter the license key that you received in the email right after the purchase:' ),
|
145 |
+
'activating-license' => _fs_text( 'Activating license...' ),
|
146 |
+
'change-license' => _fs_text( 'Change License' ),
|
147 |
+
'update-license' => _fs_text( 'Update License' ),
|
148 |
+
'deactivate-license' => _fs_text( 'Deactivate License' ),
|
149 |
+
'activate' => _fs_text( 'Activate' ),
|
150 |
+
'deactivate' => _fs_text( 'Deactivate' ),
|
151 |
+
'skip-deactivate' => _fs_text( 'Skip & Deactivate' ),
|
152 |
+
'skip-and-x' => _fs_text( 'Skip & %s' ),
|
153 |
+
'no-deactivate' => _fs_text( 'No - just deactivate' ),
|
154 |
+
'yes-do-your-thing' => _fs_text( 'Yes - do your thing' ),
|
155 |
+
'active' => _fs_x( 'Active', 'active mode' ),
|
156 |
+
'is-active' => _fs_x( 'Is Active', 'is active mode?' ),
|
157 |
+
'install-now' => _fs_text( 'Install Now' ),
|
158 |
+
'install-update-now' => _fs_text( 'Install Update Now' ),
|
159 |
+
'more-information-about-x' => _fs_text( 'More information about %s' ),
|
160 |
+
'localhost' => _fs_text( 'Localhost' ),
|
161 |
+
'activate-x-plan' => _fs_x( 'Activate %s Plan', 'as activate Professional plan' ),
|
162 |
+
'x-left' => _fs_x( '%s left', 'as 5 licenses left' ),
|
163 |
+
'last-license' => _fs_text( 'Last license' ),
|
164 |
+
'what-is-your-x' => _fs_text( 'What is your %s?' ),
|
165 |
+
'activate-this-addon' => _fs_text( 'Activate this add-on' ),
|
166 |
+
'deactivate-license-confirm' => _fs_text( 'Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?' ),
|
167 |
+
'delete-account-x-confirm' => _fs_text( 'Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the "Cancel" button, and first "Downgrade" your account. Are you sure you would like to continue with the deletion?' ),
|
168 |
+
'delete-account-confirm' => _fs_text( 'Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?' ),
|
169 |
+
'downgrade-x-confirm' => _fs_text( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.' ),
|
170 |
+
'cancel-trial-confirm' => _fs_text( 'Cancelling the trial will immediately block access to all premium features. Are you sure?' ),
|
171 |
+
'after-downgrade-non-blocking' => _fs_text( 'You can still enjoy all %s features but you will not have access to plugin updates and support.' ),
|
172 |
+
'after-downgrade-blocking' => _fs_text( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.' ),
|
173 |
+
'proceed-confirmation' => _fs_text( 'Are you sure you want to proceed?' ),
|
174 |
+
#endregion Account
|
175 |
+
|
176 |
+
'add-ons-for-x' => _fs_text( 'Add Ons for %s' ),
|
177 |
+
'add-ons-missing' => _fs_text( 'We could\'nt load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.' ),
|
178 |
+
#region Plugin Deactivation
|
179 |
+
'anonymous-feedback' => _fs_text( 'Anonymous feedback' ),
|
180 |
+
'quick-feedback' => _fs_text( 'Quick feedback' ),
|
181 |
+
'deactivation-share-reason' => _fs_text( 'If you have a moment, please let us know why you are deactivating' ),
|
182 |
+
'deactivation-modal-button-confirm' => _fs_text( 'Yes - Deactivate' ),
|
183 |
+
'deactivation-modal-button-submit' => _fs_text( 'Submit & Deactivate' ),
|
184 |
+
'cancel' => _fs_text( 'Cancel' ),
|
185 |
+
'reason-no-longer-needed' => _fs_text( 'I no longer need the plugin' ),
|
186 |
+
'reason-found-a-better-plugin' => _fs_text( 'I found a better plugin' ),
|
187 |
+
'reason-needed-for-a-short-period' => _fs_text( 'I only needed the plugin for a short period' ),
|
188 |
+
'reason-broke-my-site' => _fs_text( 'The plugin broke my site' ),
|
189 |
+
'reason-suddenly-stopped-working' => _fs_text( 'The plugin suddenly stopped working' ),
|
190 |
+
'reason-cant-pay-anymore' => _fs_text( "I can't pay for it anymore" ),
|
191 |
+
'reason-temporary-deactivation' => _fs_text( "It's a temporary deactivation. I'm just debugging an issue." ),
|
192 |
+
'reason-other' => _fs_x( 'Other',
|
193 |
+
'the text of the "other" reason for deactivating the plugin that is shown in the modal box.' ),
|
194 |
+
'ask-for-reason-message' => _fs_text( 'Kindly tell us the reason so we can improve.' ),
|
195 |
+
'placeholder-plugin-name' => _fs_text( "What's the plugin's name?" ),
|
196 |
+
'placeholder-comfortable-price' => _fs_text( 'What price would you feel comfortable paying?' ),
|
197 |
+
'reason-couldnt-make-it-work' => _fs_text( "I couldn't understand how to make it work" ),
|
198 |
+
'reason-great-but-need-specific-feature' => _fs_text( "The plugin is great, but I need specific feature that you don't support" ),
|
199 |
+
'reason-not-working' => _fs_text( 'The plugin is not working' ),
|
200 |
+
'reason-not-what-i-was-looking-for' => _fs_text( "It's not what I was looking for" ),
|
201 |
+
'reason-didnt-work-as-expected' => _fs_text( "The plugin didn't work as expected" ),
|
202 |
+
'placeholder-feature' => _fs_text( 'What feature?' ),
|
203 |
+
'placeholder-share-what-didnt-work' => _fs_text( "Kindly share what didn't work so we can fix it for future users..." ),
|
204 |
+
'placeholder-what-youve-been-looking-for' => _fs_text( "What you've been looking for?" ),
|
205 |
+
'placeholder-what-did-you-expect' => _fs_text( "What did you expect?" ),
|
206 |
+
'reason-didnt-work' => _fs_text( "The plugin didn't work" ),
|
207 |
+
'reason-dont-like-to-share-my-information' => _fs_text( "I don't like to share my information with you" ),
|
208 |
+
'dont-have-to-share-any-data' => _fs_text( "You might have missed it, but you don't have to share any data and can just %s the opt-in." ),
|
209 |
+
#endregion Plugin Deactivation
|
210 |
+
|
211 |
+
#region Connect
|
212 |
+
'hey-x' => _fs_x( 'Hey %s,', 'greeting' ),
|
213 |
+
'thanks-x' => _fs_x( 'Thanks %s!', 'a greeting. E.g. Thanks John!' ),
|
214 |
+
'connect-message' => _fs_text( 'Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s.' ),
|
215 |
+
'connect-message_on-update' => _fs_text( 'Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that\'s okay! %1$s will still work just fine.' ),
|
216 |
+
'pending-activation-message' => _fs_text( 'You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s.' ),
|
217 |
+
'complete-the-install' => _fs_text( 'complete the install' ),
|
218 |
+
'start-the-trial' => _fs_text( 'start the trial' ),
|
219 |
+
'thanks-for-purchasing' => _fs_text( 'Thanks for purchasing %s! To get started, please enter your license key:' ),
|
220 |
+
'license-sync-disclaimer' => _fs_text( 'The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license.' ),
|
221 |
+
'what-permissions' => _fs_text( 'What permissions are being granted?' ),
|
222 |
+
'permissions-profile' => _fs_text( 'Your Profile Overview' ),
|
223 |
+
'permissions-profile_desc' => _fs_text( 'Name and email address' ),
|
224 |
+
'permissions-site' => _fs_text( 'Your Site Overview' ),
|
225 |
+
'permissions-site_desc' => _fs_text( 'Site URL, WP version, PHP info, plugins & themes' ),
|
226 |
+
'permissions-events' => _fs_text( 'Current Plugin Events' ),
|
227 |
+
'permissions-events_desc' => _fs_text( 'Activation, deactivation and uninstall' ),
|
228 |
+
'permissions-plugins_themes' => _fs_text( 'Plugins & Themes' ),
|
229 |
+
'permissions-plugins_themes_desc' => _fs_text( 'Titles, versions and state.' ),
|
230 |
+
'permissions-admin-notices' => _fs_text( 'Admin Notices' ),
|
231 |
+
'permissions-newsletter' => _fs_text( 'Newsletter' ),
|
232 |
+
'permissions-newsletter_desc' => _fs_text( 'Updates, announcements, marketing, no spam' ),
|
233 |
+
'privacy-policy' => _fs_text( 'Privacy Policy' ),
|
234 |
+
'tos' => _fs_text( 'Terms of Service' ),
|
235 |
+
'activating' => _fs_x( 'Activating', 'as activating plugin' ),
|
236 |
+
'sending-email' => _fs_x( 'Sending email', 'as in the process of sending an email' ),
|
237 |
+
'opt-in-connect' => _fs_x( 'Allow & Continue', 'button label' ),
|
238 |
+
'agree-activate-license' => _fs_x( 'Agree & Activate License', 'button label' ),
|
239 |
+
'skip' => _fs_x( 'Skip', 'verb' ),
|
240 |
+
'click-here-to-use-plugin-anonymously' => _fs_text( 'Click here to use the plugin anonymously' ),
|
241 |
+
'resend-activation-email' => _fs_text( 'Re-send activation email' ),
|
242 |
+
'license-key' => _fs_text( 'License key' ),
|
243 |
+
'send-license-key' => _fs_text( 'Send License Key' ),
|
244 |
+
'sending-license-key' => _fs_text( 'Sending license key' ),
|
245 |
+
'have-license-key' => _fs_text( 'Have a license key?' ),
|
246 |
+
'dont-have-license-key' => _fs_text( 'Don\'t have a license key?' ),
|
247 |
+
'cant-find-license-key' => _fs_text( "Can't find your license key?" ),
|
248 |
+
'email-not-found' => _fs_text( "We couldn't find your email address in the system, are you sure it's the right address?" ),
|
249 |
+
'no-active-licenses' => _fs_text( "We can't see any active licenses associated with that email address, are you sure it's the right address?" ),
|
250 |
+
'opt-in' => _fs_text( 'Opt In' ),
|
251 |
+
'opt-out' => _fs_text( 'Opt Out' ),
|
252 |
+
'opt-out-cancel' => _fs_text( 'On second thought - I want to continue helping' ),
|
253 |
+
'opting-out' => _fs_text( 'Opting out...' ),
|
254 |
+
'opting-in' => _fs_text( 'Opting in...' ),
|
255 |
+
'opt-out-message-appreciation' => _fs_text( 'We appreciate your help in making the %s better by letting us track some usage data.' ),
|
256 |
+
'opt-out-message-usage-tracking' => _fs_text( "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking." ),
|
257 |
+
'opt-out-message-clicking-opt-out' => _fs_text( 'By clicking "Opt Out", we will no longer be sending any data from %s to %s.' ),
|
258 |
+
#endregion Connect
|
259 |
+
|
260 |
+
#region Screenshots
|
261 |
+
'screenshots' => _fs_text( 'Screenshots' ),
|
262 |
+
'view-full-size-x' => _fs_text( 'Click to view full-size screenshot %d' ),
|
263 |
+
#endregion Screenshots
|
264 |
+
|
265 |
+
#region Debug
|
266 |
+
'freemius-debug' => _fs_text( 'Freemius Debug' ),
|
267 |
+
'on' => _fs_x( 'On', 'as turned on' ),
|
268 |
+
'off' => _fs_x( 'Off', 'as turned off' ),
|
269 |
+
'debugging' => _fs_x( 'Debugging', 'as code debugging' ),
|
270 |
+
'freemius-state' => _fs_text( 'Freemius State' ),
|
271 |
+
'connected' => _fs_x( 'Connected', 'as connection was successful' ),
|
272 |
+
'blocked' => _fs_x( 'Blocked', 'as connection blocked' ),
|
273 |
+
'api' => _fs_x( 'API', 'as application program interface' ),
|
274 |
+
'sdk' => _fs_x( 'SDK', 'as software development kit versions' ),
|
275 |
+
'sdk-versions' => _fs_x( 'SDK Versions', 'as software development kit versions' ),
|
276 |
+
'plugin-path' => _fs_x( 'Plugin Path', 'as plugin folder path' ),
|
277 |
+
'sdk-path' => _fs_x( 'SDK Path', 'as sdk path' ),
|
278 |
+
'addons-of-x' => _fs_text( 'Add Ons of Plugin %s' ),
|
279 |
+
'delete-all-confirm' => _fs_text( 'Are you sure you want to delete all Freemius data?' ),
|
280 |
+
'actions' => _fs_text( 'Actions' ),
|
281 |
+
'delete-all-accounts' => _fs_text( 'Delete All Accounts' ),
|
282 |
+
'start-fresh' => _fs_text( 'Start Fresh' ),
|
283 |
+
'clear-api-cache' => _fs_text( 'Clear API Cache' ),
|
284 |
+
'sync-data-from-server' => _fs_text( 'Sync Data From Server' ),
|
285 |
+
'scheduled-crons' => _fs_text( 'Scheduled Crons' ),
|
286 |
+
'cron-type' => _fs_text( 'Cron Type' ),
|
287 |
+
'plugins-themes-sync' => _fs_text( 'Plugins & Themes Sync' ),
|
288 |
+
'licenses' => _fs_text( 'Licenses' ),
|
289 |
+
'debug-log' => _fs_text( 'Debug Log' ),
|
290 |
+
'all' => _fs_text( 'All' ),
|
291 |
+
'file' => _fs_text( 'File' ),
|
292 |
+
'function' => _fs_text( 'Function' ),
|
293 |
+
'process-id' => _fs_text( 'Process ID' ),
|
294 |
+
'logger' => _fs_text( 'Logger' ),
|
295 |
+
'message' => _fs_text( 'Message' ),
|
296 |
+
'download' => _fs_text( 'Download' ),
|
297 |
+
'filter' => _fs_text( 'Filter' ),
|
298 |
+
'type' => _fs_text( 'Type' ),
|
299 |
+
'all-types' => _fs_text( 'All Types' ),
|
300 |
+
'all-requests' => _fs_text( 'All Requests' ),
|
301 |
+
#endregion Debug
|
302 |
+
|
303 |
+
#region Expressions
|
304 |
+
'congrats' => _fs_x( 'Congrats', 'as congratulations' ),
|
305 |
+
'oops' => _fs_x( 'Oops', 'exclamation' ),
|
306 |
+
'yee-haw' => _fs_x( 'Yee-haw', 'interjection expressing joy or exuberance' ),
|
307 |
+
'woot' => _fs_x( 'W00t',
|
308 |
+
'(especially in electronic communication) used to express elation, enthusiasm, or triumph.' ),
|
309 |
+
'right-on' => _fs_x( 'Right on', 'a positive response' ),
|
310 |
+
'hmm' => _fs_x( 'Hmm',
|
311 |
+
'something somebody says when they are thinking about what you have just said. ' ),
|
312 |
+
'ok' => _fs_text( 'O.K' ),
|
313 |
+
'hey' => _fs_x( 'Hey', 'exclamation' ),
|
314 |
+
'heads-up' => _fs_x( 'Heads up',
|
315 |
+
'advance notice of something that will need attention.' ),
|
316 |
+
#endregion Expressions
|
317 |
+
|
318 |
+
#region Admin Notices
|
319 |
+
'you-have-latest' => _fs_text( 'Seems like you got the latest release.' ),
|
320 |
+
'you-are-good' => _fs_text( 'You are all good!' ),
|
321 |
+
'user-exist-message' => _fs_text( 'Sorry, we could not complete the email update. Another user with the same email is already registered.' ),
|
322 |
+
'user-exist-message_ownership' => _fs_text( 'If you would like to give up the ownership of the plugin\'s account to %s click the Change Ownership button.' ),
|
323 |
+
'email-updated-message' => _fs_text( 'Your email was successfully updated. You should receive an email with confirmation instructions in few moments.' ),
|
324 |
+
'name-updated-message' => _fs_text( 'Your name was successfully updated.' ),
|
325 |
+
'x-updated' => _fs_text( 'You have successfully updated your %s.' ),
|
326 |
+
'name-update-failed-message' => _fs_text( 'Please provide your full name.' ),
|
327 |
+
'verification-email-sent-message' => _fs_text( 'Verification mail was just sent to %s. If you can\'t find it after 5 min, please check your spam box.' ),
|
328 |
+
'addons-info-external-message' => _fs_text( 'Just letting you know that the add-ons information of %s is being pulled from an external server.' ),
|
329 |
+
'no-cc-required' => _fs_text( 'No credit card required' ),
|
330 |
+
'premium-activated-message' => _fs_text( 'Premium plugin version was successfully activated.' ),
|
331 |
+
'successful-version-upgrade-message' => _fs_text( 'The upgrade of %s was successfully completed.' ),
|
332 |
+
'activation-with-plan-x-message' => _fs_text( 'Your account was successfully activated with the %s plan.' ),
|
333 |
+
'download-latest-x-version-now' => _fs_text( 'Download the latest %s version now' ),
|
334 |
+
'follow-steps-to-complete-upgrade' => _fs_text( 'Please follow these steps to complete the upgrade' ),
|
335 |
+
'download-latest-x-version' => _fs_text( 'Download the latest %s version' ),
|
336 |
+
'download-latest-version' => _fs_text( 'Download the latest version' ),
|
337 |
+
'deactivate-free-version' => _fs_text( 'Deactivate the free version' ),
|
338 |
+
'upload-and-activate' => _fs_text( 'Upload and activate the downloaded version' ),
|
339 |
+
'howto-upload-activate' => _fs_text( 'How to upload and activate?' ),
|
340 |
+
'addon-successfully-purchased-message' => _fs_x( '%s Add-on was successfully purchased.',
|
341 |
+
'%s - product name, e.g. Facebook add-on was successfully...' ),
|
342 |
+
'addon-successfully-upgraded-message' => _fs_text( 'Your %s Add-on plan was successfully upgraded.' ),
|
343 |
+
'email-verified-message' => _fs_text( 'Your email has been successfully verified - you are AWESOME!' ),
|
344 |
+
'plan-upgraded-message' => _fs_text( 'Your plan was successfully upgraded.' ),
|
345 |
+
'plan-changed-to-x-message' => _fs_text( 'Your plan was successfully changed to %s.' ),
|
346 |
+
'license-expired-blocking-message' => _fs_text( 'Your license has expired. You can still continue using the free plugin forever.' ),
|
347 |
+
'license-cancelled' => _fs_text( 'Your license has been cancelled. If you think it\'s a mistake, please contact support.' ),
|
348 |
+
'trial-started-message' => _fs_text( 'Your trial has been successfully started.' ),
|
349 |
+
'license-activated-message' => _fs_text( 'Your license was successfully activated.' ),
|
350 |
+
'no-active-license-message' => _fs_text( 'It looks like your site currently doesn\'t have an active license.' ),
|
351 |
+
'license-deactivation-message' => _fs_text( 'Your license was successfully deactivated, you are back to the %s plan.' ),
|
352 |
+
'license-deactivation-failed-message' => _fs_text( 'It looks like the license deactivation failed.' ),
|
353 |
+
'license-activation-failed-message' => _fs_text( 'It looks like the license could not be activated.' ),
|
354 |
+
'server-error-message' => _fs_text( 'Error received from the server:' ),
|
355 |
+
'trial-expired-message' => _fs_text( 'Your trial has expired. You can still continue using all our free features.' ),
|
356 |
+
'plan-x-downgraded-message' => _fs_text( 'Your plan was successfully downgraded. Your %s plan license will expire in %s.' ),
|
357 |
+
'plan-downgraded-failure-message' => _fs_text( 'Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes.' ),
|
358 |
+
'trial-cancel-no-trial-message' => _fs_text( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)' ),
|
359 |
+
'trial-cancel-message' => _fs_text( 'Your %s free trial was successfully cancelled.' ),
|
360 |
+
'version-x-released' => _fs_x( 'Version %s was released.', '%s - numeric version number' ),
|
361 |
+
'please-download-x' => _fs_text( 'Please download %s.' ),
|
362 |
+
'latest-x-version' => _fs_x( 'the latest %s version here',
|
363 |
+
'%s - plan name, as the latest professional version here' ),
|
364 |
+
'trial-x-promotion-message' => _fs_text( 'How do you like %s so far? Test all our %s premium features with a %d-day free trial.' ),
|
365 |
+
'start-free-trial' => _fs_x( 'Start free trial', 'call to action' ),
|
366 |
+
'starting-trial' => _fs_text( 'Starting trial' ),
|
367 |
+
'please-wait' => _fs_text( 'Please wait' ),
|
368 |
+
'trial-cancel-failure-message' => _fs_text( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.' ),
|
369 |
+
'trial-utilized' => _fs_text( 'You already utilized a trial before.' ),
|
370 |
+
'in-trial-mode' => _fs_text( 'You are already running the plugin in a trial mode.' ),
|
371 |
+
'trial-plan-x-not-exist' => _fs_text( 'Plan %s do not exist, therefore, can\'t start a trial.' ),
|
372 |
+
'plan-x-no-trial' => _fs_text( 'Plan %s does not support a trial period.' ),
|
373 |
+
'no-trials' => _fs_text( 'None of the plugin\'s plans supports a trial period.' ),
|
374 |
+
'unexpected-api-error' => _fs_text( 'Unexpected API error. Please contact the plugin\'s author with the following error.' ),
|
375 |
+
'no-commitment-for-x-days' => _fs_text( 'No commitment for %s days - cancel anytime!' ),
|
376 |
+
'license-expired-non-blocking-message' => _fs_text( 'Your license has expired. You can still continue using all the %s features, but you\'ll need to renew your license to continue getting updates and support.' ),
|
377 |
+
'could-not-activate-x' => _fs_text( 'Couldn\'t activate %s.' ),
|
378 |
+
'contact-us-with-error-message' => _fs_text( 'Please contact us with the following message:' ),
|
379 |
+
'plan-did-not-change-message' => _fs_text( 'It looks like you are still on the %s plan. If you did upgrade or change your plan, it\'s probably an issue on our side - sorry.' ),
|
380 |
+
'contact-us-here' => _fs_text( 'Please contact us here' ),
|
381 |
+
'plan-did-not-change-email-message' => _fs_text( 'I have upgraded my account but when I try to Sync the License, the plan remains %s.' ),
|
382 |
+
#endregion Admin Notices
|
383 |
+
#region Connectivity Issues
|
384 |
+
'connectivity-test-fails-message' => _fs_text( 'From unknown reason, the API connectivity test failed.' ),
|
385 |
+
'connectivity-test-maybe-temporary' => _fs_text( 'It\'s probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?' ),
|
386 |
+
'curl-missing-message' => _fs_text( 'We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server.' ),
|
387 |
+
'curl-disabled-methods' => _fs_text( 'Disabled method(s):' ),
|
388 |
+
'cloudflare-blocks-connection-message' => _fs_text( 'From unknown reason, CloudFlare, the firewall we use, blocks the connection.' ),
|
389 |
+
'x-requires-access-to-api' => _fs_x( '%s requires an access to our API.',
|
390 |
+
'as pluginX requires an access to our API' ),
|
391 |
+
'squid-blocks-connection-message' => _fs_text( 'It looks like your server is using Squid ACL (access control lists), which blocks the connection.' ),
|
392 |
+
'squid-no-clue-title' => _fs_text( 'I don\'t know what is Squid or ACL, help me!' ),
|
393 |
+
'squid-no-clue-desc' => _fs_text( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.' ),
|
394 |
+
'sysadmin-title' => _fs_text( 'I\'m a system administrator' ),
|
395 |
+
'squid-sysadmin-desc' => _fs_text( 'Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again.' ),
|
396 |
+
'curl-missing-no-clue-title' => _fs_text( 'I don\'t know what is cURL or how to install it, help me!' ),
|
397 |
+
'curl-missing-no-clue-desc' => _fs_text( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.' ),
|
398 |
+
'curl-missing-sysadmin-desc' => _fs_text( 'Great, please install cURL and enable it in your php.ini file. In addition, search for the \'disable_functions\' directive in your php.ini file and remove any disabled methods starting with \'curl_\'. To make sure it was successfully activated, use \'phpinfo()\'. Once activated, deactivate the plugin and reactivate it back again.' ),
|
399 |
+
'happy-to-resolve-issue-asap' => _fs_text( 'We are sure it\'s an issue on our side and more than happy to resolve it for you ASAP if you give us a chance.' ),
|
400 |
+
'contact-support-before-deactivation' => _fs_text( 'Sorry for the inconvenience and we are here to help if you give us a chance.' ),
|
401 |
+
'fix-issue-title' => _fs_text( 'Yes - I\'m giving you a chance to fix it' ),
|
402 |
+
'fix-issue-desc' => _fs_text( 'We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update.' ),
|
403 |
+
'install-previous-title' => _fs_text( 'Let\'s try your previous version' ),
|
404 |
+
'install-previous-desc' => _fs_text( 'Uninstall this version and install the previous one.' ),
|
405 |
+
'deactivate-plugin-title' => _fs_text( 'That\'s exhausting, please deactivate' ),
|
406 |
+
'deactivate-plugin-desc' => _fs_text( 'We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future.' ),
|
407 |
+
'fix-request-sent-message' => _fs_text( 'Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience.' ),
|
408 |
+
'server-blocking-access' => _fs_x( 'Your server is blocking the access to Freemius\' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s',
|
409 |
+
'%1s - plugin title, %2s - API domain' ),
|
410 |
+
'wrong-authentication-param-message' => _fs_text( 'It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again.' ),
|
411 |
+
#endregion Connectivity Issues
|
412 |
+
#region Change Owner
|
413 |
+
'change-owner-request-sent-x' => _fs_text( 'Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder.' ),
|
414 |
+
'change-owner-request_owner-confirmed' => _fs_text( 'Thanks for confirming the ownership change. An email was just sent to %s for final approval.' ),
|
415 |
+
'change-owner-request_candidate-confirmed' => _fs_text( '%s is the new owner of the account.' ),
|
416 |
+
#endregion Change Owner
|
417 |
+
'addon-x-cannot-run-without-y' => _fs_x( '%s cannot run without %s.',
|
418 |
+
'addonX cannot run without pluginY' ),
|
419 |
+
'addon-x-cannot-run-without-parent' => _fs_x( '%s cannot run without the plugin.', 'addonX cannot run...' ),
|
420 |
+
'plugin-x-activation-message' => _fs_x( '%s activation was successfully completed.',
|
421 |
+
'pluginX activation was successfully...' ),
|
422 |
+
'features-and-pricing' => _fs_x( 'Features & Pricing', 'Plugin installer section title' ),
|
423 |
+
'free-addon-not-deployed' => _fs_text( 'Add-on must be deployed to WordPress.org or Freemius.' ),
|
424 |
+
'paid-addon-not-deployed' => _fs_text( 'Paid add-on must be deployed to Freemius.' ),
|
425 |
+
#--------------------------------------------------------------------------------
|
426 |
+
#region Add-On Licensing
|
427 |
+
#--------------------------------------------------------------------------------
|
428 |
+
'addon-no-license-message' => _fs_text( '%s is a premium only add-on. You have to purchase a license first before activating the plugin.' ),
|
429 |
+
'addon-trial-cancelled-message' => _fs_text( '%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you\'ll have to purchase a license.' ),
|
430 |
+
#endregion
|
431 |
+
#--------------------------------------------------------------------------------
|
432 |
+
#region Billing Cycles
|
433 |
+
#--------------------------------------------------------------------------------
|
434 |
+
'monthly' => _fs_x( 'Monthly', 'as every month' ),
|
435 |
+
'mo' => _fs_x( 'mo', 'as monthly period' ),
|
436 |
+
'annual' => _fs_x( 'Annual', 'as once a year' ),
|
437 |
+
'annually' => _fs_x( 'Annually', 'as once a year' ),
|
438 |
+
'once' => _fs_x( 'Once', 'as once a year' ),
|
439 |
+
'year' => _fs_x( 'year', 'as annual period' ),
|
440 |
+
'lifetime' => _fs_text( 'Lifetime' ),
|
441 |
+
'best' => _fs_x( 'Best', 'e.g. the best product' ),
|
442 |
+
'billed-x' => _fs_x( 'Billed %s', 'e.g. billed monthly' ),
|
443 |
+
'save-x' => _fs_x( 'Save %s', 'as a discount of $5 or 10%' ),
|
444 |
+
#endregion Billing Cycles
|
445 |
+
'view-details' => _fs_text( 'View details' ),
|
446 |
+
#--------------------------------------------------------------------------------
|
447 |
+
#region Trial
|
448 |
+
#--------------------------------------------------------------------------------
|
449 |
+
'approve-start-trial' => _fs_x( 'Approve & Start Trial', 'button label' ),
|
450 |
+
/* translators: %1$s: Number of trial days; %2$s: Plan name; */
|
451 |
+
'start-trial-prompt-header' => _fs_text( 'You are 1-click away from starting your %1$s-day free trial of the %2$s plan.' ),
|
452 |
+
/* translators: %s: Link to freemius.com */
|
453 |
+
'start-trial-prompt-message' => _fs_text( 'For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial.' ),
|
454 |
+
|
455 |
+
#endregion
|
456 |
+
#--------------------------------------------------------------------------------
|
457 |
+
#region Billing Details
|
458 |
+
#--------------------------------------------------------------------------------
|
459 |
+
'business-name' => _fs_text( 'Business name' ),
|
460 |
+
'tax-vat-id' => _fs_text( 'Tax / VAT ID' ),
|
461 |
+
'address-line-n' => _fs_text( 'Address Line %d' ),
|
462 |
+
'country' => _fs_text( 'Country' ),
|
463 |
+
'select-country' => _fs_text( 'Select Country' ),
|
464 |
+
'city' => _fs_text( 'City' ),
|
465 |
+
'town' => _fs_text( 'Town' ),
|
466 |
+
'state' => _fs_text( 'State' ),
|
467 |
+
'province' => _fs_text( 'Province' ),
|
468 |
+
'zip-postal-code' => _fs_text( 'ZIP / Postal Code' ),
|
469 |
+
#endregion
|
470 |
+
#--------------------------------------------------------------------------------
|
471 |
+
#region Module Installation
|
472 |
+
#--------------------------------------------------------------------------------
|
473 |
+
'installing-plugin-x' => _fs_text( 'Installing plugin: %s' ),
|
474 |
+
'auto-installation' => _fs_text( 'Automatic Installation' ),
|
475 |
+
/* translators: %s: Number of seconds */
|
476 |
+
'x-sec' => _fs_text( '%s sec' ),
|
477 |
+
'installing-in-n' => _fs_text( 'An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now.' ),
|
478 |
+
'installing-module-x' => _fs_text( 'The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page.' ),
|
479 |
+
'cancel-installation' => _fs_text( 'Cancel Installation' ),
|
480 |
+
'module-package-rename-failure' => _fs_text( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.' ),
|
481 |
+
'auto-install-error-invalid-id' => _fs_text( 'Invalid module ID.' ),
|
482 |
+
'auto-install-error-not-opted-in' => _fs_text( 'Auto installation only works for opted-in users.' ),
|
483 |
+
'auto-install-error-premium-activated' => _fs_text( 'Premium version already active.' ),
|
484 |
+
'auto-install-error-premium-addon-activated' => _fs_text( 'Premium add-on version already installed.' ),
|
485 |
+
'auto-install-error-invalid-license' => _fs_text( 'You do not have a valid license to access the premium version.' ),
|
486 |
+
'auto-install-error-serviceware' => _fs_text( 'Plugin is a "Serviceware" which means it does not have a premium code version.' ),
|
487 |
+
#endregion
|
488 |
+
);
|
489 |
+
|
490 |
+
/**
|
491 |
+
* Localization of the strings in the plugin/theme info dialog box.
|
492 |
+
*
|
493 |
+
* $fs_module_info_text should ONLY include strings that are not located in $fs_text.
|
494 |
+
*
|
495 |
+
* @author Vova Feldman (@svovaf)
|
496 |
+
* @since 1.2.2
|
497 |
+
*/
|
498 |
+
global $fs_module_info_text;
|
499 |
+
|
500 |
+
$fs_module_info_text = array(
|
501 |
+
'description' => _fs_x( 'Description', 'Plugin installer section title' ),
|
502 |
+
'installation' => _fs_x( 'Installation', 'Plugin installer section title' ),
|
503 |
+
'faq' => _fs_x( 'FAQ', 'Plugin installer section title' ),
|
504 |
+
'changelog' => _fs_x( 'Changelog', 'Plugin installer section title' ),
|
505 |
+
'reviews' => _fs_x( 'Reviews', 'Plugin installer section title' ),
|
506 |
+
'other_notes' => _fs_x( 'Other Notes', 'Plugin installer section title' ),
|
507 |
+
/* translators: %s: 1 or One */
|
508 |
+
'x-star' => _fs_text( '%s star' ),
|
509 |
+
/* translators: %s: Number larger than 1 */
|
510 |
+
'x-stars' => _fs_text( '%s stars' ),
|
511 |
+
/* translators: %s: 1 or One */
|
512 |
+
'x-rating' => _fs_text( '%s rating' ),
|
513 |
+
/* translators: %s: Number larger than 1 */
|
514 |
+
'x-ratings' => _fs_text( '%s ratings' ),
|
515 |
+
/* translators: %s: 1 or One (Number of times downloaded) */
|
516 |
+
'x-time' => _fs_text( '%s time' ),
|
517 |
+
/* translators: %s: Number of times downloaded */
|
518 |
+
'x-times' => _fs_text( '%s times' ),
|
519 |
+
/* translators: %s: # of stars (e.g. 5 stars) */
|
520 |
+
'click-to-reviews' => _fs_text( 'Click to see reviews that provided a rating of %s' ),
|
521 |
+
'last-updated:' => _fs_text( 'Last Updated' ),
|
522 |
+
'requires-wordpress-version:' => _fs_text( 'Requires WordPress Version:' ),
|
523 |
+
'author:' => _fs_x( 'Author:', 'as the plugin author' ),
|
524 |
+
'compatible-up-to:' => _fs_text( 'Compatible up to:' ),
|
525 |
+
'downloaded:' => _fs_text( 'Downloaded:' ),
|
526 |
+
'wp-org-plugin-page' => _fs_text( 'WordPress.org Plugin Page' ),
|
527 |
+
'plugin-homepage' => _fs_text( 'Plugin Homepage' ),
|
528 |
+
'donate-to-plugin' => _fs_text( 'Donate to this plugin' ),
|
529 |
+
'average-rating' => _fs_text( 'Average Rating' ),
|
530 |
+
'based-on-x' => _fs_text( 'based on %s' ),
|
531 |
+
'warning:' => _fs_text( 'Warning:' ),
|
532 |
+
'contributors' => _fs_text( 'Contributors' ),
|
533 |
+
'plugin-install' => _fs_text( 'Plugin Install' ),
|
534 |
+
'not-tested-warning' => _fs_text( 'This plugin has not been tested with your current version of WordPress.' ),
|
535 |
+
'not-compatible-warning' => _fs_text( 'This plugin has not been marked as compatible with your version of WordPress.' ),
|
536 |
+
'newer-installed' => _fs_text( 'Newer Version (%s) Installed' ),
|
537 |
+
'latest-installed' => _fs_text( 'Latest Version Installed' ),
|
538 |
);
|
freemius/includes/managers/class-fs-admin-menu-manager.php
CHANGED
@@ -67,6 +67,12 @@
|
|
67 |
* @var string
|
68 |
*/
|
69 |
private $_first_time_path;
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
#endregion Properties
|
72 |
|
@@ -85,7 +91,7 @@
|
|
85 |
/**
|
86 |
* @param string $plugin_slug
|
87 |
*
|
88 |
-
* @return
|
89 |
*/
|
90 |
static function instance( $plugin_slug ) {
|
91 |
if ( ! isset( self::$_instances[ $plugin_slug ] ) ) {
|
@@ -120,6 +126,8 @@
|
|
120 |
* @param bool $is_addon
|
121 |
*/
|
122 |
function init( $menu, $is_addon = false ) {
|
|
|
|
|
123 |
$this->_menu_slug = ! empty( $menu['slug'] ) ? $menu['slug'] : null;
|
124 |
|
125 |
$this->_default_submenu_items = array();
|
@@ -219,6 +227,16 @@
|
|
219 |
return ! $this->_is_top_level && is_string( $this->_parent_slug );
|
220 |
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
/**
|
223 |
* @author Vova Feldman (@svovaf)
|
224 |
* @since 1.1.3
|
@@ -229,6 +247,10 @@
|
|
229 |
* @return bool
|
230 |
*/
|
231 |
function is_submenu_item_visible( $id, $default = true ) {
|
|
|
|
|
|
|
|
|
232 |
return fs_apply_filter(
|
233 |
$this->_plugin_slug,
|
234 |
'is_submenu_visible',
|
@@ -263,7 +285,7 @@
|
|
263 |
* @return bool
|
264 |
*/
|
265 |
function has_menu_slug() {
|
266 |
-
return
|
267 |
}
|
268 |
|
269 |
/**
|
@@ -361,10 +383,20 @@
|
|
361 |
*
|
362 |
* @return bool
|
363 |
*/
|
364 |
-
function
|
365 |
-
|
366 |
-
|
367 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
}
|
369 |
|
370 |
#region Submenu Override
|
@@ -525,7 +557,7 @@
|
|
525 |
* @author Vova Feldman (@svovaf)
|
526 |
* @since 1.0.9
|
527 |
*
|
528 |
-
* @return array[string]mixed
|
529 |
*/
|
530 |
function remove_menu_item() {
|
531 |
$this->_logger->entrance();
|
@@ -552,7 +584,7 @@
|
|
552 |
*
|
553 |
* @param callable $function
|
554 |
*
|
555 |
-
* @return array[string]mixed
|
556 |
*/
|
557 |
function override_menu_item( $function ) {
|
558 |
$found_menu = $this->remove_menu_item();
|
@@ -575,7 +607,7 @@
|
|
575 |
unset( $menu[ $found_menu['position'] ] );
|
576 |
|
577 |
// Create new top-level menu action.
|
578 |
-
$hookname =
|
579 |
$found_menu['menu'][3],
|
580 |
$found_menu['menu'][0],
|
581 |
'manage_options',
|
@@ -632,4 +664,119 @@
|
|
632 |
}
|
633 |
|
634 |
#endregion Top level menu Override
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
635 |
}
|
67 |
* @var string
|
68 |
*/
|
69 |
private $_first_time_path;
|
70 |
+
/**
|
71 |
+
* @since 1.2.2
|
72 |
+
*
|
73 |
+
* @var bool
|
74 |
+
*/
|
75 |
+
private $_menu_exists;
|
76 |
|
77 |
#endregion Properties
|
78 |
|
91 |
/**
|
92 |
* @param string $plugin_slug
|
93 |
*
|
94 |
+
* @return FS_Admin_Menu_Manager
|
95 |
*/
|
96 |
static function instance( $plugin_slug ) {
|
97 |
if ( ! isset( self::$_instances[ $plugin_slug ] ) ) {
|
126 |
* @param bool $is_addon
|
127 |
*/
|
128 |
function init( $menu, $is_addon = false ) {
|
129 |
+
$this->_menu_exists = ( isset( $menu['slug'] ) && ! empty( $menu['slug'] ) );
|
130 |
+
|
131 |
$this->_menu_slug = ! empty( $menu['slug'] ) ? $menu['slug'] : null;
|
132 |
|
133 |
$this->_default_submenu_items = array();
|
227 |
return ! $this->_is_top_level && is_string( $this->_parent_slug );
|
228 |
}
|
229 |
|
230 |
+
/**
|
231 |
+
* @author Leo Fajardo (@leorw)
|
232 |
+
* @since 1.2.2
|
233 |
+
*
|
234 |
+
* @return bool
|
235 |
+
*/
|
236 |
+
function has_menu() {
|
237 |
+
return $this->_menu_exists;
|
238 |
+
}
|
239 |
+
|
240 |
/**
|
241 |
* @author Vova Feldman (@svovaf)
|
242 |
* @since 1.1.3
|
247 |
* @return bool
|
248 |
*/
|
249 |
function is_submenu_item_visible( $id, $default = true ) {
|
250 |
+
if ( ! $this->has_menu() ) {
|
251 |
+
return false;
|
252 |
+
}
|
253 |
+
|
254 |
return fs_apply_filter(
|
255 |
$this->_plugin_slug,
|
256 |
'is_submenu_visible',
|
285 |
* @return bool
|
286 |
*/
|
287 |
function has_menu_slug() {
|
288 |
+
return $this->has_menu();
|
289 |
}
|
290 |
|
291 |
/**
|
383 |
*
|
384 |
* @return bool
|
385 |
*/
|
386 |
+
function is_main_settings_page() {
|
387 |
+
if ( $this->_menu_exists &&
|
388 |
+
( fs_is_plugin_page( $this->_menu_slug ) || fs_is_plugin_page( $this->_plugin_slug ) )
|
389 |
+
) {
|
390 |
+
/**
|
391 |
+
* Module has a settings menu and the context page is the main settings page, so assume it's in
|
392 |
+
* activation (doesn't really check if already opted-in/skipped or not).
|
393 |
+
*
|
394 |
+
* @since 1.2.2
|
395 |
+
*/
|
396 |
+
return true;
|
397 |
+
}
|
398 |
+
|
399 |
+
return false;
|
400 |
}
|
401 |
|
402 |
#region Submenu Override
|
557 |
* @author Vova Feldman (@svovaf)
|
558 |
* @since 1.0.9
|
559 |
*
|
560 |
+
* @return false|array[string]mixed
|
561 |
*/
|
562 |
function remove_menu_item() {
|
563 |
$this->_logger->entrance();
|
584 |
*
|
585 |
* @param callable $function
|
586 |
*
|
587 |
+
* @return false|array[string]mixed
|
588 |
*/
|
589 |
function override_menu_item( $function ) {
|
590 |
$found_menu = $this->remove_menu_item();
|
607 |
unset( $menu[ $found_menu['position'] ] );
|
608 |
|
609 |
// Create new top-level menu action.
|
610 |
+
$hookname = self::add_page(
|
611 |
$found_menu['menu'][3],
|
612 |
$found_menu['menu'][0],
|
613 |
'manage_options',
|
664 |
}
|
665 |
|
666 |
#endregion Top level menu Override
|
667 |
+
|
668 |
+
/**
|
669 |
+
* Add a top-level menu page.
|
670 |
+
*
|
671 |
+
* Note for WordPress.org Theme/Plugin reviewer:
|
672 |
+
*
|
673 |
+
* This is a replication of `add_menu_page()` to avoid Theme Check warning.
|
674 |
+
*
|
675 |
+
* Why?
|
676 |
+
* ====
|
677 |
+
* Freemius is an SDK for plugin and theme developers. Since the core
|
678 |
+
* of the SDK is relevant both for plugins and themes, for obvious reasons,
|
679 |
+
* we only develop and maintain one code base.
|
680 |
+
*
|
681 |
+
* This method will not run for wp.org themes (only plugins) since theme
|
682 |
+
* admin settings/options are now only allowed in the customizer.
|
683 |
+
*
|
684 |
+
* If you have any questions or need clarifications, please don't hesitate
|
685 |
+
* pinging me on slack, my username is @svovaf.
|
686 |
+
*
|
687 |
+
* @author Vova Feldman (@svovaf)
|
688 |
+
* @since 1.2.2
|
689 |
+
*
|
690 |
+
* @param string $page_title The text to be displayed in the title tags of the page when the menu is
|
691 |
+
* selected.
|
692 |
+
* @param string $menu_title The text to be used for the menu.
|
693 |
+
* @param string $capability The capability required for this menu to be displayed to the user.
|
694 |
+
* @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu).
|
695 |
+
* @param callable|string $function The function to be called to output the content for this page.
|
696 |
+
* @param string $icon_url The URL to the icon to be used for this menu.
|
697 |
+
* * Pass a base64-encoded SVG using a data URI, which will be colored to
|
698 |
+
* match the color scheme. This should begin with
|
699 |
+
* 'data:image/svg+xml;base64,'.
|
700 |
+
* * Pass the name of a Dashicons helper class to use a font icon,
|
701 |
+
* e.g. 'dashicons-chart-pie'.
|
702 |
+
* * Pass 'none' to leave div.wp-menu-image empty so an icon can be added
|
703 |
+
* via CSS.
|
704 |
+
* @param int $position The position in the menu order this one should appear.
|
705 |
+
*
|
706 |
+
* @return string The resulting page's hook_suffix.
|
707 |
+
*/
|
708 |
+
static function add_page(
|
709 |
+
$page_title,
|
710 |
+
$menu_title,
|
711 |
+
$capability,
|
712 |
+
$menu_slug,
|
713 |
+
$function = '',
|
714 |
+
$icon_url = '',
|
715 |
+
$position = null
|
716 |
+
) {
|
717 |
+
$fn = 'add_menu' . '_page';
|
718 |
+
|
719 |
+
return $fn(
|
720 |
+
$page_title,
|
721 |
+
$menu_title,
|
722 |
+
$capability,
|
723 |
+
$menu_slug,
|
724 |
+
$function,
|
725 |
+
$icon_url,
|
726 |
+
$position
|
727 |
+
);
|
728 |
+
}
|
729 |
+
|
730 |
+
/**
|
731 |
+
* Add a submenu page.
|
732 |
+
*
|
733 |
+
* Note for WordPress.org Theme/Plugin reviewer:
|
734 |
+
*
|
735 |
+
* This is a replication of `add_submenu_page()` to avoid Theme Check warning.
|
736 |
+
*
|
737 |
+
* Why?
|
738 |
+
* ====
|
739 |
+
* Freemius is an SDK for plugin and theme developers. Since the core
|
740 |
+
* of the SDK is relevant both for plugins and themes, for obvious reasons,
|
741 |
+
* we only develop and maintain one code base.
|
742 |
+
*
|
743 |
+
* This method will not run for wp.org themes (only plugins) since theme
|
744 |
+
* admin settings/options are now only allowed in the customizer.
|
745 |
+
*
|
746 |
+
* If you have any questions or need clarifications, please don't hesitate
|
747 |
+
* pinging me on slack, my username is @svovaf.
|
748 |
+
*
|
749 |
+
* @author Vova Feldman (@svovaf)
|
750 |
+
* @since 1.2.2
|
751 |
+
*
|
752 |
+
* @param string $parent_slug The slug name for the parent menu (or the file name of a standard
|
753 |
+
* WordPress admin page).
|
754 |
+
* @param string $page_title The text to be displayed in the title tags of the page when the menu is
|
755 |
+
* selected.
|
756 |
+
* @param string $menu_title The text to be used for the menu.
|
757 |
+
* @param string $capability The capability required for this menu to be displayed to the user.
|
758 |
+
* @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu).
|
759 |
+
* @param callable|string $function The function to be called to output the content for this page.
|
760 |
+
*
|
761 |
+
* @return false|string The resulting page's hook_suffix, or false if the user does not have the capability
|
762 |
+
* required.
|
763 |
+
*/
|
764 |
+
static function add_subpage(
|
765 |
+
$parent_slug,
|
766 |
+
$page_title,
|
767 |
+
$menu_title,
|
768 |
+
$capability,
|
769 |
+
$menu_slug,
|
770 |
+
$function = ''
|
771 |
+
) {
|
772 |
+
$fn = 'add_submenu' . '_page';
|
773 |
+
|
774 |
+
return $fn( $parent_slug,
|
775 |
+
$page_title,
|
776 |
+
$menu_title,
|
777 |
+
$capability,
|
778 |
+
$menu_slug,
|
779 |
+
$function
|
780 |
+
);
|
781 |
+
}
|
782 |
}
|
freemius/includes/managers/class-fs-admin-notice-manager.php
CHANGED
@@ -1,313 +1,313 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
-
* @since 1.0.7
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
class FS_Admin_Notice_Manager {
|
14 |
-
/**
|
15 |
-
* @var string
|
16 |
-
*/
|
17 |
-
protected $_slug;
|
18 |
-
/**
|
19 |
-
* @var string
|
20 |
-
*/
|
21 |
-
protected $_title;
|
22 |
-
/**
|
23 |
-
* @var array[]
|
24 |
-
*/
|
25 |
-
private $_admin_messages = array();
|
26 |
-
/**
|
27 |
-
* @var FS_Key_Value_Storage
|
28 |
-
*/
|
29 |
-
private $_sticky_storage;
|
30 |
-
/**
|
31 |
-
* @var FS_Plugin_Manager[]
|
32 |
-
*/
|
33 |
-
private static $_instances = array();
|
34 |
-
/**
|
35 |
-
* @var FS_Logger
|
36 |
-
*/
|
37 |
-
protected $_logger;
|
38 |
-
|
39 |
-
/**
|
40 |
-
* @param string $slug
|
41 |
-
* @param string $title
|
42 |
-
*
|
43 |
-
* @return FS_Admin_Notice_Manager
|
44 |
-
*/
|
45 |
-
static function instance( $slug, $title = '' ) {
|
46 |
-
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
47 |
-
self::$_instances[ $slug ] = new FS_Admin_Notice_Manager( $slug, $title );
|
48 |
-
}
|
49 |
-
|
50 |
-
return self::$_instances[ $slug ];
|
51 |
-
}
|
52 |
-
|
53 |
-
protected function __construct( $slug, $title = '' ) {
|
54 |
-
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $slug . '_data', WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
55 |
-
|
56 |
-
$this->_slug = $slug;
|
57 |
-
$this->_title = ! empty( $title ) ? $title : '';
|
58 |
-
$this->_sticky_storage = FS_Key_Value_Storage::instance( 'admin_notices', $this->_slug );
|
59 |
-
|
60 |
-
if ( is_admin() ) {
|
61 |
-
if ( 0 < count( $this->_sticky_storage ) ) {
|
62 |
-
// If there are sticky notices for the current slug, add a callback
|
63 |
-
// to the AJAX action that handles message dismiss.
|
64 |
-
add_action( "wp_ajax_fs_dismiss_notice_action_{$slug}", array(
|
65 |
-
&$this,
|
66 |
-
'dismiss_notice_ajax_callback'
|
67 |
-
) );
|
68 |
-
|
69 |
-
foreach ( $this->_sticky_storage as $id => $msg ) {
|
70 |
-
// Add admin notice.
|
71 |
-
$this->add(
|
72 |
-
$msg['message'],
|
73 |
-
$msg['title'],
|
74 |
-
$msg['type'],
|
75 |
-
true,
|
76 |
-
$msg['all'],
|
77 |
-
$msg['id'],
|
78 |
-
false
|
79 |
-
);
|
80 |
-
}
|
81 |
-
}
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
85 |
-
/**
|
86 |
-
* Remove sticky message by ID.
|
87 |
-
*
|
88 |
-
* @author Vova Feldman (@svovaf)
|
89 |
-
* @since 1.0.7
|
90 |
-
*
|
91 |
-
*/
|
92 |
-
function dismiss_notice_ajax_callback() {
|
93 |
-
$this->_sticky_storage->remove( $_POST['message_id'] );
|
94 |
-
wp_die();
|
95 |
-
}
|
96 |
-
|
97 |
-
/**
|
98 |
-
* Rendered sticky message dismiss JavaScript.
|
99 |
-
*
|
100 |
-
* @author Vova Feldman (@svovaf)
|
101 |
-
* @since 1.0.7
|
102 |
-
*/
|
103 |
-
static function _add_sticky_dismiss_javascript() {
|
104 |
-
$params = array();
|
105 |
-
fs_require_once_template( 'sticky-admin-notice-js.php', $params );
|
106 |
-
}
|
107 |
-
|
108 |
-
private static $_added_sticky_javascript = false;
|
109 |
-
|
110 |
-
/**
|
111 |
-
* Hook to the admin_footer to add sticky message dismiss JavaScript handler.
|
112 |
-
*
|
113 |
-
* @author Vova Feldman (@svovaf)
|
114 |
-
* @since 1.0.7
|
115 |
-
*/
|
116 |
-
private static function has_sticky_messages() {
|
117 |
-
if ( ! self::$_added_sticky_javascript ) {
|
118 |
-
add_action( 'admin_footer', array( 'FS_Admin_Notice_Manager', '_add_sticky_dismiss_javascript' ) );
|
119 |
-
}
|
120 |
-
}
|
121 |
-
|
122 |
-
/**
|
123 |
-
* Handle admin_notices by printing the admin messages stacked in the queue.
|
124 |
-
*
|
125 |
-
* @author Vova Feldman (@svovaf)
|
126 |
-
* @since 1.0.4
|
127 |
-
*
|
128 |
-
*/
|
129 |
-
function _admin_notices_hook() {
|
130 |
-
$notice_type = 'admin_notices';
|
131 |
-
|
132 |
-
if ( function_exists( 'current_user_can' ) &&
|
133 |
-
! current_user_can( 'manage_options' )
|
134 |
-
) {
|
135 |
-
// Only show messages to admins.
|
136 |
-
return;
|
137 |
-
}
|
138 |
-
|
139 |
-
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
140 |
-
return;
|
141 |
-
}
|
142 |
-
|
143 |
-
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
144 |
-
fs_require_template( 'admin-notice.php', $msg );
|
145 |
-
|
146 |
-
if ( $msg['sticky'] ) {
|
147 |
-
self::has_sticky_messages();
|
148 |
-
}
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* Handle all_admin_notices by printing the admin messages stacked in the queue.
|
154 |
-
*
|
155 |
-
* @author Vova Feldman (@svovaf)
|
156 |
-
* @since 1.0.4
|
157 |
-
*
|
158 |
-
*/
|
159 |
-
function _all_admin_notices_hook() {
|
160 |
-
$notice_type = 'all_admin_notices';
|
161 |
-
|
162 |
-
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
163 |
-
return;
|
164 |
-
}
|
165 |
-
|
166 |
-
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
167 |
-
fs_require_template( 'all-admin-notice.php', $msg );
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
/**
|
172 |
-
* Enqueue common stylesheet to style admin notice.
|
173 |
-
*
|
174 |
-
* @author Vova Feldman (@svovaf)
|
175 |
-
* @since 1.0.7
|
176 |
-
*/
|
177 |
-
function _enqueue_styles() {
|
178 |
-
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
179 |
-
}
|
180 |
-
|
181 |
-
/**
|
182 |
-
* Add admin message to admin messages queue, and hook to admin_notices / all_admin_notices if not yet hooked.
|
183 |
-
*
|
184 |
-
* @author Vova Feldman (@svovaf)
|
185 |
-
* @since 1.0.4
|
186 |
-
*
|
187 |
-
* @param string $message
|
188 |
-
* @param string $title
|
189 |
-
* @param string $type
|
190 |
-
* @param bool $is_sticky
|
191 |
-
* @param bool $all_admin
|
192 |
-
* @param string $id Message ID
|
193 |
-
* @param bool $store_if_sticky
|
194 |
-
*
|
195 |
-
* @uses add_action()
|
196 |
-
*/
|
197 |
-
function add( $message, $title = '', $type = 'success', $is_sticky = false, $all_admin = false, $id = '', $store_if_sticky = true ) {
|
198 |
-
$key = ( $all_admin ? 'all_admin_notices' : 'admin_notices' );
|
199 |
-
|
200 |
-
if ( ! isset( $this->_admin_messages[ $key ] ) ) {
|
201 |
-
$this->_admin_messages[ $key ] = array();
|
202 |
-
|
203 |
-
add_action( $key, array( &$this, "_{$key}_hook" ) );
|
204 |
-
add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_styles' ) );
|
205 |
-
|
206 |
-
}
|
207 |
-
|
208 |
-
if ( '' === $id ) {
|
209 |
-
$id = md5( $title . ' ' . $message . ' ' . $type );
|
210 |
-
}
|
211 |
-
|
212 |
-
$message_object = array(
|
213 |
-
'message' => $message,
|
214 |
-
'title' => $title,
|
215 |
-
'type' => $type,
|
216 |
-
'sticky' => $is_sticky,
|
217 |
-
'id' => $id,
|
218 |
-
'all' => $all_admin,
|
219 |
-
'slug' => $this->_slug,
|
220 |
-
'plugin' => $this->_title,
|
221 |
-
);
|
222 |
-
|
223 |
-
if ( $is_sticky && $store_if_sticky ) {
|
224 |
-
$this->_sticky_storage->{$id} = $message_object;
|
225 |
-
}
|
226 |
-
|
227 |
-
$this->_admin_messages[ $key ][ $id ] = $message_object;
|
228 |
-
}
|
229 |
-
|
230 |
-
/**
|
231 |
-
* @author Vova Feldman (@svovaf)
|
232 |
-
* @since 1.0.7
|
233 |
-
*
|
234 |
-
* @param string|string[] $ids
|
235 |
-
*/
|
236 |
-
function remove_sticky( $ids ) {
|
237 |
-
if ( ! is_array( $ids ) ) {
|
238 |
-
$ids = array( $ids );
|
239 |
-
}
|
240 |
-
|
241 |
-
foreach ( $ids as $id ) {
|
242 |
-
// Remove from sticky storage.
|
243 |
-
$this->_sticky_storage->remove( $id );
|
244 |
-
|
245 |
-
// Remove from current admin messages.
|
246 |
-
if ( isset( $this->_admin_messages['all_admin_notices'] ) && isset( $this->_admin_messages['all_admin_notices'][ $id ] ) ) {
|
247 |
-
unset( $this->_admin_messages['all_admin_notices'][ $id ] );
|
248 |
-
}
|
249 |
-
if ( isset( $this->_admin_messages['admin_notices'] ) && isset( $this->_admin_messages['admin_notices'][ $id ] ) ) {
|
250 |
-
unset( $this->_admin_messages['admin_notices'][ $id ] );
|
251 |
-
}
|
252 |
-
}
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Check if sticky message exists by id.
|
257 |
-
*
|
258 |
-
* @author Vova Feldman (@svovaf)
|
259 |
-
* @since 1.0.9
|
260 |
-
*
|
261 |
-
* @param $id
|
262 |
-
*
|
263 |
-
* @return bool
|
264 |
-
*/
|
265 |
-
function has_sticky( $id ) {
|
266 |
-
return isset( $this->_sticky_storage[ $id ] );
|
267 |
-
}
|
268 |
-
|
269 |
-
/**
|
270 |
-
* Adds sticky admin notification.
|
271 |
-
*
|
272 |
-
* @author Vova Feldman (@svovaf)
|
273 |
-
* @since 1.0.7
|
274 |
-
*
|
275 |
-
* @param string $message
|
276 |
-
* @param string $id Message ID
|
277 |
-
* @param string $title
|
278 |
-
* @param string $type
|
279 |
-
* @param bool $all_admin
|
280 |
-
*/
|
281 |
-
function add_sticky( $message, $id, $title = '', $type = 'success', $all_admin = false ) {
|
282 |
-
$message = fs_apply_filter( $this->_slug, "sticky_message_{$id}", $message );
|
283 |
-
$title = fs_apply_filter( $this->_slug, "sticky_title_{$id}", $title );
|
284 |
-
|
285 |
-
$this->add( $message, $title, $type, true, $all_admin, $id );
|
286 |
-
}
|
287 |
-
|
288 |
-
/**
|
289 |
-
* Clear all sticky messages.
|
290 |
-
*
|
291 |
-
* @author Vova Feldman (@svovaf)
|
292 |
-
* @since 1.0.8
|
293 |
-
*/
|
294 |
-
function clear_all_sticky() {
|
295 |
-
$this->_sticky_storage->clear_all();
|
296 |
-
}
|
297 |
-
|
298 |
-
/**
|
299 |
-
* Add admin message to all admin messages queue, and hook to all_admin_notices if not yet hooked.
|
300 |
-
*
|
301 |
-
* @author Vova Feldman (@svovaf)
|
302 |
-
* @since 1.0.4
|
303 |
-
*
|
304 |
-
* @param string $message
|
305 |
-
* @param string $title
|
306 |
-
* @param string $type
|
307 |
-
* @param bool $is_sticky
|
308 |
-
* @param string $id Message ID
|
309 |
-
*/
|
310 |
-
function add_all( $message, $title = '', $type = 'success', $is_sticky = false, $id = '' ) {
|
311 |
-
$this->add( $message, $title, $type, $is_sticky, true, $id );
|
312 |
-
}
|
313 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.0.7
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class FS_Admin_Notice_Manager {
|
14 |
+
/**
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
protected $_slug;
|
18 |
+
/**
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
protected $_title;
|
22 |
+
/**
|
23 |
+
* @var array[]
|
24 |
+
*/
|
25 |
+
private $_admin_messages = array();
|
26 |
+
/**
|
27 |
+
* @var FS_Key_Value_Storage
|
28 |
+
*/
|
29 |
+
private $_sticky_storage;
|
30 |
+
/**
|
31 |
+
* @var FS_Plugin_Manager[]
|
32 |
+
*/
|
33 |
+
private static $_instances = array();
|
34 |
+
/**
|
35 |
+
* @var FS_Logger
|
36 |
+
*/
|
37 |
+
protected $_logger;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param string $slug
|
41 |
+
* @param string $title
|
42 |
+
*
|
43 |
+
* @return FS_Admin_Notice_Manager
|
44 |
+
*/
|
45 |
+
static function instance( $slug, $title = '' ) {
|
46 |
+
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
47 |
+
self::$_instances[ $slug ] = new FS_Admin_Notice_Manager( $slug, $title );
|
48 |
+
}
|
49 |
+
|
50 |
+
return self::$_instances[ $slug ];
|
51 |
+
}
|
52 |
+
|
53 |
+
protected function __construct( $slug, $title = '' ) {
|
54 |
+
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $slug . '_data', WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
55 |
+
|
56 |
+
$this->_slug = $slug;
|
57 |
+
$this->_title = ! empty( $title ) ? $title : '';
|
58 |
+
$this->_sticky_storage = FS_Key_Value_Storage::instance( 'admin_notices', $this->_slug );
|
59 |
+
|
60 |
+
if ( is_admin() ) {
|
61 |
+
if ( 0 < count( $this->_sticky_storage ) ) {
|
62 |
+
// If there are sticky notices for the current slug, add a callback
|
63 |
+
// to the AJAX action that handles message dismiss.
|
64 |
+
add_action( "wp_ajax_fs_dismiss_notice_action_{$slug}", array(
|
65 |
+
&$this,
|
66 |
+
'dismiss_notice_ajax_callback'
|
67 |
+
) );
|
68 |
+
|
69 |
+
foreach ( $this->_sticky_storage as $id => $msg ) {
|
70 |
+
// Add admin notice.
|
71 |
+
$this->add(
|
72 |
+
$msg['message'],
|
73 |
+
$msg['title'],
|
74 |
+
$msg['type'],
|
75 |
+
true,
|
76 |
+
$msg['all'],
|
77 |
+
$msg['id'],
|
78 |
+
false
|
79 |
+
);
|
80 |
+
}
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Remove sticky message by ID.
|
87 |
+
*
|
88 |
+
* @author Vova Feldman (@svovaf)
|
89 |
+
* @since 1.0.7
|
90 |
+
*
|
91 |
+
*/
|
92 |
+
function dismiss_notice_ajax_callback() {
|
93 |
+
$this->_sticky_storage->remove( $_POST['message_id'] );
|
94 |
+
wp_die();
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Rendered sticky message dismiss JavaScript.
|
99 |
+
*
|
100 |
+
* @author Vova Feldman (@svovaf)
|
101 |
+
* @since 1.0.7
|
102 |
+
*/
|
103 |
+
static function _add_sticky_dismiss_javascript() {
|
104 |
+
$params = array();
|
105 |
+
fs_require_once_template( 'sticky-admin-notice-js.php', $params );
|
106 |
+
}
|
107 |
+
|
108 |
+
private static $_added_sticky_javascript = false;
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Hook to the admin_footer to add sticky message dismiss JavaScript handler.
|
112 |
+
*
|
113 |
+
* @author Vova Feldman (@svovaf)
|
114 |
+
* @since 1.0.7
|
115 |
+
*/
|
116 |
+
private static function has_sticky_messages() {
|
117 |
+
if ( ! self::$_added_sticky_javascript ) {
|
118 |
+
add_action( 'admin_footer', array( 'FS_Admin_Notice_Manager', '_add_sticky_dismiss_javascript' ) );
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Handle admin_notices by printing the admin messages stacked in the queue.
|
124 |
+
*
|
125 |
+
* @author Vova Feldman (@svovaf)
|
126 |
+
* @since 1.0.4
|
127 |
+
*
|
128 |
+
*/
|
129 |
+
function _admin_notices_hook() {
|
130 |
+
$notice_type = 'admin_notices';
|
131 |
+
|
132 |
+
if ( function_exists( 'current_user_can' ) &&
|
133 |
+
! current_user_can( 'manage_options' )
|
134 |
+
) {
|
135 |
+
// Only show messages to admins.
|
136 |
+
return;
|
137 |
+
}
|
138 |
+
|
139 |
+
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
140 |
+
return;
|
141 |
+
}
|
142 |
+
|
143 |
+
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
144 |
+
fs_require_template( 'admin-notice.php', $msg );
|
145 |
+
|
146 |
+
if ( $msg['sticky'] ) {
|
147 |
+
self::has_sticky_messages();
|
148 |
+
}
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Handle all_admin_notices by printing the admin messages stacked in the queue.
|
154 |
+
*
|
155 |
+
* @author Vova Feldman (@svovaf)
|
156 |
+
* @since 1.0.4
|
157 |
+
*
|
158 |
+
*/
|
159 |
+
function _all_admin_notices_hook() {
|
160 |
+
$notice_type = 'all_admin_notices';
|
161 |
+
|
162 |
+
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
163 |
+
return;
|
164 |
+
}
|
165 |
+
|
166 |
+
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
167 |
+
fs_require_template( 'all-admin-notice.php', $msg );
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Enqueue common stylesheet to style admin notice.
|
173 |
+
*
|
174 |
+
* @author Vova Feldman (@svovaf)
|
175 |
+
* @since 1.0.7
|
176 |
+
*/
|
177 |
+
function _enqueue_styles() {
|
178 |
+
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Add admin message to admin messages queue, and hook to admin_notices / all_admin_notices if not yet hooked.
|
183 |
+
*
|
184 |
+
* @author Vova Feldman (@svovaf)
|
185 |
+
* @since 1.0.4
|
186 |
+
*
|
187 |
+
* @param string $message
|
188 |
+
* @param string $title
|
189 |
+
* @param string $type
|
190 |
+
* @param bool $is_sticky
|
191 |
+
* @param bool $all_admin
|
192 |
+
* @param string $id Message ID
|
193 |
+
* @param bool $store_if_sticky
|
194 |
+
*
|
195 |
+
* @uses add_action()
|
196 |
+
*/
|
197 |
+
function add( $message, $title = '', $type = 'success', $is_sticky = false, $all_admin = false, $id = '', $store_if_sticky = true ) {
|
198 |
+
$key = ( $all_admin ? 'all_admin_notices' : 'admin_notices' );
|
199 |
+
|
200 |
+
if ( ! isset( $this->_admin_messages[ $key ] ) ) {
|
201 |
+
$this->_admin_messages[ $key ] = array();
|
202 |
+
|
203 |
+
add_action( $key, array( &$this, "_{$key}_hook" ) );
|
204 |
+
add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_styles' ) );
|
205 |
+
|
206 |
+
}
|
207 |
+
|
208 |
+
if ( '' === $id ) {
|
209 |
+
$id = md5( $title . ' ' . $message . ' ' . $type );
|
210 |
+
}
|
211 |
+
|
212 |
+
$message_object = array(
|
213 |
+
'message' => $message,
|
214 |
+
'title' => $title,
|
215 |
+
'type' => $type,
|
216 |
+
'sticky' => $is_sticky,
|
217 |
+
'id' => $id,
|
218 |
+
'all' => $all_admin,
|
219 |
+
'slug' => $this->_slug,
|
220 |
+
'plugin' => $this->_title,
|
221 |
+
);
|
222 |
+
|
223 |
+
if ( $is_sticky && $store_if_sticky ) {
|
224 |
+
$this->_sticky_storage->{$id} = $message_object;
|
225 |
+
}
|
226 |
+
|
227 |
+
$this->_admin_messages[ $key ][ $id ] = $message_object;
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* @author Vova Feldman (@svovaf)
|
232 |
+
* @since 1.0.7
|
233 |
+
*
|
234 |
+
* @param string|string[] $ids
|
235 |
+
*/
|
236 |
+
function remove_sticky( $ids ) {
|
237 |
+
if ( ! is_array( $ids ) ) {
|
238 |
+
$ids = array( $ids );
|
239 |
+
}
|
240 |
+
|
241 |
+
foreach ( $ids as $id ) {
|
242 |
+
// Remove from sticky storage.
|
243 |
+
$this->_sticky_storage->remove( $id );
|
244 |
+
|
245 |
+
// Remove from current admin messages.
|
246 |
+
if ( isset( $this->_admin_messages['all_admin_notices'] ) && isset( $this->_admin_messages['all_admin_notices'][ $id ] ) ) {
|
247 |
+
unset( $this->_admin_messages['all_admin_notices'][ $id ] );
|
248 |
+
}
|
249 |
+
if ( isset( $this->_admin_messages['admin_notices'] ) && isset( $this->_admin_messages['admin_notices'][ $id ] ) ) {
|
250 |
+
unset( $this->_admin_messages['admin_notices'][ $id ] );
|
251 |
+
}
|
252 |
+
}
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Check if sticky message exists by id.
|
257 |
+
*
|
258 |
+
* @author Vova Feldman (@svovaf)
|
259 |
+
* @since 1.0.9
|
260 |
+
*
|
261 |
+
* @param $id
|
262 |
+
*
|
263 |
+
* @return bool
|
264 |
+
*/
|
265 |
+
function has_sticky( $id ) {
|
266 |
+
return isset( $this->_sticky_storage[ $id ] );
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Adds sticky admin notification.
|
271 |
+
*
|
272 |
+
* @author Vova Feldman (@svovaf)
|
273 |
+
* @since 1.0.7
|
274 |
+
*
|
275 |
+
* @param string $message
|
276 |
+
* @param string $id Message ID
|
277 |
+
* @param string $title
|
278 |
+
* @param string $type
|
279 |
+
* @param bool $all_admin
|
280 |
+
*/
|
281 |
+
function add_sticky( $message, $id, $title = '', $type = 'success', $all_admin = false ) {
|
282 |
+
$message = fs_apply_filter( $this->_slug, "sticky_message_{$id}", $message );
|
283 |
+
$title = fs_apply_filter( $this->_slug, "sticky_title_{$id}", $title );
|
284 |
+
|
285 |
+
$this->add( $message, $title, $type, true, $all_admin, $id );
|
286 |
+
}
|
287 |
+
|
288 |
+
/**
|
289 |
+
* Clear all sticky messages.
|
290 |
+
*
|
291 |
+
* @author Vova Feldman (@svovaf)
|
292 |
+
* @since 1.0.8
|
293 |
+
*/
|
294 |
+
function clear_all_sticky() {
|
295 |
+
$this->_sticky_storage->clear_all();
|
296 |
+
}
|
297 |
+
|
298 |
+
/**
|
299 |
+
* Add admin message to all admin messages queue, and hook to all_admin_notices if not yet hooked.
|
300 |
+
*
|
301 |
+
* @author Vova Feldman (@svovaf)
|
302 |
+
* @since 1.0.4
|
303 |
+
*
|
304 |
+
* @param string $message
|
305 |
+
* @param string $title
|
306 |
+
* @param string $type
|
307 |
+
* @param bool $is_sticky
|
308 |
+
* @param string $id Message ID
|
309 |
+
*/
|
310 |
+
function add_all( $message, $title = '', $type = 'success', $is_sticky = false, $id = '' ) {
|
311 |
+
$this->add( $message, $title, $type, $is_sticky, true, $id );
|
312 |
+
}
|
313 |
}
|
freemius/includes/sdk/Exceptions/ArgumentNotExistException.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_ArgumentNotExistException' ) ) {
|
7 |
-
class Freemius_ArgumentNotExistException extends Freemius_InvalidArgumentException {
|
8 |
-
}
|
9 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_ArgumentNotExistException' ) ) {
|
7 |
+
class Freemius_ArgumentNotExistException extends Freemius_InvalidArgumentException {
|
8 |
+
}
|
9 |
}
|
freemius/includes/sdk/Exceptions/EmptyArgumentException.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_EmptyArgumentException' ) ) {
|
7 |
-
class Freemius_EmptyArgumentException extends Freemius_InvalidArgumentException {
|
8 |
-
}
|
9 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_EmptyArgumentException' ) ) {
|
7 |
+
class Freemius_EmptyArgumentException extends Freemius_InvalidArgumentException {
|
8 |
+
}
|
9 |
}
|
freemius/includes/sdk/Exceptions/Exception.php
CHANGED
@@ -1,74 +1,74 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
-
/**
|
4 |
-
* Thrown when an API call returns an exception.
|
5 |
-
*
|
6 |
-
*/
|
7 |
-
class Freemius_Exception extends Exception {
|
8 |
-
protected $_result;
|
9 |
-
protected $_type;
|
10 |
-
protected $_code;
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Make a new API Exception with the given result.
|
14 |
-
*
|
15 |
-
* @param array $result The result from the API server.
|
16 |
-
*/
|
17 |
-
public function __construct( $result ) {
|
18 |
-
$this->_result = $result;
|
19 |
-
|
20 |
-
$code = 0;
|
21 |
-
$message = 'Unknown error, please check GetResult().';
|
22 |
-
$type = '';
|
23 |
-
|
24 |
-
if ( isset( $result['error'] ) && is_array( $result['error'] ) ) {
|
25 |
-
if ( isset( $result['error']['code'] ) ) {
|
26 |
-
$code = $result['error']['code'];
|
27 |
-
}
|
28 |
-
if ( isset( $result['error']['message'] ) ) {
|
29 |
-
$message = $result['error']['message'];
|
30 |
-
}
|
31 |
-
if ( isset( $result['error']['type'] ) ) {
|
32 |
-
$type = $result['error']['type'];
|
33 |
-
}
|
34 |
-
}
|
35 |
-
|
36 |
-
$this->_type = $type;
|
37 |
-
$this->_code = $code;
|
38 |
-
|
39 |
-
parent::__construct( $message, is_numeric( $code ) ? $code : 0 );
|
40 |
-
}
|
41 |
-
|
42 |
-
/**
|
43 |
-
* Return the associated result object returned by the API server.
|
44 |
-
*
|
45 |
-
* @return array The result from the API server
|
46 |
-
*/
|
47 |
-
public function getResult() {
|
48 |
-
return $this->_result;
|
49 |
-
}
|
50 |
-
|
51 |
-
public function getStringCode() {
|
52 |
-
return $this->_code;
|
53 |
-
}
|
54 |
-
|
55 |
-
public function getType() {
|
56 |
-
return $this->_type;
|
57 |
-
}
|
58 |
-
|
59 |
-
/**
|
60 |
-
* To make debugging easier.
|
61 |
-
*
|
62 |
-
* @return string The string representation of the error
|
63 |
-
*/
|
64 |
-
public function __toString() {
|
65 |
-
$str = $this->getType() . ': ';
|
66 |
-
|
67 |
-
if ( $this->code != 0 ) {
|
68 |
-
$str .= $this->getStringCode() . ': ';
|
69 |
-
}
|
70 |
-
|
71 |
-
return $str . $this->getMessage();
|
72 |
-
}
|
73 |
-
}
|
74 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
/**
|
4 |
+
* Thrown when an API call returns an exception.
|
5 |
+
*
|
6 |
+
*/
|
7 |
+
class Freemius_Exception extends Exception {
|
8 |
+
protected $_result;
|
9 |
+
protected $_type;
|
10 |
+
protected $_code;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Make a new API Exception with the given result.
|
14 |
+
*
|
15 |
+
* @param array $result The result from the API server.
|
16 |
+
*/
|
17 |
+
public function __construct( $result ) {
|
18 |
+
$this->_result = $result;
|
19 |
+
|
20 |
+
$code = 0;
|
21 |
+
$message = 'Unknown error, please check GetResult().';
|
22 |
+
$type = '';
|
23 |
+
|
24 |
+
if ( isset( $result['error'] ) && is_array( $result['error'] ) ) {
|
25 |
+
if ( isset( $result['error']['code'] ) ) {
|
26 |
+
$code = $result['error']['code'];
|
27 |
+
}
|
28 |
+
if ( isset( $result['error']['message'] ) ) {
|
29 |
+
$message = $result['error']['message'];
|
30 |
+
}
|
31 |
+
if ( isset( $result['error']['type'] ) ) {
|
32 |
+
$type = $result['error']['type'];
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
$this->_type = $type;
|
37 |
+
$this->_code = $code;
|
38 |
+
|
39 |
+
parent::__construct( $message, is_numeric( $code ) ? $code : 0 );
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Return the associated result object returned by the API server.
|
44 |
+
*
|
45 |
+
* @return array The result from the API server
|
46 |
+
*/
|
47 |
+
public function getResult() {
|
48 |
+
return $this->_result;
|
49 |
+
}
|
50 |
+
|
51 |
+
public function getStringCode() {
|
52 |
+
return $this->_code;
|
53 |
+
}
|
54 |
+
|
55 |
+
public function getType() {
|
56 |
+
return $this->_type;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* To make debugging easier.
|
61 |
+
*
|
62 |
+
* @return string The string representation of the error
|
63 |
+
*/
|
64 |
+
public function __toString() {
|
65 |
+
$str = $this->getType() . ': ';
|
66 |
+
|
67 |
+
if ( $this->code != 0 ) {
|
68 |
+
$str .= $this->getStringCode() . ': ';
|
69 |
+
}
|
70 |
+
|
71 |
+
return $str . $this->getMessage();
|
72 |
+
}
|
73 |
+
}
|
74 |
}
|
freemius/includes/sdk/Exceptions/InvalidArgumentException.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
7 |
-
class Freemius_InvalidArgumentException extends Freemius_Exception { }
|
8 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
7 |
+
class Freemius_InvalidArgumentException extends Freemius_Exception { }
|
8 |
}
|
freemius/includes/sdk/Exceptions/OAuthException.php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_OAuthException' ) ) {
|
7 |
-
class Freemius_OAuthException extends Freemius_Exception {
|
8 |
-
public function __construct( $pResult ) {
|
9 |
-
parent::__construct( $pResult );
|
10 |
-
}
|
11 |
-
}
|
12 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_OAuthException' ) ) {
|
7 |
+
class Freemius_OAuthException extends Freemius_Exception {
|
8 |
+
public function __construct( $pResult ) {
|
9 |
+
parent::__construct( $pResult );
|
10 |
+
}
|
11 |
+
}
|
12 |
}
|
freemius/includes/sdk/Freemius.php
CHANGED
@@ -1,583 +1,627 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Copyright 2014 Freemius, Inc.
|
4 |
-
*
|
5 |
-
* Licensed under the GPL v2 (the "License"); you may
|
6 |
-
* not use this file except in compliance with the License. You may obtain
|
7 |
-
* a copy of the License at
|
8 |
-
*
|
9 |
-
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
-
*
|
11 |
-
* Unless required by applicable law or agreed to in writing, software
|
12 |
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
-
* License for the specific language governing permissions and limitations
|
15 |
-
* under the License.
|
16 |
-
*/
|
17 |
-
|
18 |
-
require_once dirname( __FILE__ ) . '/FreemiusBase.php';
|
19 |
-
|
20 |
-
if ( ! defined( 'FS_SDK__USER_AGENT' ) ) {
|
21 |
-
define( 'FS_SDK__USER_AGENT', 'fs-php-' . Freemius_Api_Base::VERSION );
|
22 |
-
}
|
23 |
-
|
24 |
-
if ( ! defined( 'FS_SDK__SIMULATE_NO_CURL' ) ) {
|
25 |
-
define( 'FS_SDK__SIMULATE_NO_CURL', false );
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE' ) ) {
|
29 |
-
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', false );
|
30 |
-
}
|
31 |
-
|
32 |
-
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL' ) ) {
|
33 |
-
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
34 |
-
}
|
35 |
-
|
36 |
-
if ( ! defined( 'FS_SDK__HAS_CURL' ) ) {
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
* @
|
129 |
-
*/
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
*
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
*
|
156 |
-
*
|
157 |
-
* @
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
$
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
$
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
$
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
$
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
}
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
$
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
$opts
|
358 |
-
}
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
if ( false
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
}
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
if
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
$
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
$
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
/**
|
487 |
-
*
|
488 |
-
*
|
489 |
-
*
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
throw
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
)
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Copyright 2014 Freemius, Inc.
|
4 |
+
*
|
5 |
+
* Licensed under the GPL v2 (the "License"); you may
|
6 |
+
* not use this file except in compliance with the License. You may obtain
|
7 |
+
* a copy of the License at
|
8 |
+
*
|
9 |
+
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
+
*
|
11 |
+
* Unless required by applicable law or agreed to in writing, software
|
12 |
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
+
* License for the specific language governing permissions and limitations
|
15 |
+
* under the License.
|
16 |
+
*/
|
17 |
+
|
18 |
+
require_once dirname( __FILE__ ) . '/FreemiusBase.php';
|
19 |
+
|
20 |
+
if ( ! defined( 'FS_SDK__USER_AGENT' ) ) {
|
21 |
+
define( 'FS_SDK__USER_AGENT', 'fs-php-' . Freemius_Api_Base::VERSION );
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( ! defined( 'FS_SDK__SIMULATE_NO_CURL' ) ) {
|
25 |
+
define( 'FS_SDK__SIMULATE_NO_CURL', false );
|
26 |
+
}
|
27 |
+
|
28 |
+
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE' ) ) {
|
29 |
+
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', false );
|
30 |
+
}
|
31 |
+
|
32 |
+
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL' ) ) {
|
33 |
+
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
34 |
+
}
|
35 |
+
|
36 |
+
if ( ! defined( 'FS_SDK__HAS_CURL' ) ) {
|
37 |
+
if ( FS_SDK__SIMULATE_NO_CURL ) {
|
38 |
+
define( 'FS_SDK__HAS_CURL', false );
|
39 |
+
} else {
|
40 |
+
$curl_required_methods = array(
|
41 |
+
'curl_version',
|
42 |
+
'curl_exec',
|
43 |
+
'curl_init',
|
44 |
+
'curl_close',
|
45 |
+
'curl_setopt',
|
46 |
+
'curl_setopt_array',
|
47 |
+
'curl_error',
|
48 |
+
);
|
49 |
+
|
50 |
+
$has_curl = true;
|
51 |
+
foreach ( $curl_required_methods as $m ) {
|
52 |
+
if ( ! function_exists( $m ) ) {
|
53 |
+
$has_curl = false;
|
54 |
+
break;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
define( 'FS_SDK__HAS_CURL', $has_curl );
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
$curl_version = FS_SDK__HAS_CURL ?
|
63 |
+
curl_version() :
|
64 |
+
array( 'version' => '7.37' );
|
65 |
+
|
66 |
+
if ( ! defined( 'FS_API__PROTOCOL' ) ) {
|
67 |
+
define( 'FS_API__PROTOCOL', version_compare( $curl_version['version'], '7.37', '>=' ) ? 'https' : 'http' );
|
68 |
+
}
|
69 |
+
|
70 |
+
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
71 |
+
define( 'FS_API__LOGGER_ON', false );
|
72 |
+
}
|
73 |
+
|
74 |
+
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
75 |
+
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
76 |
+
}
|
77 |
+
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
78 |
+
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
79 |
+
}
|
80 |
+
|
81 |
+
if ( class_exists( 'Freemius_Api' ) ) {
|
82 |
+
return;
|
83 |
+
}
|
84 |
+
|
85 |
+
class Freemius_Api extends Freemius_Api_Base {
|
86 |
+
private static $_logger = array();
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @param string $pScope 'app', 'developer', 'user' or 'install'.
|
90 |
+
* @param number $pID Element's id.
|
91 |
+
* @param string $pPublic Public key.
|
92 |
+
* @param string|bool $pSecret Element's secret key.
|
93 |
+
* @param bool $pSandbox Whether or not to run API in sandbox mode.
|
94 |
+
*/
|
95 |
+
public function __construct( $pScope, $pID, $pPublic, $pSecret = false, $pSandbox = false ) {
|
96 |
+
// If secret key not provided, use public key encryption.
|
97 |
+
if ( is_bool( $pSecret ) ) {
|
98 |
+
$pSecret = $pPublic;
|
99 |
+
}
|
100 |
+
|
101 |
+
parent::Init( $pScope, $pID, $pPublic, $pSecret, $pSandbox );
|
102 |
+
}
|
103 |
+
|
104 |
+
public static function GetUrl( $pCanonizedPath = '', $pIsSandbox = false ) {
|
105 |
+
$address = ( $pIsSandbox ? FS_API__SANDBOX_ADDRESS : FS_API__ADDRESS );
|
106 |
+
|
107 |
+
if ( ':' === $address[0] ) {
|
108 |
+
$address = self::$_protocol . $address;
|
109 |
+
}
|
110 |
+
|
111 |
+
return $address . $pCanonizedPath;
|
112 |
+
}
|
113 |
+
|
114 |
+
#----------------------------------------------------------------------------------
|
115 |
+
#region Servers Clock Diff
|
116 |
+
#----------------------------------------------------------------------------------
|
117 |
+
|
118 |
+
/**
|
119 |
+
* @var int Clock diff in seconds between current server to API server.
|
120 |
+
*/
|
121 |
+
private static $_clock_diff = 0;
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Set clock diff for all API calls.
|
125 |
+
*
|
126 |
+
* @since 1.0.3
|
127 |
+
*
|
128 |
+
* @param $pSeconds
|
129 |
+
*/
|
130 |
+
public static function SetClockDiff( $pSeconds ) {
|
131 |
+
self::$_clock_diff = $pSeconds;
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Find clock diff between current server to API server.
|
136 |
+
*
|
137 |
+
* @since 1.0.2
|
138 |
+
* @return int Clock diff in seconds.
|
139 |
+
*/
|
140 |
+
public static function FindClockDiff() {
|
141 |
+
$time = time();
|
142 |
+
$pong = self::Ping();
|
143 |
+
|
144 |
+
return ( $time - strtotime( $pong->timestamp ) );
|
145 |
+
}
|
146 |
+
|
147 |
+
#endregion
|
148 |
+
|
149 |
+
/**
|
150 |
+
* @var string http or https
|
151 |
+
*/
|
152 |
+
private static $_protocol = FS_API__PROTOCOL;
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Set API connection protocol.
|
156 |
+
*
|
157 |
+
* @since 1.0.4
|
158 |
+
*/
|
159 |
+
public static function SetHttp() {
|
160 |
+
self::$_protocol = 'http';
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* @since 1.0.4
|
165 |
+
*
|
166 |
+
* @return bool
|
167 |
+
*/
|
168 |
+
public static function IsHttps() {
|
169 |
+
return ( 'https' === self::$_protocol );
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Sign request with the following HTTP headers:
|
174 |
+
* Content-MD5: MD5(HTTP Request body)
|
175 |
+
* Date: Current date (i.e Sat, 14 Feb 2015 20:24:46 +0000)
|
176 |
+
* Authorization: FS {scope_entity_id}:{scope_entity_public_key}:base64encode(sha256(string_to_sign,
|
177 |
+
* {scope_entity_secret_key}))
|
178 |
+
*
|
179 |
+
* @param string $pResourceUrl
|
180 |
+
* @param array $pCurlOptions
|
181 |
+
*
|
182 |
+
* @return array
|
183 |
+
*/
|
184 |
+
function SignRequest( $pResourceUrl, $pCurlOptions ) {
|
185 |
+
$eol = "\n";
|
186 |
+
$content_md5 = '';
|
187 |
+
$now = ( time() - self::$_clock_diff );
|
188 |
+
$date = date( 'r', $now );
|
189 |
+
$content_type = '';
|
190 |
+
|
191 |
+
if ( isset( $pCurlOptions[ CURLOPT_POST ] ) && 0 < $pCurlOptions[ CURLOPT_POST ] ) {
|
192 |
+
$content_md5 = md5( $pCurlOptions[ CURLOPT_POSTFIELDS ] );
|
193 |
+
$pCurlOptions[ CURLOPT_HTTPHEADER ][] = 'Content-MD5: ' . $content_md5;
|
194 |
+
$content_type = 'application/json';
|
195 |
+
}
|
196 |
+
|
197 |
+
$pCurlOptions[ CURLOPT_HTTPHEADER ][] = 'Date: ' . $date;
|
198 |
+
|
199 |
+
$string_to_sign = implode( $eol, array(
|
200 |
+
$pCurlOptions[ CURLOPT_CUSTOMREQUEST ],
|
201 |
+
$content_md5,
|
202 |
+
$content_type,
|
203 |
+
$date,
|
204 |
+
$pResourceUrl
|
205 |
+
) );
|
206 |
+
|
207 |
+
// If secret and public keys are identical, it means that
|
208 |
+
// the signature uses public key hash encoding.
|
209 |
+
$auth_type = ( $this->_secret !== $this->_public ) ? 'FS' : 'FSP';
|
210 |
+
|
211 |
+
// Add authorization header.
|
212 |
+
$pCurlOptions[ CURLOPT_HTTPHEADER ][] = 'Authorization: ' .
|
213 |
+
$auth_type . ' ' .
|
214 |
+
$this->_id . ':' .
|
215 |
+
$this->_public . ':' .
|
216 |
+
self::Base64UrlEncode(
|
217 |
+
hash_hmac( 'sha256', $string_to_sign, $this->_secret )
|
218 |
+
);
|
219 |
+
|
220 |
+
return $pCurlOptions;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Get API request URL signed via query string.
|
225 |
+
*
|
226 |
+
* @param string $pPath
|
227 |
+
*
|
228 |
+
* @throws Freemius_Exception
|
229 |
+
*
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
function GetSignedUrl( $pPath ) {
|
233 |
+
$resource = explode( '?', $this->CanonizePath( $pPath ) );
|
234 |
+
$pResourceUrl = $resource[0];
|
235 |
+
|
236 |
+
$eol = "\n";
|
237 |
+
$content_md5 = '';
|
238 |
+
$content_type = '';
|
239 |
+
$now = ( time() - self::$_clock_diff );
|
240 |
+
$date = date( 'r', $now );
|
241 |
+
|
242 |
+
$string_to_sign = implode( $eol, array(
|
243 |
+
'GET',
|
244 |
+
$content_md5,
|
245 |
+
$content_type,
|
246 |
+
$date,
|
247 |
+
$pResourceUrl
|
248 |
+
) );
|
249 |
+
|
250 |
+
// If secret and public keys are identical, it means that
|
251 |
+
// the signature uses public key hash encoding.
|
252 |
+
$auth_type = ( $this->_secret !== $this->_public ) ? 'FS' : 'FSP';
|
253 |
+
|
254 |
+
return Freemius_Api::GetUrl(
|
255 |
+
$pResourceUrl . '?' .
|
256 |
+
( 1 < count( $resource ) && ! empty( $resource[1] ) ? $resource[1] . '&' : '' ) .
|
257 |
+
http_build_query( array(
|
258 |
+
'auth_date' => $date,
|
259 |
+
'authorization' => $auth_type . ' ' . $this->_id . ':' .
|
260 |
+
$this->_public . ':' .
|
261 |
+
self::Base64UrlEncode( hash_hmac(
|
262 |
+
'sha256', $string_to_sign, $this->_secret
|
263 |
+
) )
|
264 |
+
) ), $this->_isSandbox );
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* @param resource $pCurlHandler
|
269 |
+
* @param array $pCurlOptions
|
270 |
+
*
|
271 |
+
* @return mixed
|
272 |
+
*/
|
273 |
+
private static function ExecuteRequest( &$pCurlHandler, &$pCurlOptions ) {
|
274 |
+
$start = microtime( true );
|
275 |
+
|
276 |
+
$result = curl_exec( $pCurlHandler );
|
277 |
+
|
278 |
+
if ( FS_API__LOGGER_ON ) {
|
279 |
+
$end = microtime( true );
|
280 |
+
|
281 |
+
$has_body = ( isset( $pCurlOptions[ CURLOPT_POST ] ) && 0 < $pCurlOptions[ CURLOPT_POST ] );
|
282 |
+
|
283 |
+
self::$_logger[] = array(
|
284 |
+
'id' => count( self::$_logger ),
|
285 |
+
'start' => $start,
|
286 |
+
'end' => $end,
|
287 |
+
'total' => ( $end - $start ),
|
288 |
+
'method' => $pCurlOptions[ CURLOPT_CUSTOMREQUEST ],
|
289 |
+
'path' => $pCurlOptions[ CURLOPT_URL ],
|
290 |
+
'body' => $has_body ? $pCurlOptions[ CURLOPT_POSTFIELDS ] : null,
|
291 |
+
'result' => $result,
|
292 |
+
'code' => curl_getinfo( $pCurlHandler, CURLINFO_HTTP_CODE ),
|
293 |
+
'backtrace' => debug_backtrace(),
|
294 |
+
);
|
295 |
+
}
|
296 |
+
|
297 |
+
return $result;
|
298 |
+
}
|
299 |
+
|
300 |
+
/**
|
301 |
+
* @return array
|
302 |
+
*/
|
303 |
+
static function GetLogger() {
|
304 |
+
return self::$_logger;
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* @param string $pCanonizedPath
|
309 |
+
* @param string $pMethod
|
310 |
+
* @param array $pParams
|
311 |
+
* @param null|resource $pCurlHandler
|
312 |
+
* @param bool $pIsSandbox
|
313 |
+
* @param null|callable $pBeforeExecutionFunction
|
314 |
+
*
|
315 |
+
* @return object[]|object|null
|
316 |
+
*
|
317 |
+
* @throws \Freemius_Exception
|
318 |
+
*/
|
319 |
+
private static function MakeStaticRequest(
|
320 |
+
$pCanonizedPath,
|
321 |
+
$pMethod = 'GET',
|
322 |
+
$pParams = array(),
|
323 |
+
$pCurlHandler = null,
|
324 |
+
$pIsSandbox = false,
|
325 |
+
$pBeforeExecutionFunction = null
|
326 |
+
) {
|
327 |
+
if ( ! FS_SDK__HAS_CURL ) {
|
328 |
+
self::ThrowNoCurlException();
|
329 |
+
}
|
330 |
+
|
331 |
+
// Connectivity errors simulation.
|
332 |
+
if ( FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE ) {
|
333 |
+
self::ThrowCloudFlareDDoSException();
|
334 |
+
} else if ( FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL ) {
|
335 |
+
self::ThrowSquidAclException();
|
336 |
+
}
|
337 |
+
|
338 |
+
if ( ! $pCurlHandler ) {
|
339 |
+
$pCurlHandler = curl_init();
|
340 |
+
}
|
341 |
+
|
342 |
+
$opts = array(
|
343 |
+
CURLOPT_CONNECTTIMEOUT => 10,
|
344 |
+
CURLOPT_RETURNTRANSFER => true,
|
345 |
+
CURLOPT_TIMEOUT => 60,
|
346 |
+
CURLOPT_USERAGENT => FS_SDK__USER_AGENT,
|
347 |
+
CURLOPT_HTTPHEADER => array(),
|
348 |
+
);
|
349 |
+
|
350 |
+
if ( 'POST' === $pMethod || 'PUT' === $pMethod ) {
|
351 |
+
if ( is_array( $pParams ) && 0 < count( $pParams ) ) {
|
352 |
+
$opts[ CURLOPT_HTTPHEADER ][] = 'Content-Type: application/json';
|
353 |
+
$opts[ CURLOPT_POST ] = count( $pParams );
|
354 |
+
$opts[ CURLOPT_POSTFIELDS ] = json_encode( $pParams );
|
355 |
+
}
|
356 |
+
|
357 |
+
$opts[ CURLOPT_RETURNTRANSFER ] = true;
|
358 |
+
}
|
359 |
+
|
360 |
+
$request_url = self::GetUrl( $pCanonizedPath, $pIsSandbox );
|
361 |
+
|
362 |
+
$opts[ CURLOPT_URL ] = $request_url;
|
363 |
+
$opts[ CURLOPT_CUSTOMREQUEST ] = $pMethod;
|
364 |
+
|
365 |
+
$resource = explode( '?', $pCanonizedPath );
|
366 |
+
|
367 |
+
// Disable the 'Expect: 100-continue' behaviour. This causes CURL to wait
|
368 |
+
// for 2 seconds if the server does not support this header.
|
369 |
+
$opts[ CURLOPT_HTTPHEADER ][] = 'Expect:';
|
370 |
+
|
371 |
+
if ( 'https' === substr( strtolower( $request_url ), 0, 5 ) ) {
|
372 |
+
$opts[ CURLOPT_SSL_VERIFYHOST ] = false;
|
373 |
+
$opts[ CURLOPT_SSL_VERIFYPEER ] = false;
|
374 |
+
}
|
375 |
+
|
376 |
+
if ( false !== $pBeforeExecutionFunction &&
|
377 |
+
is_callable( $pBeforeExecutionFunction )
|
378 |
+
) {
|
379 |
+
$opts = call_user_func( $pBeforeExecutionFunction, $resource[0], $opts );
|
380 |
+
}
|
381 |
+
|
382 |
+
curl_setopt_array( $pCurlHandler, $opts );
|
383 |
+
$result = self::ExecuteRequest( $pCurlHandler, $opts );
|
384 |
+
|
385 |
+
/*if (curl_errno($ch) == 60) // CURLE_SSL_CACERT
|
386 |
+
{
|
387 |
+
self::errorLog('Invalid or no certificate authority found, using bundled information');
|
388 |
+
curl_setopt($ch, CURLOPT_CAINFO,
|
389 |
+
dirname(__FILE__) . '/fb_ca_chain_bundle.crt');
|
390 |
+
$result = curl_exec($ch);
|
391 |
+
}*/
|
392 |
+
|
393 |
+
// With dual stacked DNS responses, it's possible for a server to
|
394 |
+
// have IPv6 enabled but not have IPv6 connectivity. If this is
|
395 |
+
// the case, curl will try IPv4 first and if that fails, then it will
|
396 |
+
// fall back to IPv6 and the error EHOSTUNREACH is returned by the
|
397 |
+
// operating system.
|
398 |
+
if ( false === $result && empty( $opts[ CURLOPT_IPRESOLVE ] ) ) {
|
399 |
+
$matches = array();
|
400 |
+
$regex = '/Failed to connect to ([^:].*): Network is unreachable/';
|
401 |
+
if ( preg_match( $regex, curl_error( $pCurlHandler ), $matches ) ) {
|
402 |
+
if ( strlen( @inet_pton( $matches[1] ) ) === 16 ) {
|
403 |
+
// self::errorLog('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
|
404 |
+
$opts[ CURLOPT_IPRESOLVE ] = CURL_IPRESOLVE_V4;
|
405 |
+
curl_setopt( $pCurlHandler, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
|
406 |
+
$result = self::ExecuteRequest( $pCurlHandler, $opts );
|
407 |
+
}
|
408 |
+
}
|
409 |
+
}
|
410 |
+
|
411 |
+
if ( $result === false ) {
|
412 |
+
self::ThrowCurlException( $pCurlHandler );
|
413 |
+
}
|
414 |
+
|
415 |
+
curl_close( $pCurlHandler );
|
416 |
+
|
417 |
+
if ( empty( $result ) ) {
|
418 |
+
return null;
|
419 |
+
}
|
420 |
+
|
421 |
+
$decoded = json_decode( $result );
|
422 |
+
|
423 |
+
if ( is_null( $decoded ) ) {
|
424 |
+
if ( preg_match( '/Please turn JavaScript on/i', $result ) &&
|
425 |
+
preg_match( '/text\/javascript/', $result )
|
426 |
+
) {
|
427 |
+
self::ThrowCloudFlareDDoSException( $result );
|
428 |
+
} else if ( preg_match( '/Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect./', $result ) &&
|
429 |
+
preg_match( '/squid/', $result )
|
430 |
+
) {
|
431 |
+
self::ThrowSquidAclException( $result );
|
432 |
+
} else {
|
433 |
+
$decoded = (object) array(
|
434 |
+
'error' => (object) array(
|
435 |
+
'type' => 'Unknown',
|
436 |
+
'message' => $result,
|
437 |
+
'code' => 'unknown',
|
438 |
+
'http' => 402
|
439 |
+
)
|
440 |
+
);
|
441 |
+
}
|
442 |
+
}
|
443 |
+
|
444 |
+
return $decoded;
|
445 |
+
}
|
446 |
+
|
447 |
+
|
448 |
+
/**
|
449 |
+
* Makes an HTTP request. This method can be overridden by subclasses if
|
450 |
+
* developers want to do fancier things or use something other than curl to
|
451 |
+
* make the request.
|
452 |
+
*
|
453 |
+
* @param string $pCanonizedPath The URL to make the request to
|
454 |
+
* @param string $pMethod HTTP method
|
455 |
+
* @param array $pParams The parameters to use for the POST body
|
456 |
+
* @param null|resource $pCurlHandler Initialized curl handle
|
457 |
+
*
|
458 |
+
* @return object[]|object|null
|
459 |
+
*
|
460 |
+
* @throws Freemius_Exception
|
461 |
+
*/
|
462 |
+
public function MakeRequest(
|
463 |
+
$pCanonizedPath,
|
464 |
+
$pMethod = 'GET',
|
465 |
+
$pParams = array(),
|
466 |
+
$pCurlHandler = null
|
467 |
+
) {
|
468 |
+
$resource = explode( '?', $pCanonizedPath );
|
469 |
+
|
470 |
+
// Only sign request if not ping.json connectivity test.
|
471 |
+
$sign_request = ( '/v1/ping.json' !== strtolower( substr( $resource[0], - strlen( '/v1/ping.json' ) ) ) );
|
472 |
+
|
473 |
+
return self::MakeStaticRequest(
|
474 |
+
$pCanonizedPath,
|
475 |
+
$pMethod,
|
476 |
+
$pParams,
|
477 |
+
$pCurlHandler,
|
478 |
+
$this->_isSandbox,
|
479 |
+
$sign_request ? array( &$this, 'SignRequest' ) : null
|
480 |
+
);
|
481 |
+
}
|
482 |
+
|
483 |
+
#----------------------------------------------------------------------------------
|
484 |
+
#region Connectivity Test
|
485 |
+
#----------------------------------------------------------------------------------
|
486 |
+
/**
|
487 |
+
* If successful connectivity to the API endpoint using ping.json endpoint.
|
488 |
+
*
|
489 |
+
* - OR -
|
490 |
+
*
|
491 |
+
* Validate if ping result object is valid.
|
492 |
+
*
|
493 |
+
* @param mixed $pPong
|
494 |
+
*
|
495 |
+
* @return bool
|
496 |
+
*/
|
497 |
+
public static function Test( $pPong = null ) {
|
498 |
+
$pong = is_null( $pPong ) ?
|
499 |
+
self::Ping() :
|
500 |
+
$pPong;
|
501 |
+
|
502 |
+
return (
|
503 |
+
is_object( $pong ) &&
|
504 |
+
isset( $pong->api ) &&
|
505 |
+
'pong' === $pong->api
|
506 |
+
);
|
507 |
+
}
|
508 |
+
|
509 |
+
/**
|
510 |
+
* Ping API to test connectivity.
|
511 |
+
*
|
512 |
+
* @return object
|
513 |
+
*/
|
514 |
+
public static function Ping() {
|
515 |
+
try {
|
516 |
+
$result = self::MakeStaticRequest( '/v' . FS_API__VERSION . '/ping.json' );
|
517 |
+
} catch ( Freemius_Exception $e ) {
|
518 |
+
// Map to error object.
|
519 |
+
$result = (object) $e->getResult();
|
520 |
+
} catch ( Exception $e ) {
|
521 |
+
// Map to error object.
|
522 |
+
$result = (object) array(
|
523 |
+
'error' => array(
|
524 |
+
'type' => 'Unknown',
|
525 |
+
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
526 |
+
'code' => 'unknown',
|
527 |
+
'http' => 402
|
528 |
+
)
|
529 |
+
);
|
530 |
+
}
|
531 |
+
|
532 |
+
return $result;
|
533 |
+
}
|
534 |
+
|
535 |
+
#endregion
|
536 |
+
|
537 |
+
#----------------------------------------------------------------------------------
|
538 |
+
#region Connectivity Exceptions
|
539 |
+
#----------------------------------------------------------------------------------
|
540 |
+
|
541 |
+
/**
|
542 |
+
* @param resource $pCurlHandler
|
543 |
+
*
|
544 |
+
* @throws Freemius_Exception
|
545 |
+
*/
|
546 |
+
private static function ThrowCurlException( $pCurlHandler ) {
|
547 |
+
$e = new Freemius_Exception( array(
|
548 |
+
'error' => array(
|
549 |
+
'code' => curl_errno( $pCurlHandler ),
|
550 |
+
'message' => curl_error( $pCurlHandler ),
|
551 |
+
'type' => 'CurlException',
|
552 |
+
),
|
553 |
+
) );
|
554 |
+
|
555 |
+
curl_close( $pCurlHandler );
|
556 |
+
throw $e;
|
557 |
+
}
|
558 |
+
|
559 |
+
/**
|
560 |
+
* @param string $pResult
|
561 |
+
*
|
562 |
+
* @throws Freemius_Exception
|
563 |
+
*/
|
564 |
+
private static function ThrowNoCurlException( $pResult = '' ) {
|
565 |
+
$curl_required_methods = array(
|
566 |
+
'curl_version',
|
567 |
+
'curl_exec',
|
568 |
+
'curl_init',
|
569 |
+
'curl_close',
|
570 |
+
'curl_setopt',
|
571 |
+
'curl_setopt_array',
|
572 |
+
'curl_error',
|
573 |
+
);
|
574 |
+
|
575 |
+
// Find all missing methods.
|
576 |
+
$missing_methods = array();
|
577 |
+
foreach ( $curl_required_methods as $m ) {
|
578 |
+
if ( ! function_exists( $m ) ) {
|
579 |
+
$missing_methods[] = $m;
|
580 |
+
}
|
581 |
+
}
|
582 |
+
|
583 |
+
throw new Freemius_Exception( array(
|
584 |
+
'error' => (object) array(
|
585 |
+
'type' => 'cUrlMissing',
|
586 |
+
'message' => $pResult,
|
587 |
+
'code' => 'curl_missing',
|
588 |
+
'http' => 402
|
589 |
+
),
|
590 |
+
'missing_methods' => $missing_methods,
|
591 |
+
) );
|
592 |
+
}
|
593 |
+
|
594 |
+
/**
|
595 |
+
* @param string $pResult
|
596 |
+
*
|
597 |
+
* @throws Freemius_Exception
|
598 |
+
*/
|
599 |
+
private static function ThrowCloudFlareDDoSException( $pResult = '' ) {
|
600 |
+
throw new Freemius_Exception( array(
|
601 |
+
'error' => (object) array(
|
602 |
+
'type' => 'CloudFlareDDoSProtection',
|
603 |
+
'message' => $pResult,
|
604 |
+
'code' => 'cloudflare_ddos_protection',
|
605 |
+
'http' => 402
|
606 |
+
)
|
607 |
+
) );
|
608 |
+
}
|
609 |
+
|
610 |
+
/**
|
611 |
+
* @param string $pResult
|
612 |
+
*
|
613 |
+
* @throws Freemius_Exception
|
614 |
+
*/
|
615 |
+
private static function ThrowSquidAclException( $pResult = '' ) {
|
616 |
+
throw new Freemius_Exception( array(
|
617 |
+
'error' => (object) array(
|
618 |
+
'type' => 'SquidCacheBlock',
|
619 |
+
'message' => $pResult,
|
620 |
+
'code' => 'squid_cache_block',
|
621 |
+
'http' => 402
|
622 |
+
)
|
623 |
+
) );
|
624 |
+
}
|
625 |
+
|
626 |
+
#endregion
|
627 |
}
|
freemius/includes/sdk/FreemiusBase.php
CHANGED
@@ -1,188 +1,188 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Copyright 2014 Freemius, Inc.
|
4 |
-
*
|
5 |
-
* Licensed under the GPL v2 (the "License"); you may
|
6 |
-
* not use this file except in compliance with the License. You may obtain
|
7 |
-
* a copy of the License at
|
8 |
-
*
|
9 |
-
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
-
*
|
11 |
-
* Unless required by applicable law or agreed to in writing, software
|
12 |
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
-
* License for the specific language governing permissions and limitations
|
15 |
-
* under the License.
|
16 |
-
*/
|
17 |
-
|
18 |
-
if ( ! defined( 'FS_API__VERSION' ) ) {
|
19 |
-
define( 'FS_API__VERSION', '1' );
|
20 |
-
}
|
21 |
-
if ( ! defined( 'FS_SDK__PATH' ) ) {
|
22 |
-
define( 'FS_SDK__PATH', dirname( __FILE__ ) );
|
23 |
-
}
|
24 |
-
if ( ! defined( 'FS_SDK__EXCEPTIONS_PATH' ) ) {
|
25 |
-
define( 'FS_SDK__EXCEPTIONS_PATH', FS_SDK__PATH . '/Exceptions/' );
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ! function_exists( 'json_decode' ) ) {
|
29 |
-
throw new Exception( 'Freemius needs the JSON PHP extension.' );
|
30 |
-
}
|
31 |
-
|
32 |
-
// Include all exception files.
|
33 |
-
$exceptions = array(
|
34 |
-
'Exception',
|
35 |
-
'InvalidArgumentException',
|
36 |
-
'ArgumentNotExistException',
|
37 |
-
'EmptyArgumentException',
|
38 |
-
'OAuthException'
|
39 |
-
);
|
40 |
-
|
41 |
-
foreach ( $exceptions as $e ) {
|
42 |
-
require_once FS_SDK__EXCEPTIONS_PATH . $e . '.php';
|
43 |
-
}
|
44 |
-
|
45 |
-
if ( class_exists( 'Freemius_Api_Base' ) ) {
|
46 |
-
return;
|
47 |
-
}
|
48 |
-
|
49 |
-
abstract class Freemius_Api_Base {
|
50 |
-
const VERSION = '1.0.4';
|
51 |
-
const FORMAT = 'json';
|
52 |
-
|
53 |
-
protected $_id;
|
54 |
-
protected $_public;
|
55 |
-
protected $_secret;
|
56 |
-
protected $_scope;
|
57 |
-
protected $_isSandbox;
|
58 |
-
|
59 |
-
/**
|
60 |
-
* @param string $pScope 'app', 'developer', 'plugin', 'user' or 'install'.
|
61 |
-
* @param number $pID Element's id.
|
62 |
-
* @param string $pPublic Public key.
|
63 |
-
* @param string $pSecret Element's secret key.
|
64 |
-
* @param bool $pIsSandbox Whether or not to run API in sandbox mode.
|
65 |
-
*/
|
66 |
-
public function Init( $pScope, $pID, $pPublic, $pSecret, $pIsSandbox = false ) {
|
67 |
-
$this->_id = $pID;
|
68 |
-
$this->_public = $pPublic;
|
69 |
-
$this->_secret = $pSecret;
|
70 |
-
$this->_scope = $pScope;
|
71 |
-
$this->_isSandbox = $pIsSandbox;
|
72 |
-
}
|
73 |
-
|
74 |
-
public function IsSandbox() {
|
75 |
-
return $this->_isSandbox;
|
76 |
-
}
|
77 |
-
|
78 |
-
function CanonizePath( $pPath ) {
|
79 |
-
$pPath = trim( $pPath, '/' );
|
80 |
-
$query_pos = strpos( $pPath, '?' );
|
81 |
-
$query = '';
|
82 |
-
|
83 |
-
if ( false !== $query_pos ) {
|
84 |
-
$query = substr( $pPath, $query_pos );
|
85 |
-
$pPath = substr( $pPath, 0, $query_pos );
|
86 |
-
}
|
87 |
-
|
88 |
-
// Trim '.json' suffix.
|
89 |
-
$format_length = strlen( '.' . self::FORMAT );
|
90 |
-
$start = $format_length * ( - 1 ); //negative
|
91 |
-
if ( substr( strtolower( $pPath ), $start ) === ( '.' . self::FORMAT ) ) {
|
92 |
-
$pPath = substr( $pPath, 0, strlen( $pPath ) - $format_length );
|
93 |
-
}
|
94 |
-
|
95 |
-
switch ( $this->_scope ) {
|
96 |
-
case 'app':
|
97 |
-
$base = '/apps/' . $this->_id;
|
98 |
-
break;
|
99 |
-
case 'developer':
|
100 |
-
$base = '/developers/' . $this->_id;
|
101 |
-
break;
|
102 |
-
case 'user':
|
103 |
-
$base = '/users/' . $this->_id;
|
104 |
-
break;
|
105 |
-
case 'plugin':
|
106 |
-
$base = '/plugins/' . $this->_id;
|
107 |
-
break;
|
108 |
-
case 'install':
|
109 |
-
$base = '/installs/' . $this->_id;
|
110 |
-
break;
|
111 |
-
default:
|
112 |
-
throw new Freemius_Exception( 'Scope not implemented.' );
|
113 |
-
}
|
114 |
-
|
115 |
-
return '/v' . FS_API__VERSION . $base .
|
116 |
-
( ! empty( $pPath ) ? '/' : '' ) . $pPath .
|
117 |
-
( ( false === strpos( $pPath, '.' ) ) ? '.' . self::FORMAT : '' ) . $query;
|
118 |
-
}
|
119 |
-
|
120 |
-
abstract function MakeRequest( $pCanonizedPath, $pMethod = 'GET', $pParams = array() );
|
121 |
-
|
122 |
-
/**
|
123 |
-
* @param string $pPath
|
124 |
-
* @param string $pMethod
|
125 |
-
* @param array $pParams
|
126 |
-
*
|
127 |
-
* @return object[]|object|null
|
128 |
-
*/
|
129 |
-
private function _Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
130 |
-
$pMethod = strtoupper( $pMethod );
|
131 |
-
|
132 |
-
try {
|
133 |
-
$result = $this->MakeRequest( $pPath, $pMethod, $pParams );
|
134 |
-
} catch ( Freemius_Exception $e ) {
|
135 |
-
// Map to error object.
|
136 |
-
$result = (object) $e->getResult();
|
137 |
-
} catch ( Exception $e ) {
|
138 |
-
// Map to error object.
|
139 |
-
$result = (object) array(
|
140 |
-
'error' => array(
|
141 |
-
'type' => 'Unknown',
|
142 |
-
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
143 |
-
'code' => 'unknown',
|
144 |
-
'http' => 402
|
145 |
-
)
|
146 |
-
);
|
147 |
-
}
|
148 |
-
|
149 |
-
return $result;
|
150 |
-
}
|
151 |
-
|
152 |
-
public function Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
153 |
-
return $this->_Api( $this->CanonizePath( $pPath ), $pMethod, $pParams );
|
154 |
-
}
|
155 |
-
|
156 |
-
/**
|
157 |
-
* Base64 encoding that does not need to be urlencode()ed.
|
158 |
-
* Exactly the same as base64_encode except it uses
|
159 |
-
* - instead of +
|
160 |
-
* _ instead of /
|
161 |
-
* No padded =
|
162 |
-
*
|
163 |
-
* @param string $input base64UrlEncoded string
|
164 |
-
*
|
165 |
-
* @return string
|
166 |
-
*/
|
167 |
-
protected static function Base64UrlDecode( $input ) {
|
168 |
-
return base64_decode( strtr( $input, '-_', '+/' ) );
|
169 |
-
}
|
170 |
-
|
171 |
-
/**
|
172 |
-
* Base64 encoding that does not need to be urlencode()ed.
|
173 |
-
* Exactly the same as base64_encode except it uses
|
174 |
-
* - instead of +
|
175 |
-
* _ instead of /
|
176 |
-
*
|
177 |
-
* @param string $input string
|
178 |
-
*
|
179 |
-
* @return string base64Url encoded string
|
180 |
-
*/
|
181 |
-
protected static function Base64UrlEncode( $input ) {
|
182 |
-
$str = strtr( base64_encode( $input ), '+/', '-_' );
|
183 |
-
$str = str_replace( '=', '', $str );
|
184 |
-
|
185 |
-
return $str;
|
186 |
-
}
|
187 |
-
|
188 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Copyright 2014 Freemius, Inc.
|
4 |
+
*
|
5 |
+
* Licensed under the GPL v2 (the "License"); you may
|
6 |
+
* not use this file except in compliance with the License. You may obtain
|
7 |
+
* a copy of the License at
|
8 |
+
*
|
9 |
+
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
+
*
|
11 |
+
* Unless required by applicable law or agreed to in writing, software
|
12 |
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
+
* License for the specific language governing permissions and limitations
|
15 |
+
* under the License.
|
16 |
+
*/
|
17 |
+
|
18 |
+
if ( ! defined( 'FS_API__VERSION' ) ) {
|
19 |
+
define( 'FS_API__VERSION', '1' );
|
20 |
+
}
|
21 |
+
if ( ! defined( 'FS_SDK__PATH' ) ) {
|
22 |
+
define( 'FS_SDK__PATH', dirname( __FILE__ ) );
|
23 |
+
}
|
24 |
+
if ( ! defined( 'FS_SDK__EXCEPTIONS_PATH' ) ) {
|
25 |
+
define( 'FS_SDK__EXCEPTIONS_PATH', FS_SDK__PATH . '/Exceptions/' );
|
26 |
+
}
|
27 |
+
|
28 |
+
if ( ! function_exists( 'json_decode' ) ) {
|
29 |
+
throw new Exception( 'Freemius needs the JSON PHP extension.' );
|
30 |
+
}
|
31 |
+
|
32 |
+
// Include all exception files.
|
33 |
+
$exceptions = array(
|
34 |
+
'Exception',
|
35 |
+
'InvalidArgumentException',
|
36 |
+
'ArgumentNotExistException',
|
37 |
+
'EmptyArgumentException',
|
38 |
+
'OAuthException'
|
39 |
+
);
|
40 |
+
|
41 |
+
foreach ( $exceptions as $e ) {
|
42 |
+
require_once FS_SDK__EXCEPTIONS_PATH . $e . '.php';
|
43 |
+
}
|
44 |
+
|
45 |
+
if ( class_exists( 'Freemius_Api_Base' ) ) {
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
|
49 |
+
abstract class Freemius_Api_Base {
|
50 |
+
const VERSION = '1.0.4';
|
51 |
+
const FORMAT = 'json';
|
52 |
+
|
53 |
+
protected $_id;
|
54 |
+
protected $_public;
|
55 |
+
protected $_secret;
|
56 |
+
protected $_scope;
|
57 |
+
protected $_isSandbox;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param string $pScope 'app', 'developer', 'plugin', 'user' or 'install'.
|
61 |
+
* @param number $pID Element's id.
|
62 |
+
* @param string $pPublic Public key.
|
63 |
+
* @param string $pSecret Element's secret key.
|
64 |
+
* @param bool $pIsSandbox Whether or not to run API in sandbox mode.
|
65 |
+
*/
|
66 |
+
public function Init( $pScope, $pID, $pPublic, $pSecret, $pIsSandbox = false ) {
|
67 |
+
$this->_id = $pID;
|
68 |
+
$this->_public = $pPublic;
|
69 |
+
$this->_secret = $pSecret;
|
70 |
+
$this->_scope = $pScope;
|
71 |
+
$this->_isSandbox = $pIsSandbox;
|
72 |
+
}
|
73 |
+
|
74 |
+
public function IsSandbox() {
|
75 |
+
return $this->_isSandbox;
|
76 |
+
}
|
77 |
+
|
78 |
+
function CanonizePath( $pPath ) {
|
79 |
+
$pPath = trim( $pPath, '/' );
|
80 |
+
$query_pos = strpos( $pPath, '?' );
|
81 |
+
$query = '';
|
82 |
+
|
83 |
+
if ( false !== $query_pos ) {
|
84 |
+
$query = substr( $pPath, $query_pos );
|
85 |
+
$pPath = substr( $pPath, 0, $query_pos );
|
86 |
+
}
|
87 |
+
|
88 |
+
// Trim '.json' suffix.
|
89 |
+
$format_length = strlen( '.' . self::FORMAT );
|
90 |
+
$start = $format_length * ( - 1 ); //negative
|
91 |
+
if ( substr( strtolower( $pPath ), $start ) === ( '.' . self::FORMAT ) ) {
|
92 |
+
$pPath = substr( $pPath, 0, strlen( $pPath ) - $format_length );
|
93 |
+
}
|
94 |
+
|
95 |
+
switch ( $this->_scope ) {
|
96 |
+
case 'app':
|
97 |
+
$base = '/apps/' . $this->_id;
|
98 |
+
break;
|
99 |
+
case 'developer':
|
100 |
+
$base = '/developers/' . $this->_id;
|
101 |
+
break;
|
102 |
+
case 'user':
|
103 |
+
$base = '/users/' . $this->_id;
|
104 |
+
break;
|
105 |
+
case 'plugin':
|
106 |
+
$base = '/plugins/' . $this->_id;
|
107 |
+
break;
|
108 |
+
case 'install':
|
109 |
+
$base = '/installs/' . $this->_id;
|
110 |
+
break;
|
111 |
+
default:
|
112 |
+
throw new Freemius_Exception( 'Scope not implemented.' );
|
113 |
+
}
|
114 |
+
|
115 |
+
return '/v' . FS_API__VERSION . $base .
|
116 |
+
( ! empty( $pPath ) ? '/' : '' ) . $pPath .
|
117 |
+
( ( false === strpos( $pPath, '.' ) ) ? '.' . self::FORMAT : '' ) . $query;
|
118 |
+
}
|
119 |
+
|
120 |
+
abstract function MakeRequest( $pCanonizedPath, $pMethod = 'GET', $pParams = array() );
|
121 |
+
|
122 |
+
/**
|
123 |
+
* @param string $pPath
|
124 |
+
* @param string $pMethod
|
125 |
+
* @param array $pParams
|
126 |
+
*
|
127 |
+
* @return object[]|object|null
|
128 |
+
*/
|
129 |
+
private function _Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
130 |
+
$pMethod = strtoupper( $pMethod );
|
131 |
+
|
132 |
+
try {
|
133 |
+
$result = $this->MakeRequest( $pPath, $pMethod, $pParams );
|
134 |
+
} catch ( Freemius_Exception $e ) {
|
135 |
+
// Map to error object.
|
136 |
+
$result = (object) $e->getResult();
|
137 |
+
} catch ( Exception $e ) {
|
138 |
+
// Map to error object.
|
139 |
+
$result = (object) array(
|
140 |
+
'error' => array(
|
141 |
+
'type' => 'Unknown',
|
142 |
+
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
143 |
+
'code' => 'unknown',
|
144 |
+
'http' => 402
|
145 |
+
)
|
146 |
+
);
|
147 |
+
}
|
148 |
+
|
149 |
+
return $result;
|
150 |
+
}
|
151 |
+
|
152 |
+
public function Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
153 |
+
return $this->_Api( $this->CanonizePath( $pPath ), $pMethod, $pParams );
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Base64 encoding that does not need to be urlencode()ed.
|
158 |
+
* Exactly the same as base64_encode except it uses
|
159 |
+
* - instead of +
|
160 |
+
* _ instead of /
|
161 |
+
* No padded =
|
162 |
+
*
|
163 |
+
* @param string $input base64UrlEncoded string
|
164 |
+
*
|
165 |
+
* @return string
|
166 |
+
*/
|
167 |
+
protected static function Base64UrlDecode( $input ) {
|
168 |
+
return base64_decode( strtr( $input, '-_', '+/' ) );
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Base64 encoding that does not need to be urlencode()ed.
|
173 |
+
* Exactly the same as base64_encode except it uses
|
174 |
+
* - instead of +
|
175 |
+
* _ instead of /
|
176 |
+
*
|
177 |
+
* @param string $input string
|
178 |
+
*
|
179 |
+
* @return string base64Url encoded string
|
180 |
+
*/
|
181 |
+
protected static function Base64UrlEncode( $input ) {
|
182 |
+
$str = strtr( base64_encode( $input ), '+/', '-_' );
|
183 |
+
$str = str_replace( '=', '', $str );
|
184 |
+
|
185 |
+
return $str;
|
186 |
+
}
|
187 |
+
|
188 |
+
}
|
freemius/languages/freemius-da_DK.mo
CHANGED
Binary file
|
freemius/languages/freemius-da_DK.po
CHANGED
@@ -1,1661 +1,1790 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
-
# Joachim Jensen <jv@intox.dk>, 2016
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
-
"
|
|
|
10 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
11 |
"Language-Team: Danish (Denmark) (http://www.transifex.com/freemius/wordpress-sdk/language/da_DK/)\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"Language: da_DK\n"
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
17 |
"X-Poedit-Basepath: ..\n"
|
18 |
-
"X-Poedit-KeywordsList:
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
21 |
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
|
23 |
-
#: includes/i18n.
|
24 |
-
msgid "Yes - I'm in!"
|
25 |
-
msgstr "Ja - jeg er med!"
|
26 |
-
|
27 |
-
#: includes/i18n.php43, includes/i18n.php:57
|
28 |
-
msgid "Not today"
|
29 |
-
msgstr "Ikke i dag"
|
30 |
-
|
31 |
-
#: includes/i18n.php:69
|
32 |
msgid "Account"
|
33 |
msgstr "Konto"
|
34 |
|
35 |
-
#: includes/i18n.php:
|
36 |
msgid "Add On"
|
37 |
msgstr "Tilføjelse"
|
38 |
|
39 |
-
#: includes/i18n.php:
|
40 |
msgid "Contact Us"
|
41 |
msgstr "Kontakt os"
|
42 |
|
43 |
-
#: includes/i18n.php:
|
44 |
msgid "Contact Support"
|
45 |
msgstr "Kontakt support"
|
46 |
|
47 |
-
#: includes/i18n.php:
|
48 |
msgid "Change Ownership"
|
49 |
msgstr "Skift ejerskab"
|
50 |
|
51 |
-
#: includes/i18n.php:
|
52 |
msgid "Support"
|
53 |
msgstr "Support"
|
54 |
|
55 |
-
#: includes/i18n.php:
|
56 |
msgid "Support Forum"
|
57 |
msgstr "Supportforum"
|
58 |
|
59 |
-
#: includes/i18n.php:
|
60 |
msgid "Add Ons"
|
61 |
msgstr "Tilføjelser"
|
62 |
|
63 |
-
#: includes/i18n.php:
|
64 |
msgctxt "verb"
|
65 |
msgid "Upgrade"
|
66 |
msgstr "Opgrader"
|
67 |
|
68 |
-
#: includes/i18n.php:
|
69 |
msgid "Awesome"
|
70 |
msgstr "Sejt"
|
71 |
|
72 |
-
#: includes/i18n.php:
|
73 |
msgctxt "noun"
|
74 |
msgid "Pricing"
|
75 |
msgstr "Priser"
|
76 |
|
77 |
-
#: includes/i18n.php:
|
78 |
msgctxt "noun"
|
79 |
msgid "Price"
|
80 |
msgstr "Pris"
|
81 |
|
82 |
-
#: includes/i18n.php:
|
83 |
msgid "Unlimited Updates"
|
84 |
msgstr "Ubegrænsede opdateringer"
|
85 |
|
86 |
-
#: includes/i18n.php:
|
87 |
msgctxt "verb"
|
88 |
msgid "Downgrade"
|
89 |
msgstr "Nedgrader"
|
90 |
|
91 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
92 |
msgid "Cancel Trial"
|
93 |
msgstr "Annuller prøveperiode"
|
94 |
|
95 |
-
#: includes/i18n.php:
|
96 |
msgid "Free Trial"
|
97 |
msgstr "Gratis prøveperiode"
|
98 |
|
99 |
-
#: includes/i18n.php:
|
100 |
msgid "Start my free %s"
|
101 |
msgstr "Start min gratis %s"
|
102 |
|
103 |
-
#: includes/i18n.php:
|
104 |
msgid "No commitment for %s - cancel anytime"
|
105 |
msgstr "Ingen bindinger ved %s - annuller når som helst"
|
106 |
|
107 |
-
#: includes/i18n.php:
|
108 |
msgid "After your free %s, pay as little as %s"
|
109 |
msgstr "Efter din gratis %s er prisen kun %s"
|
110 |
|
111 |
-
#: includes/i18n.php:
|
112 |
msgid "Details"
|
113 |
msgstr "Detaljer"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgid "Account Details"
|
117 |
msgstr "Kontodetaljer"
|
118 |
|
119 |
-
#: includes/i18n.php:
|
120 |
msgctxt "verb"
|
121 |
msgid "Delete"
|
122 |
msgstr "Slet"
|
123 |
|
124 |
-
#: includes/i18n.php:
|
125 |
msgctxt "verb"
|
126 |
msgid "Show"
|
127 |
msgstr "Vis"
|
128 |
|
129 |
-
#: includes/i18n.php:
|
130 |
msgctxt "verb"
|
131 |
msgid "Hide"
|
132 |
msgstr "Skjul"
|
133 |
|
134 |
-
#: includes/i18n.php:
|
135 |
msgctxt "verb"
|
136 |
msgid "Edit"
|
137 |
msgstr "Rediger"
|
138 |
|
139 |
-
#: includes/i18n.php:
|
140 |
msgctxt "verb"
|
141 |
msgid "Update"
|
142 |
-
msgstr ""
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Date"
|
146 |
msgstr "Dato"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Amount"
|
150 |
msgstr "Beløb"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Invoice"
|
154 |
msgstr "Faktura"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgid "Billing"
|
158 |
msgstr "Betaling"
|
159 |
|
160 |
-
#: includes/i18n.php:
|
161 |
msgid "Payments"
|
162 |
msgstr "Betalinger"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgid "Delete Account"
|
166 |
msgstr "Slet konto"
|
167 |
|
168 |
-
#: includes/i18n.php:
|
169 |
msgctxt "as close a window"
|
170 |
msgid "Dismiss"
|
171 |
msgstr "Fjern"
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as product pricing plan"
|
175 |
msgid "Plan"
|
176 |
msgstr "Plan"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgid "Change Plan"
|
180 |
msgstr "Skift plan"
|
181 |
|
182 |
-
#: includes/i18n.php:
|
183 |
msgctxt "as download professional version"
|
184 |
msgid "Download %s Version"
|
185 |
-
msgstr ""
|
186 |
|
187 |
-
#: includes/i18n.php:
|
188 |
msgctxt "as download professional version now"
|
189 |
msgid "Download %s version now"
|
190 |
-
msgstr ""
|
191 |
|
192 |
-
#: includes/i18n.php:
|
193 |
msgctxt "as download latest version"
|
194 |
msgid "Download Latest"
|
195 |
msgstr "Download seneste"
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgctxt "E.g. you have a professional license."
|
199 |
msgid "You have a %s license."
|
200 |
msgstr "Du har en %s licens."
|
201 |
|
202 |
-
#: includes/i18n.php:
|
203 |
msgid "New"
|
204 |
msgstr "Ny"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgid "Free"
|
208 |
msgstr "Gratis"
|
209 |
|
210 |
-
#: includes/i18n.php:
|
211 |
msgctxt "as trial plan"
|
212 |
msgid "Trial"
|
213 |
msgstr "Prøveperiode"
|
214 |
|
215 |
-
#: includes/i18n.php:
|
216 |
msgctxt "as starting a trial plan"
|
217 |
msgid "Start Trial"
|
218 |
-
msgstr ""
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgctxt "verb"
|
222 |
msgid "Purchase"
|
223 |
msgstr "Køb"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Purchase License"
|
227 |
msgstr "Køb licens"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgctxt "verb"
|
231 |
msgid "Buy"
|
232 |
msgstr "Køb"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Buy License"
|
236 |
msgstr "Køb licens"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "Single Site License"
|
240 |
-
msgstr ""
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Unlimited Licenses"
|
244 |
msgstr "Ubegrænsede licenser"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "Up to %s Sites"
|
248 |
msgstr "Op til %s websteder"
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
msgid "%sRenew your license now%s to access version %s features and support."
|
252 |
-
msgstr ""
|
253 |
|
254 |
-
#: includes/i18n.php:
|
255 |
-
msgid ""
|
256 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
257 |
-
" you the license key."
|
258 |
-
msgstr ""
|
259 |
|
260 |
-
#: includes/i18n.php:
|
261 |
msgctxt "e.g. Professional Plan"
|
262 |
msgid "%s Plan"
|
263 |
msgstr "%s Plan"
|
264 |
|
265 |
-
#: includes/i18n.php:
|
266 |
msgid "You are just one step away - %s"
|
267 |
msgstr "Du mangler kun ét skridt - %s"
|
268 |
|
269 |
-
#: includes/i18n.php:
|
270 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
271 |
msgid "Complete \"%s\" Activation Now"
|
272 |
msgstr "Færdiggør aktivering af \"%s\" nu"
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid "We made a few tweaks to the plugin, %s"
|
276 |
-
msgstr ""
|
277 |
|
278 |
-
#: includes/i18n.php:
|
279 |
msgid "Opt-in to make \"%s\" Better!"
|
280 |
-
msgstr ""
|
281 |
|
282 |
-
#: includes/i18n.php:
|
283 |
msgid "Error"
|
284 |
msgstr "Fejl"
|
285 |
|
286 |
-
#: includes/i18n.php:
|
287 |
-
msgid ""
|
288 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
289 |
-
"sdk@freemius.com with the current error."
|
290 |
-
msgstr ""
|
291 |
|
292 |
-
#: includes/i18n.php:
|
293 |
msgctxt "as expiration date"
|
294 |
msgid "Expiration"
|
295 |
-
msgstr ""
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "as software license"
|
299 |
msgid "License"
|
300 |
msgstr "Licens"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "not verified"
|
304 |
msgstr "ikke verificeret"
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgid "Verify Email"
|
308 |
msgstr "Verificer e-mail"
|
309 |
|
310 |
-
#: includes/i18n.php:
|
311 |
msgctxt "e.g. expires in 2 months"
|
312 |
msgid "Expires in %s"
|
313 |
msgstr "Udløber om %s"
|
314 |
|
315 |
-
#: includes/i18n.php:
|
316 |
msgctxt "e.g. auto renews in 2 months"
|
317 |
msgid "Auto renews in %s"
|
318 |
-
msgstr ""
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgid "No expiration"
|
322 |
msgstr "Udløber ikke"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgid "Expired"
|
326 |
msgstr "Udløbet"
|
327 |
|
328 |
-
#: includes/i18n.php:
|
329 |
msgid "Cancelled"
|
330 |
msgstr "Annulleret"
|
331 |
|
332 |
-
#: includes/i18n.php:
|
333 |
msgctxt "e.g. In 2 hours"
|
334 |
msgid "In %s"
|
335 |
msgstr "Om %s"
|
336 |
|
337 |
-
#: includes/i18n.php:
|
338 |
msgctxt "e.g. 2 min ago"
|
339 |
msgid "%s ago"
|
340 |
msgstr "%s siden"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
343 |
msgctxt "as plugin version"
|
344 |
msgid "Version"
|
345 |
msgstr "Version"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Name"
|
349 |
msgstr "Navn"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Email"
|
353 |
msgstr "E-mail"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Email address"
|
357 |
msgstr "E-mailadresse"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Verified"
|
361 |
msgstr "Verificeret"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
msgid "Plugin"
|
365 |
msgstr "Plugin"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Plugins"
|
369 |
msgstr "Plugins"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
372 |
msgid "Themes"
|
373 |
msgstr "Temaer"
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgctxt "as file/folder path"
|
377 |
msgid "Path"
|
378 |
msgstr "Sti"
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Title"
|
382 |
msgstr "Titel"
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Free version"
|
386 |
msgstr "Gratis version"
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgid "Premium version"
|
390 |
-
msgstr ""
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgctxt "as WP plugin slug"
|
394 |
msgid "Slug"
|
395 |
msgstr "Kortnavn"
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "ID"
|
399 |
msgstr "ID"
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Users"
|
403 |
msgstr "Brugere"
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Plugin Installs"
|
407 |
msgstr "Plugin-installationer"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
410 |
msgctxt "like websites"
|
411 |
msgid "Sites"
|
412 |
msgstr "Websteder"
|
413 |
|
414 |
-
#: includes/i18n.php:
|
415 |
msgid "User ID"
|
416 |
msgstr "Bruger-ID"
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgid "Site ID"
|
420 |
msgstr "Websteds-ID"
|
421 |
|
422 |
-
#: includes/i18n.php:
|
423 |
msgid "Public Key"
|
424 |
msgstr "Offentlig nøgle"
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgid "Secret Key"
|
428 |
msgstr "Privat nøgle"
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgctxt "as secret encryption key missing"
|
432 |
msgid "No Secret"
|
433 |
msgstr "Ingen privat nøgle"
|
434 |
|
435 |
-
#: includes/i18n.php:
|
436 |
msgid "No ID"
|
437 |
msgstr "Intet ID"
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgctxt "as synchronize license"
|
441 |
msgid "Sync License"
|
442 |
msgstr "Synkroniser licens"
|
443 |
|
444 |
-
#: includes/i18n.php:
|
445 |
msgctxt "as synchronize"
|
446 |
msgid "Sync"
|
447 |
msgstr "Synkroniser"
|
448 |
|
449 |
-
#: includes/i18n.php:
|
450 |
msgid "Activate License"
|
451 |
msgstr "Aktiver licens"
|
452 |
|
453 |
-
#: includes/i18n.php:
|
454 |
msgid "Activate Free Version"
|
455 |
msgstr "Aktiver gratis version"
|
456 |
|
457 |
-
#: includes/i18n.php:
|
458 |
-
msgid ""
|
459 |
-
"Please enter the license key that you received in the email right after the "
|
460 |
-
"purchase:"
|
461 |
-
msgstr ""
|
462 |
|
463 |
-
#: includes/i18n.php:
|
464 |
msgid "Activating license..."
|
465 |
msgstr "Aktiverer licens..."
|
466 |
|
467 |
-
#: includes/i18n.php:
|
468 |
msgid "Change License"
|
469 |
msgstr "Skift licens"
|
470 |
|
471 |
-
#: includes/i18n.php:
|
472 |
msgid "Update License"
|
473 |
msgstr "Opdater licens"
|
474 |
|
475 |
-
#: includes/i18n.php:
|
476 |
msgid "Deactivate License"
|
477 |
msgstr "Deaktiver licens"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "Activate"
|
481 |
msgstr "Aktiver"
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Deactivate"
|
485 |
msgstr "Deaktiver"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgid "Skip & Deactivate"
|
489 |
msgstr "Spring over & deaktiver"
|
490 |
|
491 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
492 |
msgid "No - just deactivate"
|
493 |
msgstr "Nej - bare deaktiver"
|
494 |
|
495 |
-
#: includes/i18n.php:
|
496 |
msgid "Yes - do your thing"
|
497 |
-
msgstr ""
|
498 |
|
499 |
-
#: includes/i18n.php:
|
500 |
msgctxt "active mode"
|
501 |
msgid "Active"
|
502 |
msgstr "Aktiv"
|
503 |
|
504 |
-
#: includes/i18n.php:
|
505 |
msgctxt "is active mode?"
|
506 |
msgid "Is Active"
|
507 |
msgstr "Er aktiv"
|
508 |
|
509 |
-
#: includes/i18n.php:
|
510 |
msgid "Install Now"
|
511 |
msgstr "Installer nu"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgid "Install Update Now"
|
515 |
msgstr "Installer opdatering nu"
|
516 |
|
517 |
-
#: includes/i18n.php:
|
518 |
msgid "More information about %s"
|
519 |
msgstr "Mere information om %s"
|
520 |
|
521 |
-
#: includes/i18n.php:
|
522 |
msgid "Localhost"
|
523 |
msgstr "Localhost"
|
524 |
|
525 |
-
#: includes/i18n.php:
|
526 |
msgctxt "as activate Professional plan"
|
527 |
msgid "Activate %s Plan"
|
528 |
msgstr "Aktiver plan %s"
|
529 |
|
530 |
-
#: includes/i18n.php:
|
531 |
msgctxt "as 5 licenses left"
|
532 |
msgid "%s left"
|
533 |
msgstr "%s tilbage"
|
534 |
|
535 |
-
#: includes/i18n.php:
|
536 |
msgid "Last license"
|
537 |
-
msgstr ""
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgid "What is your %s?"
|
541 |
-
msgstr ""
|
542 |
|
543 |
-
#: includes/i18n.php:
|
544 |
msgid "Activate this add-on"
|
545 |
msgstr "Aktiver denne tilføjelse"
|
546 |
|
547 |
-
#: includes/i18n.php:
|
548 |
-
msgid ""
|
549 |
-
"Deactivating your license will block all premium features, but will enable "
|
550 |
-
"you to activate the license on another site. Are you sure you want to "
|
551 |
-
"proceed?"
|
552 |
-
msgstr ""
|
553 |
|
554 |
-
#: includes/i18n.php:
|
555 |
-
msgid ""
|
556 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
557 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
558 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
559 |
-
"account. Are you sure you would like to continue with the deletion?"
|
560 |
-
msgstr ""
|
561 |
|
562 |
-
#: includes/i18n.php:
|
563 |
-
msgid ""
|
564 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
565 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
-
msgstr ""
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
-
msgid ""
|
570 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
571 |
-
"and your %s plan license will expire in %s."
|
572 |
-
msgstr ""
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
-
msgid ""
|
576 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
577 |
-
"Are you sure?"
|
578 |
-
msgstr ""
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
-
msgid ""
|
582 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
583 |
-
"updates and support."
|
584 |
-
msgstr ""
|
585 |
|
586 |
-
#: includes/i18n.php:
|
587 |
-
msgid ""
|
588 |
-
"Once your license
|
589 |
-
" have access to the %s features."
|
590 |
-
msgstr ""
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
-
msgstr ""
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "Add Ons for %s"
|
598 |
msgstr "Tilføjelser til %s"
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
-
msgid ""
|
602 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
603 |
-
"please try to come back in few minutes."
|
604 |
-
msgstr ""
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
msgid "Anonymous feedback"
|
608 |
msgstr "Anonym feedback"
|
609 |
|
610 |
-
#: includes/i18n.php:
|
611 |
msgid "Quick feedback"
|
612 |
msgstr "Hurtig feedback"
|
613 |
|
614 |
-
#: includes/i18n.php:
|
615 |
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
-
msgstr ""
|
617 |
|
618 |
-
#: includes/i18n.php:
|
619 |
msgid "Yes - Deactivate"
|
620 |
msgstr "Ja - deaktiver"
|
621 |
|
622 |
-
#: includes/i18n.php:
|
623 |
msgid "Submit & Deactivate"
|
624 |
msgstr "Send & deaktiver"
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "Cancel"
|
628 |
msgstr "Annuller"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "I no longer need the plugin"
|
632 |
-
msgstr ""
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "I found a better plugin"
|
636 |
msgstr "Jeg har fundet et bedre plugin"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "I only needed the plugin for a short period"
|
640 |
-
msgstr ""
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "The plugin broke my site"
|
644 |
msgstr "Pluginnet ødelagde mit websted"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "The plugin suddenly stopped working"
|
648 |
msgstr "Pluginnet virker ikke længere"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "I can't pay for it anymore"
|
652 |
msgstr "Jeg kan ikke længere betale for det"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
-
msgstr ""
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgctxt ""
|
660 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
661 |
-
"in the modal box."
|
662 |
msgid "Other"
|
663 |
msgstr "Andet"
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "Kindly tell us the reason so we can improve."
|
667 |
-
msgstr ""
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "What's the plugin's name?"
|
671 |
-
msgstr ""
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "What price would you feel comfortable paying?"
|
675 |
-
msgstr ""
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "I couldn't understand how to make it work"
|
679 |
-
msgstr ""
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
-
msgid ""
|
683 |
-
"
|
684 |
-
msgstr ""
|
685 |
|
686 |
-
#: includes/i18n.php:
|
687 |
msgid "The plugin is not working"
|
688 |
msgstr "Pluginnet virker ikke"
|
689 |
|
690 |
-
#: includes/i18n.php:
|
691 |
msgid "It's not what I was looking for"
|
692 |
-
msgstr ""
|
693 |
|
694 |
-
#: includes/i18n.php:
|
695 |
msgid "The plugin didn't work as expected"
|
696 |
-
msgstr ""
|
697 |
|
698 |
-
#: includes/i18n.php:
|
699 |
msgid "What feature?"
|
700 |
-
msgstr ""
|
701 |
|
702 |
-
#: includes/i18n.php:
|
703 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
704 |
-
msgstr ""
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "What you've been looking for?"
|
708 |
-
msgstr ""
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgid "What did you expect?"
|
712 |
msgstr "Hvad forventede du?"
|
713 |
|
714 |
-
#: includes/i18n.php:
|
715 |
msgid "The plugin didn't work"
|
716 |
msgstr "Pluginnet virkede ikke"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgid "I don't like to share my information with you"
|
720 |
-
msgstr ""
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
-
msgid ""
|
724 |
-
"You might have missed it, but you don't have to share any data and can just "
|
725 |
-
"%s the opt-in."
|
726 |
-
msgstr ""
|
727 |
|
728 |
-
#: includes/i18n.php:
|
729 |
msgctxt "greeting"
|
730 |
msgid "Hey %s,"
|
731 |
msgstr "Hey %s,"
|
732 |
|
733 |
-
#: includes/i18n.php:
|
734 |
msgctxt "a greeting. E.g. Thanks John!"
|
735 |
msgid "Thanks %s!"
|
736 |
msgstr "Tak %s!"
|
737 |
|
738 |
-
#: includes/i18n.php:
|
739 |
-
msgid ""
|
740 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
741 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
742 |
-
msgstr ""
|
743 |
|
744 |
-
#: includes/i18n.php:
|
745 |
-
msgid ""
|
746 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
747 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
748 |
-
"work just fine."
|
749 |
-
msgstr ""
|
750 |
|
751 |
-
#: includes/i18n.php:
|
752 |
-
msgid ""
|
753 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
754 |
-
"make sure you click the activation button in that email to %s."
|
755 |
-
msgstr ""
|
756 |
|
757 |
-
#: includes/i18n.php:
|
758 |
msgid "complete the install"
|
759 |
-
msgstr ""
|
760 |
|
761 |
-
#: includes/i18n.php:
|
762 |
msgid "start the trial"
|
763 |
-
msgstr ""
|
764 |
|
765 |
-
#: includes/i18n.php:
|
766 |
-
msgid ""
|
767 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
768 |
-
msgstr ""
|
769 |
|
770 |
-
#: includes/i18n.php:
|
771 |
-
msgid ""
|
772 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
773 |
-
"updates and verify the validity of your license."
|
774 |
-
msgstr ""
|
775 |
|
776 |
-
#: includes/i18n.php:
|
777 |
msgid "What permissions are being granted?"
|
778 |
msgstr "Hvilke tilladelser bliver givet?"
|
779 |
|
780 |
-
#: includes/i18n.php:
|
781 |
msgid "Your Profile Overview"
|
782 |
msgstr "Overblik af din profil"
|
783 |
|
784 |
-
#: includes/i18n.php:
|
785 |
msgid "Name and email address"
|
786 |
msgstr "Navn og e-mailadresse"
|
787 |
|
788 |
-
#: includes/i18n.php:
|
789 |
msgid "Your Site Overview"
|
790 |
msgstr "Overblik af dit websted"
|
791 |
|
792 |
-
#: includes/i18n.php:
|
793 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
794 |
-
msgstr ""
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "Current Plugin Events"
|
798 |
msgstr "Nuværende plugin-begivenheder"
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Activation, deactivation and uninstall"
|
802 |
msgstr "Aktivering, deaktivering og afinstallering"
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Plugins & Themes"
|
806 |
msgstr "Plugins & Temaer"
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Titles, versions and state."
|
810 |
msgstr "Titler, versioner og tilstand."
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Admin Notices"
|
814 |
-
msgstr ""
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Newsletter"
|
818 |
msgstr "Nyhedsbrev"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Updates, announcements, marketing, no spam"
|
822 |
-
msgstr ""
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgid "Privacy Policy"
|
826 |
msgstr "Privatlivspolitik"
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Terms of Service"
|
830 |
msgstr "Servicevilkår"
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgctxt "as activating plugin"
|
834 |
msgid "Activating"
|
835 |
msgstr "Aktiverer"
|
836 |
|
837 |
-
#: includes/i18n.php:
|
838 |
msgctxt "as in the process of sending an email"
|
839 |
msgid "Sending email"
|
840 |
msgstr "Sender e-mail"
|
841 |
|
842 |
-
#: includes/i18n.php:
|
843 |
msgctxt "button label"
|
844 |
msgid "Allow & Continue"
|
845 |
msgstr "Tillad & Fortsæt"
|
846 |
|
847 |
-
#: includes/i18n.php:
|
848 |
msgctxt "button label"
|
849 |
msgid "Agree & Activate License"
|
850 |
msgstr "Accepter & aktiver licens"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "verb"
|
854 |
msgid "Skip"
|
855 |
msgstr "Spring over"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgid "Click here to use the plugin anonymously"
|
859 |
msgstr "Klik her for at benytte pluginnet anonymt"
|
860 |
|
861 |
-
#: includes/i18n.php:
|
862 |
msgid "Re-send activation email"
|
863 |
msgstr "Gensend e-mail om aktivering"
|
864 |
|
865 |
-
#: includes/i18n.php:
|
866 |
msgid "License key"
|
867 |
msgstr "Licensnøgle"
|
868 |
|
869 |
-
#: includes/i18n.php:
|
870 |
msgid "Send License Key"
|
871 |
msgstr "Send licensnøgle"
|
872 |
|
873 |
-
#: includes/i18n.php:
|
874 |
msgid "Sending license key"
|
875 |
msgstr "Sender licensnøgle"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "Have a license key?"
|
879 |
msgstr "Har du en licensnøgle?"
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Don't have a license key?"
|
883 |
msgstr "Har du ikke en licensnøgle?"
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "Can't find your license key?"
|
887 |
msgstr "Kan du ikke finde din licensnøgle?"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
-
msgid ""
|
891 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
892 |
-
"right address?"
|
893 |
-
msgstr ""
|
894 |
|
895 |
-
#: includes/i18n.php:
|
896 |
-
msgid ""
|
897 |
-
"We can't see any active licenses associated with that email address, are you"
|
898 |
-
" sure it's the right address?"
|
899 |
-
msgstr ""
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Opt In"
|
903 |
-
msgstr ""
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Opt Out"
|
907 |
-
msgstr ""
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
msgid "On second thought - I want to continue helping"
|
911 |
-
msgstr ""
|
912 |
|
913 |
-
#: includes/i18n.php:
|
914 |
msgid "Opting out..."
|
915 |
-
msgstr ""
|
916 |
|
917 |
-
#: includes/i18n.php:
|
918 |
msgid "Opting in..."
|
919 |
-
msgstr ""
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
-
msgid ""
|
923 |
-
"We appreciate your help in making the %s better by letting us track some "
|
924 |
-
"usage data."
|
925 |
-
msgstr ""
|
926 |
|
927 |
-
#: includes/i18n.php:
|
928 |
-
msgid ""
|
929 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
930 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
931 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
932 |
-
msgstr ""
|
933 |
|
934 |
-
#: includes/i18n.php:
|
935 |
-
msgid ""
|
936 |
-
"
|
937 |
-
"%s."
|
938 |
-
msgstr ""
|
939 |
|
940 |
-
#: includes/i18n.php:
|
941 |
msgid "Screenshots"
|
942 |
msgstr "Skærmbilleder"
|
943 |
|
944 |
-
#: includes/i18n.php:
|
945 |
msgid "Click to view full-size screenshot %d"
|
946 |
-
msgstr ""
|
947 |
|
948 |
-
#: includes/i18n.php:
|
949 |
msgid "Freemius Debug"
|
950 |
msgstr "Freemius Debug"
|
951 |
|
952 |
-
#: includes/i18n.php:
|
953 |
msgctxt "as turned on"
|
954 |
msgid "On"
|
955 |
msgstr "Til"
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgctxt "as turned off"
|
959 |
msgid "Off"
|
960 |
msgstr "Fra"
|
961 |
|
962 |
-
#: includes/i18n.php:
|
963 |
msgctxt "as code debugging"
|
964 |
msgid "Debugging"
|
965 |
msgstr "Fejlfinding"
|
966 |
|
967 |
-
#: includes/i18n.php:
|
968 |
msgid "Freemius State"
|
969 |
msgstr "Freemius tilstand"
|
970 |
|
971 |
-
#: includes/i18n.php:
|
972 |
msgctxt "as connection was successful"
|
973 |
msgid "Connected"
|
974 |
msgstr "Forbundet"
|
975 |
|
976 |
-
#: includes/i18n.php:
|
977 |
msgctxt "as connection blocked"
|
978 |
msgid "Blocked"
|
979 |
msgstr "Blokeret"
|
980 |
|
981 |
-
#: includes/i18n.php:
|
982 |
msgctxt "as application program interface"
|
983 |
msgid "API"
|
984 |
msgstr "API"
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgctxt "as software development kit versions"
|
988 |
msgid "SDK"
|
989 |
msgstr "SDK"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "as software development kit versions"
|
993 |
msgid "SDK Versions"
|
994 |
msgstr "SDK-versioner"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt "as plugin folder path"
|
998 |
msgid "Plugin Path"
|
999 |
msgstr "Plugin-sti"
|
1000 |
|
1001 |
-
#: includes/i18n.php:
|
1002 |
msgctxt "as sdk path"
|
1003 |
msgid "SDK Path"
|
1004 |
msgstr "SDK-sti"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Add Ons of Plugin %s"
|
1008 |
msgstr "Tilføjelser til plugin %s"
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "Are you sure you want to delete all Freemius data?"
|
1012 |
-
msgstr ""
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Actions"
|
1016 |
msgstr "Handlinger"
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "Delete All Accounts"
|
1020 |
msgstr "Slet alle konti"
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "Start Fresh"
|
1024 |
msgstr "Start forfra"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Clear API Cache"
|
1028 |
msgstr "Ryd API-cache"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Sync Data From Server"
|
1032 |
msgstr "Synkroniser data fra server"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Scheduled Crons"
|
1036 |
msgstr "Planlagte cron jobs"
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1039 |
msgid "Plugins & Themes Sync"
|
1040 |
msgstr "Synkronisering af plugins og temaer"
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1043 |
msgctxt "as congratulations"
|
1044 |
msgid "Congrats"
|
1045 |
msgstr "Tillykke"
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgctxt "exclamation"
|
1049 |
msgid "Oops"
|
1050 |
msgstr "Ups"
|
1051 |
|
1052 |
-
#: includes/i18n.php:
|
1053 |
msgctxt "interjection expressing joy or exuberance"
|
1054 |
msgid "Yee-haw"
|
1055 |
-
msgstr ""
|
1056 |
|
1057 |
-
#: includes/i18n.php:
|
1058 |
msgctxt ""
|
1059 |
-
"(especially in electronic communication) used to express elation, "
|
1060 |
-
"enthusiasm, or triumph."
|
1061 |
msgid "W00t"
|
1062 |
-
msgstr ""
|
1063 |
|
1064 |
-
#: includes/i18n.php:
|
1065 |
msgctxt "a positive response"
|
1066 |
msgid "Right on"
|
1067 |
msgstr "Sådan"
|
1068 |
|
1069 |
-
#: includes/i18n.php:
|
1070 |
msgctxt ""
|
1071 |
-
"something somebody says when they are thinking about what you have just "
|
1072 |
-
"said. "
|
1073 |
msgid "Hmm"
|
1074 |
msgstr "Hmm"
|
1075 |
|
1076 |
-
#: includes/i18n.php:
|
1077 |
msgid "O.K"
|
1078 |
msgstr "O.K"
|
1079 |
|
1080 |
-
#: includes/i18n.php:
|
1081 |
msgctxt "exclamation"
|
1082 |
msgid "Hey"
|
1083 |
msgstr "Hey"
|
1084 |
|
1085 |
-
#: includes/i18n.php:
|
1086 |
msgctxt "advance notice of something that will need attention."
|
1087 |
msgid "Heads up"
|
1088 |
msgstr "Se her"
|
1089 |
|
1090 |
-
#: includes/i18n.php:
|
1091 |
msgid "Seems like you got the latest release."
|
1092 |
-
msgstr ""
|
1093 |
|
1094 |
-
#: includes/i18n.php:
|
1095 |
msgid "You are all good!"
|
1096 |
msgstr "Det var det!"
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
-
msgid ""
|
1100 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1101 |
-
"email is already registered."
|
1102 |
-
msgstr ""
|
1103 |
|
1104 |
-
#: includes/i18n.php:
|
1105 |
-
msgid ""
|
1106 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1107 |
-
"click the Change Ownership button."
|
1108 |
-
msgstr ""
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
-
msgid ""
|
1112 |
-
"Your email was successfully updated. You should receive an email with "
|
1113 |
-
"confirmation instructions in few moments."
|
1114 |
-
msgstr ""
|
1115 |
|
1116 |
-
#: includes/i18n.php:
|
1117 |
msgid "Your name was successfully updated."
|
1118 |
msgstr "Dit navn er blevet opdateret."
|
1119 |
|
1120 |
-
#: includes/i18n.php:
|
1121 |
msgid "You have successfully updated your %s."
|
1122 |
msgstr "Opdatering af %s blev gennemført."
|
1123 |
|
1124 |
-
#: includes/i18n.php:
|
1125 |
msgid "Please provide your full name."
|
1126 |
msgstr "Indtast venligst dit fulde navn."
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
-
msgid ""
|
1130 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1131 |
-
"please check your spam box."
|
1132 |
-
msgstr ""
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
-
msgid ""
|
1136 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1137 |
-
"from an external server."
|
1138 |
-
msgstr ""
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgid "No credit card required"
|
1142 |
msgstr "Betalingskort ikke påkrævet"
|
1143 |
|
1144 |
-
#: includes/i18n.php:
|
1145 |
msgid "Premium plugin version was successfully activated."
|
1146 |
-
msgstr ""
|
1147 |
|
1148 |
-
#: includes/i18n.php:
|
1149 |
msgid "The upgrade of %s was successfully completed."
|
1150 |
-
msgstr ""
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid "Your account was successfully activated with the %s plan."
|
1154 |
-
msgstr ""
|
1155 |
|
1156 |
-
#: includes/i18n.php:
|
1157 |
msgid "Download the latest %s version now"
|
1158 |
msgstr "Download den seneste version af %s nu"
|
1159 |
|
1160 |
-
#: includes/i18n.php:
|
1161 |
msgid "Please follow these steps to complete the upgrade"
|
1162 |
-
msgstr ""
|
1163 |
|
1164 |
-
#: includes/i18n.php:
|
1165 |
msgid "Download the latest %s version"
|
1166 |
msgstr "Download den seneste version af %s"
|
1167 |
|
1168 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1169 |
msgid "Deactivate the free version"
|
1170 |
msgstr "Deaktiver den gratis version"
|
1171 |
|
1172 |
-
#: includes/i18n.php:
|
1173 |
msgid "Upload and activate the downloaded version"
|
1174 |
msgstr "Upload og aktiver den downloadede version"
|
1175 |
|
1176 |
-
#: includes/i18n.php:
|
1177 |
msgid "How to upload and activate?"
|
1178 |
msgstr "Upload og aktivering, hvordan?"
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1182 |
msgid "%s Add-on was successfully purchased."
|
1183 |
msgstr "Betalingen for tilføjelsen %s blev gennemført."
|
1184 |
|
1185 |
-
#: includes/i18n.php:
|
1186 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1187 |
-
msgstr ""
|
1188 |
|
1189 |
-
#: includes/i18n.php:
|
1190 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1191 |
-
msgstr ""
|
1192 |
|
1193 |
-
#: includes/i18n.php:
|
1194 |
msgid "Your plan was successfully upgraded."
|
1195 |
msgstr "Din plan er blevet opgraderet."
|
1196 |
|
1197 |
-
#: includes/i18n.php:
|
1198 |
msgid "Your plan was successfully changed to %s."
|
1199 |
msgstr "Din plan er blevet ændret til %s."
|
1200 |
|
1201 |
-
#: includes/i18n.php:
|
1202 |
-
msgid ""
|
1203 |
-
"
|
1204 |
-
"forever."
|
1205 |
-
msgstr ""
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
-
msgid ""
|
1209 |
-
"
|
1210 |
-
" support."
|
1211 |
-
msgstr ""
|
1212 |
|
1213 |
-
#: includes/i18n.php:
|
1214 |
msgid "Your trial has been successfully started."
|
1215 |
msgstr "Din prøveperiode er begyndt."
|
1216 |
|
1217 |
-
#: includes/i18n.php:
|
1218 |
msgid "Your license was successfully activated."
|
1219 |
msgstr "Din licens er blevet aktiveret."
|
1220 |
|
1221 |
-
#: includes/i18n.php:
|
1222 |
msgid "It looks like your site currently doesn't have an active license."
|
1223 |
msgstr "Det ser ud til, at dit websted endnu ikke har en aktiv licens."
|
1224 |
|
1225 |
-
#: includes/i18n.php:
|
1226 |
-
msgid ""
|
1227 |
-
"
|
1228 |
-
msgstr ""
|
1229 |
|
1230 |
-
#: includes/i18n.php:
|
1231 |
msgid "It looks like the license deactivation failed."
|
1232 |
msgstr "Det ser ud til, at licens-deaktiveringen mislykkedes."
|
1233 |
|
1234 |
-
#: includes/i18n.php:
|
1235 |
msgid "It looks like the license could not be activated."
|
1236 |
msgstr "Det ser ud til, at licensen ikke kunne aktiveres."
|
1237 |
|
1238 |
-
#: includes/i18n.php:
|
1239 |
msgid "Error received from the server:"
|
1240 |
msgstr "Fejl modtager fra serveren:"
|
1241 |
|
1242 |
-
#: includes/i18n.php:
|
1243 |
-
msgid ""
|
1244 |
-
"Your trial has expired. You can still continue using all our free features."
|
1245 |
msgstr "Din prøveperiode er udløbet. Du kan fortsat bruge alle vores gratis funktioner."
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
-
msgid ""
|
1249 |
-
"
|
1250 |
-
"%s."
|
1251 |
-
msgstr ""
|
1252 |
|
1253 |
-
#: includes/i18n.php:
|
1254 |
-
msgid ""
|
1255 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1256 |
-
"Please try again in few minutes."
|
1257 |
-
msgstr ""
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
-
msgid ""
|
1261 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1262 |
-
" :)"
|
1263 |
-
msgstr ""
|
1264 |
|
1265 |
-
#: includes/i18n.php:
|
1266 |
msgid "Your %s free trial was successfully cancelled."
|
1267 |
-
msgstr ""
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgctxt "%s - numeric version number"
|
1271 |
msgid "Version %s was released."
|
1272 |
msgstr "Version %s er blevet udgivet."
|
1273 |
|
1274 |
-
#: includes/i18n.php:
|
1275 |
msgid "Please download %s."
|
1276 |
msgstr "Download venligst %s."
|
1277 |
|
1278 |
-
#: includes/i18n.php:
|
1279 |
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
msgid "the latest %s version here"
|
1281 |
msgstr "den seneste version af %s her"
|
1282 |
|
1283 |
-
#: includes/i18n.php:
|
1284 |
-
msgid ""
|
1285 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1286 |
-
"free trial."
|
1287 |
-
msgstr ""
|
1288 |
|
1289 |
-
#: includes/i18n.php:
|
1290 |
msgctxt "call to action"
|
1291 |
msgid "Start free trial"
|
1292 |
msgstr "Start gratis prøveperiode"
|
1293 |
|
1294 |
-
#: includes/i18n.php:
|
1295 |
msgid "Starting trial"
|
1296 |
-
msgstr ""
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid "Please wait"
|
1300 |
-
msgstr ""
|
1301 |
|
1302 |
-
#: includes/i18n.php:
|
1303 |
-
msgid ""
|
1304 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1305 |
-
"Please try again in few minutes."
|
1306 |
-
msgstr ""
|
1307 |
|
1308 |
-
#: includes/i18n.php:
|
1309 |
msgid "You already utilized a trial before."
|
1310 |
msgstr "Du har allerede brugt din prøveperiode."
|
1311 |
|
1312 |
-
#: includes/i18n.php:
|
1313 |
msgid "You are already running the plugin in a trial mode."
|
1314 |
-
msgstr ""
|
1315 |
|
1316 |
-
#: includes/i18n.php:
|
1317 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
-
msgstr ""
|
1319 |
|
1320 |
-
#: includes/i18n.php:
|
1321 |
msgid "Plan %s does not support a trial period."
|
1322 |
msgstr "Plan %s understøtter ikke en prøveperiode."
|
1323 |
|
1324 |
-
#: includes/i18n.php:
|
1325 |
msgid "None of the plugin's plans supports a trial period."
|
1326 |
-
msgstr ""
|
1327 |
|
1328 |
-
#: includes/i18n.php:
|
1329 |
-
msgid ""
|
1330 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1331 |
-
"error."
|
1332 |
-
msgstr ""
|
1333 |
|
1334 |
-
#: includes/i18n.php:
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
msgstr "Ingen bindinger i %s dage - annuller når som helst!"
|
1337 |
|
1338 |
-
#: includes/i18n.php:
|
1339 |
-
msgid ""
|
1340 |
-
"
|
1341 |
-
"but you'll need to renew your license to continue getting updates and "
|
1342 |
-
"support."
|
1343 |
-
msgstr ""
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid "Couldn't activate %s."
|
1347 |
msgstr "Kunne ikke aktivere %s."
|
1348 |
|
1349 |
-
#: includes/i18n.php:
|
1350 |
msgid "Please contact us with the following message:"
|
1351 |
msgstr "Kontakt os venligst med følgende besked:"
|
1352 |
|
1353 |
-
#: includes/i18n.php:
|
1354 |
-
msgid ""
|
1355 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1356 |
-
"your plan, it's probably an issue on our side - sorry."
|
1357 |
-
msgstr ""
|
1358 |
|
1359 |
-
#: includes/i18n.php:
|
1360 |
msgid "Please contact us here"
|
1361 |
msgstr "Kontakt os her"
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
-
msgid ""
|
1365 |
-
"I have upgraded my account but when I try to Sync the License, the plan "
|
1366 |
-
"remains %s."
|
1367 |
-
msgstr ""
|
1368 |
|
1369 |
-
#: includes/i18n.php:
|
1370 |
msgid "From unknown reason, the API connectivity test failed."
|
1371 |
-
msgstr ""
|
1372 |
|
1373 |
-
#: includes/i18n.php:
|
1374 |
-
msgid ""
|
1375 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1376 |
-
"permission, would it be o.k to run another connectivity test?"
|
1377 |
-
msgstr ""
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
-
msgid ""
|
1381 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1382 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1383 |
-
"on your server."
|
1384 |
-
msgstr ""
|
1385 |
|
1386 |
-
#: includes/i18n.php:
|
1387 |
-
msgid ""
|
1388 |
-
"
|
1389 |
-
msgstr ""
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1392 |
msgctxt "as pluginX requires an access to our API"
|
1393 |
msgid "%s requires an access to our API."
|
1394 |
-
msgstr ""
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
-
msgid ""
|
1398 |
-
"
|
1399 |
-
"blocks the connection."
|
1400 |
-
msgstr ""
|
1401 |
|
1402 |
-
#: includes/i18n.php:
|
1403 |
msgid "I don't know what is Squid or ACL, help me!"
|
1404 |
-
msgstr ""
|
1405 |
|
1406 |
-
#: includes/i18n.
|
1407 |
-
msgid ""
|
1408 |
-
"
|
1409 |
-
"will get a follow-up email to %s once we have an update."
|
1410 |
-
msgstr ""
|
1411 |
|
1412 |
-
#: includes/i18n.php:
|
1413 |
msgid "I'm a system administrator"
|
1414 |
msgstr "Jeg er en system-administrator"
|
1415 |
|
1416 |
-
#: includes/i18n.php:
|
1417 |
-
msgid ""
|
1418 |
-
"
|
1419 |
-
" the plugin and activate it again."
|
1420 |
-
msgstr ""
|
1421 |
|
1422 |
-
#: includes/i18n.php:
|
1423 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1424 |
-
msgstr ""
|
1425 |
|
1426 |
-
#: includes/i18n.php:
|
1427 |
-
msgid ""
|
1428 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1429 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1430 |
-
"the plugin and reactivate it back again."
|
1431 |
-
msgstr ""
|
1432 |
|
1433 |
-
#: includes/i18n.php:
|
1434 |
-
msgid ""
|
1435 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1436 |
-
"you ASAP if you give us a chance."
|
1437 |
-
msgstr ""
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
-
msgid ""
|
1441 |
-
"
|
1442 |
-
msgstr ""
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgid "Yes - I'm giving you a chance to fix it"
|
1446 |
msgstr "Ja - jeg giver jer en chance for at rette det"
|
1447 |
|
1448 |
-
#: includes/i18n.php:
|
1449 |
-
msgid ""
|
1450 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1451 |
-
"You will get a follow-up email to %s once we have an update."
|
1452 |
-
msgstr ""
|
1453 |
|
1454 |
-
#: includes/i18n.php:
|
1455 |
msgid "Let's try your previous version"
|
1456 |
msgstr "Lad os prøve din forrige version"
|
1457 |
|
1458 |
-
#: includes/i18n.php:
|
1459 |
msgid "Uninstall this version and install the previous one."
|
1460 |
msgstr "Afinstaller denne version og installer den forrige."
|
1461 |
|
1462 |
-
#: includes/i18n.php:
|
1463 |
msgid "That's exhausting, please deactivate"
|
1464 |
-
msgstr ""
|
1465 |
|
1466 |
-
#: includes/i18n.php:
|
1467 |
-
msgid ""
|
1468 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1469 |
-
" to see you again in the future."
|
1470 |
-
msgstr ""
|
1471 |
|
1472 |
-
#: includes/i18n.php:
|
1473 |
-
msgid ""
|
1474 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1475 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1476 |
-
" Appreciate your patience."
|
1477 |
-
msgstr ""
|
1478 |
|
1479 |
-
#: includes/i18n.php:
|
1480 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1481 |
-
msgid ""
|
1482 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1483 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1484 |
-
msgstr ""
|
1485 |
|
1486 |
-
#: includes/i18n.php:
|
1487 |
-
msgid ""
|
1488 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1489 |
-
"Public Key, Secret Key & User ID, and try again."
|
1490 |
-
msgstr ""
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
-
msgid ""
|
1494 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1495 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1496 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1497 |
-
"folder."
|
1498 |
-
msgstr ""
|
1499 |
|
1500 |
-
#: includes/i18n.php:
|
1501 |
-
msgid ""
|
1502 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1503 |
-
" final approval."
|
1504 |
-
msgstr ""
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
msgid "%s is the new owner of the account."
|
1508 |
msgstr "%s er den nye ejer af kontoen."
|
1509 |
|
1510 |
-
#: includes/i18n.php:
|
1511 |
msgctxt "addonX cannot run without pluginY"
|
1512 |
msgid "%s cannot run without %s."
|
1513 |
msgstr "%s virker ikke uden %s."
|
1514 |
|
1515 |
-
#: includes/i18n.php:
|
1516 |
msgctxt "addonX cannot run..."
|
1517 |
msgid "%s cannot run without the plugin."
|
1518 |
msgstr "%s virker ikke uden pluginnet."
|
1519 |
|
1520 |
-
#: includes/i18n.php:
|
1521 |
msgctxt "pluginX activation was successfully..."
|
1522 |
msgid "%s activation was successfully completed."
|
1523 |
msgstr "Aktivering af %s blev gennemført."
|
1524 |
|
1525 |
-
#: includes/i18n.php:
|
1526 |
msgctxt "Plugin installer section title"
|
1527 |
msgid "Features & Pricing"
|
1528 |
msgstr "Funktioner og priser"
|
1529 |
|
1530 |
-
#: includes/i18n.php:
|
1531 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1532 |
-
msgstr ""
|
1533 |
|
1534 |
-
#: includes/i18n.php:
|
1535 |
msgid "Paid add-on must be deployed to Freemius."
|
1536 |
-
msgstr ""
|
1537 |
|
1538 |
-
#: includes/i18n.php:
|
1539 |
-
msgid ""
|
1540 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1541 |
-
"activating the plugin."
|
1542 |
-
msgstr ""
|
1543 |
|
1544 |
-
#: includes/i18n.php:
|
1545 |
-
msgid ""
|
1546 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1547 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1548 |
-
"you'll have to purchase a license."
|
1549 |
-
msgstr ""
|
1550 |
|
1551 |
-
#: includes/i18n.php:
|
1552 |
msgctxt "as every month"
|
1553 |
msgid "Monthly"
|
1554 |
msgstr "Månedligt"
|
1555 |
|
1556 |
-
#: includes/i18n.php:
|
1557 |
msgctxt "as monthly period"
|
1558 |
msgid "mo"
|
1559 |
msgstr "md"
|
1560 |
|
1561 |
-
#: includes/i18n.php:
|
1562 |
msgctxt "as once a year"
|
1563 |
msgid "Annual"
|
1564 |
msgstr "Årligt"
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
msgctxt "as once a year"
|
1568 |
msgid "Annually"
|
1569 |
msgstr "Årligt"
|
1570 |
|
1571 |
-
#: includes/i18n.php:
|
1572 |
msgctxt "as once a year"
|
1573 |
msgid "Once"
|
1574 |
msgstr "Engangsbeløb"
|
1575 |
|
1576 |
-
#: includes/i18n.php:
|
1577 |
msgctxt "as annual period"
|
1578 |
msgid "year"
|
1579 |
msgstr "år"
|
1580 |
|
1581 |
-
#: includes/i18n.php:
|
1582 |
msgid "Lifetime"
|
1583 |
-
msgstr ""
|
1584 |
|
1585 |
-
#: includes/i18n.php:
|
1586 |
msgctxt "e.g. the best product"
|
1587 |
msgid "Best"
|
1588 |
msgstr "Bedste"
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgctxt "e.g. billed monthly"
|
1592 |
msgid "Billed %s"
|
1593 |
-
msgstr ""
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgctxt "as a discount of $5 or 10%"
|
1597 |
msgid "Save %s"
|
1598 |
msgstr "Spar %s"
|
1599 |
|
1600 |
-
#: includes/i18n.php:
|
1601 |
msgid "View details"
|
1602 |
msgstr "Vis detaljer"
|
1603 |
|
1604 |
-
#: includes/i18n.php:
|
1605 |
msgctxt "button label"
|
1606 |
msgid "Approve & Start Trial"
|
1607 |
-
msgstr ""
|
1608 |
|
1609 |
-
#: includes/i18n.php:
|
1610 |
-
msgid ""
|
1611 |
-
"
|
1612 |
-
"plan."
|
1613 |
-
msgstr ""
|
1614 |
|
1615 |
-
#: includes/i18n.php:
|
1616 |
-
msgid ""
|
1617 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1618 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1619 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1620 |
-
"updates and to validate your trial."
|
1621 |
-
msgstr ""
|
1622 |
|
1623 |
-
#: includes/i18n.php:
|
1624 |
msgid "Business name"
|
1625 |
-
msgstr ""
|
1626 |
|
1627 |
-
#: includes/i18n.php:
|
1628 |
msgid "Tax / VAT ID"
|
1629 |
-
msgstr ""
|
1630 |
|
1631 |
-
#: includes/i18n.php:
|
1632 |
msgid "Address Line %d"
|
1633 |
-
msgstr ""
|
1634 |
|
1635 |
-
#: includes/i18n.php:
|
1636 |
msgid "Country"
|
1637 |
-
msgstr ""
|
1638 |
|
1639 |
-
#: includes/i18n.php:
|
1640 |
msgid "Select Country"
|
1641 |
-
msgstr ""
|
1642 |
|
1643 |
-
#: includes/i18n.php:
|
1644 |
msgid "City"
|
1645 |
-
msgstr ""
|
1646 |
|
1647 |
-
#: includes/i18n.php:
|
1648 |
msgid "Town"
|
1649 |
-
msgstr ""
|
1650 |
|
1651 |
-
#: includes/i18n.php:
|
1652 |
msgid "State"
|
1653 |
-
msgstr ""
|
1654 |
|
1655 |
-
#: includes/i18n.php:
|
1656 |
msgid "Province"
|
1657 |
-
msgstr ""
|
1658 |
|
1659 |
-
#: includes/i18n.php:
|
1660 |
msgid "ZIP / Postal Code"
|
1661 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
+
# Joachim Jensen <jv@intox.dk>, 2016-2017
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
+
"POT-Creation-Date: \n"
|
10 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
11 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
12 |
+
"Language: da_DK\n"
|
13 |
"Language-Team: Danish (Denmark) (http://www.transifex.com/freemius/wordpress-sdk/language/da_DK/)\n"
|
|
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"MIME-Version: 1.0\n"
|
18 |
"X-Poedit-Basepath: ..\n"
|
19 |
+
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
"X-Poedit-SourceCharset: UTF-8\n"
|
23 |
|
24 |
+
#: includes/i18n.php:37
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
msgid "Account"
|
26 |
msgstr "Konto"
|
27 |
|
28 |
+
#: includes/i18n.php:38
|
29 |
msgid "Add On"
|
30 |
msgstr "Tilføjelse"
|
31 |
|
32 |
+
#: includes/i18n.php:39
|
33 |
msgid "Contact Us"
|
34 |
msgstr "Kontakt os"
|
35 |
|
36 |
+
#: includes/i18n.php:40
|
37 |
msgid "Contact Support"
|
38 |
msgstr "Kontakt support"
|
39 |
|
40 |
+
#: includes/i18n.php:41
|
41 |
msgid "Change Ownership"
|
42 |
msgstr "Skift ejerskab"
|
43 |
|
44 |
+
#: includes/i18n.php:42
|
45 |
msgid "Support"
|
46 |
msgstr "Support"
|
47 |
|
48 |
+
#: includes/i18n.php:43
|
49 |
msgid "Support Forum"
|
50 |
msgstr "Supportforum"
|
51 |
|
52 |
+
#: includes/i18n.php:44
|
53 |
msgid "Add Ons"
|
54 |
msgstr "Tilføjelser"
|
55 |
|
56 |
+
#: includes/i18n.php:45
|
57 |
msgctxt "verb"
|
58 |
msgid "Upgrade"
|
59 |
msgstr "Opgrader"
|
60 |
|
61 |
+
#: includes/i18n.php:46
|
62 |
msgid "Awesome"
|
63 |
msgstr "Sejt"
|
64 |
|
65 |
+
#: includes/i18n.php:47
|
66 |
msgctxt "noun"
|
67 |
msgid "Pricing"
|
68 |
msgstr "Priser"
|
69 |
|
70 |
+
#: includes/i18n.php:48
|
71 |
msgctxt "noun"
|
72 |
msgid "Price"
|
73 |
msgstr "Pris"
|
74 |
|
75 |
+
#: includes/i18n.php:49
|
76 |
msgid "Unlimited Updates"
|
77 |
msgstr "Ubegrænsede opdateringer"
|
78 |
|
79 |
+
#: includes/i18n.php:50
|
80 |
msgctxt "verb"
|
81 |
msgid "Downgrade"
|
82 |
msgstr "Nedgrader"
|
83 |
|
84 |
+
#: includes/i18n.php:51
|
85 |
+
msgctxt "verb"
|
86 |
+
msgid "Cancel Subscription"
|
87 |
+
msgstr "Cancel Subscription"
|
88 |
+
|
89 |
+
#: includes/i18n.php:52
|
90 |
msgid "Cancel Trial"
|
91 |
msgstr "Annuller prøveperiode"
|
92 |
|
93 |
+
#: includes/i18n.php:53
|
94 |
msgid "Free Trial"
|
95 |
msgstr "Gratis prøveperiode"
|
96 |
|
97 |
+
#: includes/i18n.php:54
|
98 |
msgid "Start my free %s"
|
99 |
msgstr "Start min gratis %s"
|
100 |
|
101 |
+
#: includes/i18n.php:55
|
102 |
msgid "No commitment for %s - cancel anytime"
|
103 |
msgstr "Ingen bindinger ved %s - annuller når som helst"
|
104 |
|
105 |
+
#: includes/i18n.php:56
|
106 |
msgid "After your free %s, pay as little as %s"
|
107 |
msgstr "Efter din gratis %s er prisen kun %s"
|
108 |
|
109 |
+
#: includes/i18n.php:57
|
110 |
msgid "Details"
|
111 |
msgstr "Detaljer"
|
112 |
|
113 |
+
#: includes/i18n.php:58
|
114 |
msgid "Account Details"
|
115 |
msgstr "Kontodetaljer"
|
116 |
|
117 |
+
#: includes/i18n.php:59
|
118 |
msgctxt "verb"
|
119 |
msgid "Delete"
|
120 |
msgstr "Slet"
|
121 |
|
122 |
+
#: includes/i18n.php:60
|
123 |
msgctxt "verb"
|
124 |
msgid "Show"
|
125 |
msgstr "Vis"
|
126 |
|
127 |
+
#: includes/i18n.php:61
|
128 |
msgctxt "verb"
|
129 |
msgid "Hide"
|
130 |
msgstr "Skjul"
|
131 |
|
132 |
+
#: includes/i18n.php:62
|
133 |
msgctxt "verb"
|
134 |
msgid "Edit"
|
135 |
msgstr "Rediger"
|
136 |
|
137 |
+
#: includes/i18n.php:63
|
138 |
msgctxt "verb"
|
139 |
msgid "Update"
|
140 |
+
msgstr "Opdater"
|
141 |
|
142 |
+
#: includes/i18n.php:64
|
143 |
msgid "Date"
|
144 |
msgstr "Dato"
|
145 |
|
146 |
+
#: includes/i18n.php:65
|
147 |
msgid "Amount"
|
148 |
msgstr "Beløb"
|
149 |
|
150 |
+
#: includes/i18n.php:66
|
151 |
msgid "Invoice"
|
152 |
msgstr "Faktura"
|
153 |
|
154 |
+
#: includes/i18n.php:67
|
155 |
msgid "Billing"
|
156 |
msgstr "Betaling"
|
157 |
|
158 |
+
#: includes/i18n.php:68
|
159 |
msgid "Payments"
|
160 |
msgstr "Betalinger"
|
161 |
|
162 |
+
#: includes/i18n.php:69
|
163 |
msgid "Delete Account"
|
164 |
msgstr "Slet konto"
|
165 |
|
166 |
+
#: includes/i18n.php:70
|
167 |
msgctxt "as close a window"
|
168 |
msgid "Dismiss"
|
169 |
msgstr "Fjern"
|
170 |
|
171 |
+
#: includes/i18n.php:71
|
172 |
msgctxt "as product pricing plan"
|
173 |
msgid "Plan"
|
174 |
msgstr "Plan"
|
175 |
|
176 |
+
#: includes/i18n.php:72
|
177 |
msgid "Change Plan"
|
178 |
msgstr "Skift plan"
|
179 |
|
180 |
+
#: includes/i18n.php:73
|
181 |
msgctxt "as download professional version"
|
182 |
msgid "Download %s Version"
|
183 |
+
msgstr "Download %s Version"
|
184 |
|
185 |
+
#: includes/i18n.php:74
|
186 |
msgctxt "as download professional version now"
|
187 |
msgid "Download %s version now"
|
188 |
+
msgstr "Download %s version now"
|
189 |
|
190 |
+
#: includes/i18n.php:75
|
191 |
msgctxt "as download latest version"
|
192 |
msgid "Download Latest"
|
193 |
msgstr "Download seneste"
|
194 |
|
195 |
+
#: includes/i18n.php:76
|
196 |
msgctxt "E.g. you have a professional license."
|
197 |
msgid "You have a %s license."
|
198 |
msgstr "Du har en %s licens."
|
199 |
|
200 |
+
#: includes/i18n.php:77
|
201 |
msgid "New"
|
202 |
msgstr "Ny"
|
203 |
|
204 |
+
#: includes/i18n.php:78
|
205 |
msgid "Free"
|
206 |
msgstr "Gratis"
|
207 |
|
208 |
+
#: includes/i18n.php:79
|
209 |
msgctxt "as trial plan"
|
210 |
msgid "Trial"
|
211 |
msgstr "Prøveperiode"
|
212 |
|
213 |
+
#: includes/i18n.php:80
|
214 |
msgctxt "as starting a trial plan"
|
215 |
msgid "Start Trial"
|
216 |
+
msgstr "Start prøveperiode"
|
217 |
|
218 |
+
#: includes/i18n.php:81
|
219 |
msgctxt "verb"
|
220 |
msgid "Purchase"
|
221 |
msgstr "Køb"
|
222 |
|
223 |
+
#: includes/i18n.php:82
|
224 |
msgid "Purchase License"
|
225 |
msgstr "Køb licens"
|
226 |
|
227 |
+
#: includes/i18n.php:83
|
228 |
msgctxt "verb"
|
229 |
msgid "Buy"
|
230 |
msgstr "Køb"
|
231 |
|
232 |
+
#: includes/i18n.php:84
|
233 |
msgid "Buy License"
|
234 |
msgstr "Køb licens"
|
235 |
|
236 |
+
#: includes/i18n.php:85
|
237 |
msgid "Single Site License"
|
238 |
+
msgstr "Single Site License"
|
239 |
|
240 |
+
#: includes/i18n.php:86
|
241 |
msgid "Unlimited Licenses"
|
242 |
msgstr "Ubegrænsede licenser"
|
243 |
|
244 |
+
#: includes/i18n.php:87
|
245 |
msgid "Up to %s Sites"
|
246 |
msgstr "Op til %s websteder"
|
247 |
|
248 |
+
#: includes/i18n.php:88
|
249 |
msgid "%sRenew your license now%s to access version %s features and support."
|
250 |
+
msgstr "%sRenew your license now%s to access version %s features and support."
|
251 |
|
252 |
+
#: includes/i18n.php:89
|
253 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
254 |
+
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
255 |
|
256 |
+
#: includes/i18n.php:90
|
257 |
msgctxt "e.g. Professional Plan"
|
258 |
msgid "%s Plan"
|
259 |
msgstr "%s Plan"
|
260 |
|
261 |
+
#: includes/i18n.php:91
|
262 |
msgid "You are just one step away - %s"
|
263 |
msgstr "Du mangler kun ét skridt - %s"
|
264 |
|
265 |
+
#: includes/i18n.php:92
|
266 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
267 |
msgid "Complete \"%s\" Activation Now"
|
268 |
msgstr "Færdiggør aktivering af \"%s\" nu"
|
269 |
|
270 |
+
#: includes/i18n.php:94
|
271 |
msgid "We made a few tweaks to the plugin, %s"
|
272 |
+
msgstr "Vi har lavet nogle få rettelser til pluginnet, %s"
|
273 |
|
274 |
+
#: includes/i18n.php:95
|
275 |
msgid "Opt-in to make \"%s\" Better!"
|
276 |
+
msgstr "Tilmeld for at gøre \"%s\" bedre!"
|
277 |
|
278 |
+
#: includes/i18n.php:96
|
279 |
msgid "Error"
|
280 |
msgstr "Fejl"
|
281 |
|
282 |
+
#: includes/i18n.php:97
|
283 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
284 |
+
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
285 |
|
286 |
+
#: includes/i18n.php:100
|
287 |
msgctxt "as expiration date"
|
288 |
msgid "Expiration"
|
289 |
+
msgstr "Expiration"
|
290 |
|
291 |
+
#: includes/i18n.php:101
|
292 |
msgctxt "as software license"
|
293 |
msgid "License"
|
294 |
msgstr "Licens"
|
295 |
|
296 |
+
#: includes/i18n.php:102
|
297 |
msgid "not verified"
|
298 |
msgstr "ikke verificeret"
|
299 |
|
300 |
+
#: includes/i18n.php:103
|
301 |
msgid "Verify Email"
|
302 |
msgstr "Verificer e-mail"
|
303 |
|
304 |
+
#: includes/i18n.php:104
|
305 |
msgctxt "e.g. expires in 2 months"
|
306 |
msgid "Expires in %s"
|
307 |
msgstr "Udløber om %s"
|
308 |
|
309 |
+
#: includes/i18n.php:105
|
310 |
msgctxt "e.g. auto renews in 2 months"
|
311 |
msgid "Auto renews in %s"
|
312 |
+
msgstr "Auto-fornyer om %s"
|
313 |
|
314 |
+
#: includes/i18n.php:106
|
315 |
msgid "No expiration"
|
316 |
msgstr "Udløber ikke"
|
317 |
|
318 |
+
#: includes/i18n.php:107
|
319 |
msgid "Expired"
|
320 |
msgstr "Udløbet"
|
321 |
|
322 |
+
#: includes/i18n.php:108
|
323 |
msgid "Cancelled"
|
324 |
msgstr "Annulleret"
|
325 |
|
326 |
+
#: includes/i18n.php:109
|
327 |
msgctxt "e.g. In 2 hours"
|
328 |
msgid "In %s"
|
329 |
msgstr "Om %s"
|
330 |
|
331 |
+
#: includes/i18n.php:110
|
332 |
msgctxt "e.g. 2 min ago"
|
333 |
msgid "%s ago"
|
334 |
msgstr "%s siden"
|
335 |
|
336 |
+
#: includes/i18n.php:112
|
337 |
+
msgid "%s or higher"
|
338 |
+
msgstr "%s eller højere"
|
339 |
+
|
340 |
+
#: includes/i18n.php:113
|
341 |
msgctxt "as plugin version"
|
342 |
msgid "Version"
|
343 |
msgstr "Version"
|
344 |
|
345 |
+
#: includes/i18n.php:114
|
346 |
msgid "Name"
|
347 |
msgstr "Navn"
|
348 |
|
349 |
+
#: includes/i18n.php:115
|
350 |
msgid "Email"
|
351 |
msgstr "E-mail"
|
352 |
|
353 |
+
#: includes/i18n.php:116
|
354 |
msgid "Email address"
|
355 |
msgstr "E-mailadresse"
|
356 |
|
357 |
+
#: includes/i18n.php:117
|
358 |
msgid "Verified"
|
359 |
msgstr "Verificeret"
|
360 |
|
361 |
+
#: includes/i18n.php:118
|
362 |
+
msgid "Module"
|
363 |
+
msgstr "Modul"
|
364 |
+
|
365 |
+
#: includes/i18n.php:119
|
366 |
+
msgid "Module Type"
|
367 |
+
msgstr "Modultype"
|
368 |
+
|
369 |
+
#: includes/i18n.php:120
|
370 |
msgid "Plugin"
|
371 |
msgstr "Plugin"
|
372 |
|
373 |
+
#: includes/i18n.php:121
|
374 |
msgid "Plugins"
|
375 |
msgstr "Plugins"
|
376 |
|
377 |
+
#: includes/i18n.php:122
|
378 |
+
msgid "Theme"
|
379 |
+
msgstr "Tema"
|
380 |
+
|
381 |
+
#: includes/i18n.php:123
|
382 |
msgid "Themes"
|
383 |
msgstr "Temaer"
|
384 |
|
385 |
+
#: includes/i18n.php:124
|
386 |
msgctxt "as file/folder path"
|
387 |
msgid "Path"
|
388 |
msgstr "Sti"
|
389 |
|
390 |
+
#: includes/i18n.php:125
|
391 |
msgid "Title"
|
392 |
msgstr "Titel"
|
393 |
|
394 |
+
#: includes/i18n.php:126
|
395 |
msgid "Free version"
|
396 |
msgstr "Gratis version"
|
397 |
|
398 |
+
#: includes/i18n.php:127
|
399 |
msgid "Premium version"
|
400 |
+
msgstr "Premium version"
|
401 |
|
402 |
+
#: includes/i18n.php:128
|
403 |
msgctxt "as WP plugin slug"
|
404 |
msgid "Slug"
|
405 |
msgstr "Kortnavn"
|
406 |
|
407 |
+
#: includes/i18n.php:129
|
408 |
msgid "ID"
|
409 |
msgstr "ID"
|
410 |
|
411 |
+
#: includes/i18n.php:130
|
412 |
msgid "Users"
|
413 |
msgstr "Brugere"
|
414 |
|
415 |
+
#: includes/i18n.php:131
|
416 |
msgid "Plugin Installs"
|
417 |
msgstr "Plugin-installationer"
|
418 |
|
419 |
+
#: includes/i18n.php:132
|
420 |
+
msgid "%s Installs"
|
421 |
+
msgstr "%s installeringer"
|
422 |
+
|
423 |
+
#: includes/i18n.php:133
|
424 |
msgctxt "like websites"
|
425 |
msgid "Sites"
|
426 |
msgstr "Websteder"
|
427 |
|
428 |
+
#: includes/i18n.php:134
|
429 |
msgid "User ID"
|
430 |
msgstr "Bruger-ID"
|
431 |
|
432 |
+
#: includes/i18n.php:135
|
433 |
msgid "Site ID"
|
434 |
msgstr "Websteds-ID"
|
435 |
|
436 |
+
#: includes/i18n.php:136
|
437 |
msgid "Public Key"
|
438 |
msgstr "Offentlig nøgle"
|
439 |
|
440 |
+
#: includes/i18n.php:137
|
441 |
msgid "Secret Key"
|
442 |
msgstr "Privat nøgle"
|
443 |
|
444 |
+
#: includes/i18n.php:138
|
445 |
msgctxt "as secret encryption key missing"
|
446 |
msgid "No Secret"
|
447 |
msgstr "Ingen privat nøgle"
|
448 |
|
449 |
+
#: includes/i18n.php:139
|
450 |
msgid "No ID"
|
451 |
msgstr "Intet ID"
|
452 |
|
453 |
+
#: includes/i18n.php:140
|
454 |
msgctxt "as synchronize license"
|
455 |
msgid "Sync License"
|
456 |
msgstr "Synkroniser licens"
|
457 |
|
458 |
+
#: includes/i18n.php:141
|
459 |
msgctxt "as synchronize"
|
460 |
msgid "Sync"
|
461 |
msgstr "Synkroniser"
|
462 |
|
463 |
+
#: includes/i18n.php:142
|
464 |
msgid "Activate License"
|
465 |
msgstr "Aktiver licens"
|
466 |
|
467 |
+
#: includes/i18n.php:143
|
468 |
msgid "Activate Free Version"
|
469 |
msgstr "Aktiver gratis version"
|
470 |
|
471 |
+
#: includes/i18n.php:144
|
472 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
473 |
+
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
474 |
|
475 |
+
#: includes/i18n.php:145
|
476 |
msgid "Activating license..."
|
477 |
msgstr "Aktiverer licens..."
|
478 |
|
479 |
+
#: includes/i18n.php:146
|
480 |
msgid "Change License"
|
481 |
msgstr "Skift licens"
|
482 |
|
483 |
+
#: includes/i18n.php:147
|
484 |
msgid "Update License"
|
485 |
msgstr "Opdater licens"
|
486 |
|
487 |
+
#: includes/i18n.php:148
|
488 |
msgid "Deactivate License"
|
489 |
msgstr "Deaktiver licens"
|
490 |
|
491 |
+
#: includes/i18n.php:149
|
492 |
msgid "Activate"
|
493 |
msgstr "Aktiver"
|
494 |
|
495 |
+
#: includes/i18n.php:150
|
496 |
msgid "Deactivate"
|
497 |
msgstr "Deaktiver"
|
498 |
|
499 |
+
#: includes/i18n.php:151
|
500 |
msgid "Skip & Deactivate"
|
501 |
msgstr "Spring over & deaktiver"
|
502 |
|
503 |
+
#: includes/i18n.php:152
|
504 |
+
msgid "Skip & %s"
|
505 |
+
msgstr "Spring over & %s"
|
506 |
+
|
507 |
+
#: includes/i18n.php:153
|
508 |
msgid "No - just deactivate"
|
509 |
msgstr "Nej - bare deaktiver"
|
510 |
|
511 |
+
#: includes/i18n.php:154
|
512 |
msgid "Yes - do your thing"
|
513 |
+
msgstr "Yes - do your thing"
|
514 |
|
515 |
+
#: includes/i18n.php:155
|
516 |
msgctxt "active mode"
|
517 |
msgid "Active"
|
518 |
msgstr "Aktiv"
|
519 |
|
520 |
+
#: includes/i18n.php:156
|
521 |
msgctxt "is active mode?"
|
522 |
msgid "Is Active"
|
523 |
msgstr "Er aktiv"
|
524 |
|
525 |
+
#: includes/i18n.php:157
|
526 |
msgid "Install Now"
|
527 |
msgstr "Installer nu"
|
528 |
|
529 |
+
#: includes/i18n.php:158
|
530 |
msgid "Install Update Now"
|
531 |
msgstr "Installer opdatering nu"
|
532 |
|
533 |
+
#: includes/i18n.php:159
|
534 |
msgid "More information about %s"
|
535 |
msgstr "Mere information om %s"
|
536 |
|
537 |
+
#: includes/i18n.php:160
|
538 |
msgid "Localhost"
|
539 |
msgstr "Localhost"
|
540 |
|
541 |
+
#: includes/i18n.php:161
|
542 |
msgctxt "as activate Professional plan"
|
543 |
msgid "Activate %s Plan"
|
544 |
msgstr "Aktiver plan %s"
|
545 |
|
546 |
+
#: includes/i18n.php:162
|
547 |
msgctxt "as 5 licenses left"
|
548 |
msgid "%s left"
|
549 |
msgstr "%s tilbage"
|
550 |
|
551 |
+
#: includes/i18n.php:163
|
552 |
msgid "Last license"
|
553 |
+
msgstr "Seneste license"
|
554 |
|
555 |
+
#: includes/i18n.php:164
|
556 |
msgid "What is your %s?"
|
557 |
+
msgstr "What is your %s?"
|
558 |
|
559 |
+
#: includes/i18n.php:165
|
560 |
msgid "Activate this add-on"
|
561 |
msgstr "Aktiver denne tilføjelse"
|
562 |
|
563 |
+
#: includes/i18n.php:166
|
564 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
565 |
+
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
566 |
|
567 |
+
#: includes/i18n.php:167
|
568 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
569 |
+
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
570 |
|
571 |
+
#: includes/i18n.php:168
|
572 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
573 |
+
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
574 |
|
575 |
+
#: includes/i18n.php:169
|
576 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
577 |
+
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
578 |
|
579 |
+
#: includes/i18n.php:170
|
580 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
581 |
+
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
582 |
|
583 |
+
#: includes/i18n.php:171
|
584 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
585 |
+
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
586 |
|
587 |
+
#: includes/i18n.php:172
|
588 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
589 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
590 |
|
591 |
+
#: includes/i18n.php:173
|
592 |
msgid "Are you sure you want to proceed?"
|
593 |
+
msgstr "Er du sikker på, du vil fortsætte?"
|
594 |
|
595 |
+
#: includes/i18n.php:176
|
596 |
msgid "Add Ons for %s"
|
597 |
msgstr "Tilføjelser til %s"
|
598 |
|
599 |
+
#: includes/i18n.php:177
|
600 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
601 |
+
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
602 |
|
603 |
+
#: includes/i18n.php:179
|
604 |
msgid "Anonymous feedback"
|
605 |
msgstr "Anonym feedback"
|
606 |
|
607 |
+
#: includes/i18n.php:180
|
608 |
msgid "Quick feedback"
|
609 |
msgstr "Hurtig feedback"
|
610 |
|
611 |
+
#: includes/i18n.php:181
|
612 |
msgid "If you have a moment, please let us know why you are deactivating"
|
613 |
+
msgstr "Hvis du har et øjeblik, så lad os venligst vide, hvorfor du deaktiverer"
|
614 |
|
615 |
+
#: includes/i18n.php:182
|
616 |
msgid "Yes - Deactivate"
|
617 |
msgstr "Ja - deaktiver"
|
618 |
|
619 |
+
#: includes/i18n.php:183
|
620 |
msgid "Submit & Deactivate"
|
621 |
msgstr "Send & deaktiver"
|
622 |
|
623 |
+
#: includes/i18n.php:184
|
624 |
msgid "Cancel"
|
625 |
msgstr "Annuller"
|
626 |
|
627 |
+
#: includes/i18n.php:185
|
628 |
msgid "I no longer need the plugin"
|
629 |
+
msgstr "Jeg har ikke længere brug for dette plugin"
|
630 |
|
631 |
+
#: includes/i18n.php:186
|
632 |
msgid "I found a better plugin"
|
633 |
msgstr "Jeg har fundet et bedre plugin"
|
634 |
|
635 |
+
#: includes/i18n.php:187
|
636 |
msgid "I only needed the plugin for a short period"
|
637 |
+
msgstr "Jeg skulle kun bruge pluginnet i en kort periode"
|
638 |
|
639 |
+
#: includes/i18n.php:188
|
640 |
msgid "The plugin broke my site"
|
641 |
msgstr "Pluginnet ødelagde mit websted"
|
642 |
|
643 |
+
#: includes/i18n.php:189
|
644 |
msgid "The plugin suddenly stopped working"
|
645 |
msgstr "Pluginnet virker ikke længere"
|
646 |
|
647 |
+
#: includes/i18n.php:190
|
648 |
msgid "I can't pay for it anymore"
|
649 |
msgstr "Jeg kan ikke længere betale for det"
|
650 |
|
651 |
+
#: includes/i18n.php:191
|
652 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
653 |
+
msgstr "Det er en midlertidig deaktivering. Jeg prøver at fejlfinde et problem."
|
654 |
|
655 |
+
#: includes/i18n.php:192
|
656 |
msgctxt ""
|
|
|
|
|
657 |
msgid "Other"
|
658 |
msgstr "Andet"
|
659 |
|
660 |
+
#: includes/i18n.php:194
|
661 |
msgid "Kindly tell us the reason so we can improve."
|
662 |
+
msgstr "Fortæl os venligst årsagen, så vi kan forbedre det."
|
663 |
|
664 |
+
#: includes/i18n.php:195
|
665 |
msgid "What's the plugin's name?"
|
666 |
+
msgstr "Hvad er pluginnets navn?"
|
667 |
|
668 |
+
#: includes/i18n.php:196
|
669 |
msgid "What price would you feel comfortable paying?"
|
670 |
+
msgstr "What price would you feel comfortable paying?"
|
671 |
|
672 |
+
#: includes/i18n.php:197
|
673 |
msgid "I couldn't understand how to make it work"
|
674 |
+
msgstr "Jeg forstod ikke, hvordan jeg skulle få det til at fungere."
|
675 |
|
676 |
+
#: includes/i18n.php:198
|
677 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
678 |
+
msgstr "Pluginnet er godt, men jeg har brug for en specifik funktionalitet, som det ikke understøtter."
|
|
|
679 |
|
680 |
+
#: includes/i18n.php:199
|
681 |
msgid "The plugin is not working"
|
682 |
msgstr "Pluginnet virker ikke"
|
683 |
|
684 |
+
#: includes/i18n.php:200
|
685 |
msgid "It's not what I was looking for"
|
686 |
+
msgstr "Det er ikke, hvad jeg søgte"
|
687 |
|
688 |
+
#: includes/i18n.php:201
|
689 |
msgid "The plugin didn't work as expected"
|
690 |
+
msgstr "Plugin virkede ikke som forventet"
|
691 |
|
692 |
+
#: includes/i18n.php:202
|
693 |
msgid "What feature?"
|
694 |
+
msgstr "Hvilken feature?"
|
695 |
|
696 |
+
#: includes/i18n.php:203
|
697 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
698 |
+
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
699 |
|
700 |
+
#: includes/i18n.php:204
|
701 |
msgid "What you've been looking for?"
|
702 |
+
msgstr "What you've been looking for?"
|
703 |
|
704 |
+
#: includes/i18n.php:205
|
705 |
msgid "What did you expect?"
|
706 |
msgstr "Hvad forventede du?"
|
707 |
|
708 |
+
#: includes/i18n.php:206
|
709 |
msgid "The plugin didn't work"
|
710 |
msgstr "Pluginnet virkede ikke"
|
711 |
|
712 |
+
#: includes/i18n.php:207
|
713 |
msgid "I don't like to share my information with you"
|
714 |
+
msgstr "I don't like to share my information with you"
|
715 |
|
716 |
+
#: includes/i18n.php:208
|
717 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
718 |
+
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
719 |
|
720 |
+
#: includes/i18n.php:212
|
721 |
msgctxt "greeting"
|
722 |
msgid "Hey %s,"
|
723 |
msgstr "Hey %s,"
|
724 |
|
725 |
+
#: includes/i18n.php:213
|
726 |
msgctxt "a greeting. E.g. Thanks John!"
|
727 |
msgid "Thanks %s!"
|
728 |
msgstr "Tak %s!"
|
729 |
|
730 |
+
#: includes/i18n.php:214
|
731 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
732 |
+
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
733 |
|
734 |
+
#: includes/i18n.php:215
|
735 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
736 |
+
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
737 |
|
738 |
+
#: includes/i18n.php:216
|
739 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
740 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
741 |
|
742 |
+
#: includes/i18n.php:217
|
743 |
msgid "complete the install"
|
744 |
+
msgstr "færdiggør installeringen"
|
745 |
|
746 |
+
#: includes/i18n.php:218
|
747 |
msgid "start the trial"
|
748 |
+
msgstr "start prøveperioden"
|
749 |
|
750 |
+
#: includes/i18n.php:219
|
751 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
752 |
+
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
753 |
|
754 |
+
#: includes/i18n.php:220
|
755 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
756 |
+
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
757 |
|
758 |
+
#: includes/i18n.php:221
|
759 |
msgid "What permissions are being granted?"
|
760 |
msgstr "Hvilke tilladelser bliver givet?"
|
761 |
|
762 |
+
#: includes/i18n.php:222
|
763 |
msgid "Your Profile Overview"
|
764 |
msgstr "Overblik af din profil"
|
765 |
|
766 |
+
#: includes/i18n.php:223
|
767 |
msgid "Name and email address"
|
768 |
msgstr "Navn og e-mailadresse"
|
769 |
|
770 |
+
#: includes/i18n.php:224
|
771 |
msgid "Your Site Overview"
|
772 |
msgstr "Overblik af dit websted"
|
773 |
|
774 |
+
#: includes/i18n.php:225
|
775 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
776 |
+
msgstr "Websteds-URL, WP version, PHP info, plugins og temaer"
|
777 |
|
778 |
+
#: includes/i18n.php:226
|
779 |
msgid "Current Plugin Events"
|
780 |
msgstr "Nuværende plugin-begivenheder"
|
781 |
|
782 |
+
#: includes/i18n.php:227
|
783 |
msgid "Activation, deactivation and uninstall"
|
784 |
msgstr "Aktivering, deaktivering og afinstallering"
|
785 |
|
786 |
+
#: includes/i18n.php:228
|
787 |
msgid "Plugins & Themes"
|
788 |
msgstr "Plugins & Temaer"
|
789 |
|
790 |
+
#: includes/i18n.php:229
|
791 |
msgid "Titles, versions and state."
|
792 |
msgstr "Titler, versioner og tilstand."
|
793 |
|
794 |
+
#: includes/i18n.php:230
|
795 |
msgid "Admin Notices"
|
796 |
+
msgstr "Admin Notices"
|
797 |
|
798 |
+
#: includes/i18n.php:231
|
799 |
msgid "Newsletter"
|
800 |
msgstr "Nyhedsbrev"
|
801 |
|
802 |
+
#: includes/i18n.php:232
|
803 |
msgid "Updates, announcements, marketing, no spam"
|
804 |
+
msgstr "Updates, announcements, marketing, no spam"
|
805 |
|
806 |
+
#: includes/i18n.php:233
|
807 |
msgid "Privacy Policy"
|
808 |
msgstr "Privatlivspolitik"
|
809 |
|
810 |
+
#: includes/i18n.php:234
|
811 |
msgid "Terms of Service"
|
812 |
msgstr "Servicevilkår"
|
813 |
|
814 |
+
#: includes/i18n.php:235
|
815 |
msgctxt "as activating plugin"
|
816 |
msgid "Activating"
|
817 |
msgstr "Aktiverer"
|
818 |
|
819 |
+
#: includes/i18n.php:236
|
820 |
msgctxt "as in the process of sending an email"
|
821 |
msgid "Sending email"
|
822 |
msgstr "Sender e-mail"
|
823 |
|
824 |
+
#: includes/i18n.php:237
|
825 |
msgctxt "button label"
|
826 |
msgid "Allow & Continue"
|
827 |
msgstr "Tillad & Fortsæt"
|
828 |
|
829 |
+
#: includes/i18n.php:238
|
830 |
msgctxt "button label"
|
831 |
msgid "Agree & Activate License"
|
832 |
msgstr "Accepter & aktiver licens"
|
833 |
|
834 |
+
#: includes/i18n.php:239
|
835 |
msgctxt "verb"
|
836 |
msgid "Skip"
|
837 |
msgstr "Spring over"
|
838 |
|
839 |
+
#: includes/i18n.php:240
|
840 |
msgid "Click here to use the plugin anonymously"
|
841 |
msgstr "Klik her for at benytte pluginnet anonymt"
|
842 |
|
843 |
+
#: includes/i18n.php:241
|
844 |
msgid "Re-send activation email"
|
845 |
msgstr "Gensend e-mail om aktivering"
|
846 |
|
847 |
+
#: includes/i18n.php:242
|
848 |
msgid "License key"
|
849 |
msgstr "Licensnøgle"
|
850 |
|
851 |
+
#: includes/i18n.php:243
|
852 |
msgid "Send License Key"
|
853 |
msgstr "Send licensnøgle"
|
854 |
|
855 |
+
#: includes/i18n.php:244
|
856 |
msgid "Sending license key"
|
857 |
msgstr "Sender licensnøgle"
|
858 |
|
859 |
+
#: includes/i18n.php:245
|
860 |
msgid "Have a license key?"
|
861 |
msgstr "Har du en licensnøgle?"
|
862 |
|
863 |
+
#: includes/i18n.php:246
|
864 |
msgid "Don't have a license key?"
|
865 |
msgstr "Har du ikke en licensnøgle?"
|
866 |
|
867 |
+
#: includes/i18n.php:247
|
868 |
msgid "Can't find your license key?"
|
869 |
msgstr "Kan du ikke finde din licensnøgle?"
|
870 |
|
871 |
+
#: includes/i18n.php:248
|
872 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
873 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
874 |
|
875 |
+
#: includes/i18n.php:249
|
876 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
877 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
878 |
|
879 |
+
#: includes/i18n.php:250
|
880 |
msgid "Opt In"
|
881 |
+
msgstr "Tilmeld"
|
882 |
|
883 |
+
#: includes/i18n.php:251
|
884 |
msgid "Opt Out"
|
885 |
+
msgstr "Frameld"
|
886 |
|
887 |
+
#: includes/i18n.php:252
|
888 |
msgid "On second thought - I want to continue helping"
|
889 |
+
msgstr "Ved nærmere eftertanke - Jeg vil fortsætte med at hjælpe"
|
890 |
|
891 |
+
#: includes/i18n.php:253
|
892 |
msgid "Opting out..."
|
893 |
+
msgstr "Framelder..."
|
894 |
|
895 |
+
#: includes/i18n.php:254
|
896 |
msgid "Opting in..."
|
897 |
+
msgstr "Tilmelder..."
|
898 |
|
899 |
+
#: includes/i18n.php:255
|
900 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
901 |
+
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
902 |
|
903 |
+
#: includes/i18n.php:256
|
904 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
905 |
+
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
906 |
|
907 |
+
#: includes/i18n.php:257
|
908 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
909 |
+
msgstr "Ved at klikke \"Frameld\" vil vi ikke længere sende data fra %s til %s."
|
|
|
|
|
910 |
|
911 |
+
#: includes/i18n.php:261
|
912 |
msgid "Screenshots"
|
913 |
msgstr "Skærmbilleder"
|
914 |
|
915 |
+
#: includes/i18n.php:262
|
916 |
msgid "Click to view full-size screenshot %d"
|
917 |
+
msgstr "Click to view full-size screenshot %d"
|
918 |
|
919 |
+
#: includes/i18n.php:266
|
920 |
msgid "Freemius Debug"
|
921 |
msgstr "Freemius Debug"
|
922 |
|
923 |
+
#: includes/i18n.php:267
|
924 |
msgctxt "as turned on"
|
925 |
msgid "On"
|
926 |
msgstr "Til"
|
927 |
|
928 |
+
#: includes/i18n.php:268
|
929 |
msgctxt "as turned off"
|
930 |
msgid "Off"
|
931 |
msgstr "Fra"
|
932 |
|
933 |
+
#: includes/i18n.php:269
|
934 |
msgctxt "as code debugging"
|
935 |
msgid "Debugging"
|
936 |
msgstr "Fejlfinding"
|
937 |
|
938 |
+
#: includes/i18n.php:270
|
939 |
msgid "Freemius State"
|
940 |
msgstr "Freemius tilstand"
|
941 |
|
942 |
+
#: includes/i18n.php:271
|
943 |
msgctxt "as connection was successful"
|
944 |
msgid "Connected"
|
945 |
msgstr "Forbundet"
|
946 |
|
947 |
+
#: includes/i18n.php:272
|
948 |
msgctxt "as connection blocked"
|
949 |
msgid "Blocked"
|
950 |
msgstr "Blokeret"
|
951 |
|
952 |
+
#: includes/i18n.php:273
|
953 |
msgctxt "as application program interface"
|
954 |
msgid "API"
|
955 |
msgstr "API"
|
956 |
|
957 |
+
#: includes/i18n.php:274
|
958 |
msgctxt "as software development kit versions"
|
959 |
msgid "SDK"
|
960 |
msgstr "SDK"
|
961 |
|
962 |
+
#: includes/i18n.php:275
|
963 |
msgctxt "as software development kit versions"
|
964 |
msgid "SDK Versions"
|
965 |
msgstr "SDK-versioner"
|
966 |
|
967 |
+
#: includes/i18n.php:276
|
968 |
msgctxt "as plugin folder path"
|
969 |
msgid "Plugin Path"
|
970 |
msgstr "Plugin-sti"
|
971 |
|
972 |
+
#: includes/i18n.php:277
|
973 |
msgctxt "as sdk path"
|
974 |
msgid "SDK Path"
|
975 |
msgstr "SDK-sti"
|
976 |
|
977 |
+
#: includes/i18n.php:278
|
978 |
msgid "Add Ons of Plugin %s"
|
979 |
msgstr "Tilføjelser til plugin %s"
|
980 |
|
981 |
+
#: includes/i18n.php:279
|
982 |
msgid "Are you sure you want to delete all Freemius data?"
|
983 |
+
msgstr "Er du sikker på, du vil slette al Freemius data?"
|
984 |
|
985 |
+
#: includes/i18n.php:280
|
986 |
msgid "Actions"
|
987 |
msgstr "Handlinger"
|
988 |
|
989 |
+
#: includes/i18n.php:281
|
990 |
msgid "Delete All Accounts"
|
991 |
msgstr "Slet alle konti"
|
992 |
|
993 |
+
#: includes/i18n.php:282
|
994 |
msgid "Start Fresh"
|
995 |
msgstr "Start forfra"
|
996 |
|
997 |
+
#: includes/i18n.php:283
|
998 |
msgid "Clear API Cache"
|
999 |
msgstr "Ryd API-cache"
|
1000 |
|
1001 |
+
#: includes/i18n.php:284
|
1002 |
msgid "Sync Data From Server"
|
1003 |
msgstr "Synkroniser data fra server"
|
1004 |
|
1005 |
+
#: includes/i18n.php:285
|
1006 |
msgid "Scheduled Crons"
|
1007 |
msgstr "Planlagte cron jobs"
|
1008 |
|
1009 |
+
#: includes/i18n.php:286
|
1010 |
+
msgid "Cron Type"
|
1011 |
+
msgstr "Cron Type"
|
1012 |
+
|
1013 |
+
#: includes/i18n.php:287
|
1014 |
msgid "Plugins & Themes Sync"
|
1015 |
msgstr "Synkronisering af plugins og temaer"
|
1016 |
|
1017 |
+
#: includes/i18n.php:288
|
1018 |
+
msgid "Licenses"
|
1019 |
+
msgstr "Licenser"
|
1020 |
+
|
1021 |
+
#: includes/i18n.php:289
|
1022 |
+
msgid "Debug Log"
|
1023 |
+
msgstr "Fejlfindingslog"
|
1024 |
+
|
1025 |
+
#: includes/i18n.php:290
|
1026 |
+
msgid "All"
|
1027 |
+
msgstr "Alle"
|
1028 |
+
|
1029 |
+
#: includes/i18n.php:291
|
1030 |
+
msgid "File"
|
1031 |
+
msgstr "Fil"
|
1032 |
+
|
1033 |
+
#: includes/i18n.php:292
|
1034 |
+
msgid "Function"
|
1035 |
+
msgstr "Funktion"
|
1036 |
+
|
1037 |
+
#: includes/i18n.php:293
|
1038 |
+
msgid "Process ID"
|
1039 |
+
msgstr "Proces-ID"
|
1040 |
+
|
1041 |
+
#: includes/i18n.php:294
|
1042 |
+
msgid "Logger"
|
1043 |
+
msgstr "Logger"
|
1044 |
+
|
1045 |
+
#: includes/i18n.php:295
|
1046 |
+
msgid "Message"
|
1047 |
+
msgstr "Besked"
|
1048 |
+
|
1049 |
+
#: includes/i18n.php:296
|
1050 |
+
msgid "Download"
|
1051 |
+
msgstr "Download"
|
1052 |
+
|
1053 |
+
#: includes/i18n.php:297
|
1054 |
+
msgid "Filter"
|
1055 |
+
msgstr "Filter"
|
1056 |
+
|
1057 |
+
#: includes/i18n.php:298
|
1058 |
+
msgid "Type"
|
1059 |
+
msgstr "Type"
|
1060 |
+
|
1061 |
+
#: includes/i18n.php:299
|
1062 |
+
msgid "All Types"
|
1063 |
+
msgstr "Alle typer"
|
1064 |
+
|
1065 |
+
#: includes/i18n.php:300
|
1066 |
+
msgid "All Requests"
|
1067 |
+
msgstr "Alle forespørgsler"
|
1068 |
+
|
1069 |
+
#: includes/i18n.php:304
|
1070 |
msgctxt "as congratulations"
|
1071 |
msgid "Congrats"
|
1072 |
msgstr "Tillykke"
|
1073 |
|
1074 |
+
#: includes/i18n.php:305
|
1075 |
msgctxt "exclamation"
|
1076 |
msgid "Oops"
|
1077 |
msgstr "Ups"
|
1078 |
|
1079 |
+
#: includes/i18n.php:306
|
1080 |
msgctxt "interjection expressing joy or exuberance"
|
1081 |
msgid "Yee-haw"
|
1082 |
+
msgstr "Yee-haw"
|
1083 |
|
1084 |
+
#: includes/i18n.php:307
|
1085 |
msgctxt ""
|
|
|
|
|
1086 |
msgid "W00t"
|
1087 |
+
msgstr "W00t"
|
1088 |
|
1089 |
+
#: includes/i18n.php:309
|
1090 |
msgctxt "a positive response"
|
1091 |
msgid "Right on"
|
1092 |
msgstr "Sådan"
|
1093 |
|
1094 |
+
#: includes/i18n.php:310
|
1095 |
msgctxt ""
|
|
|
|
|
1096 |
msgid "Hmm"
|
1097 |
msgstr "Hmm"
|
1098 |
|
1099 |
+
#: includes/i18n.php:312
|
1100 |
msgid "O.K"
|
1101 |
msgstr "O.K"
|
1102 |
|
1103 |
+
#: includes/i18n.php:313
|
1104 |
msgctxt "exclamation"
|
1105 |
msgid "Hey"
|
1106 |
msgstr "Hey"
|
1107 |
|
1108 |
+
#: includes/i18n.php:314
|
1109 |
msgctxt "advance notice of something that will need attention."
|
1110 |
msgid "Heads up"
|
1111 |
msgstr "Se her"
|
1112 |
|
1113 |
+
#: includes/i18n.php:319
|
1114 |
msgid "Seems like you got the latest release."
|
1115 |
+
msgstr "Det ser ud til, at du har den seneste udgivelse."
|
1116 |
|
1117 |
+
#: includes/i18n.php:320
|
1118 |
msgid "You are all good!"
|
1119 |
msgstr "Det var det!"
|
1120 |
|
1121 |
+
#: includes/i18n.php:321
|
1122 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1123 |
+
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1124 |
|
1125 |
+
#: includes/i18n.php:322
|
1126 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1127 |
+
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1128 |
|
1129 |
+
#: includes/i18n.php:323
|
1130 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1131 |
+
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1132 |
|
1133 |
+
#: includes/i18n.php:324
|
1134 |
msgid "Your name was successfully updated."
|
1135 |
msgstr "Dit navn er blevet opdateret."
|
1136 |
|
1137 |
+
#: includes/i18n.php:325
|
1138 |
msgid "You have successfully updated your %s."
|
1139 |
msgstr "Opdatering af %s blev gennemført."
|
1140 |
|
1141 |
+
#: includes/i18n.php:326
|
1142 |
msgid "Please provide your full name."
|
1143 |
msgstr "Indtast venligst dit fulde navn."
|
1144 |
|
1145 |
+
#: includes/i18n.php:327
|
1146 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1147 |
+
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1148 |
|
1149 |
+
#: includes/i18n.php:328
|
1150 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1151 |
+
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1152 |
|
1153 |
+
#: includes/i18n.php:329
|
1154 |
msgid "No credit card required"
|
1155 |
msgstr "Betalingskort ikke påkrævet"
|
1156 |
|
1157 |
+
#: includes/i18n.php:330
|
1158 |
msgid "Premium plugin version was successfully activated."
|
1159 |
+
msgstr "Premium-versionen af pluginnet blev aktiveret."
|
1160 |
|
1161 |
+
#: includes/i18n.php:331
|
1162 |
msgid "The upgrade of %s was successfully completed."
|
1163 |
+
msgstr "Opgraderingen af %s blev fuldendt."
|
1164 |
|
1165 |
+
#: includes/i18n.php:332
|
1166 |
msgid "Your account was successfully activated with the %s plan."
|
1167 |
+
msgstr "Din konto blev aktiveret med planen %s."
|
1168 |
|
1169 |
+
#: includes/i18n.php:333
|
1170 |
msgid "Download the latest %s version now"
|
1171 |
msgstr "Download den seneste version af %s nu"
|
1172 |
|
1173 |
+
#: includes/i18n.php:334
|
1174 |
msgid "Please follow these steps to complete the upgrade"
|
1175 |
+
msgstr "Følg venligst disse trin for at færdiggøre opgraderingen"
|
1176 |
|
1177 |
+
#: includes/i18n.php:335
|
1178 |
msgid "Download the latest %s version"
|
1179 |
msgstr "Download den seneste version af %s"
|
1180 |
|
1181 |
+
#: includes/i18n.php:336
|
1182 |
+
msgid "Download the latest version"
|
1183 |
+
msgstr "Download den seneste version"
|
1184 |
+
|
1185 |
+
#: includes/i18n.php:337
|
1186 |
msgid "Deactivate the free version"
|
1187 |
msgstr "Deaktiver den gratis version"
|
1188 |
|
1189 |
+
#: includes/i18n.php:338
|
1190 |
msgid "Upload and activate the downloaded version"
|
1191 |
msgstr "Upload og aktiver den downloadede version"
|
1192 |
|
1193 |
+
#: includes/i18n.php:339
|
1194 |
msgid "How to upload and activate?"
|
1195 |
msgstr "Upload og aktivering, hvordan?"
|
1196 |
|
1197 |
+
#: includes/i18n.php:340
|
1198 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1199 |
msgid "%s Add-on was successfully purchased."
|
1200 |
msgstr "Betalingen for tilføjelsen %s blev gennemført."
|
1201 |
|
1202 |
+
#: includes/i18n.php:342
|
1203 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1204 |
+
msgstr "Your %s Add-on plan was successfully upgraded."
|
1205 |
|
1206 |
+
#: includes/i18n.php:343
|
1207 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1208 |
+
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1209 |
|
1210 |
+
#: includes/i18n.php:344
|
1211 |
msgid "Your plan was successfully upgraded."
|
1212 |
msgstr "Din plan er blevet opgraderet."
|
1213 |
|
1214 |
+
#: includes/i18n.php:345
|
1215 |
msgid "Your plan was successfully changed to %s."
|
1216 |
msgstr "Din plan er blevet ændret til %s."
|
1217 |
|
1218 |
+
#: includes/i18n.php:346
|
1219 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1220 |
+
msgstr "Din licens er udløbet. Du kan stadig fortsætte med at benytte det gratis plugin for evigt."
|
|
|
|
|
1221 |
|
1222 |
+
#: includes/i18n.php:347
|
1223 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1224 |
+
msgstr "Din licens er blevet annulleret. Hvis du mener, dette er en fejl, så kontakt venligst support."
|
|
|
|
|
1225 |
|
1226 |
+
#: includes/i18n.php:348
|
1227 |
msgid "Your trial has been successfully started."
|
1228 |
msgstr "Din prøveperiode er begyndt."
|
1229 |
|
1230 |
+
#: includes/i18n.php:349
|
1231 |
msgid "Your license was successfully activated."
|
1232 |
msgstr "Din licens er blevet aktiveret."
|
1233 |
|
1234 |
+
#: includes/i18n.php:350
|
1235 |
msgid "It looks like your site currently doesn't have an active license."
|
1236 |
msgstr "Det ser ud til, at dit websted endnu ikke har en aktiv licens."
|
1237 |
|
1238 |
+
#: includes/i18n.php:351
|
1239 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1240 |
+
msgstr "Din licens blev deaktiveret, du er tilbage på planen %s."
|
|
|
1241 |
|
1242 |
+
#: includes/i18n.php:352
|
1243 |
msgid "It looks like the license deactivation failed."
|
1244 |
msgstr "Det ser ud til, at licens-deaktiveringen mislykkedes."
|
1245 |
|
1246 |
+
#: includes/i18n.php:353
|
1247 |
msgid "It looks like the license could not be activated."
|
1248 |
msgstr "Det ser ud til, at licensen ikke kunne aktiveres."
|
1249 |
|
1250 |
+
#: includes/i18n.php:354
|
1251 |
msgid "Error received from the server:"
|
1252 |
msgstr "Fejl modtager fra serveren:"
|
1253 |
|
1254 |
+
#: includes/i18n.php:355
|
1255 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1256 |
msgstr "Din prøveperiode er udløbet. Du kan fortsat bruge alle vores gratis funktioner."
|
1257 |
|
1258 |
+
#: includes/i18n.php:356
|
1259 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1260 |
+
msgstr "Din plan blev nedgraderet. Licensen til din %s plan vil udløbe om %s."
|
|
|
|
|
1261 |
|
1262 |
+
#: includes/i18n.php:357
|
1263 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1264 |
+
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1265 |
|
1266 |
+
#: includes/i18n.php:358
|
1267 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1268 |
+
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1269 |
|
1270 |
+
#: includes/i18n.php:359
|
1271 |
msgid "Your %s free trial was successfully cancelled."
|
1272 |
+
msgstr "Din gratis prøveperiode for %s er blevet annulleret."
|
1273 |
|
1274 |
+
#: includes/i18n.php:360
|
1275 |
msgctxt "%s - numeric version number"
|
1276 |
msgid "Version %s was released."
|
1277 |
msgstr "Version %s er blevet udgivet."
|
1278 |
|
1279 |
+
#: includes/i18n.php:361
|
1280 |
msgid "Please download %s."
|
1281 |
msgstr "Download venligst %s."
|
1282 |
|
1283 |
+
#: includes/i18n.php:362
|
1284 |
msgctxt "%s - plan name, as the latest professional version here"
|
1285 |
msgid "the latest %s version here"
|
1286 |
msgstr "den seneste version af %s her"
|
1287 |
|
1288 |
+
#: includes/i18n.php:364
|
1289 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1290 |
+
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1291 |
|
1292 |
+
#: includes/i18n.php:365
|
1293 |
msgctxt "call to action"
|
1294 |
msgid "Start free trial"
|
1295 |
msgstr "Start gratis prøveperiode"
|
1296 |
|
1297 |
+
#: includes/i18n.php:366
|
1298 |
msgid "Starting trial"
|
1299 |
+
msgstr "Starter prøveperiode"
|
1300 |
|
1301 |
+
#: includes/i18n.php:367
|
1302 |
msgid "Please wait"
|
1303 |
+
msgstr "Vent venligst"
|
1304 |
|
1305 |
+
#: includes/i18n.php:368
|
1306 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1307 |
+
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1308 |
|
1309 |
+
#: includes/i18n.php:369
|
1310 |
msgid "You already utilized a trial before."
|
1311 |
msgstr "Du har allerede brugt din prøveperiode."
|
1312 |
|
1313 |
+
#: includes/i18n.php:370
|
1314 |
msgid "You are already running the plugin in a trial mode."
|
1315 |
+
msgstr "Du benytter allerede dette plugin under en prøveperiode."
|
1316 |
|
1317 |
+
#: includes/i18n.php:371
|
1318 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1319 |
+
msgstr "Plan %s eksisterer ikke og kan derfor ikke starte prøveperiode."
|
1320 |
|
1321 |
+
#: includes/i18n.php:372
|
1322 |
msgid "Plan %s does not support a trial period."
|
1323 |
msgstr "Plan %s understøtter ikke en prøveperiode."
|
1324 |
|
1325 |
+
#: includes/i18n.php:373
|
1326 |
msgid "None of the plugin's plans supports a trial period."
|
1327 |
+
msgstr "Ingen af dette plugins planer understøtter prøveperiode."
|
1328 |
|
1329 |
+
#: includes/i18n.php:374
|
1330 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1331 |
+
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1332 |
|
1333 |
+
#: includes/i18n.php:375
|
1334 |
msgid "No commitment for %s days - cancel anytime!"
|
1335 |
msgstr "Ingen bindinger i %s dage - annuller når som helst!"
|
1336 |
|
1337 |
+
#: includes/i18n.php:376
|
1338 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1339 |
+
msgstr "Din licens er udløbet. Du kan stadig benytte alle funktionerne i %s, men du bliver nødt til at fornye din licens for at få opdateringer og support."
|
|
|
|
|
|
|
1340 |
|
1341 |
+
#: includes/i18n.php:377
|
1342 |
msgid "Couldn't activate %s."
|
1343 |
msgstr "Kunne ikke aktivere %s."
|
1344 |
|
1345 |
+
#: includes/i18n.php:378
|
1346 |
msgid "Please contact us with the following message:"
|
1347 |
msgstr "Kontakt os venligst med følgende besked:"
|
1348 |
|
1349 |
+
#: includes/i18n.php:379
|
1350 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1351 |
+
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1352 |
|
1353 |
+
#: includes/i18n.php:380
|
1354 |
msgid "Please contact us here"
|
1355 |
msgstr "Kontakt os her"
|
1356 |
|
1357 |
+
#: includes/i18n.php:381
|
1358 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1359 |
+
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
|
|
|
|
1360 |
|
1361 |
+
#: includes/i18n.php:384
|
1362 |
msgid "From unknown reason, the API connectivity test failed."
|
1363 |
+
msgstr "From unknown reason, the API connectivity test failed."
|
1364 |
|
1365 |
+
#: includes/i18n.php:385
|
1366 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1367 |
+
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1368 |
|
1369 |
+
#: includes/i18n.php:386
|
1370 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1371 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1372 |
|
1373 |
+
#: includes/i18n.php:387
|
1374 |
+
msgid "Disabled method(s):"
|
1375 |
+
msgstr "Disabled method(s):"
|
|
|
1376 |
|
1377 |
+
#: includes/i18n.php:388
|
1378 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1379 |
+
msgstr "Af en ukendt årsag blokerer CloudFlare, vores firewall, forbindelsen."
|
1380 |
+
|
1381 |
+
#: includes/i18n.php:389
|
1382 |
msgctxt "as pluginX requires an access to our API"
|
1383 |
msgid "%s requires an access to our API."
|
1384 |
+
msgstr "%s påkræver adgang til vores API."
|
1385 |
|
1386 |
+
#: includes/i18n.php:391
|
1387 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1388 |
+
msgstr "Det ser ud til, at din server benytter Squid ACL (access control lists), som blokerer forbindelsen."
|
|
|
|
|
1389 |
|
1390 |
+
#: includes/i18n.php:392
|
1391 |
msgid "I don't know what is Squid or ACL, help me!"
|
1392 |
+
msgstr "Jeg ved ikke hvad Squid eller ACL er. Hjælp mig!"
|
1393 |
|
1394 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1395 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1396 |
+
msgstr "Vi vil kontakte din udbyder og løse problemet. Når vi har opdatinger i sagen, vil vi følge op med en email til dig på %s."
|
|
|
|
|
1397 |
|
1398 |
+
#: includes/i18n.php:394
|
1399 |
msgid "I'm a system administrator"
|
1400 |
msgstr "Jeg er en system-administrator"
|
1401 |
|
1402 |
+
#: includes/i18n.php:395
|
1403 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1404 |
+
msgstr "Sådan, venligst whitelist følgende domæner: %s. Når du er færdig, skal du deaktivere pluginnet og aktivere det igen."
|
|
|
|
|
1405 |
|
1406 |
+
#: includes/i18n.php:396
|
1407 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1408 |
+
msgstr "Jeg ved ikke hvad cURL er, eller hvordan jeg installerer det. Hjælp mig!"
|
1409 |
|
1410 |
+
#: includes/i18n.php:398
|
1411 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1412 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1413 |
|
1414 |
+
#: includes/i18n.php:399
|
1415 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1416 |
+
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1417 |
|
1418 |
+
#: includes/i18n.php:400
|
1419 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1420 |
+
msgstr "Vi beklager ulejligheden, og vi er her for at hjælpe, hvis du giver os chancen."
|
|
|
1421 |
|
1422 |
+
#: includes/i18n.php:401
|
1423 |
msgid "Yes - I'm giving you a chance to fix it"
|
1424 |
msgstr "Ja - jeg giver jer en chance for at rette det"
|
1425 |
|
1426 |
+
#: includes/i18n.php:402
|
1427 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1428 |
+
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1429 |
|
1430 |
+
#: includes/i18n.php:403
|
1431 |
msgid "Let's try your previous version"
|
1432 |
msgstr "Lad os prøve din forrige version"
|
1433 |
|
1434 |
+
#: includes/i18n.php:404
|
1435 |
msgid "Uninstall this version and install the previous one."
|
1436 |
msgstr "Afinstaller denne version og installer den forrige."
|
1437 |
|
1438 |
+
#: includes/i18n.php:405
|
1439 |
msgid "That's exhausting, please deactivate"
|
1440 |
+
msgstr "Det er udmattende, deaktiver venligst"
|
1441 |
|
1442 |
+
#: includes/i18n.php:406
|
1443 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1444 |
+
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1445 |
|
1446 |
+
#: includes/i18n.php:407
|
1447 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1448 |
+
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1449 |
|
1450 |
+
#: includes/i18n.php:408
|
1451 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1452 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1453 |
+
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1454 |
|
1455 |
+
#: includes/i18n.php:410
|
1456 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1457 |
+
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1458 |
|
1459 |
+
#: includes/i18n.php:413
|
1460 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1461 |
+
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1462 |
|
1463 |
+
#: includes/i18n.php:414
|
1464 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1465 |
+
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1466 |
|
1467 |
+
#: includes/i18n.php:415
|
1468 |
msgid "%s is the new owner of the account."
|
1469 |
msgstr "%s er den nye ejer af kontoen."
|
1470 |
|
1471 |
+
#: includes/i18n.php:417
|
1472 |
msgctxt "addonX cannot run without pluginY"
|
1473 |
msgid "%s cannot run without %s."
|
1474 |
msgstr "%s virker ikke uden %s."
|
1475 |
|
1476 |
+
#: includes/i18n.php:419
|
1477 |
msgctxt "addonX cannot run..."
|
1478 |
msgid "%s cannot run without the plugin."
|
1479 |
msgstr "%s virker ikke uden pluginnet."
|
1480 |
|
1481 |
+
#: includes/i18n.php:420
|
1482 |
msgctxt "pluginX activation was successfully..."
|
1483 |
msgid "%s activation was successfully completed."
|
1484 |
msgstr "Aktivering af %s blev gennemført."
|
1485 |
|
1486 |
+
#: includes/i18n.php:422
|
1487 |
msgctxt "Plugin installer section title"
|
1488 |
msgid "Features & Pricing"
|
1489 |
msgstr "Funktioner og priser"
|
1490 |
|
1491 |
+
#: includes/i18n.php:423
|
1492 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1493 |
+
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1494 |
|
1495 |
+
#: includes/i18n.php:424
|
1496 |
msgid "Paid add-on must be deployed to Freemius."
|
1497 |
+
msgstr "Paid add-on must be deployed to Freemius."
|
1498 |
|
1499 |
+
#: includes/i18n.php:428
|
1500 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1501 |
+
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1502 |
|
1503 |
+
#: includes/i18n.php:429
|
1504 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1505 |
+
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1506 |
|
1507 |
+
#: includes/i18n.php:434
|
1508 |
msgctxt "as every month"
|
1509 |
msgid "Monthly"
|
1510 |
msgstr "Månedligt"
|
1511 |
|
1512 |
+
#: includes/i18n.php:435
|
1513 |
msgctxt "as monthly period"
|
1514 |
msgid "mo"
|
1515 |
msgstr "md"
|
1516 |
|
1517 |
+
#: includes/i18n.php:436
|
1518 |
msgctxt "as once a year"
|
1519 |
msgid "Annual"
|
1520 |
msgstr "Årligt"
|
1521 |
|
1522 |
+
#: includes/i18n.php:437
|
1523 |
msgctxt "as once a year"
|
1524 |
msgid "Annually"
|
1525 |
msgstr "Årligt"
|
1526 |
|
1527 |
+
#: includes/i18n.php:438
|
1528 |
msgctxt "as once a year"
|
1529 |
msgid "Once"
|
1530 |
msgstr "Engangsbeløb"
|
1531 |
|
1532 |
+
#: includes/i18n.php:439
|
1533 |
msgctxt "as annual period"
|
1534 |
msgid "year"
|
1535 |
msgstr "år"
|
1536 |
|
1537 |
+
#: includes/i18n.php:440
|
1538 |
msgid "Lifetime"
|
1539 |
+
msgstr "Livstid"
|
1540 |
|
1541 |
+
#: includes/i18n.php:441
|
1542 |
msgctxt "e.g. the best product"
|
1543 |
msgid "Best"
|
1544 |
msgstr "Bedste"
|
1545 |
|
1546 |
+
#: includes/i18n.php:442
|
1547 |
msgctxt "e.g. billed monthly"
|
1548 |
msgid "Billed %s"
|
1549 |
+
msgstr "Faktureret %s"
|
1550 |
|
1551 |
+
#: includes/i18n.php:443
|
1552 |
msgctxt "as a discount of $5 or 10%"
|
1553 |
msgid "Save %s"
|
1554 |
msgstr "Spar %s"
|
1555 |
|
1556 |
+
#: includes/i18n.php:445
|
1557 |
msgid "View details"
|
1558 |
msgstr "Vis detaljer"
|
1559 |
|
1560 |
+
#: includes/i18n.php:449
|
1561 |
msgctxt "button label"
|
1562 |
msgid "Approve & Start Trial"
|
1563 |
+
msgstr "Godkend & start prøveperiode"
|
1564 |
|
1565 |
+
#: includes/i18n.php:451
|
1566 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1567 |
+
msgstr "Du er 1 klik fra at begynde din %1$s dages gratis prøveperiode af planen %2$s."
|
|
|
|
|
1568 |
|
1569 |
+
#: includes/i18n.php:453
|
1570 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1571 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1572 |
|
1573 |
+
#: includes/i18n.php:459
|
1574 |
msgid "Business name"
|
1575 |
+
msgstr "Firmanavn"
|
1576 |
|
1577 |
+
#: includes/i18n.php:460
|
1578 |
msgid "Tax / VAT ID"
|
1579 |
+
msgstr "Moms / VAT ID"
|
1580 |
|
1581 |
+
#: includes/i18n.php:461
|
1582 |
msgid "Address Line %d"
|
1583 |
+
msgstr "Adresselinje %d"
|
1584 |
|
1585 |
+
#: includes/i18n.php:462
|
1586 |
msgid "Country"
|
1587 |
+
msgstr "Land"
|
1588 |
|
1589 |
+
#: includes/i18n.php:463
|
1590 |
msgid "Select Country"
|
1591 |
+
msgstr "Vælg land"
|
1592 |
|
1593 |
+
#: includes/i18n.php:464
|
1594 |
msgid "City"
|
1595 |
+
msgstr "By"
|
1596 |
|
1597 |
+
#: includes/i18n.php:465
|
1598 |
msgid "Town"
|
1599 |
+
msgstr "By"
|
1600 |
|
1601 |
+
#: includes/i18n.php:466
|
1602 |
msgid "State"
|
1603 |
+
msgstr "Stat"
|
1604 |
|
1605 |
+
#: includes/i18n.php:467
|
1606 |
msgid "Province"
|
1607 |
+
msgstr "Provins"
|
1608 |
|
1609 |
+
#: includes/i18n.php:468
|
1610 |
msgid "ZIP / Postal Code"
|
1611 |
+
msgstr "ZIP / Postnummer"
|
1612 |
+
|
1613 |
+
#: includes/i18n.php:473
|
1614 |
+
msgid "Installing plugin: %s"
|
1615 |
+
msgstr "Installing plugin: %s"
|
1616 |
+
|
1617 |
+
#: includes/i18n.php:474
|
1618 |
+
msgid "Automatic Installation"
|
1619 |
+
msgstr "Automatic Installation"
|
1620 |
+
|
1621 |
+
#: includes/i18n.php:476
|
1622 |
+
msgid "%s sec"
|
1623 |
+
msgstr "%s sec"
|
1624 |
+
|
1625 |
+
#: includes/i18n.php:477
|
1626 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1627 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1628 |
+
|
1629 |
+
#: includes/i18n.php:478
|
1630 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1631 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1632 |
+
|
1633 |
+
#: includes/i18n.php:479
|
1634 |
+
msgid "Cancel Installation"
|
1635 |
+
msgstr "Cancel Installation"
|
1636 |
+
|
1637 |
+
#: includes/i18n.php:480
|
1638 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1639 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1640 |
+
|
1641 |
+
#: includes/i18n.php:481
|
1642 |
+
msgid "Invalid module ID."
|
1643 |
+
msgstr "Invalid module ID."
|
1644 |
+
|
1645 |
+
#: includes/i18n.php:482
|
1646 |
+
msgid "Auto installation only works for opted-in users."
|
1647 |
+
msgstr "Auto installation only works for opted-in users."
|
1648 |
+
|
1649 |
+
#: includes/i18n.php:483
|
1650 |
+
msgid "Premium version already active."
|
1651 |
+
msgstr "Premium version already active."
|
1652 |
+
|
1653 |
+
#: includes/i18n.php:484
|
1654 |
+
msgid "Premium add-on version already installed."
|
1655 |
+
msgstr "Premium add-on version already installed."
|
1656 |
+
|
1657 |
+
#: includes/i18n.php:485
|
1658 |
+
msgid "You do not have a valid license to access the premium version."
|
1659 |
+
msgstr "You do not have a valid license to access the premium version."
|
1660 |
+
|
1661 |
+
#: includes/i18n.php:486
|
1662 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1663 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1664 |
+
|
1665 |
+
#: includes/i18n.php:501
|
1666 |
+
msgctxt "Plugin installer section title"
|
1667 |
+
msgid "Description"
|
1668 |
+
msgstr "Beskrivelse"
|
1669 |
+
|
1670 |
+
#: includes/i18n.php:502
|
1671 |
+
msgctxt "Plugin installer section title"
|
1672 |
+
msgid "Installation"
|
1673 |
+
msgstr "Installering"
|
1674 |
+
|
1675 |
+
#: includes/i18n.php:503
|
1676 |
+
msgctxt "Plugin installer section title"
|
1677 |
+
msgid "FAQ"
|
1678 |
+
msgstr "FAQ"
|
1679 |
+
|
1680 |
+
#: includes/i18n.php:504
|
1681 |
+
msgctxt "Plugin installer section title"
|
1682 |
+
msgid "Changelog"
|
1683 |
+
msgstr "Ændringslog"
|
1684 |
+
|
1685 |
+
#: includes/i18n.php:505
|
1686 |
+
msgctxt "Plugin installer section title"
|
1687 |
+
msgid "Reviews"
|
1688 |
+
msgstr "Anmeldelser"
|
1689 |
+
|
1690 |
+
#: includes/i18n.php:506
|
1691 |
+
msgctxt "Plugin installer section title"
|
1692 |
+
msgid "Other Notes"
|
1693 |
+
msgstr "Andre noter"
|
1694 |
+
|
1695 |
+
#: includes/i18n.php:508
|
1696 |
+
msgid "%s star"
|
1697 |
+
msgstr "%s stjerne"
|
1698 |
+
|
1699 |
+
#: includes/i18n.php:510
|
1700 |
+
msgid "%s stars"
|
1701 |
+
msgstr "%s stjerner"
|
1702 |
+
|
1703 |
+
#: includes/i18n.php:512
|
1704 |
+
msgid "%s rating"
|
1705 |
+
msgstr "%s vurdering"
|
1706 |
+
|
1707 |
+
#: includes/i18n.php:514
|
1708 |
+
msgid "%s ratings"
|
1709 |
+
msgstr "%s vurderinger"
|
1710 |
+
|
1711 |
+
#: includes/i18n.php:516
|
1712 |
+
msgid "%s time"
|
1713 |
+
msgstr "%s gang"
|
1714 |
+
|
1715 |
+
#: includes/i18n.php:518
|
1716 |
+
msgid "%s times"
|
1717 |
+
msgstr "%s gange"
|
1718 |
+
|
1719 |
+
#: includes/i18n.php:520
|
1720 |
+
msgid "Click to see reviews that provided a rating of %s"
|
1721 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
1722 |
+
|
1723 |
+
#: includes/i18n.php:521
|
1724 |
+
msgid "Last Updated"
|
1725 |
+
msgstr "Senest opdateret"
|
1726 |
+
|
1727 |
+
#: includes/i18n.php:522
|
1728 |
+
msgid "Requires WordPress Version:"
|
1729 |
+
msgstr "Kræver WordPress-version:"
|
1730 |
+
|
1731 |
+
#: includes/i18n.php:523
|
1732 |
+
msgctxt "as the plugin author"
|
1733 |
+
msgid "Author:"
|
1734 |
+
msgstr "Forfatter:"
|
1735 |
+
|
1736 |
+
#: includes/i18n.php:524
|
1737 |
+
msgid "Compatible up to:"
|
1738 |
+
msgstr "Kompatibel op til:"
|
1739 |
+
|
1740 |
+
#: includes/i18n.php:525
|
1741 |
+
msgid "Downloaded:"
|
1742 |
+
msgstr "Hentet:"
|
1743 |
+
|
1744 |
+
#: includes/i18n.php:526
|
1745 |
+
msgid "WordPress.org Plugin Page"
|
1746 |
+
msgstr "WordPress.org Plugin-side"
|
1747 |
+
|
1748 |
+
#: includes/i18n.php:527
|
1749 |
+
msgid "Plugin Homepage"
|
1750 |
+
msgstr "Plugin-websted"
|
1751 |
+
|
1752 |
+
#: includes/i18n.php:528
|
1753 |
+
msgid "Donate to this plugin"
|
1754 |
+
msgstr "Donér til dette plugin"
|
1755 |
+
|
1756 |
+
#: includes/i18n.php:529
|
1757 |
+
msgid "Average Rating"
|
1758 |
+
msgstr "Gennemsnitlig vurdering"
|
1759 |
+
|
1760 |
+
#: includes/i18n.php:530
|
1761 |
+
msgid "based on %s"
|
1762 |
+
msgstr "baseret på %s"
|
1763 |
+
|
1764 |
+
#: includes/i18n.php:531
|
1765 |
+
msgid "Warning:"
|
1766 |
+
msgstr "Advarsel:"
|
1767 |
+
|
1768 |
+
#: includes/i18n.php:532
|
1769 |
+
msgid "Contributors"
|
1770 |
+
msgstr "Bidragsydere"
|
1771 |
+
|
1772 |
+
#: includes/i18n.php:533
|
1773 |
+
msgid "Plugin Install"
|
1774 |
+
msgstr "Plugin Install"
|
1775 |
+
|
1776 |
+
#: includes/i18n.php:534
|
1777 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
1778 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
1779 |
+
|
1780 |
+
#: includes/i18n.php:535
|
1781 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1782 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1783 |
+
|
1784 |
+
#: includes/i18n.php:536
|
1785 |
+
msgid "Newer Version (%s) Installed"
|
1786 |
+
msgstr "Nyere version (%s) installeret"
|
1787 |
+
|
1788 |
+
#: includes/i18n.php:537
|
1789 |
+
msgid "Latest Version Installed"
|
1790 |
+
msgstr "Seneste version installeret"
|
freemius/languages/freemius-en.mo
CHANGED
Binary file
|
freemius/languages/freemius-en.po
CHANGED
@@ -80,1648 +80,1709 @@ msgid "Downgrade"
|
|
80 |
msgstr "Downgrade"
|
81 |
|
82 |
#: includes/i18n.php:51
|
|
|
|
|
|
|
|
|
|
|
83 |
msgid "Cancel Trial"
|
84 |
msgstr "Cancel Trial"
|
85 |
|
86 |
-
#: includes/i18n.php:
|
87 |
msgid "Free Trial"
|
88 |
msgstr "Free Trial"
|
89 |
|
90 |
-
#: includes/i18n.php:
|
91 |
msgid "Start my free %s"
|
92 |
msgstr "Start my free %s"
|
93 |
|
94 |
-
#: includes/i18n.php:
|
95 |
msgid "No commitment for %s - cancel anytime"
|
96 |
msgstr "No commitment for %s - cancel anytime"
|
97 |
|
98 |
-
#: includes/i18n.php:
|
99 |
msgid "After your free %s, pay as little as %s"
|
100 |
msgstr "After your free %s, pay as little as %s"
|
101 |
|
102 |
-
#: includes/i18n.php:
|
103 |
msgid "Details"
|
104 |
msgstr "Details"
|
105 |
|
106 |
-
#: includes/i18n.php:
|
107 |
msgid "Account Details"
|
108 |
msgstr "Account Details"
|
109 |
|
110 |
-
#: includes/i18n.php:
|
111 |
msgctxt "verb"
|
112 |
msgid "Delete"
|
113 |
msgstr "Delete"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgctxt "verb"
|
117 |
msgid "Show"
|
118 |
msgstr "Show"
|
119 |
|
120 |
-
#: includes/i18n.php:
|
121 |
msgctxt "verb"
|
122 |
msgid "Hide"
|
123 |
msgstr "Hide"
|
124 |
|
125 |
-
#: includes/i18n.php:
|
126 |
msgctxt "verb"
|
127 |
msgid "Edit"
|
128 |
msgstr "Edit"
|
129 |
|
130 |
-
#: includes/i18n.php:
|
131 |
msgctxt "verb"
|
132 |
msgid "Update"
|
133 |
msgstr "Update"
|
134 |
|
135 |
-
#: includes/i18n.php:
|
136 |
msgid "Date"
|
137 |
msgstr "Date"
|
138 |
|
139 |
-
#: includes/i18n.php:
|
140 |
msgid "Amount"
|
141 |
msgstr "Amount"
|
142 |
|
143 |
-
#: includes/i18n.php:
|
144 |
msgid "Invoice"
|
145 |
msgstr "Invoice"
|
146 |
|
147 |
-
#: includes/i18n.php:
|
148 |
msgid "Billing"
|
149 |
msgstr "Billing"
|
150 |
|
151 |
-
#: includes/i18n.php:
|
152 |
msgid "Payments"
|
153 |
msgstr "Payments"
|
154 |
|
155 |
-
#: includes/i18n.php:
|
156 |
msgid "Delete Account"
|
157 |
msgstr "Delete Account"
|
158 |
|
159 |
-
#: includes/i18n.php:
|
160 |
msgctxt "as close a window"
|
161 |
msgid "Dismiss"
|
162 |
msgstr "Dismiss"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgctxt "as product pricing plan"
|
166 |
msgid "Plan"
|
167 |
msgstr "Plan"
|
168 |
|
169 |
-
#: includes/i18n.php:
|
170 |
msgid "Change Plan"
|
171 |
msgstr "Change Plan"
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as download professional version"
|
175 |
msgid "Download %s Version"
|
176 |
msgstr "Download %s Version"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgctxt "as download professional version now"
|
180 |
msgid "Download %s version now"
|
181 |
msgstr "Download %s version now"
|
182 |
|
183 |
-
#: includes/i18n.php:
|
184 |
msgctxt "as download latest version"
|
185 |
msgid "Download Latest"
|
186 |
msgstr "Download Latest"
|
187 |
|
188 |
-
#: includes/i18n.php:
|
189 |
msgctxt "E.g. you have a professional license."
|
190 |
msgid "You have a %s license."
|
191 |
msgstr "You have a %s license."
|
192 |
|
193 |
-
#: includes/i18n.php:
|
194 |
msgid "New"
|
195 |
msgstr "New"
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgid "Free"
|
199 |
msgstr "Free"
|
200 |
|
201 |
-
#: includes/i18n.php:
|
202 |
msgctxt "as trial plan"
|
203 |
msgid "Trial"
|
204 |
msgstr "Trial"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgctxt "as starting a trial plan"
|
208 |
msgid "Start Trial"
|
209 |
msgstr "Start Trial"
|
210 |
|
211 |
-
#: includes/i18n.php:
|
212 |
msgctxt "verb"
|
213 |
msgid "Purchase"
|
214 |
msgstr "Purchase"
|
215 |
|
216 |
-
#: includes/i18n.php:
|
217 |
msgid "Purchase License"
|
218 |
msgstr "Purchase License"
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgctxt "verb"
|
222 |
msgid "Buy"
|
223 |
msgstr "Buy"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Buy License"
|
227 |
msgstr "Buy License"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgid "Single Site License"
|
231 |
msgstr "Single Site License"
|
232 |
|
233 |
-
#: includes/i18n.php:
|
234 |
msgid "Unlimited Licenses"
|
235 |
msgstr "Unlimited Licenses"
|
236 |
|
237 |
-
#: includes/i18n.php:
|
238 |
msgid "Up to %s Sites"
|
239 |
msgstr "Up to %s Sites"
|
240 |
|
241 |
-
#: includes/i18n.php:
|
242 |
msgid "%sRenew your license now%s to access version %s features and support."
|
243 |
msgstr "%sRenew your license now%s to access version %s features and support."
|
244 |
|
245 |
-
#: includes/i18n.php:
|
246 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
247 |
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
248 |
|
249 |
-
#: includes/i18n.php:
|
250 |
msgctxt "e.g. Professional Plan"
|
251 |
msgid "%s Plan"
|
252 |
msgstr "%s Plan"
|
253 |
|
254 |
-
#: includes/i18n.php:
|
255 |
msgid "You are just one step away - %s"
|
256 |
msgstr "You are just one step away - %s"
|
257 |
|
258 |
-
#: includes/i18n.php:
|
259 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
260 |
msgid "Complete \"%s\" Activation Now"
|
261 |
msgstr "Complete \"%s\" Activation Now"
|
262 |
|
263 |
-
#: includes/i18n.php:
|
264 |
msgid "We made a few tweaks to the plugin, %s"
|
265 |
msgstr "We made a few tweaks to the plugin, %s"
|
266 |
|
267 |
-
#: includes/i18n.php:
|
268 |
msgid "Opt-in to make \"%s\" Better!"
|
269 |
msgstr "Opt-in to make \"%s\" Better!"
|
270 |
|
271 |
-
#: includes/i18n.php:
|
272 |
msgid "Error"
|
273 |
msgstr "Error"
|
274 |
|
275 |
-
#: includes/i18n.php:
|
276 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
277 |
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
278 |
|
279 |
-
#: includes/i18n.php:
|
280 |
msgctxt "as expiration date"
|
281 |
msgid "Expiration"
|
282 |
msgstr "Expiration"
|
283 |
|
284 |
-
#: includes/i18n.php:
|
285 |
msgctxt "as software license"
|
286 |
msgid "License"
|
287 |
msgstr "License"
|
288 |
|
289 |
-
#: includes/i18n.php:
|
290 |
msgid "not verified"
|
291 |
msgstr "not verified"
|
292 |
|
293 |
-
#: includes/i18n.php:
|
294 |
msgid "Verify Email"
|
295 |
msgstr "Verify Email"
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "e.g. expires in 2 months"
|
299 |
msgid "Expires in %s"
|
300 |
msgstr "Expires in %s"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgctxt "e.g. auto renews in 2 months"
|
304 |
msgid "Auto renews in %s"
|
305 |
msgstr "Auto renews in %s"
|
306 |
|
307 |
-
#: includes/i18n.php:
|
308 |
msgid "No expiration"
|
309 |
msgstr "No expiration"
|
310 |
|
311 |
-
#: includes/i18n.php:
|
312 |
msgid "Expired"
|
313 |
msgstr "Expired"
|
314 |
|
315 |
-
#: includes/i18n.php:
|
316 |
msgid "Cancelled"
|
317 |
msgstr "Cancelled"
|
318 |
|
319 |
-
#: includes/i18n.php:
|
320 |
msgctxt "e.g. In 2 hours"
|
321 |
msgid "In %s"
|
322 |
msgstr "In %s"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgctxt "e.g. 2 min ago"
|
326 |
msgid "%s ago"
|
327 |
msgstr "%s ago"
|
328 |
|
329 |
-
#: includes/i18n.php:
|
330 |
msgid "%s or higher"
|
331 |
msgstr "%s or higher"
|
332 |
|
333 |
-
#: includes/i18n.php:
|
334 |
msgctxt "as plugin version"
|
335 |
msgid "Version"
|
336 |
msgstr "Version"
|
337 |
|
338 |
-
#: includes/i18n.php:
|
339 |
msgid "Name"
|
340 |
msgstr "Name"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
343 |
msgid "Email"
|
344 |
msgstr "Email"
|
345 |
|
346 |
-
#: includes/i18n.php:
|
347 |
msgid "Email address"
|
348 |
msgstr "Email address"
|
349 |
|
350 |
-
#: includes/i18n.php:
|
351 |
msgid "Verified"
|
352 |
msgstr "Verified"
|
353 |
|
354 |
-
#: includes/i18n.php:
|
355 |
msgid "Module"
|
356 |
msgstr "Module"
|
357 |
|
358 |
-
#: includes/i18n.php:
|
359 |
msgid "Module Type"
|
360 |
msgstr "Module Type"
|
361 |
|
362 |
-
#: includes/i18n.php:
|
363 |
msgid "Plugin"
|
364 |
msgstr "Plugin"
|
365 |
|
366 |
-
#: includes/i18n.php:
|
367 |
msgid "Plugins"
|
368 |
msgstr "Plugins"
|
369 |
|
370 |
-
#: includes/i18n.php:
|
371 |
msgid "Theme"
|
372 |
msgstr "Theme"
|
373 |
|
374 |
-
#: includes/i18n.php:
|
375 |
msgid "Themes"
|
376 |
msgstr "Themes"
|
377 |
|
378 |
-
#: includes/i18n.php:
|
379 |
msgctxt "as file/folder path"
|
380 |
msgid "Path"
|
381 |
msgstr "Path"
|
382 |
|
383 |
-
#: includes/i18n.php:
|
384 |
msgid "Title"
|
385 |
msgstr "Title"
|
386 |
|
387 |
-
#: includes/i18n.php:
|
388 |
msgid "Free version"
|
389 |
msgstr "Free version"
|
390 |
|
391 |
-
#: includes/i18n.php:
|
392 |
msgid "Premium version"
|
393 |
msgstr "Premium version"
|
394 |
|
395 |
-
#: includes/i18n.php:
|
396 |
msgctxt "as WP plugin slug"
|
397 |
msgid "Slug"
|
398 |
msgstr "Slug"
|
399 |
|
400 |
-
#: includes/i18n.php:
|
401 |
msgid "ID"
|
402 |
msgstr "ID"
|
403 |
|
404 |
-
#: includes/i18n.php:
|
405 |
msgid "Users"
|
406 |
msgstr "Users"
|
407 |
|
408 |
-
#: includes/i18n.php:
|
409 |
msgid "Plugin Installs"
|
410 |
msgstr "Plugin Installs"
|
411 |
|
412 |
-
#: includes/i18n.php:
|
413 |
msgid "%s Installs"
|
414 |
msgstr "%s Installs"
|
415 |
|
416 |
-
#: includes/i18n.php:
|
417 |
msgctxt "like websites"
|
418 |
msgid "Sites"
|
419 |
msgstr "Sites"
|
420 |
|
421 |
-
#: includes/i18n.php:
|
422 |
msgid "User ID"
|
423 |
msgstr "User ID"
|
424 |
|
425 |
-
#: includes/i18n.php:
|
426 |
msgid "Site ID"
|
427 |
msgstr "Site ID"
|
428 |
|
429 |
-
#: includes/i18n.php:
|
430 |
msgid "Public Key"
|
431 |
msgstr "Public Key"
|
432 |
|
433 |
-
#: includes/i18n.php:
|
434 |
msgid "Secret Key"
|
435 |
msgstr "Secret Key"
|
436 |
|
437 |
-
#: includes/i18n.php:
|
438 |
msgctxt "as secret encryption key missing"
|
439 |
msgid "No Secret"
|
440 |
msgstr "No Secret"
|
441 |
|
442 |
-
#: includes/i18n.php:
|
443 |
msgid "No ID"
|
444 |
msgstr "No ID"
|
445 |
|
446 |
-
#: includes/i18n.php:
|
447 |
msgctxt "as synchronize license"
|
448 |
msgid "Sync License"
|
449 |
msgstr "Sync License"
|
450 |
|
451 |
-
#: includes/i18n.php:
|
452 |
msgctxt "as synchronize"
|
453 |
msgid "Sync"
|
454 |
msgstr "Sync"
|
455 |
|
456 |
-
#: includes/i18n.php:
|
457 |
msgid "Activate License"
|
458 |
msgstr "Activate License"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgid "Activate Free Version"
|
462 |
msgstr "Activate Free Version"
|
463 |
|
464 |
-
#: includes/i18n.php:
|
465 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
466 |
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
467 |
|
468 |
-
#: includes/i18n.php:
|
469 |
msgid "Activating license..."
|
470 |
msgstr "Activating license..."
|
471 |
|
472 |
-
#: includes/i18n.php:
|
473 |
msgid "Change License"
|
474 |
msgstr "Change License"
|
475 |
|
476 |
-
#: includes/i18n.php:
|
477 |
msgid "Update License"
|
478 |
msgstr "Update License"
|
479 |
|
480 |
-
#: includes/i18n.php:
|
481 |
msgid "Deactivate License"
|
482 |
msgstr "Deactivate License"
|
483 |
|
484 |
-
#: includes/i18n.php:
|
485 |
msgid "Activate"
|
486 |
msgstr "Activate"
|
487 |
|
488 |
-
#: includes/i18n.php:
|
489 |
msgid "Deactivate"
|
490 |
msgstr "Deactivate"
|
491 |
|
492 |
-
#: includes/i18n.php:
|
493 |
msgid "Skip & Deactivate"
|
494 |
msgstr "Skip & Deactivate"
|
495 |
|
496 |
-
#: includes/i18n.php:
|
497 |
msgid "Skip & %s"
|
498 |
msgstr "Skip & %s"
|
499 |
|
500 |
-
#: includes/i18n.php:
|
501 |
msgid "No - just deactivate"
|
502 |
msgstr "No - just deactivate"
|
503 |
|
504 |
-
#: includes/i18n.php:
|
505 |
msgid "Yes - do your thing"
|
506 |
msgstr "Yes - do your thing"
|
507 |
|
508 |
-
#: includes/i18n.php:
|
509 |
msgctxt "active mode"
|
510 |
msgid "Active"
|
511 |
msgstr "Active"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgctxt "is active mode?"
|
515 |
msgid "Is Active"
|
516 |
msgstr "Is Active"
|
517 |
|
518 |
-
#: includes/i18n.php:
|
519 |
msgid "Install Now"
|
520 |
msgstr "Install Now"
|
521 |
|
522 |
-
#: includes/i18n.php:
|
523 |
msgid "Install Update Now"
|
524 |
msgstr "Install Update Now"
|
525 |
|
526 |
-
#: includes/i18n.php:
|
527 |
msgid "More information about %s"
|
528 |
msgstr "More information about %s"
|
529 |
|
530 |
-
#: includes/i18n.php:
|
531 |
msgid "Localhost"
|
532 |
msgstr "Localhost"
|
533 |
|
534 |
-
#: includes/i18n.php:
|
535 |
msgctxt "as activate Professional plan"
|
536 |
msgid "Activate %s Plan"
|
537 |
msgstr "Activate %s Plan"
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgctxt "as 5 licenses left"
|
541 |
msgid "%s left"
|
542 |
msgstr "%s left"
|
543 |
|
544 |
-
#: includes/i18n.php:
|
545 |
msgid "Last license"
|
546 |
msgstr "Last license"
|
547 |
|
548 |
-
#: includes/i18n.php:
|
549 |
msgid "What is your %s?"
|
550 |
msgstr "What is your %s?"
|
551 |
|
552 |
-
#: includes/i18n.php:
|
553 |
msgid "Activate this add-on"
|
554 |
msgstr "Activate this add-on"
|
555 |
|
556 |
-
#: includes/i18n.php:
|
557 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
558 |
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
559 |
|
560 |
-
#: includes/i18n.php:
|
561 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
562 |
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
563 |
|
564 |
-
#: includes/i18n.php:
|
565 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
570 |
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
571 |
|
572 |
-
#: includes/i18n.php:
|
573 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
574 |
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
575 |
|
576 |
-
#: includes/i18n.php:
|
577 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
578 |
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
582 |
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
583 |
|
584 |
-
#: includes/i18n.php:
|
585 |
msgid "Are you sure you want to proceed?"
|
586 |
msgstr "Are you sure you want to proceed?"
|
587 |
|
588 |
-
#: includes/i18n.php:
|
589 |
msgid "Add Ons for %s"
|
590 |
msgstr "Add Ons for %s"
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
594 |
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "Anonymous feedback"
|
598 |
msgstr "Anonymous feedback"
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
msgid "Quick feedback"
|
602 |
msgstr "Quick feedback"
|
603 |
|
604 |
-
#: includes/i18n.php:
|
605 |
msgid "If you have a moment, please let us know why you are deactivating"
|
606 |
msgstr "If you have a moment, please let us know why you are deactivating"
|
607 |
|
608 |
-
#: includes/i18n.php:
|
609 |
msgid "Yes - Deactivate"
|
610 |
msgstr "Yes - Deactivate"
|
611 |
|
612 |
-
#: includes/i18n.php:
|
613 |
msgid "Submit & Deactivate"
|
614 |
msgstr "Submit & Deactivate"
|
615 |
|
616 |
-
#: includes/i18n.php:
|
617 |
msgid "Cancel"
|
618 |
msgstr "Cancel"
|
619 |
|
620 |
-
#: includes/i18n.php:
|
621 |
msgid "I no longer need the plugin"
|
622 |
msgstr "I no longer need the plugin"
|
623 |
|
624 |
-
#: includes/i18n.php:
|
625 |
msgid "I found a better plugin"
|
626 |
msgstr "I found a better plugin"
|
627 |
|
628 |
-
#: includes/i18n.php:
|
629 |
msgid "I only needed the plugin for a short period"
|
630 |
msgstr "I only needed the plugin for a short period"
|
631 |
|
632 |
-
#: includes/i18n.php:
|
633 |
msgid "The plugin broke my site"
|
634 |
msgstr "The plugin broke my site"
|
635 |
|
636 |
-
#: includes/i18n.php:
|
637 |
msgid "The plugin suddenly stopped working"
|
638 |
msgstr "The plugin suddenly stopped working"
|
639 |
|
640 |
-
#: includes/i18n.php:
|
641 |
msgid "I can't pay for it anymore"
|
642 |
msgstr "I can't pay for it anymore"
|
643 |
|
644 |
-
#: includes/i18n.php:
|
645 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
646 |
msgstr "It's a temporary deactivation. I'm just debugging an issue."
|
647 |
|
648 |
-
#: includes/i18n.php:
|
649 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
650 |
msgid "Other"
|
651 |
msgstr "Other"
|
652 |
|
653 |
-
#: includes/i18n.php:
|
654 |
msgid "Kindly tell us the reason so we can improve."
|
655 |
msgstr "Kindly tell us the reason so we can improve."
|
656 |
|
657 |
-
#: includes/i18n.php:
|
658 |
msgid "What's the plugin's name?"
|
659 |
msgstr "What's the plugin's name?"
|
660 |
|
661 |
-
#: includes/i18n.php:
|
662 |
msgid "What price would you feel comfortable paying?"
|
663 |
msgstr "What price would you feel comfortable paying?"
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "I couldn't understand how to make it work"
|
667 |
msgstr "I couldn't understand how to make it work"
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
671 |
msgstr "The plugin is great, but I need specific feature that you don't support"
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "The plugin is not working"
|
675 |
msgstr "The plugin is not working"
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "It's not what I was looking for"
|
679 |
msgstr "It's not what I was looking for"
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
msgid "The plugin didn't work as expected"
|
683 |
msgstr "The plugin didn't work as expected"
|
684 |
|
685 |
-
#: includes/i18n.php:
|
686 |
msgid "What feature?"
|
687 |
msgstr "What feature?"
|
688 |
|
689 |
-
#: includes/i18n.php:
|
690 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
691 |
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
692 |
|
693 |
-
#: includes/i18n.php:
|
694 |
msgid "What you've been looking for?"
|
695 |
msgstr "What you've been looking for?"
|
696 |
|
697 |
-
#: includes/i18n.php:
|
698 |
msgid "What did you expect?"
|
699 |
msgstr "What did you expect?"
|
700 |
|
701 |
-
#: includes/i18n.php:
|
702 |
msgid "The plugin didn't work"
|
703 |
msgstr "The plugin didn't work"
|
704 |
|
705 |
-
#: includes/i18n.php:
|
706 |
msgid "I don't like to share my information with you"
|
707 |
msgstr "I don't like to share my information with you"
|
708 |
|
709 |
-
#: includes/i18n.php:
|
710 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
711 |
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
712 |
|
713 |
-
#: includes/i18n.php:
|
714 |
msgctxt "greeting"
|
715 |
msgid "Hey %s,"
|
716 |
msgstr "Hey %s,"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgctxt "a greeting. E.g. Thanks John!"
|
720 |
msgid "Thanks %s!"
|
721 |
msgstr "Thanks %s!"
|
722 |
|
723 |
-
#: includes/i18n.php:
|
724 |
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
725 |
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
726 |
|
727 |
-
#: includes/i18n.php:
|
728 |
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
729 |
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
730 |
|
731 |
-
#: includes/i18n.php:
|
732 |
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
733 |
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
734 |
|
735 |
-
#: includes/i18n.php:
|
736 |
msgid "complete the install"
|
737 |
msgstr "complete the install"
|
738 |
|
739 |
-
#: includes/i18n.php:
|
740 |
msgid "start the trial"
|
741 |
msgstr "start the trial"
|
742 |
|
743 |
-
#: includes/i18n.php:
|
744 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
745 |
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
746 |
|
747 |
-
#: includes/i18n.php:
|
748 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
749 |
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
750 |
|
751 |
-
#: includes/i18n.php:
|
752 |
msgid "What permissions are being granted?"
|
753 |
msgstr "What permissions are being granted?"
|
754 |
|
755 |
-
#: includes/i18n.php:
|
756 |
msgid "Your Profile Overview"
|
757 |
msgstr "Your Profile Overview"
|
758 |
|
759 |
-
#: includes/i18n.php:
|
760 |
msgid "Name and email address"
|
761 |
msgstr "Name and email address"
|
762 |
|
763 |
-
#: includes/i18n.php:
|
764 |
msgid "Your Site Overview"
|
765 |
msgstr "Your Site Overview"
|
766 |
|
767 |
-
#: includes/i18n.php:
|
768 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
769 |
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
770 |
|
771 |
-
#: includes/i18n.php:
|
772 |
msgid "Current Plugin Events"
|
773 |
msgstr "Current Plugin Events"
|
774 |
|
775 |
-
#: includes/i18n.php:
|
776 |
msgid "Activation, deactivation and uninstall"
|
777 |
msgstr "Activation, deactivation and uninstall"
|
778 |
|
779 |
-
#: includes/i18n.php:
|
780 |
msgid "Plugins & Themes"
|
781 |
msgstr "Plugins & Themes"
|
782 |
|
783 |
-
#: includes/i18n.php:
|
784 |
msgid "Titles, versions and state."
|
785 |
msgstr "Titles, versions and state."
|
786 |
|
787 |
-
#: includes/i18n.php:
|
788 |
msgid "Admin Notices"
|
789 |
msgstr "Admin Notices"
|
790 |
|
791 |
-
#: includes/i18n.php:
|
792 |
msgid "Newsletter"
|
793 |
msgstr "Newsletter"
|
794 |
|
795 |
-
#: includes/i18n.php:
|
796 |
msgid "Updates, announcements, marketing, no spam"
|
797 |
msgstr "Updates, announcements, marketing, no spam"
|
798 |
|
799 |
-
#: includes/i18n.php:
|
800 |
msgid "Privacy Policy"
|
801 |
msgstr "Privacy Policy"
|
802 |
|
803 |
-
#: includes/i18n.php:
|
804 |
msgid "Terms of Service"
|
805 |
msgstr "Terms of Service"
|
806 |
|
807 |
-
#: includes/i18n.php:
|
808 |
msgctxt "as activating plugin"
|
809 |
msgid "Activating"
|
810 |
msgstr "Activating"
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgctxt "as in the process of sending an email"
|
814 |
msgid "Sending email"
|
815 |
msgstr "Sending email"
|
816 |
|
817 |
-
#: includes/i18n.php:
|
818 |
msgctxt "button label"
|
819 |
msgid "Allow & Continue"
|
820 |
msgstr "Allow & Continue"
|
821 |
|
822 |
-
#: includes/i18n.php:
|
823 |
msgctxt "button label"
|
824 |
msgid "Agree & Activate License"
|
825 |
msgstr "Agree & Activate License"
|
826 |
|
827 |
-
#: includes/i18n.php:
|
828 |
msgctxt "verb"
|
829 |
msgid "Skip"
|
830 |
msgstr "Skip"
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgid "Click here to use the plugin anonymously"
|
834 |
msgstr "Click here to use the plugin anonymously"
|
835 |
|
836 |
-
#: includes/i18n.php:
|
837 |
msgid "Re-send activation email"
|
838 |
msgstr "Re-send activation email"
|
839 |
|
840 |
-
#: includes/i18n.php:
|
841 |
msgid "License key"
|
842 |
msgstr "License key"
|
843 |
|
844 |
-
#: includes/i18n.php:
|
845 |
msgid "Send License Key"
|
846 |
msgstr "Send License Key"
|
847 |
|
848 |
-
#: includes/i18n.php:
|
849 |
msgid "Sending license key"
|
850 |
msgstr "Sending license key"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgid "Have a license key?"
|
854 |
msgstr "Have a license key?"
|
855 |
|
856 |
-
#: includes/i18n.php:
|
857 |
msgid "Don't have a license key?"
|
858 |
msgstr "Don't have a license key?"
|
859 |
|
860 |
-
#: includes/i18n.php:
|
861 |
msgid "Can't find your license key?"
|
862 |
msgstr "Can't find your license key?"
|
863 |
|
864 |
-
#: includes/i18n.php:
|
865 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
866 |
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
867 |
|
868 |
-
#: includes/i18n.php:
|
869 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
870 |
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
871 |
|
872 |
-
#: includes/i18n.php:
|
873 |
msgid "Opt In"
|
874 |
msgstr "Opt In"
|
875 |
|
876 |
-
#: includes/i18n.php:
|
877 |
msgid "Opt Out"
|
878 |
msgstr "Opt Out"
|
879 |
|
880 |
-
#: includes/i18n.php:
|
881 |
msgid "On second thought - I want to continue helping"
|
882 |
msgstr "On second thought - I want to continue helping"
|
883 |
|
884 |
-
#: includes/i18n.php:
|
885 |
msgid "Opting out..."
|
886 |
msgstr "Opting out..."
|
887 |
|
888 |
-
#: includes/i18n.php:
|
889 |
msgid "Opting in..."
|
890 |
msgstr "Opting in..."
|
891 |
|
892 |
-
#: includes/i18n.php:
|
893 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
894 |
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
895 |
|
896 |
-
#: includes/i18n.php:
|
897 |
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
898 |
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
899 |
|
900 |
-
#: includes/i18n.php:
|
901 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
902 |
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
903 |
|
904 |
-
#: includes/i18n.php:
|
905 |
msgid "Screenshots"
|
906 |
msgstr "Screenshots"
|
907 |
|
908 |
-
#: includes/i18n.php:
|
909 |
msgid "Click to view full-size screenshot %d"
|
910 |
msgstr "Click to view full-size screenshot %d"
|
911 |
|
912 |
-
#: includes/i18n.php:
|
913 |
msgid "Freemius Debug"
|
914 |
msgstr "Freemius Debug"
|
915 |
|
916 |
-
#: includes/i18n.php:
|
917 |
msgctxt "as turned on"
|
918 |
msgid "On"
|
919 |
msgstr "On"
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
msgctxt "as turned off"
|
923 |
msgid "Off"
|
924 |
msgstr "Off"
|
925 |
|
926 |
-
#: includes/i18n.php:
|
927 |
msgctxt "as code debugging"
|
928 |
msgid "Debugging"
|
929 |
msgstr "Debugging"
|
930 |
|
931 |
-
#: includes/i18n.php:
|
932 |
msgid "Freemius State"
|
933 |
msgstr "Freemius State"
|
934 |
|
935 |
-
#: includes/i18n.php:
|
936 |
msgctxt "as connection was successful"
|
937 |
msgid "Connected"
|
938 |
msgstr "Connected"
|
939 |
|
940 |
-
#: includes/i18n.php:
|
941 |
msgctxt "as connection blocked"
|
942 |
msgid "Blocked"
|
943 |
msgstr "Blocked"
|
944 |
|
945 |
-
#: includes/i18n.php:
|
946 |
msgctxt "as application program interface"
|
947 |
msgid "API"
|
948 |
msgstr "API"
|
949 |
|
950 |
-
#: includes/i18n.php:
|
951 |
msgctxt "as software development kit versions"
|
952 |
msgid "SDK"
|
953 |
msgstr "SDK"
|
954 |
|
955 |
-
#: includes/i18n.php:
|
956 |
msgctxt "as software development kit versions"
|
957 |
msgid "SDK Versions"
|
958 |
msgstr "SDK Versions"
|
959 |
|
960 |
-
#: includes/i18n.php:
|
961 |
msgctxt "as plugin folder path"
|
962 |
msgid "Plugin Path"
|
963 |
msgstr "Plugin Path"
|
964 |
|
965 |
-
#: includes/i18n.php:
|
966 |
msgctxt "as sdk path"
|
967 |
msgid "SDK Path"
|
968 |
msgstr "SDK Path"
|
969 |
|
970 |
-
#: includes/i18n.php:
|
971 |
msgid "Add Ons of Plugin %s"
|
972 |
msgstr "Add Ons of Plugin %s"
|
973 |
|
974 |
-
#: includes/i18n.php:
|
975 |
msgid "Are you sure you want to delete all Freemius data?"
|
976 |
msgstr "Are you sure you want to delete all Freemius data?"
|
977 |
|
978 |
-
#: includes/i18n.php:
|
979 |
msgid "Actions"
|
980 |
msgstr "Actions"
|
981 |
|
982 |
-
#: includes/i18n.php:
|
983 |
msgid "Delete All Accounts"
|
984 |
msgstr "Delete All Accounts"
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgid "Start Fresh"
|
988 |
msgstr "Start Fresh"
|
989 |
|
990 |
-
#: includes/i18n.php:
|
991 |
msgid "Clear API Cache"
|
992 |
msgstr "Clear API Cache"
|
993 |
|
994 |
-
#: includes/i18n.php:
|
995 |
msgid "Sync Data From Server"
|
996 |
msgstr "Sync Data From Server"
|
997 |
|
998 |
-
#: includes/i18n.php:
|
999 |
msgid "Scheduled Crons"
|
1000 |
msgstr "Scheduled Crons"
|
1001 |
|
1002 |
-
#: includes/i18n.php:
|
1003 |
msgid "Cron Type"
|
1004 |
msgstr "Cron Type"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Plugins & Themes Sync"
|
1008 |
msgstr "Plugins & Themes Sync"
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "Licenses"
|
1012 |
msgstr "Licenses"
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Debug Log"
|
1016 |
msgstr "Debug Log"
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "All"
|
1020 |
msgstr "All"
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "File"
|
1024 |
msgstr "File"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Function"
|
1028 |
msgstr "Function"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Process ID"
|
1032 |
msgstr "Process ID"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Logger"
|
1036 |
msgstr "Logger"
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
1039 |
msgid "Message"
|
1040 |
msgstr "Message"
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
1043 |
msgid "Download"
|
1044 |
msgstr "Download"
|
1045 |
|
1046 |
-
#: includes/i18n.php:
|
1047 |
msgid "Filter"
|
1048 |
msgstr "Filter"
|
1049 |
|
1050 |
-
#: includes/i18n.php:
|
1051 |
msgid "Type"
|
1052 |
msgstr "Type"
|
1053 |
|
1054 |
-
#: includes/i18n.php:
|
1055 |
msgid "All Types"
|
1056 |
msgstr "All Types"
|
1057 |
|
1058 |
-
#: includes/i18n.php:
|
1059 |
msgid "All Requests"
|
1060 |
msgstr "All Requests"
|
1061 |
|
1062 |
-
#: includes/i18n.php:
|
1063 |
msgctxt "as congratulations"
|
1064 |
msgid "Congrats"
|
1065 |
msgstr "Congrats"
|
1066 |
|
1067 |
-
#: includes/i18n.php:
|
1068 |
msgctxt "exclamation"
|
1069 |
msgid "Oops"
|
1070 |
msgstr "Oops"
|
1071 |
|
1072 |
-
#: includes/i18n.php:
|
1073 |
msgctxt "interjection expressing joy or exuberance"
|
1074 |
msgid "Yee-haw"
|
1075 |
msgstr "Yee-haw"
|
1076 |
|
1077 |
-
#: includes/i18n.php:
|
1078 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1079 |
msgid "W00t"
|
1080 |
msgstr "W00t"
|
1081 |
|
1082 |
-
#: includes/i18n.php:
|
1083 |
msgctxt "a positive response"
|
1084 |
msgid "Right on"
|
1085 |
msgstr "Right on"
|
1086 |
|
1087 |
-
#: includes/i18n.php:
|
1088 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1089 |
msgid "Hmm"
|
1090 |
msgstr "Hmm"
|
1091 |
|
1092 |
-
#: includes/i18n.php:
|
1093 |
msgid "O.K"
|
1094 |
msgstr "O.K"
|
1095 |
|
1096 |
-
#: includes/i18n.php:
|
1097 |
msgctxt "exclamation"
|
1098 |
msgid "Hey"
|
1099 |
msgstr "Hey"
|
1100 |
|
1101 |
-
#: includes/i18n.php:
|
1102 |
msgctxt "advance notice of something that will need attention."
|
1103 |
msgid "Heads up"
|
1104 |
msgstr "Heads up"
|
1105 |
|
1106 |
-
#: includes/i18n.php:
|
1107 |
msgid "Seems like you got the latest release."
|
1108 |
msgstr "Seems like you got the latest release."
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
msgid "You are all good!"
|
1112 |
msgstr "You are all good!"
|
1113 |
|
1114 |
-
#: includes/i18n.php:
|
1115 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1116 |
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1117 |
|
1118 |
-
#: includes/i18n.php:
|
1119 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1120 |
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1121 |
|
1122 |
-
#: includes/i18n.php:
|
1123 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1124 |
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1125 |
|
1126 |
-
#: includes/i18n.php:
|
1127 |
msgid "Your name was successfully updated."
|
1128 |
msgstr "Your name was successfully updated."
|
1129 |
|
1130 |
-
#: includes/i18n.php:
|
1131 |
msgid "You have successfully updated your %s."
|
1132 |
msgstr "You have successfully updated your %s."
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
msgid "Please provide your full name."
|
1136 |
msgstr "Please provide your full name."
|
1137 |
|
1138 |
-
#: includes/i18n.php:
|
1139 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1140 |
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1141 |
|
1142 |
-
#: includes/i18n.php:
|
1143 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1144 |
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1145 |
|
1146 |
-
#: includes/i18n.php:
|
1147 |
msgid "No credit card required"
|
1148 |
msgstr "No credit card required"
|
1149 |
|
1150 |
-
#: includes/i18n.php:
|
1151 |
msgid "Premium plugin version was successfully activated."
|
1152 |
msgstr "Premium plugin version was successfully activated."
|
1153 |
|
1154 |
-
#: includes/i18n.php:
|
1155 |
msgid "The upgrade of %s was successfully completed."
|
1156 |
msgstr "The upgrade of %s was successfully completed."
|
1157 |
|
1158 |
-
#: includes/i18n.php:
|
1159 |
msgid "Your account was successfully activated with the %s plan."
|
1160 |
msgstr "Your account was successfully activated with the %s plan."
|
1161 |
|
1162 |
-
#: includes/i18n.php:
|
1163 |
msgid "Download the latest %s version now"
|
1164 |
msgstr "Download the latest %s version now"
|
1165 |
|
1166 |
-
#: includes/i18n.php:
|
1167 |
msgid "Please follow these steps to complete the upgrade"
|
1168 |
msgstr "Please follow these steps to complete the upgrade"
|
1169 |
|
1170 |
-
#: includes/i18n.php:
|
1171 |
msgid "Download the latest %s version"
|
1172 |
msgstr "Download the latest %s version"
|
1173 |
|
1174 |
-
#: includes/i18n.php:
|
1175 |
msgid "Download the latest version"
|
1176 |
msgstr "Download the latest version"
|
1177 |
|
1178 |
-
#: includes/i18n.php:
|
1179 |
msgid "Deactivate the free version"
|
1180 |
msgstr "Deactivate the free version"
|
1181 |
|
1182 |
-
#: includes/i18n.php:
|
1183 |
msgid "Upload and activate the downloaded version"
|
1184 |
msgstr "Upload and activate the downloaded version"
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
msgid "How to upload and activate?"
|
1188 |
msgstr "How to upload and activate?"
|
1189 |
|
1190 |
-
#: includes/i18n.php:
|
1191 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1192 |
msgid "%s Add-on was successfully purchased."
|
1193 |
msgstr "%s Add-on was successfully purchased."
|
1194 |
|
1195 |
-
#: includes/i18n.php:
|
1196 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1197 |
msgstr "Your %s Add-on plan was successfully upgraded."
|
1198 |
|
1199 |
-
#: includes/i18n.php:
|
1200 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1201 |
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1202 |
|
1203 |
-
#: includes/i18n.php:
|
1204 |
msgid "Your plan was successfully upgraded."
|
1205 |
msgstr "Your plan was successfully upgraded."
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
msgid "Your plan was successfully changed to %s."
|
1209 |
msgstr "Your plan was successfully changed to %s."
|
1210 |
|
1211 |
-
#: includes/i18n.php:
|
1212 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1213 |
msgstr "Your license has expired. You can still continue using the free plugin forever."
|
1214 |
|
1215 |
-
#: includes/i18n.php:
|
1216 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1217 |
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1218 |
|
1219 |
-
#: includes/i18n.php:
|
1220 |
msgid "Your trial has been successfully started."
|
1221 |
msgstr "Your trial has been successfully started."
|
1222 |
|
1223 |
-
#: includes/i18n.php:
|
1224 |
msgid "Your license was successfully activated."
|
1225 |
msgstr "Your license was successfully activated."
|
1226 |
|
1227 |
-
#: includes/i18n.php:
|
1228 |
msgid "It looks like your site currently doesn't have an active license."
|
1229 |
msgstr "It looks like your site currently doesn't have an active license."
|
1230 |
|
1231 |
-
#: includes/i18n.php:
|
1232 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1233 |
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
1234 |
|
1235 |
-
#: includes/i18n.php:
|
1236 |
msgid "It looks like the license deactivation failed."
|
1237 |
msgstr "It looks like the license deactivation failed."
|
1238 |
|
1239 |
-
#: includes/i18n.php:
|
1240 |
msgid "It looks like the license could not be activated."
|
1241 |
msgstr "It looks like the license could not be activated."
|
1242 |
|
1243 |
-
#: includes/i18n.php:
|
1244 |
msgid "Error received from the server:"
|
1245 |
msgstr "Error received from the server:"
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1249 |
msgstr "Your trial has expired. You can still continue using all our free features."
|
1250 |
|
1251 |
-
#: includes/i18n.php:
|
1252 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1253 |
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1254 |
|
1255 |
-
#: includes/i18n.php:
|
1256 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1257 |
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1261 |
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1262 |
|
1263 |
-
#: includes/i18n.php:
|
1264 |
msgid "Your %s free trial was successfully cancelled."
|
1265 |
msgstr "Your %s free trial was successfully cancelled."
|
1266 |
|
1267 |
-
#: includes/i18n.php:
|
1268 |
msgctxt "%s - numeric version number"
|
1269 |
msgid "Version %s was released."
|
1270 |
msgstr "Version %s was released."
|
1271 |
|
1272 |
-
#: includes/i18n.php:
|
1273 |
msgid "Please download %s."
|
1274 |
msgstr "Please download %s."
|
1275 |
|
1276 |
-
#: includes/i18n.php:
|
1277 |
msgctxt "%s - plan name, as the latest professional version here"
|
1278 |
msgid "the latest %s version here"
|
1279 |
msgstr "the latest %s version here"
|
1280 |
|
1281 |
-
#: includes/i18n.php:
|
1282 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1283 |
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1284 |
|
1285 |
-
#: includes/i18n.php:
|
1286 |
msgctxt "call to action"
|
1287 |
msgid "Start free trial"
|
1288 |
msgstr "Start free trial"
|
1289 |
|
1290 |
-
#: includes/i18n.php:
|
1291 |
msgid "Starting trial"
|
1292 |
msgstr "Starting trial"
|
1293 |
|
1294 |
-
#: includes/i18n.php:
|
1295 |
msgid "Please wait"
|
1296 |
msgstr "Please wait"
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1300 |
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1301 |
|
1302 |
-
#: includes/i18n.php:
|
1303 |
msgid "You already utilized a trial before."
|
1304 |
msgstr "You already utilized a trial before."
|
1305 |
|
1306 |
-
#: includes/i18n.php:
|
1307 |
msgid "You are already running the plugin in a trial mode."
|
1308 |
msgstr "You are already running the plugin in a trial mode."
|
1309 |
|
1310 |
-
#: includes/i18n.php:
|
1311 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1312 |
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
1313 |
|
1314 |
-
#: includes/i18n.php:
|
1315 |
msgid "Plan %s does not support a trial period."
|
1316 |
msgstr "Plan %s does not support a trial period."
|
1317 |
|
1318 |
-
#: includes/i18n.php:
|
1319 |
msgid "None of the plugin's plans supports a trial period."
|
1320 |
msgstr "None of the plugin's plans supports a trial period."
|
1321 |
|
1322 |
-
#: includes/i18n.php:
|
1323 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1324 |
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
1325 |
|
1326 |
-
#: includes/i18n.php:
|
1327 |
msgid "No commitment for %s days - cancel anytime!"
|
1328 |
msgstr "No commitment for %s days - cancel anytime!"
|
1329 |
|
1330 |
-
#: includes/i18n.php:
|
1331 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1332 |
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1333 |
|
1334 |
-
#: includes/i18n.php:
|
1335 |
msgid "Couldn't activate %s."
|
1336 |
msgstr "Couldn't activate %s."
|
1337 |
|
1338 |
-
#: includes/i18n.php:
|
1339 |
msgid "Please contact us with the following message:"
|
1340 |
msgstr "Please contact us with the following message:"
|
1341 |
|
1342 |
-
#: includes/i18n.php:
|
1343 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1344 |
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1345 |
|
1346 |
-
#: includes/i18n.php:
|
1347 |
msgid "Please contact us here"
|
1348 |
msgstr "Please contact us here"
|
1349 |
|
1350 |
-
#: includes/i18n.php:
|
1351 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1352 |
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1353 |
|
1354 |
-
#: includes/i18n.php:
|
1355 |
msgid "From unknown reason, the API connectivity test failed."
|
1356 |
msgstr "From unknown reason, the API connectivity test failed."
|
1357 |
|
1358 |
-
#: includes/i18n.php:
|
1359 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1360 |
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1361 |
|
1362 |
-
#: includes/i18n.php:385
|
1363 |
-
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1364 |
-
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1365 |
-
|
1366 |
#: includes/i18n.php:386
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1367 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1368 |
msgstr "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1369 |
|
1370 |
-
#: includes/i18n.php:
|
1371 |
msgctxt "as pluginX requires an access to our API"
|
1372 |
msgid "%s requires an access to our API."
|
1373 |
msgstr "%s requires an access to our API."
|
1374 |
|
1375 |
-
#: includes/i18n.php:
|
1376 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1377 |
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
msgid "I don't know what is Squid or ACL, help me!"
|
1381 |
msgstr "I don't know what is Squid or ACL, help me!"
|
1382 |
|
1383 |
-
#: includes/i18n.php:
|
1384 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1385 |
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1386 |
|
1387 |
-
#: includes/i18n.php:
|
1388 |
msgid "I'm a system administrator"
|
1389 |
msgstr "I'm a system administrator"
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
1392 |
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1393 |
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1394 |
|
1395 |
-
#: includes/i18n.php:
|
1396 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1397 |
msgstr "I don't know what is cURL or how to install it, help me!"
|
1398 |
|
1399 |
-
#: includes/i18n.php:
|
1400 |
-
msgid "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1401 |
-
msgstr "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1402 |
|
1403 |
-
#: includes/i18n.php:
|
1404 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1405 |
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1406 |
|
1407 |
-
#: includes/i18n.php:
|
1408 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1409 |
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1410 |
|
1411 |
-
#: includes/i18n.php:
|
1412 |
msgid "Yes - I'm giving you a chance to fix it"
|
1413 |
msgstr "Yes - I'm giving you a chance to fix it"
|
1414 |
|
1415 |
-
#: includes/i18n.php:
|
1416 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1417 |
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1418 |
|
1419 |
-
#: includes/i18n.php:
|
1420 |
msgid "Let's try your previous version"
|
1421 |
msgstr "Let's try your previous version"
|
1422 |
|
1423 |
-
#: includes/i18n.php:
|
1424 |
msgid "Uninstall this version and install the previous one."
|
1425 |
msgstr "Uninstall this version and install the previous one."
|
1426 |
|
1427 |
-
#: includes/i18n.php:
|
1428 |
msgid "That's exhausting, please deactivate"
|
1429 |
msgstr "That's exhausting, please deactivate"
|
1430 |
|
1431 |
-
#: includes/i18n.php:
|
1432 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1433 |
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1434 |
|
1435 |
-
#: includes/i18n.php:
|
1436 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1437 |
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1441 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1442 |
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1446 |
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1447 |
|
1448 |
-
#: includes/i18n.php:
|
1449 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1450 |
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1451 |
|
1452 |
-
#: includes/i18n.php:
|
1453 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1454 |
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1455 |
|
1456 |
-
#: includes/i18n.php:
|
1457 |
msgid "%s is the new owner of the account."
|
1458 |
msgstr "%s is the new owner of the account."
|
1459 |
|
1460 |
-
#: includes/i18n.php:
|
1461 |
msgctxt "addonX cannot run without pluginY"
|
1462 |
msgid "%s cannot run without %s."
|
1463 |
msgstr "%s cannot run without %s."
|
1464 |
|
1465 |
-
#: includes/i18n.php:
|
1466 |
msgctxt "addonX cannot run..."
|
1467 |
msgid "%s cannot run without the plugin."
|
1468 |
msgstr "%s cannot run without the plugin."
|
1469 |
|
1470 |
-
#: includes/i18n.php:
|
1471 |
msgctxt "pluginX activation was successfully..."
|
1472 |
msgid "%s activation was successfully completed."
|
1473 |
msgstr "%s activation was successfully completed."
|
1474 |
|
1475 |
-
#: includes/i18n.php:
|
1476 |
msgctxt "Plugin installer section title"
|
1477 |
msgid "Features & Pricing"
|
1478 |
msgstr "Features & Pricing"
|
1479 |
|
1480 |
-
#: includes/i18n.php:
|
1481 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1482 |
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1483 |
|
1484 |
-
#: includes/i18n.php:
|
1485 |
msgid "Paid add-on must be deployed to Freemius."
|
1486 |
msgstr "Paid add-on must be deployed to Freemius."
|
1487 |
|
1488 |
-
#: includes/i18n.php:
|
1489 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1490 |
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1494 |
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1495 |
|
1496 |
-
#: includes/i18n.php:
|
1497 |
msgctxt "as every month"
|
1498 |
msgid "Monthly"
|
1499 |
msgstr "Monthly"
|
1500 |
|
1501 |
-
#: includes/i18n.php:
|
1502 |
msgctxt "as monthly period"
|
1503 |
msgid "mo"
|
1504 |
msgstr "mo"
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
msgctxt "as once a year"
|
1508 |
msgid "Annual"
|
1509 |
msgstr "Annual"
|
1510 |
|
1511 |
-
#: includes/i18n.php:
|
1512 |
msgctxt "as once a year"
|
1513 |
msgid "Annually"
|
1514 |
msgstr "Annually"
|
1515 |
|
1516 |
-
#: includes/i18n.php:
|
1517 |
msgctxt "as once a year"
|
1518 |
msgid "Once"
|
1519 |
msgstr "Once"
|
1520 |
|
1521 |
-
#: includes/i18n.php:
|
1522 |
msgctxt "as annual period"
|
1523 |
msgid "year"
|
1524 |
msgstr "year"
|
1525 |
|
1526 |
-
#: includes/i18n.php:
|
1527 |
msgid "Lifetime"
|
1528 |
msgstr "Lifetime"
|
1529 |
|
1530 |
-
#: includes/i18n.php:
|
1531 |
msgctxt "e.g. the best product"
|
1532 |
msgid "Best"
|
1533 |
msgstr "Best"
|
1534 |
|
1535 |
-
#: includes/i18n.php:
|
1536 |
msgctxt "e.g. billed monthly"
|
1537 |
msgid "Billed %s"
|
1538 |
msgstr "Billed %s"
|
1539 |
|
1540 |
-
#: includes/i18n.php:
|
1541 |
msgctxt "as a discount of $5 or 10%"
|
1542 |
msgid "Save %s"
|
1543 |
msgstr "Save %s"
|
1544 |
|
1545 |
-
#: includes/i18n.php:
|
1546 |
msgid "View details"
|
1547 |
msgstr "View details"
|
1548 |
|
1549 |
-
#: includes/i18n.php:
|
1550 |
msgctxt "button label"
|
1551 |
msgid "Approve & Start Trial"
|
1552 |
msgstr "Approve & Start Trial"
|
1553 |
|
1554 |
-
#: includes/i18n.php:
|
1555 |
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1556 |
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1557 |
|
1558 |
-
#: includes/i18n.php:
|
1559 |
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1560 |
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1561 |
|
1562 |
-
#: includes/i18n.php:
|
1563 |
msgid "Business name"
|
1564 |
msgstr "Business name"
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
msgid "Tax / VAT ID"
|
1568 |
msgstr "Tax / VAT ID"
|
1569 |
|
1570 |
-
#: includes/i18n.php:
|
1571 |
msgid "Address Line %d"
|
1572 |
msgstr "Address Line %d"
|
1573 |
|
1574 |
-
#: includes/i18n.php:
|
1575 |
msgid "Country"
|
1576 |
msgstr "Country"
|
1577 |
|
1578 |
-
#: includes/i18n.php:
|
1579 |
msgid "Select Country"
|
1580 |
msgstr "Select Country"
|
1581 |
|
1582 |
-
#: includes/i18n.php:
|
1583 |
msgid "City"
|
1584 |
msgstr "City"
|
1585 |
|
1586 |
-
#: includes/i18n.php:
|
1587 |
msgid "Town"
|
1588 |
msgstr "Town"
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgid "State"
|
1592 |
msgstr "State"
|
1593 |
|
1594 |
-
#: includes/i18n.php:
|
1595 |
msgid "Province"
|
1596 |
msgstr "Province"
|
1597 |
|
1598 |
-
#: includes/i18n.php:
|
1599 |
msgid "ZIP / Postal Code"
|
1600 |
msgstr "ZIP / Postal Code"
|
1601 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1602 |
#: includes/i18n.php:481
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1603 |
msgctxt "Plugin installer section title"
|
1604 |
msgid "Description"
|
1605 |
msgstr "Description"
|
1606 |
|
1607 |
-
#: includes/i18n.php:
|
1608 |
msgctxt "Plugin installer section title"
|
1609 |
msgid "Installation"
|
1610 |
msgstr "Installation"
|
1611 |
|
1612 |
-
#: includes/i18n.php:
|
1613 |
msgctxt "Plugin installer section title"
|
1614 |
msgid "FAQ"
|
1615 |
msgstr "FAQ"
|
1616 |
|
1617 |
-
#: includes/i18n.php:
|
1618 |
msgctxt "Plugin installer section title"
|
1619 |
msgid "Changelog"
|
1620 |
msgstr "Changelog"
|
1621 |
|
1622 |
-
#: includes/i18n.php:
|
1623 |
msgctxt "Plugin installer section title"
|
1624 |
msgid "Reviews"
|
1625 |
msgstr "Reviews"
|
1626 |
|
1627 |
-
#: includes/i18n.php:
|
1628 |
msgctxt "Plugin installer section title"
|
1629 |
msgid "Other Notes"
|
1630 |
msgstr "Other Notes"
|
1631 |
|
1632 |
-
#: includes/i18n.php:
|
1633 |
msgid "%s star"
|
1634 |
msgstr "%s star"
|
1635 |
|
1636 |
-
#: includes/i18n.php:
|
1637 |
msgid "%s stars"
|
1638 |
msgstr "%s stars"
|
1639 |
|
1640 |
-
#: includes/i18n.php:
|
1641 |
msgid "%s rating"
|
1642 |
msgstr "%s rating"
|
1643 |
|
1644 |
-
#: includes/i18n.php:
|
1645 |
msgid "%s ratings"
|
1646 |
msgstr "%s ratings"
|
1647 |
|
1648 |
-
#: includes/i18n.php:
|
1649 |
msgid "%s time"
|
1650 |
msgstr "%s time"
|
1651 |
|
1652 |
-
#: includes/i18n.php:
|
1653 |
msgid "%s times"
|
1654 |
msgstr "%s times"
|
1655 |
|
1656 |
-
#: includes/i18n.php:
|
1657 |
msgid "Click to see reviews that provided a rating of %s"
|
1658 |
msgstr "Click to see reviews that provided a rating of %s"
|
1659 |
|
1660 |
-
#: includes/i18n.php:
|
1661 |
msgid "Last Updated"
|
1662 |
msgstr "Last Updated"
|
1663 |
|
1664 |
-
#: includes/i18n.php:
|
1665 |
msgid "Requires WordPress Version:"
|
1666 |
msgstr "Requires WordPress Version:"
|
1667 |
|
1668 |
-
#: includes/i18n.php:
|
1669 |
msgctxt "as the plugin author"
|
1670 |
msgid "Author:"
|
1671 |
msgstr "Author:"
|
1672 |
|
1673 |
-
#: includes/i18n.php:
|
1674 |
msgid "Compatible up to:"
|
1675 |
msgstr "Compatible up to:"
|
1676 |
|
1677 |
-
#: includes/i18n.php:
|
1678 |
msgid "Downloaded:"
|
1679 |
msgstr "Downloaded:"
|
1680 |
|
1681 |
-
#: includes/i18n.php:
|
1682 |
msgid "WordPress.org Plugin Page"
|
1683 |
msgstr "WordPress.org Plugin Page"
|
1684 |
|
1685 |
-
#: includes/i18n.php:
|
1686 |
msgid "Plugin Homepage"
|
1687 |
msgstr "Plugin Homepage"
|
1688 |
|
1689 |
-
#: includes/i18n.php:
|
1690 |
msgid "Donate to this plugin"
|
1691 |
msgstr "Donate to this plugin"
|
1692 |
|
1693 |
-
#: includes/i18n.php:
|
1694 |
msgid "Average Rating"
|
1695 |
msgstr "Average Rating"
|
1696 |
|
1697 |
-
#: includes/i18n.php:
|
1698 |
msgid "based on %s"
|
1699 |
msgstr "based on %s"
|
1700 |
|
1701 |
-
#: includes/i18n.php:
|
1702 |
msgid "Warning:"
|
1703 |
msgstr "Warning:"
|
1704 |
|
1705 |
-
#: includes/i18n.php:
|
1706 |
msgid "Contributors"
|
1707 |
msgstr "Contributors"
|
1708 |
|
1709 |
-
#: includes/i18n.php:
|
1710 |
msgid "Plugin Install"
|
1711 |
msgstr "Plugin Install"
|
1712 |
|
1713 |
-
#: includes/i18n.php:
|
1714 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1715 |
msgstr "This plugin has not been tested with your current version of WordPress."
|
1716 |
|
1717 |
-
#: includes/i18n.php:
|
1718 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1719 |
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1720 |
|
1721 |
-
#: includes/i18n.php:
|
1722 |
msgid "Newer Version (%s) Installed"
|
1723 |
msgstr "Newer Version (%s) Installed"
|
1724 |
|
1725 |
-
#: includes/i18n.php:
|
1726 |
msgid "Latest Version Installed"
|
1727 |
msgstr "Latest Version Installed"
|
80 |
msgstr "Downgrade"
|
81 |
|
82 |
#: includes/i18n.php:51
|
83 |
+
msgctxt "verb"
|
84 |
+
msgid "Cancel Subscription"
|
85 |
+
msgstr "Cancel Subscription"
|
86 |
+
|
87 |
+
#: includes/i18n.php:52
|
88 |
msgid "Cancel Trial"
|
89 |
msgstr "Cancel Trial"
|
90 |
|
91 |
+
#: includes/i18n.php:53
|
92 |
msgid "Free Trial"
|
93 |
msgstr "Free Trial"
|
94 |
|
95 |
+
#: includes/i18n.php:54
|
96 |
msgid "Start my free %s"
|
97 |
msgstr "Start my free %s"
|
98 |
|
99 |
+
#: includes/i18n.php:55
|
100 |
msgid "No commitment for %s - cancel anytime"
|
101 |
msgstr "No commitment for %s - cancel anytime"
|
102 |
|
103 |
+
#: includes/i18n.php:56
|
104 |
msgid "After your free %s, pay as little as %s"
|
105 |
msgstr "After your free %s, pay as little as %s"
|
106 |
|
107 |
+
#: includes/i18n.php:57
|
108 |
msgid "Details"
|
109 |
msgstr "Details"
|
110 |
|
111 |
+
#: includes/i18n.php:58
|
112 |
msgid "Account Details"
|
113 |
msgstr "Account Details"
|
114 |
|
115 |
+
#: includes/i18n.php:59
|
116 |
msgctxt "verb"
|
117 |
msgid "Delete"
|
118 |
msgstr "Delete"
|
119 |
|
120 |
+
#: includes/i18n.php:60
|
121 |
msgctxt "verb"
|
122 |
msgid "Show"
|
123 |
msgstr "Show"
|
124 |
|
125 |
+
#: includes/i18n.php:61
|
126 |
msgctxt "verb"
|
127 |
msgid "Hide"
|
128 |
msgstr "Hide"
|
129 |
|
130 |
+
#: includes/i18n.php:62
|
131 |
msgctxt "verb"
|
132 |
msgid "Edit"
|
133 |
msgstr "Edit"
|
134 |
|
135 |
+
#: includes/i18n.php:63
|
136 |
msgctxt "verb"
|
137 |
msgid "Update"
|
138 |
msgstr "Update"
|
139 |
|
140 |
+
#: includes/i18n.php:64
|
141 |
msgid "Date"
|
142 |
msgstr "Date"
|
143 |
|
144 |
+
#: includes/i18n.php:65
|
145 |
msgid "Amount"
|
146 |
msgstr "Amount"
|
147 |
|
148 |
+
#: includes/i18n.php:66
|
149 |
msgid "Invoice"
|
150 |
msgstr "Invoice"
|
151 |
|
152 |
+
#: includes/i18n.php:67
|
153 |
msgid "Billing"
|
154 |
msgstr "Billing"
|
155 |
|
156 |
+
#: includes/i18n.php:68
|
157 |
msgid "Payments"
|
158 |
msgstr "Payments"
|
159 |
|
160 |
+
#: includes/i18n.php:69
|
161 |
msgid "Delete Account"
|
162 |
msgstr "Delete Account"
|
163 |
|
164 |
+
#: includes/i18n.php:70
|
165 |
msgctxt "as close a window"
|
166 |
msgid "Dismiss"
|
167 |
msgstr "Dismiss"
|
168 |
|
169 |
+
#: includes/i18n.php:71
|
170 |
msgctxt "as product pricing plan"
|
171 |
msgid "Plan"
|
172 |
msgstr "Plan"
|
173 |
|
174 |
+
#: includes/i18n.php:72
|
175 |
msgid "Change Plan"
|
176 |
msgstr "Change Plan"
|
177 |
|
178 |
+
#: includes/i18n.php:73
|
179 |
msgctxt "as download professional version"
|
180 |
msgid "Download %s Version"
|
181 |
msgstr "Download %s Version"
|
182 |
|
183 |
+
#: includes/i18n.php:74
|
184 |
msgctxt "as download professional version now"
|
185 |
msgid "Download %s version now"
|
186 |
msgstr "Download %s version now"
|
187 |
|
188 |
+
#: includes/i18n.php:75
|
189 |
msgctxt "as download latest version"
|
190 |
msgid "Download Latest"
|
191 |
msgstr "Download Latest"
|
192 |
|
193 |
+
#: includes/i18n.php:76
|
194 |
msgctxt "E.g. you have a professional license."
|
195 |
msgid "You have a %s license."
|
196 |
msgstr "You have a %s license."
|
197 |
|
198 |
+
#: includes/i18n.php:77
|
199 |
msgid "New"
|
200 |
msgstr "New"
|
201 |
|
202 |
+
#: includes/i18n.php:78
|
203 |
msgid "Free"
|
204 |
msgstr "Free"
|
205 |
|
206 |
+
#: includes/i18n.php:79
|
207 |
msgctxt "as trial plan"
|
208 |
msgid "Trial"
|
209 |
msgstr "Trial"
|
210 |
|
211 |
+
#: includes/i18n.php:80
|
212 |
msgctxt "as starting a trial plan"
|
213 |
msgid "Start Trial"
|
214 |
msgstr "Start Trial"
|
215 |
|
216 |
+
#: includes/i18n.php:81
|
217 |
msgctxt "verb"
|
218 |
msgid "Purchase"
|
219 |
msgstr "Purchase"
|
220 |
|
221 |
+
#: includes/i18n.php:82
|
222 |
msgid "Purchase License"
|
223 |
msgstr "Purchase License"
|
224 |
|
225 |
+
#: includes/i18n.php:83
|
226 |
msgctxt "verb"
|
227 |
msgid "Buy"
|
228 |
msgstr "Buy"
|
229 |
|
230 |
+
#: includes/i18n.php:84
|
231 |
msgid "Buy License"
|
232 |
msgstr "Buy License"
|
233 |
|
234 |
+
#: includes/i18n.php:85
|
235 |
msgid "Single Site License"
|
236 |
msgstr "Single Site License"
|
237 |
|
238 |
+
#: includes/i18n.php:86
|
239 |
msgid "Unlimited Licenses"
|
240 |
msgstr "Unlimited Licenses"
|
241 |
|
242 |
+
#: includes/i18n.php:87
|
243 |
msgid "Up to %s Sites"
|
244 |
msgstr "Up to %s Sites"
|
245 |
|
246 |
+
#: includes/i18n.php:88
|
247 |
msgid "%sRenew your license now%s to access version %s features and support."
|
248 |
msgstr "%sRenew your license now%s to access version %s features and support."
|
249 |
|
250 |
+
#: includes/i18n.php:89
|
251 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
252 |
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
253 |
|
254 |
+
#: includes/i18n.php:90
|
255 |
msgctxt "e.g. Professional Plan"
|
256 |
msgid "%s Plan"
|
257 |
msgstr "%s Plan"
|
258 |
|
259 |
+
#: includes/i18n.php:91
|
260 |
msgid "You are just one step away - %s"
|
261 |
msgstr "You are just one step away - %s"
|
262 |
|
263 |
+
#: includes/i18n.php:92
|
264 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
265 |
msgid "Complete \"%s\" Activation Now"
|
266 |
msgstr "Complete \"%s\" Activation Now"
|
267 |
|
268 |
+
#: includes/i18n.php:94
|
269 |
msgid "We made a few tweaks to the plugin, %s"
|
270 |
msgstr "We made a few tweaks to the plugin, %s"
|
271 |
|
272 |
+
#: includes/i18n.php:95
|
273 |
msgid "Opt-in to make \"%s\" Better!"
|
274 |
msgstr "Opt-in to make \"%s\" Better!"
|
275 |
|
276 |
+
#: includes/i18n.php:96
|
277 |
msgid "Error"
|
278 |
msgstr "Error"
|
279 |
|
280 |
+
#: includes/i18n.php:97
|
281 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
282 |
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
283 |
|
284 |
+
#: includes/i18n.php:100
|
285 |
msgctxt "as expiration date"
|
286 |
msgid "Expiration"
|
287 |
msgstr "Expiration"
|
288 |
|
289 |
+
#: includes/i18n.php:101
|
290 |
msgctxt "as software license"
|
291 |
msgid "License"
|
292 |
msgstr "License"
|
293 |
|
294 |
+
#: includes/i18n.php:102
|
295 |
msgid "not verified"
|
296 |
msgstr "not verified"
|
297 |
|
298 |
+
#: includes/i18n.php:103
|
299 |
msgid "Verify Email"
|
300 |
msgstr "Verify Email"
|
301 |
|
302 |
+
#: includes/i18n.php:104
|
303 |
msgctxt "e.g. expires in 2 months"
|
304 |
msgid "Expires in %s"
|
305 |
msgstr "Expires in %s"
|
306 |
|
307 |
+
#: includes/i18n.php:105
|
308 |
msgctxt "e.g. auto renews in 2 months"
|
309 |
msgid "Auto renews in %s"
|
310 |
msgstr "Auto renews in %s"
|
311 |
|
312 |
+
#: includes/i18n.php:106
|
313 |
msgid "No expiration"
|
314 |
msgstr "No expiration"
|
315 |
|
316 |
+
#: includes/i18n.php:107
|
317 |
msgid "Expired"
|
318 |
msgstr "Expired"
|
319 |
|
320 |
+
#: includes/i18n.php:108
|
321 |
msgid "Cancelled"
|
322 |
msgstr "Cancelled"
|
323 |
|
324 |
+
#: includes/i18n.php:109
|
325 |
msgctxt "e.g. In 2 hours"
|
326 |
msgid "In %s"
|
327 |
msgstr "In %s"
|
328 |
|
329 |
+
#: includes/i18n.php:110
|
330 |
msgctxt "e.g. 2 min ago"
|
331 |
msgid "%s ago"
|
332 |
msgstr "%s ago"
|
333 |
|
334 |
+
#: includes/i18n.php:112
|
335 |
msgid "%s or higher"
|
336 |
msgstr "%s or higher"
|
337 |
|
338 |
+
#: includes/i18n.php:113
|
339 |
msgctxt "as plugin version"
|
340 |
msgid "Version"
|
341 |
msgstr "Version"
|
342 |
|
343 |
+
#: includes/i18n.php:114
|
344 |
msgid "Name"
|
345 |
msgstr "Name"
|
346 |
|
347 |
+
#: includes/i18n.php:115
|
348 |
msgid "Email"
|
349 |
msgstr "Email"
|
350 |
|
351 |
+
#: includes/i18n.php:116
|
352 |
msgid "Email address"
|
353 |
msgstr "Email address"
|
354 |
|
355 |
+
#: includes/i18n.php:117
|
356 |
msgid "Verified"
|
357 |
msgstr "Verified"
|
358 |
|
359 |
+
#: includes/i18n.php:118
|
360 |
msgid "Module"
|
361 |
msgstr "Module"
|
362 |
|
363 |
+
#: includes/i18n.php:119
|
364 |
msgid "Module Type"
|
365 |
msgstr "Module Type"
|
366 |
|
367 |
+
#: includes/i18n.php:120
|
368 |
msgid "Plugin"
|
369 |
msgstr "Plugin"
|
370 |
|
371 |
+
#: includes/i18n.php:121
|
372 |
msgid "Plugins"
|
373 |
msgstr "Plugins"
|
374 |
|
375 |
+
#: includes/i18n.php:122
|
376 |
msgid "Theme"
|
377 |
msgstr "Theme"
|
378 |
|
379 |
+
#: includes/i18n.php:123
|
380 |
msgid "Themes"
|
381 |
msgstr "Themes"
|
382 |
|
383 |
+
#: includes/i18n.php:124
|
384 |
msgctxt "as file/folder path"
|
385 |
msgid "Path"
|
386 |
msgstr "Path"
|
387 |
|
388 |
+
#: includes/i18n.php:125
|
389 |
msgid "Title"
|
390 |
msgstr "Title"
|
391 |
|
392 |
+
#: includes/i18n.php:126
|
393 |
msgid "Free version"
|
394 |
msgstr "Free version"
|
395 |
|
396 |
+
#: includes/i18n.php:127
|
397 |
msgid "Premium version"
|
398 |
msgstr "Premium version"
|
399 |
|
400 |
+
#: includes/i18n.php:128
|
401 |
msgctxt "as WP plugin slug"
|
402 |
msgid "Slug"
|
403 |
msgstr "Slug"
|
404 |
|
405 |
+
#: includes/i18n.php:129
|
406 |
msgid "ID"
|
407 |
msgstr "ID"
|
408 |
|
409 |
+
#: includes/i18n.php:130
|
410 |
msgid "Users"
|
411 |
msgstr "Users"
|
412 |
|
413 |
+
#: includes/i18n.php:131
|
414 |
msgid "Plugin Installs"
|
415 |
msgstr "Plugin Installs"
|
416 |
|
417 |
+
#: includes/i18n.php:132
|
418 |
msgid "%s Installs"
|
419 |
msgstr "%s Installs"
|
420 |
|
421 |
+
#: includes/i18n.php:133
|
422 |
msgctxt "like websites"
|
423 |
msgid "Sites"
|
424 |
msgstr "Sites"
|
425 |
|
426 |
+
#: includes/i18n.php:134
|
427 |
msgid "User ID"
|
428 |
msgstr "User ID"
|
429 |
|
430 |
+
#: includes/i18n.php:135
|
431 |
msgid "Site ID"
|
432 |
msgstr "Site ID"
|
433 |
|
434 |
+
#: includes/i18n.php:136
|
435 |
msgid "Public Key"
|
436 |
msgstr "Public Key"
|
437 |
|
438 |
+
#: includes/i18n.php:137
|
439 |
msgid "Secret Key"
|
440 |
msgstr "Secret Key"
|
441 |
|
442 |
+
#: includes/i18n.php:138
|
443 |
msgctxt "as secret encryption key missing"
|
444 |
msgid "No Secret"
|
445 |
msgstr "No Secret"
|
446 |
|
447 |
+
#: includes/i18n.php:139
|
448 |
msgid "No ID"
|
449 |
msgstr "No ID"
|
450 |
|
451 |
+
#: includes/i18n.php:140
|
452 |
msgctxt "as synchronize license"
|
453 |
msgid "Sync License"
|
454 |
msgstr "Sync License"
|
455 |
|
456 |
+
#: includes/i18n.php:141
|
457 |
msgctxt "as synchronize"
|
458 |
msgid "Sync"
|
459 |
msgstr "Sync"
|
460 |
|
461 |
+
#: includes/i18n.php:142
|
462 |
msgid "Activate License"
|
463 |
msgstr "Activate License"
|
464 |
|
465 |
+
#: includes/i18n.php:143
|
466 |
msgid "Activate Free Version"
|
467 |
msgstr "Activate Free Version"
|
468 |
|
469 |
+
#: includes/i18n.php:144
|
470 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
471 |
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
472 |
|
473 |
+
#: includes/i18n.php:145
|
474 |
msgid "Activating license..."
|
475 |
msgstr "Activating license..."
|
476 |
|
477 |
+
#: includes/i18n.php:146
|
478 |
msgid "Change License"
|
479 |
msgstr "Change License"
|
480 |
|
481 |
+
#: includes/i18n.php:147
|
482 |
msgid "Update License"
|
483 |
msgstr "Update License"
|
484 |
|
485 |
+
#: includes/i18n.php:148
|
486 |
msgid "Deactivate License"
|
487 |
msgstr "Deactivate License"
|
488 |
|
489 |
+
#: includes/i18n.php:149
|
490 |
msgid "Activate"
|
491 |
msgstr "Activate"
|
492 |
|
493 |
+
#: includes/i18n.php:150
|
494 |
msgid "Deactivate"
|
495 |
msgstr "Deactivate"
|
496 |
|
497 |
+
#: includes/i18n.php:151
|
498 |
msgid "Skip & Deactivate"
|
499 |
msgstr "Skip & Deactivate"
|
500 |
|
501 |
+
#: includes/i18n.php:152
|
502 |
msgid "Skip & %s"
|
503 |
msgstr "Skip & %s"
|
504 |
|
505 |
+
#: includes/i18n.php:153
|
506 |
msgid "No - just deactivate"
|
507 |
msgstr "No - just deactivate"
|
508 |
|
509 |
+
#: includes/i18n.php:154
|
510 |
msgid "Yes - do your thing"
|
511 |
msgstr "Yes - do your thing"
|
512 |
|
513 |
+
#: includes/i18n.php:155
|
514 |
msgctxt "active mode"
|
515 |
msgid "Active"
|
516 |
msgstr "Active"
|
517 |
|
518 |
+
#: includes/i18n.php:156
|
519 |
msgctxt "is active mode?"
|
520 |
msgid "Is Active"
|
521 |
msgstr "Is Active"
|
522 |
|
523 |
+
#: includes/i18n.php:157
|
524 |
msgid "Install Now"
|
525 |
msgstr "Install Now"
|
526 |
|
527 |
+
#: includes/i18n.php:158
|
528 |
msgid "Install Update Now"
|
529 |
msgstr "Install Update Now"
|
530 |
|
531 |
+
#: includes/i18n.php:159
|
532 |
msgid "More information about %s"
|
533 |
msgstr "More information about %s"
|
534 |
|
535 |
+
#: includes/i18n.php:160
|
536 |
msgid "Localhost"
|
537 |
msgstr "Localhost"
|
538 |
|
539 |
+
#: includes/i18n.php:161
|
540 |
msgctxt "as activate Professional plan"
|
541 |
msgid "Activate %s Plan"
|
542 |
msgstr "Activate %s Plan"
|
543 |
|
544 |
+
#: includes/i18n.php:162
|
545 |
msgctxt "as 5 licenses left"
|
546 |
msgid "%s left"
|
547 |
msgstr "%s left"
|
548 |
|
549 |
+
#: includes/i18n.php:163
|
550 |
msgid "Last license"
|
551 |
msgstr "Last license"
|
552 |
|
553 |
+
#: includes/i18n.php:164
|
554 |
msgid "What is your %s?"
|
555 |
msgstr "What is your %s?"
|
556 |
|
557 |
+
#: includes/i18n.php:165
|
558 |
msgid "Activate this add-on"
|
559 |
msgstr "Activate this add-on"
|
560 |
|
561 |
+
#: includes/i18n.php:166
|
562 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
563 |
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
564 |
|
565 |
+
#: includes/i18n.php:167
|
566 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
567 |
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
568 |
|
569 |
+
#: includes/i18n.php:168
|
570 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
571 |
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
572 |
|
573 |
+
#: includes/i18n.php:169
|
574 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
575 |
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
576 |
|
577 |
+
#: includes/i18n.php:170
|
578 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
579 |
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
580 |
|
581 |
+
#: includes/i18n.php:171
|
582 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
583 |
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
584 |
|
585 |
+
#: includes/i18n.php:172
|
586 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
587 |
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
588 |
|
589 |
+
#: includes/i18n.php:173
|
590 |
msgid "Are you sure you want to proceed?"
|
591 |
msgstr "Are you sure you want to proceed?"
|
592 |
|
593 |
+
#: includes/i18n.php:176
|
594 |
msgid "Add Ons for %s"
|
595 |
msgstr "Add Ons for %s"
|
596 |
|
597 |
+
#: includes/i18n.php:177
|
598 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
599 |
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
600 |
|
601 |
+
#: includes/i18n.php:179
|
602 |
msgid "Anonymous feedback"
|
603 |
msgstr "Anonymous feedback"
|
604 |
|
605 |
+
#: includes/i18n.php:180
|
606 |
msgid "Quick feedback"
|
607 |
msgstr "Quick feedback"
|
608 |
|
609 |
+
#: includes/i18n.php:181
|
610 |
msgid "If you have a moment, please let us know why you are deactivating"
|
611 |
msgstr "If you have a moment, please let us know why you are deactivating"
|
612 |
|
613 |
+
#: includes/i18n.php:182
|
614 |
msgid "Yes - Deactivate"
|
615 |
msgstr "Yes - Deactivate"
|
616 |
|
617 |
+
#: includes/i18n.php:183
|
618 |
msgid "Submit & Deactivate"
|
619 |
msgstr "Submit & Deactivate"
|
620 |
|
621 |
+
#: includes/i18n.php:184
|
622 |
msgid "Cancel"
|
623 |
msgstr "Cancel"
|
624 |
|
625 |
+
#: includes/i18n.php:185
|
626 |
msgid "I no longer need the plugin"
|
627 |
msgstr "I no longer need the plugin"
|
628 |
|
629 |
+
#: includes/i18n.php:186
|
630 |
msgid "I found a better plugin"
|
631 |
msgstr "I found a better plugin"
|
632 |
|
633 |
+
#: includes/i18n.php:187
|
634 |
msgid "I only needed the plugin for a short period"
|
635 |
msgstr "I only needed the plugin for a short period"
|
636 |
|
637 |
+
#: includes/i18n.php:188
|
638 |
msgid "The plugin broke my site"
|
639 |
msgstr "The plugin broke my site"
|
640 |
|
641 |
+
#: includes/i18n.php:189
|
642 |
msgid "The plugin suddenly stopped working"
|
643 |
msgstr "The plugin suddenly stopped working"
|
644 |
|
645 |
+
#: includes/i18n.php:190
|
646 |
msgid "I can't pay for it anymore"
|
647 |
msgstr "I can't pay for it anymore"
|
648 |
|
649 |
+
#: includes/i18n.php:191
|
650 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
651 |
msgstr "It's a temporary deactivation. I'm just debugging an issue."
|
652 |
|
653 |
+
#: includes/i18n.php:192
|
654 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
655 |
msgid "Other"
|
656 |
msgstr "Other"
|
657 |
|
658 |
+
#: includes/i18n.php:194
|
659 |
msgid "Kindly tell us the reason so we can improve."
|
660 |
msgstr "Kindly tell us the reason so we can improve."
|
661 |
|
662 |
+
#: includes/i18n.php:195
|
663 |
msgid "What's the plugin's name?"
|
664 |
msgstr "What's the plugin's name?"
|
665 |
|
666 |
+
#: includes/i18n.php:196
|
667 |
msgid "What price would you feel comfortable paying?"
|
668 |
msgstr "What price would you feel comfortable paying?"
|
669 |
|
670 |
+
#: includes/i18n.php:197
|
671 |
msgid "I couldn't understand how to make it work"
|
672 |
msgstr "I couldn't understand how to make it work"
|
673 |
|
674 |
+
#: includes/i18n.php:198
|
675 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
676 |
msgstr "The plugin is great, but I need specific feature that you don't support"
|
677 |
|
678 |
+
#: includes/i18n.php:199
|
679 |
msgid "The plugin is not working"
|
680 |
msgstr "The plugin is not working"
|
681 |
|
682 |
+
#: includes/i18n.php:200
|
683 |
msgid "It's not what I was looking for"
|
684 |
msgstr "It's not what I was looking for"
|
685 |
|
686 |
+
#: includes/i18n.php:201
|
687 |
msgid "The plugin didn't work as expected"
|
688 |
msgstr "The plugin didn't work as expected"
|
689 |
|
690 |
+
#: includes/i18n.php:202
|
691 |
msgid "What feature?"
|
692 |
msgstr "What feature?"
|
693 |
|
694 |
+
#: includes/i18n.php:203
|
695 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
696 |
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
697 |
|
698 |
+
#: includes/i18n.php:204
|
699 |
msgid "What you've been looking for?"
|
700 |
msgstr "What you've been looking for?"
|
701 |
|
702 |
+
#: includes/i18n.php:205
|
703 |
msgid "What did you expect?"
|
704 |
msgstr "What did you expect?"
|
705 |
|
706 |
+
#: includes/i18n.php:206
|
707 |
msgid "The plugin didn't work"
|
708 |
msgstr "The plugin didn't work"
|
709 |
|
710 |
+
#: includes/i18n.php:207
|
711 |
msgid "I don't like to share my information with you"
|
712 |
msgstr "I don't like to share my information with you"
|
713 |
|
714 |
+
#: includes/i18n.php:208
|
715 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
716 |
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
717 |
|
718 |
+
#: includes/i18n.php:212
|
719 |
msgctxt "greeting"
|
720 |
msgid "Hey %s,"
|
721 |
msgstr "Hey %s,"
|
722 |
|
723 |
+
#: includes/i18n.php:213
|
724 |
msgctxt "a greeting. E.g. Thanks John!"
|
725 |
msgid "Thanks %s!"
|
726 |
msgstr "Thanks %s!"
|
727 |
|
728 |
+
#: includes/i18n.php:214
|
729 |
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
730 |
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
731 |
|
732 |
+
#: includes/i18n.php:215
|
733 |
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
734 |
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
735 |
|
736 |
+
#: includes/i18n.php:216
|
737 |
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
738 |
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
739 |
|
740 |
+
#: includes/i18n.php:217
|
741 |
msgid "complete the install"
|
742 |
msgstr "complete the install"
|
743 |
|
744 |
+
#: includes/i18n.php:218
|
745 |
msgid "start the trial"
|
746 |
msgstr "start the trial"
|
747 |
|
748 |
+
#: includes/i18n.php:219
|
749 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
750 |
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
751 |
|
752 |
+
#: includes/i18n.php:220
|
753 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
754 |
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
755 |
|
756 |
+
#: includes/i18n.php:221
|
757 |
msgid "What permissions are being granted?"
|
758 |
msgstr "What permissions are being granted?"
|
759 |
|
760 |
+
#: includes/i18n.php:222
|
761 |
msgid "Your Profile Overview"
|
762 |
msgstr "Your Profile Overview"
|
763 |
|
764 |
+
#: includes/i18n.php:223
|
765 |
msgid "Name and email address"
|
766 |
msgstr "Name and email address"
|
767 |
|
768 |
+
#: includes/i18n.php:224
|
769 |
msgid "Your Site Overview"
|
770 |
msgstr "Your Site Overview"
|
771 |
|
772 |
+
#: includes/i18n.php:225
|
773 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
774 |
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
775 |
|
776 |
+
#: includes/i18n.php:226
|
777 |
msgid "Current Plugin Events"
|
778 |
msgstr "Current Plugin Events"
|
779 |
|
780 |
+
#: includes/i18n.php:227
|
781 |
msgid "Activation, deactivation and uninstall"
|
782 |
msgstr "Activation, deactivation and uninstall"
|
783 |
|
784 |
+
#: includes/i18n.php:228
|
785 |
msgid "Plugins & Themes"
|
786 |
msgstr "Plugins & Themes"
|
787 |
|
788 |
+
#: includes/i18n.php:229
|
789 |
msgid "Titles, versions and state."
|
790 |
msgstr "Titles, versions and state."
|
791 |
|
792 |
+
#: includes/i18n.php:230
|
793 |
msgid "Admin Notices"
|
794 |
msgstr "Admin Notices"
|
795 |
|
796 |
+
#: includes/i18n.php:231
|
797 |
msgid "Newsletter"
|
798 |
msgstr "Newsletter"
|
799 |
|
800 |
+
#: includes/i18n.php:232
|
801 |
msgid "Updates, announcements, marketing, no spam"
|
802 |
msgstr "Updates, announcements, marketing, no spam"
|
803 |
|
804 |
+
#: includes/i18n.php:233
|
805 |
msgid "Privacy Policy"
|
806 |
msgstr "Privacy Policy"
|
807 |
|
808 |
+
#: includes/i18n.php:234
|
809 |
msgid "Terms of Service"
|
810 |
msgstr "Terms of Service"
|
811 |
|
812 |
+
#: includes/i18n.php:235
|
813 |
msgctxt "as activating plugin"
|
814 |
msgid "Activating"
|
815 |
msgstr "Activating"
|
816 |
|
817 |
+
#: includes/i18n.php:236
|
818 |
msgctxt "as in the process of sending an email"
|
819 |
msgid "Sending email"
|
820 |
msgstr "Sending email"
|
821 |
|
822 |
+
#: includes/i18n.php:237
|
823 |
msgctxt "button label"
|
824 |
msgid "Allow & Continue"
|
825 |
msgstr "Allow & Continue"
|
826 |
|
827 |
+
#: includes/i18n.php:238
|
828 |
msgctxt "button label"
|
829 |
msgid "Agree & Activate License"
|
830 |
msgstr "Agree & Activate License"
|
831 |
|
832 |
+
#: includes/i18n.php:239
|
833 |
msgctxt "verb"
|
834 |
msgid "Skip"
|
835 |
msgstr "Skip"
|
836 |
|
837 |
+
#: includes/i18n.php:240
|
838 |
msgid "Click here to use the plugin anonymously"
|
839 |
msgstr "Click here to use the plugin anonymously"
|
840 |
|
841 |
+
#: includes/i18n.php:241
|
842 |
msgid "Re-send activation email"
|
843 |
msgstr "Re-send activation email"
|
844 |
|
845 |
+
#: includes/i18n.php:242
|
846 |
msgid "License key"
|
847 |
msgstr "License key"
|
848 |
|
849 |
+
#: includes/i18n.php:243
|
850 |
msgid "Send License Key"
|
851 |
msgstr "Send License Key"
|
852 |
|
853 |
+
#: includes/i18n.php:244
|
854 |
msgid "Sending license key"
|
855 |
msgstr "Sending license key"
|
856 |
|
857 |
+
#: includes/i18n.php:245
|
858 |
msgid "Have a license key?"
|
859 |
msgstr "Have a license key?"
|
860 |
|
861 |
+
#: includes/i18n.php:246
|
862 |
msgid "Don't have a license key?"
|
863 |
msgstr "Don't have a license key?"
|
864 |
|
865 |
+
#: includes/i18n.php:247
|
866 |
msgid "Can't find your license key?"
|
867 |
msgstr "Can't find your license key?"
|
868 |
|
869 |
+
#: includes/i18n.php:248
|
870 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
871 |
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
872 |
|
873 |
+
#: includes/i18n.php:249
|
874 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
875 |
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
876 |
|
877 |
+
#: includes/i18n.php:250
|
878 |
msgid "Opt In"
|
879 |
msgstr "Opt In"
|
880 |
|
881 |
+
#: includes/i18n.php:251
|
882 |
msgid "Opt Out"
|
883 |
msgstr "Opt Out"
|
884 |
|
885 |
+
#: includes/i18n.php:252
|
886 |
msgid "On second thought - I want to continue helping"
|
887 |
msgstr "On second thought - I want to continue helping"
|
888 |
|
889 |
+
#: includes/i18n.php:253
|
890 |
msgid "Opting out..."
|
891 |
msgstr "Opting out..."
|
892 |
|
893 |
+
#: includes/i18n.php:254
|
894 |
msgid "Opting in..."
|
895 |
msgstr "Opting in..."
|
896 |
|
897 |
+
#: includes/i18n.php:255
|
898 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
899 |
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
900 |
|
901 |
+
#: includes/i18n.php:256
|
902 |
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
903 |
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
904 |
|
905 |
+
#: includes/i18n.php:257
|
906 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
907 |
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
908 |
|
909 |
+
#: includes/i18n.php:261
|
910 |
msgid "Screenshots"
|
911 |
msgstr "Screenshots"
|
912 |
|
913 |
+
#: includes/i18n.php:262
|
914 |
msgid "Click to view full-size screenshot %d"
|
915 |
msgstr "Click to view full-size screenshot %d"
|
916 |
|
917 |
+
#: includes/i18n.php:266
|
918 |
msgid "Freemius Debug"
|
919 |
msgstr "Freemius Debug"
|
920 |
|
921 |
+
#: includes/i18n.php:267
|
922 |
msgctxt "as turned on"
|
923 |
msgid "On"
|
924 |
msgstr "On"
|
925 |
|
926 |
+
#: includes/i18n.php:268
|
927 |
msgctxt "as turned off"
|
928 |
msgid "Off"
|
929 |
msgstr "Off"
|
930 |
|
931 |
+
#: includes/i18n.php:269
|
932 |
msgctxt "as code debugging"
|
933 |
msgid "Debugging"
|
934 |
msgstr "Debugging"
|
935 |
|
936 |
+
#: includes/i18n.php:270
|
937 |
msgid "Freemius State"
|
938 |
msgstr "Freemius State"
|
939 |
|
940 |
+
#: includes/i18n.php:271
|
941 |
msgctxt "as connection was successful"
|
942 |
msgid "Connected"
|
943 |
msgstr "Connected"
|
944 |
|
945 |
+
#: includes/i18n.php:272
|
946 |
msgctxt "as connection blocked"
|
947 |
msgid "Blocked"
|
948 |
msgstr "Blocked"
|
949 |
|
950 |
+
#: includes/i18n.php:273
|
951 |
msgctxt "as application program interface"
|
952 |
msgid "API"
|
953 |
msgstr "API"
|
954 |
|
955 |
+
#: includes/i18n.php:274
|
956 |
msgctxt "as software development kit versions"
|
957 |
msgid "SDK"
|
958 |
msgstr "SDK"
|
959 |
|
960 |
+
#: includes/i18n.php:275
|
961 |
msgctxt "as software development kit versions"
|
962 |
msgid "SDK Versions"
|
963 |
msgstr "SDK Versions"
|
964 |
|
965 |
+
#: includes/i18n.php:276
|
966 |
msgctxt "as plugin folder path"
|
967 |
msgid "Plugin Path"
|
968 |
msgstr "Plugin Path"
|
969 |
|
970 |
+
#: includes/i18n.php:277
|
971 |
msgctxt "as sdk path"
|
972 |
msgid "SDK Path"
|
973 |
msgstr "SDK Path"
|
974 |
|
975 |
+
#: includes/i18n.php:278
|
976 |
msgid "Add Ons of Plugin %s"
|
977 |
msgstr "Add Ons of Plugin %s"
|
978 |
|
979 |
+
#: includes/i18n.php:279
|
980 |
msgid "Are you sure you want to delete all Freemius data?"
|
981 |
msgstr "Are you sure you want to delete all Freemius data?"
|
982 |
|
983 |
+
#: includes/i18n.php:280
|
984 |
msgid "Actions"
|
985 |
msgstr "Actions"
|
986 |
|
987 |
+
#: includes/i18n.php:281
|
988 |
msgid "Delete All Accounts"
|
989 |
msgstr "Delete All Accounts"
|
990 |
|
991 |
+
#: includes/i18n.php:282
|
992 |
msgid "Start Fresh"
|
993 |
msgstr "Start Fresh"
|
994 |
|
995 |
+
#: includes/i18n.php:283
|
996 |
msgid "Clear API Cache"
|
997 |
msgstr "Clear API Cache"
|
998 |
|
999 |
+
#: includes/i18n.php:284
|
1000 |
msgid "Sync Data From Server"
|
1001 |
msgstr "Sync Data From Server"
|
1002 |
|
1003 |
+
#: includes/i18n.php:285
|
1004 |
msgid "Scheduled Crons"
|
1005 |
msgstr "Scheduled Crons"
|
1006 |
|
1007 |
+
#: includes/i18n.php:286
|
1008 |
msgid "Cron Type"
|
1009 |
msgstr "Cron Type"
|
1010 |
|
1011 |
+
#: includes/i18n.php:287
|
1012 |
msgid "Plugins & Themes Sync"
|
1013 |
msgstr "Plugins & Themes Sync"
|
1014 |
|
1015 |
+
#: includes/i18n.php:288
|
1016 |
msgid "Licenses"
|
1017 |
msgstr "Licenses"
|
1018 |
|
1019 |
+
#: includes/i18n.php:289
|
1020 |
msgid "Debug Log"
|
1021 |
msgstr "Debug Log"
|
1022 |
|
1023 |
+
#: includes/i18n.php:290
|
1024 |
msgid "All"
|
1025 |
msgstr "All"
|
1026 |
|
1027 |
+
#: includes/i18n.php:291
|
1028 |
msgid "File"
|
1029 |
msgstr "File"
|
1030 |
|
1031 |
+
#: includes/i18n.php:292
|
1032 |
msgid "Function"
|
1033 |
msgstr "Function"
|
1034 |
|
1035 |
+
#: includes/i18n.php:293
|
1036 |
msgid "Process ID"
|
1037 |
msgstr "Process ID"
|
1038 |
|
1039 |
+
#: includes/i18n.php:294
|
1040 |
msgid "Logger"
|
1041 |
msgstr "Logger"
|
1042 |
|
1043 |
+
#: includes/i18n.php:295
|
1044 |
msgid "Message"
|
1045 |
msgstr "Message"
|
1046 |
|
1047 |
+
#: includes/i18n.php:296
|
1048 |
msgid "Download"
|
1049 |
msgstr "Download"
|
1050 |
|
1051 |
+
#: includes/i18n.php:297
|
1052 |
msgid "Filter"
|
1053 |
msgstr "Filter"
|
1054 |
|
1055 |
+
#: includes/i18n.php:298
|
1056 |
msgid "Type"
|
1057 |
msgstr "Type"
|
1058 |
|
1059 |
+
#: includes/i18n.php:299
|
1060 |
msgid "All Types"
|
1061 |
msgstr "All Types"
|
1062 |
|
1063 |
+
#: includes/i18n.php:300
|
1064 |
msgid "All Requests"
|
1065 |
msgstr "All Requests"
|
1066 |
|
1067 |
+
#: includes/i18n.php:304
|
1068 |
msgctxt "as congratulations"
|
1069 |
msgid "Congrats"
|
1070 |
msgstr "Congrats"
|
1071 |
|
1072 |
+
#: includes/i18n.php:305
|
1073 |
msgctxt "exclamation"
|
1074 |
msgid "Oops"
|
1075 |
msgstr "Oops"
|
1076 |
|
1077 |
+
#: includes/i18n.php:306
|
1078 |
msgctxt "interjection expressing joy or exuberance"
|
1079 |
msgid "Yee-haw"
|
1080 |
msgstr "Yee-haw"
|
1081 |
|
1082 |
+
#: includes/i18n.php:307
|
1083 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1084 |
msgid "W00t"
|
1085 |
msgstr "W00t"
|
1086 |
|
1087 |
+
#: includes/i18n.php:309
|
1088 |
msgctxt "a positive response"
|
1089 |
msgid "Right on"
|
1090 |
msgstr "Right on"
|
1091 |
|
1092 |
+
#: includes/i18n.php:310
|
1093 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1094 |
msgid "Hmm"
|
1095 |
msgstr "Hmm"
|
1096 |
|
1097 |
+
#: includes/i18n.php:312
|
1098 |
msgid "O.K"
|
1099 |
msgstr "O.K"
|
1100 |
|
1101 |
+
#: includes/i18n.php:313
|
1102 |
msgctxt "exclamation"
|
1103 |
msgid "Hey"
|
1104 |
msgstr "Hey"
|
1105 |
|
1106 |
+
#: includes/i18n.php:314
|
1107 |
msgctxt "advance notice of something that will need attention."
|
1108 |
msgid "Heads up"
|
1109 |
msgstr "Heads up"
|
1110 |
|
1111 |
+
#: includes/i18n.php:319
|
1112 |
msgid "Seems like you got the latest release."
|
1113 |
msgstr "Seems like you got the latest release."
|
1114 |
|
1115 |
+
#: includes/i18n.php:320
|
1116 |
msgid "You are all good!"
|
1117 |
msgstr "You are all good!"
|
1118 |
|
1119 |
+
#: includes/i18n.php:321
|
1120 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1121 |
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1122 |
|
1123 |
+
#: includes/i18n.php:322
|
1124 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1125 |
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1126 |
|
1127 |
+
#: includes/i18n.php:323
|
1128 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1129 |
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1130 |
|
1131 |
+
#: includes/i18n.php:324
|
1132 |
msgid "Your name was successfully updated."
|
1133 |
msgstr "Your name was successfully updated."
|
1134 |
|
1135 |
+
#: includes/i18n.php:325
|
1136 |
msgid "You have successfully updated your %s."
|
1137 |
msgstr "You have successfully updated your %s."
|
1138 |
|
1139 |
+
#: includes/i18n.php:326
|
1140 |
msgid "Please provide your full name."
|
1141 |
msgstr "Please provide your full name."
|
1142 |
|
1143 |
+
#: includes/i18n.php:327
|
1144 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1145 |
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1146 |
|
1147 |
+
#: includes/i18n.php:328
|
1148 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1149 |
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1150 |
|
1151 |
+
#: includes/i18n.php:329
|
1152 |
msgid "No credit card required"
|
1153 |
msgstr "No credit card required"
|
1154 |
|
1155 |
+
#: includes/i18n.php:330
|
1156 |
msgid "Premium plugin version was successfully activated."
|
1157 |
msgstr "Premium plugin version was successfully activated."
|
1158 |
|
1159 |
+
#: includes/i18n.php:331
|
1160 |
msgid "The upgrade of %s was successfully completed."
|
1161 |
msgstr "The upgrade of %s was successfully completed."
|
1162 |
|
1163 |
+
#: includes/i18n.php:332
|
1164 |
msgid "Your account was successfully activated with the %s plan."
|
1165 |
msgstr "Your account was successfully activated with the %s plan."
|
1166 |
|
1167 |
+
#: includes/i18n.php:333
|
1168 |
msgid "Download the latest %s version now"
|
1169 |
msgstr "Download the latest %s version now"
|
1170 |
|
1171 |
+
#: includes/i18n.php:334
|
1172 |
msgid "Please follow these steps to complete the upgrade"
|
1173 |
msgstr "Please follow these steps to complete the upgrade"
|
1174 |
|
1175 |
+
#: includes/i18n.php:335
|
1176 |
msgid "Download the latest %s version"
|
1177 |
msgstr "Download the latest %s version"
|
1178 |
|
1179 |
+
#: includes/i18n.php:336
|
1180 |
msgid "Download the latest version"
|
1181 |
msgstr "Download the latest version"
|
1182 |
|
1183 |
+
#: includes/i18n.php:337
|
1184 |
msgid "Deactivate the free version"
|
1185 |
msgstr "Deactivate the free version"
|
1186 |
|
1187 |
+
#: includes/i18n.php:338
|
1188 |
msgid "Upload and activate the downloaded version"
|
1189 |
msgstr "Upload and activate the downloaded version"
|
1190 |
|
1191 |
+
#: includes/i18n.php:339
|
1192 |
msgid "How to upload and activate?"
|
1193 |
msgstr "How to upload and activate?"
|
1194 |
|
1195 |
+
#: includes/i18n.php:340
|
1196 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1197 |
msgid "%s Add-on was successfully purchased."
|
1198 |
msgstr "%s Add-on was successfully purchased."
|
1199 |
|
1200 |
+
#: includes/i18n.php:342
|
1201 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1202 |
msgstr "Your %s Add-on plan was successfully upgraded."
|
1203 |
|
1204 |
+
#: includes/i18n.php:343
|
1205 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1206 |
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1207 |
|
1208 |
+
#: includes/i18n.php:344
|
1209 |
msgid "Your plan was successfully upgraded."
|
1210 |
msgstr "Your plan was successfully upgraded."
|
1211 |
|
1212 |
+
#: includes/i18n.php:345
|
1213 |
msgid "Your plan was successfully changed to %s."
|
1214 |
msgstr "Your plan was successfully changed to %s."
|
1215 |
|
1216 |
+
#: includes/i18n.php:346
|
1217 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1218 |
msgstr "Your license has expired. You can still continue using the free plugin forever."
|
1219 |
|
1220 |
+
#: includes/i18n.php:347
|
1221 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1222 |
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1223 |
|
1224 |
+
#: includes/i18n.php:348
|
1225 |
msgid "Your trial has been successfully started."
|
1226 |
msgstr "Your trial has been successfully started."
|
1227 |
|
1228 |
+
#: includes/i18n.php:349
|
1229 |
msgid "Your license was successfully activated."
|
1230 |
msgstr "Your license was successfully activated."
|
1231 |
|
1232 |
+
#: includes/i18n.php:350
|
1233 |
msgid "It looks like your site currently doesn't have an active license."
|
1234 |
msgstr "It looks like your site currently doesn't have an active license."
|
1235 |
|
1236 |
+
#: includes/i18n.php:351
|
1237 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1238 |
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
1239 |
|
1240 |
+
#: includes/i18n.php:352
|
1241 |
msgid "It looks like the license deactivation failed."
|
1242 |
msgstr "It looks like the license deactivation failed."
|
1243 |
|
1244 |
+
#: includes/i18n.php:353
|
1245 |
msgid "It looks like the license could not be activated."
|
1246 |
msgstr "It looks like the license could not be activated."
|
1247 |
|
1248 |
+
#: includes/i18n.php:354
|
1249 |
msgid "Error received from the server:"
|
1250 |
msgstr "Error received from the server:"
|
1251 |
|
1252 |
+
#: includes/i18n.php:355
|
1253 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1254 |
msgstr "Your trial has expired. You can still continue using all our free features."
|
1255 |
|
1256 |
+
#: includes/i18n.php:356
|
1257 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1258 |
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1259 |
|
1260 |
+
#: includes/i18n.php:357
|
1261 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1262 |
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1263 |
|
1264 |
+
#: includes/i18n.php:358
|
1265 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1266 |
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1267 |
|
1268 |
+
#: includes/i18n.php:359
|
1269 |
msgid "Your %s free trial was successfully cancelled."
|
1270 |
msgstr "Your %s free trial was successfully cancelled."
|
1271 |
|
1272 |
+
#: includes/i18n.php:360
|
1273 |
msgctxt "%s - numeric version number"
|
1274 |
msgid "Version %s was released."
|
1275 |
msgstr "Version %s was released."
|
1276 |
|
1277 |
+
#: includes/i18n.php:361
|
1278 |
msgid "Please download %s."
|
1279 |
msgstr "Please download %s."
|
1280 |
|
1281 |
+
#: includes/i18n.php:362
|
1282 |
msgctxt "%s - plan name, as the latest professional version here"
|
1283 |
msgid "the latest %s version here"
|
1284 |
msgstr "the latest %s version here"
|
1285 |
|
1286 |
+
#: includes/i18n.php:364
|
1287 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1288 |
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1289 |
|
1290 |
+
#: includes/i18n.php:365
|
1291 |
msgctxt "call to action"
|
1292 |
msgid "Start free trial"
|
1293 |
msgstr "Start free trial"
|
1294 |
|
1295 |
+
#: includes/i18n.php:366
|
1296 |
msgid "Starting trial"
|
1297 |
msgstr "Starting trial"
|
1298 |
|
1299 |
+
#: includes/i18n.php:367
|
1300 |
msgid "Please wait"
|
1301 |
msgstr "Please wait"
|
1302 |
|
1303 |
+
#: includes/i18n.php:368
|
1304 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1305 |
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1306 |
|
1307 |
+
#: includes/i18n.php:369
|
1308 |
msgid "You already utilized a trial before."
|
1309 |
msgstr "You already utilized a trial before."
|
1310 |
|
1311 |
+
#: includes/i18n.php:370
|
1312 |
msgid "You are already running the plugin in a trial mode."
|
1313 |
msgstr "You are already running the plugin in a trial mode."
|
1314 |
|
1315 |
+
#: includes/i18n.php:371
|
1316 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1317 |
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
|
1319 |
+
#: includes/i18n.php:372
|
1320 |
msgid "Plan %s does not support a trial period."
|
1321 |
msgstr "Plan %s does not support a trial period."
|
1322 |
|
1323 |
+
#: includes/i18n.php:373
|
1324 |
msgid "None of the plugin's plans supports a trial period."
|
1325 |
msgstr "None of the plugin's plans supports a trial period."
|
1326 |
|
1327 |
+
#: includes/i18n.php:374
|
1328 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1329 |
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
1330 |
|
1331 |
+
#: includes/i18n.php:375
|
1332 |
msgid "No commitment for %s days - cancel anytime!"
|
1333 |
msgstr "No commitment for %s days - cancel anytime!"
|
1334 |
|
1335 |
+
#: includes/i18n.php:376
|
1336 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1337 |
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1338 |
|
1339 |
+
#: includes/i18n.php:377
|
1340 |
msgid "Couldn't activate %s."
|
1341 |
msgstr "Couldn't activate %s."
|
1342 |
|
1343 |
+
#: includes/i18n.php:378
|
1344 |
msgid "Please contact us with the following message:"
|
1345 |
msgstr "Please contact us with the following message:"
|
1346 |
|
1347 |
+
#: includes/i18n.php:379
|
1348 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1349 |
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1350 |
|
1351 |
+
#: includes/i18n.php:380
|
1352 |
msgid "Please contact us here"
|
1353 |
msgstr "Please contact us here"
|
1354 |
|
1355 |
+
#: includes/i18n.php:381
|
1356 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1357 |
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1358 |
|
1359 |
+
#: includes/i18n.php:384
|
1360 |
msgid "From unknown reason, the API connectivity test failed."
|
1361 |
msgstr "From unknown reason, the API connectivity test failed."
|
1362 |
|
1363 |
+
#: includes/i18n.php:385
|
1364 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1365 |
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1366 |
|
|
|
|
|
|
|
|
|
1367 |
#: includes/i18n.php:386
|
1368 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1369 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1370 |
+
|
1371 |
+
#: includes/i18n.php:387
|
1372 |
+
msgid "Disabled method(s):"
|
1373 |
+
msgstr "Disabled method(s):"
|
1374 |
+
|
1375 |
+
#: includes/i18n.php:388
|
1376 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1377 |
msgstr "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1378 |
|
1379 |
+
#: includes/i18n.php:389
|
1380 |
msgctxt "as pluginX requires an access to our API"
|
1381 |
msgid "%s requires an access to our API."
|
1382 |
msgstr "%s requires an access to our API."
|
1383 |
|
1384 |
+
#: includes/i18n.php:391
|
1385 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1386 |
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1387 |
|
1388 |
+
#: includes/i18n.php:392
|
1389 |
msgid "I don't know what is Squid or ACL, help me!"
|
1390 |
msgstr "I don't know what is Squid or ACL, help me!"
|
1391 |
|
1392 |
+
#: includes/i18n.php:393, includes/i18n.php:397
|
1393 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1394 |
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1395 |
|
1396 |
+
#: includes/i18n.php:394
|
1397 |
msgid "I'm a system administrator"
|
1398 |
msgstr "I'm a system administrator"
|
1399 |
|
1400 |
+
#: includes/i18n.php:395
|
1401 |
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1402 |
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1403 |
|
1404 |
+
#: includes/i18n.php:396
|
1405 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1406 |
msgstr "I don't know what is cURL or how to install it, help me!"
|
1407 |
|
1408 |
+
#: includes/i18n.php:398
|
1409 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1410 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1411 |
|
1412 |
+
#: includes/i18n.php:399
|
1413 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1414 |
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1415 |
|
1416 |
+
#: includes/i18n.php:400
|
1417 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1418 |
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1419 |
|
1420 |
+
#: includes/i18n.php:401
|
1421 |
msgid "Yes - I'm giving you a chance to fix it"
|
1422 |
msgstr "Yes - I'm giving you a chance to fix it"
|
1423 |
|
1424 |
+
#: includes/i18n.php:402
|
1425 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1426 |
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1427 |
|
1428 |
+
#: includes/i18n.php:403
|
1429 |
msgid "Let's try your previous version"
|
1430 |
msgstr "Let's try your previous version"
|
1431 |
|
1432 |
+
#: includes/i18n.php:404
|
1433 |
msgid "Uninstall this version and install the previous one."
|
1434 |
msgstr "Uninstall this version and install the previous one."
|
1435 |
|
1436 |
+
#: includes/i18n.php:405
|
1437 |
msgid "That's exhausting, please deactivate"
|
1438 |
msgstr "That's exhausting, please deactivate"
|
1439 |
|
1440 |
+
#: includes/i18n.php:406
|
1441 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1442 |
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1443 |
|
1444 |
+
#: includes/i18n.php:407
|
1445 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1446 |
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1447 |
|
1448 |
+
#: includes/i18n.php:408
|
1449 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1450 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1451 |
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1452 |
|
1453 |
+
#: includes/i18n.php:410
|
1454 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1455 |
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1456 |
|
1457 |
+
#: includes/i18n.php:413
|
1458 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1459 |
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1460 |
|
1461 |
+
#: includes/i18n.php:414
|
1462 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1463 |
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1464 |
|
1465 |
+
#: includes/i18n.php:415
|
1466 |
msgid "%s is the new owner of the account."
|
1467 |
msgstr "%s is the new owner of the account."
|
1468 |
|
1469 |
+
#: includes/i18n.php:417
|
1470 |
msgctxt "addonX cannot run without pluginY"
|
1471 |
msgid "%s cannot run without %s."
|
1472 |
msgstr "%s cannot run without %s."
|
1473 |
|
1474 |
+
#: includes/i18n.php:419
|
1475 |
msgctxt "addonX cannot run..."
|
1476 |
msgid "%s cannot run without the plugin."
|
1477 |
msgstr "%s cannot run without the plugin."
|
1478 |
|
1479 |
+
#: includes/i18n.php:420
|
1480 |
msgctxt "pluginX activation was successfully..."
|
1481 |
msgid "%s activation was successfully completed."
|
1482 |
msgstr "%s activation was successfully completed."
|
1483 |
|
1484 |
+
#: includes/i18n.php:422
|
1485 |
msgctxt "Plugin installer section title"
|
1486 |
msgid "Features & Pricing"
|
1487 |
msgstr "Features & Pricing"
|
1488 |
|
1489 |
+
#: includes/i18n.php:423
|
1490 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1491 |
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1492 |
|
1493 |
+
#: includes/i18n.php:424
|
1494 |
msgid "Paid add-on must be deployed to Freemius."
|
1495 |
msgstr "Paid add-on must be deployed to Freemius."
|
1496 |
|
1497 |
+
#: includes/i18n.php:428
|
1498 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1499 |
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1500 |
|
1501 |
+
#: includes/i18n.php:429
|
1502 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1503 |
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1504 |
|
1505 |
+
#: includes/i18n.php:434
|
1506 |
msgctxt "as every month"
|
1507 |
msgid "Monthly"
|
1508 |
msgstr "Monthly"
|
1509 |
|
1510 |
+
#: includes/i18n.php:435
|
1511 |
msgctxt "as monthly period"
|
1512 |
msgid "mo"
|
1513 |
msgstr "mo"
|
1514 |
|
1515 |
+
#: includes/i18n.php:436
|
1516 |
msgctxt "as once a year"
|
1517 |
msgid "Annual"
|
1518 |
msgstr "Annual"
|
1519 |
|
1520 |
+
#: includes/i18n.php:437
|
1521 |
msgctxt "as once a year"
|
1522 |
msgid "Annually"
|
1523 |
msgstr "Annually"
|
1524 |
|
1525 |
+
#: includes/i18n.php:438
|
1526 |
msgctxt "as once a year"
|
1527 |
msgid "Once"
|
1528 |
msgstr "Once"
|
1529 |
|
1530 |
+
#: includes/i18n.php:439
|
1531 |
msgctxt "as annual period"
|
1532 |
msgid "year"
|
1533 |
msgstr "year"
|
1534 |
|
1535 |
+
#: includes/i18n.php:440
|
1536 |
msgid "Lifetime"
|
1537 |
msgstr "Lifetime"
|
1538 |
|
1539 |
+
#: includes/i18n.php:441
|
1540 |
msgctxt "e.g. the best product"
|
1541 |
msgid "Best"
|
1542 |
msgstr "Best"
|
1543 |
|
1544 |
+
#: includes/i18n.php:442
|
1545 |
msgctxt "e.g. billed monthly"
|
1546 |
msgid "Billed %s"
|
1547 |
msgstr "Billed %s"
|
1548 |
|
1549 |
+
#: includes/i18n.php:443
|
1550 |
msgctxt "as a discount of $5 or 10%"
|
1551 |
msgid "Save %s"
|
1552 |
msgstr "Save %s"
|
1553 |
|
1554 |
+
#: includes/i18n.php:445
|
1555 |
msgid "View details"
|
1556 |
msgstr "View details"
|
1557 |
|
1558 |
+
#: includes/i18n.php:449
|
1559 |
msgctxt "button label"
|
1560 |
msgid "Approve & Start Trial"
|
1561 |
msgstr "Approve & Start Trial"
|
1562 |
|
1563 |
+
#: includes/i18n.php:451
|
1564 |
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1565 |
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1566 |
|
1567 |
+
#: includes/i18n.php:453
|
1568 |
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1569 |
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1570 |
|
1571 |
+
#: includes/i18n.php:459
|
1572 |
msgid "Business name"
|
1573 |
msgstr "Business name"
|
1574 |
|
1575 |
+
#: includes/i18n.php:460
|
1576 |
msgid "Tax / VAT ID"
|
1577 |
msgstr "Tax / VAT ID"
|
1578 |
|
1579 |
+
#: includes/i18n.php:461
|
1580 |
msgid "Address Line %d"
|
1581 |
msgstr "Address Line %d"
|
1582 |
|
1583 |
+
#: includes/i18n.php:462
|
1584 |
msgid "Country"
|
1585 |
msgstr "Country"
|
1586 |
|
1587 |
+
#: includes/i18n.php:463
|
1588 |
msgid "Select Country"
|
1589 |
msgstr "Select Country"
|
1590 |
|
1591 |
+
#: includes/i18n.php:464
|
1592 |
msgid "City"
|
1593 |
msgstr "City"
|
1594 |
|
1595 |
+
#: includes/i18n.php:465
|
1596 |
msgid "Town"
|
1597 |
msgstr "Town"
|
1598 |
|
1599 |
+
#: includes/i18n.php:466
|
1600 |
msgid "State"
|
1601 |
msgstr "State"
|
1602 |
|
1603 |
+
#: includes/i18n.php:467
|
1604 |
msgid "Province"
|
1605 |
msgstr "Province"
|
1606 |
|
1607 |
+
#: includes/i18n.php:468
|
1608 |
msgid "ZIP / Postal Code"
|
1609 |
msgstr "ZIP / Postal Code"
|
1610 |
|
1611 |
+
#: includes/i18n.php:473
|
1612 |
+
msgid "Installing plugin: %s"
|
1613 |
+
msgstr "Installing plugin: %s"
|
1614 |
+
|
1615 |
+
#: includes/i18n.php:474
|
1616 |
+
msgid "Automatic Installation"
|
1617 |
+
msgstr "Automatic Installation"
|
1618 |
+
|
1619 |
+
#: includes/i18n.php:476
|
1620 |
+
msgid "%s sec"
|
1621 |
+
msgstr "%s sec"
|
1622 |
+
|
1623 |
+
#: includes/i18n.php:477
|
1624 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1625 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1626 |
+
|
1627 |
+
#: includes/i18n.php:478
|
1628 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1629 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1630 |
+
|
1631 |
+
#: includes/i18n.php:479
|
1632 |
+
msgid "Cancel Installation"
|
1633 |
+
msgstr "Cancel Installation"
|
1634 |
+
|
1635 |
+
#: includes/i18n.php:480
|
1636 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1637 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1638 |
+
|
1639 |
#: includes/i18n.php:481
|
1640 |
+
msgid "Invalid module ID."
|
1641 |
+
msgstr "Invalid module ID."
|
1642 |
+
|
1643 |
+
#: includes/i18n.php:482
|
1644 |
+
msgid "Auto installation only works for opted-in users."
|
1645 |
+
msgstr "Auto installation only works for opted-in users."
|
1646 |
+
|
1647 |
+
#: includes/i18n.php:483
|
1648 |
+
msgid "Premium version already active."
|
1649 |
+
msgstr "Premium version already active."
|
1650 |
+
|
1651 |
+
#: includes/i18n.php:484
|
1652 |
+
msgid "Premium add-on version already installed."
|
1653 |
+
msgstr "Premium add-on version already installed."
|
1654 |
+
|
1655 |
+
#: includes/i18n.php:485
|
1656 |
+
msgid "You do not have a valid license to access the premium version."
|
1657 |
+
msgstr "You do not have a valid license to access the premium version."
|
1658 |
+
|
1659 |
+
#: includes/i18n.php:486
|
1660 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1661 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1662 |
+
|
1663 |
+
#: includes/i18n.php:501
|
1664 |
msgctxt "Plugin installer section title"
|
1665 |
msgid "Description"
|
1666 |
msgstr "Description"
|
1667 |
|
1668 |
+
#: includes/i18n.php:502
|
1669 |
msgctxt "Plugin installer section title"
|
1670 |
msgid "Installation"
|
1671 |
msgstr "Installation"
|
1672 |
|
1673 |
+
#: includes/i18n.php:503
|
1674 |
msgctxt "Plugin installer section title"
|
1675 |
msgid "FAQ"
|
1676 |
msgstr "FAQ"
|
1677 |
|
1678 |
+
#: includes/i18n.php:504
|
1679 |
msgctxt "Plugin installer section title"
|
1680 |
msgid "Changelog"
|
1681 |
msgstr "Changelog"
|
1682 |
|
1683 |
+
#: includes/i18n.php:505
|
1684 |
msgctxt "Plugin installer section title"
|
1685 |
msgid "Reviews"
|
1686 |
msgstr "Reviews"
|
1687 |
|
1688 |
+
#: includes/i18n.php:506
|
1689 |
msgctxt "Plugin installer section title"
|
1690 |
msgid "Other Notes"
|
1691 |
msgstr "Other Notes"
|
1692 |
|
1693 |
+
#: includes/i18n.php:508
|
1694 |
msgid "%s star"
|
1695 |
msgstr "%s star"
|
1696 |
|
1697 |
+
#: includes/i18n.php:510
|
1698 |
msgid "%s stars"
|
1699 |
msgstr "%s stars"
|
1700 |
|
1701 |
+
#: includes/i18n.php:512
|
1702 |
msgid "%s rating"
|
1703 |
msgstr "%s rating"
|
1704 |
|
1705 |
+
#: includes/i18n.php:514
|
1706 |
msgid "%s ratings"
|
1707 |
msgstr "%s ratings"
|
1708 |
|
1709 |
+
#: includes/i18n.php:516
|
1710 |
msgid "%s time"
|
1711 |
msgstr "%s time"
|
1712 |
|
1713 |
+
#: includes/i18n.php:518
|
1714 |
msgid "%s times"
|
1715 |
msgstr "%s times"
|
1716 |
|
1717 |
+
#: includes/i18n.php:520
|
1718 |
msgid "Click to see reviews that provided a rating of %s"
|
1719 |
msgstr "Click to see reviews that provided a rating of %s"
|
1720 |
|
1721 |
+
#: includes/i18n.php:521
|
1722 |
msgid "Last Updated"
|
1723 |
msgstr "Last Updated"
|
1724 |
|
1725 |
+
#: includes/i18n.php:522
|
1726 |
msgid "Requires WordPress Version:"
|
1727 |
msgstr "Requires WordPress Version:"
|
1728 |
|
1729 |
+
#: includes/i18n.php:523
|
1730 |
msgctxt "as the plugin author"
|
1731 |
msgid "Author:"
|
1732 |
msgstr "Author:"
|
1733 |
|
1734 |
+
#: includes/i18n.php:524
|
1735 |
msgid "Compatible up to:"
|
1736 |
msgstr "Compatible up to:"
|
1737 |
|
1738 |
+
#: includes/i18n.php:525
|
1739 |
msgid "Downloaded:"
|
1740 |
msgstr "Downloaded:"
|
1741 |
|
1742 |
+
#: includes/i18n.php:526
|
1743 |
msgid "WordPress.org Plugin Page"
|
1744 |
msgstr "WordPress.org Plugin Page"
|
1745 |
|
1746 |
+
#: includes/i18n.php:527
|
1747 |
msgid "Plugin Homepage"
|
1748 |
msgstr "Plugin Homepage"
|
1749 |
|
1750 |
+
#: includes/i18n.php:528
|
1751 |
msgid "Donate to this plugin"
|
1752 |
msgstr "Donate to this plugin"
|
1753 |
|
1754 |
+
#: includes/i18n.php:529
|
1755 |
msgid "Average Rating"
|
1756 |
msgstr "Average Rating"
|
1757 |
|
1758 |
+
#: includes/i18n.php:530
|
1759 |
msgid "based on %s"
|
1760 |
msgstr "based on %s"
|
1761 |
|
1762 |
+
#: includes/i18n.php:531
|
1763 |
msgid "Warning:"
|
1764 |
msgstr "Warning:"
|
1765 |
|
1766 |
+
#: includes/i18n.php:532
|
1767 |
msgid "Contributors"
|
1768 |
msgstr "Contributors"
|
1769 |
|
1770 |
+
#: includes/i18n.php:533
|
1771 |
msgid "Plugin Install"
|
1772 |
msgstr "Plugin Install"
|
1773 |
|
1774 |
+
#: includes/i18n.php:534
|
1775 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1776 |
msgstr "This plugin has not been tested with your current version of WordPress."
|
1777 |
|
1778 |
+
#: includes/i18n.php:535
|
1779 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1780 |
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1781 |
|
1782 |
+
#: includes/i18n.php:536
|
1783 |
msgid "Newer Version (%s) Installed"
|
1784 |
msgstr "Newer Version (%s) Installed"
|
1785 |
|
1786 |
+
#: includes/i18n.php:537
|
1787 |
msgid "Latest Version Installed"
|
1788 |
msgstr "Latest Version Installed"
|
freemius/languages/freemius-he.mo
CHANGED
Binary file
|
freemius/languages/freemius-he.po
CHANGED
@@ -1,1661 +1,1791 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
|
|
4 |
# Vova Feldman <vova@freemius.com>, 2016
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
-
"
|
|
|
10 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
11 |
"Language-Team: Hebrew (http://www.transifex.com/freemius/wordpress-sdk/language/he/)\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"Language: he\n"
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
17 |
"X-Poedit-Basepath: ..\n"
|
18 |
-
"X-Poedit-KeywordsList:
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
21 |
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
|
23 |
-
#: includes/i18n.
|
24 |
-
msgid "Yes - I'm in!"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: includes/i18n.php43, includes/i18n.php:57
|
28 |
-
msgid "Not today"
|
29 |
-
msgstr "לא היום"
|
30 |
-
|
31 |
-
#: includes/i18n.php:69
|
32 |
msgid "Account"
|
33 |
msgstr "חשבון"
|
34 |
|
35 |
-
#: includes/i18n.php:
|
36 |
msgid "Add On"
|
37 |
-
msgstr "
|
38 |
|
39 |
-
#: includes/i18n.php:
|
40 |
msgid "Contact Us"
|
41 |
msgstr "יצירת קשר"
|
42 |
|
43 |
-
#: includes/i18n.php:
|
44 |
msgid "Contact Support"
|
45 |
msgstr "צור קשר"
|
46 |
|
47 |
-
#: includes/i18n.php:
|
48 |
msgid "Change Ownership"
|
49 |
msgstr "עדכון בעלות"
|
50 |
|
51 |
-
#: includes/i18n.php:
|
52 |
msgid "Support"
|
53 |
msgstr "תמיכה"
|
54 |
|
55 |
-
#: includes/i18n.php:
|
56 |
msgid "Support Forum"
|
57 |
msgstr "פורום תמיכה"
|
58 |
|
59 |
-
#: includes/i18n.php:
|
60 |
msgid "Add Ons"
|
61 |
-
msgstr "
|
62 |
|
63 |
-
#: includes/i18n.php:
|
64 |
msgctxt "verb"
|
65 |
msgid "Upgrade"
|
66 |
msgstr "שדרג"
|
67 |
|
68 |
-
#: includes/i18n.php:
|
69 |
msgid "Awesome"
|
70 |
msgstr "אדיר"
|
71 |
|
72 |
-
#: includes/i18n.php:
|
73 |
msgctxt "noun"
|
74 |
msgid "Pricing"
|
75 |
msgstr "מחירון"
|
76 |
|
77 |
-
#: includes/i18n.php:
|
78 |
msgctxt "noun"
|
79 |
msgid "Price"
|
80 |
msgstr "מחיר"
|
81 |
|
82 |
-
#: includes/i18n.php:
|
83 |
msgid "Unlimited Updates"
|
84 |
msgstr "עדכונים ללא הגבלה"
|
85 |
|
86 |
-
#: includes/i18n.php:
|
87 |
msgctxt "verb"
|
88 |
msgid "Downgrade"
|
89 |
msgstr "שנמך"
|
90 |
|
91 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
92 |
msgid "Cancel Trial"
|
93 |
msgstr "ביט"
|
94 |
|
95 |
-
#: includes/i18n.php:
|
96 |
msgid "Free Trial"
|
97 |
msgstr "ניסיון חינם"
|
98 |
|
99 |
-
#: includes/i18n.php:
|
100 |
msgid "Start my free %s"
|
101 |
msgstr "התחל את %s הניסיון שלי"
|
102 |
|
103 |
-
#: includes/i18n.php:
|
104 |
msgid "No commitment for %s - cancel anytime"
|
105 |
-
msgstr ""
|
106 |
|
107 |
-
#: includes/i18n.php:
|
108 |
msgid "After your free %s, pay as little as %s"
|
109 |
-
msgstr ""
|
110 |
|
111 |
-
#: includes/i18n.php:
|
112 |
msgid "Details"
|
113 |
msgstr "פרטים"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgid "Account Details"
|
117 |
msgstr "פרטי חשבון"
|
118 |
|
119 |
-
#: includes/i18n.php:
|
120 |
msgctxt "verb"
|
121 |
msgid "Delete"
|
122 |
msgstr "מחק"
|
123 |
|
124 |
-
#: includes/i18n.php:
|
125 |
msgctxt "verb"
|
126 |
msgid "Show"
|
127 |
msgstr "הצג"
|
128 |
|
129 |
-
#: includes/i18n.php:
|
130 |
msgctxt "verb"
|
131 |
msgid "Hide"
|
132 |
msgstr "הסתר"
|
133 |
|
134 |
-
#: includes/i18n.php:
|
135 |
msgctxt "verb"
|
136 |
msgid "Edit"
|
137 |
msgstr "ערוך"
|
138 |
|
139 |
-
#: includes/i18n.php:
|
140 |
msgctxt "verb"
|
141 |
msgid "Update"
|
142 |
-
msgstr ""
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Date"
|
146 |
msgstr "תאריך"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Amount"
|
150 |
msgstr "סכום"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Invoice"
|
154 |
msgstr "חשבונית"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgid "Billing"
|
158 |
msgstr "בילינג"
|
159 |
|
160 |
-
#: includes/i18n.php:
|
161 |
msgid "Payments"
|
162 |
msgstr "תשלומים"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgid "Delete Account"
|
166 |
msgstr "מחיקת חשבון"
|
167 |
|
168 |
-
#: includes/i18n.php:
|
169 |
msgctxt "as close a window"
|
170 |
msgid "Dismiss"
|
171 |
msgstr "סגירה"
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as product pricing plan"
|
175 |
msgid "Plan"
|
176 |
msgstr "חבילה"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgid "Change Plan"
|
180 |
msgstr "שינוי חבילה"
|
181 |
|
182 |
-
#: includes/i18n.php:
|
183 |
msgctxt "as download professional version"
|
184 |
msgid "Download %s Version"
|
185 |
-
msgstr ""
|
186 |
|
187 |
-
#: includes/i18n.php:
|
188 |
msgctxt "as download professional version now"
|
189 |
msgid "Download %s version now"
|
190 |
-
msgstr ""
|
191 |
|
192 |
-
#: includes/i18n.php:
|
193 |
msgctxt "as download latest version"
|
194 |
msgid "Download Latest"
|
195 |
msgstr "הורד גרסה אחרונה"
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgctxt "E.g. you have a professional license."
|
199 |
msgid "You have a %s license."
|
200 |
-
msgstr ""
|
201 |
|
202 |
-
#: includes/i18n.php:
|
203 |
msgid "New"
|
204 |
msgstr "חדש"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgid "Free"
|
208 |
msgstr "חינם"
|
209 |
|
210 |
-
#: includes/i18n.php:
|
211 |
msgctxt "as trial plan"
|
212 |
msgid "Trial"
|
213 |
msgstr "ניסיון"
|
214 |
|
215 |
-
#: includes/i18n.php:
|
216 |
msgctxt "as starting a trial plan"
|
217 |
msgid "Start Trial"
|
218 |
-
msgstr ""
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgctxt "verb"
|
222 |
msgid "Purchase"
|
223 |
msgstr "רכישה"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Purchase License"
|
227 |
msgstr "קניית רישיון"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgctxt "verb"
|
231 |
msgid "Buy"
|
232 |
msgstr "קנייה"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Buy License"
|
236 |
msgstr "קניית רישיון"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "Single Site License"
|
240 |
msgstr "רשיון לאתר אחד"
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Unlimited Licenses"
|
244 |
msgstr "רשיונות ללא הגבלה"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "Up to %s Sites"
|
248 |
msgstr "עד %s אתרים"
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
msgid "%sRenew your license now%s to access version %s features and support."
|
252 |
-
msgstr ""
|
253 |
|
254 |
-
#: includes/i18n.php:
|
255 |
-
msgid ""
|
256 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
257 |
-
" you the license key."
|
258 |
-
msgstr ""
|
259 |
|
260 |
-
#: includes/i18n.php:
|
261 |
msgctxt "e.g. Professional Plan"
|
262 |
msgid "%s Plan"
|
263 |
-
msgstr ""
|
264 |
|
265 |
-
#: includes/i18n.php:
|
266 |
msgid "You are just one step away - %s"
|
267 |
-
msgstr ""
|
268 |
|
269 |
-
#: includes/i18n.php:
|
270 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
271 |
msgid "Complete \"%s\" Activation Now"
|
272 |
-
msgstr ""
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid "We made a few tweaks to the plugin, %s"
|
276 |
msgstr "ביצענו מספר שינויים לתוסף, %s"
|
277 |
|
278 |
-
#: includes/i18n.php:
|
279 |
msgid "Opt-in to make \"%s\" Better!"
|
280 |
-
msgstr ""
|
281 |
|
282 |
-
#: includes/i18n.php:
|
283 |
msgid "Error"
|
284 |
msgstr "שגיאה"
|
285 |
|
286 |
-
#: includes/i18n.php:
|
287 |
-
msgid ""
|
288 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
289 |
-
"sdk@freemius.com with the current error."
|
290 |
-
msgstr ""
|
291 |
|
292 |
-
#: includes/i18n.php:
|
293 |
msgctxt "as expiration date"
|
294 |
msgid "Expiration"
|
295 |
msgstr "תפוגה"
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "as software license"
|
299 |
msgid "License"
|
300 |
msgstr "רישיון"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "not verified"
|
304 |
msgstr "לא מאומת"
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgid "Verify Email"
|
308 |
msgstr "אמת כתובת דוא\"ל"
|
309 |
|
310 |
-
#: includes/i18n.php:
|
311 |
msgctxt "e.g. expires in 2 months"
|
312 |
msgid "Expires in %s"
|
313 |
-
msgstr ""
|
314 |
|
315 |
-
#: includes/i18n.php:
|
316 |
msgctxt "e.g. auto renews in 2 months"
|
317 |
msgid "Auto renews in %s"
|
318 |
-
msgstr ""
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgid "No expiration"
|
322 |
msgstr "ללא תפוגה"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgid "Expired"
|
326 |
msgstr "פג תוקף"
|
327 |
|
328 |
-
#: includes/i18n.php:
|
329 |
msgid "Cancelled"
|
330 |
msgstr "בוטל"
|
331 |
|
332 |
-
#: includes/i18n.php:
|
333 |
msgctxt "e.g. In 2 hours"
|
334 |
msgid "In %s"
|
335 |
msgstr "בעוד %s"
|
336 |
|
337 |
-
#: includes/i18n.php:
|
338 |
msgctxt "e.g. 2 min ago"
|
339 |
msgid "%s ago"
|
340 |
-
msgstr ""
|
341 |
|
342 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
343 |
msgctxt "as plugin version"
|
344 |
msgid "Version"
|
345 |
msgstr "גרסה"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Name"
|
349 |
msgstr "שם"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Email"
|
353 |
msgstr "דוא\"ל"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Email address"
|
357 |
msgstr "כתובת דוא\"ל"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Verified"
|
361 |
msgstr "מאומת"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
msgid "Plugin"
|
365 |
msgstr "תוסף"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Plugins"
|
369 |
msgstr "תוספים"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
372 |
msgid "Themes"
|
373 |
msgstr "תבניות"
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgctxt "as file/folder path"
|
377 |
msgid "Path"
|
378 |
-
msgstr ""
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Title"
|
382 |
msgstr "כותרת"
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Free version"
|
386 |
msgstr "גירסה חינאמית"
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgid "Premium version"
|
390 |
msgstr "גירסת פרימיום"
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgctxt "as WP plugin slug"
|
394 |
msgid "Slug"
|
395 |
-
msgstr ""
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "ID"
|
399 |
msgstr "מזהה"
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Users"
|
403 |
msgstr "משתמשים"
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Plugin Installs"
|
407 |
msgstr "התקנות תוסף"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
410 |
msgctxt "like websites"
|
411 |
msgid "Sites"
|
412 |
msgstr "אתרים"
|
413 |
|
414 |
-
#: includes/i18n.php:
|
415 |
msgid "User ID"
|
416 |
msgstr "מזהה משתמש"
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgid "Site ID"
|
420 |
msgstr "מזהה אתר"
|
421 |
|
422 |
-
#: includes/i18n.php:
|
423 |
msgid "Public Key"
|
424 |
msgstr "מפתח פומבי"
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgid "Secret Key"
|
428 |
msgstr "מפתח סודי"
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgctxt "as secret encryption key missing"
|
432 |
msgid "No Secret"
|
433 |
msgstr "אין מפתח סודי"
|
434 |
|
435 |
-
#: includes/i18n.php:
|
436 |
msgid "No ID"
|
437 |
msgstr "אין מזהה"
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgctxt "as synchronize license"
|
441 |
msgid "Sync License"
|
442 |
msgstr "סינכרן רישיון"
|
443 |
|
444 |
-
#: includes/i18n.php:
|
445 |
msgctxt "as synchronize"
|
446 |
msgid "Sync"
|
447 |
msgstr "סינכרון"
|
448 |
|
449 |
-
#: includes/i18n.php:
|
450 |
msgid "Activate License"
|
451 |
msgstr "הפעלת רישיון"
|
452 |
|
453 |
-
#: includes/i18n.php:
|
454 |
msgid "Activate Free Version"
|
455 |
msgstr "הפעלת גירסה חינאמית"
|
456 |
|
457 |
-
#: includes/i18n.php:
|
458 |
-
msgid ""
|
459 |
-
"Please enter the license key that you received in the email right after the "
|
460 |
-
"purchase:"
|
461 |
-
msgstr ""
|
462 |
|
463 |
-
#: includes/i18n.php:
|
464 |
msgid "Activating license..."
|
465 |
msgstr "מפעיל רישיון..."
|
466 |
|
467 |
-
#: includes/i18n.php:
|
468 |
msgid "Change License"
|
469 |
msgstr "שינוי רישיון"
|
470 |
|
471 |
-
#: includes/i18n.php:
|
472 |
msgid "Update License"
|
473 |
msgstr "עדכון רישיון"
|
474 |
|
475 |
-
#: includes/i18n.php:
|
476 |
msgid "Deactivate License"
|
477 |
msgstr "שיחרור רישיון"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "Activate"
|
481 |
msgstr "הפעלה"
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Deactivate"
|
485 |
msgstr "כיבוי"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgid "Skip & Deactivate"
|
489 |
msgstr "דלג והמשך כיבוי"
|
490 |
|
491 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
492 |
msgid "No - just deactivate"
|
493 |
msgstr "לא - פשוט כבה"
|
494 |
|
495 |
-
#: includes/i18n.php:
|
496 |
msgid "Yes - do your thing"
|
497 |
msgstr "כן - בצעו את מה שצריך"
|
498 |
|
499 |
-
#: includes/i18n.php:
|
500 |
msgctxt "active mode"
|
501 |
msgid "Active"
|
502 |
msgstr "מופעל"
|
503 |
|
504 |
-
#: includes/i18n.php:
|
505 |
msgctxt "is active mode?"
|
506 |
msgid "Is Active"
|
507 |
msgstr "האם פעיל"
|
508 |
|
509 |
-
#: includes/i18n.php:
|
510 |
msgid "Install Now"
|
511 |
msgstr "התקן עכשיו"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgid "Install Update Now"
|
515 |
msgstr "התקן עדכון במיידי"
|
516 |
|
517 |
-
#: includes/i18n.php:
|
518 |
msgid "More information about %s"
|
519 |
-
msgstr ""
|
520 |
|
521 |
-
#: includes/i18n.php:
|
522 |
msgid "Localhost"
|
523 |
msgstr "שרת לוקאלי"
|
524 |
|
525 |
-
#: includes/i18n.php:
|
526 |
msgctxt "as activate Professional plan"
|
527 |
msgid "Activate %s Plan"
|
528 |
-
msgstr ""
|
529 |
|
530 |
-
#: includes/i18n.php:
|
531 |
msgctxt "as 5 licenses left"
|
532 |
msgid "%s left"
|
533 |
msgstr "נשארו %s"
|
534 |
|
535 |
-
#: includes/i18n.php:
|
536 |
msgid "Last license"
|
537 |
msgstr "רישיון אחרון"
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgid "What is your %s?"
|
541 |
-
msgstr ""
|
542 |
|
543 |
-
#: includes/i18n.php:
|
544 |
msgid "Activate this add-on"
|
545 |
-
msgstr "הפעל את
|
546 |
|
547 |
-
#: includes/i18n.php:
|
548 |
-
msgid ""
|
549 |
-
"Deactivating your license will block all premium features, but will enable "
|
550 |
-
"you to activate the license on another site. Are you sure you want to "
|
551 |
-
"proceed?"
|
552 |
-
msgstr ""
|
553 |
|
554 |
-
#: includes/i18n.php:
|
555 |
-
msgid ""
|
556 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
557 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
558 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
559 |
-
"account. Are you sure you would like to continue with the deletion?"
|
560 |
-
msgstr ""
|
561 |
|
562 |
-
#: includes/i18n.php:
|
563 |
-
msgid ""
|
564 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
565 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
-
msgstr ""
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
-
msgid ""
|
570 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
571 |
-
"and your %s plan license will expire in %s."
|
572 |
-
msgstr ""
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
-
msgid ""
|
576 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
577 |
-
"Are you sure?"
|
578 |
-
msgstr ""
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
-
msgid ""
|
582 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
583 |
-
"updates and support."
|
584 |
-
msgstr ""
|
585 |
|
586 |
-
#: includes/i18n.php:
|
587 |
-
msgid ""
|
588 |
-
"Once your license
|
589 |
-
" have access to the %s features."
|
590 |
-
msgstr ""
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
msgstr "האם את/ה בטוח רוצה להמשיך?"
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "Add Ons for %s"
|
598 |
-
msgstr ""
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
-
msgid ""
|
602 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
603 |
-
"please try to come back in few minutes."
|
604 |
-
msgstr ""
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
msgid "Anonymous feedback"
|
608 |
msgstr "פידבק אנונימי"
|
609 |
|
610 |
-
#: includes/i18n.php:
|
611 |
msgid "Quick feedback"
|
612 |
msgstr "פידבק זריז"
|
613 |
|
614 |
-
#: includes/i18n.php:
|
615 |
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
-
msgstr ""
|
617 |
|
618 |
-
#: includes/i18n.php:
|
619 |
msgid "Yes - Deactivate"
|
620 |
msgstr "כן - "
|
621 |
|
622 |
-
#: includes/i18n.php:
|
623 |
msgid "Submit & Deactivate"
|
624 |
msgstr "שלח וכבה"
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "Cancel"
|
628 |
msgstr "בטל"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "I no longer need the plugin"
|
632 |
msgstr "אין לי צורך יותר בתוסף"
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "I found a better plugin"
|
636 |
msgstr "מצאתי תוסף טוב יותר"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "I only needed the plugin for a short period"
|
640 |
msgstr "השתמשתי בתוסף לתקופה קצרה"
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "The plugin broke my site"
|
644 |
msgstr "התוסף הרס לי את האתר"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "The plugin suddenly stopped working"
|
648 |
msgstr "התוסף לפתע הפסיק לעבוד"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "I can't pay for it anymore"
|
652 |
msgstr "אני לא יכול/ה להמשיך לשלם על זה"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
msgstr "כיבוי זמני לשם דיבאג."
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgctxt ""
|
660 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
661 |
-
"in the modal box."
|
662 |
msgid "Other"
|
663 |
msgstr "אחר"
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "Kindly tell us the reason so we can improve."
|
667 |
msgstr "אנא שתף את הסיבה כדי שנוכל להשתפר."
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "What's the plugin's name?"
|
671 |
msgstr "מהו שם התוסף?"
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "What price would you feel comfortable paying?"
|
675 |
msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "I couldn't understand how to make it work"
|
679 |
msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
-
msgid ""
|
683 |
-
"The plugin is great, but I need specific feature that you don't support"
|
684 |
msgstr "התוסף מעולה, אבל אני צריכ\\ה פיצ'ר ספציפי שלא נתמך"
|
685 |
|
686 |
-
#: includes/i18n.php:
|
687 |
msgid "The plugin is not working"
|
688 |
msgstr "התוסף לא עובד"
|
689 |
|
690 |
-
#: includes/i18n.php:
|
691 |
msgid "It's not what I was looking for"
|
692 |
msgstr "חיפשתי משהו אחר"
|
693 |
|
694 |
-
#: includes/i18n.php:
|
695 |
msgid "The plugin didn't work as expected"
|
696 |
msgstr "התוסף לא עבד כמצופה"
|
697 |
|
698 |
-
#: includes/i18n.php:
|
699 |
msgid "What feature?"
|
700 |
msgstr "איזה פיטצ'ר?"
|
701 |
|
702 |
-
#: includes/i18n.php:
|
703 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
704 |
msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "What you've been looking for?"
|
708 |
msgstr "מה חיפשת?"
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgid "What did you expect?"
|
712 |
msgstr "למה ציפית?"
|
713 |
|
714 |
-
#: includes/i18n.php:
|
715 |
msgid "The plugin didn't work"
|
716 |
msgstr "התוסף לא עבד"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgid "I don't like to share my information with you"
|
720 |
msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
-
msgid ""
|
724 |
-
"You might have missed it, but you don't have to share any data and can just "
|
725 |
-
"%s the opt-in."
|
726 |
msgstr "אולי פספסת את זה אבל אינך חייב\\ת לשתף כל מידע איתנו, ביכולתך %s על שיתוף המידע."
|
727 |
|
728 |
-
#: includes/i18n.php:
|
729 |
msgctxt "greeting"
|
730 |
msgid "Hey %s,"
|
731 |
msgstr "היי %s,"
|
732 |
|
733 |
-
#: includes/i18n.php:
|
734 |
msgctxt "a greeting. E.g. Thanks John!"
|
735 |
msgid "Thanks %s!"
|
736 |
msgstr "תודה %s!"
|
737 |
|
738 |
-
#: includes/i18n.php:
|
739 |
-
msgid ""
|
740 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
741 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
742 |
-
msgstr ""
|
743 |
|
744 |
-
#: includes/i18n.php:
|
745 |
-
msgid ""
|
746 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
747 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
748 |
-
"work just fine."
|
749 |
-
msgstr ""
|
750 |
|
751 |
-
#: includes/i18n.php:
|
752 |
-
msgid ""
|
753 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
754 |
-
"make sure you click the activation button in that email to %s."
|
755 |
-
msgstr ""
|
756 |
|
757 |
-
#: includes/i18n.php:
|
758 |
msgid "complete the install"
|
759 |
-
msgstr ""
|
760 |
|
761 |
-
#: includes/i18n.php:
|
762 |
msgid "start the trial"
|
763 |
-
msgstr ""
|
764 |
|
765 |
-
#: includes/i18n.php:
|
766 |
-
msgid ""
|
767 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
768 |
-
msgstr ""
|
769 |
|
770 |
-
#: includes/i18n.php:
|
771 |
-
msgid ""
|
772 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
773 |
-
"updates and verify the validity of your license."
|
774 |
-
msgstr ""
|
775 |
|
776 |
-
#: includes/i18n.php:
|
777 |
msgid "What permissions are being granted?"
|
778 |
msgstr "מהן ההרשאות המוענקות?"
|
779 |
|
780 |
-
#: includes/i18n.php:
|
781 |
msgid "Your Profile Overview"
|
782 |
msgstr "פרטים כלליים על הפרופיל"
|
783 |
|
784 |
-
#: includes/i18n.php:
|
785 |
msgid "Name and email address"
|
786 |
msgstr "שם וכתובת דו\"אל"
|
787 |
|
788 |
-
#: includes/i18n.php:
|
789 |
msgid "Your Site Overview"
|
790 |
msgstr "פרטים כלליים על האתר"
|
791 |
|
792 |
-
#: includes/i18n.php:
|
793 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
794 |
msgstr "כתובת אתר, גרסת וורדפרס, פרטי PHP, תוספים ותבניות"
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "Current Plugin Events"
|
798 |
msgstr "שינויי מצב בתוסף הנוכחי"
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Activation, deactivation and uninstall"
|
802 |
msgstr "הפעלה, כיבוי והסרה"
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Plugins & Themes"
|
806 |
msgstr "תוספים ותבניות"
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Titles, versions and state."
|
810 |
msgstr "שמות, גרסאות וסטאטוס."
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Admin Notices"
|
814 |
-
msgstr ""
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Newsletter"
|
818 |
msgstr "ניוסלטר"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Updates, announcements, marketing, no spam"
|
822 |
-
msgstr ""
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgid "Privacy Policy"
|
826 |
msgstr "מדיניות פרטיות"
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Terms of Service"
|
830 |
msgstr "תנאי השירות"
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgctxt "as activating plugin"
|
834 |
msgid "Activating"
|
835 |
msgstr "מפעיל"
|
836 |
|
837 |
-
#: includes/i18n.php:
|
838 |
msgctxt "as in the process of sending an email"
|
839 |
msgid "Sending email"
|
840 |
msgstr "שולח דוא\"ל"
|
841 |
|
842 |
-
#: includes/i18n.php:
|
843 |
msgctxt "button label"
|
844 |
msgid "Allow & Continue"
|
845 |
msgstr "אפשר\\י והמשכ\\י"
|
846 |
|
847 |
-
#: includes/i18n.php:
|
848 |
msgctxt "button label"
|
849 |
msgid "Agree & Activate License"
|
850 |
msgstr "הסכמה והפעלת רישיון"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "verb"
|
854 |
msgid "Skip"
|
855 |
msgstr "דלג"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgid "Click here to use the plugin anonymously"
|
859 |
-
msgstr ""
|
860 |
|
861 |
-
#: includes/i18n.php:
|
862 |
msgid "Re-send activation email"
|
863 |
msgstr "שליחה חוזרת של מייל האקטיבציה"
|
864 |
|
865 |
-
#: includes/i18n.php:
|
866 |
msgid "License key"
|
867 |
msgstr "מפתח רישיון"
|
868 |
|
869 |
-
#: includes/i18n.php:
|
870 |
msgid "Send License Key"
|
871 |
msgstr "שליחת מפתח רישיון"
|
872 |
|
873 |
-
#: includes/i18n.php:
|
874 |
msgid "Sending license key"
|
875 |
msgstr "שולח מפתח רישיון"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "Have a license key?"
|
879 |
msgstr "האם ברשותך רישיון?"
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Don't have a license key?"
|
883 |
msgstr "האם אין ברשותך מפתח רישיון?"
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "Can't find your license key?"
|
887 |
msgstr "האם אינך מוצא את מפתח הרישיון?"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
-
msgid ""
|
891 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
892 |
-
"right address?"
|
893 |
-
msgstr ""
|
894 |
|
895 |
-
#: includes/i18n.php:
|
896 |
-
msgid ""
|
897 |
-
"We can't see any active licenses associated with that email address, are you"
|
898 |
-
" sure it's the right address?"
|
899 |
-
msgstr ""
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Opt In"
|
903 |
-
msgstr ""
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Opt Out"
|
907 |
-
msgstr ""
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
msgid "On second thought - I want to continue helping"
|
911 |
-
msgstr ""
|
912 |
|
913 |
-
#: includes/i18n.php:
|
914 |
msgid "Opting out..."
|
915 |
-
msgstr ""
|
916 |
|
917 |
-
#: includes/i18n.php:
|
918 |
msgid "Opting in..."
|
919 |
-
msgstr ""
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
-
msgid ""
|
923 |
-
"We appreciate your help in making the %s better by letting us track some "
|
924 |
-
"usage data."
|
925 |
-
msgstr ""
|
926 |
|
927 |
-
#: includes/i18n.php:
|
928 |
-
msgid ""
|
929 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
930 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
931 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
932 |
-
msgstr ""
|
933 |
|
934 |
-
#: includes/i18n.php:
|
935 |
-
msgid ""
|
936 |
-
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
937 |
-
"%s."
|
938 |
-
msgstr ""
|
939 |
|
940 |
-
#: includes/i18n.php:
|
941 |
msgid "Screenshots"
|
942 |
msgstr "צילומי מסך"
|
943 |
|
944 |
-
#: includes/i18n.php:
|
945 |
msgid "Click to view full-size screenshot %d"
|
946 |
-
msgstr ""
|
947 |
|
948 |
-
#: includes/i18n.php:
|
949 |
msgid "Freemius Debug"
|
950 |
-
msgstr ""
|
951 |
|
952 |
-
#: includes/i18n.php:
|
953 |
msgctxt "as turned on"
|
954 |
msgid "On"
|
955 |
msgstr "דלוק"
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgctxt "as turned off"
|
959 |
msgid "Off"
|
960 |
msgstr "כבוי"
|
961 |
|
962 |
-
#: includes/i18n.php:
|
963 |
msgctxt "as code debugging"
|
964 |
msgid "Debugging"
|
965 |
msgstr "דיבוג"
|
966 |
|
967 |
-
#: includes/i18n.php:
|
968 |
msgid "Freemius State"
|
969 |
-
msgstr ""
|
970 |
|
971 |
-
#: includes/i18n.php:
|
972 |
msgctxt "as connection was successful"
|
973 |
msgid "Connected"
|
974 |
msgstr "מחובר"
|
975 |
|
976 |
-
#: includes/i18n.php:
|
977 |
msgctxt "as connection blocked"
|
978 |
msgid "Blocked"
|
979 |
msgstr "חסום"
|
980 |
|
981 |
-
#: includes/i18n.php:
|
982 |
msgctxt "as application program interface"
|
983 |
msgid "API"
|
984 |
msgstr "API"
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgctxt "as software development kit versions"
|
988 |
msgid "SDK"
|
989 |
msgstr "SDK"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "as software development kit versions"
|
993 |
msgid "SDK Versions"
|
994 |
msgstr "גרסאות SDK"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt "as plugin folder path"
|
998 |
msgid "Plugin Path"
|
999 |
-
msgstr ""
|
1000 |
|
1001 |
-
#: includes/i18n.php:
|
1002 |
msgctxt "as sdk path"
|
1003 |
msgid "SDK Path"
|
1004 |
msgstr "מיקום SDK"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Add Ons of Plugin %s"
|
1008 |
-
msgstr ""
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "Are you sure you want to delete all Freemius data?"
|
1012 |
-
msgstr ""
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Actions"
|
1016 |
msgstr "פעולות"
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "Delete All Accounts"
|
1020 |
msgstr "מחיקת כל החשבונות"
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "Start Fresh"
|
1024 |
msgstr "התחל מחדש"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Clear API Cache"
|
1028 |
msgstr "ניקוי מטמון ה-API"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Sync Data From Server"
|
1032 |
msgstr "סנכרון מידע מהשרת"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Scheduled Crons"
|
1036 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
1039 |
msgid "Plugins & Themes Sync"
|
1040 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1043 |
msgctxt "as congratulations"
|
1044 |
msgid "Congrats"
|
1045 |
msgstr "מזל טוב"
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgctxt "exclamation"
|
1049 |
msgid "Oops"
|
1050 |
msgstr "אופס"
|
1051 |
|
1052 |
-
#: includes/i18n.php:
|
1053 |
msgctxt "interjection expressing joy or exuberance"
|
1054 |
msgid "Yee-haw"
|
1055 |
-
msgstr ""
|
1056 |
|
1057 |
-
#: includes/i18n.php:
|
1058 |
msgctxt ""
|
1059 |
-
"(especially in electronic communication) used to express elation, "
|
1060 |
-
"enthusiasm, or triumph."
|
1061 |
msgid "W00t"
|
1062 |
-
msgstr ""
|
1063 |
|
1064 |
-
#: includes/i18n.php:
|
1065 |
msgctxt "a positive response"
|
1066 |
msgid "Right on"
|
1067 |
-
msgstr ""
|
1068 |
|
1069 |
-
#: includes/i18n.php:
|
1070 |
msgctxt ""
|
1071 |
-
"something somebody says when they are thinking about what you have just "
|
1072 |
-
"said. "
|
1073 |
msgid "Hmm"
|
1074 |
msgstr "הממ"
|
1075 |
|
1076 |
-
#: includes/i18n.php:
|
1077 |
msgid "O.K"
|
1078 |
msgstr "אוקיי"
|
1079 |
|
1080 |
-
#: includes/i18n.php:
|
1081 |
msgctxt "exclamation"
|
1082 |
msgid "Hey"
|
1083 |
msgstr "היי"
|
1084 |
|
1085 |
-
#: includes/i18n.php:
|
1086 |
msgctxt "advance notice of something that will need attention."
|
1087 |
msgid "Heads up"
|
1088 |
msgstr "לתשמות לבך"
|
1089 |
|
1090 |
-
#: includes/i18n.php:
|
1091 |
msgid "Seems like you got the latest release."
|
1092 |
-
msgstr ""
|
1093 |
|
1094 |
-
#: includes/i18n.php:
|
1095 |
msgid "You are all good!"
|
1096 |
msgstr "את\\ה מסודר!"
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
-
msgid ""
|
1100 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1101 |
-
"email is already registered."
|
1102 |
-
msgstr ""
|
1103 |
|
1104 |
-
#: includes/i18n.php:
|
1105 |
-
msgid ""
|
1106 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1107 |
-
"click the Change Ownership button."
|
1108 |
-
msgstr ""
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
-
msgid ""
|
1112 |
-
"Your email was successfully updated. You should receive an email with "
|
1113 |
-
"confirmation instructions in few moments."
|
1114 |
-
msgstr ""
|
1115 |
|
1116 |
-
#: includes/i18n.php:
|
1117 |
msgid "Your name was successfully updated."
|
1118 |
msgstr "שמך עודכן בהצלחה."
|
1119 |
|
1120 |
-
#: includes/i18n.php:
|
1121 |
msgid "You have successfully updated your %s."
|
1122 |
-
msgstr ""
|
1123 |
|
1124 |
-
#: includes/i18n.php:
|
1125 |
msgid "Please provide your full name."
|
1126 |
msgstr "נא למלא את שמך המלא."
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
-
msgid ""
|
1130 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1131 |
-
"please check your spam box."
|
1132 |
-
msgstr ""
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
-
msgid ""
|
1136 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1137 |
-
"from an external server."
|
1138 |
-
msgstr ""
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgid "No credit card required"
|
1142 |
msgstr "לא נדרש כרטיס אשראי"
|
1143 |
|
1144 |
-
#: includes/i18n.php:
|
1145 |
msgid "Premium plugin version was successfully activated."
|
1146 |
-
msgstr ""
|
1147 |
|
1148 |
-
#: includes/i18n.php:
|
1149 |
msgid "The upgrade of %s was successfully completed."
|
1150 |
-
msgstr ""
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid "Your account was successfully activated with the %s plan."
|
1154 |
-
msgstr "חשבונך הופעל בהצלחה עם חבילת
|
1155 |
|
1156 |
-
#: includes/i18n.php:
|
1157 |
msgid "Download the latest %s version now"
|
1158 |
msgstr "הורדת גרסת ה-%s העדכנית - עכשיו"
|
1159 |
|
1160 |
-
#: includes/i18n.php:
|
1161 |
msgid "Please follow these steps to complete the upgrade"
|
1162 |
msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
|
1163 |
|
1164 |
-
#: includes/i18n.php:
|
1165 |
msgid "Download the latest %s version"
|
1166 |
msgstr "הורד\\י את גרסת ה-%s העדכנית"
|
1167 |
|
1168 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1169 |
msgid "Deactivate the free version"
|
1170 |
msgstr "כבה\\י את הגרסה החינאמית"
|
1171 |
|
1172 |
-
#: includes/i18n.php:
|
1173 |
msgid "Upload and activate the downloaded version"
|
1174 |
msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
|
1175 |
|
1176 |
-
#: includes/i18n.php:
|
1177 |
msgid "How to upload and activate?"
|
1178 |
msgstr "איך להעלות ולהפעיל?"
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1182 |
msgid "%s Add-on was successfully purchased."
|
1183 |
-
msgstr ""
|
1184 |
|
1185 |
-
#: includes/i18n.php:
|
1186 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1187 |
-
msgstr ""
|
1188 |
|
1189 |
-
#: includes/i18n.php:
|
1190 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1191 |
-
msgstr ""
|
1192 |
|
1193 |
-
#: includes/i18n.php:
|
1194 |
msgid "Your plan was successfully upgraded."
|
1195 |
-
msgstr "החבילה
|
1196 |
|
1197 |
-
#: includes/i18n.php:
|
1198 |
msgid "Your plan was successfully changed to %s."
|
1199 |
-
msgstr ""
|
1200 |
|
1201 |
-
#: includes/i18n.php:
|
1202 |
-
msgid ""
|
1203 |
-
"Your license has expired. You can still continue using the free plugin "
|
1204 |
-
"forever."
|
1205 |
msgstr "פג תוקפו של הרישיון. עדיין ניתן להמשיך להשתמש בגרסה החינאמית של התוסף ללא מגבלת זמן."
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
-
msgid ""
|
1209 |
-
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1210 |
-
" support."
|
1211 |
msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
|
1212 |
|
1213 |
-
#: includes/i18n.php:
|
1214 |
msgid "Your trial has been successfully started."
|
1215 |
msgstr "הניסיון שלך הופעל בהצלחה."
|
1216 |
|
1217 |
-
#: includes/i18n.php:
|
1218 |
msgid "Your license was successfully activated."
|
1219 |
msgstr "הרישיון הופעל בהצלחה."
|
1220 |
|
1221 |
-
#: includes/i18n.php:
|
1222 |
msgid "It looks like your site currently doesn't have an active license."
|
1223 |
msgstr "נראה לאתר עדיין אין רישיון פעיל."
|
1224 |
|
1225 |
-
#: includes/i18n.php:
|
1226 |
-
msgid ""
|
1227 |
-
"
|
1228 |
-
msgstr "רישיונך נותק בהצלחה, חזרת לחבילת ה-%s"
|
1229 |
|
1230 |
-
#: includes/i18n.php:
|
1231 |
msgid "It looks like the license deactivation failed."
|
1232 |
msgstr "נראה שניתוק הרישיון נכשל."
|
1233 |
|
1234 |
-
#: includes/i18n.php:
|
1235 |
msgid "It looks like the license could not be activated."
|
1236 |
msgstr "נראה שלא ניתן להפעיל את הרישיון."
|
1237 |
|
1238 |
-
#: includes/i18n.php:
|
1239 |
msgid "Error received from the server:"
|
1240 |
msgstr "הוחזרה שגיאה מהשרת:"
|
1241 |
|
1242 |
-
#: includes/i18n.php:
|
1243 |
-
msgid ""
|
1244 |
-
"Your trial has expired. You can still continue using all our free features."
|
1245 |
msgstr "תקופת הניסיון נגמרה. ביכולתך להמשיך להשתמש בכל הפיטצ'רים החינאמיים."
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
-
msgid ""
|
1249 |
-
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1250 |
-
"%s."
|
1251 |
-
msgstr ""
|
1252 |
|
1253 |
-
#: includes/i18n.php:
|
1254 |
-
msgid ""
|
1255 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1256 |
-
"Please try again in few minutes."
|
1257 |
-
msgstr ""
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
-
msgid ""
|
1261 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1262 |
-
" :)"
|
1263 |
-
msgstr ""
|
1264 |
|
1265 |
-
#: includes/i18n.php:
|
1266 |
msgid "Your %s free trial was successfully cancelled."
|
1267 |
-
msgstr ""
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgctxt "%s - numeric version number"
|
1271 |
msgid "Version %s was released."
|
1272 |
msgstr "גרסה %s הושקה."
|
1273 |
|
1274 |
-
#: includes/i18n.php:
|
1275 |
msgid "Please download %s."
|
1276 |
-
msgstr ""
|
1277 |
|
1278 |
-
#: includes/i18n.php:
|
1279 |
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
msgid "the latest %s version here"
|
1281 |
msgstr "גרסת ה-%s האחרונה כאן"
|
1282 |
|
1283 |
-
#: includes/i18n.php:
|
1284 |
-
msgid ""
|
1285 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1286 |
-
"free trial."
|
1287 |
-
msgstr ""
|
1288 |
|
1289 |
-
#: includes/i18n.php:
|
1290 |
msgctxt "call to action"
|
1291 |
msgid "Start free trial"
|
1292 |
msgstr "התחלת ניסיון חינם"
|
1293 |
|
1294 |
-
#: includes/i18n.php:
|
1295 |
msgid "Starting trial"
|
1296 |
-
msgstr ""
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid "Please wait"
|
1300 |
-
msgstr ""
|
1301 |
|
1302 |
-
#: includes/i18n.php:
|
1303 |
-
msgid ""
|
1304 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1305 |
-
"Please try again in few minutes."
|
1306 |
-
msgstr ""
|
1307 |
|
1308 |
-
#: includes/i18n.php:
|
1309 |
msgid "You already utilized a trial before."
|
1310 |
msgstr "הניסיון כבר נוצל בעבר."
|
1311 |
|
1312 |
-
#: includes/i18n.php:
|
1313 |
msgid "You are already running the plugin in a trial mode."
|
1314 |
msgstr "התוסף כבר עכשיו בתקופת ניסיון."
|
1315 |
|
1316 |
-
#: includes/i18n.php:
|
1317 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
-
msgstr ""
|
1319 |
|
1320 |
-
#: includes/i18n.php:
|
1321 |
msgid "Plan %s does not support a trial period."
|
1322 |
-
msgstr ""
|
1323 |
|
1324 |
-
#: includes/i18n.php:
|
1325 |
msgid "None of the plugin's plans supports a trial period."
|
1326 |
-
msgstr "אף אחת
|
1327 |
|
1328 |
-
#: includes/i18n.php:
|
1329 |
-
msgid ""
|
1330 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1331 |
-
"error."
|
1332 |
msgstr "שגיאת API בלתי צפוייה. נא לפנות למפתח התוסף עם השגיאה הבאה."
|
1333 |
|
1334 |
-
#: includes/i18n.php:
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
-
msgstr ""
|
1337 |
|
1338 |
-
#: includes/i18n.php:
|
1339 |
-
msgid ""
|
1340 |
-
"Your license has expired. You can still continue using all the %s features, "
|
1341 |
-
"but you'll need to renew your license to continue getting updates and "
|
1342 |
-
"support."
|
1343 |
-
msgstr ""
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid "Couldn't activate %s."
|
1347 |
-
msgstr ""
|
1348 |
|
1349 |
-
#: includes/i18n.php:
|
1350 |
msgid "Please contact us with the following message:"
|
1351 |
msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
|
1352 |
|
1353 |
-
#: includes/i18n.php:
|
1354 |
-
msgid ""
|
1355 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1356 |
-
"your plan, it's probably an issue on our side - sorry."
|
1357 |
-
msgstr ""
|
1358 |
|
1359 |
-
#: includes/i18n.php:
|
1360 |
msgid "Please contact us here"
|
1361 |
msgstr "אנא צור איתנו קשר כאן"
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
-
msgid ""
|
1365 |
-
"
|
1366 |
-
"remains %s."
|
1367 |
-
msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s"
|
1368 |
|
1369 |
-
#: includes/i18n.php:
|
1370 |
msgid "From unknown reason, the API connectivity test failed."
|
1371 |
msgstr "יש בעיית תקשורת ל-API מסיבה בלתי ברורה."
|
1372 |
|
1373 |
-
#: includes/i18n.php:
|
1374 |
-
msgid ""
|
1375 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1376 |
-
"permission, would it be o.k to run another connectivity test?"
|
1377 |
msgstr "ככל הנראה זאת בעיה זמנית בצד שלנו. ברשותך, ורק כדי להיות בטוחים שזאת הבעיה, האם זה יהיה בסדר לבצע בדיקת תקשורת נוספת?"
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
-
msgid ""
|
1381 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1382 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1383 |
-
"on your server."
|
1384 |
-
msgstr ""
|
1385 |
|
1386 |
-
#: includes/i18n.php:
|
1387 |
-
msgid ""
|
1388 |
-
"
|
|
|
|
|
|
|
1389 |
msgstr "מסיבה בלתי ברורה, CloudFlare, חומת האש שאנחנו משתמשים בה, חוסמת את התקשורת."
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
1392 |
msgctxt "as pluginX requires an access to our API"
|
1393 |
msgid "%s requires an access to our API."
|
1394 |
msgstr "%s מחייב גישה ל-API שלנו."
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
-
msgid ""
|
1398 |
-
"It looks like your server is using Squid ACL (access control lists), which "
|
1399 |
-
"blocks the connection."
|
1400 |
-
msgstr ""
|
1401 |
|
1402 |
-
#: includes/i18n.php:
|
1403 |
msgid "I don't know what is Squid or ACL, help me!"
|
1404 |
msgstr "אין לי מושג מה זה Squid או ACL - אשמח לעזרה!"
|
1405 |
|
1406 |
-
#: includes/i18n.
|
1407 |
-
msgid ""
|
1408 |
-
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1409 |
-
"will get a follow-up email to %s once we have an update."
|
1410 |
-
msgstr ""
|
1411 |
|
1412 |
-
#: includes/i18n.php:
|
1413 |
msgid "I'm a system administrator"
|
1414 |
-
msgstr ""
|
1415 |
|
1416 |
-
#: includes/i18n.php:
|
1417 |
-
msgid ""
|
1418 |
-
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1419 |
-
" the plugin and activate it again."
|
1420 |
-
msgstr ""
|
1421 |
|
1422 |
-
#: includes/i18n.php:
|
1423 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1424 |
msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
|
1425 |
|
1426 |
-
#: includes/i18n.php:
|
1427 |
-
msgid ""
|
1428 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1429 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1430 |
-
"the plugin and reactivate it back again."
|
1431 |
-
msgstr ""
|
1432 |
|
1433 |
-
#: includes/i18n.php:
|
1434 |
-
msgid ""
|
1435 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1436 |
-
"you ASAP if you give us a chance."
|
1437 |
msgstr "זו בטח בעיה בצד שלנו ואנחנו נשמח לעזור כדי לפתור את העניין בהקדם האפשר, רק במידה ותאפשר\\י זאת."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
-
msgid ""
|
1441 |
-
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1442 |
msgstr "מצטערים על חוסר הנעימות, אנחנו כאן כדי לעזור אם תאפשר\\י זאת."
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgid "Yes - I'm giving you a chance to fix it"
|
1446 |
msgstr "כן - אני נותן לך צ'אנס לתקן את זה"
|
1447 |
|
1448 |
-
#: includes/i18n.php:
|
1449 |
-
msgid ""
|
1450 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1451 |
-
"You will get a follow-up email to %s once we have an update."
|
1452 |
-
msgstr ""
|
1453 |
|
1454 |
-
#: includes/i18n.php:
|
1455 |
msgid "Let's try your previous version"
|
1456 |
msgstr "בוא ננסה את הגירסה הקודמת"
|
1457 |
|
1458 |
-
#: includes/i18n.php:
|
1459 |
msgid "Uninstall this version and install the previous one."
|
1460 |
msgstr "הסר את הגרסה הנוכחית והתקן את הגרסה קודמת."
|
1461 |
|
1462 |
-
#: includes/i18n.php:
|
1463 |
msgid "That's exhausting, please deactivate"
|
1464 |
msgstr "זה מתיש, אנא לכבות"
|
1465 |
|
1466 |
-
#: includes/i18n.php:
|
1467 |
-
msgid ""
|
1468 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1469 |
-
" to see you again in the future."
|
1470 |
-
msgstr ""
|
1471 |
|
1472 |
-
#: includes/i18n.php:
|
1473 |
-
msgid ""
|
1474 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1475 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1476 |
-
" Appreciate your patience."
|
1477 |
-
msgstr ""
|
1478 |
|
1479 |
-
#: includes/i18n.php:
|
1480 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1481 |
-
msgid ""
|
1482 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1483 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1484 |
-
msgstr ""
|
1485 |
|
1486 |
-
#: includes/i18n.php:
|
1487 |
-
msgid ""
|
1488 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1489 |
-
"Public Key, Secret Key & User ID, and try again."
|
1490 |
-
msgstr ""
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
-
msgid ""
|
1494 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1495 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1496 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1497 |
-
"folder."
|
1498 |
-
msgstr ""
|
1499 |
|
1500 |
-
#: includes/i18n.php:
|
1501 |
-
msgid ""
|
1502 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1503 |
-
" final approval."
|
1504 |
msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
msgid "%s is the new owner of the account."
|
1508 |
msgstr "%s הינו הבעלים החד של חשבון זה."
|
1509 |
|
1510 |
-
#: includes/i18n.php:
|
1511 |
msgctxt "addonX cannot run without pluginY"
|
1512 |
msgid "%s cannot run without %s."
|
1513 |
msgstr "%s לא יכול לעבוד ללא %s."
|
1514 |
|
1515 |
-
#: includes/i18n.php:
|
1516 |
msgctxt "addonX cannot run..."
|
1517 |
msgid "%s cannot run without the plugin."
|
1518 |
-
msgstr ""
|
1519 |
|
1520 |
-
#: includes/i18n.php:
|
1521 |
msgctxt "pluginX activation was successfully..."
|
1522 |
msgid "%s activation was successfully completed."
|
1523 |
-
msgstr ""
|
1524 |
|
1525 |
-
#: includes/i18n.php:
|
1526 |
msgctxt "Plugin installer section title"
|
1527 |
msgid "Features & Pricing"
|
1528 |
msgstr "פיטצ'רים ומחירים"
|
1529 |
|
1530 |
-
#: includes/i18n.php:
|
1531 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1532 |
-
msgstr ""
|
1533 |
|
1534 |
-
#: includes/i18n.php:
|
1535 |
msgid "Paid add-on must be deployed to Freemius."
|
1536 |
-
msgstr ""
|
1537 |
|
1538 |
-
#: includes/i18n.php:
|
1539 |
-
msgid ""
|
1540 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1541 |
-
"activating the plugin."
|
1542 |
-
msgstr ""
|
1543 |
|
1544 |
-
#: includes/i18n.php:
|
1545 |
-
msgid ""
|
1546 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1547 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1548 |
-
"you'll have to purchase a license."
|
1549 |
-
msgstr ""
|
1550 |
|
1551 |
-
#: includes/i18n.php:
|
1552 |
msgctxt "as every month"
|
1553 |
msgid "Monthly"
|
1554 |
msgstr "חודשי"
|
1555 |
|
1556 |
-
#: includes/i18n.php:
|
1557 |
msgctxt "as monthly period"
|
1558 |
msgid "mo"
|
1559 |
-
msgstr ""
|
1560 |
|
1561 |
-
#: includes/i18n.php:
|
1562 |
msgctxt "as once a year"
|
1563 |
msgid "Annual"
|
1564 |
msgstr "שנתי"
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
msgctxt "as once a year"
|
1568 |
msgid "Annually"
|
1569 |
msgstr "שנתי"
|
1570 |
|
1571 |
-
#: includes/i18n.php:
|
1572 |
msgctxt "as once a year"
|
1573 |
msgid "Once"
|
1574 |
msgstr "פעם אחת"
|
1575 |
|
1576 |
-
#: includes/i18n.php:
|
1577 |
msgctxt "as annual period"
|
1578 |
msgid "year"
|
1579 |
msgstr "שנה"
|
1580 |
|
1581 |
-
#: includes/i18n.php:
|
1582 |
msgid "Lifetime"
|
1583 |
msgstr "לכל החיים"
|
1584 |
|
1585 |
-
#: includes/i18n.php:
|
1586 |
msgctxt "e.g. the best product"
|
1587 |
msgid "Best"
|
1588 |
msgstr "הכי טוב"
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgctxt "e.g. billed monthly"
|
1592 |
msgid "Billed %s"
|
1593 |
msgstr "מחוייב על בסיס %s"
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgctxt "as a discount of $5 or 10%"
|
1597 |
msgid "Save %s"
|
1598 |
msgstr "שמירת %s"
|
1599 |
|
1600 |
-
#: includes/i18n.php:
|
1601 |
msgid "View details"
|
1602 |
msgstr "פרטים נוספים"
|
1603 |
|
1604 |
-
#: includes/i18n.php:
|
1605 |
msgctxt "button label"
|
1606 |
msgid "Approve & Start Trial"
|
1607 |
-
msgstr ""
|
1608 |
|
1609 |
-
#: includes/i18n.php:
|
1610 |
-
msgid ""
|
1611 |
-
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1612 |
-
"plan."
|
1613 |
-
msgstr ""
|
1614 |
|
1615 |
-
#: includes/i18n.php:
|
1616 |
-
msgid ""
|
1617 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1618 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1619 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1620 |
-
"updates and to validate your trial."
|
1621 |
-
msgstr ""
|
1622 |
|
1623 |
-
#: includes/i18n.php:
|
1624 |
msgid "Business name"
|
1625 |
-
msgstr ""
|
1626 |
|
1627 |
-
#: includes/i18n.php:
|
1628 |
msgid "Tax / VAT ID"
|
1629 |
-
msgstr ""
|
1630 |
|
1631 |
-
#: includes/i18n.php:
|
1632 |
msgid "Address Line %d"
|
1633 |
-
msgstr ""
|
1634 |
|
1635 |
-
#: includes/i18n.php:
|
1636 |
msgid "Country"
|
1637 |
-
msgstr ""
|
1638 |
|
1639 |
-
#: includes/i18n.php:
|
1640 |
msgid "Select Country"
|
1641 |
-
msgstr ""
|
1642 |
|
1643 |
-
#: includes/i18n.php:
|
1644 |
msgid "City"
|
1645 |
-
msgstr ""
|
1646 |
|
1647 |
-
#: includes/i18n.php:
|
1648 |
msgid "Town"
|
1649 |
-
msgstr ""
|
1650 |
|
1651 |
-
#: includes/i18n.php:
|
1652 |
msgid "State"
|
1653 |
-
msgstr ""
|
1654 |
|
1655 |
-
#: includes/i18n.php:
|
1656 |
msgid "Province"
|
1657 |
-
msgstr ""
|
1658 |
|
1659 |
-
#: includes/i18n.php:
|
1660 |
msgid "ZIP / Postal Code"
|
1661 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
+
# Rami Yushuvaev <r_a_m_i@hotmail.com>, 2017
|
5 |
# Vova Feldman <vova@freemius.com>, 2016
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
10 |
+
"POT-Creation-Date: \n"
|
11 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
12 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
13 |
+
"Language: he\n"
|
14 |
"Language-Team: Hebrew (http://www.transifex.com/freemius/wordpress-sdk/language/he/)\n"
|
|
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
+
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-Basepath: ..\n"
|
20 |
+
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
21 |
"X-Poedit-SearchPath-0: .\n"
|
22 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
|
25 |
+
#: includes/i18n.php:37
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
msgid "Account"
|
27 |
msgstr "חשבון"
|
28 |
|
29 |
+
#: includes/i18n.php:38
|
30 |
msgid "Add On"
|
31 |
+
msgstr "הרחבה"
|
32 |
|
33 |
+
#: includes/i18n.php:39
|
34 |
msgid "Contact Us"
|
35 |
msgstr "יצירת קשר"
|
36 |
|
37 |
+
#: includes/i18n.php:40
|
38 |
msgid "Contact Support"
|
39 |
msgstr "צור קשר"
|
40 |
|
41 |
+
#: includes/i18n.php:41
|
42 |
msgid "Change Ownership"
|
43 |
msgstr "עדכון בעלות"
|
44 |
|
45 |
+
#: includes/i18n.php:42
|
46 |
msgid "Support"
|
47 |
msgstr "תמיכה"
|
48 |
|
49 |
+
#: includes/i18n.php:43
|
50 |
msgid "Support Forum"
|
51 |
msgstr "פורום תמיכה"
|
52 |
|
53 |
+
#: includes/i18n.php:44
|
54 |
msgid "Add Ons"
|
55 |
+
msgstr "הרחבות"
|
56 |
|
57 |
+
#: includes/i18n.php:45
|
58 |
msgctxt "verb"
|
59 |
msgid "Upgrade"
|
60 |
msgstr "שדרג"
|
61 |
|
62 |
+
#: includes/i18n.php:46
|
63 |
msgid "Awesome"
|
64 |
msgstr "אדיר"
|
65 |
|
66 |
+
#: includes/i18n.php:47
|
67 |
msgctxt "noun"
|
68 |
msgid "Pricing"
|
69 |
msgstr "מחירון"
|
70 |
|
71 |
+
#: includes/i18n.php:48
|
72 |
msgctxt "noun"
|
73 |
msgid "Price"
|
74 |
msgstr "מחיר"
|
75 |
|
76 |
+
#: includes/i18n.php:49
|
77 |
msgid "Unlimited Updates"
|
78 |
msgstr "עדכונים ללא הגבלה"
|
79 |
|
80 |
+
#: includes/i18n.php:50
|
81 |
msgctxt "verb"
|
82 |
msgid "Downgrade"
|
83 |
msgstr "שנמך"
|
84 |
|
85 |
+
#: includes/i18n.php:51
|
86 |
+
msgctxt "verb"
|
87 |
+
msgid "Cancel Subscription"
|
88 |
+
msgstr "Cancel Subscription"
|
89 |
+
|
90 |
+
#: includes/i18n.php:52
|
91 |
msgid "Cancel Trial"
|
92 |
msgstr "ביט"
|
93 |
|
94 |
+
#: includes/i18n.php:53
|
95 |
msgid "Free Trial"
|
96 |
msgstr "ניסיון חינם"
|
97 |
|
98 |
+
#: includes/i18n.php:54
|
99 |
msgid "Start my free %s"
|
100 |
msgstr "התחל את %s הניסיון שלי"
|
101 |
|
102 |
+
#: includes/i18n.php:55
|
103 |
msgid "No commitment for %s - cancel anytime"
|
104 |
+
msgstr "No commitment for %s - cancel anytime"
|
105 |
|
106 |
+
#: includes/i18n.php:56
|
107 |
msgid "After your free %s, pay as little as %s"
|
108 |
+
msgstr "After your free %s, pay as little as %s"
|
109 |
|
110 |
+
#: includes/i18n.php:57
|
111 |
msgid "Details"
|
112 |
msgstr "פרטים"
|
113 |
|
114 |
+
#: includes/i18n.php:58
|
115 |
msgid "Account Details"
|
116 |
msgstr "פרטי חשבון"
|
117 |
|
118 |
+
#: includes/i18n.php:59
|
119 |
msgctxt "verb"
|
120 |
msgid "Delete"
|
121 |
msgstr "מחק"
|
122 |
|
123 |
+
#: includes/i18n.php:60
|
124 |
msgctxt "verb"
|
125 |
msgid "Show"
|
126 |
msgstr "הצג"
|
127 |
|
128 |
+
#: includes/i18n.php:61
|
129 |
msgctxt "verb"
|
130 |
msgid "Hide"
|
131 |
msgstr "הסתר"
|
132 |
|
133 |
+
#: includes/i18n.php:62
|
134 |
msgctxt "verb"
|
135 |
msgid "Edit"
|
136 |
msgstr "ערוך"
|
137 |
|
138 |
+
#: includes/i18n.php:63
|
139 |
msgctxt "verb"
|
140 |
msgid "Update"
|
141 |
+
msgstr "עדכן"
|
142 |
|
143 |
+
#: includes/i18n.php:64
|
144 |
msgid "Date"
|
145 |
msgstr "תאריך"
|
146 |
|
147 |
+
#: includes/i18n.php:65
|
148 |
msgid "Amount"
|
149 |
msgstr "סכום"
|
150 |
|
151 |
+
#: includes/i18n.php:66
|
152 |
msgid "Invoice"
|
153 |
msgstr "חשבונית"
|
154 |
|
155 |
+
#: includes/i18n.php:67
|
156 |
msgid "Billing"
|
157 |
msgstr "בילינג"
|
158 |
|
159 |
+
#: includes/i18n.php:68
|
160 |
msgid "Payments"
|
161 |
msgstr "תשלומים"
|
162 |
|
163 |
+
#: includes/i18n.php:69
|
164 |
msgid "Delete Account"
|
165 |
msgstr "מחיקת חשבון"
|
166 |
|
167 |
+
#: includes/i18n.php:70
|
168 |
msgctxt "as close a window"
|
169 |
msgid "Dismiss"
|
170 |
msgstr "סגירה"
|
171 |
|
172 |
+
#: includes/i18n.php:71
|
173 |
msgctxt "as product pricing plan"
|
174 |
msgid "Plan"
|
175 |
msgstr "חבילה"
|
176 |
|
177 |
+
#: includes/i18n.php:72
|
178 |
msgid "Change Plan"
|
179 |
msgstr "שינוי חבילה"
|
180 |
|
181 |
+
#: includes/i18n.php:73
|
182 |
msgctxt "as download professional version"
|
183 |
msgid "Download %s Version"
|
184 |
+
msgstr "הורד גרסת %s"
|
185 |
|
186 |
+
#: includes/i18n.php:74
|
187 |
msgctxt "as download professional version now"
|
188 |
msgid "Download %s version now"
|
189 |
+
msgstr "הורד עכשיו גרסת %s"
|
190 |
|
191 |
+
#: includes/i18n.php:75
|
192 |
msgctxt "as download latest version"
|
193 |
msgid "Download Latest"
|
194 |
msgstr "הורד גרסה אחרונה"
|
195 |
|
196 |
+
#: includes/i18n.php:76
|
197 |
msgctxt "E.g. you have a professional license."
|
198 |
msgid "You have a %s license."
|
199 |
+
msgstr "יש לך רישיון %s."
|
200 |
|
201 |
+
#: includes/i18n.php:77
|
202 |
msgid "New"
|
203 |
msgstr "חדש"
|
204 |
|
205 |
+
#: includes/i18n.php:78
|
206 |
msgid "Free"
|
207 |
msgstr "חינם"
|
208 |
|
209 |
+
#: includes/i18n.php:79
|
210 |
msgctxt "as trial plan"
|
211 |
msgid "Trial"
|
212 |
msgstr "ניסיון"
|
213 |
|
214 |
+
#: includes/i18n.php:80
|
215 |
msgctxt "as starting a trial plan"
|
216 |
msgid "Start Trial"
|
217 |
+
msgstr "התחל תקופת ניסיון"
|
218 |
|
219 |
+
#: includes/i18n.php:81
|
220 |
msgctxt "verb"
|
221 |
msgid "Purchase"
|
222 |
msgstr "רכישה"
|
223 |
|
224 |
+
#: includes/i18n.php:82
|
225 |
msgid "Purchase License"
|
226 |
msgstr "קניית רישיון"
|
227 |
|
228 |
+
#: includes/i18n.php:83
|
229 |
msgctxt "verb"
|
230 |
msgid "Buy"
|
231 |
msgstr "קנייה"
|
232 |
|
233 |
+
#: includes/i18n.php:84
|
234 |
msgid "Buy License"
|
235 |
msgstr "קניית רישיון"
|
236 |
|
237 |
+
#: includes/i18n.php:85
|
238 |
msgid "Single Site License"
|
239 |
msgstr "רשיון לאתר אחד"
|
240 |
|
241 |
+
#: includes/i18n.php:86
|
242 |
msgid "Unlimited Licenses"
|
243 |
msgstr "רשיונות ללא הגבלה"
|
244 |
|
245 |
+
#: includes/i18n.php:87
|
246 |
msgid "Up to %s Sites"
|
247 |
msgstr "עד %s אתרים"
|
248 |
|
249 |
+
#: includes/i18n.php:88
|
250 |
msgid "%sRenew your license now%s to access version %s features and support."
|
251 |
+
msgstr "%sRenew your license now%s to access version %s features and support."
|
252 |
|
253 |
+
#: includes/i18n.php:89
|
254 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
255 |
+
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
256 |
|
257 |
+
#: includes/i18n.php:90
|
258 |
msgctxt "e.g. Professional Plan"
|
259 |
msgid "%s Plan"
|
260 |
+
msgstr "חבילה %s"
|
261 |
|
262 |
+
#: includes/i18n.php:91
|
263 |
msgid "You are just one step away - %s"
|
264 |
+
msgstr "You are just one step away - %s"
|
265 |
|
266 |
+
#: includes/i18n.php:92
|
267 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
+
msgstr "השלם הפעלת \"%s\" עכשיו"
|
270 |
|
271 |
+
#: includes/i18n.php:94
|
272 |
msgid "We made a few tweaks to the plugin, %s"
|
273 |
msgstr "ביצענו מספר שינויים לתוסף, %s"
|
274 |
|
275 |
+
#: includes/i18n.php:95
|
276 |
msgid "Opt-in to make \"%s\" Better!"
|
277 |
+
msgstr "Opt-in to make \"%s\" Better!"
|
278 |
|
279 |
+
#: includes/i18n.php:96
|
280 |
msgid "Error"
|
281 |
msgstr "שגיאה"
|
282 |
|
283 |
+
#: includes/i18n.php:97
|
284 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
285 |
+
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
286 |
|
287 |
+
#: includes/i18n.php:100
|
288 |
msgctxt "as expiration date"
|
289 |
msgid "Expiration"
|
290 |
msgstr "תפוגה"
|
291 |
|
292 |
+
#: includes/i18n.php:101
|
293 |
msgctxt "as software license"
|
294 |
msgid "License"
|
295 |
msgstr "רישיון"
|
296 |
|
297 |
+
#: includes/i18n.php:102
|
298 |
msgid "not verified"
|
299 |
msgstr "לא מאומת"
|
300 |
|
301 |
+
#: includes/i18n.php:103
|
302 |
msgid "Verify Email"
|
303 |
msgstr "אמת כתובת דוא\"ל"
|
304 |
|
305 |
+
#: includes/i18n.php:104
|
306 |
msgctxt "e.g. expires in 2 months"
|
307 |
msgid "Expires in %s"
|
308 |
+
msgstr "פג תוקף בעוד %s"
|
309 |
|
310 |
+
#: includes/i18n.php:105
|
311 |
msgctxt "e.g. auto renews in 2 months"
|
312 |
msgid "Auto renews in %s"
|
313 |
+
msgstr "עדכן אוטומטית בעוד %s"
|
314 |
|
315 |
+
#: includes/i18n.php:106
|
316 |
msgid "No expiration"
|
317 |
msgstr "ללא תפוגה"
|
318 |
|
319 |
+
#: includes/i18n.php:107
|
320 |
msgid "Expired"
|
321 |
msgstr "פג תוקף"
|
322 |
|
323 |
+
#: includes/i18n.php:108
|
324 |
msgid "Cancelled"
|
325 |
msgstr "בוטל"
|
326 |
|
327 |
+
#: includes/i18n.php:109
|
328 |
msgctxt "e.g. In 2 hours"
|
329 |
msgid "In %s"
|
330 |
msgstr "בעוד %s"
|
331 |
|
332 |
+
#: includes/i18n.php:110
|
333 |
msgctxt "e.g. 2 min ago"
|
334 |
msgid "%s ago"
|
335 |
+
msgstr "לפני %s"
|
336 |
|
337 |
+
#: includes/i18n.php:112
|
338 |
+
msgid "%s or higher"
|
339 |
+
msgstr "%s ומעלה"
|
340 |
+
|
341 |
+
#: includes/i18n.php:113
|
342 |
msgctxt "as plugin version"
|
343 |
msgid "Version"
|
344 |
msgstr "גרסה"
|
345 |
|
346 |
+
#: includes/i18n.php:114
|
347 |
msgid "Name"
|
348 |
msgstr "שם"
|
349 |
|
350 |
+
#: includes/i18n.php:115
|
351 |
msgid "Email"
|
352 |
msgstr "דוא\"ל"
|
353 |
|
354 |
+
#: includes/i18n.php:116
|
355 |
msgid "Email address"
|
356 |
msgstr "כתובת דוא\"ל"
|
357 |
|
358 |
+
#: includes/i18n.php:117
|
359 |
msgid "Verified"
|
360 |
msgstr "מאומת"
|
361 |
|
362 |
+
#: includes/i18n.php:118
|
363 |
+
msgid "Module"
|
364 |
+
msgstr "מודול"
|
365 |
+
|
366 |
+
#: includes/i18n.php:119
|
367 |
+
msgid "Module Type"
|
368 |
+
msgstr "סוג מודול"
|
369 |
+
|
370 |
+
#: includes/i18n.php:120
|
371 |
msgid "Plugin"
|
372 |
msgstr "תוסף"
|
373 |
|
374 |
+
#: includes/i18n.php:121
|
375 |
msgid "Plugins"
|
376 |
msgstr "תוספים"
|
377 |
|
378 |
+
#: includes/i18n.php:122
|
379 |
+
msgid "Theme"
|
380 |
+
msgstr "תבנית"
|
381 |
+
|
382 |
+
#: includes/i18n.php:123
|
383 |
msgid "Themes"
|
384 |
msgstr "תבניות"
|
385 |
|
386 |
+
#: includes/i18n.php:124
|
387 |
msgctxt "as file/folder path"
|
388 |
msgid "Path"
|
389 |
+
msgstr "נתיב"
|
390 |
|
391 |
+
#: includes/i18n.php:125
|
392 |
msgid "Title"
|
393 |
msgstr "כותרת"
|
394 |
|
395 |
+
#: includes/i18n.php:126
|
396 |
msgid "Free version"
|
397 |
msgstr "גירסה חינאמית"
|
398 |
|
399 |
+
#: includes/i18n.php:127
|
400 |
msgid "Premium version"
|
401 |
msgstr "גירסת פרימיום"
|
402 |
|
403 |
+
#: includes/i18n.php:128
|
404 |
msgctxt "as WP plugin slug"
|
405 |
msgid "Slug"
|
406 |
+
msgstr "מזהה כתובת"
|
407 |
|
408 |
+
#: includes/i18n.php:129
|
409 |
msgid "ID"
|
410 |
msgstr "מזהה"
|
411 |
|
412 |
+
#: includes/i18n.php:130
|
413 |
msgid "Users"
|
414 |
msgstr "משתמשים"
|
415 |
|
416 |
+
#: includes/i18n.php:131
|
417 |
msgid "Plugin Installs"
|
418 |
msgstr "התקנות תוסף"
|
419 |
|
420 |
+
#: includes/i18n.php:132
|
421 |
+
msgid "%s Installs"
|
422 |
+
msgstr "%s התקנות"
|
423 |
+
|
424 |
+
#: includes/i18n.php:133
|
425 |
msgctxt "like websites"
|
426 |
msgid "Sites"
|
427 |
msgstr "אתרים"
|
428 |
|
429 |
+
#: includes/i18n.php:134
|
430 |
msgid "User ID"
|
431 |
msgstr "מזהה משתמש"
|
432 |
|
433 |
+
#: includes/i18n.php:135
|
434 |
msgid "Site ID"
|
435 |
msgstr "מזהה אתר"
|
436 |
|
437 |
+
#: includes/i18n.php:136
|
438 |
msgid "Public Key"
|
439 |
msgstr "מפתח פומבי"
|
440 |
|
441 |
+
#: includes/i18n.php:137
|
442 |
msgid "Secret Key"
|
443 |
msgstr "מפתח סודי"
|
444 |
|
445 |
+
#: includes/i18n.php:138
|
446 |
msgctxt "as secret encryption key missing"
|
447 |
msgid "No Secret"
|
448 |
msgstr "אין מפתח סודי"
|
449 |
|
450 |
+
#: includes/i18n.php:139
|
451 |
msgid "No ID"
|
452 |
msgstr "אין מזהה"
|
453 |
|
454 |
+
#: includes/i18n.php:140
|
455 |
msgctxt "as synchronize license"
|
456 |
msgid "Sync License"
|
457 |
msgstr "סינכרן רישיון"
|
458 |
|
459 |
+
#: includes/i18n.php:141
|
460 |
msgctxt "as synchronize"
|
461 |
msgid "Sync"
|
462 |
msgstr "סינכרון"
|
463 |
|
464 |
+
#: includes/i18n.php:142
|
465 |
msgid "Activate License"
|
466 |
msgstr "הפעלת רישיון"
|
467 |
|
468 |
+
#: includes/i18n.php:143
|
469 |
msgid "Activate Free Version"
|
470 |
msgstr "הפעלת גירסה חינאמית"
|
471 |
|
472 |
+
#: includes/i18n.php:144
|
473 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
474 |
+
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
475 |
|
476 |
+
#: includes/i18n.php:145
|
477 |
msgid "Activating license..."
|
478 |
msgstr "מפעיל רישיון..."
|
479 |
|
480 |
+
#: includes/i18n.php:146
|
481 |
msgid "Change License"
|
482 |
msgstr "שינוי רישיון"
|
483 |
|
484 |
+
#: includes/i18n.php:147
|
485 |
msgid "Update License"
|
486 |
msgstr "עדכון רישיון"
|
487 |
|
488 |
+
#: includes/i18n.php:148
|
489 |
msgid "Deactivate License"
|
490 |
msgstr "שיחרור רישיון"
|
491 |
|
492 |
+
#: includes/i18n.php:149
|
493 |
msgid "Activate"
|
494 |
msgstr "הפעלה"
|
495 |
|
496 |
+
#: includes/i18n.php:150
|
497 |
msgid "Deactivate"
|
498 |
msgstr "כיבוי"
|
499 |
|
500 |
+
#: includes/i18n.php:151
|
501 |
msgid "Skip & Deactivate"
|
502 |
msgstr "דלג והמשך כיבוי"
|
503 |
|
504 |
+
#: includes/i18n.php:152
|
505 |
+
msgid "Skip & %s"
|
506 |
+
msgstr "דלג ו%s"
|
507 |
+
|
508 |
+
#: includes/i18n.php:153
|
509 |
msgid "No - just deactivate"
|
510 |
msgstr "לא - פשוט כבה"
|
511 |
|
512 |
+
#: includes/i18n.php:154
|
513 |
msgid "Yes - do your thing"
|
514 |
msgstr "כן - בצעו את מה שצריך"
|
515 |
|
516 |
+
#: includes/i18n.php:155
|
517 |
msgctxt "active mode"
|
518 |
msgid "Active"
|
519 |
msgstr "מופעל"
|
520 |
|
521 |
+
#: includes/i18n.php:156
|
522 |
msgctxt "is active mode?"
|
523 |
msgid "Is Active"
|
524 |
msgstr "האם פעיל"
|
525 |
|
526 |
+
#: includes/i18n.php:157
|
527 |
msgid "Install Now"
|
528 |
msgstr "התקן עכשיו"
|
529 |
|
530 |
+
#: includes/i18n.php:158
|
531 |
msgid "Install Update Now"
|
532 |
msgstr "התקן עדכון במיידי"
|
533 |
|
534 |
+
#: includes/i18n.php:159
|
535 |
msgid "More information about %s"
|
536 |
+
msgstr "מידע נוסף אודות %s"
|
537 |
|
538 |
+
#: includes/i18n.php:160
|
539 |
msgid "Localhost"
|
540 |
msgstr "שרת לוקאלי"
|
541 |
|
542 |
+
#: includes/i18n.php:161
|
543 |
msgctxt "as activate Professional plan"
|
544 |
msgid "Activate %s Plan"
|
545 |
+
msgstr "הפעל חבילה %s"
|
546 |
|
547 |
+
#: includes/i18n.php:162
|
548 |
msgctxt "as 5 licenses left"
|
549 |
msgid "%s left"
|
550 |
msgstr "נשארו %s"
|
551 |
|
552 |
+
#: includes/i18n.php:163
|
553 |
msgid "Last license"
|
554 |
msgstr "רישיון אחרון"
|
555 |
|
556 |
+
#: includes/i18n.php:164
|
557 |
msgid "What is your %s?"
|
558 |
+
msgstr "מה ה%s שלך?"
|
559 |
|
560 |
+
#: includes/i18n.php:165
|
561 |
msgid "Activate this add-on"
|
562 |
+
msgstr "הפעל את ההרחבה"
|
563 |
|
564 |
+
#: includes/i18n.php:166
|
565 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
566 |
+
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
567 |
|
568 |
+
#: includes/i18n.php:167
|
569 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
570 |
+
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
571 |
|
572 |
+
#: includes/i18n.php:168
|
573 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
574 |
+
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
575 |
|
576 |
+
#: includes/i18n.php:169
|
577 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
578 |
+
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
579 |
|
580 |
+
#: includes/i18n.php:170
|
581 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
582 |
+
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
583 |
|
584 |
+
#: includes/i18n.php:171
|
585 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
586 |
+
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
587 |
|
588 |
+
#: includes/i18n.php:172
|
589 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
590 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
591 |
|
592 |
+
#: includes/i18n.php:173
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
msgstr "האם את/ה בטוח רוצה להמשיך?"
|
595 |
|
596 |
+
#: includes/i18n.php:176
|
597 |
msgid "Add Ons for %s"
|
598 |
+
msgstr "הרחבות עבור %s"
|
599 |
|
600 |
+
#: includes/i18n.php:177
|
601 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
602 |
+
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
603 |
|
604 |
+
#: includes/i18n.php:179
|
605 |
msgid "Anonymous feedback"
|
606 |
msgstr "פידבק אנונימי"
|
607 |
|
608 |
+
#: includes/i18n.php:180
|
609 |
msgid "Quick feedback"
|
610 |
msgstr "פידבק זריז"
|
611 |
|
612 |
+
#: includes/i18n.php:181
|
613 |
msgid "If you have a moment, please let us know why you are deactivating"
|
614 |
+
msgstr "If you have a moment, please let us know why you are deactivating"
|
615 |
|
616 |
+
#: includes/i18n.php:182
|
617 |
msgid "Yes - Deactivate"
|
618 |
msgstr "כן - "
|
619 |
|
620 |
+
#: includes/i18n.php:183
|
621 |
msgid "Submit & Deactivate"
|
622 |
msgstr "שלח וכבה"
|
623 |
|
624 |
+
#: includes/i18n.php:184
|
625 |
msgid "Cancel"
|
626 |
msgstr "בטל"
|
627 |
|
628 |
+
#: includes/i18n.php:185
|
629 |
msgid "I no longer need the plugin"
|
630 |
msgstr "אין לי צורך יותר בתוסף"
|
631 |
|
632 |
+
#: includes/i18n.php:186
|
633 |
msgid "I found a better plugin"
|
634 |
msgstr "מצאתי תוסף טוב יותר"
|
635 |
|
636 |
+
#: includes/i18n.php:187
|
637 |
msgid "I only needed the plugin for a short period"
|
638 |
msgstr "השתמשתי בתוסף לתקופה קצרה"
|
639 |
|
640 |
+
#: includes/i18n.php:188
|
641 |
msgid "The plugin broke my site"
|
642 |
msgstr "התוסף הרס לי את האתר"
|
643 |
|
644 |
+
#: includes/i18n.php:189
|
645 |
msgid "The plugin suddenly stopped working"
|
646 |
msgstr "התוסף לפתע הפסיק לעבוד"
|
647 |
|
648 |
+
#: includes/i18n.php:190
|
649 |
msgid "I can't pay for it anymore"
|
650 |
msgstr "אני לא יכול/ה להמשיך לשלם על זה"
|
651 |
|
652 |
+
#: includes/i18n.php:191
|
653 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
654 |
msgstr "כיבוי זמני לשם דיבאג."
|
655 |
|
656 |
+
#: includes/i18n.php:192
|
657 |
msgctxt ""
|
|
|
|
|
658 |
msgid "Other"
|
659 |
msgstr "אחר"
|
660 |
|
661 |
+
#: includes/i18n.php:194
|
662 |
msgid "Kindly tell us the reason so we can improve."
|
663 |
msgstr "אנא שתף את הסיבה כדי שנוכל להשתפר."
|
664 |
|
665 |
+
#: includes/i18n.php:195
|
666 |
msgid "What's the plugin's name?"
|
667 |
msgstr "מהו שם התוסף?"
|
668 |
|
669 |
+
#: includes/i18n.php:196
|
670 |
msgid "What price would you feel comfortable paying?"
|
671 |
msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
|
672 |
|
673 |
+
#: includes/i18n.php:197
|
674 |
msgid "I couldn't understand how to make it work"
|
675 |
msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
|
676 |
|
677 |
+
#: includes/i18n.php:198
|
678 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
|
|
679 |
msgstr "התוסף מעולה, אבל אני צריכ\\ה פיצ'ר ספציפי שלא נתמך"
|
680 |
|
681 |
+
#: includes/i18n.php:199
|
682 |
msgid "The plugin is not working"
|
683 |
msgstr "התוסף לא עובד"
|
684 |
|
685 |
+
#: includes/i18n.php:200
|
686 |
msgid "It's not what I was looking for"
|
687 |
msgstr "חיפשתי משהו אחר"
|
688 |
|
689 |
+
#: includes/i18n.php:201
|
690 |
msgid "The plugin didn't work as expected"
|
691 |
msgstr "התוסף לא עבד כמצופה"
|
692 |
|
693 |
+
#: includes/i18n.php:202
|
694 |
msgid "What feature?"
|
695 |
msgstr "איזה פיטצ'ר?"
|
696 |
|
697 |
+
#: includes/i18n.php:203
|
698 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
699 |
msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
|
700 |
|
701 |
+
#: includes/i18n.php:204
|
702 |
msgid "What you've been looking for?"
|
703 |
msgstr "מה חיפשת?"
|
704 |
|
705 |
+
#: includes/i18n.php:205
|
706 |
msgid "What did you expect?"
|
707 |
msgstr "למה ציפית?"
|
708 |
|
709 |
+
#: includes/i18n.php:206
|
710 |
msgid "The plugin didn't work"
|
711 |
msgstr "התוסף לא עבד"
|
712 |
|
713 |
+
#: includes/i18n.php:207
|
714 |
msgid "I don't like to share my information with you"
|
715 |
msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
|
716 |
|
717 |
+
#: includes/i18n.php:208
|
718 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
719 |
msgstr "אולי פספסת את זה אבל אינך חייב\\ת לשתף כל מידע איתנו, ביכולתך %s על שיתוף המידע."
|
720 |
|
721 |
+
#: includes/i18n.php:212
|
722 |
msgctxt "greeting"
|
723 |
msgid "Hey %s,"
|
724 |
msgstr "היי %s,"
|
725 |
|
726 |
+
#: includes/i18n.php:213
|
727 |
msgctxt "a greeting. E.g. Thanks John!"
|
728 |
msgid "Thanks %s!"
|
729 |
msgstr "תודה %s!"
|
730 |
|
731 |
+
#: includes/i18n.php:214
|
732 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
733 |
+
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
734 |
|
735 |
+
#: includes/i18n.php:215
|
736 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
737 |
+
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
738 |
|
739 |
+
#: includes/i18n.php:216
|
740 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
741 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
742 |
|
743 |
+
#: includes/i18n.php:217
|
744 |
msgid "complete the install"
|
745 |
+
msgstr "השלם התקנה"
|
746 |
|
747 |
+
#: includes/i18n.php:218
|
748 |
msgid "start the trial"
|
749 |
+
msgstr "התחל תקופת ניסיון"
|
750 |
|
751 |
+
#: includes/i18n.php:219
|
752 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
753 |
+
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
754 |
|
755 |
+
#: includes/i18n.php:220
|
756 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
757 |
+
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
758 |
|
759 |
+
#: includes/i18n.php:221
|
760 |
msgid "What permissions are being granted?"
|
761 |
msgstr "מהן ההרשאות המוענקות?"
|
762 |
|
763 |
+
#: includes/i18n.php:222
|
764 |
msgid "Your Profile Overview"
|
765 |
msgstr "פרטים כלליים על הפרופיל"
|
766 |
|
767 |
+
#: includes/i18n.php:223
|
768 |
msgid "Name and email address"
|
769 |
msgstr "שם וכתובת דו\"אל"
|
770 |
|
771 |
+
#: includes/i18n.php:224
|
772 |
msgid "Your Site Overview"
|
773 |
msgstr "פרטים כלליים על האתר"
|
774 |
|
775 |
+
#: includes/i18n.php:225
|
776 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
777 |
msgstr "כתובת אתר, גרסת וורדפרס, פרטי PHP, תוספים ותבניות"
|
778 |
|
779 |
+
#: includes/i18n.php:226
|
780 |
msgid "Current Plugin Events"
|
781 |
msgstr "שינויי מצב בתוסף הנוכחי"
|
782 |
|
783 |
+
#: includes/i18n.php:227
|
784 |
msgid "Activation, deactivation and uninstall"
|
785 |
msgstr "הפעלה, כיבוי והסרה"
|
786 |
|
787 |
+
#: includes/i18n.php:228
|
788 |
msgid "Plugins & Themes"
|
789 |
msgstr "תוספים ותבניות"
|
790 |
|
791 |
+
#: includes/i18n.php:229
|
792 |
msgid "Titles, versions and state."
|
793 |
msgstr "שמות, גרסאות וסטאטוס."
|
794 |
|
795 |
+
#: includes/i18n.php:230
|
796 |
msgid "Admin Notices"
|
797 |
+
msgstr "התראות מנהל"
|
798 |
|
799 |
+
#: includes/i18n.php:231
|
800 |
msgid "Newsletter"
|
801 |
msgstr "ניוסלטר"
|
802 |
|
803 |
+
#: includes/i18n.php:232
|
804 |
msgid "Updates, announcements, marketing, no spam"
|
805 |
+
msgstr "Updates, announcements, marketing, no spam"
|
806 |
|
807 |
+
#: includes/i18n.php:233
|
808 |
msgid "Privacy Policy"
|
809 |
msgstr "מדיניות פרטיות"
|
810 |
|
811 |
+
#: includes/i18n.php:234
|
812 |
msgid "Terms of Service"
|
813 |
msgstr "תנאי השירות"
|
814 |
|
815 |
+
#: includes/i18n.php:235
|
816 |
msgctxt "as activating plugin"
|
817 |
msgid "Activating"
|
818 |
msgstr "מפעיל"
|
819 |
|
820 |
+
#: includes/i18n.php:236
|
821 |
msgctxt "as in the process of sending an email"
|
822 |
msgid "Sending email"
|
823 |
msgstr "שולח דוא\"ל"
|
824 |
|
825 |
+
#: includes/i18n.php:237
|
826 |
msgctxt "button label"
|
827 |
msgid "Allow & Continue"
|
828 |
msgstr "אפשר\\י והמשכ\\י"
|
829 |
|
830 |
+
#: includes/i18n.php:238
|
831 |
msgctxt "button label"
|
832 |
msgid "Agree & Activate License"
|
833 |
msgstr "הסכמה והפעלת רישיון"
|
834 |
|
835 |
+
#: includes/i18n.php:239
|
836 |
msgctxt "verb"
|
837 |
msgid "Skip"
|
838 |
msgstr "דלג"
|
839 |
|
840 |
+
#: includes/i18n.php:240
|
841 |
msgid "Click here to use the plugin anonymously"
|
842 |
+
msgstr "Click here to use the plugin anonymously"
|
843 |
|
844 |
+
#: includes/i18n.php:241
|
845 |
msgid "Re-send activation email"
|
846 |
msgstr "שליחה חוזרת של מייל האקטיבציה"
|
847 |
|
848 |
+
#: includes/i18n.php:242
|
849 |
msgid "License key"
|
850 |
msgstr "מפתח רישיון"
|
851 |
|
852 |
+
#: includes/i18n.php:243
|
853 |
msgid "Send License Key"
|
854 |
msgstr "שליחת מפתח רישיון"
|
855 |
|
856 |
+
#: includes/i18n.php:244
|
857 |
msgid "Sending license key"
|
858 |
msgstr "שולח מפתח רישיון"
|
859 |
|
860 |
+
#: includes/i18n.php:245
|
861 |
msgid "Have a license key?"
|
862 |
msgstr "האם ברשותך רישיון?"
|
863 |
|
864 |
+
#: includes/i18n.php:246
|
865 |
msgid "Don't have a license key?"
|
866 |
msgstr "האם אין ברשותך מפתח רישיון?"
|
867 |
|
868 |
+
#: includes/i18n.php:247
|
869 |
msgid "Can't find your license key?"
|
870 |
msgstr "האם אינך מוצא את מפתח הרישיון?"
|
871 |
|
872 |
+
#: includes/i18n.php:248
|
873 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
874 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
875 |
|
876 |
+
#: includes/i18n.php:249
|
877 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
878 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
879 |
|
880 |
+
#: includes/i18n.php:250
|
881 |
msgid "Opt In"
|
882 |
+
msgstr "Opt In"
|
883 |
|
884 |
+
#: includes/i18n.php:251
|
885 |
msgid "Opt Out"
|
886 |
+
msgstr "Opt Out"
|
887 |
|
888 |
+
#: includes/i18n.php:252
|
889 |
msgid "On second thought - I want to continue helping"
|
890 |
+
msgstr "במחשבה שנייה - אני רוצה להמשיך לעזור"
|
891 |
|
892 |
+
#: includes/i18n.php:253
|
893 |
msgid "Opting out..."
|
894 |
+
msgstr "Opting out..."
|
895 |
|
896 |
+
#: includes/i18n.php:254
|
897 |
msgid "Opting in..."
|
898 |
+
msgstr "Opting in..."
|
899 |
|
900 |
+
#: includes/i18n.php:255
|
901 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
902 |
+
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
903 |
|
904 |
+
#: includes/i18n.php:256
|
905 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
906 |
+
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
907 |
|
908 |
+
#: includes/i18n.php:257
|
909 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
910 |
+
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
|
|
|
|
911 |
|
912 |
+
#: includes/i18n.php:261
|
913 |
msgid "Screenshots"
|
914 |
msgstr "צילומי מסך"
|
915 |
|
916 |
+
#: includes/i18n.php:262
|
917 |
msgid "Click to view full-size screenshot %d"
|
918 |
+
msgstr "Click to view full-size screenshot %d"
|
919 |
|
920 |
+
#: includes/i18n.php:266
|
921 |
msgid "Freemius Debug"
|
922 |
+
msgstr "Freemius Debug"
|
923 |
|
924 |
+
#: includes/i18n.php:267
|
925 |
msgctxt "as turned on"
|
926 |
msgid "On"
|
927 |
msgstr "דלוק"
|
928 |
|
929 |
+
#: includes/i18n.php:268
|
930 |
msgctxt "as turned off"
|
931 |
msgid "Off"
|
932 |
msgstr "כבוי"
|
933 |
|
934 |
+
#: includes/i18n.php:269
|
935 |
msgctxt "as code debugging"
|
936 |
msgid "Debugging"
|
937 |
msgstr "דיבוג"
|
938 |
|
939 |
+
#: includes/i18n.php:270
|
940 |
msgid "Freemius State"
|
941 |
+
msgstr "Freemius State"
|
942 |
|
943 |
+
#: includes/i18n.php:271
|
944 |
msgctxt "as connection was successful"
|
945 |
msgid "Connected"
|
946 |
msgstr "מחובר"
|
947 |
|
948 |
+
#: includes/i18n.php:272
|
949 |
msgctxt "as connection blocked"
|
950 |
msgid "Blocked"
|
951 |
msgstr "חסום"
|
952 |
|
953 |
+
#: includes/i18n.php:273
|
954 |
msgctxt "as application program interface"
|
955 |
msgid "API"
|
956 |
msgstr "API"
|
957 |
|
958 |
+
#: includes/i18n.php:274
|
959 |
msgctxt "as software development kit versions"
|
960 |
msgid "SDK"
|
961 |
msgstr "SDK"
|
962 |
|
963 |
+
#: includes/i18n.php:275
|
964 |
msgctxt "as software development kit versions"
|
965 |
msgid "SDK Versions"
|
966 |
msgstr "גרסאות SDK"
|
967 |
|
968 |
+
#: includes/i18n.php:276
|
969 |
msgctxt "as plugin folder path"
|
970 |
msgid "Plugin Path"
|
971 |
+
msgstr "נתיב התוסף"
|
972 |
|
973 |
+
#: includes/i18n.php:277
|
974 |
msgctxt "as sdk path"
|
975 |
msgid "SDK Path"
|
976 |
msgstr "מיקום SDK"
|
977 |
|
978 |
+
#: includes/i18n.php:278
|
979 |
msgid "Add Ons of Plugin %s"
|
980 |
+
msgstr "הרחבות עבור %s"
|
981 |
|
982 |
+
#: includes/i18n.php:279
|
983 |
msgid "Are you sure you want to delete all Freemius data?"
|
984 |
+
msgstr "Are you sure you want to delete all Freemius data?"
|
985 |
|
986 |
+
#: includes/i18n.php:280
|
987 |
msgid "Actions"
|
988 |
msgstr "פעולות"
|
989 |
|
990 |
+
#: includes/i18n.php:281
|
991 |
msgid "Delete All Accounts"
|
992 |
msgstr "מחיקת כל החשבונות"
|
993 |
|
994 |
+
#: includes/i18n.php:282
|
995 |
msgid "Start Fresh"
|
996 |
msgstr "התחל מחדש"
|
997 |
|
998 |
+
#: includes/i18n.php:283
|
999 |
msgid "Clear API Cache"
|
1000 |
msgstr "ניקוי מטמון ה-API"
|
1001 |
|
1002 |
+
#: includes/i18n.php:284
|
1003 |
msgid "Sync Data From Server"
|
1004 |
msgstr "סנכרון מידע מהשרת"
|
1005 |
|
1006 |
+
#: includes/i18n.php:285
|
1007 |
msgid "Scheduled Crons"
|
1008 |
+
msgstr "Scheduled Crons"
|
1009 |
+
|
1010 |
+
#: includes/i18n.php:286
|
1011 |
+
msgid "Cron Type"
|
1012 |
+
msgstr "Cron Type"
|
1013 |
|
1014 |
+
#: includes/i18n.php:287
|
1015 |
msgid "Plugins & Themes Sync"
|
1016 |
+
msgstr "Plugins & Themes Sync"
|
1017 |
+
|
1018 |
+
#: includes/i18n.php:288
|
1019 |
+
msgid "Licenses"
|
1020 |
+
msgstr "רישיונות"
|
1021 |
+
|
1022 |
+
#: includes/i18n.php:289
|
1023 |
+
msgid "Debug Log"
|
1024 |
+
msgstr "Debug Log"
|
1025 |
+
|
1026 |
+
#: includes/i18n.php:290
|
1027 |
+
msgid "All"
|
1028 |
+
msgstr "הכל"
|
1029 |
+
|
1030 |
+
#: includes/i18n.php:291
|
1031 |
+
msgid "File"
|
1032 |
+
msgstr "קובץ"
|
1033 |
|
1034 |
+
#: includes/i18n.php:292
|
1035 |
+
msgid "Function"
|
1036 |
+
msgstr "פונקציה"
|
1037 |
+
|
1038 |
+
#: includes/i18n.php:293
|
1039 |
+
msgid "Process ID"
|
1040 |
+
msgstr "Process ID"
|
1041 |
+
|
1042 |
+
#: includes/i18n.php:294
|
1043 |
+
msgid "Logger"
|
1044 |
+
msgstr "Logger"
|
1045 |
+
|
1046 |
+
#: includes/i18n.php:295
|
1047 |
+
msgid "Message"
|
1048 |
+
msgstr "הודעה"
|
1049 |
+
|
1050 |
+
#: includes/i18n.php:296
|
1051 |
+
msgid "Download"
|
1052 |
+
msgstr "הורדה"
|
1053 |
+
|
1054 |
+
#: includes/i18n.php:297
|
1055 |
+
msgid "Filter"
|
1056 |
+
msgstr "פילטר"
|
1057 |
+
|
1058 |
+
#: includes/i18n.php:298
|
1059 |
+
msgid "Type"
|
1060 |
+
msgstr "סוג"
|
1061 |
+
|
1062 |
+
#: includes/i18n.php:299
|
1063 |
+
msgid "All Types"
|
1064 |
+
msgstr "כל הסוגים"
|
1065 |
+
|
1066 |
+
#: includes/i18n.php:300
|
1067 |
+
msgid "All Requests"
|
1068 |
+
msgstr "כל הבקשות"
|
1069 |
+
|
1070 |
+
#: includes/i18n.php:304
|
1071 |
msgctxt "as congratulations"
|
1072 |
msgid "Congrats"
|
1073 |
msgstr "מזל טוב"
|
1074 |
|
1075 |
+
#: includes/i18n.php:305
|
1076 |
msgctxt "exclamation"
|
1077 |
msgid "Oops"
|
1078 |
msgstr "אופס"
|
1079 |
|
1080 |
+
#: includes/i18n.php:306
|
1081 |
msgctxt "interjection expressing joy or exuberance"
|
1082 |
msgid "Yee-haw"
|
1083 |
+
msgstr "Yee-haw"
|
1084 |
|
1085 |
+
#: includes/i18n.php:307
|
1086 |
msgctxt ""
|
|
|
|
|
1087 |
msgid "W00t"
|
1088 |
+
msgstr "W00t"
|
1089 |
|
1090 |
+
#: includes/i18n.php:309
|
1091 |
msgctxt "a positive response"
|
1092 |
msgid "Right on"
|
1093 |
+
msgstr "מעולה"
|
1094 |
|
1095 |
+
#: includes/i18n.php:310
|
1096 |
msgctxt ""
|
|
|
|
|
1097 |
msgid "Hmm"
|
1098 |
msgstr "הממ"
|
1099 |
|
1100 |
+
#: includes/i18n.php:312
|
1101 |
msgid "O.K"
|
1102 |
msgstr "אוקיי"
|
1103 |
|
1104 |
+
#: includes/i18n.php:313
|
1105 |
msgctxt "exclamation"
|
1106 |
msgid "Hey"
|
1107 |
msgstr "היי"
|
1108 |
|
1109 |
+
#: includes/i18n.php:314
|
1110 |
msgctxt "advance notice of something that will need attention."
|
1111 |
msgid "Heads up"
|
1112 |
msgstr "לתשמות לבך"
|
1113 |
|
1114 |
+
#: includes/i18n.php:319
|
1115 |
msgid "Seems like you got the latest release."
|
1116 |
+
msgstr "Seems like you got the latest release."
|
1117 |
|
1118 |
+
#: includes/i18n.php:320
|
1119 |
msgid "You are all good!"
|
1120 |
msgstr "את\\ה מסודר!"
|
1121 |
|
1122 |
+
#: includes/i18n.php:321
|
1123 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1124 |
+
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1125 |
|
1126 |
+
#: includes/i18n.php:322
|
1127 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1128 |
+
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1129 |
|
1130 |
+
#: includes/i18n.php:323
|
1131 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1132 |
+
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1133 |
|
1134 |
+
#: includes/i18n.php:324
|
1135 |
msgid "Your name was successfully updated."
|
1136 |
msgstr "שמך עודכן בהצלחה."
|
1137 |
|
1138 |
+
#: includes/i18n.php:325
|
1139 |
msgid "You have successfully updated your %s."
|
1140 |
+
msgstr "You have successfully updated your %s."
|
1141 |
|
1142 |
+
#: includes/i18n.php:326
|
1143 |
msgid "Please provide your full name."
|
1144 |
msgstr "נא למלא את שמך המלא."
|
1145 |
|
1146 |
+
#: includes/i18n.php:327
|
1147 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1148 |
+
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1149 |
|
1150 |
+
#: includes/i18n.php:328
|
1151 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1152 |
+
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1153 |
|
1154 |
+
#: includes/i18n.php:329
|
1155 |
msgid "No credit card required"
|
1156 |
msgstr "לא נדרש כרטיס אשראי"
|
1157 |
|
1158 |
+
#: includes/i18n.php:330
|
1159 |
msgid "Premium plugin version was successfully activated."
|
1160 |
+
msgstr "Premium plugin version was successfully activated."
|
1161 |
|
1162 |
+
#: includes/i18n.php:331
|
1163 |
msgid "The upgrade of %s was successfully completed."
|
1164 |
+
msgstr "The upgrade of %s was successfully completed."
|
1165 |
|
1166 |
+
#: includes/i18n.php:332
|
1167 |
msgid "Your account was successfully activated with the %s plan."
|
1168 |
+
msgstr "חשבונך הופעל בהצלחה עם חבילת %s."
|
1169 |
|
1170 |
+
#: includes/i18n.php:333
|
1171 |
msgid "Download the latest %s version now"
|
1172 |
msgstr "הורדת גרסת ה-%s העדכנית - עכשיו"
|
1173 |
|
1174 |
+
#: includes/i18n.php:334
|
1175 |
msgid "Please follow these steps to complete the upgrade"
|
1176 |
msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
|
1177 |
|
1178 |
+
#: includes/i18n.php:335
|
1179 |
msgid "Download the latest %s version"
|
1180 |
msgstr "הורד\\י את גרסת ה-%s העדכנית"
|
1181 |
|
1182 |
+
#: includes/i18n.php:336
|
1183 |
+
msgid "Download the latest version"
|
1184 |
+
msgstr "הורד את הגרסה האחרונה"
|
1185 |
+
|
1186 |
+
#: includes/i18n.php:337
|
1187 |
msgid "Deactivate the free version"
|
1188 |
msgstr "כבה\\י את הגרסה החינאמית"
|
1189 |
|
1190 |
+
#: includes/i18n.php:338
|
1191 |
msgid "Upload and activate the downloaded version"
|
1192 |
msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
|
1193 |
|
1194 |
+
#: includes/i18n.php:339
|
1195 |
msgid "How to upload and activate?"
|
1196 |
msgstr "איך להעלות ולהפעיל?"
|
1197 |
|
1198 |
+
#: includes/i18n.php:340
|
1199 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1200 |
msgid "%s Add-on was successfully purchased."
|
1201 |
+
msgstr "ההרחבה %s נרכשה בהצלחה."
|
1202 |
|
1203 |
+
#: includes/i18n.php:342
|
1204 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1205 |
+
msgstr "חבילת ההרחבה %s שודרגה בהצלחה."
|
1206 |
|
1207 |
+
#: includes/i18n.php:343
|
1208 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1209 |
+
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1210 |
|
1211 |
+
#: includes/i18n.php:344
|
1212 |
msgid "Your plan was successfully upgraded."
|
1213 |
+
msgstr "החבילה שודרגה בהצלחה."
|
1214 |
|
1215 |
+
#: includes/i18n.php:345
|
1216 |
msgid "Your plan was successfully changed to %s."
|
1217 |
+
msgstr "החבילה עודכנה בהצלחה אל %s."
|
1218 |
|
1219 |
+
#: includes/i18n.php:346
|
1220 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
|
|
|
|
1221 |
msgstr "פג תוקפו של הרישיון. עדיין ניתן להמשיך להשתמש בגרסה החינאמית של התוסף ללא מגבלת זמן."
|
1222 |
|
1223 |
+
#: includes/i18n.php:347
|
1224 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
|
|
|
|
1225 |
msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
|
1226 |
|
1227 |
+
#: includes/i18n.php:348
|
1228 |
msgid "Your trial has been successfully started."
|
1229 |
msgstr "הניסיון שלך הופעל בהצלחה."
|
1230 |
|
1231 |
+
#: includes/i18n.php:349
|
1232 |
msgid "Your license was successfully activated."
|
1233 |
msgstr "הרישיון הופעל בהצלחה."
|
1234 |
|
1235 |
+
#: includes/i18n.php:350
|
1236 |
msgid "It looks like your site currently doesn't have an active license."
|
1237 |
msgstr "נראה לאתר עדיין אין רישיון פעיל."
|
1238 |
|
1239 |
+
#: includes/i18n.php:351
|
1240 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1241 |
+
msgstr "רישיונך נותק בהצלחה, חזרת לחבילת %s"
|
|
|
1242 |
|
1243 |
+
#: includes/i18n.php:352
|
1244 |
msgid "It looks like the license deactivation failed."
|
1245 |
msgstr "נראה שניתוק הרישיון נכשל."
|
1246 |
|
1247 |
+
#: includes/i18n.php:353
|
1248 |
msgid "It looks like the license could not be activated."
|
1249 |
msgstr "נראה שלא ניתן להפעיל את הרישיון."
|
1250 |
|
1251 |
+
#: includes/i18n.php:354
|
1252 |
msgid "Error received from the server:"
|
1253 |
msgstr "הוחזרה שגיאה מהשרת:"
|
1254 |
|
1255 |
+
#: includes/i18n.php:355
|
1256 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1257 |
msgstr "תקופת הניסיון נגמרה. ביכולתך להמשיך להשתמש בכל הפיטצ'רים החינאמיים."
|
1258 |
|
1259 |
+
#: includes/i18n.php:356
|
1260 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1261 |
+
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
|
|
|
|
1262 |
|
1263 |
+
#: includes/i18n.php:357
|
1264 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1265 |
+
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1266 |
|
1267 |
+
#: includes/i18n.php:358
|
1268 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1269 |
+
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1270 |
|
1271 |
+
#: includes/i18n.php:359
|
1272 |
msgid "Your %s free trial was successfully cancelled."
|
1273 |
+
msgstr "תקופת הניסיון החינמית של %s בוטלה בהצלחה."
|
1274 |
|
1275 |
+
#: includes/i18n.php:360
|
1276 |
msgctxt "%s - numeric version number"
|
1277 |
msgid "Version %s was released."
|
1278 |
msgstr "גרסה %s הושקה."
|
1279 |
|
1280 |
+
#: includes/i18n.php:361
|
1281 |
msgid "Please download %s."
|
1282 |
+
msgstr "נא להוריד את %s."
|
1283 |
|
1284 |
+
#: includes/i18n.php:362
|
1285 |
msgctxt "%s - plan name, as the latest professional version here"
|
1286 |
msgid "the latest %s version here"
|
1287 |
msgstr "גרסת ה-%s האחרונה כאן"
|
1288 |
|
1289 |
+
#: includes/i18n.php:364
|
1290 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1291 |
+
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1292 |
|
1293 |
+
#: includes/i18n.php:365
|
1294 |
msgctxt "call to action"
|
1295 |
msgid "Start free trial"
|
1296 |
msgstr "התחלת ניסיון חינם"
|
1297 |
|
1298 |
+
#: includes/i18n.php:366
|
1299 |
msgid "Starting trial"
|
1300 |
+
msgstr "מתחיל תקופת ניסיון"
|
1301 |
|
1302 |
+
#: includes/i18n.php:367
|
1303 |
msgid "Please wait"
|
1304 |
+
msgstr "נא להמתין"
|
1305 |
|
1306 |
+
#: includes/i18n.php:368
|
1307 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1308 |
+
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1309 |
|
1310 |
+
#: includes/i18n.php:369
|
1311 |
msgid "You already utilized a trial before."
|
1312 |
msgstr "הניסיון כבר נוצל בעבר."
|
1313 |
|
1314 |
+
#: includes/i18n.php:370
|
1315 |
msgid "You are already running the plugin in a trial mode."
|
1316 |
msgstr "התוסף כבר עכשיו בתקופת ניסיון."
|
1317 |
|
1318 |
+
#: includes/i18n.php:371
|
1319 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1320 |
+
msgstr "החבילה %s אינה קיימת, לכן, לא ניתן להתחיל תקופת ניסיון."
|
1321 |
|
1322 |
+
#: includes/i18n.php:372
|
1323 |
msgid "Plan %s does not support a trial period."
|
1324 |
+
msgstr "תוכנית %s אינה תומכת בתקופת ניסיון."
|
1325 |
|
1326 |
+
#: includes/i18n.php:373
|
1327 |
msgid "None of the plugin's plans supports a trial period."
|
1328 |
+
msgstr "אף אחת מהחבילות אינה מאפשרת תקופת ניסיון."
|
1329 |
|
1330 |
+
#: includes/i18n.php:374
|
1331 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1332 |
msgstr "שגיאת API בלתי צפוייה. נא לפנות למפתח התוסף עם השגיאה הבאה."
|
1333 |
|
1334 |
+
#: includes/i18n.php:375
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
+
msgstr "ללא התחייבות ל-%s ימין - בטלו בכל רגע!"
|
1337 |
|
1338 |
+
#: includes/i18n.php:376
|
1339 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1340 |
+
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
|
|
|
|
1341 |
|
1342 |
+
#: includes/i18n.php:377
|
1343 |
msgid "Couldn't activate %s."
|
1344 |
+
msgstr "לא ניתן להפעיל את %s."
|
1345 |
|
1346 |
+
#: includes/i18n.php:378
|
1347 |
msgid "Please contact us with the following message:"
|
1348 |
msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
|
1349 |
|
1350 |
+
#: includes/i18n.php:379
|
1351 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1352 |
+
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1353 |
|
1354 |
+
#: includes/i18n.php:380
|
1355 |
msgid "Please contact us here"
|
1356 |
msgstr "אנא צור איתנו קשר כאן"
|
1357 |
|
1358 |
+
#: includes/i18n.php:381
|
1359 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1360 |
+
msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s."
|
|
|
|
|
1361 |
|
1362 |
+
#: includes/i18n.php:384
|
1363 |
msgid "From unknown reason, the API connectivity test failed."
|
1364 |
msgstr "יש בעיית תקשורת ל-API מסיבה בלתי ברורה."
|
1365 |
|
1366 |
+
#: includes/i18n.php:385
|
1367 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1368 |
msgstr "ככל הנראה זאת בעיה זמנית בצד שלנו. ברשותך, ורק כדי להיות בטוחים שזאת הבעיה, האם זה יהיה בסדר לבצע בדיקת תקשורת נוספת?"
|
1369 |
|
1370 |
+
#: includes/i18n.php:386
|
1371 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1372 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1373 |
|
1374 |
+
#: includes/i18n.php:387
|
1375 |
+
msgid "Disabled method(s):"
|
1376 |
+
msgstr "Disabled method(s):"
|
1377 |
+
|
1378 |
+
#: includes/i18n.php:388
|
1379 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1380 |
msgstr "מסיבה בלתי ברורה, CloudFlare, חומת האש שאנחנו משתמשים בה, חוסמת את התקשורת."
|
1381 |
|
1382 |
+
#: includes/i18n.php:389
|
1383 |
msgctxt "as pluginX requires an access to our API"
|
1384 |
msgid "%s requires an access to our API."
|
1385 |
msgstr "%s מחייב גישה ל-API שלנו."
|
1386 |
|
1387 |
+
#: includes/i18n.php:391
|
1388 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1389 |
+
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
|
|
|
|
1390 |
|
1391 |
+
#: includes/i18n.php:392
|
1392 |
msgid "I don't know what is Squid or ACL, help me!"
|
1393 |
msgstr "אין לי מושג מה זה Squid או ACL - אשמח לעזרה!"
|
1394 |
|
1395 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1396 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1397 |
+
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1398 |
|
1399 |
+
#: includes/i18n.php:394
|
1400 |
msgid "I'm a system administrator"
|
1401 |
+
msgstr "אני מנהל מערכת"
|
1402 |
|
1403 |
+
#: includes/i18n.php:395
|
1404 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1405 |
+
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
|
|
|
|
1406 |
|
1407 |
+
#: includes/i18n.php:396
|
1408 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1409 |
msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
|
1410 |
|
1411 |
+
#: includes/i18n.php:398
|
1412 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1413 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1414 |
|
1415 |
+
#: includes/i18n.php:399
|
1416 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1417 |
msgstr "זו בטח בעיה בצד שלנו ואנחנו נשמח לעזור כדי לפתור את העניין בהקדם האפשר, רק במידה ותאפשר\\י זאת."
|
1418 |
|
1419 |
+
#: includes/i18n.php:400
|
1420 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1421 |
msgstr "מצטערים על חוסר הנעימות, אנחנו כאן כדי לעזור אם תאפשר\\י זאת."
|
1422 |
|
1423 |
+
#: includes/i18n.php:401
|
1424 |
msgid "Yes - I'm giving you a chance to fix it"
|
1425 |
msgstr "כן - אני נותן לך צ'אנס לתקן את זה"
|
1426 |
|
1427 |
+
#: includes/i18n.php:402
|
1428 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1429 |
+
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1430 |
|
1431 |
+
#: includes/i18n.php:403
|
1432 |
msgid "Let's try your previous version"
|
1433 |
msgstr "בוא ננסה את הגירסה הקודמת"
|
1434 |
|
1435 |
+
#: includes/i18n.php:404
|
1436 |
msgid "Uninstall this version and install the previous one."
|
1437 |
msgstr "הסר את הגרסה הנוכחית והתקן את הגרסה קודמת."
|
1438 |
|
1439 |
+
#: includes/i18n.php:405
|
1440 |
msgid "That's exhausting, please deactivate"
|
1441 |
msgstr "זה מתיש, אנא לכבות"
|
1442 |
|
1443 |
+
#: includes/i18n.php:406
|
1444 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1445 |
+
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1446 |
|
1447 |
+
#: includes/i18n.php:407
|
1448 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1449 |
+
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1450 |
|
1451 |
+
#: includes/i18n.php:408
|
1452 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1453 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1454 |
+
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1455 |
|
1456 |
+
#: includes/i18n.php:410
|
1457 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1458 |
+
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1459 |
|
1460 |
+
#: includes/i18n.php:413
|
1461 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1462 |
+
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1463 |
|
1464 |
+
#: includes/i18n.php:414
|
1465 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1466 |
msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
|
1467 |
|
1468 |
+
#: includes/i18n.php:415
|
1469 |
msgid "%s is the new owner of the account."
|
1470 |
msgstr "%s הינו הבעלים החד של חשבון זה."
|
1471 |
|
1472 |
+
#: includes/i18n.php:417
|
1473 |
msgctxt "addonX cannot run without pluginY"
|
1474 |
msgid "%s cannot run without %s."
|
1475 |
msgstr "%s לא יכול לעבוד ללא %s."
|
1476 |
|
1477 |
+
#: includes/i18n.php:419
|
1478 |
msgctxt "addonX cannot run..."
|
1479 |
msgid "%s cannot run without the plugin."
|
1480 |
+
msgstr "ההרחבה %s אינה יכולה לפעול ללא התוסף."
|
1481 |
|
1482 |
+
#: includes/i18n.php:420
|
1483 |
msgctxt "pluginX activation was successfully..."
|
1484 |
msgid "%s activation was successfully completed."
|
1485 |
+
msgstr "הפעלת %s הושלמה בהצלחה."
|
1486 |
|
1487 |
+
#: includes/i18n.php:422
|
1488 |
msgctxt "Plugin installer section title"
|
1489 |
msgid "Features & Pricing"
|
1490 |
msgstr "פיטצ'רים ומחירים"
|
1491 |
|
1492 |
+
#: includes/i18n.php:423
|
1493 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1494 |
+
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1495 |
|
1496 |
+
#: includes/i18n.php:424
|
1497 |
msgid "Paid add-on must be deployed to Freemius."
|
1498 |
+
msgstr "Paid add-on must be deployed to Freemius."
|
1499 |
|
1500 |
+
#: includes/i18n.php:428
|
1501 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1502 |
+
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1503 |
|
1504 |
+
#: includes/i18n.php:429
|
1505 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1506 |
+
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1507 |
|
1508 |
+
#: includes/i18n.php:434
|
1509 |
msgctxt "as every month"
|
1510 |
msgid "Monthly"
|
1511 |
msgstr "חודשי"
|
1512 |
|
1513 |
+
#: includes/i18n.php:435
|
1514 |
msgctxt "as monthly period"
|
1515 |
msgid "mo"
|
1516 |
+
msgstr "חודשים"
|
1517 |
|
1518 |
+
#: includes/i18n.php:436
|
1519 |
msgctxt "as once a year"
|
1520 |
msgid "Annual"
|
1521 |
msgstr "שנתי"
|
1522 |
|
1523 |
+
#: includes/i18n.php:437
|
1524 |
msgctxt "as once a year"
|
1525 |
msgid "Annually"
|
1526 |
msgstr "שנתי"
|
1527 |
|
1528 |
+
#: includes/i18n.php:438
|
1529 |
msgctxt "as once a year"
|
1530 |
msgid "Once"
|
1531 |
msgstr "פעם אחת"
|
1532 |
|
1533 |
+
#: includes/i18n.php:439
|
1534 |
msgctxt "as annual period"
|
1535 |
msgid "year"
|
1536 |
msgstr "שנה"
|
1537 |
|
1538 |
+
#: includes/i18n.php:440
|
1539 |
msgid "Lifetime"
|
1540 |
msgstr "לכל החיים"
|
1541 |
|
1542 |
+
#: includes/i18n.php:441
|
1543 |
msgctxt "e.g. the best product"
|
1544 |
msgid "Best"
|
1545 |
msgstr "הכי טוב"
|
1546 |
|
1547 |
+
#: includes/i18n.php:442
|
1548 |
msgctxt "e.g. billed monthly"
|
1549 |
msgid "Billed %s"
|
1550 |
msgstr "מחוייב על בסיס %s"
|
1551 |
|
1552 |
+
#: includes/i18n.php:443
|
1553 |
msgctxt "as a discount of $5 or 10%"
|
1554 |
msgid "Save %s"
|
1555 |
msgstr "שמירת %s"
|
1556 |
|
1557 |
+
#: includes/i18n.php:445
|
1558 |
msgid "View details"
|
1559 |
msgstr "פרטים נוספים"
|
1560 |
|
1561 |
+
#: includes/i18n.php:449
|
1562 |
msgctxt "button label"
|
1563 |
msgid "Approve & Start Trial"
|
1564 |
+
msgstr "אשר והתחל תקופת ניסיון"
|
1565 |
|
1566 |
+
#: includes/i18n.php:451
|
1567 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1568 |
+
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
|
|
|
|
1569 |
|
1570 |
+
#: includes/i18n.php:453
|
1571 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1572 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1573 |
|
1574 |
+
#: includes/i18n.php:459
|
1575 |
msgid "Business name"
|
1576 |
+
msgstr "שם עסק"
|
1577 |
|
1578 |
+
#: includes/i18n.php:460
|
1579 |
msgid "Tax / VAT ID"
|
1580 |
+
msgstr "Tax / VAT ID"
|
1581 |
|
1582 |
+
#: includes/i18n.php:461
|
1583 |
msgid "Address Line %d"
|
1584 |
+
msgstr "כתובת %s"
|
1585 |
|
1586 |
+
#: includes/i18n.php:462
|
1587 |
msgid "Country"
|
1588 |
+
msgstr "מדינה"
|
1589 |
|
1590 |
+
#: includes/i18n.php:463
|
1591 |
msgid "Select Country"
|
1592 |
+
msgstr "בחר מדינה"
|
1593 |
|
1594 |
+
#: includes/i18n.php:464
|
1595 |
msgid "City"
|
1596 |
+
msgstr "עיר"
|
1597 |
|
1598 |
+
#: includes/i18n.php:465
|
1599 |
msgid "Town"
|
1600 |
+
msgstr "כפר"
|
1601 |
|
1602 |
+
#: includes/i18n.php:466
|
1603 |
msgid "State"
|
1604 |
+
msgstr "מחוז/מדינה"
|
1605 |
|
1606 |
+
#: includes/i18n.php:467
|
1607 |
msgid "Province"
|
1608 |
+
msgstr "פרובינציה"
|
1609 |
|
1610 |
+
#: includes/i18n.php:468
|
1611 |
msgid "ZIP / Postal Code"
|
1612 |
+
msgstr "מיקוד / תא דואר"
|
1613 |
+
|
1614 |
+
#: includes/i18n.php:473
|
1615 |
+
msgid "Installing plugin: %s"
|
1616 |
+
msgstr "Installing plugin: %s"
|
1617 |
+
|
1618 |
+
#: includes/i18n.php:474
|
1619 |
+
msgid "Automatic Installation"
|
1620 |
+
msgstr "Automatic Installation"
|
1621 |
+
|
1622 |
+
#: includes/i18n.php:476
|
1623 |
+
msgid "%s sec"
|
1624 |
+
msgstr "%s sec"
|
1625 |
+
|
1626 |
+
#: includes/i18n.php:477
|
1627 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1628 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1629 |
+
|
1630 |
+
#: includes/i18n.php:478
|
1631 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1632 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1633 |
+
|
1634 |
+
#: includes/i18n.php:479
|
1635 |
+
msgid "Cancel Installation"
|
1636 |
+
msgstr "Cancel Installation"
|
1637 |
+
|
1638 |
+
#: includes/i18n.php:480
|
1639 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1640 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1641 |
+
|
1642 |
+
#: includes/i18n.php:481
|
1643 |
+
msgid "Invalid module ID."
|
1644 |
+
msgstr "Invalid module ID."
|
1645 |
+
|
1646 |
+
#: includes/i18n.php:482
|
1647 |
+
msgid "Auto installation only works for opted-in users."
|
1648 |
+
msgstr "Auto installation only works for opted-in users."
|
1649 |
+
|
1650 |
+
#: includes/i18n.php:483
|
1651 |
+
msgid "Premium version already active."
|
1652 |
+
msgstr "Premium version already active."
|
1653 |
+
|
1654 |
+
#: includes/i18n.php:484
|
1655 |
+
msgid "Premium add-on version already installed."
|
1656 |
+
msgstr "Premium add-on version already installed."
|
1657 |
+
|
1658 |
+
#: includes/i18n.php:485
|
1659 |
+
msgid "You do not have a valid license to access the premium version."
|
1660 |
+
msgstr "You do not have a valid license to access the premium version."
|
1661 |
+
|
1662 |
+
#: includes/i18n.php:486
|
1663 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1664 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1665 |
+
|
1666 |
+
#: includes/i18n.php:501
|
1667 |
+
msgctxt "Plugin installer section title"
|
1668 |
+
msgid "Description"
|
1669 |
+
msgstr "תיאור"
|
1670 |
+
|
1671 |
+
#: includes/i18n.php:502
|
1672 |
+
msgctxt "Plugin installer section title"
|
1673 |
+
msgid "Installation"
|
1674 |
+
msgstr "התקנה"
|
1675 |
+
|
1676 |
+
#: includes/i18n.php:503
|
1677 |
+
msgctxt "Plugin installer section title"
|
1678 |
+
msgid "FAQ"
|
1679 |
+
msgstr "שאלות נפוצות"
|
1680 |
+
|
1681 |
+
#: includes/i18n.php:504
|
1682 |
+
msgctxt "Plugin installer section title"
|
1683 |
+
msgid "Changelog"
|
1684 |
+
msgstr "לוג שינויים"
|
1685 |
+
|
1686 |
+
#: includes/i18n.php:505
|
1687 |
+
msgctxt "Plugin installer section title"
|
1688 |
+
msgid "Reviews"
|
1689 |
+
msgstr "ביקורות"
|
1690 |
+
|
1691 |
+
#: includes/i18n.php:506
|
1692 |
+
msgctxt "Plugin installer section title"
|
1693 |
+
msgid "Other Notes"
|
1694 |
+
msgstr "היערות נוספות"
|
1695 |
+
|
1696 |
+
#: includes/i18n.php:508
|
1697 |
+
msgid "%s star"
|
1698 |
+
msgstr "כוכב %s"
|
1699 |
+
|
1700 |
+
#: includes/i18n.php:510
|
1701 |
+
msgid "%s stars"
|
1702 |
+
msgstr "%s כוכבים"
|
1703 |
+
|
1704 |
+
#: includes/i18n.php:512
|
1705 |
+
msgid "%s rating"
|
1706 |
+
msgstr "דרוג %s"
|
1707 |
+
|
1708 |
+
#: includes/i18n.php:514
|
1709 |
+
msgid "%s ratings"
|
1710 |
+
msgstr "%s דרוגים"
|
1711 |
+
|
1712 |
+
#: includes/i18n.php:516
|
1713 |
+
msgid "%s time"
|
1714 |
+
msgstr "פעם %s"
|
1715 |
+
|
1716 |
+
#: includes/i18n.php:518
|
1717 |
+
msgid "%s times"
|
1718 |
+
msgstr "%s פעמים"
|
1719 |
+
|
1720 |
+
#: includes/i18n.php:520
|
1721 |
+
msgid "Click to see reviews that provided a rating of %s"
|
1722 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
1723 |
+
|
1724 |
+
#: includes/i18n.php:521
|
1725 |
+
msgid "Last Updated"
|
1726 |
+
msgstr "עודכן לאחרונה"
|
1727 |
+
|
1728 |
+
#: includes/i18n.php:522
|
1729 |
+
msgid "Requires WordPress Version:"
|
1730 |
+
msgstr "Requires WordPress Version:"
|
1731 |
+
|
1732 |
+
#: includes/i18n.php:523
|
1733 |
+
msgctxt "as the plugin author"
|
1734 |
+
msgid "Author:"
|
1735 |
+
msgstr "מחבר:"
|
1736 |
+
|
1737 |
+
#: includes/i18n.php:524
|
1738 |
+
msgid "Compatible up to:"
|
1739 |
+
msgstr "Compatible up to:"
|
1740 |
+
|
1741 |
+
#: includes/i18n.php:525
|
1742 |
+
msgid "Downloaded:"
|
1743 |
+
msgstr "הורדות:"
|
1744 |
+
|
1745 |
+
#: includes/i18n.php:526
|
1746 |
+
msgid "WordPress.org Plugin Page"
|
1747 |
+
msgstr "WordPress.org Plugin Page"
|
1748 |
+
|
1749 |
+
#: includes/i18n.php:527
|
1750 |
+
msgid "Plugin Homepage"
|
1751 |
+
msgstr "Plugin Homepage"
|
1752 |
+
|
1753 |
+
#: includes/i18n.php:528
|
1754 |
+
msgid "Donate to this plugin"
|
1755 |
+
msgstr "Donate to this plugin"
|
1756 |
+
|
1757 |
+
#: includes/i18n.php:529
|
1758 |
+
msgid "Average Rating"
|
1759 |
+
msgstr "דירוג ממוצע"
|
1760 |
+
|
1761 |
+
#: includes/i18n.php:530
|
1762 |
+
msgid "based on %s"
|
1763 |
+
msgstr "מבוסס על %s"
|
1764 |
+
|
1765 |
+
#: includes/i18n.php:531
|
1766 |
+
msgid "Warning:"
|
1767 |
+
msgstr "אזהרה:"
|
1768 |
+
|
1769 |
+
#: includes/i18n.php:532
|
1770 |
+
msgid "Contributors"
|
1771 |
+
msgstr "תורמים"
|
1772 |
+
|
1773 |
+
#: includes/i18n.php:533
|
1774 |
+
msgid "Plugin Install"
|
1775 |
+
msgstr "התקנת תוסף"
|
1776 |
+
|
1777 |
+
#: includes/i18n.php:534
|
1778 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
1779 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
1780 |
+
|
1781 |
+
#: includes/i18n.php:535
|
1782 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1783 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1784 |
+
|
1785 |
+
#: includes/i18n.php:536
|
1786 |
+
msgid "Newer Version (%s) Installed"
|
1787 |
+
msgstr "גרסה חדשה (%s) הותקנה"
|
1788 |
+
|
1789 |
+
#: includes/i18n.php:537
|
1790 |
+
msgid "Latest Version Installed"
|
1791 |
+
msgstr "הגרסה האחרונה הותקנה"
|
freemius/languages/freemius-it_IT.mo
CHANGED
Binary file
|
freemius/languages/freemius-it_IT.po
CHANGED
@@ -10,1862 +10,1784 @@ msgstr ""
|
|
10 |
"Project-Id-Version: WordPress SDK\n"
|
11 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
12 |
"POT-Creation-Date: \n"
|
13 |
-
"PO-Revision-Date: 2017-
|
14 |
-
"Last-Translator:
|
|
|
15 |
"Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
|
16 |
-
"MIME-Version: 1.0\n"
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
-
"Language: it_IT\n"
|
20 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
21 |
"X-Poedit-Basepath: ..\n"
|
22 |
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
23 |
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
25 |
"X-Poedit-SourceCharset: UTF-8\n"
|
26 |
|
27 |
-
#: includes/i18n.php:
|
28 |
msgid "Account"
|
29 |
msgstr "Account"
|
30 |
|
31 |
-
#: includes/i18n.php:
|
32 |
msgid "Add On"
|
33 |
msgstr "Add-on"
|
34 |
|
35 |
-
#: includes/i18n.php:
|
36 |
msgid "Contact Us"
|
37 |
msgstr "Contattaci"
|
38 |
|
39 |
-
#: includes/i18n.php:
|
40 |
msgid "Contact Support"
|
41 |
msgstr "Contatta il supporto"
|
42 |
|
43 |
-
#: includes/i18n.php:
|
44 |
msgid "Change Ownership"
|
45 |
msgstr "Cambia Proprietario"
|
46 |
|
47 |
-
#: includes/i18n.php:
|
48 |
msgid "Support"
|
49 |
msgstr "Supporto"
|
50 |
|
51 |
-
#: includes/i18n.php:
|
52 |
msgid "Support Forum"
|
53 |
msgstr "Forum di supporto"
|
54 |
|
55 |
-
#: includes/i18n.php:
|
56 |
msgid "Add Ons"
|
57 |
msgstr "Add-on"
|
58 |
|
59 |
-
#: includes/i18n.php:
|
60 |
msgctxt "verb"
|
61 |
msgid "Upgrade"
|
62 |
msgstr "Aggiornamento"
|
63 |
|
64 |
-
#: includes/i18n.php:
|
65 |
msgid "Awesome"
|
66 |
msgstr "Fantastico"
|
67 |
|
68 |
-
#: includes/i18n.php:
|
69 |
msgctxt "noun"
|
70 |
msgid "Pricing"
|
71 |
msgstr "Prezzi"
|
72 |
|
73 |
-
#: includes/i18n.php:
|
74 |
msgctxt "noun"
|
75 |
msgid "Price"
|
76 |
msgstr "Prezzo"
|
77 |
|
78 |
-
#: includes/i18n.php:
|
79 |
msgid "Unlimited Updates"
|
80 |
msgstr "Aggiornamenti Illimitati"
|
81 |
|
82 |
-
#: includes/i18n.php:
|
83 |
msgctxt "verb"
|
84 |
msgid "Downgrade"
|
85 |
msgstr "Downgrade"
|
86 |
|
87 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
88 |
msgid "Cancel Trial"
|
89 |
msgstr "Annulla prova gratuita"
|
90 |
|
91 |
-
#: includes/i18n.php:
|
92 |
msgid "Free Trial"
|
93 |
msgstr "Prova gratuita"
|
94 |
|
95 |
-
#: includes/i18n.php:
|
96 |
msgid "Start my free %s"
|
97 |
msgstr "Inizia la mia %s"
|
98 |
|
99 |
-
#: includes/i18n.php:
|
100 |
msgid "No commitment for %s - cancel anytime"
|
101 |
msgstr "Nessun impegno con %s - cancella quando vuoi"
|
102 |
|
103 |
-
#: includes/i18n.php:
|
104 |
msgid "After your free %s, pay as little as %s"
|
105 |
msgstr "Dopo il tuo %s gratuito, paghi solamente %s"
|
106 |
|
107 |
-
#: includes/i18n.php:
|
108 |
msgid "Details"
|
109 |
msgstr "Dettagli"
|
110 |
|
111 |
-
#: includes/i18n.php:
|
112 |
msgid "Account Details"
|
113 |
msgstr "Dettagli dell'account"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgctxt "verb"
|
117 |
msgid "Delete"
|
118 |
msgstr "Elimina"
|
119 |
|
120 |
-
#: includes/i18n.php:
|
121 |
msgctxt "verb"
|
122 |
msgid "Show"
|
123 |
msgstr "Mostra"
|
124 |
|
125 |
-
#: includes/i18n.php:
|
126 |
msgctxt "verb"
|
127 |
msgid "Hide"
|
128 |
msgstr "Nascondi"
|
129 |
|
130 |
-
#: includes/i18n.php:
|
131 |
msgctxt "verb"
|
132 |
msgid "Edit"
|
133 |
msgstr "Modifica"
|
134 |
|
135 |
-
#: includes/i18n.php:
|
136 |
msgctxt "verb"
|
137 |
msgid "Update"
|
138 |
msgstr "Aggiorna"
|
139 |
|
140 |
-
#: includes/i18n.php:
|
141 |
msgid "Date"
|
142 |
msgstr "Data"
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Amount"
|
146 |
msgstr "Importo"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Invoice"
|
150 |
msgstr "Fattura"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Billing"
|
154 |
msgstr "Fatturazione"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgid "Payments"
|
158 |
msgstr "Pagamenti"
|
159 |
|
160 |
-
#: includes/i18n.php:
|
161 |
msgid "Delete Account"
|
162 |
msgstr "Elimina Account"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgctxt "as close a window"
|
166 |
msgid "Dismiss"
|
167 |
msgstr "Chiudi"
|
168 |
|
169 |
-
#: includes/i18n.php:
|
170 |
msgctxt "as product pricing plan"
|
171 |
msgid "Plan"
|
172 |
msgstr "Piano"
|
173 |
|
174 |
-
#: includes/i18n.php:
|
175 |
msgid "Change Plan"
|
176 |
msgstr "Cambia piano"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgctxt "as download professional version"
|
180 |
msgid "Download %s Version"
|
181 |
msgstr "Scarica la versione %s"
|
182 |
|
183 |
-
#: includes/i18n.php:
|
184 |
msgctxt "as download professional version now"
|
185 |
msgid "Download %s version now"
|
186 |
msgstr "Scarica la versione %s ora"
|
187 |
|
188 |
-
#: includes/i18n.php:
|
189 |
msgctxt "as download latest version"
|
190 |
msgid "Download Latest"
|
191 |
msgstr "Scarica l'ultima versione"
|
192 |
|
193 |
-
#: includes/i18n.php:
|
194 |
msgctxt "E.g. you have a professional license."
|
195 |
msgid "You have a %s license."
|
196 |
msgstr "Hai la licenza %s."
|
197 |
|
198 |
-
#: includes/i18n.php:
|
199 |
msgid "New"
|
200 |
msgstr "Nuovo"
|
201 |
|
202 |
-
#: includes/i18n.php:
|
203 |
msgid "Free"
|
204 |
msgstr "Gratuito"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgctxt "as trial plan"
|
208 |
msgid "Trial"
|
209 |
msgstr "Prova gratuita"
|
210 |
|
211 |
-
#: includes/i18n.php:
|
212 |
msgctxt "as starting a trial plan"
|
213 |
msgid "Start Trial"
|
214 |
msgstr "Inizia il periodo di prova gratuito"
|
215 |
|
216 |
-
#: includes/i18n.php:
|
217 |
msgctxt "verb"
|
218 |
msgid "Purchase"
|
219 |
msgstr "Acquisto"
|
220 |
|
221 |
-
#: includes/i18n.php:
|
222 |
msgid "Purchase License"
|
223 |
msgstr "Acquista licenza"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgctxt "verb"
|
227 |
msgid "Buy"
|
228 |
msgstr "Compra"
|
229 |
|
230 |
-
#: includes/i18n.php:
|
231 |
msgid "Buy License"
|
232 |
msgstr "Compra licenza"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Single Site License"
|
236 |
msgstr "Licenza per sito singolo"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "Unlimited Licenses"
|
240 |
msgstr "Licenze illimitate"
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Up to %s Sites"
|
244 |
msgstr "Fino a %s siti"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "%sRenew your license now%s to access version %s features and support."
|
248 |
msgstr "%sRinnova la tua licenza ora%s per accedere a funzionalità e supporto della versione %s."
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
-
msgid ""
|
252 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
253 |
-
" you the license key."
|
254 |
msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
|
255 |
|
256 |
-
#: includes/i18n.php:
|
257 |
msgctxt "e.g. Professional Plan"
|
258 |
msgid "%s Plan"
|
259 |
msgstr "Piano %s"
|
260 |
|
261 |
-
#: includes/i18n.php:
|
262 |
msgid "You are just one step away - %s"
|
263 |
msgstr "Sei a un passo dalla fine - %s"
|
264 |
|
265 |
-
#: includes/i18n.php:
|
266 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
267 |
msgid "Complete \"%s\" Activation Now"
|
268 |
msgstr "Completa l'attivazione di \"%s\" ora"
|
269 |
|
270 |
-
#: includes/i18n.php:
|
271 |
msgid "We made a few tweaks to the plugin, %s"
|
272 |
msgstr "Abbiamo apportato alcune modifiche al plugin, %s"
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid "Opt-in to make \"%s\" Better!"
|
276 |
msgstr "Contribuisci a rendere \"%s\" migliore!"
|
277 |
|
278 |
-
#: includes/i18n.php:
|
279 |
msgid "Error"
|
280 |
msgstr "Errore"
|
281 |
|
282 |
-
#: includes/i18n.php:
|
283 |
-
msgid ""
|
284 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
285 |
-
"sdk@freemius.com with the current error."
|
286 |
msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
|
287 |
|
288 |
-
#: includes/i18n.php:
|
289 |
msgctxt "as expiration date"
|
290 |
msgid "Expiration"
|
291 |
msgstr "Scadenza"
|
292 |
|
293 |
-
#: includes/i18n.php:
|
294 |
msgctxt "as software license"
|
295 |
msgid "License"
|
296 |
msgstr "Licenza"
|
297 |
|
298 |
-
#: includes/i18n.php:
|
299 |
msgid "not verified"
|
300 |
msgstr "non verificato"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "Verify Email"
|
304 |
msgstr "Verifica email"
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgctxt "e.g. expires in 2 months"
|
308 |
msgid "Expires in %s"
|
309 |
msgstr "Scade in %s"
|
310 |
|
311 |
-
#: includes/i18n.php:
|
312 |
msgctxt "e.g. auto renews in 2 months"
|
313 |
msgid "Auto renews in %s"
|
314 |
msgstr "Rinnovo automatico in %s"
|
315 |
|
316 |
-
#: includes/i18n.php:
|
317 |
msgid "No expiration"
|
318 |
msgstr "Nessuna scadenza"
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgid "Expired"
|
322 |
msgstr "Scaduto"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgid "Cancelled"
|
326 |
msgstr "Annullato"
|
327 |
|
328 |
-
#: includes/i18n.php:
|
329 |
msgctxt "e.g. In 2 hours"
|
330 |
msgid "In %s"
|
331 |
msgstr "In %s"
|
332 |
|
333 |
-
#: includes/i18n.php:
|
334 |
msgctxt "e.g. 2 min ago"
|
335 |
msgid "%s ago"
|
336 |
msgstr "%s fa"
|
337 |
|
338 |
-
#: includes/i18n.php:
|
339 |
msgid "%s or higher"
|
340 |
msgstr "%s o superiore"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
343 |
msgctxt "as plugin version"
|
344 |
msgid "Version"
|
345 |
msgstr "Versione"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Name"
|
349 |
msgstr "Nome"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Email"
|
353 |
msgstr "Email"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Email address"
|
357 |
msgstr "Indirizzo email"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Verified"
|
361 |
msgstr "Verificato"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
364 |
msgid "Module"
|
365 |
msgstr "Modulo"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Module Type"
|
369 |
msgstr "Tipo di modulo"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
372 |
msgid "Plugin"
|
373 |
msgstr "Plugin"
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgid "Plugins"
|
377 |
msgstr "Plugin"
|
378 |
|
379 |
-
#: includes/i18n.php:
|
380 |
msgid "Theme"
|
381 |
msgstr "Tema"
|
382 |
|
383 |
-
#: includes/i18n.php:
|
384 |
msgid "Themes"
|
385 |
msgstr "Temi"
|
386 |
|
387 |
-
#: includes/i18n.php:
|
388 |
msgctxt "as file/folder path"
|
389 |
msgid "Path"
|
390 |
msgstr "Percorso"
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgid "Title"
|
394 |
msgstr "Titolo"
|
395 |
|
396 |
-
#: includes/i18n.php:
|
397 |
msgid "Free version"
|
398 |
msgstr "Versione gratuita"
|
399 |
|
400 |
-
#: includes/i18n.php:
|
401 |
msgid "Premium version"
|
402 |
msgstr "Versione premium"
|
403 |
|
404 |
-
#: includes/i18n.php:
|
405 |
msgctxt "as WP plugin slug"
|
406 |
msgid "Slug"
|
407 |
msgstr "Slug"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
410 |
msgid "ID"
|
411 |
msgstr "ID"
|
412 |
|
413 |
-
#: includes/i18n.php:
|
414 |
msgid "Users"
|
415 |
msgstr "Utenti"
|
416 |
|
417 |
-
#: includes/i18n.php:
|
418 |
msgid "Plugin Installs"
|
419 |
msgstr "Installazioni Plugin"
|
420 |
|
421 |
-
#: includes/i18n.php:
|
422 |
msgid "%s Installs"
|
423 |
msgstr "%s Installazioni"
|
424 |
|
425 |
-
#: includes/i18n.php:
|
426 |
msgctxt "like websites"
|
427 |
msgid "Sites"
|
428 |
msgstr "Siti"
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgid "User ID"
|
432 |
msgstr "ID utente"
|
433 |
|
434 |
-
#: includes/i18n.php:
|
435 |
msgid "Site ID"
|
436 |
msgstr "ID del sito"
|
437 |
|
438 |
-
#: includes/i18n.php:
|
439 |
msgid "Public Key"
|
440 |
msgstr "Chiave pubblica"
|
441 |
|
442 |
-
#: includes/i18n.php:
|
443 |
msgid "Secret Key"
|
444 |
msgstr "Chiave segreta"
|
445 |
|
446 |
-
#: includes/i18n.php:
|
447 |
msgctxt "as secret encryption key missing"
|
448 |
msgid "No Secret"
|
449 |
msgstr "Nessuna chiave"
|
450 |
|
451 |
-
#: includes/i18n.php:
|
452 |
msgid "No ID"
|
453 |
msgstr "Nessun ID"
|
454 |
|
455 |
-
#: includes/i18n.php:
|
456 |
msgctxt "as synchronize license"
|
457 |
msgid "Sync License"
|
458 |
msgstr "Sincronizza la licenza"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgctxt "as synchronize"
|
462 |
msgid "Sync"
|
463 |
msgstr "Sincronizza"
|
464 |
|
465 |
-
#: includes/i18n.php:
|
466 |
msgid "Activate License"
|
467 |
msgstr "Attiva licenza"
|
468 |
|
469 |
-
#: includes/i18n.php:
|
470 |
msgid "Activate Free Version"
|
471 |
msgstr "Attiva versione gratuita"
|
472 |
|
473 |
-
#: includes/i18n.php:
|
474 |
-
msgid ""
|
475 |
-
"Please enter the license key that you received in the email right after the "
|
476 |
-
"purchase:"
|
477 |
msgstr "Per favore inserisci la chiave di licenza che hai ricevuto via mail subito dopo l'acquisto:"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "Activating license..."
|
481 |
msgstr "Sto attivando la licenza..."
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Change License"
|
485 |
msgstr "Cambia licenza"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgid "Update License"
|
489 |
msgstr "Aggiorna licenza"
|
490 |
|
491 |
-
#: includes/i18n.php:
|
492 |
msgid "Deactivate License"
|
493 |
msgstr "Disattiva licenza"
|
494 |
|
495 |
-
#: includes/i18n.php:
|
496 |
msgid "Activate"
|
497 |
msgstr "Attiva"
|
498 |
|
499 |
-
#: includes/i18n.php:
|
500 |
msgid "Deactivate"
|
501 |
msgstr "Disattiva"
|
502 |
|
503 |
-
#: includes/i18n.php:
|
504 |
msgid "Skip & Deactivate"
|
505 |
msgstr "Salta e disattiva"
|
506 |
|
507 |
-
#: includes/i18n.php:
|
508 |
msgid "Skip & %s"
|
509 |
msgstr "Salta & %s"
|
510 |
|
511 |
-
#: includes/i18n.php:
|
512 |
msgid "No - just deactivate"
|
513 |
msgstr "No - disattiva e basta"
|
514 |
|
515 |
-
#: includes/i18n.php:
|
516 |
msgid "Yes - do your thing"
|
517 |
msgstr "Sì - fai pure"
|
518 |
|
519 |
-
#: includes/i18n.php:
|
520 |
msgctxt "active mode"
|
521 |
msgid "Active"
|
522 |
msgstr "Attiva"
|
523 |
|
524 |
-
#: includes/i18n.php:
|
525 |
msgctxt "is active mode?"
|
526 |
msgid "Is Active"
|
527 |
msgstr "è attiva"
|
528 |
|
529 |
-
#: includes/i18n.php:
|
530 |
msgid "Install Now"
|
531 |
msgstr "Installa ora"
|
532 |
|
533 |
-
#: includes/i18n.php:
|
534 |
msgid "Install Update Now"
|
535 |
msgstr "Installa l'aggiornamento ora"
|
536 |
|
537 |
-
#: includes/i18n.php:
|
538 |
msgid "More information about %s"
|
539 |
msgstr "Ulteriori informazioni su %s"
|
540 |
|
541 |
-
#: includes/i18n.php:
|
542 |
msgid "Localhost"
|
543 |
msgstr "Localhost"
|
544 |
|
545 |
-
#: includes/i18n.php:
|
546 |
msgctxt "as activate Professional plan"
|
547 |
msgid "Activate %s Plan"
|
548 |
msgstr "Attivare il piano %s"
|
549 |
|
550 |
-
#: includes/i18n.php:
|
551 |
msgctxt "as 5 licenses left"
|
552 |
msgid "%s left"
|
553 |
msgstr "%s rimanenti"
|
554 |
|
555 |
-
#: includes/i18n.php:
|
556 |
msgid "Last license"
|
557 |
msgstr "Ultima licenza"
|
558 |
|
559 |
-
#: includes/i18n.php:
|
560 |
msgid "What is your %s?"
|
561 |
msgstr "Qual è il tuo %s?"
|
562 |
|
563 |
-
#: includes/i18n.php:
|
564 |
msgid "Activate this add-on"
|
565 |
msgstr "Attivare questo addon"
|
566 |
|
567 |
-
#: includes/i18n.php:
|
568 |
-
msgid ""
|
569 |
-
"Deactivating your license will block all premium features, but will enable "
|
570 |
-
"you to activate the license on another site. Are you sure you want to "
|
571 |
-
"proceed?"
|
572 |
msgstr "La disattivazione della licenza bloccherà tutte le funzionalità premium, ma vi permetterà di attivare la licenza su un altro sito. Sei sicuro di voler procedere?"
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
-
msgid ""
|
576 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
577 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
578 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
579 |
-
"account. Are you sure you would like to continue with the deletion?"
|
580 |
msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
|
581 |
|
582 |
-
#: includes/i18n.php:
|
583 |
-
msgid ""
|
584 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
585 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
586 |
msgstr "L'eliminazione non è temporanea. Cancella solo se non si desidera più utilizzare questo plugin. Sei sicuro di voler continuare con l'eliminazione?"
|
587 |
|
588 |
-
#: includes/i18n.php:
|
589 |
-
msgid ""
|
590 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
591 |
-
"and your %s plan license will expire in %s."
|
592 |
msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
|
593 |
|
594 |
-
#: includes/i18n.php:
|
595 |
-
msgid ""
|
596 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
597 |
-
"Are you sure?"
|
598 |
msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
-
msgid ""
|
602 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
603 |
-
"updates and support."
|
604 |
msgstr "Puoi ancora sfruttare tutte le funzionalità di %s, ma non avrai accesso al supporto ed agli aggiornamenti del plugin."
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
-
msgid ""
|
608 |
-
"Once your license expires you can still use the Free version but you will "
|
609 |
-
"NOT have access to the %s features."
|
610 |
msgstr "Quando la tua licenza scadrà, potrai comunque continuare a usare la versione gratuita, ma NON avrai accesso alle funzionalità %s."
|
611 |
|
612 |
-
#: includes/i18n.php:
|
613 |
msgid "Are you sure you want to proceed?"
|
614 |
msgstr "Sei sicuro di voler procedere?"
|
615 |
|
616 |
-
#: includes/i18n.php:
|
617 |
msgid "Add Ons for %s"
|
618 |
msgstr "Add-on per %s"
|
619 |
|
620 |
-
#: includes/i18n.php:
|
621 |
-
msgid ""
|
622 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
623 |
-
"please try to come back in few minutes."
|
624 |
msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "Anonymous feedback"
|
628 |
msgstr "Feedback anonimo"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "Quick feedback"
|
632 |
msgstr "Feedback veloce"
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "If you have a moment, please let us know why you are deactivating"
|
636 |
msgstr "Se hai un momento, potresti dirci perché lo hai disattivato?"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "Yes - Deactivate"
|
640 |
msgstr "Si - Disattiva"
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "Submit & Deactivate"
|
644 |
msgstr "Invia & Disattiva"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "Cancel"
|
648 |
msgstr "Annulla"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "I no longer need the plugin"
|
652 |
msgstr "Non ho piú bisogno di questo plugin"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "I found a better plugin"
|
656 |
msgstr "Ho trovato un plugin migliore"
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgid "I only needed the plugin for a short period"
|
660 |
msgstr "Avevo bisogno del plugin solo per un breve periodo"
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "The plugin broke my site"
|
664 |
msgstr "Il plugin ha causato problemi al mio sito"
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "The plugin suddenly stopped working"
|
668 |
msgstr "Il plugin ha smesso di funzionare"
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid "I can't pay for it anymore"
|
672 |
msgstr "Non posso piú pagarlo"
|
673 |
|
674 |
-
#: includes/i18n.php:
|
675 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
676 |
msgstr "È una disattivazione temporanea. Sto solo cercando di risolvere un problema."
|
677 |
|
678 |
-
#: includes/i18n.php:
|
679 |
msgctxt ""
|
680 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
681 |
-
"in the modal box."
|
682 |
msgid "Other"
|
683 |
msgstr "Altro"
|
684 |
|
685 |
-
#: includes/i18n.php:
|
686 |
msgid "Kindly tell us the reason so we can improve."
|
687 |
msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
|
688 |
|
689 |
-
#: includes/i18n.php:
|
690 |
msgid "What's the plugin's name?"
|
691 |
msgstr "Qual è il nome del plugin?"
|
692 |
|
693 |
-
#: includes/i18n.php:
|
694 |
msgid "What price would you feel comfortable paying?"
|
695 |
msgstr "Che prezzo ritieni opportuno pagare?"
|
696 |
|
697 |
-
#: includes/i18n.php:
|
698 |
msgid "I couldn't understand how to make it work"
|
699 |
msgstr "Non capisco come farlo funzionare"
|
700 |
|
701 |
-
#: includes/i18n.php:
|
702 |
-
msgid ""
|
703 |
-
"The plugin is great, but I need specific feature that you don't support"
|
704 |
msgstr "Il plugin é ottimo ma ho bisogno di una funzionalitá specifica che non é supportata"
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "The plugin is not working"
|
708 |
msgstr "Il plugin non funziona"
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgid "It's not what I was looking for"
|
712 |
msgstr "Non é quello che stavo cercando"
|
713 |
|
714 |
-
#: includes/i18n.php:
|
715 |
msgid "The plugin didn't work as expected"
|
716 |
msgstr "Il plugin non funziona come mi aspettavo"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgid "What feature?"
|
720 |
msgstr "Quale funzionalitá?"
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
724 |
msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
|
725 |
|
726 |
-
#: includes/i18n.php:
|
727 |
msgid "What you've been looking for?"
|
728 |
msgstr "Che cosa stai cercando?"
|
729 |
|
730 |
-
#: includes/i18n.php:
|
731 |
msgid "What did you expect?"
|
732 |
msgstr "Che cosa ti aspettavi?"
|
733 |
|
734 |
-
#: includes/i18n.php:
|
735 |
msgid "The plugin didn't work"
|
736 |
msgstr "Il plugin non funziona"
|
737 |
|
738 |
-
#: includes/i18n.php:
|
739 |
msgid "I don't like to share my information with you"
|
740 |
msgstr "Non voglio condividere i miei dati con te"
|
741 |
|
742 |
-
#: includes/i18n.php:
|
743 |
-
msgid ""
|
744 |
-
"You might have missed it, but you don't have to share any data and can just "
|
745 |
-
"%s the opt-in."
|
746 |
msgstr "Potresti non averci fatto caso, ma non sei obbligato a condividere i tuoi dati e puoi semplicemente %s la tua partecipazione."
|
747 |
|
748 |
-
#: includes/i18n.php:
|
749 |
msgctxt "greeting"
|
750 |
msgid "Hey %s,"
|
751 |
msgstr "Hey %s,"
|
752 |
|
753 |
-
#: includes/i18n.php:
|
754 |
msgctxt "a greeting. E.g. Thanks John!"
|
755 |
msgid "Thanks %s!"
|
756 |
msgstr "Grazie %s!"
|
757 |
|
758 |
-
#: includes/i18n.php:
|
759 |
-
msgid ""
|
760 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
761 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
762 |
msgstr "Non perdere nessun aggiornamento importante - iscriviti per ricevere notifiche su aggiornamenti relativi alla sicurezza e nuove versioni, oltre al tracciamento di diagnostica non sensibile con %4$s."
|
763 |
|
764 |
-
#: includes/i18n.php:
|
765 |
-
msgid ""
|
766 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
767 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
768 |
-
"work just fine."
|
769 |
msgstr "Aiutaci a migliorare %1$s! Se ti iscrivi, alcuni dati riguardanti il tuo utilizzo di %1$s verranno inviati a %4$s. Se salti questo passaggio, non c'è problema! %1$s funzionerà ugualmente."
|
770 |
|
771 |
-
#: includes/i18n.php:
|
772 |
-
msgid ""
|
773 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
774 |
-
"make sure you click the activation button in that email to %s."
|
775 |
msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per %s."
|
776 |
|
777 |
-
#: includes/i18n.php:
|
778 |
msgid "complete the install"
|
779 |
msgstr "completa l'installazione"
|
780 |
|
781 |
-
#: includes/i18n.php:
|
782 |
msgid "start the trial"
|
783 |
msgstr "Inizia il periodo di prova gratuito"
|
784 |
|
785 |
-
#: includes/i18n.php:
|
786 |
-
msgid ""
|
787 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
788 |
msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
|
789 |
|
790 |
-
#: includes/i18n.php:
|
791 |
-
msgid ""
|
792 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
793 |
-
"updates and verify the validity of your license."
|
794 |
msgstr "Il plugin invierà dati periodicamente a %s per controllare l'esistenza di aggiornamenti e verificare la validità della tua licenza."
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "What permissions are being granted?"
|
798 |
msgstr "Quali autorizzazioni vengono concesse?"
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Your Profile Overview"
|
802 |
msgstr "Panoramica del tuo profilo"
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Name and email address"
|
806 |
msgstr "Nome ed indirizzo email"
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Your Site Overview"
|
810 |
msgstr "Panoramica del tuo sito"
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
814 |
msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Current Plugin Events"
|
818 |
msgstr "Eventi correnti del plugin"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Activation, deactivation and uninstall"
|
822 |
msgstr "Attiva, disattivazione e disinstallazione"
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgid "Plugins & Themes"
|
826 |
msgstr "Plugin e temi"
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Titles, versions and state."
|
830 |
msgstr "Titoli, versioni e stato."
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgid "Admin Notices"
|
834 |
msgstr "Avvisi amministratore"
|
835 |
|
836 |
-
#: includes/i18n.php:
|
837 |
msgid "Newsletter"
|
838 |
msgstr "Newsletter"
|
839 |
|
840 |
-
#: includes/i18n.php:
|
841 |
msgid "Updates, announcements, marketing, no spam"
|
842 |
msgstr "Aggiornamenti, annunci, marketing, no spam"
|
843 |
|
844 |
-
#: includes/i18n.php:
|
845 |
msgid "Privacy Policy"
|
846 |
msgstr "Politica sulla privacy"
|
847 |
|
848 |
-
#: includes/i18n.php:
|
849 |
msgid "Terms of Service"
|
850 |
msgstr "Termini del Servizio"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "as activating plugin"
|
854 |
msgid "Activating"
|
855 |
msgstr "Attivazione"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgctxt "as in the process of sending an email"
|
859 |
msgid "Sending email"
|
860 |
msgstr "Invio email"
|
861 |
|
862 |
-
#: includes/i18n.php:
|
863 |
msgctxt "button label"
|
864 |
msgid "Allow & Continue"
|
865 |
msgstr "Consenti & Continua"
|
866 |
|
867 |
-
#: includes/i18n.php:
|
868 |
msgctxt "button label"
|
869 |
msgid "Agree & Activate License"
|
870 |
msgstr "Accetta e attiva la licenza"
|
871 |
|
872 |
-
#: includes/i18n.php:
|
873 |
msgctxt "verb"
|
874 |
msgid "Skip"
|
875 |
msgstr "Salta"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "Click here to use the plugin anonymously"
|
879 |
msgstr "Fai clic qui per usare il plugin anonimamente"
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Re-send activation email"
|
883 |
msgstr "Invia nuovamente l'email di attivazione"
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "License key"
|
887 |
msgstr "Chiave di licenza"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
msgid "Send License Key"
|
891 |
msgstr "Invia chiave di licenza"
|
892 |
|
893 |
-
#: includes/i18n.php:
|
894 |
msgid "Sending license key"
|
895 |
msgstr "Invio chiave di licenza"
|
896 |
|
897 |
-
#: includes/i18n.php:
|
898 |
msgid "Have a license key?"
|
899 |
msgstr "Hai una chiave di licenza?"
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Don't have a license key?"
|
903 |
msgstr "Non hai una chiave di licenza?"
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Can't find your license key?"
|
907 |
msgstr "Non trovi la tua chiave di licenza?"
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
-
msgid ""
|
911 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
912 |
-
"right address?"
|
913 |
msgstr "Non siamo riusciti a trovare il tuo indirizzo email nel sistema, sei sicuro che sia l'indirizzo giusto?"
|
914 |
|
915 |
-
#: includes/i18n.php:
|
916 |
-
msgid ""
|
917 |
-
"We can't see any active licenses associated with that email address, are you"
|
918 |
-
" sure it's the right address?"
|
919 |
msgstr "Non siamo riusciti a trovare alcuna licenza attiva associata al tuo indirizzo email, sei sicuro che sia l'indirizzo giusto?"
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
msgid "Opt In"
|
923 |
msgstr "Iscriviti"
|
924 |
|
925 |
-
#: includes/i18n.php:
|
926 |
msgid "Opt Out"
|
927 |
msgstr "Cancella iscrizione"
|
928 |
|
929 |
-
#: includes/i18n.php:
|
930 |
msgid "On second thought - I want to continue helping"
|
931 |
msgstr "Ci ho ripensato, voglio continuare a fornire il mio aiuto"
|
932 |
|
933 |
-
#: includes/i18n.php:
|
934 |
msgid "Opting out..."
|
935 |
msgstr "Cancellamento dell'iscrizione..."
|
936 |
|
937 |
-
#: includes/i18n.php:
|
938 |
msgid "Opting in..."
|
939 |
msgstr "Iscrizione in corso..."
|
940 |
|
941 |
-
#: includes/i18n.php:
|
942 |
-
msgid ""
|
943 |
-
"We appreciate your help in making the %s better by letting us track some "
|
944 |
-
"usage data."
|
945 |
msgstr "Ti ringraziamo per averci concesso di tracciare alcuni dati di utilizzo al fine di migliorare %s"
|
946 |
|
947 |
-
#: includes/i18n.php:
|
948 |
-
msgid ""
|
949 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
950 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
951 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
952 |
msgstr "Tracciamo l'utilizzo esclusivamente per rendere %s migliore, creando una migliore esperienza utente e dando priorità a nuove funzionalità, oltre a molte altre buone cose. Saremmo veramente felici di vederti cambiare idea e lasciarci continuare con il tracciamento."
|
953 |
|
954 |
-
#: includes/i18n.php:
|
955 |
-
msgid ""
|
956 |
-
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
957 |
-
"%s."
|
958 |
msgstr "Cliccando su \"Cancella iscrizione\", non invieremo più nessuna informazione da %s a %s."
|
959 |
|
960 |
-
#: includes/i18n.php:
|
961 |
msgid "Screenshots"
|
962 |
msgstr "Screenshots"
|
963 |
|
964 |
-
#: includes/i18n.php:
|
965 |
msgid "Click to view full-size screenshot %d"
|
966 |
msgstr "Fare clic per visualizzare lo screenshot in grandi dimensioni %d"
|
967 |
|
968 |
-
#: includes/i18n.php:
|
969 |
msgid "Freemius Debug"
|
970 |
msgstr "Debug Freemius"
|
971 |
|
972 |
-
#: includes/i18n.php:
|
973 |
msgctxt "as turned on"
|
974 |
msgid "On"
|
975 |
msgstr "Attivo"
|
976 |
|
977 |
-
#: includes/i18n.php:
|
978 |
msgctxt "as turned off"
|
979 |
msgid "Off"
|
980 |
msgstr "Non attivo"
|
981 |
|
982 |
-
#: includes/i18n.php:
|
983 |
msgctxt "as code debugging"
|
984 |
msgid "Debugging"
|
985 |
msgstr "Debugging"
|
986 |
|
987 |
-
#: includes/i18n.php:
|
988 |
msgid "Freemius State"
|
989 |
msgstr "Stato di Freemius"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "as connection was successful"
|
993 |
msgid "Connected"
|
994 |
msgstr "Connesso"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt "as connection blocked"
|
998 |
msgid "Blocked"
|
999 |
msgstr "Bloccato"
|
1000 |
|
1001 |
-
#: includes/i18n.php:
|
1002 |
msgctxt "as application program interface"
|
1003 |
msgid "API"
|
1004 |
msgstr "API"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgctxt "as software development kit versions"
|
1008 |
msgid "SDK"
|
1009 |
msgstr "SDK"
|
1010 |
|
1011 |
-
#: includes/i18n.php:
|
1012 |
msgctxt "as software development kit versions"
|
1013 |
msgid "SDK Versions"
|
1014 |
msgstr "Versioni SDK"
|
1015 |
|
1016 |
-
#: includes/i18n.php:
|
1017 |
msgctxt "as plugin folder path"
|
1018 |
msgid "Plugin Path"
|
1019 |
msgstr "Percorso del plugin"
|
1020 |
|
1021 |
-
#: includes/i18n.php:
|
1022 |
msgctxt "as sdk path"
|
1023 |
msgid "SDK Path"
|
1024 |
msgstr "Percorso SDK"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Add Ons of Plugin %s"
|
1028 |
msgstr "Add-on del Plugin %s"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Are you sure you want to delete all Freemius data?"
|
1032 |
msgstr "Sei sicuro di voler eliminare tutti i dati di Freemius?"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Actions"
|
1036 |
msgstr "Azioni"
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
1039 |
msgid "Delete All Accounts"
|
1040 |
msgstr "Eliminare tutti gli account"
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
1043 |
msgid "Start Fresh"
|
1044 |
msgstr "Inizia da capo"
|
1045 |
|
1046 |
-
#: includes/i18n.php:
|
1047 |
msgid "Clear API Cache"
|
1048 |
msgstr "Elimina cache API"
|
1049 |
|
1050 |
-
#: includes/i18n.php:
|
1051 |
msgid "Sync Data From Server"
|
1052 |
msgstr "Sincronizza i dati dal server"
|
1053 |
|
1054 |
-
#: includes/i18n.php:
|
1055 |
msgid "Scheduled Crons"
|
1056 |
msgstr "Azioni programmate"
|
1057 |
|
1058 |
-
#: includes/i18n.php:
|
1059 |
msgid "Cron Type"
|
1060 |
msgstr "Tipo di Cron"
|
1061 |
|
1062 |
-
#: includes/i18n.php:
|
1063 |
msgid "Plugins & Themes Sync"
|
1064 |
msgstr "Sincronizzazione plugin e temi"
|
1065 |
|
1066 |
-
#: includes/i18n.php:
|
1067 |
msgid "Licenses"
|
1068 |
msgstr "Licenze"
|
1069 |
|
1070 |
-
#: includes/i18n.php:
|
1071 |
msgid "Debug Log"
|
1072 |
msgstr "Debug Log"
|
1073 |
|
1074 |
-
#: includes/i18n.php:
|
1075 |
msgid "All"
|
1076 |
msgstr "Tutto"
|
1077 |
|
1078 |
-
#: includes/i18n.php:
|
1079 |
msgid "File"
|
1080 |
msgstr "File"
|
1081 |
|
1082 |
-
#: includes/i18n.php:
|
1083 |
msgid "Function"
|
1084 |
msgstr "Funzione"
|
1085 |
|
1086 |
-
#: includes/i18n.php:
|
1087 |
msgid "Process ID"
|
1088 |
msgstr "ID processo"
|
1089 |
|
1090 |
-
#: includes/i18n.php:
|
1091 |
msgid "Logger"
|
1092 |
msgstr "Logger"
|
1093 |
|
1094 |
-
#: includes/i18n.php:
|
1095 |
msgid "Message"
|
1096 |
msgstr "Messaggio"
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
msgid "Download"
|
1100 |
msgstr "Download"
|
1101 |
|
1102 |
-
#: includes/i18n.php:
|
1103 |
msgid "Filter"
|
1104 |
msgstr "Filtro"
|
1105 |
|
1106 |
-
#: includes/i18n.php:
|
1107 |
msgid "Type"
|
1108 |
msgstr "Tipo"
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
msgid "All Types"
|
1112 |
msgstr "Tutti i tipi"
|
1113 |
|
1114 |
-
#: includes/i18n.php:
|
1115 |
msgid "All Requests"
|
1116 |
msgstr "Tutte le richieste"
|
1117 |
|
1118 |
-
#: includes/i18n.php:
|
1119 |
msgctxt "as congratulations"
|
1120 |
msgid "Congrats"
|
1121 |
msgstr "Congratulazioni"
|
1122 |
|
1123 |
-
#: includes/i18n.php:
|
1124 |
msgctxt "exclamation"
|
1125 |
msgid "Oops"
|
1126 |
msgstr "Ops"
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
msgctxt "interjection expressing joy or exuberance"
|
1130 |
msgid "Yee-haw"
|
1131 |
msgstr "Evvai"
|
1132 |
|
1133 |
-
#: includes/i18n.php:
|
1134 |
msgctxt ""
|
1135 |
-
"(especially in electronic communication) used to express elation, "
|
1136 |
-
"enthusiasm, or triumph."
|
1137 |
msgid "W00t"
|
1138 |
msgstr "Forte"
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgctxt "a positive response"
|
1142 |
msgid "Right on"
|
1143 |
msgstr "Sì"
|
1144 |
|
1145 |
-
#: includes/i18n.php:
|
1146 |
msgctxt ""
|
1147 |
-
"something somebody says when they are thinking about what you have just "
|
1148 |
-
"said. "
|
1149 |
msgid "Hmm"
|
1150 |
msgstr "Uhm"
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid "O.K"
|
1154 |
msgstr "OK"
|
1155 |
|
1156 |
-
#: includes/i18n.php:
|
1157 |
msgctxt "exclamation"
|
1158 |
msgid "Hey"
|
1159 |
msgstr "Hey"
|
1160 |
|
1161 |
-
#: includes/i18n.php:
|
1162 |
msgctxt "advance notice of something that will need attention."
|
1163 |
msgid "Heads up"
|
1164 |
msgstr "Attenzione"
|
1165 |
|
1166 |
-
#: includes/i18n.php:
|
1167 |
msgid "Seems like you got the latest release."
|
1168 |
msgstr "Sembra che tu abbia la versione più recente."
|
1169 |
|
1170 |
-
#: includes/i18n.php:
|
1171 |
msgid "You are all good!"
|
1172 |
msgstr "Sei fantastico!"
|
1173 |
|
1174 |
-
#: includes/i18n.php:
|
1175 |
-
msgid ""
|
1176 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1177 |
-
"email is already registered."
|
1178 |
msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
-
msgid ""
|
1182 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1183 |
-
"click the Change Ownership button."
|
1184 |
msgstr "Se vuoi cedere la proprietá dell'account del plugin a %s clicca su Cambia Proprietà."
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
-
msgid ""
|
1188 |
-
"Your email was successfully updated. You should receive an email with "
|
1189 |
-
"confirmation instructions in few moments."
|
1190 |
msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
|
1191 |
|
1192 |
-
#: includes/i18n.php:
|
1193 |
msgid "Your name was successfully updated."
|
1194 |
msgstr "Il tuo nome è stato aggiornato correttamente."
|
1195 |
|
1196 |
-
#: includes/i18n.php:
|
1197 |
msgid "You have successfully updated your %s."
|
1198 |
msgstr "Hai aggiornato con successo il tuo %s."
|
1199 |
|
1200 |
-
#: includes/i18n.php:
|
1201 |
msgid "Please provide your full name."
|
1202 |
msgstr "Per favore inserisci il tuo nome completo."
|
1203 |
|
1204 |
-
#: includes/i18n.php:
|
1205 |
-
msgid ""
|
1206 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1207 |
-
"please check your spam box."
|
1208 |
msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
|
1209 |
|
1210 |
-
#: includes/i18n.php:
|
1211 |
-
msgid ""
|
1212 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1213 |
-
"from an external server."
|
1214 |
msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
|
1215 |
|
1216 |
-
#: includes/i18n.php:
|
1217 |
msgid "No credit card required"
|
1218 |
msgstr "Nessuna carta di credito richiesta"
|
1219 |
|
1220 |
-
#: includes/i18n.php:
|
1221 |
msgid "Premium plugin version was successfully activated."
|
1222 |
msgstr "La versione Premium del plugin è stata attivata correttamente."
|
1223 |
|
1224 |
-
#: includes/i18n.php:
|
1225 |
msgid "The upgrade of %s was successfully completed."
|
1226 |
msgstr "L'aggiornamento di %s è stato completato con successo."
|
1227 |
|
1228 |
-
#: includes/i18n.php:
|
1229 |
msgid "Your account was successfully activated with the %s plan."
|
1230 |
msgstr "Il tuo account è stato attivato correttamente con il piano %s."
|
1231 |
|
1232 |
-
#: includes/i18n.php:
|
1233 |
msgid "Download the latest %s version now"
|
1234 |
msgstr "Scarica l'ultima versione di %s"
|
1235 |
|
1236 |
-
#: includes/i18n.php:
|
1237 |
msgid "Please follow these steps to complete the upgrade"
|
1238 |
msgstr "Segui i passi seguenti per completare l'aggiornamento"
|
1239 |
|
1240 |
-
#: includes/i18n.php:
|
1241 |
msgid "Download the latest %s version"
|
1242 |
msgstr "Scarica l'ultima versione di %s"
|
1243 |
|
1244 |
-
#: includes/i18n.php:
|
1245 |
msgid "Download the latest version"
|
1246 |
msgstr "Scarica l'ultima versione"
|
1247 |
|
1248 |
-
#: includes/i18n.php:
|
1249 |
msgid "Deactivate the free version"
|
1250 |
msgstr "Disattiva la versione gratuita"
|
1251 |
|
1252 |
-
#: includes/i18n.php:
|
1253 |
msgid "Upload and activate the downloaded version"
|
1254 |
msgstr "Carica e attiva la versione scaricata"
|
1255 |
|
1256 |
-
#: includes/i18n.php:
|
1257 |
msgid "How to upload and activate?"
|
1258 |
msgstr "Come faccio a caricare ed attivare?"
|
1259 |
|
1260 |
-
#: includes/i18n.php:
|
1261 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1262 |
msgid "%s Add-on was successfully purchased."
|
1263 |
msgstr "L' add-on %s è stato acquistato con successo."
|
1264 |
|
1265 |
-
#: includes/i18n.php:
|
1266 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1267 |
msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1271 |
msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
|
1272 |
|
1273 |
-
#: includes/i18n.php:
|
1274 |
msgid "Your plan was successfully upgraded."
|
1275 |
msgstr "Il piano è stato aggiornato con successo."
|
1276 |
|
1277 |
-
#: includes/i18n.php:
|
1278 |
msgid "Your plan was successfully changed to %s."
|
1279 |
msgstr "Il piano è stato cambiato con successo a %s."
|
1280 |
|
1281 |
-
#: includes/i18n.php:
|
1282 |
-
msgid ""
|
1283 |
-
"Your license has expired. You can still continue using the free plugin "
|
1284 |
-
"forever."
|
1285 |
msgstr "La licenza è scaduta. È comunque possibile continuare ad utilizzare il plugin gratuito per sempre."
|
1286 |
|
1287 |
-
#: includes/i18n.php:
|
1288 |
-
msgid ""
|
1289 |
-
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1290 |
-
" support."
|
1291 |
msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
|
1292 |
|
1293 |
-
#: includes/i18n.php:
|
1294 |
msgid "Your trial has been successfully started."
|
1295 |
msgstr "La versione di prova è stata avviata correttamente."
|
1296 |
|
1297 |
-
#: includes/i18n.php:
|
1298 |
msgid "Your license was successfully activated."
|
1299 |
msgstr "La tua licenza è stata attivata correttamente."
|
1300 |
|
1301 |
-
#: includes/i18n.php:
|
1302 |
msgid "It looks like your site currently doesn't have an active license."
|
1303 |
msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
|
1304 |
|
1305 |
-
#: includes/i18n.php:
|
1306 |
-
msgid ""
|
1307 |
-
"Your license was successfully deactivated, you are back to the %s plan."
|
1308 |
msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
|
1309 |
|
1310 |
-
#: includes/i18n.php:
|
1311 |
msgid "It looks like the license deactivation failed."
|
1312 |
msgstr "Sembra che la disattivazione della licenza non sia riuscita."
|
1313 |
|
1314 |
-
#: includes/i18n.php:
|
1315 |
msgid "It looks like the license could not be activated."
|
1316 |
msgstr "Sembra che la licenza non possa essere attivata."
|
1317 |
|
1318 |
-
#: includes/i18n.php:
|
1319 |
msgid "Error received from the server:"
|
1320 |
msgstr "Errore ricevuto dal server:"
|
1321 |
|
1322 |
-
#: includes/i18n.php:
|
1323 |
-
msgid ""
|
1324 |
-
"Your trial has expired. You can still continue using all our free features."
|
1325 |
msgstr "La versione di prova è scaduta. Si può comunque continuare a utilizzare tutte le nostre funzioni gratuite."
|
1326 |
|
1327 |
-
#: includes/i18n.php:
|
1328 |
-
msgid ""
|
1329 |
-
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1330 |
-
"%s."
|
1331 |
msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
|
1332 |
|
1333 |
-
#: includes/i18n.php:
|
1334 |
-
msgid ""
|
1335 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1336 |
-
"Please try again in few minutes."
|
1337 |
msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
|
1338 |
|
1339 |
-
#: includes/i18n.php:
|
1340 |
-
msgid ""
|
1341 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1342 |
-
" :)"
|
1343 |
msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid "Your %s free trial was successfully cancelled."
|
1347 |
msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
|
1348 |
|
1349 |
-
#: includes/i18n.php:
|
1350 |
msgctxt "%s - numeric version number"
|
1351 |
msgid "Version %s was released."
|
1352 |
msgstr "La versione %s é stata rilasciata."
|
1353 |
|
1354 |
-
#: includes/i18n.php:
|
1355 |
msgid "Please download %s."
|
1356 |
msgstr "Scarica %s."
|
1357 |
|
1358 |
-
#: includes/i18n.php:
|
1359 |
msgctxt "%s - plan name, as the latest professional version here"
|
1360 |
msgid "the latest %s version here"
|
1361 |
msgstr "l'ultima versione %s é quì"
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
-
msgid ""
|
1365 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1366 |
-
"free trial."
|
1367 |
msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
|
1368 |
|
1369 |
-
#: includes/i18n.php:
|
1370 |
msgctxt "call to action"
|
1371 |
msgid "Start free trial"
|
1372 |
msgstr "Inizia il periodo di prova gratuito"
|
1373 |
|
1374 |
-
#: includes/i18n.php:
|
1375 |
msgid "Starting trial"
|
1376 |
msgstr "Inizio del periodo di prova gratuito"
|
1377 |
|
1378 |
-
#: includes/i18n.php:
|
1379 |
msgid "Please wait"
|
1380 |
msgstr "Attendere"
|
1381 |
|
1382 |
-
#: includes/i18n.php:
|
1383 |
-
msgid ""
|
1384 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1385 |
-
"Please try again in few minutes."
|
1386 |
msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
|
1387 |
|
1388 |
-
#: includes/i18n.php:
|
1389 |
msgid "You already utilized a trial before."
|
1390 |
msgstr "Hai già utilizzato una prova gratuita in passato."
|
1391 |
|
1392 |
-
#: includes/i18n.php:
|
1393 |
msgid "You are already running the plugin in a trial mode."
|
1394 |
msgstr "Stai già usando il plugin in modalità di prova gratuita."
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1398 |
msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
|
1399 |
|
1400 |
-
#: includes/i18n.php:
|
1401 |
msgid "Plan %s does not support a trial period."
|
1402 |
msgstr "Il piano %s non supporta il periodo di prova."
|
1403 |
|
1404 |
-
#: includes/i18n.php:
|
1405 |
msgid "None of the plugin's plans supports a trial period."
|
1406 |
msgstr "Non esiste alcun piano del plugin che offra il periodo di prova."
|
1407 |
|
1408 |
-
#: includes/i18n.php:
|
1409 |
-
msgid ""
|
1410 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1411 |
-
"error."
|
1412 |
msgstr "Errore inaspettato dell'API. Per favore contatta l'autore del plugin riportando il seguente errore."
|
1413 |
|
1414 |
-
#: includes/i18n.php:
|
1415 |
msgid "No commitment for %s days - cancel anytime!"
|
1416 |
msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
|
1417 |
|
1418 |
-
#: includes/i18n.php:
|
1419 |
-
msgid ""
|
1420 |
-
"Your license has expired. You can still continue using all the %s features, "
|
1421 |
-
"but you'll need to renew your license to continue getting updates and "
|
1422 |
-
"support."
|
1423 |
msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
|
1424 |
|
1425 |
-
#: includes/i18n.php:
|
1426 |
msgid "Couldn't activate %s."
|
1427 |
msgstr "Non é stato possibile attivare %s."
|
1428 |
|
1429 |
-
#: includes/i18n.php:
|
1430 |
msgid "Please contact us with the following message:"
|
1431 |
msgstr "Contattaci con il seguente messaggio:"
|
1432 |
|
1433 |
-
#: includes/i18n.php:
|
1434 |
-
msgid ""
|
1435 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1436 |
-
"your plan, it's probably an issue on our side - sorry."
|
1437 |
msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
msgid "Please contact us here"
|
1441 |
msgstr "Contattaci qui"
|
1442 |
|
1443 |
-
#: includes/i18n.php:
|
1444 |
-
msgid ""
|
1445 |
-
"I have upgraded my account but when I try to Sync the License, the plan "
|
1446 |
-
"remains %s."
|
1447 |
msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
|
1448 |
|
1449 |
-
#: includes/i18n.php:
|
1450 |
msgid "From unknown reason, the API connectivity test failed."
|
1451 |
msgstr "Il test di connettività dell'API ha fallito per motivi sconosciuti."
|
1452 |
|
1453 |
-
#: includes/i18n.php:
|
1454 |
-
msgid ""
|
1455 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1456 |
-
"permission, would it be o.k to run another connectivity test?"
|
1457 |
msgstr "Si tratta probabilmente di un problema nei nostri sistemi. Per esserne sicuri, potresti darci il permesso di effettuare un ulteriore test della connettività? "
|
1458 |
|
1459 |
-
#: includes/i18n.php:
|
1460 |
-
msgid ""
|
1461 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1462 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1463 |
-
"on your server."
|
1464 |
-
msgstr "Utilizziamo la libreria PHP cURL per le chiamate alla nostra API. Questa libreria è molto comune ed è installata di base. Sfortunatamente cURL non è presente nel tuo server."
|
1465 |
|
1466 |
-
#: includes/i18n.php:
|
1467 |
-
msgid ""
|
1468 |
-
"
|
|
|
|
|
|
|
1469 |
msgstr "Per un motivo sconosciuto, CloudFlare, il firewall che utilizziamo, blocca la connessione."
|
1470 |
|
1471 |
-
#: includes/i18n.php:
|
1472 |
msgctxt "as pluginX requires an access to our API"
|
1473 |
msgid "%s requires an access to our API."
|
1474 |
msgstr "%s richiede un accesso alla nostra API."
|
1475 |
|
1476 |
-
#: includes/i18n.php:
|
1477 |
-
msgid ""
|
1478 |
-
"It looks like your server is using Squid ACL (access control lists), which "
|
1479 |
-
"blocks the connection."
|
1480 |
msgstr "Sembra che il tuo server stia usando Squid ACL (lista per il controllo degli accessi) il quale blocca la connessione."
|
1481 |
|
1482 |
-
#: includes/i18n.php:
|
1483 |
msgid "I don't know what is Squid or ACL, help me!"
|
1484 |
msgstr "Non ho idea di cosa sia Squid o ACL, aiutami!"
|
1485 |
|
1486 |
-
#: includes/i18n.
|
1487 |
-
msgid ""
|
1488 |
-
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1489 |
-
"will get a follow-up email to %s once we have an update."
|
1490 |
msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
msgid "I'm a system administrator"
|
1494 |
msgstr "Sono un sistemista"
|
1495 |
|
1496 |
-
#: includes/i18n.php:
|
1497 |
-
msgid ""
|
1498 |
-
"Great, please whitelist the following domains: %s. Once you are done, "
|
1499 |
-
"deactivate the plugin and activate it again."
|
1500 |
msgstr "Perfetto, ora per favore aggiungi alla whitelist i seguenti domini: %s. Quando hai fatto, disattiva il plugin e riattivalo di nuovo."
|
1501 |
|
1502 |
-
#: includes/i18n.php:
|
1503 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1504 |
msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
-
msgid ""
|
1508 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1509 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1510 |
-
"the plugin and reactivate it back again."
|
1511 |
-
msgstr "Perfetto, installa cURL ed attivalo nel tuo file php.ini. Per essere sicuro di averlo attivato con successo, usa \"phpinfo()\". Una volta attivato disattva il plugin e attivalo di nuovo."
|
1512 |
|
1513 |
-
#: includes/i18n.php:
|
1514 |
-
msgid ""
|
1515 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1516 |
-
"you ASAP if you give us a chance."
|
1517 |
msgstr "Siamo sicuri che sia un nostro problema e siamo più che felici di risolverlo per te al più presto. Per poter procedere abbiamo bisogno del tuo consenso."
|
1518 |
|
1519 |
-
#: includes/i18n.php:
|
1520 |
-
msgid ""
|
1521 |
-
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1522 |
msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo permesso."
|
1523 |
|
1524 |
-
#: includes/i18n.php:
|
1525 |
msgid "Yes - I'm giving you a chance to fix it"
|
1526 |
msgstr "Sì - sto dandovi la possibilità di risolvere il problema"
|
1527 |
|
1528 |
-
#: includes/i18n.php:
|
1529 |
-
msgid ""
|
1530 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1531 |
-
"You will get a follow-up email to %s once we have an update."
|
1532 |
msgstr "Faremo del nostro meglio per mettere il server in whitelist e risolvere il problema il prima possibile. Avrai un aggiornamento dello stato tramite email all'indirizzo %s."
|
1533 |
|
1534 |
-
#: includes/i18n.php:
|
1535 |
msgid "Let's try your previous version"
|
1536 |
msgstr "Proviamo con la versione precedente"
|
1537 |
|
1538 |
-
#: includes/i18n.php:
|
1539 |
msgid "Uninstall this version and install the previous one."
|
1540 |
msgstr "Disinstalla questa versione e installa quella precedente."
|
1541 |
|
1542 |
-
#: includes/i18n.php:
|
1543 |
msgid "That's exhausting, please deactivate"
|
1544 |
msgstr "È estenuante, disattivalo"
|
1545 |
|
1546 |
-
#: includes/i18n.php:
|
1547 |
-
msgid ""
|
1548 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1549 |
-
" to see you again in the future."
|
1550 |
msgstr "Capiamo la tua frustrazione e ci scusiamo per l'inconveniente. Speriamo di rivederti nuovamente in futuro."
|
1551 |
|
1552 |
-
#: includes/i18n.php:
|
1553 |
-
msgid ""
|
1554 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1555 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1556 |
-
" Appreciate your patience."
|
1557 |
msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
|
1558 |
|
1559 |
-
#: includes/i18n.php:
|
1560 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1561 |
-
msgid ""
|
1562 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1563 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1564 |
msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
-
msgid ""
|
1568 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1569 |
-
"Public Key, Secret Key & User ID, and try again."
|
1570 |
msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
|
1571 |
|
1572 |
-
#: includes/i18n.php:
|
1573 |
-
msgid ""
|
1574 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1575 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1576 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1577 |
-
"folder."
|
1578 |
msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
|
1579 |
|
1580 |
-
#: includes/i18n.php:
|
1581 |
-
msgid ""
|
1582 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1583 |
-
" final approval."
|
1584 |
msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
|
1585 |
|
1586 |
-
#: includes/i18n.php:
|
1587 |
msgid "%s is the new owner of the account."
|
1588 |
msgstr "%s è il nuovo proprietario dell'account."
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgctxt "addonX cannot run without pluginY"
|
1592 |
msgid "%s cannot run without %s."
|
1593 |
msgstr "%s non può funzionare senza %s."
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgctxt "addonX cannot run..."
|
1597 |
msgid "%s cannot run without the plugin."
|
1598 |
msgstr "%s non può funzionare senza il plugin."
|
1599 |
|
1600 |
-
#: includes/i18n.php:
|
1601 |
msgctxt "pluginX activation was successfully..."
|
1602 |
msgid "%s activation was successfully completed."
|
1603 |
msgstr "%s è stato attivato con successo."
|
1604 |
|
1605 |
-
#: includes/i18n.php:
|
1606 |
msgctxt "Plugin installer section title"
|
1607 |
msgid "Features & Pricing"
|
1608 |
msgstr "Caratteristiche & prezzi"
|
1609 |
|
1610 |
-
#: includes/i18n.php:
|
1611 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1612 |
msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
|
1613 |
|
1614 |
-
#: includes/i18n.php:
|
1615 |
msgid "Paid add-on must be deployed to Freemius."
|
1616 |
msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
|
1617 |
|
1618 |
-
#: includes/i18n.php:
|
1619 |
-
msgid ""
|
1620 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1621 |
-
"activating the plugin."
|
1622 |
msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
|
1623 |
|
1624 |
-
#: includes/i18n.php:
|
1625 |
-
msgid ""
|
1626 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1627 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1628 |
-
"you'll have to purchase a license."
|
1629 |
msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
|
1630 |
|
1631 |
-
#: includes/i18n.php:
|
1632 |
msgctxt "as every month"
|
1633 |
msgid "Monthly"
|
1634 |
msgstr "Mensilmente"
|
1635 |
|
1636 |
-
#: includes/i18n.php:
|
1637 |
msgctxt "as monthly period"
|
1638 |
msgid "mo"
|
1639 |
msgstr "mese"
|
1640 |
|
1641 |
-
#: includes/i18n.php:
|
1642 |
msgctxt "as once a year"
|
1643 |
msgid "Annual"
|
1644 |
msgstr "Annuale"
|
1645 |
|
1646 |
-
#: includes/i18n.php:
|
1647 |
msgctxt "as once a year"
|
1648 |
msgid "Annually"
|
1649 |
msgstr "Annualmente"
|
1650 |
|
1651 |
-
#: includes/i18n.php:
|
1652 |
msgctxt "as once a year"
|
1653 |
msgid "Once"
|
1654 |
msgstr "Una volta"
|
1655 |
|
1656 |
-
#: includes/i18n.php:
|
1657 |
msgctxt "as annual period"
|
1658 |
msgid "year"
|
1659 |
msgstr "anno"
|
1660 |
|
1661 |
-
#: includes/i18n.php:
|
1662 |
msgid "Lifetime"
|
1663 |
msgstr "Tutta la vita"
|
1664 |
|
1665 |
-
#: includes/i18n.php:
|
1666 |
msgctxt "e.g. the best product"
|
1667 |
msgid "Best"
|
1668 |
msgstr "Migliore"
|
1669 |
|
1670 |
-
#: includes/i18n.php:
|
1671 |
msgctxt "e.g. billed monthly"
|
1672 |
msgid "Billed %s"
|
1673 |
msgstr "Fatturato %s"
|
1674 |
|
1675 |
-
#: includes/i18n.php:
|
1676 |
msgctxt "as a discount of $5 or 10%"
|
1677 |
msgid "Save %s"
|
1678 |
msgstr "Risparmia %s"
|
1679 |
|
1680 |
-
#: includes/i18n.php:
|
1681 |
msgid "View details"
|
1682 |
msgstr "Visualizza dettagli"
|
1683 |
|
1684 |
-
#: includes/i18n.php:
|
1685 |
msgctxt "button label"
|
1686 |
msgid "Approve & Start Trial"
|
1687 |
msgstr "Approva e inizia il periodo di prova gratuito"
|
1688 |
|
1689 |
-
#: includes/i18n.php:
|
1690 |
-
msgid ""
|
1691 |
-
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1692 |
-
"plan."
|
1693 |
msgstr "Sei a un clic di distanza dall'iniziare il tuo periodo di prova gratuito di %1$s giorni per il piano %2$s."
|
1694 |
|
1695 |
-
#: includes/i18n.php:
|
1696 |
-
msgid ""
|
1697 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1698 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1699 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1700 |
-
"updates and to validate your trial."
|
1701 |
msgstr "Per seguire le linee guida di WordPress, prima di iniziare il periodo di prova ti chiediamo di iscriverti con il tuo utente e i dati non sensibili inerenti al tuo sito, così da permettere periodicamente al plugin di inviare dati a %s per poter controllare la presenza di nuove versioni e convalidare il tuo periodo di prova gratuito."
|
1702 |
|
1703 |
-
#: includes/i18n.php:
|
1704 |
msgid "Business name"
|
1705 |
msgstr "Nome della compagnia"
|
1706 |
|
1707 |
-
#: includes/i18n.php:
|
1708 |
msgid "Tax / VAT ID"
|
1709 |
msgstr "Numero Partita Iva o VAT"
|
1710 |
|
1711 |
-
#: includes/i18n.php:
|
1712 |
msgid "Address Line %d"
|
1713 |
msgstr "Riga indirizzo %d"
|
1714 |
|
1715 |
-
#: includes/i18n.php:
|
1716 |
msgid "Country"
|
1717 |
msgstr "Nazione"
|
1718 |
|
1719 |
-
#: includes/i18n.php:
|
1720 |
msgid "Select Country"
|
1721 |
msgstr "Seleziona Nazione"
|
1722 |
|
1723 |
-
#: includes/i18n.php:
|
1724 |
msgid "City"
|
1725 |
msgstr "Città"
|
1726 |
|
1727 |
-
#: includes/i18n.php:
|
1728 |
msgid "Town"
|
1729 |
msgstr "Cittadina"
|
1730 |
|
1731 |
-
#: includes/i18n.php:
|
1732 |
msgid "State"
|
1733 |
msgstr "Stato"
|
1734 |
|
1735 |
-
#: includes/i18n.php:
|
1736 |
msgid "Province"
|
1737 |
msgstr "Provincia"
|
1738 |
|
1739 |
-
#: includes/i18n.php:
|
1740 |
msgid "ZIP / Postal Code"
|
1741 |
msgstr "CAP"
|
1742 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1743 |
#: includes/i18n.php:479
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1744 |
msgctxt "Plugin installer section title"
|
1745 |
msgid "Description"
|
1746 |
msgstr "Descrizione"
|
1747 |
|
1748 |
-
#: includes/i18n.php:
|
1749 |
msgctxt "Plugin installer section title"
|
1750 |
msgid "Installation"
|
1751 |
msgstr "Installazione"
|
1752 |
|
1753 |
-
#: includes/i18n.php:
|
1754 |
msgctxt "Plugin installer section title"
|
1755 |
msgid "FAQ"
|
1756 |
msgstr "FAQ"
|
1757 |
|
1758 |
-
#: includes/i18n.php:
|
1759 |
msgctxt "Plugin installer section title"
|
1760 |
msgid "Changelog"
|
1761 |
msgstr "Changelog"
|
1762 |
|
1763 |
-
#: includes/i18n.php:
|
1764 |
msgctxt "Plugin installer section title"
|
1765 |
msgid "Reviews"
|
1766 |
msgstr "Recensioni"
|
1767 |
|
1768 |
-
#: includes/i18n.php:
|
1769 |
msgctxt "Plugin installer section title"
|
1770 |
msgid "Other Notes"
|
1771 |
msgstr "Altre note"
|
1772 |
|
1773 |
-
#: includes/i18n.php:
|
1774 |
msgid "%s star"
|
1775 |
msgstr "%s stella"
|
1776 |
|
1777 |
-
#: includes/i18n.php:
|
1778 |
msgid "%s stars"
|
1779 |
msgstr "%s stelle"
|
1780 |
|
1781 |
-
#: includes/i18n.php:
|
1782 |
msgid "%s rating"
|
1783 |
msgstr "%s valutazione"
|
1784 |
|
1785 |
-
#: includes/i18n.php:
|
1786 |
msgid "%s ratings"
|
1787 |
msgstr "%s valutazioni"
|
1788 |
|
1789 |
-
#: includes/i18n.php:
|
1790 |
msgid "%s time"
|
1791 |
msgstr "% volta"
|
1792 |
|
1793 |
-
#: includes/i18n.php:
|
1794 |
msgid "%s times"
|
1795 |
msgstr "%s volte"
|
1796 |
|
1797 |
-
#: includes/i18n.php:
|
1798 |
msgid "Click to see reviews that provided a rating of %s"
|
1799 |
msgstr "Fai clic per vedere le recensioni che hanno fornito una valutazione di %s"
|
1800 |
|
1801 |
-
#: includes/i18n.php:
|
1802 |
msgid "Last Updated"
|
1803 |
msgstr "Ultimo aggiornamento"
|
1804 |
|
1805 |
-
#: includes/i18n.php:
|
1806 |
msgid "Requires WordPress Version:"
|
1807 |
msgstr "Richiede la versione di WordPress:"
|
1808 |
|
1809 |
-
#: includes/i18n.php:
|
1810 |
msgctxt "as the plugin author"
|
1811 |
msgid "Author:"
|
1812 |
msgstr "Autore:"
|
1813 |
|
1814 |
-
#: includes/i18n.php:
|
1815 |
msgid "Compatible up to:"
|
1816 |
msgstr "Compatibile fino a:"
|
1817 |
|
1818 |
-
#: includes/i18n.php:
|
1819 |
msgid "Downloaded:"
|
1820 |
msgstr "Scaricato:"
|
1821 |
|
1822 |
-
#: includes/i18n.php:
|
1823 |
msgid "WordPress.org Plugin Page"
|
1824 |
msgstr "Pagina dei plugin di WordPress.org"
|
1825 |
|
1826 |
-
#: includes/i18n.php:
|
1827 |
msgid "Plugin Homepage"
|
1828 |
msgstr "Homepage del plugin"
|
1829 |
|
1830 |
-
#: includes/i18n.php:
|
1831 |
msgid "Donate to this plugin"
|
1832 |
msgstr "Fai una donazione a questo plugin"
|
1833 |
|
1834 |
-
#: includes/i18n.php:
|
1835 |
msgid "Average Rating"
|
1836 |
msgstr "Valutazione media"
|
1837 |
|
1838 |
-
#: includes/i18n.php:
|
1839 |
msgid "based on %s"
|
1840 |
msgstr "basato su %s"
|
1841 |
|
1842 |
-
#: includes/i18n.php:
|
1843 |
msgid "Warning:"
|
1844 |
msgstr "Avviso:"
|
1845 |
|
1846 |
-
#: includes/i18n.php:
|
1847 |
msgid "Contributors"
|
1848 |
msgstr "Contributori"
|
1849 |
|
1850 |
-
#: includes/i18n.php:
|
1851 |
msgid "Plugin Install"
|
1852 |
msgstr "Installazione del plugin"
|
1853 |
|
1854 |
-
#: includes/i18n.php:
|
1855 |
-
msgid ""
|
1856 |
-
"This plugin has not been tested with your current version of WordPress."
|
1857 |
msgstr "Questo plugin non è stato testato con la versione corrente di WordPress."
|
1858 |
|
1859 |
-
#: includes/i18n.php:
|
1860 |
-
msgid ""
|
1861 |
-
"This plugin has not been marked as compatible with your version of "
|
1862 |
-
"WordPress."
|
1863 |
msgstr "Questo plugin non è stato segnato come compatibile con la tua versione di WordPress."
|
1864 |
|
1865 |
-
#: includes/i18n.php:
|
1866 |
msgid "Newer Version (%s) Installed"
|
1867 |
msgstr "Versione più recente (%s) installata"
|
1868 |
|
1869 |
-
#: includes/i18n.php:
|
1870 |
msgid "Latest Version Installed"
|
1871 |
msgstr "Versione più recente installata"
|
10 |
"Project-Id-Version: WordPress SDK\n"
|
11 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
12 |
"POT-Creation-Date: \n"
|
13 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
14 |
+
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
15 |
+
"Language: it_IT\n"
|
16 |
"Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
|
|
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
19 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20 |
+
"MIME-Version: 1.0\n"
|
21 |
"X-Poedit-Basepath: ..\n"
|
22 |
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
23 |
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
25 |
"X-Poedit-SourceCharset: UTF-8\n"
|
26 |
|
27 |
+
#: includes/i18n.php:37
|
28 |
msgid "Account"
|
29 |
msgstr "Account"
|
30 |
|
31 |
+
#: includes/i18n.php:38
|
32 |
msgid "Add On"
|
33 |
msgstr "Add-on"
|
34 |
|
35 |
+
#: includes/i18n.php:39
|
36 |
msgid "Contact Us"
|
37 |
msgstr "Contattaci"
|
38 |
|
39 |
+
#: includes/i18n.php:40
|
40 |
msgid "Contact Support"
|
41 |
msgstr "Contatta il supporto"
|
42 |
|
43 |
+
#: includes/i18n.php:41
|
44 |
msgid "Change Ownership"
|
45 |
msgstr "Cambia Proprietario"
|
46 |
|
47 |
+
#: includes/i18n.php:42
|
48 |
msgid "Support"
|
49 |
msgstr "Supporto"
|
50 |
|
51 |
+
#: includes/i18n.php:43
|
52 |
msgid "Support Forum"
|
53 |
msgstr "Forum di supporto"
|
54 |
|
55 |
+
#: includes/i18n.php:44
|
56 |
msgid "Add Ons"
|
57 |
msgstr "Add-on"
|
58 |
|
59 |
+
#: includes/i18n.php:45
|
60 |
msgctxt "verb"
|
61 |
msgid "Upgrade"
|
62 |
msgstr "Aggiornamento"
|
63 |
|
64 |
+
#: includes/i18n.php:46
|
65 |
msgid "Awesome"
|
66 |
msgstr "Fantastico"
|
67 |
|
68 |
+
#: includes/i18n.php:47
|
69 |
msgctxt "noun"
|
70 |
msgid "Pricing"
|
71 |
msgstr "Prezzi"
|
72 |
|
73 |
+
#: includes/i18n.php:48
|
74 |
msgctxt "noun"
|
75 |
msgid "Price"
|
76 |
msgstr "Prezzo"
|
77 |
|
78 |
+
#: includes/i18n.php:49
|
79 |
msgid "Unlimited Updates"
|
80 |
msgstr "Aggiornamenti Illimitati"
|
81 |
|
82 |
+
#: includes/i18n.php:50
|
83 |
msgctxt "verb"
|
84 |
msgid "Downgrade"
|
85 |
msgstr "Downgrade"
|
86 |
|
87 |
+
#: includes/i18n.php:51
|
88 |
+
msgctxt "verb"
|
89 |
+
msgid "Cancel Subscription"
|
90 |
+
msgstr "Cancel Subscription"
|
91 |
+
|
92 |
+
#: includes/i18n.php:52
|
93 |
msgid "Cancel Trial"
|
94 |
msgstr "Annulla prova gratuita"
|
95 |
|
96 |
+
#: includes/i18n.php:53
|
97 |
msgid "Free Trial"
|
98 |
msgstr "Prova gratuita"
|
99 |
|
100 |
+
#: includes/i18n.php:54
|
101 |
msgid "Start my free %s"
|
102 |
msgstr "Inizia la mia %s"
|
103 |
|
104 |
+
#: includes/i18n.php:55
|
105 |
msgid "No commitment for %s - cancel anytime"
|
106 |
msgstr "Nessun impegno con %s - cancella quando vuoi"
|
107 |
|
108 |
+
#: includes/i18n.php:56
|
109 |
msgid "After your free %s, pay as little as %s"
|
110 |
msgstr "Dopo il tuo %s gratuito, paghi solamente %s"
|
111 |
|
112 |
+
#: includes/i18n.php:57
|
113 |
msgid "Details"
|
114 |
msgstr "Dettagli"
|
115 |
|
116 |
+
#: includes/i18n.php:58
|
117 |
msgid "Account Details"
|
118 |
msgstr "Dettagli dell'account"
|
119 |
|
120 |
+
#: includes/i18n.php:59
|
121 |
msgctxt "verb"
|
122 |
msgid "Delete"
|
123 |
msgstr "Elimina"
|
124 |
|
125 |
+
#: includes/i18n.php:60
|
126 |
msgctxt "verb"
|
127 |
msgid "Show"
|
128 |
msgstr "Mostra"
|
129 |
|
130 |
+
#: includes/i18n.php:61
|
131 |
msgctxt "verb"
|
132 |
msgid "Hide"
|
133 |
msgstr "Nascondi"
|
134 |
|
135 |
+
#: includes/i18n.php:62
|
136 |
msgctxt "verb"
|
137 |
msgid "Edit"
|
138 |
msgstr "Modifica"
|
139 |
|
140 |
+
#: includes/i18n.php:63
|
141 |
msgctxt "verb"
|
142 |
msgid "Update"
|
143 |
msgstr "Aggiorna"
|
144 |
|
145 |
+
#: includes/i18n.php:64
|
146 |
msgid "Date"
|
147 |
msgstr "Data"
|
148 |
|
149 |
+
#: includes/i18n.php:65
|
150 |
msgid "Amount"
|
151 |
msgstr "Importo"
|
152 |
|
153 |
+
#: includes/i18n.php:66
|
154 |
msgid "Invoice"
|
155 |
msgstr "Fattura"
|
156 |
|
157 |
+
#: includes/i18n.php:67
|
158 |
msgid "Billing"
|
159 |
msgstr "Fatturazione"
|
160 |
|
161 |
+
#: includes/i18n.php:68
|
162 |
msgid "Payments"
|
163 |
msgstr "Pagamenti"
|
164 |
|
165 |
+
#: includes/i18n.php:69
|
166 |
msgid "Delete Account"
|
167 |
msgstr "Elimina Account"
|
168 |
|
169 |
+
#: includes/i18n.php:70
|
170 |
msgctxt "as close a window"
|
171 |
msgid "Dismiss"
|
172 |
msgstr "Chiudi"
|
173 |
|
174 |
+
#: includes/i18n.php:71
|
175 |
msgctxt "as product pricing plan"
|
176 |
msgid "Plan"
|
177 |
msgstr "Piano"
|
178 |
|
179 |
+
#: includes/i18n.php:72
|
180 |
msgid "Change Plan"
|
181 |
msgstr "Cambia piano"
|
182 |
|
183 |
+
#: includes/i18n.php:73
|
184 |
msgctxt "as download professional version"
|
185 |
msgid "Download %s Version"
|
186 |
msgstr "Scarica la versione %s"
|
187 |
|
188 |
+
#: includes/i18n.php:74
|
189 |
msgctxt "as download professional version now"
|
190 |
msgid "Download %s version now"
|
191 |
msgstr "Scarica la versione %s ora"
|
192 |
|
193 |
+
#: includes/i18n.php:75
|
194 |
msgctxt "as download latest version"
|
195 |
msgid "Download Latest"
|
196 |
msgstr "Scarica l'ultima versione"
|
197 |
|
198 |
+
#: includes/i18n.php:76
|
199 |
msgctxt "E.g. you have a professional license."
|
200 |
msgid "You have a %s license."
|
201 |
msgstr "Hai la licenza %s."
|
202 |
|
203 |
+
#: includes/i18n.php:77
|
204 |
msgid "New"
|
205 |
msgstr "Nuovo"
|
206 |
|
207 |
+
#: includes/i18n.php:78
|
208 |
msgid "Free"
|
209 |
msgstr "Gratuito"
|
210 |
|
211 |
+
#: includes/i18n.php:79
|
212 |
msgctxt "as trial plan"
|
213 |
msgid "Trial"
|
214 |
msgstr "Prova gratuita"
|
215 |
|
216 |
+
#: includes/i18n.php:80
|
217 |
msgctxt "as starting a trial plan"
|
218 |
msgid "Start Trial"
|
219 |
msgstr "Inizia il periodo di prova gratuito"
|
220 |
|
221 |
+
#: includes/i18n.php:81
|
222 |
msgctxt "verb"
|
223 |
msgid "Purchase"
|
224 |
msgstr "Acquisto"
|
225 |
|
226 |
+
#: includes/i18n.php:82
|
227 |
msgid "Purchase License"
|
228 |
msgstr "Acquista licenza"
|
229 |
|
230 |
+
#: includes/i18n.php:83
|
231 |
msgctxt "verb"
|
232 |
msgid "Buy"
|
233 |
msgstr "Compra"
|
234 |
|
235 |
+
#: includes/i18n.php:84
|
236 |
msgid "Buy License"
|
237 |
msgstr "Compra licenza"
|
238 |
|
239 |
+
#: includes/i18n.php:85
|
240 |
msgid "Single Site License"
|
241 |
msgstr "Licenza per sito singolo"
|
242 |
|
243 |
+
#: includes/i18n.php:86
|
244 |
msgid "Unlimited Licenses"
|
245 |
msgstr "Licenze illimitate"
|
246 |
|
247 |
+
#: includes/i18n.php:87
|
248 |
msgid "Up to %s Sites"
|
249 |
msgstr "Fino a %s siti"
|
250 |
|
251 |
+
#: includes/i18n.php:88
|
252 |
msgid "%sRenew your license now%s to access version %s features and support."
|
253 |
msgstr "%sRinnova la tua licenza ora%s per accedere a funzionalità e supporto della versione %s."
|
254 |
|
255 |
+
#: includes/i18n.php:89
|
256 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
257 |
msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
|
258 |
|
259 |
+
#: includes/i18n.php:90
|
260 |
msgctxt "e.g. Professional Plan"
|
261 |
msgid "%s Plan"
|
262 |
msgstr "Piano %s"
|
263 |
|
264 |
+
#: includes/i18n.php:91
|
265 |
msgid "You are just one step away - %s"
|
266 |
msgstr "Sei a un passo dalla fine - %s"
|
267 |
|
268 |
+
#: includes/i18n.php:92
|
269 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
270 |
msgid "Complete \"%s\" Activation Now"
|
271 |
msgstr "Completa l'attivazione di \"%s\" ora"
|
272 |
|
273 |
+
#: includes/i18n.php:94
|
274 |
msgid "We made a few tweaks to the plugin, %s"
|
275 |
msgstr "Abbiamo apportato alcune modifiche al plugin, %s"
|
276 |
|
277 |
+
#: includes/i18n.php:95
|
278 |
msgid "Opt-in to make \"%s\" Better!"
|
279 |
msgstr "Contribuisci a rendere \"%s\" migliore!"
|
280 |
|
281 |
+
#: includes/i18n.php:96
|
282 |
msgid "Error"
|
283 |
msgstr "Errore"
|
284 |
|
285 |
+
#: includes/i18n.php:97
|
286 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
287 |
msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
|
288 |
|
289 |
+
#: includes/i18n.php:100
|
290 |
msgctxt "as expiration date"
|
291 |
msgid "Expiration"
|
292 |
msgstr "Scadenza"
|
293 |
|
294 |
+
#: includes/i18n.php:101
|
295 |
msgctxt "as software license"
|
296 |
msgid "License"
|
297 |
msgstr "Licenza"
|
298 |
|
299 |
+
#: includes/i18n.php:102
|
300 |
msgid "not verified"
|
301 |
msgstr "non verificato"
|
302 |
|
303 |
+
#: includes/i18n.php:103
|
304 |
msgid "Verify Email"
|
305 |
msgstr "Verifica email"
|
306 |
|
307 |
+
#: includes/i18n.php:104
|
308 |
msgctxt "e.g. expires in 2 months"
|
309 |
msgid "Expires in %s"
|
310 |
msgstr "Scade in %s"
|
311 |
|
312 |
+
#: includes/i18n.php:105
|
313 |
msgctxt "e.g. auto renews in 2 months"
|
314 |
msgid "Auto renews in %s"
|
315 |
msgstr "Rinnovo automatico in %s"
|
316 |
|
317 |
+
#: includes/i18n.php:106
|
318 |
msgid "No expiration"
|
319 |
msgstr "Nessuna scadenza"
|
320 |
|
321 |
+
#: includes/i18n.php:107
|
322 |
msgid "Expired"
|
323 |
msgstr "Scaduto"
|
324 |
|
325 |
+
#: includes/i18n.php:108
|
326 |
msgid "Cancelled"
|
327 |
msgstr "Annullato"
|
328 |
|
329 |
+
#: includes/i18n.php:109
|
330 |
msgctxt "e.g. In 2 hours"
|
331 |
msgid "In %s"
|
332 |
msgstr "In %s"
|
333 |
|
334 |
+
#: includes/i18n.php:110
|
335 |
msgctxt "e.g. 2 min ago"
|
336 |
msgid "%s ago"
|
337 |
msgstr "%s fa"
|
338 |
|
339 |
+
#: includes/i18n.php:112
|
340 |
msgid "%s or higher"
|
341 |
msgstr "%s o superiore"
|
342 |
|
343 |
+
#: includes/i18n.php:113
|
344 |
msgctxt "as plugin version"
|
345 |
msgid "Version"
|
346 |
msgstr "Versione"
|
347 |
|
348 |
+
#: includes/i18n.php:114
|
349 |
msgid "Name"
|
350 |
msgstr "Nome"
|
351 |
|
352 |
+
#: includes/i18n.php:115
|
353 |
msgid "Email"
|
354 |
msgstr "Email"
|
355 |
|
356 |
+
#: includes/i18n.php:116
|
357 |
msgid "Email address"
|
358 |
msgstr "Indirizzo email"
|
359 |
|
360 |
+
#: includes/i18n.php:117
|
361 |
msgid "Verified"
|
362 |
msgstr "Verificato"
|
363 |
|
364 |
+
#: includes/i18n.php:118
|
365 |
msgid "Module"
|
366 |
msgstr "Modulo"
|
367 |
|
368 |
+
#: includes/i18n.php:119
|
369 |
msgid "Module Type"
|
370 |
msgstr "Tipo di modulo"
|
371 |
|
372 |
+
#: includes/i18n.php:120
|
373 |
msgid "Plugin"
|
374 |
msgstr "Plugin"
|
375 |
|
376 |
+
#: includes/i18n.php:121
|
377 |
msgid "Plugins"
|
378 |
msgstr "Plugin"
|
379 |
|
380 |
+
#: includes/i18n.php:122
|
381 |
msgid "Theme"
|
382 |
msgstr "Tema"
|
383 |
|
384 |
+
#: includes/i18n.php:123
|
385 |
msgid "Themes"
|
386 |
msgstr "Temi"
|
387 |
|
388 |
+
#: includes/i18n.php:124
|
389 |
msgctxt "as file/folder path"
|
390 |
msgid "Path"
|
391 |
msgstr "Percorso"
|
392 |
|
393 |
+
#: includes/i18n.php:125
|
394 |
msgid "Title"
|
395 |
msgstr "Titolo"
|
396 |
|
397 |
+
#: includes/i18n.php:126
|
398 |
msgid "Free version"
|
399 |
msgstr "Versione gratuita"
|
400 |
|
401 |
+
#: includes/i18n.php:127
|
402 |
msgid "Premium version"
|
403 |
msgstr "Versione premium"
|
404 |
|
405 |
+
#: includes/i18n.php:128
|
406 |
msgctxt "as WP plugin slug"
|
407 |
msgid "Slug"
|
408 |
msgstr "Slug"
|
409 |
|
410 |
+
#: includes/i18n.php:129
|
411 |
msgid "ID"
|
412 |
msgstr "ID"
|
413 |
|
414 |
+
#: includes/i18n.php:130
|
415 |
msgid "Users"
|
416 |
msgstr "Utenti"
|
417 |
|
418 |
+
#: includes/i18n.php:131
|
419 |
msgid "Plugin Installs"
|
420 |
msgstr "Installazioni Plugin"
|
421 |
|
422 |
+
#: includes/i18n.php:132
|
423 |
msgid "%s Installs"
|
424 |
msgstr "%s Installazioni"
|
425 |
|
426 |
+
#: includes/i18n.php:133
|
427 |
msgctxt "like websites"
|
428 |
msgid "Sites"
|
429 |
msgstr "Siti"
|
430 |
|
431 |
+
#: includes/i18n.php:134
|
432 |
msgid "User ID"
|
433 |
msgstr "ID utente"
|
434 |
|
435 |
+
#: includes/i18n.php:135
|
436 |
msgid "Site ID"
|
437 |
msgstr "ID del sito"
|
438 |
|
439 |
+
#: includes/i18n.php:136
|
440 |
msgid "Public Key"
|
441 |
msgstr "Chiave pubblica"
|
442 |
|
443 |
+
#: includes/i18n.php:137
|
444 |
msgid "Secret Key"
|
445 |
msgstr "Chiave segreta"
|
446 |
|
447 |
+
#: includes/i18n.php:138
|
448 |
msgctxt "as secret encryption key missing"
|
449 |
msgid "No Secret"
|
450 |
msgstr "Nessuna chiave"
|
451 |
|
452 |
+
#: includes/i18n.php:139
|
453 |
msgid "No ID"
|
454 |
msgstr "Nessun ID"
|
455 |
|
456 |
+
#: includes/i18n.php:140
|
457 |
msgctxt "as synchronize license"
|
458 |
msgid "Sync License"
|
459 |
msgstr "Sincronizza la licenza"
|
460 |
|
461 |
+
#: includes/i18n.php:141
|
462 |
msgctxt "as synchronize"
|
463 |
msgid "Sync"
|
464 |
msgstr "Sincronizza"
|
465 |
|
466 |
+
#: includes/i18n.php:142
|
467 |
msgid "Activate License"
|
468 |
msgstr "Attiva licenza"
|
469 |
|
470 |
+
#: includes/i18n.php:143
|
471 |
msgid "Activate Free Version"
|
472 |
msgstr "Attiva versione gratuita"
|
473 |
|
474 |
+
#: includes/i18n.php:144
|
475 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
476 |
msgstr "Per favore inserisci la chiave di licenza che hai ricevuto via mail subito dopo l'acquisto:"
|
477 |
|
478 |
+
#: includes/i18n.php:145
|
479 |
msgid "Activating license..."
|
480 |
msgstr "Sto attivando la licenza..."
|
481 |
|
482 |
+
#: includes/i18n.php:146
|
483 |
msgid "Change License"
|
484 |
msgstr "Cambia licenza"
|
485 |
|
486 |
+
#: includes/i18n.php:147
|
487 |
msgid "Update License"
|
488 |
msgstr "Aggiorna licenza"
|
489 |
|
490 |
+
#: includes/i18n.php:148
|
491 |
msgid "Deactivate License"
|
492 |
msgstr "Disattiva licenza"
|
493 |
|
494 |
+
#: includes/i18n.php:149
|
495 |
msgid "Activate"
|
496 |
msgstr "Attiva"
|
497 |
|
498 |
+
#: includes/i18n.php:150
|
499 |
msgid "Deactivate"
|
500 |
msgstr "Disattiva"
|
501 |
|
502 |
+
#: includes/i18n.php:151
|
503 |
msgid "Skip & Deactivate"
|
504 |
msgstr "Salta e disattiva"
|
505 |
|
506 |
+
#: includes/i18n.php:152
|
507 |
msgid "Skip & %s"
|
508 |
msgstr "Salta & %s"
|
509 |
|
510 |
+
#: includes/i18n.php:153
|
511 |
msgid "No - just deactivate"
|
512 |
msgstr "No - disattiva e basta"
|
513 |
|
514 |
+
#: includes/i18n.php:154
|
515 |
msgid "Yes - do your thing"
|
516 |
msgstr "Sì - fai pure"
|
517 |
|
518 |
+
#: includes/i18n.php:155
|
519 |
msgctxt "active mode"
|
520 |
msgid "Active"
|
521 |
msgstr "Attiva"
|
522 |
|
523 |
+
#: includes/i18n.php:156
|
524 |
msgctxt "is active mode?"
|
525 |
msgid "Is Active"
|
526 |
msgstr "è attiva"
|
527 |
|
528 |
+
#: includes/i18n.php:157
|
529 |
msgid "Install Now"
|
530 |
msgstr "Installa ora"
|
531 |
|
532 |
+
#: includes/i18n.php:158
|
533 |
msgid "Install Update Now"
|
534 |
msgstr "Installa l'aggiornamento ora"
|
535 |
|
536 |
+
#: includes/i18n.php:159
|
537 |
msgid "More information about %s"
|
538 |
msgstr "Ulteriori informazioni su %s"
|
539 |
|
540 |
+
#: includes/i18n.php:160
|
541 |
msgid "Localhost"
|
542 |
msgstr "Localhost"
|
543 |
|
544 |
+
#: includes/i18n.php:161
|
545 |
msgctxt "as activate Professional plan"
|
546 |
msgid "Activate %s Plan"
|
547 |
msgstr "Attivare il piano %s"
|
548 |
|
549 |
+
#: includes/i18n.php:162
|
550 |
msgctxt "as 5 licenses left"
|
551 |
msgid "%s left"
|
552 |
msgstr "%s rimanenti"
|
553 |
|
554 |
+
#: includes/i18n.php:163
|
555 |
msgid "Last license"
|
556 |
msgstr "Ultima licenza"
|
557 |
|
558 |
+
#: includes/i18n.php:164
|
559 |
msgid "What is your %s?"
|
560 |
msgstr "Qual è il tuo %s?"
|
561 |
|
562 |
+
#: includes/i18n.php:165
|
563 |
msgid "Activate this add-on"
|
564 |
msgstr "Attivare questo addon"
|
565 |
|
566 |
+
#: includes/i18n.php:166
|
567 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
568 |
msgstr "La disattivazione della licenza bloccherà tutte le funzionalità premium, ma vi permetterà di attivare la licenza su un altro sito. Sei sicuro di voler procedere?"
|
569 |
|
570 |
+
#: includes/i18n.php:167
|
571 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
572 |
msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
|
573 |
|
574 |
+
#: includes/i18n.php:168
|
575 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
576 |
msgstr "L'eliminazione non è temporanea. Cancella solo se non si desidera più utilizzare questo plugin. Sei sicuro di voler continuare con l'eliminazione?"
|
577 |
|
578 |
+
#: includes/i18n.php:169
|
579 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
580 |
msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
|
581 |
|
582 |
+
#: includes/i18n.php:170
|
583 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
584 |
msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
|
585 |
|
586 |
+
#: includes/i18n.php:171
|
587 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
588 |
msgstr "Puoi ancora sfruttare tutte le funzionalità di %s, ma non avrai accesso al supporto ed agli aggiornamenti del plugin."
|
589 |
|
590 |
+
#: includes/i18n.php:172
|
591 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
592 |
msgstr "Quando la tua licenza scadrà, potrai comunque continuare a usare la versione gratuita, ma NON avrai accesso alle funzionalità %s."
|
593 |
|
594 |
+
#: includes/i18n.php:173
|
595 |
msgid "Are you sure you want to proceed?"
|
596 |
msgstr "Sei sicuro di voler procedere?"
|
597 |
|
598 |
+
#: includes/i18n.php:176
|
599 |
msgid "Add Ons for %s"
|
600 |
msgstr "Add-on per %s"
|
601 |
|
602 |
+
#: includes/i18n.php:177
|
603 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
604 |
msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
|
605 |
|
606 |
+
#: includes/i18n.php:179
|
607 |
msgid "Anonymous feedback"
|
608 |
msgstr "Feedback anonimo"
|
609 |
|
610 |
+
#: includes/i18n.php:180
|
611 |
msgid "Quick feedback"
|
612 |
msgstr "Feedback veloce"
|
613 |
|
614 |
+
#: includes/i18n.php:181
|
615 |
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
msgstr "Se hai un momento, potresti dirci perché lo hai disattivato?"
|
617 |
|
618 |
+
#: includes/i18n.php:182
|
619 |
msgid "Yes - Deactivate"
|
620 |
msgstr "Si - Disattiva"
|
621 |
|
622 |
+
#: includes/i18n.php:183
|
623 |
msgid "Submit & Deactivate"
|
624 |
msgstr "Invia & Disattiva"
|
625 |
|
626 |
+
#: includes/i18n.php:184
|
627 |
msgid "Cancel"
|
628 |
msgstr "Annulla"
|
629 |
|
630 |
+
#: includes/i18n.php:185
|
631 |
msgid "I no longer need the plugin"
|
632 |
msgstr "Non ho piú bisogno di questo plugin"
|
633 |
|
634 |
+
#: includes/i18n.php:186
|
635 |
msgid "I found a better plugin"
|
636 |
msgstr "Ho trovato un plugin migliore"
|
637 |
|
638 |
+
#: includes/i18n.php:187
|
639 |
msgid "I only needed the plugin for a short period"
|
640 |
msgstr "Avevo bisogno del plugin solo per un breve periodo"
|
641 |
|
642 |
+
#: includes/i18n.php:188
|
643 |
msgid "The plugin broke my site"
|
644 |
msgstr "Il plugin ha causato problemi al mio sito"
|
645 |
|
646 |
+
#: includes/i18n.php:189
|
647 |
msgid "The plugin suddenly stopped working"
|
648 |
msgstr "Il plugin ha smesso di funzionare"
|
649 |
|
650 |
+
#: includes/i18n.php:190
|
651 |
msgid "I can't pay for it anymore"
|
652 |
msgstr "Non posso piú pagarlo"
|
653 |
|
654 |
+
#: includes/i18n.php:191
|
655 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
msgstr "È una disattivazione temporanea. Sto solo cercando di risolvere un problema."
|
657 |
|
658 |
+
#: includes/i18n.php:192
|
659 |
msgctxt ""
|
|
|
|
|
660 |
msgid "Other"
|
661 |
msgstr "Altro"
|
662 |
|
663 |
+
#: includes/i18n.php:194
|
664 |
msgid "Kindly tell us the reason so we can improve."
|
665 |
msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
|
666 |
|
667 |
+
#: includes/i18n.php:195
|
668 |
msgid "What's the plugin's name?"
|
669 |
msgstr "Qual è il nome del plugin?"
|
670 |
|
671 |
+
#: includes/i18n.php:196
|
672 |
msgid "What price would you feel comfortable paying?"
|
673 |
msgstr "Che prezzo ritieni opportuno pagare?"
|
674 |
|
675 |
+
#: includes/i18n.php:197
|
676 |
msgid "I couldn't understand how to make it work"
|
677 |
msgstr "Non capisco come farlo funzionare"
|
678 |
|
679 |
+
#: includes/i18n.php:198
|
680 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
|
|
681 |
msgstr "Il plugin é ottimo ma ho bisogno di una funzionalitá specifica che non é supportata"
|
682 |
|
683 |
+
#: includes/i18n.php:199
|
684 |
msgid "The plugin is not working"
|
685 |
msgstr "Il plugin non funziona"
|
686 |
|
687 |
+
#: includes/i18n.php:200
|
688 |
msgid "It's not what I was looking for"
|
689 |
msgstr "Non é quello che stavo cercando"
|
690 |
|
691 |
+
#: includes/i18n.php:201
|
692 |
msgid "The plugin didn't work as expected"
|
693 |
msgstr "Il plugin non funziona come mi aspettavo"
|
694 |
|
695 |
+
#: includes/i18n.php:202
|
696 |
msgid "What feature?"
|
697 |
msgstr "Quale funzionalitá?"
|
698 |
|
699 |
+
#: includes/i18n.php:203
|
700 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
701 |
msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
|
702 |
|
703 |
+
#: includes/i18n.php:204
|
704 |
msgid "What you've been looking for?"
|
705 |
msgstr "Che cosa stai cercando?"
|
706 |
|
707 |
+
#: includes/i18n.php:205
|
708 |
msgid "What did you expect?"
|
709 |
msgstr "Che cosa ti aspettavi?"
|
710 |
|
711 |
+
#: includes/i18n.php:206
|
712 |
msgid "The plugin didn't work"
|
713 |
msgstr "Il plugin non funziona"
|
714 |
|
715 |
+
#: includes/i18n.php:207
|
716 |
msgid "I don't like to share my information with you"
|
717 |
msgstr "Non voglio condividere i miei dati con te"
|
718 |
|
719 |
+
#: includes/i18n.php:208
|
720 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
721 |
msgstr "Potresti non averci fatto caso, ma non sei obbligato a condividere i tuoi dati e puoi semplicemente %s la tua partecipazione."
|
722 |
|
723 |
+
#: includes/i18n.php:212
|
724 |
msgctxt "greeting"
|
725 |
msgid "Hey %s,"
|
726 |
msgstr "Hey %s,"
|
727 |
|
728 |
+
#: includes/i18n.php:213
|
729 |
msgctxt "a greeting. E.g. Thanks John!"
|
730 |
msgid "Thanks %s!"
|
731 |
msgstr "Grazie %s!"
|
732 |
|
733 |
+
#: includes/i18n.php:214
|
734 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
735 |
msgstr "Non perdere nessun aggiornamento importante - iscriviti per ricevere notifiche su aggiornamenti relativi alla sicurezza e nuove versioni, oltre al tracciamento di diagnostica non sensibile con %4$s."
|
736 |
|
737 |
+
#: includes/i18n.php:215
|
738 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
739 |
msgstr "Aiutaci a migliorare %1$s! Se ti iscrivi, alcuni dati riguardanti il tuo utilizzo di %1$s verranno inviati a %4$s. Se salti questo passaggio, non c'è problema! %1$s funzionerà ugualmente."
|
740 |
|
741 |
+
#: includes/i18n.php:216
|
742 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
743 |
msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per %s."
|
744 |
|
745 |
+
#: includes/i18n.php:217
|
746 |
msgid "complete the install"
|
747 |
msgstr "completa l'installazione"
|
748 |
|
749 |
+
#: includes/i18n.php:218
|
750 |
msgid "start the trial"
|
751 |
msgstr "Inizia il periodo di prova gratuito"
|
752 |
|
753 |
+
#: includes/i18n.php:219
|
754 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
755 |
msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
|
756 |
|
757 |
+
#: includes/i18n.php:220
|
758 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
759 |
msgstr "Il plugin invierà dati periodicamente a %s per controllare l'esistenza di aggiornamenti e verificare la validità della tua licenza."
|
760 |
|
761 |
+
#: includes/i18n.php:221
|
762 |
msgid "What permissions are being granted?"
|
763 |
msgstr "Quali autorizzazioni vengono concesse?"
|
764 |
|
765 |
+
#: includes/i18n.php:222
|
766 |
msgid "Your Profile Overview"
|
767 |
msgstr "Panoramica del tuo profilo"
|
768 |
|
769 |
+
#: includes/i18n.php:223
|
770 |
msgid "Name and email address"
|
771 |
msgstr "Nome ed indirizzo email"
|
772 |
|
773 |
+
#: includes/i18n.php:224
|
774 |
msgid "Your Site Overview"
|
775 |
msgstr "Panoramica del tuo sito"
|
776 |
|
777 |
+
#: includes/i18n.php:225
|
778 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
779 |
msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
|
780 |
|
781 |
+
#: includes/i18n.php:226
|
782 |
msgid "Current Plugin Events"
|
783 |
msgstr "Eventi correnti del plugin"
|
784 |
|
785 |
+
#: includes/i18n.php:227
|
786 |
msgid "Activation, deactivation and uninstall"
|
787 |
msgstr "Attiva, disattivazione e disinstallazione"
|
788 |
|
789 |
+
#: includes/i18n.php:228
|
790 |
msgid "Plugins & Themes"
|
791 |
msgstr "Plugin e temi"
|
792 |
|
793 |
+
#: includes/i18n.php:229
|
794 |
msgid "Titles, versions and state."
|
795 |
msgstr "Titoli, versioni e stato."
|
796 |
|
797 |
+
#: includes/i18n.php:230
|
798 |
msgid "Admin Notices"
|
799 |
msgstr "Avvisi amministratore"
|
800 |
|
801 |
+
#: includes/i18n.php:231
|
802 |
msgid "Newsletter"
|
803 |
msgstr "Newsletter"
|
804 |
|
805 |
+
#: includes/i18n.php:232
|
806 |
msgid "Updates, announcements, marketing, no spam"
|
807 |
msgstr "Aggiornamenti, annunci, marketing, no spam"
|
808 |
|
809 |
+
#: includes/i18n.php:233
|
810 |
msgid "Privacy Policy"
|
811 |
msgstr "Politica sulla privacy"
|
812 |
|
813 |
+
#: includes/i18n.php:234
|
814 |
msgid "Terms of Service"
|
815 |
msgstr "Termini del Servizio"
|
816 |
|
817 |
+
#: includes/i18n.php:235
|
818 |
msgctxt "as activating plugin"
|
819 |
msgid "Activating"
|
820 |
msgstr "Attivazione"
|
821 |
|
822 |
+
#: includes/i18n.php:236
|
823 |
msgctxt "as in the process of sending an email"
|
824 |
msgid "Sending email"
|
825 |
msgstr "Invio email"
|
826 |
|
827 |
+
#: includes/i18n.php:237
|
828 |
msgctxt "button label"
|
829 |
msgid "Allow & Continue"
|
830 |
msgstr "Consenti & Continua"
|
831 |
|
832 |
+
#: includes/i18n.php:238
|
833 |
msgctxt "button label"
|
834 |
msgid "Agree & Activate License"
|
835 |
msgstr "Accetta e attiva la licenza"
|
836 |
|
837 |
+
#: includes/i18n.php:239
|
838 |
msgctxt "verb"
|
839 |
msgid "Skip"
|
840 |
msgstr "Salta"
|
841 |
|
842 |
+
#: includes/i18n.php:240
|
843 |
msgid "Click here to use the plugin anonymously"
|
844 |
msgstr "Fai clic qui per usare il plugin anonimamente"
|
845 |
|
846 |
+
#: includes/i18n.php:241
|
847 |
msgid "Re-send activation email"
|
848 |
msgstr "Invia nuovamente l'email di attivazione"
|
849 |
|
850 |
+
#: includes/i18n.php:242
|
851 |
msgid "License key"
|
852 |
msgstr "Chiave di licenza"
|
853 |
|
854 |
+
#: includes/i18n.php:243
|
855 |
msgid "Send License Key"
|
856 |
msgstr "Invia chiave di licenza"
|
857 |
|
858 |
+
#: includes/i18n.php:244
|
859 |
msgid "Sending license key"
|
860 |
msgstr "Invio chiave di licenza"
|
861 |
|
862 |
+
#: includes/i18n.php:245
|
863 |
msgid "Have a license key?"
|
864 |
msgstr "Hai una chiave di licenza?"
|
865 |
|
866 |
+
#: includes/i18n.php:246
|
867 |
msgid "Don't have a license key?"
|
868 |
msgstr "Non hai una chiave di licenza?"
|
869 |
|
870 |
+
#: includes/i18n.php:247
|
871 |
msgid "Can't find your license key?"
|
872 |
msgstr "Non trovi la tua chiave di licenza?"
|
873 |
|
874 |
+
#: includes/i18n.php:248
|
875 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
876 |
msgstr "Non siamo riusciti a trovare il tuo indirizzo email nel sistema, sei sicuro che sia l'indirizzo giusto?"
|
877 |
|
878 |
+
#: includes/i18n.php:249
|
879 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
880 |
msgstr "Non siamo riusciti a trovare alcuna licenza attiva associata al tuo indirizzo email, sei sicuro che sia l'indirizzo giusto?"
|
881 |
|
882 |
+
#: includes/i18n.php:250
|
883 |
msgid "Opt In"
|
884 |
msgstr "Iscriviti"
|
885 |
|
886 |
+
#: includes/i18n.php:251
|
887 |
msgid "Opt Out"
|
888 |
msgstr "Cancella iscrizione"
|
889 |
|
890 |
+
#: includes/i18n.php:252
|
891 |
msgid "On second thought - I want to continue helping"
|
892 |
msgstr "Ci ho ripensato, voglio continuare a fornire il mio aiuto"
|
893 |
|
894 |
+
#: includes/i18n.php:253
|
895 |
msgid "Opting out..."
|
896 |
msgstr "Cancellamento dell'iscrizione..."
|
897 |
|
898 |
+
#: includes/i18n.php:254
|
899 |
msgid "Opting in..."
|
900 |
msgstr "Iscrizione in corso..."
|
901 |
|
902 |
+
#: includes/i18n.php:255
|
903 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
904 |
msgstr "Ti ringraziamo per averci concesso di tracciare alcuni dati di utilizzo al fine di migliorare %s"
|
905 |
|
906 |
+
#: includes/i18n.php:256
|
907 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
908 |
msgstr "Tracciamo l'utilizzo esclusivamente per rendere %s migliore, creando una migliore esperienza utente e dando priorità a nuove funzionalità, oltre a molte altre buone cose. Saremmo veramente felici di vederti cambiare idea e lasciarci continuare con il tracciamento."
|
909 |
|
910 |
+
#: includes/i18n.php:257
|
911 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
|
|
|
|
912 |
msgstr "Cliccando su \"Cancella iscrizione\", non invieremo più nessuna informazione da %s a %s."
|
913 |
|
914 |
+
#: includes/i18n.php:261
|
915 |
msgid "Screenshots"
|
916 |
msgstr "Screenshots"
|
917 |
|
918 |
+
#: includes/i18n.php:262
|
919 |
msgid "Click to view full-size screenshot %d"
|
920 |
msgstr "Fare clic per visualizzare lo screenshot in grandi dimensioni %d"
|
921 |
|
922 |
+
#: includes/i18n.php:266
|
923 |
msgid "Freemius Debug"
|
924 |
msgstr "Debug Freemius"
|
925 |
|
926 |
+
#: includes/i18n.php:267
|
927 |
msgctxt "as turned on"
|
928 |
msgid "On"
|
929 |
msgstr "Attivo"
|
930 |
|
931 |
+
#: includes/i18n.php:268
|
932 |
msgctxt "as turned off"
|
933 |
msgid "Off"
|
934 |
msgstr "Non attivo"
|
935 |
|
936 |
+
#: includes/i18n.php:269
|
937 |
msgctxt "as code debugging"
|
938 |
msgid "Debugging"
|
939 |
msgstr "Debugging"
|
940 |
|
941 |
+
#: includes/i18n.php:270
|
942 |
msgid "Freemius State"
|
943 |
msgstr "Stato di Freemius"
|
944 |
|
945 |
+
#: includes/i18n.php:271
|
946 |
msgctxt "as connection was successful"
|
947 |
msgid "Connected"
|
948 |
msgstr "Connesso"
|
949 |
|
950 |
+
#: includes/i18n.php:272
|
951 |
msgctxt "as connection blocked"
|
952 |
msgid "Blocked"
|
953 |
msgstr "Bloccato"
|
954 |
|
955 |
+
#: includes/i18n.php:273
|
956 |
msgctxt "as application program interface"
|
957 |
msgid "API"
|
958 |
msgstr "API"
|
959 |
|
960 |
+
#: includes/i18n.php:274
|
961 |
msgctxt "as software development kit versions"
|
962 |
msgid "SDK"
|
963 |
msgstr "SDK"
|
964 |
|
965 |
+
#: includes/i18n.php:275
|
966 |
msgctxt "as software development kit versions"
|
967 |
msgid "SDK Versions"
|
968 |
msgstr "Versioni SDK"
|
969 |
|
970 |
+
#: includes/i18n.php:276
|
971 |
msgctxt "as plugin folder path"
|
972 |
msgid "Plugin Path"
|
973 |
msgstr "Percorso del plugin"
|
974 |
|
975 |
+
#: includes/i18n.php:277
|
976 |
msgctxt "as sdk path"
|
977 |
msgid "SDK Path"
|
978 |
msgstr "Percorso SDK"
|
979 |
|
980 |
+
#: includes/i18n.php:278
|
981 |
msgid "Add Ons of Plugin %s"
|
982 |
msgstr "Add-on del Plugin %s"
|
983 |
|
984 |
+
#: includes/i18n.php:279
|
985 |
msgid "Are you sure you want to delete all Freemius data?"
|
986 |
msgstr "Sei sicuro di voler eliminare tutti i dati di Freemius?"
|
987 |
|
988 |
+
#: includes/i18n.php:280
|
989 |
msgid "Actions"
|
990 |
msgstr "Azioni"
|
991 |
|
992 |
+
#: includes/i18n.php:281
|
993 |
msgid "Delete All Accounts"
|
994 |
msgstr "Eliminare tutti gli account"
|
995 |
|
996 |
+
#: includes/i18n.php:282
|
997 |
msgid "Start Fresh"
|
998 |
msgstr "Inizia da capo"
|
999 |
|
1000 |
+
#: includes/i18n.php:283
|
1001 |
msgid "Clear API Cache"
|
1002 |
msgstr "Elimina cache API"
|
1003 |
|
1004 |
+
#: includes/i18n.php:284
|
1005 |
msgid "Sync Data From Server"
|
1006 |
msgstr "Sincronizza i dati dal server"
|
1007 |
|
1008 |
+
#: includes/i18n.php:285
|
1009 |
msgid "Scheduled Crons"
|
1010 |
msgstr "Azioni programmate"
|
1011 |
|
1012 |
+
#: includes/i18n.php:286
|
1013 |
msgid "Cron Type"
|
1014 |
msgstr "Tipo di Cron"
|
1015 |
|
1016 |
+
#: includes/i18n.php:287
|
1017 |
msgid "Plugins & Themes Sync"
|
1018 |
msgstr "Sincronizzazione plugin e temi"
|
1019 |
|
1020 |
+
#: includes/i18n.php:288
|
1021 |
msgid "Licenses"
|
1022 |
msgstr "Licenze"
|
1023 |
|
1024 |
+
#: includes/i18n.php:289
|
1025 |
msgid "Debug Log"
|
1026 |
msgstr "Debug Log"
|
1027 |
|
1028 |
+
#: includes/i18n.php:290
|
1029 |
msgid "All"
|
1030 |
msgstr "Tutto"
|
1031 |
|
1032 |
+
#: includes/i18n.php:291
|
1033 |
msgid "File"
|
1034 |
msgstr "File"
|
1035 |
|
1036 |
+
#: includes/i18n.php:292
|
1037 |
msgid "Function"
|
1038 |
msgstr "Funzione"
|
1039 |
|
1040 |
+
#: includes/i18n.php:293
|
1041 |
msgid "Process ID"
|
1042 |
msgstr "ID processo"
|
1043 |
|
1044 |
+
#: includes/i18n.php:294
|
1045 |
msgid "Logger"
|
1046 |
msgstr "Logger"
|
1047 |
|
1048 |
+
#: includes/i18n.php:295
|
1049 |
msgid "Message"
|
1050 |
msgstr "Messaggio"
|
1051 |
|
1052 |
+
#: includes/i18n.php:296
|
1053 |
msgid "Download"
|
1054 |
msgstr "Download"
|
1055 |
|
1056 |
+
#: includes/i18n.php:297
|
1057 |
msgid "Filter"
|
1058 |
msgstr "Filtro"
|
1059 |
|
1060 |
+
#: includes/i18n.php:298
|
1061 |
msgid "Type"
|
1062 |
msgstr "Tipo"
|
1063 |
|
1064 |
+
#: includes/i18n.php:299
|
1065 |
msgid "All Types"
|
1066 |
msgstr "Tutti i tipi"
|
1067 |
|
1068 |
+
#: includes/i18n.php:300
|
1069 |
msgid "All Requests"
|
1070 |
msgstr "Tutte le richieste"
|
1071 |
|
1072 |
+
#: includes/i18n.php:304
|
1073 |
msgctxt "as congratulations"
|
1074 |
msgid "Congrats"
|
1075 |
msgstr "Congratulazioni"
|
1076 |
|
1077 |
+
#: includes/i18n.php:305
|
1078 |
msgctxt "exclamation"
|
1079 |
msgid "Oops"
|
1080 |
msgstr "Ops"
|
1081 |
|
1082 |
+
#: includes/i18n.php:306
|
1083 |
msgctxt "interjection expressing joy or exuberance"
|
1084 |
msgid "Yee-haw"
|
1085 |
msgstr "Evvai"
|
1086 |
|
1087 |
+
#: includes/i18n.php:307
|
1088 |
msgctxt ""
|
|
|
|
|
1089 |
msgid "W00t"
|
1090 |
msgstr "Forte"
|
1091 |
|
1092 |
+
#: includes/i18n.php:309
|
1093 |
msgctxt "a positive response"
|
1094 |
msgid "Right on"
|
1095 |
msgstr "Sì"
|
1096 |
|
1097 |
+
#: includes/i18n.php:310
|
1098 |
msgctxt ""
|
|
|
|
|
1099 |
msgid "Hmm"
|
1100 |
msgstr "Uhm"
|
1101 |
|
1102 |
+
#: includes/i18n.php:312
|
1103 |
msgid "O.K"
|
1104 |
msgstr "OK"
|
1105 |
|
1106 |
+
#: includes/i18n.php:313
|
1107 |
msgctxt "exclamation"
|
1108 |
msgid "Hey"
|
1109 |
msgstr "Hey"
|
1110 |
|
1111 |
+
#: includes/i18n.php:314
|
1112 |
msgctxt "advance notice of something that will need attention."
|
1113 |
msgid "Heads up"
|
1114 |
msgstr "Attenzione"
|
1115 |
|
1116 |
+
#: includes/i18n.php:319
|
1117 |
msgid "Seems like you got the latest release."
|
1118 |
msgstr "Sembra che tu abbia la versione più recente."
|
1119 |
|
1120 |
+
#: includes/i18n.php:320
|
1121 |
msgid "You are all good!"
|
1122 |
msgstr "Sei fantastico!"
|
1123 |
|
1124 |
+
#: includes/i18n.php:321
|
1125 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1126 |
msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
|
1127 |
|
1128 |
+
#: includes/i18n.php:322
|
1129 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1130 |
msgstr "Se vuoi cedere la proprietá dell'account del plugin a %s clicca su Cambia Proprietà."
|
1131 |
|
1132 |
+
#: includes/i18n.php:323
|
1133 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1134 |
msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
|
1135 |
|
1136 |
+
#: includes/i18n.php:324
|
1137 |
msgid "Your name was successfully updated."
|
1138 |
msgstr "Il tuo nome è stato aggiornato correttamente."
|
1139 |
|
1140 |
+
#: includes/i18n.php:325
|
1141 |
msgid "You have successfully updated your %s."
|
1142 |
msgstr "Hai aggiornato con successo il tuo %s."
|
1143 |
|
1144 |
+
#: includes/i18n.php:326
|
1145 |
msgid "Please provide your full name."
|
1146 |
msgstr "Per favore inserisci il tuo nome completo."
|
1147 |
|
1148 |
+
#: includes/i18n.php:327
|
1149 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1150 |
msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
|
1151 |
|
1152 |
+
#: includes/i18n.php:328
|
1153 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1154 |
msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
|
1155 |
|
1156 |
+
#: includes/i18n.php:329
|
1157 |
msgid "No credit card required"
|
1158 |
msgstr "Nessuna carta di credito richiesta"
|
1159 |
|
1160 |
+
#: includes/i18n.php:330
|
1161 |
msgid "Premium plugin version was successfully activated."
|
1162 |
msgstr "La versione Premium del plugin è stata attivata correttamente."
|
1163 |
|
1164 |
+
#: includes/i18n.php:331
|
1165 |
msgid "The upgrade of %s was successfully completed."
|
1166 |
msgstr "L'aggiornamento di %s è stato completato con successo."
|
1167 |
|
1168 |
+
#: includes/i18n.php:332
|
1169 |
msgid "Your account was successfully activated with the %s plan."
|
1170 |
msgstr "Il tuo account è stato attivato correttamente con il piano %s."
|
1171 |
|
1172 |
+
#: includes/i18n.php:333
|
1173 |
msgid "Download the latest %s version now"
|
1174 |
msgstr "Scarica l'ultima versione di %s"
|
1175 |
|
1176 |
+
#: includes/i18n.php:334
|
1177 |
msgid "Please follow these steps to complete the upgrade"
|
1178 |
msgstr "Segui i passi seguenti per completare l'aggiornamento"
|
1179 |
|
1180 |
+
#: includes/i18n.php:335
|
1181 |
msgid "Download the latest %s version"
|
1182 |
msgstr "Scarica l'ultima versione di %s"
|
1183 |
|
1184 |
+
#: includes/i18n.php:336
|
1185 |
msgid "Download the latest version"
|
1186 |
msgstr "Scarica l'ultima versione"
|
1187 |
|
1188 |
+
#: includes/i18n.php:337
|
1189 |
msgid "Deactivate the free version"
|
1190 |
msgstr "Disattiva la versione gratuita"
|
1191 |
|
1192 |
+
#: includes/i18n.php:338
|
1193 |
msgid "Upload and activate the downloaded version"
|
1194 |
msgstr "Carica e attiva la versione scaricata"
|
1195 |
|
1196 |
+
#: includes/i18n.php:339
|
1197 |
msgid "How to upload and activate?"
|
1198 |
msgstr "Come faccio a caricare ed attivare?"
|
1199 |
|
1200 |
+
#: includes/i18n.php:340
|
1201 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1202 |
msgid "%s Add-on was successfully purchased."
|
1203 |
msgstr "L' add-on %s è stato acquistato con successo."
|
1204 |
|
1205 |
+
#: includes/i18n.php:342
|
1206 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1207 |
msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
|
1208 |
|
1209 |
+
#: includes/i18n.php:343
|
1210 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1211 |
msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
|
1212 |
|
1213 |
+
#: includes/i18n.php:344
|
1214 |
msgid "Your plan was successfully upgraded."
|
1215 |
msgstr "Il piano è stato aggiornato con successo."
|
1216 |
|
1217 |
+
#: includes/i18n.php:345
|
1218 |
msgid "Your plan was successfully changed to %s."
|
1219 |
msgstr "Il piano è stato cambiato con successo a %s."
|
1220 |
|
1221 |
+
#: includes/i18n.php:346
|
1222 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
|
|
|
|
1223 |
msgstr "La licenza è scaduta. È comunque possibile continuare ad utilizzare il plugin gratuito per sempre."
|
1224 |
|
1225 |
+
#: includes/i18n.php:347
|
1226 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
|
|
|
|
1227 |
msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
|
1228 |
|
1229 |
+
#: includes/i18n.php:348
|
1230 |
msgid "Your trial has been successfully started."
|
1231 |
msgstr "La versione di prova è stata avviata correttamente."
|
1232 |
|
1233 |
+
#: includes/i18n.php:349
|
1234 |
msgid "Your license was successfully activated."
|
1235 |
msgstr "La tua licenza è stata attivata correttamente."
|
1236 |
|
1237 |
+
#: includes/i18n.php:350
|
1238 |
msgid "It looks like your site currently doesn't have an active license."
|
1239 |
msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
|
1240 |
|
1241 |
+
#: includes/i18n.php:351
|
1242 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
|
|
1243 |
msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
|
1244 |
|
1245 |
+
#: includes/i18n.php:352
|
1246 |
msgid "It looks like the license deactivation failed."
|
1247 |
msgstr "Sembra che la disattivazione della licenza non sia riuscita."
|
1248 |
|
1249 |
+
#: includes/i18n.php:353
|
1250 |
msgid "It looks like the license could not be activated."
|
1251 |
msgstr "Sembra che la licenza non possa essere attivata."
|
1252 |
|
1253 |
+
#: includes/i18n.php:354
|
1254 |
msgid "Error received from the server:"
|
1255 |
msgstr "Errore ricevuto dal server:"
|
1256 |
|
1257 |
+
#: includes/i18n.php:355
|
1258 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1259 |
msgstr "La versione di prova è scaduta. Si può comunque continuare a utilizzare tutte le nostre funzioni gratuite."
|
1260 |
|
1261 |
+
#: includes/i18n.php:356
|
1262 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
|
|
|
|
1263 |
msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
|
1264 |
|
1265 |
+
#: includes/i18n.php:357
|
1266 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1267 |
msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
|
1268 |
|
1269 |
+
#: includes/i18n.php:358
|
1270 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1271 |
msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
|
1272 |
|
1273 |
+
#: includes/i18n.php:359
|
1274 |
msgid "Your %s free trial was successfully cancelled."
|
1275 |
msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
|
1276 |
|
1277 |
+
#: includes/i18n.php:360
|
1278 |
msgctxt "%s - numeric version number"
|
1279 |
msgid "Version %s was released."
|
1280 |
msgstr "La versione %s é stata rilasciata."
|
1281 |
|
1282 |
+
#: includes/i18n.php:361
|
1283 |
msgid "Please download %s."
|
1284 |
msgstr "Scarica %s."
|
1285 |
|
1286 |
+
#: includes/i18n.php:362
|
1287 |
msgctxt "%s - plan name, as the latest professional version here"
|
1288 |
msgid "the latest %s version here"
|
1289 |
msgstr "l'ultima versione %s é quì"
|
1290 |
|
1291 |
+
#: includes/i18n.php:364
|
1292 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1293 |
msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
|
1294 |
|
1295 |
+
#: includes/i18n.php:365
|
1296 |
msgctxt "call to action"
|
1297 |
msgid "Start free trial"
|
1298 |
msgstr "Inizia il periodo di prova gratuito"
|
1299 |
|
1300 |
+
#: includes/i18n.php:366
|
1301 |
msgid "Starting trial"
|
1302 |
msgstr "Inizio del periodo di prova gratuito"
|
1303 |
|
1304 |
+
#: includes/i18n.php:367
|
1305 |
msgid "Please wait"
|
1306 |
msgstr "Attendere"
|
1307 |
|
1308 |
+
#: includes/i18n.php:368
|
1309 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1310 |
msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
|
1311 |
|
1312 |
+
#: includes/i18n.php:369
|
1313 |
msgid "You already utilized a trial before."
|
1314 |
msgstr "Hai già utilizzato una prova gratuita in passato."
|
1315 |
|
1316 |
+
#: includes/i18n.php:370
|
1317 |
msgid "You are already running the plugin in a trial mode."
|
1318 |
msgstr "Stai già usando il plugin in modalità di prova gratuita."
|
1319 |
|
1320 |
+
#: includes/i18n.php:371
|
1321 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1322 |
msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
|
1323 |
|
1324 |
+
#: includes/i18n.php:372
|
1325 |
msgid "Plan %s does not support a trial period."
|
1326 |
msgstr "Il piano %s non supporta il periodo di prova."
|
1327 |
|
1328 |
+
#: includes/i18n.php:373
|
1329 |
msgid "None of the plugin's plans supports a trial period."
|
1330 |
msgstr "Non esiste alcun piano del plugin che offra il periodo di prova."
|
1331 |
|
1332 |
+
#: includes/i18n.php:374
|
1333 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1334 |
msgstr "Errore inaspettato dell'API. Per favore contatta l'autore del plugin riportando il seguente errore."
|
1335 |
|
1336 |
+
#: includes/i18n.php:375
|
1337 |
msgid "No commitment for %s days - cancel anytime!"
|
1338 |
msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
|
1339 |
|
1340 |
+
#: includes/i18n.php:376
|
1341 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
|
|
|
|
1342 |
msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
|
1343 |
|
1344 |
+
#: includes/i18n.php:377
|
1345 |
msgid "Couldn't activate %s."
|
1346 |
msgstr "Non é stato possibile attivare %s."
|
1347 |
|
1348 |
+
#: includes/i18n.php:378
|
1349 |
msgid "Please contact us with the following message:"
|
1350 |
msgstr "Contattaci con il seguente messaggio:"
|
1351 |
|
1352 |
+
#: includes/i18n.php:379
|
1353 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1354 |
msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
|
1355 |
|
1356 |
+
#: includes/i18n.php:380
|
1357 |
msgid "Please contact us here"
|
1358 |
msgstr "Contattaci qui"
|
1359 |
|
1360 |
+
#: includes/i18n.php:381
|
1361 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
|
|
|
|
1362 |
msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
|
1363 |
|
1364 |
+
#: includes/i18n.php:384
|
1365 |
msgid "From unknown reason, the API connectivity test failed."
|
1366 |
msgstr "Il test di connettività dell'API ha fallito per motivi sconosciuti."
|
1367 |
|
1368 |
+
#: includes/i18n.php:385
|
1369 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1370 |
msgstr "Si tratta probabilmente di un problema nei nostri sistemi. Per esserne sicuri, potresti darci il permesso di effettuare un ulteriore test della connettività? "
|
1371 |
|
1372 |
+
#: includes/i18n.php:386
|
1373 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1374 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1375 |
|
1376 |
+
#: includes/i18n.php:387
|
1377 |
+
msgid "Disabled method(s):"
|
1378 |
+
msgstr "Disabled method(s):"
|
1379 |
+
|
1380 |
+
#: includes/i18n.php:388
|
1381 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1382 |
msgstr "Per un motivo sconosciuto, CloudFlare, il firewall che utilizziamo, blocca la connessione."
|
1383 |
|
1384 |
+
#: includes/i18n.php:389
|
1385 |
msgctxt "as pluginX requires an access to our API"
|
1386 |
msgid "%s requires an access to our API."
|
1387 |
msgstr "%s richiede un accesso alla nostra API."
|
1388 |
|
1389 |
+
#: includes/i18n.php:391
|
1390 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
|
|
|
|
1391 |
msgstr "Sembra che il tuo server stia usando Squid ACL (lista per il controllo degli accessi) il quale blocca la connessione."
|
1392 |
|
1393 |
+
#: includes/i18n.php:392
|
1394 |
msgid "I don't know what is Squid or ACL, help me!"
|
1395 |
msgstr "Non ho idea di cosa sia Squid o ACL, aiutami!"
|
1396 |
|
1397 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1398 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1399 |
msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
|
1400 |
|
1401 |
+
#: includes/i18n.php:394
|
1402 |
msgid "I'm a system administrator"
|
1403 |
msgstr "Sono un sistemista"
|
1404 |
|
1405 |
+
#: includes/i18n.php:395
|
1406 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
|
|
|
|
1407 |
msgstr "Perfetto, ora per favore aggiungi alla whitelist i seguenti domini: %s. Quando hai fatto, disattiva il plugin e riattivalo di nuovo."
|
1408 |
|
1409 |
+
#: includes/i18n.php:396
|
1410 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1411 |
msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
|
1412 |
|
1413 |
+
#: includes/i18n.php:398
|
1414 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1415 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1416 |
|
1417 |
+
#: includes/i18n.php:399
|
1418 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1419 |
msgstr "Siamo sicuri che sia un nostro problema e siamo più che felici di risolverlo per te al più presto. Per poter procedere abbiamo bisogno del tuo consenso."
|
1420 |
|
1421 |
+
#: includes/i18n.php:400
|
1422 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1423 |
msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo permesso."
|
1424 |
|
1425 |
+
#: includes/i18n.php:401
|
1426 |
msgid "Yes - I'm giving you a chance to fix it"
|
1427 |
msgstr "Sì - sto dandovi la possibilità di risolvere il problema"
|
1428 |
|
1429 |
+
#: includes/i18n.php:402
|
1430 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1431 |
msgstr "Faremo del nostro meglio per mettere il server in whitelist e risolvere il problema il prima possibile. Avrai un aggiornamento dello stato tramite email all'indirizzo %s."
|
1432 |
|
1433 |
+
#: includes/i18n.php:403
|
1434 |
msgid "Let's try your previous version"
|
1435 |
msgstr "Proviamo con la versione precedente"
|
1436 |
|
1437 |
+
#: includes/i18n.php:404
|
1438 |
msgid "Uninstall this version and install the previous one."
|
1439 |
msgstr "Disinstalla questa versione e installa quella precedente."
|
1440 |
|
1441 |
+
#: includes/i18n.php:405
|
1442 |
msgid "That's exhausting, please deactivate"
|
1443 |
msgstr "È estenuante, disattivalo"
|
1444 |
|
1445 |
+
#: includes/i18n.php:406
|
1446 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1447 |
msgstr "Capiamo la tua frustrazione e ci scusiamo per l'inconveniente. Speriamo di rivederti nuovamente in futuro."
|
1448 |
|
1449 |
+
#: includes/i18n.php:407
|
1450 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1451 |
msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
|
1452 |
|
1453 |
+
#: includes/i18n.php:408
|
1454 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1455 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1456 |
msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
|
1457 |
|
1458 |
+
#: includes/i18n.php:410
|
1459 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1460 |
msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
|
1461 |
|
1462 |
+
#: includes/i18n.php:413
|
1463 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1464 |
msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
|
1465 |
|
1466 |
+
#: includes/i18n.php:414
|
1467 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1468 |
msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
|
1469 |
|
1470 |
+
#: includes/i18n.php:415
|
1471 |
msgid "%s is the new owner of the account."
|
1472 |
msgstr "%s è il nuovo proprietario dell'account."
|
1473 |
|
1474 |
+
#: includes/i18n.php:417
|
1475 |
msgctxt "addonX cannot run without pluginY"
|
1476 |
msgid "%s cannot run without %s."
|
1477 |
msgstr "%s non può funzionare senza %s."
|
1478 |
|
1479 |
+
#: includes/i18n.php:419
|
1480 |
msgctxt "addonX cannot run..."
|
1481 |
msgid "%s cannot run without the plugin."
|
1482 |
msgstr "%s non può funzionare senza il plugin."
|
1483 |
|
1484 |
+
#: includes/i18n.php:420
|
1485 |
msgctxt "pluginX activation was successfully..."
|
1486 |
msgid "%s activation was successfully completed."
|
1487 |
msgstr "%s è stato attivato con successo."
|
1488 |
|
1489 |
+
#: includes/i18n.php:422
|
1490 |
msgctxt "Plugin installer section title"
|
1491 |
msgid "Features & Pricing"
|
1492 |
msgstr "Caratteristiche & prezzi"
|
1493 |
|
1494 |
+
#: includes/i18n.php:423
|
1495 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1496 |
msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
|
1497 |
|
1498 |
+
#: includes/i18n.php:424
|
1499 |
msgid "Paid add-on must be deployed to Freemius."
|
1500 |
msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
|
1501 |
|
1502 |
+
#: includes/i18n.php:428
|
1503 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1504 |
msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
|
1505 |
|
1506 |
+
#: includes/i18n.php:429
|
1507 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1508 |
msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
|
1509 |
|
1510 |
+
#: includes/i18n.php:434
|
1511 |
msgctxt "as every month"
|
1512 |
msgid "Monthly"
|
1513 |
msgstr "Mensilmente"
|
1514 |
|
1515 |
+
#: includes/i18n.php:435
|
1516 |
msgctxt "as monthly period"
|
1517 |
msgid "mo"
|
1518 |
msgstr "mese"
|
1519 |
|
1520 |
+
#: includes/i18n.php:436
|
1521 |
msgctxt "as once a year"
|
1522 |
msgid "Annual"
|
1523 |
msgstr "Annuale"
|
1524 |
|
1525 |
+
#: includes/i18n.php:437
|
1526 |
msgctxt "as once a year"
|
1527 |
msgid "Annually"
|
1528 |
msgstr "Annualmente"
|
1529 |
|
1530 |
+
#: includes/i18n.php:438
|
1531 |
msgctxt "as once a year"
|
1532 |
msgid "Once"
|
1533 |
msgstr "Una volta"
|
1534 |
|
1535 |
+
#: includes/i18n.php:439
|
1536 |
msgctxt "as annual period"
|
1537 |
msgid "year"
|
1538 |
msgstr "anno"
|
1539 |
|
1540 |
+
#: includes/i18n.php:440
|
1541 |
msgid "Lifetime"
|
1542 |
msgstr "Tutta la vita"
|
1543 |
|
1544 |
+
#: includes/i18n.php:441
|
1545 |
msgctxt "e.g. the best product"
|
1546 |
msgid "Best"
|
1547 |
msgstr "Migliore"
|
1548 |
|
1549 |
+
#: includes/i18n.php:442
|
1550 |
msgctxt "e.g. billed monthly"
|
1551 |
msgid "Billed %s"
|
1552 |
msgstr "Fatturato %s"
|
1553 |
|
1554 |
+
#: includes/i18n.php:443
|
1555 |
msgctxt "as a discount of $5 or 10%"
|
1556 |
msgid "Save %s"
|
1557 |
msgstr "Risparmia %s"
|
1558 |
|
1559 |
+
#: includes/i18n.php:445
|
1560 |
msgid "View details"
|
1561 |
msgstr "Visualizza dettagli"
|
1562 |
|
1563 |
+
#: includes/i18n.php:449
|
1564 |
msgctxt "button label"
|
1565 |
msgid "Approve & Start Trial"
|
1566 |
msgstr "Approva e inizia il periodo di prova gratuito"
|
1567 |
|
1568 |
+
#: includes/i18n.php:451
|
1569 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
|
|
|
|
1570 |
msgstr "Sei a un clic di distanza dall'iniziare il tuo periodo di prova gratuito di %1$s giorni per il piano %2$s."
|
1571 |
|
1572 |
+
#: includes/i18n.php:453
|
1573 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1574 |
msgstr "Per seguire le linee guida di WordPress, prima di iniziare il periodo di prova ti chiediamo di iscriverti con il tuo utente e i dati non sensibili inerenti al tuo sito, così da permettere periodicamente al plugin di inviare dati a %s per poter controllare la presenza di nuove versioni e convalidare il tuo periodo di prova gratuito."
|
1575 |
|
1576 |
+
#: includes/i18n.php:459
|
1577 |
msgid "Business name"
|
1578 |
msgstr "Nome della compagnia"
|
1579 |
|
1580 |
+
#: includes/i18n.php:460
|
1581 |
msgid "Tax / VAT ID"
|
1582 |
msgstr "Numero Partita Iva o VAT"
|
1583 |
|
1584 |
+
#: includes/i18n.php:461
|
1585 |
msgid "Address Line %d"
|
1586 |
msgstr "Riga indirizzo %d"
|
1587 |
|
1588 |
+
#: includes/i18n.php:462
|
1589 |
msgid "Country"
|
1590 |
msgstr "Nazione"
|
1591 |
|
1592 |
+
#: includes/i18n.php:463
|
1593 |
msgid "Select Country"
|
1594 |
msgstr "Seleziona Nazione"
|
1595 |
|
1596 |
+
#: includes/i18n.php:464
|
1597 |
msgid "City"
|
1598 |
msgstr "Città"
|
1599 |
|
1600 |
+
#: includes/i18n.php:465
|
1601 |
msgid "Town"
|
1602 |
msgstr "Cittadina"
|
1603 |
|
1604 |
+
#: includes/i18n.php:466
|
1605 |
msgid "State"
|
1606 |
msgstr "Stato"
|
1607 |
|
1608 |
+
#: includes/i18n.php:467
|
1609 |
msgid "Province"
|
1610 |
msgstr "Provincia"
|
1611 |
|
1612 |
+
#: includes/i18n.php:468
|
1613 |
msgid "ZIP / Postal Code"
|
1614 |
msgstr "CAP"
|
1615 |
|
1616 |
+
#: includes/i18n.php:473
|
1617 |
+
msgid "Installing plugin: %s"
|
1618 |
+
msgstr "Installing plugin: %s"
|
1619 |
+
|
1620 |
+
#: includes/i18n.php:474
|
1621 |
+
msgid "Automatic Installation"
|
1622 |
+
msgstr "Automatic Installation"
|
1623 |
+
|
1624 |
+
#: includes/i18n.php:476
|
1625 |
+
msgid "%s sec"
|
1626 |
+
msgstr "%s sec"
|
1627 |
+
|
1628 |
+
#: includes/i18n.php:477
|
1629 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1630 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1631 |
+
|
1632 |
+
#: includes/i18n.php:478
|
1633 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1634 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1635 |
+
|
1636 |
#: includes/i18n.php:479
|
1637 |
+
msgid "Cancel Installation"
|
1638 |
+
msgstr "Cancel Installation"
|
1639 |
+
|
1640 |
+
#: includes/i18n.php:480
|
1641 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1642 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1643 |
+
|
1644 |
+
#: includes/i18n.php:481
|
1645 |
+
msgid "Invalid module ID."
|
1646 |
+
msgstr "Invalid module ID."
|
1647 |
+
|
1648 |
+
#: includes/i18n.php:482
|
1649 |
+
msgid "Auto installation only works for opted-in users."
|
1650 |
+
msgstr "Auto installation only works for opted-in users."
|
1651 |
+
|
1652 |
+
#: includes/i18n.php:483
|
1653 |
+
msgid "Premium version already active."
|
1654 |
+
msgstr "Premium version already active."
|
1655 |
+
|
1656 |
+
#: includes/i18n.php:484
|
1657 |
+
msgid "Premium add-on version already installed."
|
1658 |
+
msgstr "Premium add-on version already installed."
|
1659 |
+
|
1660 |
+
#: includes/i18n.php:485
|
1661 |
+
msgid "You do not have a valid license to access the premium version."
|
1662 |
+
msgstr "You do not have a valid license to access the premium version."
|
1663 |
+
|
1664 |
+
#: includes/i18n.php:486
|
1665 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1666 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1667 |
+
|
1668 |
+
#: includes/i18n.php:501
|
1669 |
msgctxt "Plugin installer section title"
|
1670 |
msgid "Description"
|
1671 |
msgstr "Descrizione"
|
1672 |
|
1673 |
+
#: includes/i18n.php:502
|
1674 |
msgctxt "Plugin installer section title"
|
1675 |
msgid "Installation"
|
1676 |
msgstr "Installazione"
|
1677 |
|
1678 |
+
#: includes/i18n.php:503
|
1679 |
msgctxt "Plugin installer section title"
|
1680 |
msgid "FAQ"
|
1681 |
msgstr "FAQ"
|
1682 |
|
1683 |
+
#: includes/i18n.php:504
|
1684 |
msgctxt "Plugin installer section title"
|
1685 |
msgid "Changelog"
|
1686 |
msgstr "Changelog"
|
1687 |
|
1688 |
+
#: includes/i18n.php:505
|
1689 |
msgctxt "Plugin installer section title"
|
1690 |
msgid "Reviews"
|
1691 |
msgstr "Recensioni"
|
1692 |
|
1693 |
+
#: includes/i18n.php:506
|
1694 |
msgctxt "Plugin installer section title"
|
1695 |
msgid "Other Notes"
|
1696 |
msgstr "Altre note"
|
1697 |
|
1698 |
+
#: includes/i18n.php:508
|
1699 |
msgid "%s star"
|
1700 |
msgstr "%s stella"
|
1701 |
|
1702 |
+
#: includes/i18n.php:510
|
1703 |
msgid "%s stars"
|
1704 |
msgstr "%s stelle"
|
1705 |
|
1706 |
+
#: includes/i18n.php:512
|
1707 |
msgid "%s rating"
|
1708 |
msgstr "%s valutazione"
|
1709 |
|
1710 |
+
#: includes/i18n.php:514
|
1711 |
msgid "%s ratings"
|
1712 |
msgstr "%s valutazioni"
|
1713 |
|
1714 |
+
#: includes/i18n.php:516
|
1715 |
msgid "%s time"
|
1716 |
msgstr "% volta"
|
1717 |
|
1718 |
+
#: includes/i18n.php:518
|
1719 |
msgid "%s times"
|
1720 |
msgstr "%s volte"
|
1721 |
|
1722 |
+
#: includes/i18n.php:520
|
1723 |
msgid "Click to see reviews that provided a rating of %s"
|
1724 |
msgstr "Fai clic per vedere le recensioni che hanno fornito una valutazione di %s"
|
1725 |
|
1726 |
+
#: includes/i18n.php:521
|
1727 |
msgid "Last Updated"
|
1728 |
msgstr "Ultimo aggiornamento"
|
1729 |
|
1730 |
+
#: includes/i18n.php:522
|
1731 |
msgid "Requires WordPress Version:"
|
1732 |
msgstr "Richiede la versione di WordPress:"
|
1733 |
|
1734 |
+
#: includes/i18n.php:523
|
1735 |
msgctxt "as the plugin author"
|
1736 |
msgid "Author:"
|
1737 |
msgstr "Autore:"
|
1738 |
|
1739 |
+
#: includes/i18n.php:524
|
1740 |
msgid "Compatible up to:"
|
1741 |
msgstr "Compatibile fino a:"
|
1742 |
|
1743 |
+
#: includes/i18n.php:525
|
1744 |
msgid "Downloaded:"
|
1745 |
msgstr "Scaricato:"
|
1746 |
|
1747 |
+
#: includes/i18n.php:526
|
1748 |
msgid "WordPress.org Plugin Page"
|
1749 |
msgstr "Pagina dei plugin di WordPress.org"
|
1750 |
|
1751 |
+
#: includes/i18n.php:527
|
1752 |
msgid "Plugin Homepage"
|
1753 |
msgstr "Homepage del plugin"
|
1754 |
|
1755 |
+
#: includes/i18n.php:528
|
1756 |
msgid "Donate to this plugin"
|
1757 |
msgstr "Fai una donazione a questo plugin"
|
1758 |
|
1759 |
+
#: includes/i18n.php:529
|
1760 |
msgid "Average Rating"
|
1761 |
msgstr "Valutazione media"
|
1762 |
|
1763 |
+
#: includes/i18n.php:530
|
1764 |
msgid "based on %s"
|
1765 |
msgstr "basato su %s"
|
1766 |
|
1767 |
+
#: includes/i18n.php:531
|
1768 |
msgid "Warning:"
|
1769 |
msgstr "Avviso:"
|
1770 |
|
1771 |
+
#: includes/i18n.php:532
|
1772 |
msgid "Contributors"
|
1773 |
msgstr "Contributori"
|
1774 |
|
1775 |
+
#: includes/i18n.php:533
|
1776 |
msgid "Plugin Install"
|
1777 |
msgstr "Installazione del plugin"
|
1778 |
|
1779 |
+
#: includes/i18n.php:534
|
1780 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
|
|
1781 |
msgstr "Questo plugin non è stato testato con la versione corrente di WordPress."
|
1782 |
|
1783 |
+
#: includes/i18n.php:535
|
1784 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
|
|
|
|
1785 |
msgstr "Questo plugin non è stato segnato come compatibile con la tua versione di WordPress."
|
1786 |
|
1787 |
+
#: includes/i18n.php:536
|
1788 |
msgid "Newer Version (%s) Installed"
|
1789 |
msgstr "Versione più recente (%s) installata"
|
1790 |
|
1791 |
+
#: includes/i18n.php:537
|
1792 |
msgid "Latest Version Installed"
|
1793 |
msgstr "Versione più recente installata"
|
freemius/languages/freemius-ja_JP.mo
CHANGED
Binary file
|
freemius/languages/freemius-ja_JP.po
CHANGED
@@ -1,1662 +1,1791 @@
|
|
1 |
-
#
|
|
|
2 |
# Translators:
|
3 |
# Odyssey <8bitodyssey+github@gmail.com>, 2016
|
4 |
# Takayuki Miyauchi <miya0001@users.noreply.github.com>, 2016
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
-
"Report-Msgid-Bugs-To: \n"
|
9 |
"POT-Creation-Date: \n"
|
10 |
-
"PO-Revision-Date: 2017-
|
11 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
12 |
"Language-Team: Japanese (Japan) (http://www.transifex.com/freemius/wordpress-sdk/language/ja_JP/)\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: \n"
|
15 |
-
"Language: ja_JP\n"
|
16 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
#: includes/i18n.
|
25 |
-
msgid "Not today"
|
26 |
-
msgstr "今日はやめておく"
|
27 |
-
|
28 |
-
#: includes/i18n.php:69
|
29 |
msgid "Account"
|
30 |
msgstr "アカウント"
|
31 |
|
32 |
-
#: includes/i18n.php:
|
33 |
msgid "Add On"
|
34 |
msgstr "アドオン"
|
35 |
|
36 |
-
#: includes/i18n.php:
|
37 |
msgid "Contact Us"
|
38 |
msgstr "連絡"
|
39 |
|
40 |
-
#: includes/i18n.php:
|
41 |
msgid "Contact Support"
|
42 |
msgstr "サポートに連絡"
|
43 |
|
44 |
-
#: includes/i18n.php:
|
45 |
msgid "Change Ownership"
|
46 |
msgstr "オーナーを変更"
|
47 |
|
48 |
-
#: includes/i18n.php:
|
49 |
msgid "Support"
|
50 |
msgstr "サポート"
|
51 |
|
52 |
-
#: includes/i18n.php:
|
53 |
msgid "Support Forum"
|
54 |
msgstr "サポートフォーラム"
|
55 |
|
56 |
-
#: includes/i18n.php:
|
57 |
msgid "Add Ons"
|
58 |
msgstr "アドオン"
|
59 |
|
60 |
-
#: includes/i18n.php:
|
61 |
msgctxt "verb"
|
62 |
msgid "Upgrade"
|
63 |
msgstr "アップグレード"
|
64 |
|
65 |
-
#: includes/i18n.php:
|
66 |
msgid "Awesome"
|
67 |
msgstr "すごい!"
|
68 |
|
69 |
-
#: includes/i18n.php:
|
70 |
msgctxt "noun"
|
71 |
msgid "Pricing"
|
72 |
msgstr "料金表"
|
73 |
|
74 |
-
#: includes/i18n.php:
|
75 |
msgctxt "noun"
|
76 |
msgid "Price"
|
77 |
msgstr "料金"
|
78 |
|
79 |
-
#: includes/i18n.php:
|
80 |
msgid "Unlimited Updates"
|
81 |
msgstr "無制限のアップデート"
|
82 |
|
83 |
-
#: includes/i18n.php:
|
84 |
msgctxt "verb"
|
85 |
msgid "Downgrade"
|
86 |
msgstr "ダウングレード"
|
87 |
|
88 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
89 |
msgid "Cancel Trial"
|
90 |
msgstr "トライアルをキャンセル"
|
91 |
|
92 |
-
#: includes/i18n.php:
|
93 |
msgid "Free Trial"
|
94 |
msgstr "フリートライアル"
|
95 |
|
96 |
-
#: includes/i18n.php:
|
97 |
msgid "Start my free %s"
|
98 |
msgstr "無料の %s を開始"
|
99 |
|
100 |
-
#: includes/i18n.php:
|
101 |
msgid "No commitment for %s - cancel anytime"
|
102 |
msgstr "%s の拘束はありません。いつでもキャンセルできます。"
|
103 |
|
104 |
-
#: includes/i18n.php:
|
105 |
msgid "After your free %s, pay as little as %s"
|
106 |
msgstr "無料の %s の後は、わずか %s だけお支払ください。"
|
107 |
|
108 |
-
#: includes/i18n.php:
|
109 |
msgid "Details"
|
110 |
msgstr "詳細"
|
111 |
|
112 |
-
#: includes/i18n.php:
|
113 |
msgid "Account Details"
|
114 |
msgstr "アカウント詳細"
|
115 |
|
116 |
-
#: includes/i18n.php:
|
117 |
msgctxt "verb"
|
118 |
msgid "Delete"
|
119 |
msgstr "削除"
|
120 |
|
121 |
-
#: includes/i18n.php:
|
122 |
msgctxt "verb"
|
123 |
msgid "Show"
|
124 |
msgstr "表示"
|
125 |
|
126 |
-
#: includes/i18n.php:
|
127 |
msgctxt "verb"
|
128 |
msgid "Hide"
|
129 |
msgstr "非表示"
|
130 |
|
131 |
-
#: includes/i18n.php:
|
132 |
msgctxt "verb"
|
133 |
msgid "Edit"
|
134 |
msgstr "編集"
|
135 |
|
136 |
-
#: includes/i18n.php:
|
137 |
msgctxt "verb"
|
138 |
msgid "Update"
|
139 |
msgstr "更新"
|
140 |
|
141 |
-
#: includes/i18n.php:
|
142 |
msgid "Date"
|
143 |
msgstr "日付"
|
144 |
|
145 |
-
#: includes/i18n.php:
|
146 |
msgid "Amount"
|
147 |
msgstr "総額"
|
148 |
|
149 |
-
#: includes/i18n.php:
|
150 |
msgid "Invoice"
|
151 |
msgstr "請求書"
|
152 |
|
153 |
-
#: includes/i18n.php:
|
154 |
msgid "Billing"
|
155 |
msgstr "請求書"
|
156 |
|
157 |
-
#: includes/i18n.php:
|
158 |
msgid "Payments"
|
159 |
msgstr "支払い"
|
160 |
|
161 |
-
#: includes/i18n.php:
|
162 |
msgid "Delete Account"
|
163 |
msgstr "アカウントを削除"
|
164 |
|
165 |
-
#: includes/i18n.php:
|
166 |
msgctxt "as close a window"
|
167 |
msgid "Dismiss"
|
168 |
msgstr "却下"
|
169 |
|
170 |
-
#: includes/i18n.php:
|
171 |
msgctxt "as product pricing plan"
|
172 |
msgid "Plan"
|
173 |
msgstr "プラン"
|
174 |
|
175 |
-
#: includes/i18n.php:
|
176 |
msgid "Change Plan"
|
177 |
msgstr "プラン変更"
|
178 |
|
179 |
-
#: includes/i18n.php:
|
180 |
msgctxt "as download professional version"
|
181 |
msgid "Download %s Version"
|
182 |
msgstr "%s バージョンをダウンロード"
|
183 |
|
184 |
-
#: includes/i18n.php:
|
185 |
msgctxt "as download professional version now"
|
186 |
msgid "Download %s version now"
|
187 |
msgstr "%s バージョンを今すぐダウンロード"
|
188 |
|
189 |
-
#: includes/i18n.php:
|
190 |
msgctxt "as download latest version"
|
191 |
msgid "Download Latest"
|
192 |
msgstr "最新版をダウンロード"
|
193 |
|
194 |
-
#: includes/i18n.php:
|
195 |
msgctxt "E.g. you have a professional license."
|
196 |
msgid "You have a %s license."
|
197 |
msgstr "%s ライセンスを持っています。"
|
198 |
|
199 |
-
#: includes/i18n.php:
|
200 |
msgid "New"
|
201 |
msgstr "新規"
|
202 |
|
203 |
-
#: includes/i18n.php:
|
204 |
msgid "Free"
|
205 |
msgstr "無料"
|
206 |
|
207 |
-
#: includes/i18n.php:
|
208 |
msgctxt "as trial plan"
|
209 |
msgid "Trial"
|
210 |
msgstr "トライアル"
|
211 |
|
212 |
-
#: includes/i18n.php:
|
213 |
msgctxt "as starting a trial plan"
|
214 |
msgid "Start Trial"
|
215 |
msgstr "トライアルを開始"
|
216 |
|
217 |
-
#: includes/i18n.php:
|
218 |
msgctxt "verb"
|
219 |
msgid "Purchase"
|
220 |
msgstr "購入"
|
221 |
|
222 |
-
#: includes/i18n.php:
|
223 |
msgid "Purchase License"
|
224 |
msgstr "ライセンスを購入"
|
225 |
|
226 |
-
#: includes/i18n.php:
|
227 |
msgctxt "verb"
|
228 |
msgid "Buy"
|
229 |
msgstr "買う"
|
230 |
|
231 |
-
#: includes/i18n.php:
|
232 |
msgid "Buy License"
|
233 |
msgstr "ライセンスを買う"
|
234 |
|
235 |
-
#: includes/i18n.php:
|
236 |
msgid "Single Site License"
|
237 |
msgstr "シングルサイトライセンス"
|
238 |
|
239 |
-
#: includes/i18n.php:
|
240 |
msgid "Unlimited Licenses"
|
241 |
msgstr "無制限ライセンス"
|
242 |
|
243 |
-
#: includes/i18n.php:
|
244 |
msgid "Up to %s Sites"
|
245 |
msgstr "%sサイトまで"
|
246 |
|
247 |
-
#: includes/i18n.php:
|
248 |
msgid "%sRenew your license now%s to access version %s features and support."
|
249 |
msgstr "%sいますぐライセンスを更新して%s バージョン %s の機能とサポートにアクセスする"
|
250 |
|
251 |
-
#: includes/i18n.php:
|
252 |
-
msgid ""
|
253 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
254 |
-
" you the license key."
|
255 |
msgstr "アップグレードに使用したメールアドレスを下に入力してください。そうすれば、ライセンスキーをお送りします。"
|
256 |
|
257 |
-
#: includes/i18n.php:
|
258 |
msgctxt "e.g. Professional Plan"
|
259 |
msgid "%s Plan"
|
260 |
msgstr "%s プラン"
|
261 |
|
262 |
-
#: includes/i18n.php:
|
263 |
msgid "You are just one step away - %s"
|
264 |
msgstr "もうあとわずかです - %s"
|
265 |
|
266 |
-
#: includes/i18n.php:
|
267 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
msgstr "すぐに \"%s\" 有効化を完了してください"
|
270 |
|
271 |
-
#: includes/i18n.php:
|
272 |
msgid "We made a few tweaks to the plugin, %s"
|
273 |
msgstr "プラグインを微調整します, %s"
|
274 |
|
275 |
-
#: includes/i18n.php:
|
276 |
msgid "Opt-in to make \"%s\" Better!"
|
277 |
msgstr "\"%s\" をより良くするためにオプトインしてください!"
|
278 |
|
279 |
-
#: includes/i18n.php:
|
280 |
msgid "Error"
|
281 |
msgstr "エラー"
|
282 |
|
283 |
-
#: includes/i18n.php:
|
284 |
-
msgid ""
|
285 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
286 |
-
"sdk@freemius.com with the current error."
|
287 |
msgstr "Freemius SDK がプラグインのメインファイルを見つけることができませんでした。現在のエラーを添えて sdk@freemius.com に連絡してください。"
|
288 |
|
289 |
-
#: includes/i18n.php:
|
290 |
msgctxt "as expiration date"
|
291 |
msgid "Expiration"
|
292 |
msgstr "期限切れ"
|
293 |
|
294 |
-
#: includes/i18n.php:
|
295 |
msgctxt "as software license"
|
296 |
msgid "License"
|
297 |
msgstr "ライセンス"
|
298 |
|
299 |
-
#: includes/i18n.php:
|
300 |
msgid "not verified"
|
301 |
msgstr "未認証"
|
302 |
|
303 |
-
#: includes/i18n.php:
|
304 |
msgid "Verify Email"
|
305 |
msgstr "認証メール"
|
306 |
|
307 |
-
#: includes/i18n.php:
|
308 |
msgctxt "e.g. expires in 2 months"
|
309 |
msgid "Expires in %s"
|
310 |
msgstr "%s で期間終了"
|
311 |
|
312 |
-
#: includes/i18n.php:
|
313 |
msgctxt "e.g. auto renews in 2 months"
|
314 |
msgid "Auto renews in %s"
|
315 |
msgstr "%s に自動更新"
|
316 |
|
317 |
-
#: includes/i18n.php:
|
318 |
msgid "No expiration"
|
319 |
msgstr "有効期限なし"
|
320 |
|
321 |
-
#: includes/i18n.php:
|
322 |
msgid "Expired"
|
323 |
msgstr "期限切れ"
|
324 |
|
325 |
-
#: includes/i18n.php:
|
326 |
msgid "Cancelled"
|
327 |
msgstr "キャンセル"
|
328 |
|
329 |
-
#: includes/i18n.php:
|
330 |
msgctxt "e.g. In 2 hours"
|
331 |
msgid "In %s"
|
332 |
msgstr "%s 内"
|
333 |
|
334 |
-
#: includes/i18n.php:
|
335 |
msgctxt "e.g. 2 min ago"
|
336 |
msgid "%s ago"
|
337 |
msgstr "%s 前"
|
338 |
|
339 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
340 |
msgctxt "as plugin version"
|
341 |
msgid "Version"
|
342 |
msgstr "バージョン"
|
343 |
|
344 |
-
#: includes/i18n.php:
|
345 |
msgid "Name"
|
346 |
msgstr "名前"
|
347 |
|
348 |
-
#: includes/i18n.php:
|
349 |
msgid "Email"
|
350 |
msgstr "Email"
|
351 |
|
352 |
-
#: includes/i18n.php:
|
353 |
msgid "Email address"
|
354 |
msgstr "メールアドレス"
|
355 |
|
356 |
-
#: includes/i18n.php:
|
357 |
msgid "Verified"
|
358 |
msgstr "認証済み"
|
359 |
|
360 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
msgid "Plugin"
|
362 |
msgstr "プラグイン"
|
363 |
|
364 |
-
#: includes/i18n.php:
|
365 |
msgid "Plugins"
|
366 |
msgstr "プラグイン"
|
367 |
|
368 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
369 |
msgid "Themes"
|
370 |
msgstr "テーマ"
|
371 |
|
372 |
-
#: includes/i18n.php:
|
373 |
msgctxt "as file/folder path"
|
374 |
msgid "Path"
|
375 |
msgstr "パス"
|
376 |
|
377 |
-
#: includes/i18n.php:
|
378 |
msgid "Title"
|
379 |
msgstr "タイトル"
|
380 |
|
381 |
-
#: includes/i18n.php:
|
382 |
msgid "Free version"
|
383 |
msgstr "フリーバージョン"
|
384 |
|
385 |
-
#: includes/i18n.php:
|
386 |
msgid "Premium version"
|
387 |
msgstr "プレミアムバージョン"
|
388 |
|
389 |
-
#: includes/i18n.php:
|
390 |
msgctxt "as WP plugin slug"
|
391 |
msgid "Slug"
|
392 |
msgstr "スラッグ"
|
393 |
|
394 |
-
#: includes/i18n.php:
|
395 |
msgid "ID"
|
396 |
msgstr "ID"
|
397 |
|
398 |
-
#: includes/i18n.php:
|
399 |
msgid "Users"
|
400 |
msgstr "ユーザー"
|
401 |
|
402 |
-
#: includes/i18n.php:
|
403 |
msgid "Plugin Installs"
|
404 |
msgstr "プラグインインストール数"
|
405 |
|
406 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
407 |
msgctxt "like websites"
|
408 |
msgid "Sites"
|
409 |
msgstr "サイト数"
|
410 |
|
411 |
-
#: includes/i18n.php:
|
412 |
msgid "User ID"
|
413 |
msgstr "ユーザー ID"
|
414 |
|
415 |
-
#: includes/i18n.php:
|
416 |
msgid "Site ID"
|
417 |
msgstr "サイト ID"
|
418 |
|
419 |
-
#: includes/i18n.php:
|
420 |
msgid "Public Key"
|
421 |
msgstr "公開鍵"
|
422 |
|
423 |
-
#: includes/i18n.php:
|
424 |
msgid "Secret Key"
|
425 |
msgstr "秘密鍵"
|
426 |
|
427 |
-
#: includes/i18n.php:
|
428 |
msgctxt "as secret encryption key missing"
|
429 |
msgid "No Secret"
|
430 |
msgstr "秘密鍵がありません"
|
431 |
|
432 |
-
#: includes/i18n.php:
|
433 |
msgid "No ID"
|
434 |
msgstr "ID がありません"
|
435 |
|
436 |
-
#: includes/i18n.php:
|
437 |
msgctxt "as synchronize license"
|
438 |
msgid "Sync License"
|
439 |
msgstr "ライセンスを同期"
|
440 |
|
441 |
-
#: includes/i18n.php:
|
442 |
msgctxt "as synchronize"
|
443 |
msgid "Sync"
|
444 |
msgstr "同期"
|
445 |
|
446 |
-
#: includes/i18n.php:
|
447 |
msgid "Activate License"
|
448 |
msgstr "ライセンスを有効化"
|
449 |
|
450 |
-
#: includes/i18n.php:
|
451 |
msgid "Activate Free Version"
|
452 |
msgstr "フリーバージョンを有効化"
|
453 |
|
454 |
-
#: includes/i18n.php:
|
455 |
-
msgid ""
|
456 |
-
"Please enter the license key that you received in the email right after the "
|
457 |
-
"purchase:"
|
458 |
msgstr "購入後すぐにメールで受け取ったライセンスキーを入力してください:"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgid "Activating license..."
|
462 |
msgstr "ライセンスを有効化中…"
|
463 |
|
464 |
-
#: includes/i18n.php:
|
465 |
msgid "Change License"
|
466 |
msgstr "ライセンスを変更"
|
467 |
|
468 |
-
#: includes/i18n.php:
|
469 |
msgid "Update License"
|
470 |
msgstr "ライセンスを更新"
|
471 |
|
472 |
-
#: includes/i18n.php:
|
473 |
msgid "Deactivate License"
|
474 |
msgstr "ライセンスを無効化"
|
475 |
|
476 |
-
#: includes/i18n.php:
|
477 |
msgid "Activate"
|
478 |
msgstr "有効化"
|
479 |
|
480 |
-
#: includes/i18n.php:
|
481 |
msgid "Deactivate"
|
482 |
msgstr "無効化"
|
483 |
|
484 |
-
#: includes/i18n.php:
|
485 |
msgid "Skip & Deactivate"
|
486 |
msgstr "スキップし、無効化"
|
487 |
|
488 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
489 |
msgid "No - just deactivate"
|
490 |
msgstr "いいえ - すぐに無効化"
|
491 |
|
492 |
-
#: includes/i18n.php:
|
493 |
msgid "Yes - do your thing"
|
494 |
msgstr "はい - お構いなく"
|
495 |
|
496 |
-
#: includes/i18n.php:
|
497 |
msgctxt "active mode"
|
498 |
msgid "Active"
|
499 |
msgstr "有効"
|
500 |
|
501 |
-
#: includes/i18n.php:
|
502 |
msgctxt "is active mode?"
|
503 |
msgid "Is Active"
|
504 |
msgstr "有効"
|
505 |
|
506 |
-
#: includes/i18n.php:
|
507 |
msgid "Install Now"
|
508 |
msgstr "今すぐインストール"
|
509 |
|
510 |
-
#: includes/i18n.php:
|
511 |
msgid "Install Update Now"
|
512 |
msgstr "今すぐ更新をインストール"
|
513 |
|
514 |
-
#: includes/i18n.php:
|
515 |
msgid "More information about %s"
|
516 |
msgstr "%s に関する詳細情報"
|
517 |
|
518 |
-
#: includes/i18n.php:
|
519 |
msgid "Localhost"
|
520 |
msgstr "localhost"
|
521 |
|
522 |
-
#: includes/i18n.php:
|
523 |
msgctxt "as activate Professional plan"
|
524 |
msgid "Activate %s Plan"
|
525 |
msgstr "%s プランを有効化"
|
526 |
|
527 |
-
#: includes/i18n.php:
|
528 |
msgctxt "as 5 licenses left"
|
529 |
msgid "%s left"
|
530 |
msgstr "あと %s"
|
531 |
|
532 |
-
#: includes/i18n.php:
|
533 |
msgid "Last license"
|
534 |
msgstr "最新のライセンス"
|
535 |
|
536 |
-
#: includes/i18n.php:
|
537 |
msgid "What is your %s?"
|
538 |
msgstr "自分の %s はなんですか?"
|
539 |
|
540 |
-
#: includes/i18n.php:
|
541 |
msgid "Activate this add-on"
|
542 |
msgstr "このアドオンを有効化"
|
543 |
|
544 |
-
#: includes/i18n.php:
|
545 |
-
msgid ""
|
546 |
-
"Deactivating your license will block all premium features, but will enable "
|
547 |
-
"you to activate the license on another site. Are you sure you want to "
|
548 |
-
"proceed?"
|
549 |
msgstr "ライセンスを無効化するとすべてのプレミアム機能が使えなくなりますが、他のサイトでライセンスを有効にすることができるようになります。本当に実行しますか?"
|
550 |
|
551 |
-
#: includes/i18n.php:
|
552 |
-
msgid ""
|
553 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
554 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
555 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
556 |
-
"account. Are you sure you would like to continue with the deletion?"
|
557 |
msgstr "アカウントを削除すると自動的に %s プランライセンスが無効になり、他のサイトで使うことができます。定期の支払いも終了したい場合は、\"キャンセル\"ボタンをクリックし、まずアカウントを\"ダウングレード\"してください。本当に削除を続行してもいいですか?"
|
558 |
|
559 |
-
#: includes/i18n.php:
|
560 |
-
msgid ""
|
561 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
562 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
563 |
msgstr "削除は一時的なものではありません。このプラグインを今後使いたくない場合にだけ削除してください。本当に削除を続行してもいいですか?"
|
564 |
|
565 |
-
#: includes/i18n.php:
|
566 |
-
msgid ""
|
567 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
568 |
-
"and your %s plan license will expire in %s."
|
569 |
msgstr "プランをダウングレードするとすぐに将来の定期の支払いはすべて停止し、%s プランライセンスは %s で期限切れとなります。"
|
570 |
|
571 |
-
#: includes/i18n.php:
|
572 |
-
msgid ""
|
573 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
574 |
-
"Are you sure?"
|
575 |
msgstr "トライアルをキャンセルするとすぐにすべてのプレミアム機能へのアクセスができなくなります。本当に実行しますか?"
|
576 |
|
577 |
-
#: includes/i18n.php:
|
578 |
-
msgid ""
|
579 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
580 |
-
"updates and support."
|
581 |
msgstr "すべての %s 機能をまだ楽しむことができますが、プラグインの更新とサポートにアクセスすることはできなくなります。"
|
582 |
|
583 |
-
#: includes/i18n.php:
|
584 |
-
msgid ""
|
585 |
-
"Once your license
|
586 |
-
" have access to the %s features."
|
587 |
-
msgstr "ライセンスが期限切れになるとフリーバージョンを使うことはできますが、%s 機能にアクセスすることはできなくなります。"
|
588 |
|
589 |
-
#: includes/i18n.php:
|
590 |
msgid "Are you sure you want to proceed?"
|
591 |
msgstr "本当に続行していいですか?"
|
592 |
|
593 |
-
#: includes/i18n.php:
|
594 |
msgid "Add Ons for %s"
|
595 |
msgstr "%s のアドオン"
|
596 |
|
597 |
-
#: includes/i18n.php:
|
598 |
-
msgid ""
|
599 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
600 |
-
"please try to come back in few minutes."
|
601 |
msgstr "アドオンリストを読み込むことができませんでした。おそらく運営側の問題になりますので、しばらくしてからお試しください。"
|
602 |
|
603 |
-
#: includes/i18n.php:
|
604 |
msgid "Anonymous feedback"
|
605 |
msgstr "匿名のフィードバック"
|
606 |
|
607 |
-
#: includes/i18n.php:
|
608 |
msgid "Quick feedback"
|
609 |
msgstr "クイックフィードバック"
|
610 |
|
611 |
-
#: includes/i18n.php:
|
612 |
msgid "If you have a moment, please let us know why you are deactivating"
|
613 |
msgstr "お時間があれば、なぜ無効化するのか理由を教えてください。"
|
614 |
|
615 |
-
#: includes/i18n.php:
|
616 |
msgid "Yes - Deactivate"
|
617 |
msgstr "はい - 無効化します"
|
618 |
|
619 |
-
#: includes/i18n.php:
|
620 |
msgid "Submit & Deactivate"
|
621 |
msgstr "送信し無効化"
|
622 |
|
623 |
-
#: includes/i18n.php:
|
624 |
msgid "Cancel"
|
625 |
msgstr "キャンセル"
|
626 |
|
627 |
-
#: includes/i18n.php:
|
628 |
msgid "I no longer need the plugin"
|
629 |
msgstr "もうプラグインを必要としていません"
|
630 |
|
631 |
-
#: includes/i18n.php:
|
632 |
msgid "I found a better plugin"
|
633 |
msgstr "もっと良いプラグインを見つけました"
|
634 |
|
635 |
-
#: includes/i18n.php:
|
636 |
msgid "I only needed the plugin for a short period"
|
637 |
msgstr "短期間プラグインを必要としていただけです"
|
638 |
|
639 |
-
#: includes/i18n.php:
|
640 |
msgid "The plugin broke my site"
|
641 |
msgstr "プラグインのせいでサイトが壊れました"
|
642 |
|
643 |
-
#: includes/i18n.php:
|
644 |
msgid "The plugin suddenly stopped working"
|
645 |
msgstr "プラグインはすぐに動かなくなりました"
|
646 |
|
647 |
-
#: includes/i18n.php:
|
648 |
msgid "I can't pay for it anymore"
|
649 |
msgstr "もう払うことができません"
|
650 |
|
651 |
-
#: includes/i18n.php:
|
652 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
653 |
msgstr "一時的な無効化です。問題をデバッグしているだけです。"
|
654 |
|
655 |
-
#: includes/i18n.php:
|
656 |
msgctxt ""
|
657 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
658 |
-
"in the modal box."
|
659 |
msgid "Other"
|
660 |
msgstr "その他"
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "Kindly tell us the reason so we can improve."
|
664 |
msgstr "改善できるよう、どうか理由を教えてください。"
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "What's the plugin's name?"
|
668 |
msgstr "プラグイン名は何ですか?"
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid "What price would you feel comfortable paying?"
|
672 |
msgstr " 支払ってもよいと思う価格はいくらですか?"
|
673 |
|
674 |
-
#: includes/i18n.php:
|
675 |
msgid "I couldn't understand how to make it work"
|
676 |
msgstr "どうしたら動作するか分かりませんでした。"
|
677 |
|
678 |
-
#: includes/i18n.php:
|
679 |
-
msgid ""
|
680 |
-
"The plugin is great, but I need specific feature that you don't support"
|
681 |
msgstr "プラグインは素晴らしいけれど、サポートしていないある機能を必要としています"
|
682 |
|
683 |
-
#: includes/i18n.php:
|
684 |
msgid "The plugin is not working"
|
685 |
msgstr "プラグインが動いていません"
|
686 |
|
687 |
-
#: includes/i18n.php:
|
688 |
msgid "It's not what I was looking for"
|
689 |
msgstr "探していたものではありません"
|
690 |
|
691 |
-
#: includes/i18n.php:
|
692 |
msgid "The plugin didn't work as expected"
|
693 |
msgstr "プラグインは期待通りには動きませんでした"
|
694 |
|
695 |
-
#: includes/i18n.php:
|
696 |
msgid "What feature?"
|
697 |
msgstr "何の機能ですか?"
|
698 |
|
699 |
-
#: includes/i18n.php:
|
700 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
701 |
msgstr "将来のユーザーのために修正できるよう、何が動作しなかったのかどうか共有してください…"
|
702 |
|
703 |
-
#: includes/i18n.php:
|
704 |
msgid "What you've been looking for?"
|
705 |
msgstr "探していたのは何ですか?"
|
706 |
|
707 |
-
#: includes/i18n.php:
|
708 |
msgid "What did you expect?"
|
709 |
msgstr "何を期待していましたか?"
|
710 |
|
711 |
-
#: includes/i18n.php:
|
712 |
msgid "The plugin didn't work"
|
713 |
msgstr "プラグインが動作しませんでした"
|
714 |
|
715 |
-
#: includes/i18n.php:
|
716 |
msgid "I don't like to share my information with you"
|
717 |
msgstr "自分の情報を共有したくありません"
|
718 |
|
719 |
-
#: includes/i18n.php:
|
720 |
-
msgid ""
|
721 |
-
"You might have missed it, but you don't have to share any data and can just "
|
722 |
-
"%s the opt-in."
|
723 |
msgstr "見逃していたかもしれませんが、どんな情報も共有する必要はなく、オプトインを $s することができます。 "
|
724 |
|
725 |
-
#: includes/i18n.php:
|
726 |
msgctxt "greeting"
|
727 |
msgid "Hey %s,"
|
728 |
msgstr "おおい %s さん、"
|
729 |
|
730 |
-
#: includes/i18n.php:
|
731 |
msgctxt "a greeting. E.g. Thanks John!"
|
732 |
msgid "Thanks %s!"
|
733 |
msgstr "ありがとう $s さん!"
|
734 |
|
735 |
-
#: includes/i18n.php:
|
736 |
-
msgid ""
|
737 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
738 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
739 |
msgstr "重要な更新を逃さないように - セキュリティとおすすめの更新通知、%4$s とセンシティブではない診断トラッキングをオプトイン"
|
740 |
|
741 |
-
#: includes/i18n.php:
|
742 |
-
msgid ""
|
743 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
744 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
745 |
-
"work just fine."
|
746 |
msgstr "%1$s を改善するのを手伝ってください。オプトインすれば、あなたの %1$s の使用に関するデータが %4$s へと送られます。これをスキップしても大丈夫です! %1$s は今でも素晴らしいでしょう。"
|
747 |
|
748 |
-
#: includes/i18n.php:
|
749 |
-
msgid ""
|
750 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
751 |
-
"make sure you click the activation button in that email to %s."
|
752 |
msgstr "%s のメールボックスに %s の有効化のメールを受け取っているはずです。%s のメールに記載された有効化ボタンをクリックしてください。"
|
753 |
|
754 |
-
#: includes/i18n.php:
|
755 |
msgid "complete the install"
|
756 |
msgstr "インストールを完了"
|
757 |
|
758 |
-
#: includes/i18n.php:
|
759 |
msgid "start the trial"
|
760 |
msgstr "トライアルを開始"
|
761 |
|
762 |
-
#: includes/i18n.php:
|
763 |
-
msgid ""
|
764 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
765 |
msgstr "%s を購入いただきありがとうございます。はじめにライセンスキーを入力してください:"
|
766 |
|
767 |
-
#: includes/i18n.php:
|
768 |
-
msgid ""
|
769 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
770 |
-
"updates and verify the validity of your license."
|
771 |
msgstr "プラグインはプラグインの更新をチェックし、ライセンスが有効か確認するために、%s に周期的にデータを送信します。"
|
772 |
|
773 |
-
#: includes/i18n.php:
|
774 |
msgid "What permissions are being granted?"
|
775 |
msgstr "付与されているパーミッションは何ですか?"
|
776 |
|
777 |
-
#: includes/i18n.php:
|
778 |
msgid "Your Profile Overview"
|
779 |
msgstr "プロフィール概要"
|
780 |
|
781 |
-
#: includes/i18n.php:
|
782 |
msgid "Name and email address"
|
783 |
msgstr "名前とメールアドレス"
|
784 |
|
785 |
-
#: includes/i18n.php:
|
786 |
msgid "Your Site Overview"
|
787 |
msgstr "サイト概要"
|
788 |
|
789 |
-
#: includes/i18n.php:
|
790 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
791 |
msgstr "サイト URL、WP バージョン、PHP info、プラグインとテーマ"
|
792 |
|
793 |
-
#: includes/i18n.php:
|
794 |
msgid "Current Plugin Events"
|
795 |
msgstr "現在のプラグインイベント"
|
796 |
|
797 |
-
#: includes/i18n.php:
|
798 |
msgid "Activation, deactivation and uninstall"
|
799 |
msgstr "有効化、無効化、アンインストール"
|
800 |
|
801 |
-
#: includes/i18n.php:
|
802 |
msgid "Plugins & Themes"
|
803 |
msgstr "プラグインとテーマ"
|
804 |
|
805 |
-
#: includes/i18n.php:
|
806 |
msgid "Titles, versions and state."
|
807 |
msgstr "タイトル、バージョン、状態"
|
808 |
|
809 |
-
#: includes/i18n.php:
|
810 |
msgid "Admin Notices"
|
811 |
msgstr "管理者通知"
|
812 |
|
813 |
-
#: includes/i18n.php:
|
814 |
msgid "Newsletter"
|
815 |
msgstr "ニュースレター"
|
816 |
|
817 |
-
#: includes/i18n.php:
|
818 |
msgid "Updates, announcements, marketing, no spam"
|
819 |
msgstr "更新、発表、マーケティング、スパムなし"
|
820 |
|
821 |
-
#: includes/i18n.php:
|
822 |
msgid "Privacy Policy"
|
823 |
msgstr "プライバシーポリシー"
|
824 |
|
825 |
-
#: includes/i18n.php:
|
826 |
msgid "Terms of Service"
|
827 |
msgstr "利用規約"
|
828 |
|
829 |
-
#: includes/i18n.php:
|
830 |
msgctxt "as activating plugin"
|
831 |
msgid "Activating"
|
832 |
msgstr "有効化中"
|
833 |
|
834 |
-
#: includes/i18n.php:
|
835 |
msgctxt "as in the process of sending an email"
|
836 |
msgid "Sending email"
|
837 |
msgstr "メール送信中"
|
838 |
|
839 |
-
#: includes/i18n.php:
|
840 |
msgctxt "button label"
|
841 |
msgid "Allow & Continue"
|
842 |
msgstr "許可して続ける"
|
843 |
|
844 |
-
#: includes/i18n.php:
|
845 |
msgctxt "button label"
|
846 |
msgid "Agree & Activate License"
|
847 |
msgstr "同意してライセンスを有効化"
|
848 |
|
849 |
-
#: includes/i18n.php:
|
850 |
msgctxt "verb"
|
851 |
msgid "Skip"
|
852 |
msgstr "スキップ"
|
853 |
|
854 |
-
#: includes/i18n.php:
|
855 |
msgid "Click here to use the plugin anonymously"
|
856 |
msgstr "匿名でプラグインを使用するにはこちらをクリック"
|
857 |
|
858 |
-
#: includes/i18n.php:
|
859 |
msgid "Re-send activation email"
|
860 |
msgstr "有効化メールを再送信"
|
861 |
|
862 |
-
#: includes/i18n.php:
|
863 |
msgid "License key"
|
864 |
msgstr "ライセンスキー"
|
865 |
|
866 |
-
#: includes/i18n.php:
|
867 |
msgid "Send License Key"
|
868 |
msgstr "ライセンスキーを送信"
|
869 |
|
870 |
-
#: includes/i18n.php:
|
871 |
msgid "Sending license key"
|
872 |
msgstr "ライセンスキーを送信中"
|
873 |
|
874 |
-
#: includes/i18n.php:
|
875 |
msgid "Have a license key?"
|
876 |
msgstr "ライセンスキーはお持ちですか?"
|
877 |
|
878 |
-
#: includes/i18n.php:
|
879 |
msgid "Don't have a license key?"
|
880 |
msgstr "ライセンスキーをお持ちではありませんか?"
|
881 |
|
882 |
-
#: includes/i18n.php:
|
883 |
msgid "Can't find your license key?"
|
884 |
msgstr "ライセンスキーは見つかりませんか?"
|
885 |
|
886 |
-
#: includes/i18n.php:
|
887 |
-
msgid ""
|
888 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
889 |
-
"right address?"
|
890 |
msgstr "システムではメールアドレスを見つけることができませんでした。メールアドレスが正しいか確認してください。"
|
891 |
|
892 |
-
#: includes/i18n.php:
|
893 |
-
msgid ""
|
894 |
-
"We can't see any active licenses associated with that email address, are you"
|
895 |
-
" sure it's the right address?"
|
896 |
msgstr "メールアドレスに関連付けられた有効なライセンスが見つかりません。メールアドレスが正しいか確認してください。"
|
897 |
|
898 |
-
#: includes/i18n.php:
|
899 |
msgid "Opt In"
|
900 |
msgstr "オプトイン"
|
901 |
|
902 |
-
#: includes/i18n.php:
|
903 |
msgid "Opt Out"
|
904 |
msgstr "オプトアウト"
|
905 |
|
906 |
-
#: includes/i18n.php:
|
907 |
msgid "On second thought - I want to continue helping"
|
908 |
msgstr "第二の考えで - 手伝い続けたいです"
|
909 |
|
910 |
-
#: includes/i18n.php:
|
911 |
msgid "Opting out..."
|
912 |
msgstr "オプトアウト中…"
|
913 |
|
914 |
-
#: includes/i18n.php:
|
915 |
msgid "Opting in..."
|
916 |
msgstr "オプトイン中…"
|
917 |
|
918 |
-
#: includes/i18n.php:
|
919 |
-
msgid ""
|
920 |
-
"We appreciate your help in making the %s better by letting us track some "
|
921 |
-
"usage data."
|
922 |
msgstr "使用データを追跡できるよう許可してくれたことで、%s をより良くするための手助けに感謝致します。"
|
923 |
|
924 |
-
#: includes/i18n.php:
|
925 |
-
msgid ""
|
926 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
927 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
928 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
929 |
msgstr "使用の追跡は %s をより良くする名目の下に行われています。ユーザー体験をより良くし、新機能に優先順位をつけるためなどに使います。追跡を続けてもよいと再考してくれるなら本当に感謝致します。"
|
930 |
|
931 |
-
#: includes/i18n.php:
|
932 |
-
msgid ""
|
933 |
-
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
934 |
-
"%s."
|
935 |
msgstr "\"オプトアウト\"をクリックすることで、もう %s から %s へのデータの送信は行いません。"
|
936 |
|
937 |
-
#: includes/i18n.php:
|
938 |
msgid "Screenshots"
|
939 |
msgstr "スクリーンショット"
|
940 |
|
941 |
-
#: includes/i18n.php:
|
942 |
msgid "Click to view full-size screenshot %d"
|
943 |
msgstr "クリックしてフルサイズのスクリーンショットを見る %d"
|
944 |
|
945 |
-
#: includes/i18n.php:
|
946 |
msgid "Freemius Debug"
|
947 |
msgstr "Freemius デバッグ"
|
948 |
|
949 |
-
#: includes/i18n.php:
|
950 |
msgctxt "as turned on"
|
951 |
msgid "On"
|
952 |
msgstr "オン"
|
953 |
|
954 |
-
#: includes/i18n.php:
|
955 |
msgctxt "as turned off"
|
956 |
msgid "Off"
|
957 |
msgstr "オフ"
|
958 |
|
959 |
-
#: includes/i18n.php:
|
960 |
msgctxt "as code debugging"
|
961 |
msgid "Debugging"
|
962 |
msgstr "デバッグ"
|
963 |
|
964 |
-
#: includes/i18n.php:
|
965 |
msgid "Freemius State"
|
966 |
msgstr "Freemius ステータス"
|
967 |
|
968 |
-
#: includes/i18n.php:
|
969 |
msgctxt "as connection was successful"
|
970 |
msgid "Connected"
|
971 |
msgstr "接続"
|
972 |
|
973 |
-
#: includes/i18n.php:
|
974 |
msgctxt "as connection blocked"
|
975 |
msgid "Blocked"
|
976 |
msgstr "ブロック"
|
977 |
|
978 |
-
#: includes/i18n.php:
|
979 |
msgctxt "as application program interface"
|
980 |
msgid "API"
|
981 |
msgstr "API"
|
982 |
|
983 |
-
#: includes/i18n.php:
|
984 |
msgctxt "as software development kit versions"
|
985 |
msgid "SDK"
|
986 |
msgstr "SDK"
|
987 |
|
988 |
-
#: includes/i18n.php:
|
989 |
msgctxt "as software development kit versions"
|
990 |
msgid "SDK Versions"
|
991 |
msgstr "SDK バージョン"
|
992 |
|
993 |
-
#: includes/i18n.php:
|
994 |
msgctxt "as plugin folder path"
|
995 |
msgid "Plugin Path"
|
996 |
msgstr "プラグインのパス"
|
997 |
|
998 |
-
#: includes/i18n.php:
|
999 |
msgctxt "as sdk path"
|
1000 |
msgid "SDK Path"
|
1001 |
msgstr "SDK のパス"
|
1002 |
|
1003 |
-
#: includes/i18n.php:
|
1004 |
msgid "Add Ons of Plugin %s"
|
1005 |
msgstr "プラグインのアドオン %s"
|
1006 |
|
1007 |
-
#: includes/i18n.php:
|
1008 |
msgid "Are you sure you want to delete all Freemius data?"
|
1009 |
msgstr "ほんとうに全ての Freemius データを削除しますか?"
|
1010 |
|
1011 |
-
#: includes/i18n.php:
|
1012 |
msgid "Actions"
|
1013 |
msgstr "アクション"
|
1014 |
|
1015 |
-
#: includes/i18n.php:
|
1016 |
msgid "Delete All Accounts"
|
1017 |
msgstr "全てのアカウントを削除"
|
1018 |
|
1019 |
-
#: includes/i18n.php:
|
1020 |
msgid "Start Fresh"
|
1021 |
msgstr "初期化を開始"
|
1022 |
|
1023 |
-
#: includes/i18n.php:
|
1024 |
msgid "Clear API Cache"
|
1025 |
msgstr "API キャッシュをクリア"
|
1026 |
|
1027 |
-
#: includes/i18n.php:
|
1028 |
msgid "Sync Data From Server"
|
1029 |
msgstr "サーバーからのデータを同期"
|
1030 |
|
1031 |
-
#: includes/i18n.php:
|
1032 |
msgid "Scheduled Crons"
|
1033 |
msgstr "スケジュール Cron"
|
1034 |
|
1035 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1036 |
msgid "Plugins & Themes Sync"
|
1037 |
msgstr "プラグインとテーマを同期"
|
1038 |
|
1039 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1040 |
msgctxt "as congratulations"
|
1041 |
msgid "Congrats"
|
1042 |
msgstr "おめでとう"
|
1043 |
|
1044 |
-
#: includes/i18n.php:
|
1045 |
msgctxt "exclamation"
|
1046 |
msgid "Oops"
|
1047 |
msgstr "おっと"
|
1048 |
|
1049 |
-
#: includes/i18n.php:
|
1050 |
msgctxt "interjection expressing joy or exuberance"
|
1051 |
msgid "Yee-haw"
|
1052 |
msgstr "ヤッホー"
|
1053 |
|
1054 |
-
#: includes/i18n.php:
|
1055 |
msgctxt ""
|
1056 |
-
"(especially in electronic communication) used to express elation, "
|
1057 |
-
"enthusiasm, or triumph."
|
1058 |
msgid "W00t"
|
1059 |
msgstr "やったー"
|
1060 |
|
1061 |
-
#: includes/i18n.php:
|
1062 |
msgctxt "a positive response"
|
1063 |
msgid "Right on"
|
1064 |
msgstr "そうだ"
|
1065 |
|
1066 |
-
#: includes/i18n.php:
|
1067 |
msgctxt ""
|
1068 |
-
"something somebody says when they are thinking about what you have just "
|
1069 |
-
"said. "
|
1070 |
msgid "Hmm"
|
1071 |
msgstr "ふむ"
|
1072 |
|
1073 |
-
#: includes/i18n.php:
|
1074 |
msgid "O.K"
|
1075 |
msgstr "O.K"
|
1076 |
|
1077 |
-
#: includes/i18n.php:
|
1078 |
msgctxt "exclamation"
|
1079 |
msgid "Hey"
|
1080 |
msgstr "ヘイ"
|
1081 |
|
1082 |
-
#: includes/i18n.php:
|
1083 |
msgctxt "advance notice of something that will need attention."
|
1084 |
msgid "Heads up"
|
1085 |
msgstr "警告"
|
1086 |
|
1087 |
-
#: includes/i18n.php:
|
1088 |
msgid "Seems like you got the latest release."
|
1089 |
msgstr "最新版を取得できました。"
|
1090 |
|
1091 |
-
#: includes/i18n.php:
|
1092 |
msgid "You are all good!"
|
1093 |
msgstr "すべて完璧です!"
|
1094 |
|
1095 |
-
#: includes/i18n.php:
|
1096 |
-
msgid ""
|
1097 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1098 |
-
"email is already registered."
|
1099 |
msgstr "メールアドレスのアップデートを完了できませんでした。他のユーザーがすでに同じメールアドレスで登録しているようです。"
|
1100 |
|
1101 |
-
#: includes/i18n.php:
|
1102 |
-
msgid ""
|
1103 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1104 |
-
"click the Change Ownership button."
|
1105 |
msgstr "もし%s にプラグインの所有権を譲りたいなら、所有権を変更ボタンをクリックしてください。"
|
1106 |
|
1107 |
-
#: includes/i18n.php:
|
1108 |
-
msgid ""
|
1109 |
-
"Your email was successfully updated. You should receive an email with "
|
1110 |
-
"confirmation instructions in few moments."
|
1111 |
msgstr "メールアドレスのアップデートが完了しました。まもなく確認メールが届きます。"
|
1112 |
|
1113 |
-
#: includes/i18n.php:
|
1114 |
msgid "Your name was successfully updated."
|
1115 |
msgstr "名前のアップデートが成功しました。"
|
1116 |
|
1117 |
-
#: includes/i18n.php:
|
1118 |
msgid "You have successfully updated your %s."
|
1119 |
msgstr "%s のアップデートが成功しました。"
|
1120 |
|
1121 |
-
#: includes/i18n.php:
|
1122 |
msgid "Please provide your full name."
|
1123 |
msgstr "フルネームを入力してください。"
|
1124 |
|
1125 |
-
#: includes/i18n.php:
|
1126 |
-
msgid ""
|
1127 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1128 |
-
"please check your spam box."
|
1129 |
msgstr "%s に確認メールを送信しました。もし5分以内にそれが届かない場合、迷惑メールボックスを確認してください。"
|
1130 |
|
1131 |
-
#: includes/i18n.php:
|
1132 |
-
msgid ""
|
1133 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1134 |
-
"from an external server."
|
1135 |
msgstr "%s のアドオンに関する情報は、外部サーバーから取得されます。"
|
1136 |
|
1137 |
-
#: includes/i18n.php:
|
1138 |
msgid "No credit card required"
|
1139 |
msgstr "クレジットカードは必要ありません。"
|
1140 |
|
1141 |
-
#: includes/i18n.php:
|
1142 |
msgid "Premium plugin version was successfully activated."
|
1143 |
msgstr "プレミアムプラグインのバージョンの有効化に成功しました。"
|
1144 |
|
1145 |
-
#: includes/i18n.php:
|
1146 |
msgid "The upgrade of %s was successfully completed."
|
1147 |
msgstr "%s のアップグレードが完了しました。"
|
1148 |
|
1149 |
-
#: includes/i18n.php:
|
1150 |
msgid "Your account was successfully activated with the %s plan."
|
1151 |
msgstr "アカウントが %s プランで有効化できました。"
|
1152 |
|
1153 |
-
#: includes/i18n.php:
|
1154 |
msgid "Download the latest %s version now"
|
1155 |
msgstr "%s の最新版をダウンロードする"
|
1156 |
|
1157 |
-
#: includes/i18n.php:
|
1158 |
msgid "Please follow these steps to complete the upgrade"
|
1159 |
msgstr "アップグレードを完了するには以下の手順を完了させてください。"
|
1160 |
|
1161 |
-
#: includes/i18n.php:
|
1162 |
msgid "Download the latest %s version"
|
1163 |
msgstr "最新の %s をダウンロード"
|
1164 |
|
1165 |
-
#: includes/i18n.php:
|
1166 |
msgid "Download the latest version"
|
1167 |
msgstr "最新版をダウンロード"
|
1168 |
|
1169 |
-
#: includes/i18n.php:
|
1170 |
msgid "Deactivate the free version"
|
1171 |
msgstr "無料バージョンを無効化"
|
1172 |
|
1173 |
-
#: includes/i18n.php:
|
1174 |
msgid "Upload and activate the downloaded version"
|
1175 |
msgstr "ダウンロードしたバージョンをアップロードして有効化"
|
1176 |
|
1177 |
-
#: includes/i18n.php:
|
1178 |
msgid "How to upload and activate?"
|
1179 |
msgstr "アップロードと有効化の方法"
|
1180 |
|
1181 |
-
#: includes/i18n.php:
|
1182 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1183 |
msgid "%s Add-on was successfully purchased."
|
1184 |
msgstr "%s のアドオンの支払いが完了しました。"
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1188 |
msgstr "%s のアドオンのプランのアップグレードが完了しました。"
|
1189 |
|
1190 |
-
#: includes/i18n.php:
|
1191 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1192 |
msgstr "あなたのメールアドレスの承認が完了しました。すごい!"
|
1193 |
|
1194 |
-
#: includes/i18n.php:
|
1195 |
msgid "Your plan was successfully upgraded."
|
1196 |
msgstr "プランのアップグレードが成功しました。"
|
1197 |
|
1198 |
-
#: includes/i18n.php:
|
1199 |
msgid "Your plan was successfully changed to %s."
|
1200 |
msgstr "プランの %s への変更が成功しました。"
|
1201 |
|
1202 |
-
#: includes/i18n.php:
|
1203 |
-
msgid ""
|
1204 |
-
"Your license has expired. You can still continue using the free plugin "
|
1205 |
-
"forever."
|
1206 |
msgstr "ライセンスの有効期限が切れました。無料バージョンの利用を継続することができます。"
|
1207 |
|
1208 |
-
#: includes/i18n.php:
|
1209 |
-
msgid ""
|
1210 |
-
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1211 |
-
" support."
|
1212 |
msgstr "ライセンスはキャンセルされました。もしそれが間違いだと思うならサポートに連絡してください。"
|
1213 |
|
1214 |
-
#: includes/i18n.php:
|
1215 |
msgid "Your trial has been successfully started."
|
1216 |
msgstr "トライアル版の利用を開始しました。"
|
1217 |
|
1218 |
-
#: includes/i18n.php:
|
1219 |
msgid "Your license was successfully activated."
|
1220 |
msgstr "ライセンスの有効化が成功しました。"
|
1221 |
|
1222 |
-
#: includes/i18n.php:
|
1223 |
msgid "It looks like your site currently doesn't have an active license."
|
1224 |
msgstr "サイトは有効なライセンスを持っていないようです。"
|
1225 |
|
1226 |
-
#: includes/i18n.php:
|
1227 |
-
msgid ""
|
1228 |
-
"Your license was successfully deactivated, you are back to the %s plan."
|
1229 |
msgstr "ライセンスの無効化が完了しました。%s プランに戻りました。"
|
1230 |
|
1231 |
-
#: includes/i18n.php:
|
1232 |
msgid "It looks like the license deactivation failed."
|
1233 |
msgstr "ライセンスの無効化ができませんでした。"
|
1234 |
|
1235 |
-
#: includes/i18n.php:
|
1236 |
msgid "It looks like the license could not be activated."
|
1237 |
msgstr "ライセンスの有効化ができませんでした。"
|
1238 |
|
1239 |
-
#: includes/i18n.php:
|
1240 |
msgid "Error received from the server:"
|
1241 |
msgstr "サーバーからエラーを受信しました。"
|
1242 |
|
1243 |
-
#: includes/i18n.php:
|
1244 |
-
msgid ""
|
1245 |
-
"Your trial has expired. You can still continue using all our free features."
|
1246 |
msgstr "トライアルの有効期限が切れました。引き続き無料の機能の利用を続けることができます。"
|
1247 |
|
1248 |
-
#: includes/i18n.php:
|
1249 |
-
msgid ""
|
1250 |
-
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1251 |
-
"%s."
|
1252 |
msgstr "プランのダウングレードが完了しました。%s プランは %s に有効期限が切れます。"
|
1253 |
|
1254 |
-
#: includes/i18n.php:
|
1255 |
-
msgid ""
|
1256 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1257 |
-
"Please try again in few minutes."
|
1258 |
msgstr "プランのダウングレードの際に一時的な問題が発生したようです。数分後に再度操作してください。"
|
1259 |
|
1260 |
-
#: includes/i18n.php:
|
1261 |
-
msgid ""
|
1262 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1263 |
-
" :)"
|
1264 |
msgstr "すでにトライアルモードではないようなので、キャンセルする必要はありません :)"
|
1265 |
|
1266 |
-
#: includes/i18n.php:
|
1267 |
msgid "Your %s free trial was successfully cancelled."
|
1268 |
msgstr "%s のフリートライアルはキャンセルされました。"
|
1269 |
|
1270 |
-
#: includes/i18n.php:
|
1271 |
msgctxt "%s - numeric version number"
|
1272 |
msgid "Version %s was released."
|
1273 |
msgstr "バージョン %s をリリースしました。"
|
1274 |
|
1275 |
-
#: includes/i18n.php:
|
1276 |
msgid "Please download %s."
|
1277 |
msgstr "%s をダウンロードしてください。"
|
1278 |
|
1279 |
-
#: includes/i18n.php:
|
1280 |
msgctxt "%s - plan name, as the latest professional version here"
|
1281 |
msgid "the latest %s version here"
|
1282 |
msgstr "最新の %s バージョンはこちらです。"
|
1283 |
|
1284 |
-
#: includes/i18n.php:
|
1285 |
-
msgid ""
|
1286 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1287 |
-
"free trial."
|
1288 |
msgstr "%s はどうですか? 私たちの全ての %s のプレミアム機能をお試しください。"
|
1289 |
|
1290 |
-
#: includes/i18n.php:
|
1291 |
msgctxt "call to action"
|
1292 |
msgid "Start free trial"
|
1293 |
msgstr "フリートライアルを開始"
|
1294 |
|
1295 |
-
#: includes/i18n.php:
|
1296 |
msgid "Starting trial"
|
1297 |
msgstr "トライアルを開始"
|
1298 |
|
1299 |
-
#: includes/i18n.php:
|
1300 |
msgid "Please wait"
|
1301 |
msgstr "お待ちください"
|
1302 |
|
1303 |
-
#: includes/i18n.php:
|
1304 |
-
msgid ""
|
1305 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1306 |
-
"Please try again in few minutes."
|
1307 |
msgstr "トライアルのキャンセルに一時的な問題がありました。数分後に再度お試しください。"
|
1308 |
|
1309 |
-
#: includes/i18n.php:
|
1310 |
msgid "You already utilized a trial before."
|
1311 |
msgstr "以前すでに試用版を利用しました。"
|
1312 |
|
1313 |
-
#: includes/i18n.php:
|
1314 |
msgid "You are already running the plugin in a trial mode."
|
1315 |
msgstr "すでにトライアル版のプラグインを利用しています。"
|
1316 |
|
1317 |
-
#: includes/i18n.php:
|
1318 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1319 |
msgstr "%s プランは存在しないため、試用を開始できません。"
|
1320 |
|
1321 |
-
#: includes/i18n.php:
|
1322 |
msgid "Plan %s does not support a trial period."
|
1323 |
msgstr "%s プランにはトライアル期間はありません。"
|
1324 |
|
1325 |
-
#: includes/i18n.php:
|
1326 |
msgid "None of the plugin's plans supports a trial period."
|
1327 |
msgstr "トライアル期間をサポートしているプランのプラグインはありません。"
|
1328 |
|
1329 |
-
#: includes/i18n.php:
|
1330 |
-
msgid ""
|
1331 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1332 |
-
"error."
|
1333 |
msgstr "予期しない API のエラー。プラグイン開発者に連絡をとってください。"
|
1334 |
|
1335 |
-
#: includes/i18n.php:
|
1336 |
msgid "No commitment for %s days - cancel anytime!"
|
1337 |
msgstr "%s 日以内であればいつでもキャンセルできます。"
|
1338 |
|
1339 |
-
#: includes/i18n.php:
|
1340 |
-
msgid ""
|
1341 |
-
"Your license has expired. You can still continue using all the %s features, "
|
1342 |
-
"but you'll need to renew your license to continue getting updates and "
|
1343 |
-
"support."
|
1344 |
msgstr "ライセンスは有効期限がきれました。%s の機能を引き続き利用することができます。ただし、アップデートやサポートをうけるにはライセンスをアップデートする必要があります。"
|
1345 |
|
1346 |
-
#: includes/i18n.php:
|
1347 |
msgid "Couldn't activate %s."
|
1348 |
msgstr "%s を有効化できません。"
|
1349 |
|
1350 |
-
#: includes/i18n.php:
|
1351 |
msgid "Please contact us with the following message:"
|
1352 |
msgstr "以下のメッセージとともに私たちに連絡をください。"
|
1353 |
|
1354 |
-
#: includes/i18n.php:
|
1355 |
-
msgid ""
|
1356 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1357 |
-
"your plan, it's probably an issue on our side - sorry."
|
1358 |
msgstr "まだ %s プランのようです。もしアップグレードやプランの変更をしたのなら、こちらで何らかの問題が発生しているようです。申し訳ありません。"
|
1359 |
|
1360 |
-
#: includes/i18n.php:
|
1361 |
msgid "Please contact us here"
|
1362 |
msgstr "こちらで私たちに連絡をとってください。"
|
1363 |
|
1364 |
-
#: includes/i18n.php:
|
1365 |
-
msgid ""
|
1366 |
-
"I have upgraded my account but when I try to Sync the License, the plan "
|
1367 |
-
"remains %s."
|
1368 |
msgstr "アカウントをアップグレードしましたが、ライセンスを同期しようとするとプランが %s のままです。"
|
1369 |
|
1370 |
-
#: includes/i18n.php:
|
1371 |
msgid "From unknown reason, the API connectivity test failed."
|
1372 |
msgstr "不明のエラーにより、API 接続ができませんでした。"
|
1373 |
|
1374 |
-
#: includes/i18n.php:
|
1375 |
-
msgid ""
|
1376 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1377 |
-
"permission, would it be o.k to run another connectivity test?"
|
1378 |
msgstr "それは私たちの一時的な問題のようです。もし許可していただけるなら他の接続テストをしてもよいですか?"
|
1379 |
|
1380 |
-
#: includes/i18n.php:
|
1381 |
-
msgid ""
|
1382 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1383 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1384 |
-
"on your server."
|
1385 |
-
msgstr "私たちは、API コールに PHP の cURL ライブラリを使用しています。これは一般的なライブラリで多くの場合インストールされていますが、あなたのサーバーにはインストールされていないようです。"
|
1386 |
|
1387 |
-
#: includes/i18n.php:
|
1388 |
-
msgid ""
|
1389 |
-
"
|
|
|
|
|
|
|
1390 |
msgstr "不明のエラーにより私たちが使用している CloudFlare のファイヤーウォールが接続を拒否したようです。"
|
1391 |
|
1392 |
-
#: includes/i18n.php:
|
1393 |
msgctxt "as pluginX requires an access to our API"
|
1394 |
msgid "%s requires an access to our API."
|
1395 |
msgstr "%s は、私たちの API への接続が必要です。"
|
1396 |
|
1397 |
-
#: includes/i18n.php:
|
1398 |
-
msgid ""
|
1399 |
-
"It looks like your server is using Squid ACL (access control lists), which "
|
1400 |
-
"blocks the connection."
|
1401 |
msgstr "サーバーは Squid ACL(Access control lists) を使用しているらしく、それが接続をブロックしています。"
|
1402 |
|
1403 |
-
#: includes/i18n.php:
|
1404 |
msgid "I don't know what is Squid or ACL, help me!"
|
1405 |
msgstr "Squid ACL について知りません。助けてください!"
|
1406 |
|
1407 |
-
#: includes/i18n.
|
1408 |
-
msgid ""
|
1409 |
-
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1410 |
-
"will get a follow-up email to %s once we have an update."
|
1411 |
msgstr "ホスティング会社に連絡して問題を解決してください。 更新が完了したら、 %s へのフォローアップメールが届きます。"
|
1412 |
|
1413 |
-
#: includes/i18n.php:
|
1414 |
msgid "I'm a system administrator"
|
1415 |
msgstr "私はシステム管理者です"
|
1416 |
|
1417 |
-
#: includes/i18n.php:
|
1418 |
-
msgid ""
|
1419 |
-
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1420 |
-
" the plugin and activate it again."
|
1421 |
-
msgstr "以下のドメインを許可してください: %s 。それが完了したらそのプラグインを無効化して有効化してください。"
|
1422 |
|
1423 |
-
#: includes/i18n.php:
|
1424 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1425 |
msgstr "cURL がなにか、そのインストール方法を知りません。助けてください。"
|
1426 |
|
1427 |
-
#: includes/i18n.php:
|
1428 |
-
msgid ""
|
1429 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1430 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1431 |
-
"the plugin and reactivate it back again."
|
1432 |
-
msgstr "cURLをインストールし、php.iniファイルで有効にしてください。 正常に起動されたことを確認するには、 'phpinfo()' を使用してください。 プラグインを有効化したら、プラグインを無効化して再度有効化し直してください。"
|
1433 |
|
1434 |
-
#: includes/i18n.php:
|
1435 |
-
msgid ""
|
1436 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1437 |
-
"you ASAP if you give us a chance."
|
1438 |
msgstr "それは私たちの側の問題だと確信しています。もし機会をくれるなら私たちはそれを一刻でも早く修正します。"
|
1439 |
|
1440 |
-
#: includes/i18n.php:
|
1441 |
-
msgid ""
|
1442 |
-
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1443 |
msgstr "ご迷惑をおかけしてすいません。もし機会をいただけたらお手伝いをします。"
|
1444 |
|
1445 |
-
#: includes/i18n.php:
|
1446 |
msgid "Yes - I'm giving you a chance to fix it"
|
1447 |
msgstr "はい、修正をお願いします。"
|
1448 |
|
1449 |
-
#: includes/i18n.php:
|
1450 |
-
msgid ""
|
1451 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1452 |
-
"You will get a follow-up email to %s once we have an update."
|
1453 |
msgstr "私たちは、少しでも早くサーバーをホワイトリストに登録して問題を修正します。アップデートを行ったら、%s あてに報告を送信します。"
|
1454 |
|
1455 |
-
#: includes/i18n.php:
|
1456 |
msgid "Let's try your previous version"
|
1457 |
msgstr "以前のバージョンでお試しください。"
|
1458 |
|
1459 |
-
#: includes/i18n.php:
|
1460 |
msgid "Uninstall this version and install the previous one."
|
1461 |
msgstr "このバージョンをアンインストールして、以前のバージョンをインストールする。"
|
1462 |
|
1463 |
-
#: includes/i18n.php:
|
1464 |
msgid "That's exhausting, please deactivate"
|
1465 |
msgstr "それは、使用できません。無効化してください。"
|
1466 |
|
1467 |
-
#: includes/i18n.php:
|
1468 |
-
msgid ""
|
1469 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1470 |
-
" to see you again in the future."
|
1471 |
msgstr "ご迷惑をおかけして心からお詫び申し上げます。将来ふたたびお会いできることを楽しみにしています。"
|
1472 |
|
1473 |
-
#: includes/i18n.php:
|
1474 |
-
msgid ""
|
1475 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1476 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1477 |
-
" Appreciate your patience."
|
1478 |
msgstr "修正するチャンスをいただきありがとうございます! テクニカルスタッフにメッセージが送信されました。 %s への更新が行われるとすぐにあなたに連絡します。 あなたの忍耐に感謝します。"
|
1479 |
|
1480 |
-
#: includes/i18n.php:
|
1481 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1482 |
-
msgid ""
|
1483 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1484 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1485 |
msgstr "サーバーは %1s の同期に不可欠な Freemius の API へのアクセスをブロックしています。 ホワイトリストに %2s を追加していただけるようあなたのホスティング会社に連絡してください。"
|
1486 |
|
1487 |
-
#: includes/i18n.php:
|
1488 |
-
msgid ""
|
1489 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1490 |
-
"Public Key, Secret Key & User ID, and try again."
|
1491 |
msgstr "認証パラメータの1つが間違っているようです。 公開鍵、秘密鍵、ユーザーIDを更新して、もう一度お試しください。"
|
1492 |
|
1493 |
-
#: includes/i18n.php:
|
1494 |
-
msgid ""
|
1495 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1496 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1497 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1498 |
-
"folder."
|
1499 |
msgstr "メールボックスを確認してください。所有権の変更を確認するには、%s でメールを受け取る必要があります。 セキュリティ上の理由から、次の15分以内に変更を確認する必要があります。 電子メールが見つからない場合は、迷惑メールフォルダを確認してください。"
|
1500 |
|
1501 |
-
#: includes/i18n.php:
|
1502 |
-
msgid ""
|
1503 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1504 |
-
" final approval."
|
1505 |
msgstr "所有権の変更を確認していただきありがとうございます。 %s に承認メールが送信されました。"
|
1506 |
|
1507 |
-
#: includes/i18n.php:
|
1508 |
msgid "%s is the new owner of the account."
|
1509 |
msgstr "%s は新しいオーナーです。"
|
1510 |
|
1511 |
-
#: includes/i18n.php:
|
1512 |
msgctxt "addonX cannot run without pluginY"
|
1513 |
msgid "%s cannot run without %s."
|
1514 |
msgstr "%s は、%s が無いと実行することができません。"
|
1515 |
|
1516 |
-
#: includes/i18n.php:
|
1517 |
msgctxt "addonX cannot run..."
|
1518 |
msgid "%s cannot run without the plugin."
|
1519 |
msgstr "%s は、プラグインが無いと実行することができません。"
|
1520 |
|
1521 |
-
#: includes/i18n.php:
|
1522 |
msgctxt "pluginX activation was successfully..."
|
1523 |
msgid "%s activation was successfully completed."
|
1524 |
msgstr "%s の有効化が成功しました。"
|
1525 |
|
1526 |
-
#: includes/i18n.php:
|
1527 |
msgctxt "Plugin installer section title"
|
1528 |
msgid "Features & Pricing"
|
1529 |
msgstr "機能 & 料金"
|
1530 |
|
1531 |
-
#: includes/i18n.php:
|
1532 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1533 |
msgstr "アドオンが WordPress.org か Freemius にデプロイされている必要があります。"
|
1534 |
|
1535 |
-
#: includes/i18n.php:
|
1536 |
msgid "Paid add-on must be deployed to Freemius."
|
1537 |
msgstr "有料アドオンは Freemius にデプロイされている必要があります。"
|
1538 |
|
1539 |
-
#: includes/i18n.php:
|
1540 |
-
msgid ""
|
1541 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1542 |
-
"activating the plugin."
|
1543 |
msgstr "%s はプレミアムのみのアドオンです。そのプラグインを有効化する前にライセンスを購入する必要があります。"
|
1544 |
|
1545 |
-
#: includes/i18n.php:
|
1546 |
-
msgid ""
|
1547 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1548 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1549 |
-
"you'll have to purchase a license."
|
1550 |
msgstr "%s の無料試用が正常にキャンセルされました。 アドオンはプレミアムなので、自動的に無効化されました。 将来使用したい場合は、ライセンスを購入する必要があります。"
|
1551 |
|
1552 |
-
#: includes/i18n.php:
|
1553 |
msgctxt "as every month"
|
1554 |
msgid "Monthly"
|
1555 |
msgstr "月"
|
1556 |
|
1557 |
-
#: includes/i18n.php:
|
1558 |
msgctxt "as monthly period"
|
1559 |
msgid "mo"
|
1560 |
msgstr "月"
|
1561 |
|
1562 |
-
#: includes/i18n.php:
|
1563 |
msgctxt "as once a year"
|
1564 |
msgid "Annual"
|
1565 |
msgstr "年次"
|
1566 |
|
1567 |
-
#: includes/i18n.php:
|
1568 |
msgctxt "as once a year"
|
1569 |
msgid "Annually"
|
1570 |
msgstr "毎年"
|
1571 |
|
1572 |
-
#: includes/i18n.php:
|
1573 |
msgctxt "as once a year"
|
1574 |
msgid "Once"
|
1575 |
msgstr "一度"
|
1576 |
|
1577 |
-
#: includes/i18n.php:
|
1578 |
msgctxt "as annual period"
|
1579 |
msgid "year"
|
1580 |
msgstr "年"
|
1581 |
|
1582 |
-
#: includes/i18n.php:
|
1583 |
msgid "Lifetime"
|
1584 |
msgstr "ライフタイム"
|
1585 |
|
1586 |
-
#: includes/i18n.php:
|
1587 |
msgctxt "e.g. the best product"
|
1588 |
msgid "Best"
|
1589 |
msgstr "ベスト"
|
1590 |
|
1591 |
-
#: includes/i18n.php:
|
1592 |
msgctxt "e.g. billed monthly"
|
1593 |
msgid "Billed %s"
|
1594 |
msgstr "%s への請求"
|
1595 |
|
1596 |
-
#: includes/i18n.php:
|
1597 |
msgctxt "as a discount of $5 or 10%"
|
1598 |
msgid "Save %s"
|
1599 |
msgstr "%s を保存"
|
1600 |
|
1601 |
-
#: includes/i18n.php:
|
1602 |
msgid "View details"
|
1603 |
msgstr "詳細を表示"
|
1604 |
|
1605 |
-
#: includes/i18n.php:
|
1606 |
msgctxt "button label"
|
1607 |
msgid "Approve & Start Trial"
|
1608 |
msgstr "気に入ったのでトライアルを開始"
|
1609 |
|
1610 |
-
#: includes/i18n.php:
|
1611 |
-
msgid ""
|
1612 |
-
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1613 |
-
"plan."
|
1614 |
msgstr "%2$s プランの%1$s日間のフリートライアルを開始するまであとワンクリックです。"
|
1615 |
|
1616 |
-
#: includes/i18n.php:
|
1617 |
-
msgid ""
|
1618 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1619 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1620 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1621 |
-
"updates and to validate your trial."
|
1622 |
msgstr "WordPress.org ガイドラインの遵守のため、ユーザーとセンシティブでないサイト情報をオプトインすること、バージョンの更新確認のために %s へとプラグインが一時的にデータを送信することの許可、トライアルを有効にすることの3つについて、トライアルの開始前にお尋ねします。"
|
1623 |
|
1624 |
-
#: includes/i18n.php:
|
1625 |
msgid "Business name"
|
1626 |
msgstr "商号"
|
1627 |
|
1628 |
-
#: includes/i18n.php:
|
1629 |
msgid "Tax / VAT ID"
|
1630 |
msgstr "税金 / VAT ID"
|
1631 |
|
1632 |
-
#: includes/i18n.php:
|
1633 |
msgid "Address Line %d"
|
1634 |
msgstr "住所欄 %d"
|
1635 |
|
1636 |
-
#: includes/i18n.php:
|
1637 |
msgid "Country"
|
1638 |
msgstr "国"
|
1639 |
|
1640 |
-
#: includes/i18n.php:
|
1641 |
msgid "Select Country"
|
1642 |
msgstr "国を選択"
|
1643 |
|
1644 |
-
#: includes/i18n.php:
|
1645 |
msgid "City"
|
1646 |
msgstr "市"
|
1647 |
|
1648 |
-
#: includes/i18n.php:
|
1649 |
msgid "Town"
|
1650 |
msgstr "町"
|
1651 |
|
1652 |
-
#: includes/i18n.php:
|
1653 |
msgid "State"
|
1654 |
msgstr "州"
|
1655 |
|
1656 |
-
#: includes/i18n.php:
|
1657 |
msgid "Province"
|
1658 |
msgstr "県・州・省"
|
1659 |
|
1660 |
-
#: includes/i18n.php:
|
1661 |
msgid "ZIP / Postal Code"
|
1662 |
msgstr "ZIP / 郵便番号"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
+
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
# Odyssey <8bitodyssey+github@gmail.com>, 2016
|
5 |
# Takayuki Miyauchi <miya0001@users.noreply.github.com>, 2016
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
+
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
10 |
"POT-Creation-Date: \n"
|
11 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
12 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
13 |
+
"Language: ja_JP\n"
|
14 |
"Language-Team: Japanese (Japan) (http://www.transifex.com/freemius/wordpress-sdk/language/ja_JP/)\n"
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
+
"Content-Transfer-Encoding: 8bit\n"
|
|
|
17 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
18 |
+
"MIME-Version: 1.0\n"
|
19 |
+
"X-Poedit-Basepath: ..\n"
|
20 |
+
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
21 |
+
"X-Poedit-SearchPath-0: .\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
|
25 |
+
#: includes/i18n.php:37
|
|
|
|
|
|
|
|
|
26 |
msgid "Account"
|
27 |
msgstr "アカウント"
|
28 |
|
29 |
+
#: includes/i18n.php:38
|
30 |
msgid "Add On"
|
31 |
msgstr "アドオン"
|
32 |
|
33 |
+
#: includes/i18n.php:39
|
34 |
msgid "Contact Us"
|
35 |
msgstr "連絡"
|
36 |
|
37 |
+
#: includes/i18n.php:40
|
38 |
msgid "Contact Support"
|
39 |
msgstr "サポートに連絡"
|
40 |
|
41 |
+
#: includes/i18n.php:41
|
42 |
msgid "Change Ownership"
|
43 |
msgstr "オーナーを変更"
|
44 |
|
45 |
+
#: includes/i18n.php:42
|
46 |
msgid "Support"
|
47 |
msgstr "サポート"
|
48 |
|
49 |
+
#: includes/i18n.php:43
|
50 |
msgid "Support Forum"
|
51 |
msgstr "サポートフォーラム"
|
52 |
|
53 |
+
#: includes/i18n.php:44
|
54 |
msgid "Add Ons"
|
55 |
msgstr "アドオン"
|
56 |
|
57 |
+
#: includes/i18n.php:45
|
58 |
msgctxt "verb"
|
59 |
msgid "Upgrade"
|
60 |
msgstr "アップグレード"
|
61 |
|
62 |
+
#: includes/i18n.php:46
|
63 |
msgid "Awesome"
|
64 |
msgstr "すごい!"
|
65 |
|
66 |
+
#: includes/i18n.php:47
|
67 |
msgctxt "noun"
|
68 |
msgid "Pricing"
|
69 |
msgstr "料金表"
|
70 |
|
71 |
+
#: includes/i18n.php:48
|
72 |
msgctxt "noun"
|
73 |
msgid "Price"
|
74 |
msgstr "料金"
|
75 |
|
76 |
+
#: includes/i18n.php:49
|
77 |
msgid "Unlimited Updates"
|
78 |
msgstr "無制限のアップデート"
|
79 |
|
80 |
+
#: includes/i18n.php:50
|
81 |
msgctxt "verb"
|
82 |
msgid "Downgrade"
|
83 |
msgstr "ダウングレード"
|
84 |
|
85 |
+
#: includes/i18n.php:51
|
86 |
+
msgctxt "verb"
|
87 |
+
msgid "Cancel Subscription"
|
88 |
+
msgstr "Cancel Subscription"
|
89 |
+
|
90 |
+
#: includes/i18n.php:52
|
91 |
msgid "Cancel Trial"
|
92 |
msgstr "トライアルをキャンセル"
|
93 |
|
94 |
+
#: includes/i18n.php:53
|
95 |
msgid "Free Trial"
|
96 |
msgstr "フリートライアル"
|
97 |
|
98 |
+
#: includes/i18n.php:54
|
99 |
msgid "Start my free %s"
|
100 |
msgstr "無料の %s を開始"
|
101 |
|
102 |
+
#: includes/i18n.php:55
|
103 |
msgid "No commitment for %s - cancel anytime"
|
104 |
msgstr "%s の拘束はありません。いつでもキャンセルできます。"
|
105 |
|
106 |
+
#: includes/i18n.php:56
|
107 |
msgid "After your free %s, pay as little as %s"
|
108 |
msgstr "無料の %s の後は、わずか %s だけお支払ください。"
|
109 |
|
110 |
+
#: includes/i18n.php:57
|
111 |
msgid "Details"
|
112 |
msgstr "詳細"
|
113 |
|
114 |
+
#: includes/i18n.php:58
|
115 |
msgid "Account Details"
|
116 |
msgstr "アカウント詳細"
|
117 |
|
118 |
+
#: includes/i18n.php:59
|
119 |
msgctxt "verb"
|
120 |
msgid "Delete"
|
121 |
msgstr "削除"
|
122 |
|
123 |
+
#: includes/i18n.php:60
|
124 |
msgctxt "verb"
|
125 |
msgid "Show"
|
126 |
msgstr "表示"
|
127 |
|
128 |
+
#: includes/i18n.php:61
|
129 |
msgctxt "verb"
|
130 |
msgid "Hide"
|
131 |
msgstr "非表示"
|
132 |
|
133 |
+
#: includes/i18n.php:62
|
134 |
msgctxt "verb"
|
135 |
msgid "Edit"
|
136 |
msgstr "編集"
|
137 |
|
138 |
+
#: includes/i18n.php:63
|
139 |
msgctxt "verb"
|
140 |
msgid "Update"
|
141 |
msgstr "更新"
|
142 |
|
143 |
+
#: includes/i18n.php:64
|
144 |
msgid "Date"
|
145 |
msgstr "日付"
|
146 |
|
147 |
+
#: includes/i18n.php:65
|
148 |
msgid "Amount"
|
149 |
msgstr "総額"
|
150 |
|
151 |
+
#: includes/i18n.php:66
|
152 |
msgid "Invoice"
|
153 |
msgstr "請求書"
|
154 |
|
155 |
+
#: includes/i18n.php:67
|
156 |
msgid "Billing"
|
157 |
msgstr "請求書"
|
158 |
|
159 |
+
#: includes/i18n.php:68
|
160 |
msgid "Payments"
|
161 |
msgstr "支払い"
|
162 |
|
163 |
+
#: includes/i18n.php:69
|
164 |
msgid "Delete Account"
|
165 |
msgstr "アカウントを削除"
|
166 |
|
167 |
+
#: includes/i18n.php:70
|
168 |
msgctxt "as close a window"
|
169 |
msgid "Dismiss"
|
170 |
msgstr "却下"
|
171 |
|
172 |
+
#: includes/i18n.php:71
|
173 |
msgctxt "as product pricing plan"
|
174 |
msgid "Plan"
|
175 |
msgstr "プラン"
|
176 |
|
177 |
+
#: includes/i18n.php:72
|
178 |
msgid "Change Plan"
|
179 |
msgstr "プラン変更"
|
180 |
|
181 |
+
#: includes/i18n.php:73
|
182 |
msgctxt "as download professional version"
|
183 |
msgid "Download %s Version"
|
184 |
msgstr "%s バージョンをダウンロード"
|
185 |
|
186 |
+
#: includes/i18n.php:74
|
187 |
msgctxt "as download professional version now"
|
188 |
msgid "Download %s version now"
|
189 |
msgstr "%s バージョンを今すぐダウンロード"
|
190 |
|
191 |
+
#: includes/i18n.php:75
|
192 |
msgctxt "as download latest version"
|
193 |
msgid "Download Latest"
|
194 |
msgstr "最新版をダウンロード"
|
195 |
|
196 |
+
#: includes/i18n.php:76
|
197 |
msgctxt "E.g. you have a professional license."
|
198 |
msgid "You have a %s license."
|
199 |
msgstr "%s ライセンスを持っています。"
|
200 |
|
201 |
+
#: includes/i18n.php:77
|
202 |
msgid "New"
|
203 |
msgstr "新規"
|
204 |
|
205 |
+
#: includes/i18n.php:78
|
206 |
msgid "Free"
|
207 |
msgstr "無料"
|
208 |
|
209 |
+
#: includes/i18n.php:79
|
210 |
msgctxt "as trial plan"
|
211 |
msgid "Trial"
|
212 |
msgstr "トライアル"
|
213 |
|
214 |
+
#: includes/i18n.php:80
|
215 |
msgctxt "as starting a trial plan"
|
216 |
msgid "Start Trial"
|
217 |
msgstr "トライアルを開始"
|
218 |
|
219 |
+
#: includes/i18n.php:81
|
220 |
msgctxt "verb"
|
221 |
msgid "Purchase"
|
222 |
msgstr "購入"
|
223 |
|
224 |
+
#: includes/i18n.php:82
|
225 |
msgid "Purchase License"
|
226 |
msgstr "ライセンスを購入"
|
227 |
|
228 |
+
#: includes/i18n.php:83
|
229 |
msgctxt "verb"
|
230 |
msgid "Buy"
|
231 |
msgstr "買う"
|
232 |
|
233 |
+
#: includes/i18n.php:84
|
234 |
msgid "Buy License"
|
235 |
msgstr "ライセンスを買う"
|
236 |
|
237 |
+
#: includes/i18n.php:85
|
238 |
msgid "Single Site License"
|
239 |
msgstr "シングルサイトライセンス"
|
240 |
|
241 |
+
#: includes/i18n.php:86
|
242 |
msgid "Unlimited Licenses"
|
243 |
msgstr "無制限ライセンス"
|
244 |
|
245 |
+
#: includes/i18n.php:87
|
246 |
msgid "Up to %s Sites"
|
247 |
msgstr "%sサイトまで"
|
248 |
|
249 |
+
#: includes/i18n.php:88
|
250 |
msgid "%sRenew your license now%s to access version %s features and support."
|
251 |
msgstr "%sいますぐライセンスを更新して%s バージョン %s の機能とサポートにアクセスする"
|
252 |
|
253 |
+
#: includes/i18n.php:89
|
254 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
255 |
msgstr "アップグレードに使用したメールアドレスを下に入力してください。そうすれば、ライセンスキーをお送りします。"
|
256 |
|
257 |
+
#: includes/i18n.php:90
|
258 |
msgctxt "e.g. Professional Plan"
|
259 |
msgid "%s Plan"
|
260 |
msgstr "%s プラン"
|
261 |
|
262 |
+
#: includes/i18n.php:91
|
263 |
msgid "You are just one step away - %s"
|
264 |
msgstr "もうあとわずかです - %s"
|
265 |
|
266 |
+
#: includes/i18n.php:92
|
267 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
msgstr "すぐに \"%s\" 有効化を完了してください"
|
270 |
|
271 |
+
#: includes/i18n.php:94
|
272 |
msgid "We made a few tweaks to the plugin, %s"
|
273 |
msgstr "プラグインを微調整します, %s"
|
274 |
|
275 |
+
#: includes/i18n.php:95
|
276 |
msgid "Opt-in to make \"%s\" Better!"
|
277 |
msgstr "\"%s\" をより良くするためにオプトインしてください!"
|
278 |
|
279 |
+
#: includes/i18n.php:96
|
280 |
msgid "Error"
|
281 |
msgstr "エラー"
|
282 |
|
283 |
+
#: includes/i18n.php:97
|
284 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
285 |
msgstr "Freemius SDK がプラグインのメインファイルを見つけることができませんでした。現在のエラーを添えて sdk@freemius.com に連絡してください。"
|
286 |
|
287 |
+
#: includes/i18n.php:100
|
288 |
msgctxt "as expiration date"
|
289 |
msgid "Expiration"
|
290 |
msgstr "期限切れ"
|
291 |
|
292 |
+
#: includes/i18n.php:101
|
293 |
msgctxt "as software license"
|
294 |
msgid "License"
|
295 |
msgstr "ライセンス"
|
296 |
|
297 |
+
#: includes/i18n.php:102
|
298 |
msgid "not verified"
|
299 |
msgstr "未認証"
|
300 |
|
301 |
+
#: includes/i18n.php:103
|
302 |
msgid "Verify Email"
|
303 |
msgstr "認証メール"
|
304 |
|
305 |
+
#: includes/i18n.php:104
|
306 |
msgctxt "e.g. expires in 2 months"
|
307 |
msgid "Expires in %s"
|
308 |
msgstr "%s で期間終了"
|
309 |
|
310 |
+
#: includes/i18n.php:105
|
311 |
msgctxt "e.g. auto renews in 2 months"
|
312 |
msgid "Auto renews in %s"
|
313 |
msgstr "%s に自動更新"
|
314 |
|
315 |
+
#: includes/i18n.php:106
|
316 |
msgid "No expiration"
|
317 |
msgstr "有効期限なし"
|
318 |
|
319 |
+
#: includes/i18n.php:107
|
320 |
msgid "Expired"
|
321 |
msgstr "期限切れ"
|
322 |
|
323 |
+
#: includes/i18n.php:108
|
324 |
msgid "Cancelled"
|
325 |
msgstr "キャンセル"
|
326 |
|
327 |
+
#: includes/i18n.php:109
|
328 |
msgctxt "e.g. In 2 hours"
|
329 |
msgid "In %s"
|
330 |
msgstr "%s 内"
|
331 |
|
332 |
+
#: includes/i18n.php:110
|
333 |
msgctxt "e.g. 2 min ago"
|
334 |
msgid "%s ago"
|
335 |
msgstr "%s 前"
|
336 |
|
337 |
+
#: includes/i18n.php:112
|
338 |
+
msgid "%s or higher"
|
339 |
+
msgstr "%s or higher"
|
340 |
+
|
341 |
+
#: includes/i18n.php:113
|
342 |
msgctxt "as plugin version"
|
343 |
msgid "Version"
|
344 |
msgstr "バージョン"
|
345 |
|
346 |
+
#: includes/i18n.php:114
|
347 |
msgid "Name"
|
348 |
msgstr "名前"
|
349 |
|
350 |
+
#: includes/i18n.php:115
|
351 |
msgid "Email"
|
352 |
msgstr "Email"
|
353 |
|
354 |
+
#: includes/i18n.php:116
|
355 |
msgid "Email address"
|
356 |
msgstr "メールアドレス"
|
357 |
|
358 |
+
#: includes/i18n.php:117
|
359 |
msgid "Verified"
|
360 |
msgstr "認証済み"
|
361 |
|
362 |
+
#: includes/i18n.php:118
|
363 |
+
msgid "Module"
|
364 |
+
msgstr "Module"
|
365 |
+
|
366 |
+
#: includes/i18n.php:119
|
367 |
+
msgid "Module Type"
|
368 |
+
msgstr "Module Type"
|
369 |
+
|
370 |
+
#: includes/i18n.php:120
|
371 |
msgid "Plugin"
|
372 |
msgstr "プラグイン"
|
373 |
|
374 |
+
#: includes/i18n.php:121
|
375 |
msgid "Plugins"
|
376 |
msgstr "プラグイン"
|
377 |
|
378 |
+
#: includes/i18n.php:122
|
379 |
+
msgid "Theme"
|
380 |
+
msgstr "Theme"
|
381 |
+
|
382 |
+
#: includes/i18n.php:123
|
383 |
msgid "Themes"
|
384 |
msgstr "テーマ"
|
385 |
|
386 |
+
#: includes/i18n.php:124
|
387 |
msgctxt "as file/folder path"
|
388 |
msgid "Path"
|
389 |
msgstr "パス"
|
390 |
|
391 |
+
#: includes/i18n.php:125
|
392 |
msgid "Title"
|
393 |
msgstr "タイトル"
|
394 |
|
395 |
+
#: includes/i18n.php:126
|
396 |
msgid "Free version"
|
397 |
msgstr "フリーバージョン"
|
398 |
|
399 |
+
#: includes/i18n.php:127
|
400 |
msgid "Premium version"
|
401 |
msgstr "プレミアムバージョン"
|
402 |
|
403 |
+
#: includes/i18n.php:128
|
404 |
msgctxt "as WP plugin slug"
|
405 |
msgid "Slug"
|
406 |
msgstr "スラッグ"
|
407 |
|
408 |
+
#: includes/i18n.php:129
|
409 |
msgid "ID"
|
410 |
msgstr "ID"
|
411 |
|
412 |
+
#: includes/i18n.php:130
|
413 |
msgid "Users"
|
414 |
msgstr "ユーザー"
|
415 |
|
416 |
+
#: includes/i18n.php:131
|
417 |
msgid "Plugin Installs"
|
418 |
msgstr "プラグインインストール数"
|
419 |
|
420 |
+
#: includes/i18n.php:132
|
421 |
+
msgid "%s Installs"
|
422 |
+
msgstr "%s Installs"
|
423 |
+
|
424 |
+
#: includes/i18n.php:133
|
425 |
msgctxt "like websites"
|
426 |
msgid "Sites"
|
427 |
msgstr "サイト数"
|
428 |
|
429 |
+
#: includes/i18n.php:134
|
430 |
msgid "User ID"
|
431 |
msgstr "ユーザー ID"
|
432 |
|
433 |
+
#: includes/i18n.php:135
|
434 |
msgid "Site ID"
|
435 |
msgstr "サイト ID"
|
436 |
|
437 |
+
#: includes/i18n.php:136
|
438 |
msgid "Public Key"
|
439 |
msgstr "公開鍵"
|
440 |
|
441 |
+
#: includes/i18n.php:137
|
442 |
msgid "Secret Key"
|
443 |
msgstr "秘密鍵"
|
444 |
|
445 |
+
#: includes/i18n.php:138
|
446 |
msgctxt "as secret encryption key missing"
|
447 |
msgid "No Secret"
|
448 |
msgstr "秘密鍵がありません"
|
449 |
|
450 |
+
#: includes/i18n.php:139
|
451 |
msgid "No ID"
|
452 |
msgstr "ID がありません"
|
453 |
|
454 |
+
#: includes/i18n.php:140
|
455 |
msgctxt "as synchronize license"
|
456 |
msgid "Sync License"
|
457 |
msgstr "ライセンスを同期"
|
458 |
|
459 |
+
#: includes/i18n.php:141
|
460 |
msgctxt "as synchronize"
|
461 |
msgid "Sync"
|
462 |
msgstr "同期"
|
463 |
|
464 |
+
#: includes/i18n.php:142
|
465 |
msgid "Activate License"
|
466 |
msgstr "ライセンスを有効化"
|
467 |
|
468 |
+
#: includes/i18n.php:143
|
469 |
msgid "Activate Free Version"
|
470 |
msgstr "フリーバージョンを有効化"
|
471 |
|
472 |
+
#: includes/i18n.php:144
|
473 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
474 |
msgstr "購入後すぐにメールで受け取ったライセンスキーを入力してください:"
|
475 |
|
476 |
+
#: includes/i18n.php:145
|
477 |
msgid "Activating license..."
|
478 |
msgstr "ライセンスを有効化中…"
|
479 |
|
480 |
+
#: includes/i18n.php:146
|
481 |
msgid "Change License"
|
482 |
msgstr "ライセンスを変更"
|
483 |
|
484 |
+
#: includes/i18n.php:147
|
485 |
msgid "Update License"
|
486 |
msgstr "ライセンスを更新"
|
487 |
|
488 |
+
#: includes/i18n.php:148
|
489 |
msgid "Deactivate License"
|
490 |
msgstr "ライセンスを無効化"
|
491 |
|
492 |
+
#: includes/i18n.php:149
|
493 |
msgid "Activate"
|
494 |
msgstr "有効化"
|
495 |
|
496 |
+
#: includes/i18n.php:150
|
497 |
msgid "Deactivate"
|
498 |
msgstr "無効化"
|
499 |
|
500 |
+
#: includes/i18n.php:151
|
501 |
msgid "Skip & Deactivate"
|
502 |
msgstr "スキップし、無効化"
|
503 |
|
504 |
+
#: includes/i18n.php:152
|
505 |
+
msgid "Skip & %s"
|
506 |
+
msgstr "Skip & %s"
|
507 |
+
|
508 |
+
#: includes/i18n.php:153
|
509 |
msgid "No - just deactivate"
|
510 |
msgstr "いいえ - すぐに無効化"
|
511 |
|
512 |
+
#: includes/i18n.php:154
|
513 |
msgid "Yes - do your thing"
|
514 |
msgstr "はい - お構いなく"
|
515 |
|
516 |
+
#: includes/i18n.php:155
|
517 |
msgctxt "active mode"
|
518 |
msgid "Active"
|
519 |
msgstr "有効"
|
520 |
|
521 |
+
#: includes/i18n.php:156
|
522 |
msgctxt "is active mode?"
|
523 |
msgid "Is Active"
|
524 |
msgstr "有効"
|
525 |
|
526 |
+
#: includes/i18n.php:157
|
527 |
msgid "Install Now"
|
528 |
msgstr "今すぐインストール"
|
529 |
|
530 |
+
#: includes/i18n.php:158
|
531 |
msgid "Install Update Now"
|
532 |
msgstr "今すぐ更新をインストール"
|
533 |
|
534 |
+
#: includes/i18n.php:159
|
535 |
msgid "More information about %s"
|
536 |
msgstr "%s に関する詳細情報"
|
537 |
|
538 |
+
#: includes/i18n.php:160
|
539 |
msgid "Localhost"
|
540 |
msgstr "localhost"
|
541 |
|
542 |
+
#: includes/i18n.php:161
|
543 |
msgctxt "as activate Professional plan"
|
544 |
msgid "Activate %s Plan"
|
545 |
msgstr "%s プランを有効化"
|
546 |
|
547 |
+
#: includes/i18n.php:162
|
548 |
msgctxt "as 5 licenses left"
|
549 |
msgid "%s left"
|
550 |
msgstr "あと %s"
|
551 |
|
552 |
+
#: includes/i18n.php:163
|
553 |
msgid "Last license"
|
554 |
msgstr "最新のライセンス"
|
555 |
|
556 |
+
#: includes/i18n.php:164
|
557 |
msgid "What is your %s?"
|
558 |
msgstr "自分の %s はなんですか?"
|
559 |
|
560 |
+
#: includes/i18n.php:165
|
561 |
msgid "Activate this add-on"
|
562 |
msgstr "このアドオンを有効化"
|
563 |
|
564 |
+
#: includes/i18n.php:166
|
565 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
566 |
msgstr "ライセンスを無効化するとすべてのプレミアム機能が使えなくなりますが、他のサイトでライセンスを有効にすることができるようになります。本当に実行しますか?"
|
567 |
|
568 |
+
#: includes/i18n.php:167
|
569 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
570 |
msgstr "アカウントを削除すると自動的に %s プランライセンスが無効になり、他のサイトで使うことができます。定期の支払いも終了したい場合は、\"キャンセル\"ボタンをクリックし、まずアカウントを\"ダウングレード\"してください。本当に削除を続行してもいいですか?"
|
571 |
|
572 |
+
#: includes/i18n.php:168
|
573 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
574 |
msgstr "削除は一時的なものではありません。このプラグインを今後使いたくない場合にだけ削除してください。本当に削除を続行してもいいですか?"
|
575 |
|
576 |
+
#: includes/i18n.php:169
|
577 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
578 |
msgstr "プランをダウングレードするとすぐに将来の定期の支払いはすべて停止し、%s プランライセンスは %s で期限切れとなります。"
|
579 |
|
580 |
+
#: includes/i18n.php:170
|
581 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
582 |
msgstr "トライアルをキャンセルするとすぐにすべてのプレミアム機能へのアクセスができなくなります。本当に実行しますか?"
|
583 |
|
584 |
+
#: includes/i18n.php:171
|
585 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
586 |
msgstr "すべての %s 機能をまだ楽しむことができますが、プラグインの更新とサポートにアクセスすることはできなくなります。"
|
587 |
|
588 |
+
#: includes/i18n.php:172
|
589 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
590 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
591 |
|
592 |
+
#: includes/i18n.php:173
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
msgstr "本当に続行していいですか?"
|
595 |
|
596 |
+
#: includes/i18n.php:176
|
597 |
msgid "Add Ons for %s"
|
598 |
msgstr "%s のアドオン"
|
599 |
|
600 |
+
#: includes/i18n.php:177
|
601 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
602 |
msgstr "アドオンリストを読み込むことができませんでした。おそらく運営側の問題になりますので、しばらくしてからお試しください。"
|
603 |
|
604 |
+
#: includes/i18n.php:179
|
605 |
msgid "Anonymous feedback"
|
606 |
msgstr "匿名のフィードバック"
|
607 |
|
608 |
+
#: includes/i18n.php:180
|
609 |
msgid "Quick feedback"
|
610 |
msgstr "クイックフィードバック"
|
611 |
|
612 |
+
#: includes/i18n.php:181
|
613 |
msgid "If you have a moment, please let us know why you are deactivating"
|
614 |
msgstr "お時間があれば、なぜ無効化するのか理由を教えてください。"
|
615 |
|
616 |
+
#: includes/i18n.php:182
|
617 |
msgid "Yes - Deactivate"
|
618 |
msgstr "はい - 無効化します"
|
619 |
|
620 |
+
#: includes/i18n.php:183
|
621 |
msgid "Submit & Deactivate"
|
622 |
msgstr "送信し無効化"
|
623 |
|
624 |
+
#: includes/i18n.php:184
|
625 |
msgid "Cancel"
|
626 |
msgstr "キャンセル"
|
627 |
|
628 |
+
#: includes/i18n.php:185
|
629 |
msgid "I no longer need the plugin"
|
630 |
msgstr "もうプラグインを必要としていません"
|
631 |
|
632 |
+
#: includes/i18n.php:186
|
633 |
msgid "I found a better plugin"
|
634 |
msgstr "もっと良いプラグインを見つけました"
|
635 |
|
636 |
+
#: includes/i18n.php:187
|
637 |
msgid "I only needed the plugin for a short period"
|
638 |
msgstr "短期間プラグインを必要としていただけです"
|
639 |
|
640 |
+
#: includes/i18n.php:188
|
641 |
msgid "The plugin broke my site"
|
642 |
msgstr "プラグインのせいでサイトが壊れました"
|
643 |
|
644 |
+
#: includes/i18n.php:189
|
645 |
msgid "The plugin suddenly stopped working"
|
646 |
msgstr "プラグインはすぐに動かなくなりました"
|
647 |
|
648 |
+
#: includes/i18n.php:190
|
649 |
msgid "I can't pay for it anymore"
|
650 |
msgstr "もう払うことができません"
|
651 |
|
652 |
+
#: includes/i18n.php:191
|
653 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
654 |
msgstr "一時的な無効化です。問題をデバッグしているだけです。"
|
655 |
|
656 |
+
#: includes/i18n.php:192
|
657 |
msgctxt ""
|
|
|
|
|
658 |
msgid "Other"
|
659 |
msgstr "その他"
|
660 |
|
661 |
+
#: includes/i18n.php:194
|
662 |
msgid "Kindly tell us the reason so we can improve."
|
663 |
msgstr "改善できるよう、どうか理由を教えてください。"
|
664 |
|
665 |
+
#: includes/i18n.php:195
|
666 |
msgid "What's the plugin's name?"
|
667 |
msgstr "プラグイン名は何ですか?"
|
668 |
|
669 |
+
#: includes/i18n.php:196
|
670 |
msgid "What price would you feel comfortable paying?"
|
671 |
msgstr " 支払ってもよいと思う価格はいくらですか?"
|
672 |
|
673 |
+
#: includes/i18n.php:197
|
674 |
msgid "I couldn't understand how to make it work"
|
675 |
msgstr "どうしたら動作するか分かりませんでした。"
|
676 |
|
677 |
+
#: includes/i18n.php:198
|
678 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
|
|
679 |
msgstr "プラグインは素晴らしいけれど、サポートしていないある機能を必要としています"
|
680 |
|
681 |
+
#: includes/i18n.php:199
|
682 |
msgid "The plugin is not working"
|
683 |
msgstr "プラグインが動いていません"
|
684 |
|
685 |
+
#: includes/i18n.php:200
|
686 |
msgid "It's not what I was looking for"
|
687 |
msgstr "探していたものではありません"
|
688 |
|
689 |
+
#: includes/i18n.php:201
|
690 |
msgid "The plugin didn't work as expected"
|
691 |
msgstr "プラグインは期待通りには動きませんでした"
|
692 |
|
693 |
+
#: includes/i18n.php:202
|
694 |
msgid "What feature?"
|
695 |
msgstr "何の機能ですか?"
|
696 |
|
697 |
+
#: includes/i18n.php:203
|
698 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
699 |
msgstr "将来のユーザーのために修正できるよう、何が動作しなかったのかどうか共有してください…"
|
700 |
|
701 |
+
#: includes/i18n.php:204
|
702 |
msgid "What you've been looking for?"
|
703 |
msgstr "探していたのは何ですか?"
|
704 |
|
705 |
+
#: includes/i18n.php:205
|
706 |
msgid "What did you expect?"
|
707 |
msgstr "何を期待していましたか?"
|
708 |
|
709 |
+
#: includes/i18n.php:206
|
710 |
msgid "The plugin didn't work"
|
711 |
msgstr "プラグインが動作しませんでした"
|
712 |
|
713 |
+
#: includes/i18n.php:207
|
714 |
msgid "I don't like to share my information with you"
|
715 |
msgstr "自分の情報を共有したくありません"
|
716 |
|
717 |
+
#: includes/i18n.php:208
|
718 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
719 |
msgstr "見逃していたかもしれませんが、どんな情報も共有する必要はなく、オプトインを $s することができます。 "
|
720 |
|
721 |
+
#: includes/i18n.php:212
|
722 |
msgctxt "greeting"
|
723 |
msgid "Hey %s,"
|
724 |
msgstr "おおい %s さん、"
|
725 |
|
726 |
+
#: includes/i18n.php:213
|
727 |
msgctxt "a greeting. E.g. Thanks John!"
|
728 |
msgid "Thanks %s!"
|
729 |
msgstr "ありがとう $s さん!"
|
730 |
|
731 |
+
#: includes/i18n.php:214
|
732 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
733 |
msgstr "重要な更新を逃さないように - セキュリティとおすすめの更新通知、%4$s とセンシティブではない診断トラッキングをオプトイン"
|
734 |
|
735 |
+
#: includes/i18n.php:215
|
736 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
737 |
msgstr "%1$s を改善するのを手伝ってください。オプトインすれば、あなたの %1$s の使用に関するデータが %4$s へと送られます。これをスキップしても大丈夫です! %1$s は今でも素晴らしいでしょう。"
|
738 |
|
739 |
+
#: includes/i18n.php:216
|
740 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
741 |
msgstr "%s のメールボックスに %s の有効化のメールを受け取っているはずです。%s のメールに記載された有効化ボタンをクリックしてください。"
|
742 |
|
743 |
+
#: includes/i18n.php:217
|
744 |
msgid "complete the install"
|
745 |
msgstr "インストールを完了"
|
746 |
|
747 |
+
#: includes/i18n.php:218
|
748 |
msgid "start the trial"
|
749 |
msgstr "トライアルを開始"
|
750 |
|
751 |
+
#: includes/i18n.php:219
|
752 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
753 |
msgstr "%s を購入いただきありがとうございます。はじめにライセンスキーを入力してください:"
|
754 |
|
755 |
+
#: includes/i18n.php:220
|
756 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
757 |
msgstr "プラグインはプラグインの更新をチェックし、ライセンスが有効か確認するために、%s に周期的にデータを送信します。"
|
758 |
|
759 |
+
#: includes/i18n.php:221
|
760 |
msgid "What permissions are being granted?"
|
761 |
msgstr "付与されているパーミッションは何ですか?"
|
762 |
|
763 |
+
#: includes/i18n.php:222
|
764 |
msgid "Your Profile Overview"
|
765 |
msgstr "プロフィール概要"
|
766 |
|
767 |
+
#: includes/i18n.php:223
|
768 |
msgid "Name and email address"
|
769 |
msgstr "名前とメールアドレス"
|
770 |
|
771 |
+
#: includes/i18n.php:224
|
772 |
msgid "Your Site Overview"
|
773 |
msgstr "サイト概要"
|
774 |
|
775 |
+
#: includes/i18n.php:225
|
776 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
777 |
msgstr "サイト URL、WP バージョン、PHP info、プラグインとテーマ"
|
778 |
|
779 |
+
#: includes/i18n.php:226
|
780 |
msgid "Current Plugin Events"
|
781 |
msgstr "現在のプラグインイベント"
|
782 |
|
783 |
+
#: includes/i18n.php:227
|
784 |
msgid "Activation, deactivation and uninstall"
|
785 |
msgstr "有効化、無効化、アンインストール"
|
786 |
|
787 |
+
#: includes/i18n.php:228
|
788 |
msgid "Plugins & Themes"
|
789 |
msgstr "プラグインとテーマ"
|
790 |
|
791 |
+
#: includes/i18n.php:229
|
792 |
msgid "Titles, versions and state."
|
793 |
msgstr "タイトル、バージョン、状態"
|
794 |
|
795 |
+
#: includes/i18n.php:230
|
796 |
msgid "Admin Notices"
|
797 |
msgstr "管理者通知"
|
798 |
|
799 |
+
#: includes/i18n.php:231
|
800 |
msgid "Newsletter"
|
801 |
msgstr "ニュースレター"
|
802 |
|
803 |
+
#: includes/i18n.php:232
|
804 |
msgid "Updates, announcements, marketing, no spam"
|
805 |
msgstr "更新、発表、マーケティング、スパムなし"
|
806 |
|
807 |
+
#: includes/i18n.php:233
|
808 |
msgid "Privacy Policy"
|
809 |
msgstr "プライバシーポリシー"
|
810 |
|
811 |
+
#: includes/i18n.php:234
|
812 |
msgid "Terms of Service"
|
813 |
msgstr "利用規約"
|
814 |
|
815 |
+
#: includes/i18n.php:235
|
816 |
msgctxt "as activating plugin"
|
817 |
msgid "Activating"
|
818 |
msgstr "有効化中"
|
819 |
|
820 |
+
#: includes/i18n.php:236
|
821 |
msgctxt "as in the process of sending an email"
|
822 |
msgid "Sending email"
|
823 |
msgstr "メール送信中"
|
824 |
|
825 |
+
#: includes/i18n.php:237
|
826 |
msgctxt "button label"
|
827 |
msgid "Allow & Continue"
|
828 |
msgstr "許可して続ける"
|
829 |
|
830 |
+
#: includes/i18n.php:238
|
831 |
msgctxt "button label"
|
832 |
msgid "Agree & Activate License"
|
833 |
msgstr "同意してライセンスを有効化"
|
834 |
|
835 |
+
#: includes/i18n.php:239
|
836 |
msgctxt "verb"
|
837 |
msgid "Skip"
|
838 |
msgstr "スキップ"
|
839 |
|
840 |
+
#: includes/i18n.php:240
|
841 |
msgid "Click here to use the plugin anonymously"
|
842 |
msgstr "匿名でプラグインを使用するにはこちらをクリック"
|
843 |
|
844 |
+
#: includes/i18n.php:241
|
845 |
msgid "Re-send activation email"
|
846 |
msgstr "有効化メールを再送信"
|
847 |
|
848 |
+
#: includes/i18n.php:242
|
849 |
msgid "License key"
|
850 |
msgstr "ライセンスキー"
|
851 |
|
852 |
+
#: includes/i18n.php:243
|
853 |
msgid "Send License Key"
|
854 |
msgstr "ライセンスキーを送信"
|
855 |
|
856 |
+
#: includes/i18n.php:244
|
857 |
msgid "Sending license key"
|
858 |
msgstr "ライセンスキーを送信中"
|
859 |
|
860 |
+
#: includes/i18n.php:245
|
861 |
msgid "Have a license key?"
|
862 |
msgstr "ライセンスキーはお持ちですか?"
|
863 |
|
864 |
+
#: includes/i18n.php:246
|
865 |
msgid "Don't have a license key?"
|
866 |
msgstr "ライセンスキーをお持ちではありませんか?"
|
867 |
|
868 |
+
#: includes/i18n.php:247
|
869 |
msgid "Can't find your license key?"
|
870 |
msgstr "ライセンスキーは見つかりませんか?"
|
871 |
|
872 |
+
#: includes/i18n.php:248
|
873 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
874 |
msgstr "システムではメールアドレスを見つけることができませんでした。メールアドレスが正しいか確認してください。"
|
875 |
|
876 |
+
#: includes/i18n.php:249
|
877 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
878 |
msgstr "メールアドレスに関連付けられた有効なライセンスが見つかりません。メールアドレスが正しいか確認してください。"
|
879 |
|
880 |
+
#: includes/i18n.php:250
|
881 |
msgid "Opt In"
|
882 |
msgstr "オプトイン"
|
883 |
|
884 |
+
#: includes/i18n.php:251
|
885 |
msgid "Opt Out"
|
886 |
msgstr "オプトアウト"
|
887 |
|
888 |
+
#: includes/i18n.php:252
|
889 |
msgid "On second thought - I want to continue helping"
|
890 |
msgstr "第二の考えで - 手伝い続けたいです"
|
891 |
|
892 |
+
#: includes/i18n.php:253
|
893 |
msgid "Opting out..."
|
894 |
msgstr "オプトアウト中…"
|
895 |
|
896 |
+
#: includes/i18n.php:254
|
897 |
msgid "Opting in..."
|
898 |
msgstr "オプトイン中…"
|
899 |
|
900 |
+
#: includes/i18n.php:255
|
901 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
902 |
msgstr "使用データを追跡できるよう許可してくれたことで、%s をより良くするための手助けに感謝致します。"
|
903 |
|
904 |
+
#: includes/i18n.php:256
|
905 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
906 |
msgstr "使用の追跡は %s をより良くする名目の下に行われています。ユーザー体験をより良くし、新機能に優先順位をつけるためなどに使います。追跡を続けてもよいと再考してくれるなら本当に感謝致します。"
|
907 |
|
908 |
+
#: includes/i18n.php:257
|
909 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
|
|
|
|
910 |
msgstr "\"オプトアウト\"をクリックすることで、もう %s から %s へのデータの送信は行いません。"
|
911 |
|
912 |
+
#: includes/i18n.php:261
|
913 |
msgid "Screenshots"
|
914 |
msgstr "スクリーンショット"
|
915 |
|
916 |
+
#: includes/i18n.php:262
|
917 |
msgid "Click to view full-size screenshot %d"
|
918 |
msgstr "クリックしてフルサイズのスクリーンショットを見る %d"
|
919 |
|
920 |
+
#: includes/i18n.php:266
|
921 |
msgid "Freemius Debug"
|
922 |
msgstr "Freemius デバッグ"
|
923 |
|
924 |
+
#: includes/i18n.php:267
|
925 |
msgctxt "as turned on"
|
926 |
msgid "On"
|
927 |
msgstr "オン"
|
928 |
|
929 |
+
#: includes/i18n.php:268
|
930 |
msgctxt "as turned off"
|
931 |
msgid "Off"
|
932 |
msgstr "オフ"
|
933 |
|
934 |
+
#: includes/i18n.php:269
|
935 |
msgctxt "as code debugging"
|
936 |
msgid "Debugging"
|
937 |
msgstr "デバッグ"
|
938 |
|
939 |
+
#: includes/i18n.php:270
|
940 |
msgid "Freemius State"
|
941 |
msgstr "Freemius ステータス"
|
942 |
|
943 |
+
#: includes/i18n.php:271
|
944 |
msgctxt "as connection was successful"
|
945 |
msgid "Connected"
|
946 |
msgstr "接続"
|
947 |
|
948 |
+
#: includes/i18n.php:272
|
949 |
msgctxt "as connection blocked"
|
950 |
msgid "Blocked"
|
951 |
msgstr "ブロック"
|
952 |
|
953 |
+
#: includes/i18n.php:273
|
954 |
msgctxt "as application program interface"
|
955 |
msgid "API"
|
956 |
msgstr "API"
|
957 |
|
958 |
+
#: includes/i18n.php:274
|
959 |
msgctxt "as software development kit versions"
|
960 |
msgid "SDK"
|
961 |
msgstr "SDK"
|
962 |
|
963 |
+
#: includes/i18n.php:275
|
964 |
msgctxt "as software development kit versions"
|
965 |
msgid "SDK Versions"
|
966 |
msgstr "SDK バージョン"
|
967 |
|
968 |
+
#: includes/i18n.php:276
|
969 |
msgctxt "as plugin folder path"
|
970 |
msgid "Plugin Path"
|
971 |
msgstr "プラグインのパス"
|
972 |
|
973 |
+
#: includes/i18n.php:277
|
974 |
msgctxt "as sdk path"
|
975 |
msgid "SDK Path"
|
976 |
msgstr "SDK のパス"
|
977 |
|
978 |
+
#: includes/i18n.php:278
|
979 |
msgid "Add Ons of Plugin %s"
|
980 |
msgstr "プラグインのアドオン %s"
|
981 |
|
982 |
+
#: includes/i18n.php:279
|
983 |
msgid "Are you sure you want to delete all Freemius data?"
|
984 |
msgstr "ほんとうに全ての Freemius データを削除しますか?"
|
985 |
|
986 |
+
#: includes/i18n.php:280
|
987 |
msgid "Actions"
|
988 |
msgstr "アクション"
|
989 |
|
990 |
+
#: includes/i18n.php:281
|
991 |
msgid "Delete All Accounts"
|
992 |
msgstr "全てのアカウントを削除"
|
993 |
|
994 |
+
#: includes/i18n.php:282
|
995 |
msgid "Start Fresh"
|
996 |
msgstr "初期化を開始"
|
997 |
|
998 |
+
#: includes/i18n.php:283
|
999 |
msgid "Clear API Cache"
|
1000 |
msgstr "API キャッシュをクリア"
|
1001 |
|
1002 |
+
#: includes/i18n.php:284
|
1003 |
msgid "Sync Data From Server"
|
1004 |
msgstr "サーバーからのデータを同期"
|
1005 |
|
1006 |
+
#: includes/i18n.php:285
|
1007 |
msgid "Scheduled Crons"
|
1008 |
msgstr "スケジュール Cron"
|
1009 |
|
1010 |
+
#: includes/i18n.php:286
|
1011 |
+
msgid "Cron Type"
|
1012 |
+
msgstr "Cron Type"
|
1013 |
+
|
1014 |
+
#: includes/i18n.php:287
|
1015 |
msgid "Plugins & Themes Sync"
|
1016 |
msgstr "プラグインとテーマを同期"
|
1017 |
|
1018 |
+
#: includes/i18n.php:288
|
1019 |
+
msgid "Licenses"
|
1020 |
+
msgstr "Licenses"
|
1021 |
+
|
1022 |
+
#: includes/i18n.php:289
|
1023 |
+
msgid "Debug Log"
|
1024 |
+
msgstr "Debug Log"
|
1025 |
+
|
1026 |
+
#: includes/i18n.php:290
|
1027 |
+
msgid "All"
|
1028 |
+
msgstr "All"
|
1029 |
+
|
1030 |
+
#: includes/i18n.php:291
|
1031 |
+
msgid "File"
|
1032 |
+
msgstr "File"
|
1033 |
+
|
1034 |
+
#: includes/i18n.php:292
|
1035 |
+
msgid "Function"
|
1036 |
+
msgstr "Function"
|
1037 |
+
|
1038 |
+
#: includes/i18n.php:293
|
1039 |
+
msgid "Process ID"
|
1040 |
+
msgstr "Process ID"
|
1041 |
+
|
1042 |
+
#: includes/i18n.php:294
|
1043 |
+
msgid "Logger"
|
1044 |
+
msgstr "Logger"
|
1045 |
+
|
1046 |
+
#: includes/i18n.php:295
|
1047 |
+
msgid "Message"
|
1048 |
+
msgstr "Message"
|
1049 |
+
|
1050 |
+
#: includes/i18n.php:296
|
1051 |
+
msgid "Download"
|
1052 |
+
msgstr "Download"
|
1053 |
+
|
1054 |
+
#: includes/i18n.php:297
|
1055 |
+
msgid "Filter"
|
1056 |
+
msgstr "Filter"
|
1057 |
+
|
1058 |
+
#: includes/i18n.php:298
|
1059 |
+
msgid "Type"
|
1060 |
+
msgstr "Type"
|
1061 |
+
|
1062 |
+
#: includes/i18n.php:299
|
1063 |
+
msgid "All Types"
|
1064 |
+
msgstr "All Types"
|
1065 |
+
|
1066 |
+
#: includes/i18n.php:300
|
1067 |
+
msgid "All Requests"
|
1068 |
+
msgstr "All Requests"
|
1069 |
+
|
1070 |
+
#: includes/i18n.php:304
|
1071 |
msgctxt "as congratulations"
|
1072 |
msgid "Congrats"
|
1073 |
msgstr "おめでとう"
|
1074 |
|
1075 |
+
#: includes/i18n.php:305
|
1076 |
msgctxt "exclamation"
|
1077 |
msgid "Oops"
|
1078 |
msgstr "おっと"
|
1079 |
|
1080 |
+
#: includes/i18n.php:306
|
1081 |
msgctxt "interjection expressing joy or exuberance"
|
1082 |
msgid "Yee-haw"
|
1083 |
msgstr "ヤッホー"
|
1084 |
|
1085 |
+
#: includes/i18n.php:307
|
1086 |
msgctxt ""
|
|
|
|
|
1087 |
msgid "W00t"
|
1088 |
msgstr "やったー"
|
1089 |
|
1090 |
+
#: includes/i18n.php:309
|
1091 |
msgctxt "a positive response"
|
1092 |
msgid "Right on"
|
1093 |
msgstr "そうだ"
|
1094 |
|
1095 |
+
#: includes/i18n.php:310
|
1096 |
msgctxt ""
|
|
|
|
|
1097 |
msgid "Hmm"
|
1098 |
msgstr "ふむ"
|
1099 |
|
1100 |
+
#: includes/i18n.php:312
|
1101 |
msgid "O.K"
|
1102 |
msgstr "O.K"
|
1103 |
|
1104 |
+
#: includes/i18n.php:313
|
1105 |
msgctxt "exclamation"
|
1106 |
msgid "Hey"
|
1107 |
msgstr "ヘイ"
|
1108 |
|
1109 |
+
#: includes/i18n.php:314
|
1110 |
msgctxt "advance notice of something that will need attention."
|
1111 |
msgid "Heads up"
|
1112 |
msgstr "警告"
|
1113 |
|
1114 |
+
#: includes/i18n.php:319
|
1115 |
msgid "Seems like you got the latest release."
|
1116 |
msgstr "最新版を取得できました。"
|
1117 |
|
1118 |
+
#: includes/i18n.php:320
|
1119 |
msgid "You are all good!"
|
1120 |
msgstr "すべて完璧です!"
|
1121 |
|
1122 |
+
#: includes/i18n.php:321
|
1123 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1124 |
msgstr "メールアドレスのアップデートを完了できませんでした。他のユーザーがすでに同じメールアドレスで登録しているようです。"
|
1125 |
|
1126 |
+
#: includes/i18n.php:322
|
1127 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1128 |
msgstr "もし%s にプラグインの所有権を譲りたいなら、所有権を変更ボタンをクリックしてください。"
|
1129 |
|
1130 |
+
#: includes/i18n.php:323
|
1131 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1132 |
msgstr "メールアドレスのアップデートが完了しました。まもなく確認メールが届きます。"
|
1133 |
|
1134 |
+
#: includes/i18n.php:324
|
1135 |
msgid "Your name was successfully updated."
|
1136 |
msgstr "名前のアップデートが成功しました。"
|
1137 |
|
1138 |
+
#: includes/i18n.php:325
|
1139 |
msgid "You have successfully updated your %s."
|
1140 |
msgstr "%s のアップデートが成功しました。"
|
1141 |
|
1142 |
+
#: includes/i18n.php:326
|
1143 |
msgid "Please provide your full name."
|
1144 |
msgstr "フルネームを入力してください。"
|
1145 |
|
1146 |
+
#: includes/i18n.php:327
|
1147 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1148 |
msgstr "%s に確認メールを送信しました。もし5分以内にそれが届かない場合、迷惑メールボックスを確認してください。"
|
1149 |
|
1150 |
+
#: includes/i18n.php:328
|
1151 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1152 |
msgstr "%s のアドオンに関する情報は、外部サーバーから取得されます。"
|
1153 |
|
1154 |
+
#: includes/i18n.php:329
|
1155 |
msgid "No credit card required"
|
1156 |
msgstr "クレジットカードは必要ありません。"
|
1157 |
|
1158 |
+
#: includes/i18n.php:330
|
1159 |
msgid "Premium plugin version was successfully activated."
|
1160 |
msgstr "プレミアムプラグインのバージョンの有効化に成功しました。"
|
1161 |
|
1162 |
+
#: includes/i18n.php:331
|
1163 |
msgid "The upgrade of %s was successfully completed."
|
1164 |
msgstr "%s のアップグレードが完了しました。"
|
1165 |
|
1166 |
+
#: includes/i18n.php:332
|
1167 |
msgid "Your account was successfully activated with the %s plan."
|
1168 |
msgstr "アカウントが %s プランで有効化できました。"
|
1169 |
|
1170 |
+
#: includes/i18n.php:333
|
1171 |
msgid "Download the latest %s version now"
|
1172 |
msgstr "%s の最新版をダウンロードする"
|
1173 |
|
1174 |
+
#: includes/i18n.php:334
|
1175 |
msgid "Please follow these steps to complete the upgrade"
|
1176 |
msgstr "アップグレードを完了するには以下の手順を完了させてください。"
|
1177 |
|
1178 |
+
#: includes/i18n.php:335
|
1179 |
msgid "Download the latest %s version"
|
1180 |
msgstr "最新の %s をダウンロード"
|
1181 |
|
1182 |
+
#: includes/i18n.php:336
|
1183 |
msgid "Download the latest version"
|
1184 |
msgstr "最新版をダウンロード"
|
1185 |
|
1186 |
+
#: includes/i18n.php:337
|
1187 |
msgid "Deactivate the free version"
|
1188 |
msgstr "無料バージョンを無効化"
|
1189 |
|
1190 |
+
#: includes/i18n.php:338
|
1191 |
msgid "Upload and activate the downloaded version"
|
1192 |
msgstr "ダウンロードしたバージョンをアップロードして有効化"
|
1193 |
|
1194 |
+
#: includes/i18n.php:339
|
1195 |
msgid "How to upload and activate?"
|
1196 |
msgstr "アップロードと有効化の方法"
|
1197 |
|
1198 |
+
#: includes/i18n.php:340
|
1199 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1200 |
msgid "%s Add-on was successfully purchased."
|
1201 |
msgstr "%s のアドオンの支払いが完了しました。"
|
1202 |
|
1203 |
+
#: includes/i18n.php:342
|
1204 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1205 |
msgstr "%s のアドオンのプランのアップグレードが完了しました。"
|
1206 |
|
1207 |
+
#: includes/i18n.php:343
|
1208 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1209 |
msgstr "あなたのメールアドレスの承認が完了しました。すごい!"
|
1210 |
|
1211 |
+
#: includes/i18n.php:344
|
1212 |
msgid "Your plan was successfully upgraded."
|
1213 |
msgstr "プランのアップグレードが成功しました。"
|
1214 |
|
1215 |
+
#: includes/i18n.php:345
|
1216 |
msgid "Your plan was successfully changed to %s."
|
1217 |
msgstr "プランの %s への変更が成功しました。"
|
1218 |
|
1219 |
+
#: includes/i18n.php:346
|
1220 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
|
|
|
|
1221 |
msgstr "ライセンスの有効期限が切れました。無料バージョンの利用を継続することができます。"
|
1222 |
|
1223 |
+
#: includes/i18n.php:347
|
1224 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
|
|
|
|
1225 |
msgstr "ライセンスはキャンセルされました。もしそれが間違いだと思うならサポートに連絡してください。"
|
1226 |
|
1227 |
+
#: includes/i18n.php:348
|
1228 |
msgid "Your trial has been successfully started."
|
1229 |
msgstr "トライアル版の利用を開始しました。"
|
1230 |
|
1231 |
+
#: includes/i18n.php:349
|
1232 |
msgid "Your license was successfully activated."
|
1233 |
msgstr "ライセンスの有効化が成功しました。"
|
1234 |
|
1235 |
+
#: includes/i18n.php:350
|
1236 |
msgid "It looks like your site currently doesn't have an active license."
|
1237 |
msgstr "サイトは有効なライセンスを持っていないようです。"
|
1238 |
|
1239 |
+
#: includes/i18n.php:351
|
1240 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
|
|
1241 |
msgstr "ライセンスの無効化が完了しました。%s プランに戻りました。"
|
1242 |
|
1243 |
+
#: includes/i18n.php:352
|
1244 |
msgid "It looks like the license deactivation failed."
|
1245 |
msgstr "ライセンスの無効化ができませんでした。"
|
1246 |
|
1247 |
+
#: includes/i18n.php:353
|
1248 |
msgid "It looks like the license could not be activated."
|
1249 |
msgstr "ライセンスの有効化ができませんでした。"
|
1250 |
|
1251 |
+
#: includes/i18n.php:354
|
1252 |
msgid "Error received from the server:"
|
1253 |
msgstr "サーバーからエラーを受信しました。"
|
1254 |
|
1255 |
+
#: includes/i18n.php:355
|
1256 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1257 |
msgstr "トライアルの有効期限が切れました。引き続き無料の機能の利用を続けることができます。"
|
1258 |
|
1259 |
+
#: includes/i18n.php:356
|
1260 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
|
|
|
|
1261 |
msgstr "プランのダウングレードが完了しました。%s プランは %s に有効期限が切れます。"
|
1262 |
|
1263 |
+
#: includes/i18n.php:357
|
1264 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1265 |
msgstr "プランのダウングレードの際に一時的な問題が発生したようです。数分後に再度操作してください。"
|
1266 |
|
1267 |
+
#: includes/i18n.php:358
|
1268 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1269 |
msgstr "すでにトライアルモードではないようなので、キャンセルする必要はありません :)"
|
1270 |
|
1271 |
+
#: includes/i18n.php:359
|
1272 |
msgid "Your %s free trial was successfully cancelled."
|
1273 |
msgstr "%s のフリートライアルはキャンセルされました。"
|
1274 |
|
1275 |
+
#: includes/i18n.php:360
|
1276 |
msgctxt "%s - numeric version number"
|
1277 |
msgid "Version %s was released."
|
1278 |
msgstr "バージョン %s をリリースしました。"
|
1279 |
|
1280 |
+
#: includes/i18n.php:361
|
1281 |
msgid "Please download %s."
|
1282 |
msgstr "%s をダウンロードしてください。"
|
1283 |
|
1284 |
+
#: includes/i18n.php:362
|
1285 |
msgctxt "%s - plan name, as the latest professional version here"
|
1286 |
msgid "the latest %s version here"
|
1287 |
msgstr "最新の %s バージョンはこちらです。"
|
1288 |
|
1289 |
+
#: includes/i18n.php:364
|
1290 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1291 |
msgstr "%s はどうですか? 私たちの全ての %s のプレミアム機能をお試しください。"
|
1292 |
|
1293 |
+
#: includes/i18n.php:365
|
1294 |
msgctxt "call to action"
|
1295 |
msgid "Start free trial"
|
1296 |
msgstr "フリートライアルを開始"
|
1297 |
|
1298 |
+
#: includes/i18n.php:366
|
1299 |
msgid "Starting trial"
|
1300 |
msgstr "トライアルを開始"
|
1301 |
|
1302 |
+
#: includes/i18n.php:367
|
1303 |
msgid "Please wait"
|
1304 |
msgstr "お待ちください"
|
1305 |
|
1306 |
+
#: includes/i18n.php:368
|
1307 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1308 |
msgstr "トライアルのキャンセルに一時的な問題がありました。数分後に再度お試しください。"
|
1309 |
|
1310 |
+
#: includes/i18n.php:369
|
1311 |
msgid "You already utilized a trial before."
|
1312 |
msgstr "以前すでに試用版を利用しました。"
|
1313 |
|
1314 |
+
#: includes/i18n.php:370
|
1315 |
msgid "You are already running the plugin in a trial mode."
|
1316 |
msgstr "すでにトライアル版のプラグインを利用しています。"
|
1317 |
|
1318 |
+
#: includes/i18n.php:371
|
1319 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1320 |
msgstr "%s プランは存在しないため、試用を開始できません。"
|
1321 |
|
1322 |
+
#: includes/i18n.php:372
|
1323 |
msgid "Plan %s does not support a trial period."
|
1324 |
msgstr "%s プランにはトライアル期間はありません。"
|
1325 |
|
1326 |
+
#: includes/i18n.php:373
|
1327 |
msgid "None of the plugin's plans supports a trial period."
|
1328 |
msgstr "トライアル期間をサポートしているプランのプラグインはありません。"
|
1329 |
|
1330 |
+
#: includes/i18n.php:374
|
1331 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1332 |
msgstr "予期しない API のエラー。プラグイン開発者に連絡をとってください。"
|
1333 |
|
1334 |
+
#: includes/i18n.php:375
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
msgstr "%s 日以内であればいつでもキャンセルできます。"
|
1337 |
|
1338 |
+
#: includes/i18n.php:376
|
1339 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
|
|
|
|
1340 |
msgstr "ライセンスは有効期限がきれました。%s の機能を引き続き利用することができます。ただし、アップデートやサポートをうけるにはライセンスをアップデートする必要があります。"
|
1341 |
|
1342 |
+
#: includes/i18n.php:377
|
1343 |
msgid "Couldn't activate %s."
|
1344 |
msgstr "%s を有効化できません。"
|
1345 |
|
1346 |
+
#: includes/i18n.php:378
|
1347 |
msgid "Please contact us with the following message:"
|
1348 |
msgstr "以下のメッセージとともに私たちに連絡をください。"
|
1349 |
|
1350 |
+
#: includes/i18n.php:379
|
1351 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1352 |
msgstr "まだ %s プランのようです。もしアップグレードやプランの変更をしたのなら、こちらで何らかの問題が発生しているようです。申し訳ありません。"
|
1353 |
|
1354 |
+
#: includes/i18n.php:380
|
1355 |
msgid "Please contact us here"
|
1356 |
msgstr "こちらで私たちに連絡をとってください。"
|
1357 |
|
1358 |
+
#: includes/i18n.php:381
|
1359 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
|
|
|
|
1360 |
msgstr "アカウントをアップグレードしましたが、ライセンスを同期しようとするとプランが %s のままです。"
|
1361 |
|
1362 |
+
#: includes/i18n.php:384
|
1363 |
msgid "From unknown reason, the API connectivity test failed."
|
1364 |
msgstr "不明のエラーにより、API 接続ができませんでした。"
|
1365 |
|
1366 |
+
#: includes/i18n.php:385
|
1367 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1368 |
msgstr "それは私たちの一時的な問題のようです。もし許可していただけるなら他の接続テストをしてもよいですか?"
|
1369 |
|
1370 |
+
#: includes/i18n.php:386
|
1371 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1372 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1373 |
|
1374 |
+
#: includes/i18n.php:387
|
1375 |
+
msgid "Disabled method(s):"
|
1376 |
+
msgstr "Disabled method(s):"
|
1377 |
+
|
1378 |
+
#: includes/i18n.php:388
|
1379 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1380 |
msgstr "不明のエラーにより私たちが使用している CloudFlare のファイヤーウォールが接続を拒否したようです。"
|
1381 |
|
1382 |
+
#: includes/i18n.php:389
|
1383 |
msgctxt "as pluginX requires an access to our API"
|
1384 |
msgid "%s requires an access to our API."
|
1385 |
msgstr "%s は、私たちの API への接続が必要です。"
|
1386 |
|
1387 |
+
#: includes/i18n.php:391
|
1388 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
|
|
|
|
1389 |
msgstr "サーバーは Squid ACL(Access control lists) を使用しているらしく、それが接続をブロックしています。"
|
1390 |
|
1391 |
+
#: includes/i18n.php:392
|
1392 |
msgid "I don't know what is Squid or ACL, help me!"
|
1393 |
msgstr "Squid ACL について知りません。助けてください!"
|
1394 |
|
1395 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1396 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1397 |
msgstr "ホスティング会社に連絡して問題を解決してください。 更新が完了したら、 %s へのフォローアップメールが届きます。"
|
1398 |
|
1399 |
+
#: includes/i18n.php:394
|
1400 |
msgid "I'm a system administrator"
|
1401 |
msgstr "私はシステム管理者です"
|
1402 |
|
1403 |
+
#: includes/i18n.php:395
|
1404 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1405 |
+
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
|
|
|
|
1406 |
|
1407 |
+
#: includes/i18n.php:396
|
1408 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1409 |
msgstr "cURL がなにか、そのインストール方法を知りません。助けてください。"
|
1410 |
|
1411 |
+
#: includes/i18n.php:398
|
1412 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1413 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1414 |
|
1415 |
+
#: includes/i18n.php:399
|
1416 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1417 |
msgstr "それは私たちの側の問題だと確信しています。もし機会をくれるなら私たちはそれを一刻でも早く修正します。"
|
1418 |
|
1419 |
+
#: includes/i18n.php:400
|
1420 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1421 |
msgstr "ご迷惑をおかけしてすいません。もし機会をいただけたらお手伝いをします。"
|
1422 |
|
1423 |
+
#: includes/i18n.php:401
|
1424 |
msgid "Yes - I'm giving you a chance to fix it"
|
1425 |
msgstr "はい、修正をお願いします。"
|
1426 |
|
1427 |
+
#: includes/i18n.php:402
|
1428 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1429 |
msgstr "私たちは、少しでも早くサーバーをホワイトリストに登録して問題を修正します。アップデートを行ったら、%s あてに報告を送信します。"
|
1430 |
|
1431 |
+
#: includes/i18n.php:403
|
1432 |
msgid "Let's try your previous version"
|
1433 |
msgstr "以前のバージョンでお試しください。"
|
1434 |
|
1435 |
+
#: includes/i18n.php:404
|
1436 |
msgid "Uninstall this version and install the previous one."
|
1437 |
msgstr "このバージョンをアンインストールして、以前のバージョンをインストールする。"
|
1438 |
|
1439 |
+
#: includes/i18n.php:405
|
1440 |
msgid "That's exhausting, please deactivate"
|
1441 |
msgstr "それは、使用できません。無効化してください。"
|
1442 |
|
1443 |
+
#: includes/i18n.php:406
|
1444 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1445 |
msgstr "ご迷惑をおかけして心からお詫び申し上げます。将来ふたたびお会いできることを楽しみにしています。"
|
1446 |
|
1447 |
+
#: includes/i18n.php:407
|
1448 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1449 |
msgstr "修正するチャンスをいただきありがとうございます! テクニカルスタッフにメッセージが送信されました。 %s への更新が行われるとすぐにあなたに連絡します。 あなたの忍耐に感謝します。"
|
1450 |
|
1451 |
+
#: includes/i18n.php:408
|
1452 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1453 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1454 |
msgstr "サーバーは %1s の同期に不可欠な Freemius の API へのアクセスをブロックしています。 ホワイトリストに %2s を追加していただけるようあなたのホスティング会社に連絡してください。"
|
1455 |
|
1456 |
+
#: includes/i18n.php:410
|
1457 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1458 |
msgstr "認証パラメータの1つが間違っているようです。 公開鍵、秘密鍵、ユーザーIDを更新して、もう一度お試しください。"
|
1459 |
|
1460 |
+
#: includes/i18n.php:413
|
1461 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1462 |
msgstr "メールボックスを確認してください。所有権の変更を確認するには、%s でメールを受け取る必要があります。 セキュリティ上の理由から、次の15分以内に変更を確認する必要があります。 電子メールが見つからない場合は、迷惑メールフォルダを確認してください。"
|
1463 |
|
1464 |
+
#: includes/i18n.php:414
|
1465 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1466 |
msgstr "所有権の変更を確認していただきありがとうございます。 %s に承認メールが送信されました。"
|
1467 |
|
1468 |
+
#: includes/i18n.php:415
|
1469 |
msgid "%s is the new owner of the account."
|
1470 |
msgstr "%s は新しいオーナーです。"
|
1471 |
|
1472 |
+
#: includes/i18n.php:417
|
1473 |
msgctxt "addonX cannot run without pluginY"
|
1474 |
msgid "%s cannot run without %s."
|
1475 |
msgstr "%s は、%s が無いと実行することができません。"
|
1476 |
|
1477 |
+
#: includes/i18n.php:419
|
1478 |
msgctxt "addonX cannot run..."
|
1479 |
msgid "%s cannot run without the plugin."
|
1480 |
msgstr "%s は、プラグインが無いと実行することができません。"
|
1481 |
|
1482 |
+
#: includes/i18n.php:420
|
1483 |
msgctxt "pluginX activation was successfully..."
|
1484 |
msgid "%s activation was successfully completed."
|
1485 |
msgstr "%s の有効化が成功しました。"
|
1486 |
|
1487 |
+
#: includes/i18n.php:422
|
1488 |
msgctxt "Plugin installer section title"
|
1489 |
msgid "Features & Pricing"
|
1490 |
msgstr "機能 & 料金"
|
1491 |
|
1492 |
+
#: includes/i18n.php:423
|
1493 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1494 |
msgstr "アドオンが WordPress.org か Freemius にデプロイされている必要があります。"
|
1495 |
|
1496 |
+
#: includes/i18n.php:424
|
1497 |
msgid "Paid add-on must be deployed to Freemius."
|
1498 |
msgstr "有料アドオンは Freemius にデプロイされている必要があります。"
|
1499 |
|
1500 |
+
#: includes/i18n.php:428
|
1501 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1502 |
msgstr "%s はプレミアムのみのアドオンです。そのプラグインを有効化する前にライセンスを購入する必要があります。"
|
1503 |
|
1504 |
+
#: includes/i18n.php:429
|
1505 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1506 |
msgstr "%s の無料試用が正常にキャンセルされました。 アドオンはプレミアムなので、自動的に無効化されました。 将来使用したい場合は、ライセンスを購入する必要があります。"
|
1507 |
|
1508 |
+
#: includes/i18n.php:434
|
1509 |
msgctxt "as every month"
|
1510 |
msgid "Monthly"
|
1511 |
msgstr "月"
|
1512 |
|
1513 |
+
#: includes/i18n.php:435
|
1514 |
msgctxt "as monthly period"
|
1515 |
msgid "mo"
|
1516 |
msgstr "月"
|
1517 |
|
1518 |
+
#: includes/i18n.php:436
|
1519 |
msgctxt "as once a year"
|
1520 |
msgid "Annual"
|
1521 |
msgstr "年次"
|
1522 |
|
1523 |
+
#: includes/i18n.php:437
|
1524 |
msgctxt "as once a year"
|
1525 |
msgid "Annually"
|
1526 |
msgstr "毎年"
|
1527 |
|
1528 |
+
#: includes/i18n.php:438
|
1529 |
msgctxt "as once a year"
|
1530 |
msgid "Once"
|
1531 |
msgstr "一度"
|
1532 |
|
1533 |
+
#: includes/i18n.php:439
|
1534 |
msgctxt "as annual period"
|
1535 |
msgid "year"
|
1536 |
msgstr "年"
|
1537 |
|
1538 |
+
#: includes/i18n.php:440
|
1539 |
msgid "Lifetime"
|
1540 |
msgstr "ライフタイム"
|
1541 |
|
1542 |
+
#: includes/i18n.php:441
|
1543 |
msgctxt "e.g. the best product"
|
1544 |
msgid "Best"
|
1545 |
msgstr "ベスト"
|
1546 |
|
1547 |
+
#: includes/i18n.php:442
|
1548 |
msgctxt "e.g. billed monthly"
|
1549 |
msgid "Billed %s"
|
1550 |
msgstr "%s への請求"
|
1551 |
|
1552 |
+
#: includes/i18n.php:443
|
1553 |
msgctxt "as a discount of $5 or 10%"
|
1554 |
msgid "Save %s"
|
1555 |
msgstr "%s を保存"
|
1556 |
|
1557 |
+
#: includes/i18n.php:445
|
1558 |
msgid "View details"
|
1559 |
msgstr "詳細を表示"
|
1560 |
|
1561 |
+
#: includes/i18n.php:449
|
1562 |
msgctxt "button label"
|
1563 |
msgid "Approve & Start Trial"
|
1564 |
msgstr "気に入ったのでトライアルを開始"
|
1565 |
|
1566 |
+
#: includes/i18n.php:451
|
1567 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
|
|
|
|
1568 |
msgstr "%2$s プランの%1$s日間のフリートライアルを開始するまであとワンクリックです。"
|
1569 |
|
1570 |
+
#: includes/i18n.php:453
|
1571 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1572 |
msgstr "WordPress.org ガイドラインの遵守のため、ユーザーとセンシティブでないサイト情報をオプトインすること、バージョンの更新確認のために %s へとプラグインが一時的にデータを送信することの許可、トライアルを有効にすることの3つについて、トライアルの開始前にお尋ねします。"
|
1573 |
|
1574 |
+
#: includes/i18n.php:459
|
1575 |
msgid "Business name"
|
1576 |
msgstr "商号"
|
1577 |
|
1578 |
+
#: includes/i18n.php:460
|
1579 |
msgid "Tax / VAT ID"
|
1580 |
msgstr "税金 / VAT ID"
|
1581 |
|
1582 |
+
#: includes/i18n.php:461
|
1583 |
msgid "Address Line %d"
|
1584 |
msgstr "住所欄 %d"
|
1585 |
|
1586 |
+
#: includes/i18n.php:462
|
1587 |
msgid "Country"
|
1588 |
msgstr "国"
|
1589 |
|
1590 |
+
#: includes/i18n.php:463
|
1591 |
msgid "Select Country"
|
1592 |
msgstr "国を選択"
|
1593 |
|
1594 |
+
#: includes/i18n.php:464
|
1595 |
msgid "City"
|
1596 |
msgstr "市"
|
1597 |
|
1598 |
+
#: includes/i18n.php:465
|
1599 |
msgid "Town"
|
1600 |
msgstr "町"
|
1601 |
|
1602 |
+
#: includes/i18n.php:466
|
1603 |
msgid "State"
|
1604 |
msgstr "州"
|
1605 |
|
1606 |
+
#: includes/i18n.php:467
|
1607 |
msgid "Province"
|
1608 |
msgstr "県・州・省"
|
1609 |
|
1610 |
+
#: includes/i18n.php:468
|
1611 |
msgid "ZIP / Postal Code"
|
1612 |
msgstr "ZIP / 郵便番号"
|
1613 |
+
|
1614 |
+
#: includes/i18n.php:473
|
1615 |
+
msgid "Installing plugin: %s"
|
1616 |
+
msgstr "Installing plugin: %s"
|
1617 |
+
|
1618 |
+
#: includes/i18n.php:474
|
1619 |
+
msgid "Automatic Installation"
|
1620 |
+
msgstr "Automatic Installation"
|
1621 |
+
|
1622 |
+
#: includes/i18n.php:476
|
1623 |
+
msgid "%s sec"
|
1624 |
+
msgstr "%s sec"
|
1625 |
+
|
1626 |
+
#: includes/i18n.php:477
|
1627 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1628 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1629 |
+
|
1630 |
+
#: includes/i18n.php:478
|
1631 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1632 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1633 |
+
|
1634 |
+
#: includes/i18n.php:479
|
1635 |
+
msgid "Cancel Installation"
|
1636 |
+
msgstr "Cancel Installation"
|
1637 |
+
|
1638 |
+
#: includes/i18n.php:480
|
1639 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1640 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1641 |
+
|
1642 |
+
#: includes/i18n.php:481
|
1643 |
+
msgid "Invalid module ID."
|
1644 |
+
msgstr "Invalid module ID."
|
1645 |
+
|
1646 |
+
#: includes/i18n.php:482
|
1647 |
+
msgid "Auto installation only works for opted-in users."
|
1648 |
+
msgstr "Auto installation only works for opted-in users."
|
1649 |
+
|
1650 |
+
#: includes/i18n.php:483
|
1651 |
+
msgid "Premium version already active."
|
1652 |
+
msgstr "Premium version already active."
|
1653 |
+
|
1654 |
+
#: includes/i18n.php:484
|
1655 |
+
msgid "Premium add-on version already installed."
|
1656 |
+
msgstr "Premium add-on version already installed."
|
1657 |
+
|
1658 |
+
#: includes/i18n.php:485
|
1659 |
+
msgid "You do not have a valid license to access the premium version."
|
1660 |
+
msgstr "You do not have a valid license to access the premium version."
|
1661 |
+
|
1662 |
+
#: includes/i18n.php:486
|
1663 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1664 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1665 |
+
|
1666 |
+
#: includes/i18n.php:501
|
1667 |
+
msgctxt "Plugin installer section title"
|
1668 |
+
msgid "Description"
|
1669 |
+
msgstr "Description"
|
1670 |
+
|
1671 |
+
#: includes/i18n.php:502
|
1672 |
+
msgctxt "Plugin installer section title"
|
1673 |
+
msgid "Installation"
|
1674 |
+
msgstr "Installation"
|
1675 |
+
|
1676 |
+
#: includes/i18n.php:503
|
1677 |
+
msgctxt "Plugin installer section title"
|
1678 |
+
msgid "FAQ"
|
1679 |
+
msgstr "FAQ"
|
1680 |
+
|
1681 |
+
#: includes/i18n.php:504
|
1682 |
+
msgctxt "Plugin installer section title"
|
1683 |
+
msgid "Changelog"
|
1684 |
+
msgstr "Changelog"
|
1685 |
+
|
1686 |
+
#: includes/i18n.php:505
|
1687 |
+
msgctxt "Plugin installer section title"
|
1688 |
+
msgid "Reviews"
|
1689 |
+
msgstr "Reviews"
|
1690 |
+
|
1691 |
+
#: includes/i18n.php:506
|
1692 |
+
msgctxt "Plugin installer section title"
|
1693 |
+
msgid "Other Notes"
|
1694 |
+
msgstr "Other Notes"
|
1695 |
+
|
1696 |
+
#: includes/i18n.php:508
|
1697 |
+
msgid "%s star"
|
1698 |
+
msgstr "%s star"
|
1699 |
+
|
1700 |
+
#: includes/i18n.php:510
|
1701 |
+
msgid "%s stars"
|
1702 |
+
msgstr "%s stars"
|
1703 |
+
|
1704 |
+
#: includes/i18n.php:512
|
1705 |
+
msgid "%s rating"
|
1706 |
+
msgstr "%s rating"
|
1707 |
+
|
1708 |
+
#: includes/i18n.php:514
|
1709 |
+
msgid "%s ratings"
|
1710 |
+
msgstr "%s ratings"
|
1711 |
+
|
1712 |
+
#: includes/i18n.php:516
|
1713 |
+
msgid "%s time"
|
1714 |
+
msgstr "%s time"
|
1715 |
+
|
1716 |
+
#: includes/i18n.php:518
|
1717 |
+
msgid "%s times"
|
1718 |
+
msgstr "%s times"
|
1719 |
+
|
1720 |
+
#: includes/i18n.php:520
|
1721 |
+
msgid "Click to see reviews that provided a rating of %s"
|
1722 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
1723 |
+
|
1724 |
+
#: includes/i18n.php:521
|
1725 |
+
msgid "Last Updated"
|
1726 |
+
msgstr "Last Updated"
|
1727 |
+
|
1728 |
+
#: includes/i18n.php:522
|
1729 |
+
msgid "Requires WordPress Version:"
|
1730 |
+
msgstr "Requires WordPress Version:"
|
1731 |
+
|
1732 |
+
#: includes/i18n.php:523
|
1733 |
+
msgctxt "as the plugin author"
|
1734 |
+
msgid "Author:"
|
1735 |
+
msgstr "Author:"
|
1736 |
+
|
1737 |
+
#: includes/i18n.php:524
|
1738 |
+
msgid "Compatible up to:"
|
1739 |
+
msgstr "Compatible up to:"
|
1740 |
+
|
1741 |
+
#: includes/i18n.php:525
|
1742 |
+
msgid "Downloaded:"
|
1743 |
+
msgstr "Downloaded:"
|
1744 |
+
|
1745 |
+
#: includes/i18n.php:526
|
1746 |
+
msgid "WordPress.org Plugin Page"
|
1747 |
+
msgstr "WordPress.org Plugin Page"
|
1748 |
+
|
1749 |
+
#: includes/i18n.php:527
|
1750 |
+
msgid "Plugin Homepage"
|
1751 |
+
msgstr "Plugin Homepage"
|
1752 |
+
|
1753 |
+
#: includes/i18n.php:528
|
1754 |
+
msgid "Donate to this plugin"
|
1755 |
+
msgstr "Donate to this plugin"
|
1756 |
+
|
1757 |
+
#: includes/i18n.php:529
|
1758 |
+
msgid "Average Rating"
|
1759 |
+
msgstr "Average Rating"
|
1760 |
+
|
1761 |
+
#: includes/i18n.php:530
|
1762 |
+
msgid "based on %s"
|
1763 |
+
msgstr "based on %s"
|
1764 |
+
|
1765 |
+
#: includes/i18n.php:531
|
1766 |
+
msgid "Warning:"
|
1767 |
+
msgstr "Warning:"
|
1768 |
+
|
1769 |
+
#: includes/i18n.php:532
|
1770 |
+
msgid "Contributors"
|
1771 |
+
msgstr "Contributors"
|
1772 |
+
|
1773 |
+
#: includes/i18n.php:533
|
1774 |
+
msgid "Plugin Install"
|
1775 |
+
msgstr "Plugin Install"
|
1776 |
+
|
1777 |
+
#: includes/i18n.php:534
|
1778 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
1779 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
1780 |
+
|
1781 |
+
#: includes/i18n.php:535
|
1782 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1783 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1784 |
+
|
1785 |
+
#: includes/i18n.php:536
|
1786 |
+
msgid "Newer Version (%s) Installed"
|
1787 |
+
msgstr "Newer Version (%s) Installed"
|
1788 |
+
|
1789 |
+
#: includes/i18n.php:537
|
1790 |
+
msgid "Latest Version Installed"
|
1791 |
+
msgstr "Latest Version Installed"
|
freemius/languages/freemius.pot
CHANGED
@@ -77,1648 +77,1709 @@ msgid "Downgrade"
|
|
77 |
msgstr ""
|
78 |
|
79 |
#: includes/i18n.php:51
|
80 |
-
|
|
|
81 |
msgstr ""
|
82 |
|
83 |
#: includes/i18n.php:52
|
84 |
-
msgid "
|
85 |
msgstr ""
|
86 |
|
87 |
#: includes/i18n.php:53
|
88 |
-
msgid "
|
89 |
msgstr ""
|
90 |
|
91 |
#: includes/i18n.php:54
|
92 |
-
msgid "
|
93 |
msgstr ""
|
94 |
|
95 |
#: includes/i18n.php:55
|
96 |
-
msgid "
|
97 |
msgstr ""
|
98 |
|
99 |
#: includes/i18n.php:56
|
100 |
-
msgid "
|
101 |
msgstr ""
|
102 |
|
103 |
#: includes/i18n.php:57
|
104 |
-
msgid "
|
105 |
msgstr ""
|
106 |
|
107 |
#: includes/i18n.php:58
|
|
|
|
|
|
|
|
|
108 |
msgctxt "verb"
|
109 |
msgid "Delete"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: includes/i18n.php:
|
113 |
msgctxt "verb"
|
114 |
msgid "Show"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: includes/i18n.php:
|
118 |
msgctxt "verb"
|
119 |
msgid "Hide"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: includes/i18n.php:
|
123 |
msgctxt "verb"
|
124 |
msgid "Edit"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: includes/i18n.php:
|
128 |
msgctxt "verb"
|
129 |
msgid "Update"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: includes/i18n.php:
|
133 |
msgid "Date"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: includes/i18n.php:
|
137 |
msgid "Amount"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: includes/i18n.php:
|
141 |
msgid "Invoice"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Billing"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Payments"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Delete Account"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgctxt "as close a window"
|
158 |
msgid "Dismiss"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: includes/i18n.php:
|
162 |
msgctxt "as product pricing plan"
|
163 |
msgid "Plan"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: includes/i18n.php:
|
167 |
msgid "Change Plan"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: includes/i18n.php:
|
171 |
msgctxt "as download professional version"
|
172 |
msgid "Download %s Version"
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: includes/i18n.php:
|
176 |
msgctxt "as download professional version now"
|
177 |
msgid "Download %s version now"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: includes/i18n.php:
|
181 |
msgctxt "as download latest version"
|
182 |
msgid "Download Latest"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: includes/i18n.php:
|
186 |
msgctxt "E.g. you have a professional license."
|
187 |
msgid "You have a %s license."
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: includes/i18n.php:
|
191 |
msgid "New"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: includes/i18n.php:
|
195 |
msgid "Free"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: includes/i18n.php:
|
199 |
msgctxt "as trial plan"
|
200 |
msgid "Trial"
|
201 |
msgstr ""
|
202 |
|
203 |
-
#: includes/i18n.php:
|
204 |
msgctxt "as starting a trial plan"
|
205 |
msgid "Start Trial"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: includes/i18n.php:
|
209 |
msgctxt "verb"
|
210 |
msgid "Purchase"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: includes/i18n.php:
|
214 |
msgid "Purchase License"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: includes/i18n.php:
|
218 |
msgctxt "verb"
|
219 |
msgid "Buy"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: includes/i18n.php:
|
223 |
msgid "Buy License"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: includes/i18n.php:
|
227 |
msgid "Single Site License"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: includes/i18n.php:
|
231 |
msgid "Unlimited Licenses"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Up to %s Sites"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "%sRenew your license now%s to access version %s features and support."
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgctxt "e.g. Professional Plan"
|
248 |
msgid "%s Plan"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: includes/i18n.php:
|
252 |
msgid "You are just one step away - %s"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: includes/i18n.php:
|
256 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
257 |
msgid "Complete \"%s\" Activation Now"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: includes/i18n.php:
|
261 |
msgid "We made a few tweaks to the plugin, %s"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: includes/i18n.php:
|
265 |
msgid "Opt-in to make \"%s\" Better!"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: includes/i18n.php:
|
269 |
msgid "Error"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: includes/i18n.php:
|
273 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: includes/i18n.php:
|
277 |
msgctxt "as expiration date"
|
278 |
msgid "Expiration"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: includes/i18n.php:
|
282 |
msgctxt "as software license"
|
283 |
msgid "License"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: includes/i18n.php:
|
287 |
msgid "not verified"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: includes/i18n.php:
|
291 |
msgid "Verify Email"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: includes/i18n.php:
|
295 |
msgctxt "e.g. expires in 2 months"
|
296 |
msgid "Expires in %s"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: includes/i18n.php:
|
300 |
msgctxt "e.g. auto renews in 2 months"
|
301 |
msgid "Auto renews in %s"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: includes/i18n.php:
|
305 |
msgid "No expiration"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: includes/i18n.php:
|
309 |
msgid "Expired"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: includes/i18n.php:
|
313 |
msgid "Cancelled"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: includes/i18n.php:
|
317 |
msgctxt "e.g. In 2 hours"
|
318 |
msgid "In %s"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: includes/i18n.php:
|
322 |
msgctxt "e.g. 2 min ago"
|
323 |
msgid "%s ago"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: includes/i18n.php:
|
327 |
msgid "%s or higher"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: includes/i18n.php:
|
331 |
msgctxt "as plugin version"
|
332 |
msgid "Version"
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: includes/i18n.php:
|
336 |
msgid "Name"
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: includes/i18n.php:
|
340 |
msgid "Email"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: includes/i18n.php:
|
344 |
msgid "Email address"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Verified"
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Module"
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Module Type"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Plugin"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: includes/i18n.php:
|
364 |
msgid "Plugins"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Theme"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: includes/i18n.php:
|
372 |
msgid "Themes"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgctxt "as file/folder path"
|
377 |
msgid "Path"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Title"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Free version"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgid "Premium version"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgctxt "as WP plugin slug"
|
394 |
msgid "Slug"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "ID"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Users"
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Plugin Installs"
|
407 |
msgstr ""
|
408 |
|
409 |
-
#: includes/i18n.php:
|
410 |
msgid "%s Installs"
|
411 |
msgstr ""
|
412 |
|
413 |
-
#: includes/i18n.php:
|
414 |
msgctxt "like websites"
|
415 |
msgid "Sites"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgid "User ID"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/i18n.php:
|
423 |
msgid "Site ID"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgid "Public Key"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgid "Secret Key"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/i18n.php:
|
435 |
msgctxt "as secret encryption key missing"
|
436 |
msgid "No Secret"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgid "No ID"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: includes/i18n.php:
|
444 |
msgctxt "as synchronize license"
|
445 |
msgid "Sync License"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: includes/i18n.php:
|
449 |
msgctxt "as synchronize"
|
450 |
msgid "Sync"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: includes/i18n.php:
|
454 |
msgid "Activate License"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: includes/i18n.php:
|
458 |
msgid "Activate Free Version"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: includes/i18n.php:
|
462 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: includes/i18n.php:
|
466 |
msgid "Activating license..."
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: includes/i18n.php:
|
470 |
msgid "Change License"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: includes/i18n.php:
|
474 |
msgid "Update License"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: includes/i18n.php:
|
478 |
msgid "Deactivate License"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/i18n.php:
|
482 |
msgid "Activate"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: includes/i18n.php:
|
486 |
msgid "Deactivate"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: includes/i18n.php:
|
490 |
msgid "Skip & Deactivate"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/i18n.php:
|
494 |
msgid "Skip & %s"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: includes/i18n.php:
|
498 |
msgid "No - just deactivate"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: includes/i18n.php:
|
502 |
msgid "Yes - do your thing"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: includes/i18n.php:
|
506 |
msgctxt "active mode"
|
507 |
msgid "Active"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/i18n.php:
|
511 |
msgctxt "is active mode?"
|
512 |
msgid "Is Active"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: includes/i18n.php:
|
516 |
msgid "Install Now"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/i18n.php:
|
520 |
msgid "Install Update Now"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: includes/i18n.php:
|
524 |
msgid "More information about %s"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: includes/i18n.php:
|
528 |
msgid "Localhost"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: includes/i18n.php:
|
532 |
msgctxt "as activate Professional plan"
|
533 |
msgid "Activate %s Plan"
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: includes/i18n.php:
|
537 |
msgctxt "as 5 licenses left"
|
538 |
msgid "%s left"
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: includes/i18n.php:
|
542 |
msgid "Last license"
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: includes/i18n.php:
|
546 |
msgid "What is your %s?"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: includes/i18n.php:
|
550 |
msgid "Activate this add-on"
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: includes/i18n.php:
|
554 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: includes/i18n.php:
|
558 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: includes/i18n.php:
|
562 |
msgid "Deletion is not temporary. Only delete if you no longer want to use thi
|
77 |
msgstr ""
|
78 |
|
79 |
#: includes/i18n.php:51
|
80 |
+
msgctxt "verb"
|
81 |
+
msgid "Cancel Subscription"
|
82 |
msgstr ""
|
83 |
|
84 |
#: includes/i18n.php:52
|
85 |
+
msgid "Cancel Trial"
|
86 |
msgstr ""
|
87 |
|
88 |
#: includes/i18n.php:53
|
89 |
+
msgid "Free Trial"
|
90 |
msgstr ""
|
91 |
|
92 |
#: includes/i18n.php:54
|
93 |
+
msgid "Start my free %s"
|
94 |
msgstr ""
|
95 |
|
96 |
#: includes/i18n.php:55
|
97 |
+
msgid "No commitment for %s - cancel anytime"
|
98 |
msgstr ""
|
99 |
|
100 |
#: includes/i18n.php:56
|
101 |
+
msgid "After your free %s, pay as little as %s"
|
102 |
msgstr ""
|
103 |
|
104 |
#: includes/i18n.php:57
|
105 |
+
msgid "Details"
|
106 |
msgstr ""
|
107 |
|
108 |
#: includes/i18n.php:58
|
109 |
+
msgid "Account Details"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: includes/i18n.php:59
|
113 |
msgctxt "verb"
|
114 |
msgid "Delete"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: includes/i18n.php:60
|
118 |
msgctxt "verb"
|
119 |
msgid "Show"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: includes/i18n.php:61
|
123 |
msgctxt "verb"
|
124 |
msgid "Hide"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: includes/i18n.php:62
|
128 |
msgctxt "verb"
|
129 |
msgid "Edit"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: includes/i18n.php:63
|
133 |
msgctxt "verb"
|
134 |
msgid "Update"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: includes/i18n.php:64
|
138 |
msgid "Date"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: includes/i18n.php:65
|
142 |
msgid "Amount"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: includes/i18n.php:66
|
146 |
msgid "Invoice"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: includes/i18n.php:67
|
150 |
msgid "Billing"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: includes/i18n.php:68
|
154 |
msgid "Payments"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: includes/i18n.php:69
|
158 |
msgid "Delete Account"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: includes/i18n.php:70
|
162 |
msgctxt "as close a window"
|
163 |
msgid "Dismiss"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: includes/i18n.php:71
|
167 |
msgctxt "as product pricing plan"
|
168 |
msgid "Plan"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: includes/i18n.php:72
|
172 |
msgid "Change Plan"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: includes/i18n.php:73
|
176 |
msgctxt "as download professional version"
|
177 |
msgid "Download %s Version"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: includes/i18n.php:74
|
181 |
msgctxt "as download professional version now"
|
182 |
msgid "Download %s version now"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: includes/i18n.php:75
|
186 |
msgctxt "as download latest version"
|
187 |
msgid "Download Latest"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: includes/i18n.php:76
|
191 |
msgctxt "E.g. you have a professional license."
|
192 |
msgid "You have a %s license."
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: includes/i18n.php:77
|
196 |
msgid "New"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: includes/i18n.php:78
|
200 |
msgid "Free"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: includes/i18n.php:79
|
204 |
msgctxt "as trial plan"
|
205 |
msgid "Trial"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: includes/i18n.php:80
|
209 |
msgctxt "as starting a trial plan"
|
210 |
msgid "Start Trial"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: includes/i18n.php:81
|
214 |
msgctxt "verb"
|
215 |
msgid "Purchase"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: includes/i18n.php:82
|
219 |
msgid "Purchase License"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: includes/i18n.php:83
|
223 |
msgctxt "verb"
|
224 |
msgid "Buy"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: includes/i18n.php:84
|
228 |
msgid "Buy License"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: includes/i18n.php:85
|
232 |
msgid "Single Site License"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: includes/i18n.php:86
|
236 |
msgid "Unlimited Licenses"
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: includes/i18n.php:87
|
240 |
msgid "Up to %s Sites"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: includes/i18n.php:88
|
244 |
msgid "%sRenew your license now%s to access version %s features and support."
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: includes/i18n.php:89
|
248 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: includes/i18n.php:90
|
252 |
msgctxt "e.g. Professional Plan"
|
253 |
msgid "%s Plan"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: includes/i18n.php:91
|
257 |
msgid "You are just one step away - %s"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: includes/i18n.php:92
|
261 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
262 |
msgid "Complete \"%s\" Activation Now"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: includes/i18n.php:94
|
266 |
msgid "We made a few tweaks to the plugin, %s"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: includes/i18n.php:95
|
270 |
msgid "Opt-in to make \"%s\" Better!"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: includes/i18n.php:96
|
274 |
msgid "Error"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: includes/i18n.php:97
|
278 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: includes/i18n.php:100
|
282 |
msgctxt "as expiration date"
|
283 |
msgid "Expiration"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: includes/i18n.php:101
|
287 |
msgctxt "as software license"
|
288 |
msgid "License"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: includes/i18n.php:102
|
292 |
msgid "not verified"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: includes/i18n.php:103
|
296 |
msgid "Verify Email"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: includes/i18n.php:104
|
300 |
msgctxt "e.g. expires in 2 months"
|
301 |
msgid "Expires in %s"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: includes/i18n.php:105
|
305 |
msgctxt "e.g. auto renews in 2 months"
|
306 |
msgid "Auto renews in %s"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: includes/i18n.php:106
|
310 |
msgid "No expiration"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: includes/i18n.php:107
|
314 |
msgid "Expired"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: includes/i18n.php:108
|
318 |
msgid "Cancelled"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: includes/i18n.php:109
|
322 |
msgctxt "e.g. In 2 hours"
|
323 |
msgid "In %s"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: includes/i18n.php:110
|
327 |
msgctxt "e.g. 2 min ago"
|
328 |
msgid "%s ago"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: includes/i18n.php:112
|
332 |
msgid "%s or higher"
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: includes/i18n.php:113
|
336 |
msgctxt "as plugin version"
|
337 |
msgid "Version"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: includes/i18n.php:114
|
341 |
msgid "Name"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: includes/i18n.php:115
|
345 |
msgid "Email"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: includes/i18n.php:116
|
349 |
msgid "Email address"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: includes/i18n.php:117
|
353 |
msgid "Verified"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: includes/i18n.php:118
|
357 |
msgid "Module"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: includes/i18n.php:119
|
361 |
msgid "Module Type"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: includes/i18n.php:120
|
365 |
msgid "Plugin"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: includes/i18n.php:121
|
369 |
msgid "Plugins"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: includes/i18n.php:122
|
373 |
msgid "Theme"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: includes/i18n.php:123
|
377 |
msgid "Themes"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: includes/i18n.php:124
|
381 |
msgctxt "as file/folder path"
|
382 |
msgid "Path"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: includes/i18n.php:125
|
386 |
msgid "Title"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: includes/i18n.php:126
|
390 |
msgid "Free version"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: includes/i18n.php:127
|
394 |
msgid "Premium version"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: includes/i18n.php:128
|
398 |
msgctxt "as WP plugin slug"
|
399 |
msgid "Slug"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: includes/i18n.php:129
|
403 |
msgid "ID"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/i18n.php:130
|
407 |
msgid "Users"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/i18n.php:131
|
411 |
msgid "Plugin Installs"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/i18n.php:132
|
415 |
msgid "%s Installs"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/i18n.php:133
|
419 |
msgctxt "like websites"
|
420 |
msgid "Sites"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: includes/i18n.php:134
|
424 |
msgid "User ID"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/i18n.php:135
|
428 |
msgid "Site ID"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/i18n.php:136
|
432 |
msgid "Public Key"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/i18n.php:137
|
436 |
msgid "Secret Key"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/i18n.php:138
|
440 |
msgctxt "as secret encryption key missing"
|
441 |
msgid "No Secret"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: includes/i18n.php:139
|
445 |
msgid "No ID"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: includes/i18n.php:140
|
449 |
msgctxt "as synchronize license"
|
450 |
msgid "Sync License"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: includes/i18n.php:141
|
454 |
msgctxt "as synchronize"
|
455 |
msgid "Sync"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: includes/i18n.php:142
|
459 |
msgid "Activate License"
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/i18n.php:143
|
463 |
msgid "Activate Free Version"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: includes/i18n.php:144
|
467 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: includes/i18n.php:145
|
471 |
msgid "Activating license..."
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: includes/i18n.php:146
|
475 |
msgid "Change License"
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: includes/i18n.php:147
|
479 |
msgid "Update License"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: includes/i18n.php:148
|
483 |
msgid "Deactivate License"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/i18n.php:149
|
487 |
msgid "Activate"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/i18n.php:150
|
491 |
msgid "Deactivate"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: includes/i18n.php:151
|
495 |
msgid "Skip & Deactivate"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: includes/i18n.php:152
|
499 |
msgid "Skip & %s"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: includes/i18n.php:153
|
503 |
msgid "No - just deactivate"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: includes/i18n.php:154
|
507 |
msgid "Yes - do your thing"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: includes/i18n.php:155
|
511 |
msgctxt "active mode"
|
512 |
msgid "Active"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: includes/i18n.php:156
|
516 |
msgctxt "is active mode?"
|
517 |
msgid "Is Active"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: includes/i18n.php:157
|
521 |
msgid "Install Now"
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: includes/i18n.php:158
|
525 |
msgid "Install Update Now"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: includes/i18n.php:159
|
529 |
msgid "More information about %s"
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: includes/i18n.php:160
|
533 |
msgid "Localhost"
|
534 |
msgstr ""
|
535 |
|
536 |
+
#: includes/i18n.php:161
|
537 |
msgctxt "as activate Professional plan"
|
538 |
msgid "Activate %s Plan"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: includes/i18n.php:162
|
542 |
msgctxt "as 5 licenses left"
|
543 |
msgid "%s left"
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: includes/i18n.php:163
|
547 |
msgid "Last license"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: includes/i18n.php:164
|
551 |
msgid "What is your %s?"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: includes/i18n.php:165
|
555 |
msgid "Activate this add-on"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: includes/i18n.php:166
|
559 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: includes/i18n.php:167
|
563 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: includes/i18n.php:168
|
567 |
msgid "Deletion is not temporary. Only delete if you no longer want to use thi
|