Version Description
- NEW Features:
- NextGen Gallery compatibility - Optimize all your images uploaded with NextGen Gallery
- Asynchronous Optimization - No more latency when you upload new images, Imagify will optimize them in background!
- Interface:
- Bulk Optimization: Improvements for a better experience
Download this release
Release Info
Developer | wp_media |
Plugin | Imagify Image Optimizer |
Version | 1.5 |
Comparing to | |
See all releases |
Code changes from version 1.4.7 to 1.5
- assets/css/admin.css +1348 -92
- assets/css/admin.min.css +1 -1
- assets/images/big-blue-check.png +0 -0
- assets/images/icon-arrow-choice.png +0 -0
- assets/images/icon-arrow-choice.svg +12 -0
- assets/images/icon-lock.png +0 -0
- assets/images/icon-lock.svg +18 -0
- assets/images/icon-pack.png +0 -0
- assets/images/icon-pack.svg +16 -0
- assets/images/pic-ericwaltr.jpg +0 -0
- assets/images/pic-srhdesign.jpg +0 -0
- assets/js/admin.js +606 -18
- assets/js/admin.min.js +27 -6
- assets/js/bulk.js +43 -39
- assets/js/bulk.min.js +17 -15
- assets/js/imagify.min.js +2 -2
- assets/js/upload.js +1 -1
- assets/js/upload.min.js +4 -4
- contributors.txt +10 -2
- imagify.php +45 -41
- inc/3rd-party/3rd-party.php +1 -0
- inc/3rd-party/nextgen-gallery/inc/admin/ajax.php +107 -0
- inc/3rd-party/nextgen-gallery/inc/admin/bulk.php +20 -0
- inc/3rd-party/nextgen-gallery/inc/admin/db.php +18 -0
- inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php +62 -0
- inc/3rd-party/nextgen-gallery/inc/admin/gallery.php +26 -0
- inc/3rd-party/nextgen-gallery/inc/admin/heartbeat.php +41 -0
- inc/3rd-party/nextgen-gallery/inc/admin/menu.php +17 -0
- inc/3rd-party/nextgen-gallery/inc/classes/class-attachment.php +449 -0
- inc/3rd-party/nextgen-gallery/inc/classes/class-db.php +140 -0
- inc/3rd-party/nextgen-gallery/inc/classes/class-ngg-storage.php +72 -0
- inc/3rd-party/nextgen-gallery/inc/classes/class-ngg.php +32 -0
- inc/3rd-party/nextgen-gallery/inc/common/attachments.php +73 -0
- inc/3rd-party/nextgen-gallery/inc/functions/admin-stats.php +111 -0
- inc/3rd-party/nextgen-gallery/nextgen-gallery.php +30 -0
- inc/3rd-party/wp-retina-2x.php +5 -1
- inc/admin/ajax.php +77 -19
- inc/admin/enqueue.php +11 -73
- inc/admin/heartbeat.php +1 -1
- inc/admin/media.php +9 -7
- inc/admin/meta-boxes.php +2 -2
- inc/admin/options.php +19 -6
- inc/admin/ui/bulk.php +92 -87
- inc/admin/ui/notices.php +9 -0
- inc/admin/ui/options.php +24 -2
- inc/admin/upload.php +5 -1
- inc/api/imagify.php +43 -1
- inc/classes/abstracts/abstract-attachment.php +383 -0
- inc/classes/abstracts/abstract-db.php +233 -0
- inc/classes/class-attachment.php +17 -265
- inc/common/attachments.php +9 -8
- inc/functions/admin-stats.php +147 -55
- inc/functions/admin-ui.php +549 -34
- inc/functions/admin.php +6 -5
- inc/functions/formatting.php +16 -0
- inc/functions/i18n.php +107 -0
- inc/functions/process.php +21 -12
- languages/imagify-de_DE.mo +0 -0
- languages/imagify-de_DE.po +1212 -938
- languages/imagify-de_DE_formal.mo +0 -0
- languages/imagify-de_DE_formal.po +1215 -941
- languages/imagify-es_ES.mo +0 -0
- languages/imagify-es_ES.po +581 -345
- languages/imagify-fr_FR.mo +0 -0
- languages/imagify-fr_FR.po +600 -348
- languages/imagify-it_IT.mo +0 -0
- languages/imagify-it_IT.po +593 -351
- readme.txt +12 -2
- uninstall.php +7 -0
assets/css/admin.css
CHANGED
@@ -1,12 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
body.imagify-modal-is-open {
|
2 |
overflow: hidden;
|
3 |
}
|
4 |
.imagify-plugins-error {
|
5 |
-
overflow:hidden;
|
6 |
-
padding-left:20px;
|
7 |
-
list-style-type:disc
|
8 |
}
|
9 |
-
|
10 |
.imagify-plugins-error li {
|
11 |
width:300px;
|
12 |
line-height:30px
|
@@ -79,10 +175,10 @@ body.imagify-modal-is-open {
|
|
79 |
}
|
80 |
|
81 |
/* Some basic colors */
|
82 |
-
.imagify-primary {
|
83 |
color: #40b1d0;
|
84 |
}
|
85 |
-
.imagify-secondary {
|
86 |
color: #8cc152;
|
87 |
}
|
88 |
|
@@ -157,7 +253,17 @@ td .imagify-chart {
|
|
157 |
position: relative;
|
158 |
width: 180px;
|
159 |
float: left;
|
160 |
-
margin-right:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
td .imagify-chart-container {
|
163 |
width: 18px;
|
@@ -185,16 +291,19 @@ td .imagify-chart {
|
|
185 |
}
|
186 |
|
187 |
.media_page_imagify-bulk-optimization .notice,
|
|
|
188 |
.settings_page_imagify .notice {
|
189 |
margin-right: 20px;
|
190 |
margin-left: 2px;
|
191 |
}
|
192 |
|
193 |
-
.media_page_imagify-bulk-optimization .media-item
|
|
|
194 |
margin: 0;
|
195 |
}
|
196 |
|
197 |
-
.media_page_imagify-bulk-optimization .media-item .progress
|
|
|
198 |
float: none;
|
199 |
width: 100%;
|
200 |
margin: 0;
|
@@ -203,7 +312,8 @@ td .imagify-chart {
|
|
203 |
border-radius: 0;
|
204 |
}
|
205 |
|
206 |
-
.media_page_imagify-bulk-optimization .media-item .percent
|
|
|
207 |
width: auto;
|
208 |
padding: 0 5px;
|
209 |
line-height: 1.85;
|
@@ -211,10 +321,13 @@ td .imagify-chart {
|
|
211 |
}
|
212 |
|
213 |
.media_page_imagify-bulk-optimization .media-item .progress,
|
|
|
|
|
214 |
.media_page_imagify-bulk-optimization .media-item .percent {
|
215 |
text-align: right;
|
216 |
}
|
217 |
-
.media_page_imagify-bulk-optimization .media-item .progress .bar
|
|
|
218 |
width: 1px;
|
219 |
height: 22px;
|
220 |
margin-top: 0;
|
@@ -281,13 +394,18 @@ td .imagify-chart {
|
|
281 |
.imagify-settings .button,
|
282 |
.imagify-welcome .button,
|
283 |
.imagify-notice .button,
|
284 |
-
.imagify-button
|
|
|
|
|
285 |
height: auto;
|
286 |
padding: 8px 20px;
|
287 |
border: 0 none;
|
288 |
font-size: 14px;
|
289 |
font-weight: 600;
|
290 |
box-shadow: 0 3px 0 rgba(0, 0, 0, .15);
|
|
|
|
|
|
|
291 |
}
|
292 |
|
293 |
.imagify-notice .button-mini {
|
@@ -308,20 +426,37 @@ td .imagify-chart {
|
|
308 |
box-shadow: none!important;
|
309 |
}
|
310 |
|
311 |
-
.imagify-title .button-ghost.button-ghost
|
|
|
312 |
padding: 2px 9px;
|
313 |
border: 1px solid #40B1D0;
|
314 |
font-size: 12px;
|
315 |
font-weight: normal;
|
316 |
color: #40B1D0;
|
317 |
background: transparent;
|
|
|
318 |
}
|
319 |
.imagify-title .button-ghost.button-ghost:hover,
|
320 |
-
.imagify-title .button-ghost.button-ghost:focus
|
|
|
|
|
321 |
border-color: transparent;
|
322 |
color: #000;
|
323 |
background: #40B1D0;
|
324 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
325 |
.button .dashicons {
|
326 |
margin-right: 5px;
|
327 |
vertical-align: middle;
|
@@ -334,6 +469,12 @@ td .imagify-chart {
|
|
334 |
box-shadow: 0 3px 0 rgba(51, 142, 166, 1);
|
335 |
text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799!important;
|
336 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
.imagify-settings .button-primary:hover,
|
338 |
.imagify-settings .button-primary:focus,
|
339 |
.imagify-welcome .button-primary:hover,
|
@@ -343,8 +484,55 @@ td .imagify-chart {
|
|
343 |
background: rgb(51, 142, 166);
|
344 |
box-shadow: 0 3px 0 rgb(31, 122, 146);
|
345 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
|
347 |
/* exception */
|
|
|
|
|
|
|
348 |
.wp_attachment_image .imagify-button-primary,
|
349 |
.media-frame-content .imagify-button-primary {
|
350 |
float: left;
|
@@ -360,12 +548,20 @@ td .imagify-chart {
|
|
360 |
font-weight: 600;
|
361 |
box-shadow: none;
|
362 |
}
|
363 |
-
.imagify-settings
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
}
|
366 |
@media (max-width: 850px) {
|
367 |
-
.imagify-settings
|
368 |
-
|
369 |
}
|
370 |
.imagify-settings p.submit {
|
371 |
text-align: center;
|
@@ -392,15 +588,45 @@ td .imagify-chart {
|
|
392 |
vertical-align: top;
|
393 |
}
|
394 |
.imagify-sub-header,
|
395 |
-
.imagify-sub-title.imagify-sub-title,
|
396 |
-
.imagify-settings div.submit
|
|
|
397 |
margin: 0;
|
398 |
padding: 20px;
|
399 |
background: #F2F5F7;
|
400 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
|
402 |
.imagify-bulk-info {
|
403 |
-
margin: 1em 1em 1em
|
404 |
transition: margin .3s;
|
405 |
}
|
406 |
@media (max-width: 850px) {
|
@@ -580,7 +806,7 @@ td .imagify-chart {
|
|
580 |
color: #F7A933;
|
581 |
}
|
582 |
.imagify-rkt-notice .imagify-rkt-cta {
|
583 |
-
width:
|
584 |
-webkit-box-flex: 1;
|
585 |
-webkit-flex-grow: 1;
|
586 |
-ms-flex-positive: 1;
|
@@ -694,18 +920,24 @@ label[for="imagify_sizes_full"] + .imagify-info {
|
|
694 |
/* Custom checkboxes in CSS */
|
695 |
|
696 |
.imagify-settings.imagify-settings [type="checkbox"]:not(:checked),
|
697 |
-
.imagify-settings.imagify-settings [type="checkbox"]:checked
|
|
|
|
|
698 |
opacity: 0.01;
|
699 |
}
|
700 |
.imagify-settings.imagify-settings [type="checkbox"]:not(:checked):focus,
|
701 |
-
.imagify-settings.imagify-settings [type="checkbox"]:checked:focus
|
|
|
|
|
702 |
box-shadow: none!important; /* system value to override */
|
703 |
outline: none!important;
|
704 |
border: 0 none!important;
|
705 |
}
|
706 |
|
707 |
.imagify-settings [type="checkbox"]:not(:checked) + label,
|
708 |
-
.imagify-settings [type="checkbox"]:checked + label
|
|
|
|
|
709 |
position: relative;
|
710 |
padding-left: 6px;
|
711 |
cursor: pointer;
|
@@ -714,7 +946,9 @@ label[for="imagify_sizes_full"] + .imagify-info {
|
|
714 |
|
715 |
/* checkbox aspect */
|
716 |
.imagify-settings [type="checkbox"]:not(:checked) + label:before,
|
717 |
-
.imagify-settings [type="checkbox"]:checked + label:before
|
|
|
|
|
718 |
content: '';
|
719 |
position: absolute;
|
720 |
left: 0; top: 0;
|
@@ -726,7 +960,9 @@ label[for="imagify_sizes_full"] + .imagify-info {
|
|
726 |
}
|
727 |
/* checked mark aspect */
|
728 |
.imagify-settings [type="checkbox"]:not(:checked) + label:after,
|
729 |
-
.imagify-settings [type="checkbox"]:checked + label:after
|
|
|
|
|
730 |
content: "✓";
|
731 |
position: absolute;
|
732 |
font-size: 1.4em;
|
@@ -738,19 +974,23 @@ label[for="imagify_sizes_full"] + .imagify-info {
|
|
738 |
}
|
739 |
/* disabled aspect */
|
740 |
.imagify-settings [type="checkbox"][disabled]:not(:checked) + label:before,
|
741 |
-
.imagify-settings [type="checkbox"][disabled]:checked + label:before
|
|
|
|
|
742 |
border-color: #ccc;
|
743 |
background: #ddd;
|
744 |
}
|
745 |
/* checked mark aspect changes */
|
746 |
-
.imagify-settings [type="checkbox"]:not(:checked) + label:after
|
|
|
747 |
opacity: 0;
|
748 |
-webkit-transform: scale(0);
|
749 |
-moz-transform: scale(0);
|
750 |
-ms-transform: scale(0);
|
751 |
transform: scale(0);
|
752 |
}
|
753 |
-
.imagify-settings [type="checkbox"]:checked + label:after
|
|
|
754 |
opacity: 1;
|
755 |
-webkit-transform: scale(1);
|
756 |
-moz-transform: scale(1);
|
@@ -761,9 +1001,27 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
761 |
font-weight: bold;
|
762 |
}
|
763 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
764 |
/* mini version */
|
765 |
.imagify-settings .mini[type="checkbox"]:not(:checked) + label:before,
|
766 |
-
.imagify-settings .mini[type="checkbox"]:checked + label:before
|
|
|
|
|
767 |
width: 15px;
|
768 |
height: 15px;
|
769 |
border-width: 1px;
|
@@ -771,15 +1029,18 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
771 |
margin-top: 0;
|
772 |
}
|
773 |
.imagify-settings .mini[type="checkbox"]:not(:checked) + label:after,
|
774 |
-
.imagify-settings .mini[type="checkbox"]:checked + label:after
|
775 |
-
|
|
|
776 |
font-size: .9em;
|
777 |
left: -21px;
|
778 |
top: 1px;
|
779 |
}
|
780 |
/* focus aspect */
|
781 |
.imagify-settings [type="checkbox"]:not(:checked):focus + label:before,
|
782 |
-
.imagify-settings [type="checkbox"]:checked:focus + label:before
|
|
|
|
|
783 |
border-style: dotted;
|
784 |
border-color: #40b1d0;
|
785 |
}
|
@@ -792,10 +1053,11 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
792 |
max-width: 600px;
|
793 |
border-collapse: collapse;
|
794 |
}
|
795 |
-
.imagify-
|
796 |
-
|
797 |
-
|
798 |
-
|
|
|
799 |
}
|
800 |
.imagify-inline-options input[type="radio"]:not(:checked),
|
801 |
.imagify-inline-options input[type="radio"]:checked {
|
@@ -806,10 +1068,6 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
806 |
.imagify-inline-options input[type="radio"]:not(:checked) + label,
|
807 |
.imagify-inline-options input[type="radio"]:checked + label {
|
808 |
position: relative;
|
809 |
-
/*
|
810 |
-
float: left;
|
811 |
-
padding: 13px 40px;
|
812 |
-
*/
|
813 |
display: table-cell;
|
814 |
padding: 13px 10px;
|
815 |
text-align: center;
|
@@ -826,6 +1084,14 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
826 |
-webkit-transition: all .275s;
|
827 |
transition: all .275s;
|
828 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
829 |
.imagify-bulk-submit .imagify-inline-options input[type="radio"]:not(:checked) + label,
|
830 |
.imagify-bulk-submit .imagify-inline-options input[type="radio"]:checked + label {
|
831 |
margin-bottom: 1.75em;
|
@@ -843,6 +1109,14 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
843 |
background: #8BC34A
|
844 |
}
|
845 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
846 |
.imagify-inline-options .imagify-info {
|
847 |
margin-top: 15px;
|
848 |
}
|
@@ -860,13 +1134,23 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
860 |
}
|
861 |
|
862 |
/* Ads & columns */
|
|
|
|
|
|
|
|
|
|
|
863 |
.imagify-col {
|
864 |
-
|
|
|
|
|
|
|
|
|
|
|
865 |
}
|
866 |
.imagify-sidebar {
|
867 |
float: right;
|
868 |
-
width:
|
869 |
-
|
870 |
}
|
871 |
.imagify-sidebar-section {
|
872 |
border: 1px solid #BBB;
|
@@ -875,15 +1159,20 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
875 |
.imagify-sidebar-section + .imagify-sidebar-section {
|
876 |
margin-top: 2em;
|
877 |
}
|
878 |
-
@media (max-width:
|
879 |
.imagify-settings {
|
880 |
display: flex;
|
881 |
flex-direction: column;
|
882 |
}
|
|
|
|
|
|
|
|
|
883 |
.imagify-sidebar {
|
884 |
order: 2;
|
885 |
float: none;
|
886 |
width: auto;
|
|
|
887 |
margin-left: 0;
|
888 |
margin-top: 25px;
|
889 |
}
|
@@ -896,6 +1185,11 @@ input[id^="imagify_sizes_"]:checked + label {
|
|
896 |
max-width: 276px;
|
897 |
}
|
898 |
}
|
|
|
|
|
|
|
|
|
|
|
899 |
.imagify-sidebar-title {
|
900 |
display: block;
|
901 |
padding: 20px 15px;
|
@@ -1025,16 +1319,23 @@ a.btn-rocket:focus {
|
|
1025 |
width: 33.333%;
|
1026 |
padding-left: 28px;
|
1027 |
}
|
|
|
|
|
|
|
|
|
1028 |
.imagify-columns .col-1-2 {
|
1029 |
width: 50%;
|
1030 |
padding: 0 20px;
|
1031 |
}
|
|
|
|
|
|
|
1032 |
.imagify-columns .col-informations {
|
1033 |
-
width:
|
1034 |
padding-right: 30px;
|
1035 |
}
|
1036 |
.imagify-columns .col-statistics {
|
1037 |
-
width:
|
1038 |
}
|
1039 |
@media (max-width: 830px) {
|
1040 |
.imagify-columns [class^="col-"] {
|
@@ -1594,23 +1895,58 @@ ul.imagify-datas-details.imagify-datas-details {
|
|
1594 |
background: #FFF;
|
1595 |
color: #888;
|
1596 |
}
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
}
|
1601 |
-
|
1602 |
-
.imagify-
|
1603 |
position: relative;
|
1604 |
-
padding
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1605 |
}
|
1606 |
-
.imagify-list-
|
|
|
1607 |
content: "";
|
1608 |
position: absolute;
|
1609 |
-
left:
|
1610 |
-
height:
|
1611 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1612 |
}
|
1613 |
-
|
1614 |
.imagify-sub-title.imagify-sub-title {
|
1615 |
font-size: 23px;
|
1616 |
background: #FFF;
|
@@ -1642,17 +1978,6 @@ ul.imagify-datas-details.imagify-datas-details {
|
|
1642 |
.imagify-bulk .imagify-settings-section h3 {
|
1643 |
margin-bottom: 2em;
|
1644 |
}
|
1645 |
-
|
1646 |
-
.imagify-bulk-submit {
|
1647 |
-
margin-top: 4em;
|
1648 |
-
}
|
1649 |
-
#imagify-bulk-action {
|
1650 |
-
float: left;
|
1651 |
-
}
|
1652 |
-
#imagify-bulk-action + .imagify-tooltips {
|
1653 |
-
overflow: hidden;
|
1654 |
-
display: block;
|
1655 |
-
}
|
1656 |
.imagify-title .imagify-tooltips {
|
1657 |
position: absolute;
|
1658 |
top: 100%;
|
@@ -1773,6 +2098,7 @@ ul.imagify-datas-details.imagify-datas-details {
|
|
1773 |
font-weight: bold;
|
1774 |
line-height: 1.1;
|
1775 |
vertical-align: middle;
|
|
|
1776 |
}
|
1777 |
.imagify-number-you-optimized .text {
|
1778 |
display: table-cell;
|
@@ -1890,33 +2216,33 @@ ul.imagify-datas-details.imagify-datas-details {
|
|
1890 |
}
|
1891 |
|
1892 |
@-webkit-keyframes congrate {
|
1893 |
-
|
1894 |
opacity: 0;
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
}
|
1905 |
}
|
1906 |
|
1907 |
@keyframes congrate {
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
}
|
1921 |
|
1922 |
|
@@ -2313,4 +2639,934 @@ td.imagify-cell-filename {
|
|
2313 |
margin-top: 1em;
|
2314 |
color: #40b1d0;
|
2315 |
font-weight: bold;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2316 |
}
|
1 |
+
/**
|
2 |
+
* === Utilities Classes
|
3 |
+
*/
|
4 |
+
|
5 |
+
/* Util: float */
|
6 |
+
.imagify-start {
|
7 |
+
float: left;
|
8 |
+
}
|
9 |
+
.imagify-end {
|
10 |
+
float: right;
|
11 |
+
}
|
12 |
+
|
13 |
+
/* Util: text-align */
|
14 |
+
.imagify-txt-start.imagify-txt-start.imagify-txt-start {
|
15 |
+
text-align: left;
|
16 |
+
}
|
17 |
+
.imagify-txt-center.imagify-txt-center.imagify-txt-center {
|
18 |
+
text-align: center;
|
19 |
+
}
|
20 |
+
.imagify-txt-end.imagify-txt-end.imagify-txt-end {
|
21 |
+
text-align: right;
|
22 |
+
}
|
23 |
+
|
24 |
+
/* Util: margin/padding */
|
25 |
+
.imagify-mt1.imagify-mt1 {
|
26 |
+
margin-top: 1em;
|
27 |
+
}
|
28 |
+
.imagify-mb1.imagify-mb1 {
|
29 |
+
margin-bottom: 1em;
|
30 |
+
}
|
31 |
+
.imagify-mr1.imagify-mr1 {
|
32 |
+
margin-right: 1em;
|
33 |
+
}
|
34 |
+
.imagify-ml2.imagify-ml2 {
|
35 |
+
margin-left: 2em;
|
36 |
+
}
|
37 |
+
.imagify-mr2.imagify-mr2 {
|
38 |
+
margin-right: 2em;
|
39 |
+
}
|
40 |
+
|
41 |
+
.imagify-pl0.imagify-pl0.imagify-pl0 {
|
42 |
+
padding-left: 0;
|
43 |
+
}
|
44 |
+
.imagify-pr1.imagify-pr1 {
|
45 |
+
padding-right: 1em;
|
46 |
+
}
|
47 |
+
|
48 |
+
/* Util: Overflow */
|
49 |
+
.imagify-oh {
|
50 |
+
overflow: hidden;
|
51 |
+
}
|
52 |
+
.imagify-clear {
|
53 |
+
clear: both;
|
54 |
+
}
|
55 |
+
.imagify-clearfix:after,
|
56 |
+
.imagify-inline-options:after {
|
57 |
+
content: "";
|
58 |
+
display: table;
|
59 |
+
clear: both;
|
60 |
+
}
|
61 |
+
|
62 |
+
/* Default counter */
|
63 |
+
.imagify-count.imagify-count {
|
64 |
+
counter-reset: num;
|
65 |
+
}
|
66 |
+
.imagify-count .imagify-count-title {
|
67 |
+
font-weight: bold;
|
68 |
+
}
|
69 |
+
.imagify-default-settings {
|
70 |
+
color: #73818c;
|
71 |
+
font-weight: normal;
|
72 |
+
}
|
73 |
+
.imagify-count .imagify-count-title:before {
|
74 |
+
counter-increment: num 1;
|
75 |
+
content: counter(num) ". ";
|
76 |
+
}
|
77 |
+
|
78 |
+
/* Table layout */
|
79 |
+
.imagify-table {
|
80 |
+
display: table;
|
81 |
+
width: 100%;
|
82 |
+
}
|
83 |
+
.imagify-cell {
|
84 |
+
display: table-cell;
|
85 |
+
padding: 10px;
|
86 |
+
vertical-align: top;
|
87 |
+
}
|
88 |
+
.imagify-cell.va-top,
|
89 |
+
.va-top .imagify-cell {
|
90 |
+
vertical-align: top;
|
91 |
+
}
|
92 |
+
|
93 |
+
.imagify-bulk-submit .imagify-cell {
|
94 |
+
padding-top: 0;
|
95 |
+
}
|
96 |
+
|
97 |
+
|
98 |
body.imagify-modal-is-open {
|
99 |
overflow: hidden;
|
100 |
}
|
101 |
.imagify-plugins-error {
|
102 |
+
overflow: hidden;
|
103 |
+
padding-left: 20px;
|
104 |
+
list-style-type: disc
|
105 |
}
|
|
|
106 |
.imagify-plugins-error li {
|
107 |
width:300px;
|
108 |
line-height:30px
|
175 |
}
|
176 |
|
177 |
/* Some basic colors */
|
178 |
+
.imagify-primary.imagify-primary.imagify-primary {
|
179 |
color: #40b1d0;
|
180 |
}
|
181 |
+
.imagify-secondary.imagify-secondary.imagify-secondary {
|
182 |
color: #8cc152;
|
183 |
}
|
184 |
|
253 |
position: relative;
|
254 |
width: 180px;
|
255 |
float: left;
|
256 |
+
margin-right: 20px;
|
257 |
+
}
|
258 |
+
.imagify-global-optim-phrase {
|
259 |
+
width: 180px;
|
260 |
+
padding-top: 20px;
|
261 |
+
font-size: 14px;
|
262 |
+
font-weight: bold;
|
263 |
+
text-align: center;
|
264 |
+
}
|
265 |
+
.imagify-total-percent {
|
266 |
+
color: #46b1ce;
|
267 |
}
|
268 |
td .imagify-chart-container {
|
269 |
width: 18px;
|
291 |
}
|
292 |
|
293 |
.media_page_imagify-bulk-optimization .notice,
|
294 |
+
body[class*="_imagify-ngg-bulk-optimization"] .notice,
|
295 |
.settings_page_imagify .notice {
|
296 |
margin-right: 20px;
|
297 |
margin-left: 2px;
|
298 |
}
|
299 |
|
300 |
+
.media_page_imagify-bulk-optimization .media-item,
|
301 |
+
body[class*="_imagify-ngg-bulk-optimization"] .media-item {
|
302 |
margin: 0;
|
303 |
}
|
304 |
|
305 |
+
.media_page_imagify-bulk-optimization .media-item .progress,
|
306 |
+
body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress {
|
307 |
float: none;
|
308 |
width: 100%;
|
309 |
margin: 0;
|
312 |
border-radius: 0;
|
313 |
}
|
314 |
|
315 |
+
.media_page_imagify-bulk-optimization .media-item .percent,
|
316 |
+
body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent {
|
317 |
width: auto;
|
318 |
padding: 0 5px;
|
319 |
line-height: 1.85;
|
321 |
}
|
322 |
|
323 |
.media_page_imagify-bulk-optimization .media-item .progress,
|
324 |
+
body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress,
|
325 |
+
body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent,
|
326 |
.media_page_imagify-bulk-optimization .media-item .percent {
|
327 |
text-align: right;
|
328 |
}
|
329 |
+
.media_page_imagify-bulk-optimization .media-item .progress .bar,
|
330 |
+
body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress .bar {
|
331 |
width: 1px;
|
332 |
height: 22px;
|
333 |
margin-top: 0;
|
394 |
.imagify-settings .button,
|
395 |
.imagify-welcome .button,
|
396 |
.imagify-notice .button,
|
397 |
+
.imagify-button.imagify-button,
|
398 |
+
.imagify-button-primary.imagify-button-primary,
|
399 |
+
.imagify-button-secondary.imagify-button-secondary {
|
400 |
height: auto;
|
401 |
padding: 8px 20px;
|
402 |
border: 0 none;
|
403 |
font-size: 14px;
|
404 |
font-weight: 600;
|
405 |
box-shadow: 0 3px 0 rgba(0, 0, 0, .15);
|
406 |
+
border-radius: 3px;
|
407 |
+
cursor: pointer;
|
408 |
+
transition: all .275s;
|
409 |
}
|
410 |
|
411 |
.imagify-notice .button-mini {
|
426 |
box-shadow: none!important;
|
427 |
}
|
428 |
|
429 |
+
.imagify-title .button-ghost.button-ghost,
|
430 |
+
.imagify-button-ghost.imagify-button-ghost {
|
431 |
padding: 2px 9px;
|
432 |
border: 1px solid #40B1D0;
|
433 |
font-size: 12px;
|
434 |
font-weight: normal;
|
435 |
color: #40B1D0;
|
436 |
background: transparent;
|
437 |
+
box-shadow: none;
|
438 |
}
|
439 |
.imagify-title .button-ghost.button-ghost:hover,
|
440 |
+
.imagify-title .button-ghost.button-ghost:focus,
|
441 |
+
.imagify-button-ghost.imagify-button-ghost:hover,
|
442 |
+
.imagify-button-ghost.imagify-button-ghost:focus {
|
443 |
border-color: transparent;
|
444 |
color: #000;
|
445 |
background: #40B1D0;
|
446 |
}
|
447 |
+
.imagify-button-ghost.imagify-button-ghost:hover,
|
448 |
+
.imagify-button-ghost.imagify-button-ghost:focus {
|
449 |
+
color: #FFF;
|
450 |
+
}
|
451 |
+
.imagify-button-medium.imagify-button-medium {
|
452 |
+
text-transform: uppercase;
|
453 |
+
letter-spacing: 0.1em;
|
454 |
+
padding: 3px 10px;
|
455 |
+
font-weight: bold;
|
456 |
+
}
|
457 |
+
.imagify-button-medium.imagify-button-ghost {
|
458 |
+
border-width: 2px;
|
459 |
+
}
|
460 |
.button .dashicons {
|
461 |
margin-right: 5px;
|
462 |
vertical-align: middle;
|
469 |
box-shadow: 0 3px 0 rgba(51, 142, 166, 1);
|
470 |
text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799!important;
|
471 |
}
|
472 |
+
.imagify-button-secondary.imagify-button-secondary {
|
473 |
+
background: #8BC34A;
|
474 |
+
color: #FFF;
|
475 |
+
box-shadow: 0 3px 0 #6F9C3B;
|
476 |
+
text-shadow: 0 -1px 1px #6F9C3B, 1px 0 1px #6F9C3B, 0 1px 1px #6F9C3B!important;
|
477 |
+
}
|
478 |
.imagify-settings .button-primary:hover,
|
479 |
.imagify-settings .button-primary:focus,
|
480 |
.imagify-welcome .button-primary:hover,
|
484 |
background: rgb(51, 142, 166);
|
485 |
box-shadow: 0 3px 0 rgb(31, 122, 146);
|
486 |
}
|
487 |
+
.imagify-button-secondary.imagify-button-secondary:hover,
|
488 |
+
.imagify-button-secondary.imagify-button-secondary:focus {
|
489 |
+
background: #6F9C3B;
|
490 |
+
color: #FFF;
|
491 |
+
}
|
492 |
+
|
493 |
+
.imagify-button-light.imagify-button-light {
|
494 |
+
background: #FFF;
|
495 |
+
color: #4a4a4a;
|
496 |
+
box-shadow: 0 2px 0 rgba(0, 0, 0, .2);
|
497 |
+
}
|
498 |
+
.imagify-button-light.imagify-button-light:hover,
|
499 |
+
.imagify-button-light.imagify-button-light:focus {
|
500 |
+
color: #FFF;
|
501 |
+
background: rgba(0, 0, 0, .2);
|
502 |
+
}
|
503 |
+
|
504 |
+
/* Modifier */
|
505 |
+
.imagify-section-positive .imagify-button-light {
|
506 |
+
color: #709A41;
|
507 |
+
}
|
508 |
+
.imagify-button.imagify-button-big {
|
509 |
+
font-size: 15px;
|
510 |
+
padding: 11px 30px;
|
511 |
+
}
|
512 |
+
.imagify-button-big .dashicons {
|
513 |
+
font-size: 1.45em;
|
514 |
+
margin-right: 6px;
|
515 |
+
margin-left: -4px;
|
516 |
+
}
|
517 |
+
|
518 |
+
.imagify-settings .button .dashicons,
|
519 |
+
.imagify-welcome .button .dashicons,
|
520 |
+
.imagify-notice .button .dashicons,
|
521 |
+
.imagify-button.imagify-button .dashicons,
|
522 |
+
.imagify-button-primary.imagify-button-primary .dashicons,
|
523 |
+
.imagify-button-secondary.imagify-button-secondary .dashicons {
|
524 |
+
vertical-align: middle;
|
525 |
+
}
|
526 |
+
.button-text {
|
527 |
+
display: inline-block;
|
528 |
+
vertical-align: middle;
|
529 |
+
}
|
530 |
+
|
531 |
|
532 |
/* exception */
|
533 |
+
#imagify-bulk-action {
|
534 |
+
padding: 11px 20px;
|
535 |
+
}
|
536 |
.wp_attachment_image .imagify-button-primary,
|
537 |
.media-frame-content .imagify-button-primary {
|
538 |
float: left;
|
548 |
font-weight: 600;
|
549 |
box-shadow: none;
|
550 |
}
|
551 |
+
.imagify-settings div.submit.submit {
|
552 |
+
padding-left: 235px;
|
553 |
+
padding-top: 40px;
|
554 |
+
}
|
555 |
+
.imagify-settings p.submit {
|
556 |
+
float: left;
|
557 |
+
margin-top: 0;
|
558 |
+
}
|
559 |
+
.imagify-settings p.submit .button {
|
560 |
+
margin: 0 5px;
|
561 |
}
|
562 |
@media (max-width: 850px) {
|
563 |
+
.imagify-settings div.submit {
|
564 |
+
padding-left: 0;
|
565 |
}
|
566 |
.imagify-settings p.submit {
|
567 |
text-align: center;
|
588 |
vertical-align: top;
|
589 |
}
|
590 |
.imagify-sub-header,
|
591 |
+
.imagify-sub-title.imagify-sub-title, /* heavier is better */
|
592 |
+
.imagify-settings div.submit,
|
593 |
+
.imagify-section {
|
594 |
margin: 0;
|
595 |
padding: 20px;
|
596 |
background: #F2F5F7;
|
597 |
}
|
598 |
+
.imagify-sub-title.imagify-sub-title,
|
599 |
+
.imagify-section-positive {
|
600 |
+
padding-left: 40px;
|
601 |
+
}
|
602 |
+
.imagify-section-positive {
|
603 |
+
background: #8cc152;
|
604 |
+
color: #FFF;
|
605 |
+
}
|
606 |
+
.imagify-section-positive p {
|
607 |
+
color: #FFF
|
608 |
+
}
|
609 |
+
.imagify-section-gray {
|
610 |
+
background: #D9E4EB;
|
611 |
+
}
|
612 |
+
.imagify-section-gray .imagify-count-title {
|
613 |
+
color: #4a4a4a;
|
614 |
+
}
|
615 |
+
|
616 |
+
.imagify-section p:first-child {
|
617 |
+
margin-top: 0;
|
618 |
+
}
|
619 |
+
.imagify-section p:last-child {
|
620 |
+
margin-bottom: 0;
|
621 |
+
}
|
622 |
+
p.imagify-section-title.imagify-section-title {
|
623 |
+
font-size: 20px;
|
624 |
+
margin-top: -.3em;
|
625 |
+
margin-bottom: -.6em;
|
626 |
+
}
|
627 |
|
628 |
.imagify-bulk-info {
|
629 |
+
margin: 1em 1em 1em 5px;
|
630 |
transition: margin .3s;
|
631 |
}
|
632 |
@media (max-width: 850px) {
|
806 |
color: #F7A933;
|
807 |
}
|
808 |
.imagify-rkt-notice .imagify-rkt-cta {
|
809 |
+
width: 250px!important; /* !important because of a dirtugly WP Engine code */
|
810 |
-webkit-box-flex: 1;
|
811 |
-webkit-flex-grow: 1;
|
812 |
-ms-flex-positive: 1;
|
920 |
/* Custom checkboxes in CSS */
|
921 |
|
922 |
.imagify-settings.imagify-settings [type="checkbox"]:not(:checked),
|
923 |
+
.imagify-settings.imagify-settings [type="checkbox"]:checked,
|
924 |
+
.imagify-checkbox.imagify-checkbox:not(:checked),
|
925 |
+
.imagify-checkbox.imagify-checkbox:checked {
|
926 |
opacity: 0.01;
|
927 |
}
|
928 |
.imagify-settings.imagify-settings [type="checkbox"]:not(:checked):focus,
|
929 |
+
.imagify-settings.imagify-settings [type="checkbox"]:checked:focus,
|
930 |
+
.imagify-checkbox.imagify-checkbox:not(:checked):focus,
|
931 |
+
.imagify-checkbox.imagify-checkbox:checked:focus {
|
932 |
box-shadow: none!important; /* system value to override */
|
933 |
outline: none!important;
|
934 |
border: 0 none!important;
|
935 |
}
|
936 |
|
937 |
.imagify-settings [type="checkbox"]:not(:checked) + label,
|
938 |
+
.imagify-settings [type="checkbox"]:checked + label,
|
939 |
+
.imagify-checkbox.imagify-checkbox:not(:checked) + label,
|
940 |
+
.imagify-checkbox.imagify-checkbox:checked + label {
|
941 |
position: relative;
|
942 |
padding-left: 6px;
|
943 |
cursor: pointer;
|
946 |
|
947 |
/* checkbox aspect */
|
948 |
.imagify-settings [type="checkbox"]:not(:checked) + label:before,
|
949 |
+
.imagify-settings [type="checkbox"]:checked + label:before,
|
950 |
+
.imagify-checkbox.imagify-checkbox:not(:checked) + label:before,
|
951 |
+
.imagify-checkbox.imagify-checkbox:checked + label:before {
|
952 |
content: '';
|
953 |
position: absolute;
|
954 |
left: 0; top: 0;
|
960 |
}
|
961 |
/* checked mark aspect */
|
962 |
.imagify-settings [type="checkbox"]:not(:checked) + label:after,
|
963 |
+
.imagify-settings [type="checkbox"]:checked + label:after,
|
964 |
+
.imagify-checkbox.imagify-checkbox:not(:checked) + label:after,
|
965 |
+
.imagify-checkbox.imagify-checkbox:checked + label:after {
|
966 |
content: "✓";
|
967 |
position: absolute;
|
968 |
font-size: 1.4em;
|
974 |
}
|
975 |
/* disabled aspect */
|
976 |
.imagify-settings [type="checkbox"][disabled]:not(:checked) + label:before,
|
977 |
+
.imagify-settings [type="checkbox"][disabled]:checked + label:before,
|
978 |
+
.imagify-checkbox.imagify-checkbox[disabled]:not(:checked) + label:before,
|
979 |
+
.imagify-checkbox.imagify-checkbox[disabled]:checked + label:before {
|
980 |
border-color: #ccc;
|
981 |
background: #ddd;
|
982 |
}
|
983 |
/* checked mark aspect changes */
|
984 |
+
.imagify-settings [type="checkbox"]:not(:checked) + label:after,
|
985 |
+
.imagify-checkbox.imagify-checkbox:not(:checked) + label:after {
|
986 |
opacity: 0;
|
987 |
-webkit-transform: scale(0);
|
988 |
-moz-transform: scale(0);
|
989 |
-ms-transform: scale(0);
|
990 |
transform: scale(0);
|
991 |
}
|
992 |
+
.imagify-settings [type="checkbox"]:checked + label:after,
|
993 |
+
.imagify-checkbox.imagify-checkbox:checked + label:after {
|
994 |
opacity: 1;
|
995 |
-webkit-transform: scale(1);
|
996 |
-moz-transform: scale(1);
|
1001 |
font-weight: bold;
|
1002 |
}
|
1003 |
|
1004 |
+
/* medium version */
|
1005 |
+
.medium.imagify-checkbox:not(:checked) + label:before,
|
1006 |
+
.medium.imagify-checkbox:checked + label:before {
|
1007 |
+
width: 22px;
|
1008 |
+
height: 22px;
|
1009 |
+
border-width: 1.5px;
|
1010 |
+
border-radius: 2px;
|
1011 |
+
margin-top: 0;
|
1012 |
+
}
|
1013 |
+
.medium.imagify-checkbox:not(:checked) + label:after,
|
1014 |
+
.medium.imagify-checkbox:checked + label:after {
|
1015 |
+
font-size: 1.1em;
|
1016 |
+
left: -17px;
|
1017 |
+
top: 3px;
|
1018 |
+
}
|
1019 |
+
|
1020 |
/* mini version */
|
1021 |
.imagify-settings .mini[type="checkbox"]:not(:checked) + label:before,
|
1022 |
+
.imagify-settings .mini[type="checkbox"]:checked + label:before,
|
1023 |
+
.mini.imagify-checkbox:not(:checked) + label:before,
|
1024 |
+
.mini.imagify-checkbox:checked + label:before {
|
1025 |
width: 15px;
|
1026 |
height: 15px;
|
1027 |
border-width: 1px;
|
1029 |
margin-top: 0;
|
1030 |
}
|
1031 |
.imagify-settings .mini[type="checkbox"]:not(:checked) + label:after,
|
1032 |
+
.imagify-settings .mini[type="checkbox"]:checked + label:after,
|
1033 |
+
.mini.imagify-checkbox:not(:checked) + label:after,
|
1034 |
+
.mini.imagify-checkbox:checked + label:after {
|
1035 |
font-size: .9em;
|
1036 |
left: -21px;
|
1037 |
top: 1px;
|
1038 |
}
|
1039 |
/* focus aspect */
|
1040 |
.imagify-settings [type="checkbox"]:not(:checked):focus + label:before,
|
1041 |
+
.imagify-settings [type="checkbox"]:checked:focus + label:before,
|
1042 |
+
.imagify-checkbox.imagify-checkbox:not(:checked):focus + label:before,
|
1043 |
+
.imagify-checkbox.imagify-checkbox:checked:focus + label:before {
|
1044 |
border-style: dotted;
|
1045 |
border-color: #40b1d0;
|
1046 |
}
|
1053 |
max-width: 600px;
|
1054 |
border-collapse: collapse;
|
1055 |
}
|
1056 |
+
.imagify-small-options {
|
1057 |
+
width: 300px;
|
1058 |
+
margin: 1em auto .5em;
|
1059 |
+
background: #338EA6;
|
1060 |
+
border-radius: 4px;
|
1061 |
}
|
1062 |
.imagify-inline-options input[type="radio"]:not(:checked),
|
1063 |
.imagify-inline-options input[type="radio"]:checked {
|
1068 |
.imagify-inline-options input[type="radio"]:not(:checked) + label,
|
1069 |
.imagify-inline-options input[type="radio"]:checked + label {
|
1070 |
position: relative;
|
|
|
|
|
|
|
|
|
1071 |
display: table-cell;
|
1072 |
padding: 13px 10px;
|
1073 |
text-align: center;
|
1084 |
-webkit-transition: all .275s;
|
1085 |
transition: all .275s;
|
1086 |
}
|
1087 |
+
.imagify-small-options input[type="radio"]:not(:checked) + label,
|
1088 |
+
.imagify-small-options input[type="radio"]:checked + label {
|
1089 |
+
padding: 8px 10px;
|
1090 |
+
font-size: 13px;
|
1091 |
+
color: #FFF;
|
1092 |
+
box-shadow: none;
|
1093 |
+
border-left: 0;
|
1094 |
+
}
|
1095 |
.imagify-bulk-submit .imagify-inline-options input[type="radio"]:not(:checked) + label,
|
1096 |
.imagify-bulk-submit .imagify-inline-options input[type="radio"]:checked + label {
|
1097 |
margin-bottom: 1.75em;
|
1109 |
background: #8BC34A
|
1110 |
}
|
1111 |
|
1112 |
+
.imagify-small-options input[type="radio"]:not(:checked) + label {
|
1113 |
+
background: #338EA6;
|
1114 |
+
color: rgba(255, 255, 255, .4);
|
1115 |
+
}
|
1116 |
+
.imagify-small-options input[type="radio"]:checked + label {
|
1117 |
+
background: #40B1D0;
|
1118 |
+
}
|
1119 |
+
|
1120 |
.imagify-inline-options .imagify-info {
|
1121 |
margin-top: 15px;
|
1122 |
}
|
1134 |
}
|
1135 |
|
1136 |
/* Ads & columns */
|
1137 |
+
.imagify-cols:after {
|
1138 |
+
content: "";
|
1139 |
+
display: table;
|
1140 |
+
clear: both;
|
1141 |
+
}
|
1142 |
.imagify-col {
|
1143 |
+
float: left;
|
1144 |
+
width: 50%;
|
1145 |
+
}
|
1146 |
+
.imagify-main {
|
1147 |
+
float: left;
|
1148 |
+
width: 70%;
|
1149 |
}
|
1150 |
.imagify-sidebar {
|
1151 |
float: right;
|
1152 |
+
width: 28%;
|
1153 |
+
max-width: 300px;
|
1154 |
}
|
1155 |
.imagify-sidebar-section {
|
1156 |
border: 1px solid #BBB;
|
1159 |
.imagify-sidebar-section + .imagify-sidebar-section {
|
1160 |
margin-top: 2em;
|
1161 |
}
|
1162 |
+
@media (max-width: 820px) {
|
1163 |
.imagify-settings {
|
1164 |
display: flex;
|
1165 |
flex-direction: column;
|
1166 |
}
|
1167 |
+
.imagify-main {
|
1168 |
+
width: auto;
|
1169 |
+
float: none;
|
1170 |
+
}
|
1171 |
.imagify-sidebar {
|
1172 |
order: 2;
|
1173 |
float: none;
|
1174 |
width: auto;
|
1175 |
+
max-width: none;
|
1176 |
margin-left: 0;
|
1177 |
margin-top: 25px;
|
1178 |
}
|
1185 |
max-width: 276px;
|
1186 |
}
|
1187 |
}
|
1188 |
+
@media (min-width: 1400px) {
|
1189 |
+
.imagify-main {
|
1190 |
+
width: 74%;
|
1191 |
+
}
|
1192 |
+
}
|
1193 |
.imagify-sidebar-title {
|
1194 |
display: block;
|
1195 |
padding: 20px 15px;
|
1319 |
width: 33.333%;
|
1320 |
padding-left: 28px;
|
1321 |
}
|
1322 |
+
.imagify-columns .col-2-3 {
|
1323 |
+
width: 66.666%;
|
1324 |
+
padding-left: 28px
|
1325 |
+
}
|
1326 |
.imagify-columns .col-1-2 {
|
1327 |
width: 50%;
|
1328 |
padding: 0 20px;
|
1329 |
}
|
1330 |
+
.imagify-columns .col-overview {
|
1331 |
+
padding-left: 20px;
|
1332 |
+
}
|
1333 |
.imagify-columns .col-informations {
|
1334 |
+
width: 36.6%;
|
1335 |
padding-right: 30px;
|
1336 |
}
|
1337 |
.imagify-columns .col-statistics {
|
1338 |
+
width: 30%;
|
1339 |
}
|
1340 |
@media (max-width: 830px) {
|
1341 |
.imagify-columns [class^="col-"] {
|
1895 |
background: #FFF;
|
1896 |
color: #888;
|
1897 |
}
|
1898 |
+
.imagify-list-infos {
|
1899 |
+
max-width: 100%;
|
1900 |
+
width: 415px;
|
1901 |
}
|
1902 |
+
.imagify-list-infos li,
|
1903 |
+
.imagify-info-block {
|
1904 |
position: relative;
|
1905 |
+
padding: 10px;
|
1906 |
+
padding-left: 42px;
|
1907 |
+
background: #D9E4EB;
|
1908 |
+
border-radius: 4px;
|
1909 |
+
line-height: 1.6;
|
1910 |
+
}
|
1911 |
+
.imagify-list-infos .imagify-alt.imagify-alt {
|
1912 |
+
background: #8BA7B5;
|
1913 |
+
color: #FFF;
|
1914 |
+
font-weight: bold;
|
1915 |
+
}
|
1916 |
+
.imagify-list-infos li + li {
|
1917 |
+
margin-top: 1em;
|
1918 |
}
|
1919 |
+
.imagify-list-infos li:before,
|
1920 |
+
.imagify-info-block:before {
|
1921 |
content: "";
|
1922 |
position: absolute;
|
1923 |
+
left: 13px; top: 14px;
|
1924 |
+
height: 16px; width: 16px;
|
1925 |
+
border: 1px solid #46b1ce;
|
1926 |
+
border-radius: 10px;
|
1927 |
+
}
|
1928 |
+
.imagify-list-infos li:after,
|
1929 |
+
.imagify-info-block:after {
|
1930 |
+
content: "i";
|
1931 |
+
position: absolute;
|
1932 |
+
left: 20px; top: 13px;
|
1933 |
+
font-style: italic;
|
1934 |
+
color: #46b1ce;
|
1935 |
+
}
|
1936 |
+
.imagify-cell .imagify-info-block {
|
1937 |
+
padding-top: 0;
|
1938 |
+
}
|
1939 |
+
.imagify-cell .imagify-info-block:after {
|
1940 |
+
top: 6px;
|
1941 |
+
}
|
1942 |
+
.imagify-cell .imagify-info-block:before {
|
1943 |
+
top: 7px;
|
1944 |
+
}
|
1945 |
+
.imagify-list-infos .imagify-alt:before,
|
1946 |
+
.imagify-list-infos .imagify-alt:after {
|
1947 |
+
color: #fff;
|
1948 |
+
border-color: #fff;
|
1949 |
}
|
|
|
1950 |
.imagify-sub-title.imagify-sub-title {
|
1951 |
font-size: 23px;
|
1952 |
background: #FFF;
|
1978 |
.imagify-bulk .imagify-settings-section h3 {
|
1979 |
margin-bottom: 2em;
|
1980 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1981 |
.imagify-title .imagify-tooltips {
|
1982 |
position: absolute;
|
1983 |
top: 100%;
|
2098 |
font-weight: bold;
|
2099 |
line-height: 1.1;
|
2100 |
vertical-align: middle;
|
2101 |
+
white-space: nowrap;
|
2102 |
}
|
2103 |
.imagify-number-you-optimized .text {
|
2104 |
display: table-cell;
|
2216 |
}
|
2217 |
|
2218 |
@-webkit-keyframes congrate {
|
2219 |
+
0% {
|
2220 |
opacity: 0;
|
2221 |
+
-webkit-transform: scale(1);
|
2222 |
+
}
|
2223 |
+
50% {
|
2224 |
+
-webkit-transform: scale(1.05);
|
2225 |
+
opacity: 1;
|
2226 |
+
}
|
2227 |
+
100% {
|
2228 |
+
-webkit-transform: scale(1);
|
2229 |
+
opacity: 1;
|
2230 |
}
|
2231 |
}
|
2232 |
|
2233 |
@keyframes congrate {
|
2234 |
+
0% {
|
2235 |
+
opacity: 0;
|
2236 |
+
transform: scale(1);
|
2237 |
+
}
|
2238 |
+
50% {
|
2239 |
+
transform: scale(1.05);
|
2240 |
+
opacity: 1;
|
2241 |
+
}
|
2242 |
+
100% {
|
2243 |
+
transform: scale(1);
|
2244 |
+
opacity: 1;
|
2245 |
+
}
|
2246 |
}
|
2247 |
|
2248 |
|
2639 |
margin-top: 1em;
|
2640 |
color: #40b1d0;
|
2641 |
font-weight: bold;
|
2642 |
+
}
|
2643 |
+
|
2644 |
+
/**
|
2645 |
+
* Payment Modals
|
2646 |
+
*/
|
2647 |
+
|
2648 |
+
/* Flexbox re-groups */
|
2649 |
+
.imagify-modal-cols,
|
2650 |
+
.imagify-border-styled,
|
2651 |
+
.imagify-offer-header,
|
2652 |
+
.imagify-payment-modal .imagify-modal-content,
|
2653 |
+
.imagify-flex-table,
|
2654 |
+
.imagify-tabs {
|
2655 |
+
display: -webkit-box;
|
2656 |
+
display: -webkit-flex;
|
2657 |
+
display: -ms-flexbox;
|
2658 |
+
display: flex;
|
2659 |
+
-webkit-box-orient: horizontal;
|
2660 |
+
-webkit-box-direction: normal;
|
2661 |
+
-webkit-flex-direction: row;
|
2662 |
+
-ms-flex-direction: row;
|
2663 |
+
flex-direction: row;
|
2664 |
+
}
|
2665 |
+
.imagify-modal-cols,
|
2666 |
+
.imagify-border-styled {
|
2667 |
+
-webkit-box-pack: center;
|
2668 |
+
-webkit-justify-content: center;
|
2669 |
+
-ms-flex-pack: center;
|
2670 |
+
justify-content: center;
|
2671 |
+
-webkit-box-align: center;
|
2672 |
+
-webkit-align-items: center;
|
2673 |
+
-ms-flex-align: center;
|
2674 |
+
align-items: center;
|
2675 |
+
}
|
2676 |
+
|
2677 |
+
.imagify-payment-modal {
|
2678 |
+
text-align: center;
|
2679 |
+
color: #7A8996;
|
2680 |
+
}
|
2681 |
+
.imagify-payment-modal * {
|
2682 |
+
box-sizing: border-box;
|
2683 |
+
}
|
2684 |
+
.imagify-modal-loader {
|
2685 |
+
position: absolute;
|
2686 |
+
top: 0; left: 0; right: 0; bottom: 0;
|
2687 |
+
background: #fff url('../images/loader-balls.svg') center no-repeat;
|
2688 |
+
z-index: 10;
|
2689 |
+
}
|
2690 |
+
.imagify-payment-modal .imagify-modal-content {
|
2691 |
+
width: 980px;
|
2692 |
+
max-width: 100%;
|
2693 |
+
min-width: 925px;
|
2694 |
+
padding: 0;
|
2695 |
+
}
|
2696 |
+
.imagify-payment-modal .imagify-modal-main {
|
2697 |
+
width: 70%;
|
2698 |
+
}
|
2699 |
+
.imagify-payment-modal .imagify-modal-sidebar {
|
2700 |
+
width: 30%;
|
2701 |
+
padding: 15px 20px;
|
2702 |
+
background: #1F2332;
|
2703 |
+
color: #FFF;
|
2704 |
+
}
|
2705 |
+
.imagify-payment-steps {
|
2706 |
+
padding-top: 15px;
|
2707 |
+
margin-top: 0;
|
2708 |
+
margin-left: 0;
|
2709 |
+
list-style: none;
|
2710 |
+
counter-reset: steps;
|
2711 |
+
}
|
2712 |
+
.imagify-payment-steps li {
|
2713 |
+
position: relative;
|
2714 |
+
display: inline-block;
|
2715 |
+
counter-increment: steps;
|
2716 |
+
font-weight: bold;
|
2717 |
+
}
|
2718 |
+
.imagify-payment-steps li + li {
|
2719 |
+
margin-left: 35px;
|
2720 |
+
}
|
2721 |
+
.imagify-payment-steps li + li:after {
|
2722 |
+
content: "";
|
2723 |
+
position: absolute;
|
2724 |
+
top: 19px;
|
2725 |
+
left: -90px;
|
2726 |
+
z-index: 1;
|
2727 |
+
width: 150px;
|
2728 |
+
height: 2px;
|
2729 |
+
background: #E5EBEF;
|
2730 |
+
}
|
2731 |
+
.imagify-payment-steps li + li.active:after {
|
2732 |
+
background: #40B1D0;
|
2733 |
+
}
|
2734 |
+
.imagify-payment-steps li:before {
|
2735 |
+
display: block;
|
2736 |
+
position: relative;
|
2737 |
+
content: counter( steps, decimal );
|
2738 |
+
width: 36px;
|
2739 |
+
height: 36px;
|
2740 |
+
margin: 0 auto .3em;
|
2741 |
+
border: 2px solid #E5EBEF;
|
2742 |
+
text-align: center;
|
2743 |
+
line-height: 34px;
|
2744 |
+
font-size: 1.4em;
|
2745 |
+
color: #E5EBEF;
|
2746 |
+
background: #FFF;
|
2747 |
+
border-radius: 50%;
|
2748 |
+
z-index: 2;
|
2749 |
+
}
|
2750 |
+
.imagify-payment-steps .active:before {
|
2751 |
+
color: #40B1D0;
|
2752 |
+
border-color: #40B1D0;
|
2753 |
+
}
|
2754 |
+
.imagify-modal-section {
|
2755 |
+
padding: 0 25px;
|
2756 |
+
}
|
2757 |
+
.imagify-modal-section.section-gray {
|
2758 |
+
margin: 1em 0;
|
2759 |
+
padding: 10px 25px 15px;
|
2760 |
+
background: #F6F7FB;
|
2761 |
+
}
|
2762 |
+
.imagify-tabs-contents .section-gray {
|
2763 |
+
padding: 8px 25px 10px;
|
2764 |
+
}
|
2765 |
+
.imagify-modal-section .imagify-modal-title:first-child {
|
2766 |
+
margin-top: .3em;
|
2767 |
+
margin-bottom: .5em;
|
2768 |
+
}
|
2769 |
+
.imagify-modal-title {
|
2770 |
+
font-size: 1.8em;
|
2771 |
+
font-weight: lighter;
|
2772 |
+
}
|
2773 |
+
|
2774 |
+
.imagify-border-styled {
|
2775 |
+
width: 200px;
|
2776 |
+
margin: 0 auto;
|
2777 |
+
color: #8BC34A;
|
2778 |
+
font-weight: bold;
|
2779 |
+
font-size: 0.925em;
|
2780 |
+
}
|
2781 |
+
.imagify-big-number {
|
2782 |
+
font-size: 3.7em;
|
2783 |
+
font-weight: bold;
|
2784 |
+
margin: -3px 0;
|
2785 |
+
color: #4A4A4A;
|
2786 |
+
line-height: 1;
|
2787 |
+
}
|
2788 |
+
|
2789 |
+
.imagify-border-styled:before,
|
2790 |
+
.imagify-border-styled:after {
|
2791 |
+
content: "";
|
2792 |
+
height: 1px;
|
2793 |
+
background: rgba(0,0,0,.1);
|
2794 |
+
-webkit-flex-basis: 40px;
|
2795 |
+
-ms-flex-preferred-size: 40px;
|
2796 |
+
flex-basis: 40px;
|
2797 |
+
}
|
2798 |
+
.imagify-border-styled:before {
|
2799 |
+
margin-right: 5px;
|
2800 |
+
}
|
2801 |
+
.imagify-border-styled:after {
|
2802 |
+
margin-left: 5px;
|
2803 |
+
}
|
2804 |
+
.imagify-payment-modal strong {
|
2805 |
+
font-weight: bold;
|
2806 |
+
color: #4A4A4A;
|
2807 |
+
}
|
2808 |
+
|
2809 |
+
.imagify-col {
|
2810 |
+
-webkit-flex-basis: 50%;
|
2811 |
+
-ms-flex-preferred-size: 50%;
|
2812 |
+
flex-basis: 50%;
|
2813 |
+
}
|
2814 |
+
.imagify-modal .imagify-cols {
|
2815 |
+
padding: 0 20px;
|
2816 |
+
}
|
2817 |
+
.imagify-iconed {
|
2818 |
+
position: relative;
|
2819 |
+
text-align: left;
|
2820 |
+
padding-left: 42px;
|
2821 |
+
margin-right: 15px;
|
2822 |
+
font-weight: 500;
|
2823 |
+
}
|
2824 |
+
.imagify-iconed .dashicons,
|
2825 |
+
.imagify-iconed .icon {
|
2826 |
+
position: absolute;
|
2827 |
+
font-size: 2em;
|
2828 |
+
left: 0; top: 2px;
|
2829 |
+
color: #40B1D0;
|
2830 |
+
}
|
2831 |
+
.imagify-payment-modal .close-btn {
|
2832 |
+
top: 10px;
|
2833 |
+
right: 10px;
|
2834 |
+
width: 24px;
|
2835 |
+
height: 24px;
|
2836 |
+
padding: 2px 0 0 4.5px; /* Safari iOS bug fix */
|
2837 |
+
color: #FFF;
|
2838 |
+
background: #40B1D0;
|
2839 |
+
border-radius: 50%;
|
2840 |
+
-webkit-transition: all .275s;
|
2841 |
+
transition: all .275s;
|
2842 |
+
}
|
2843 |
+
.imagify-payment-modal .close-btn i {
|
2844 |
+
margin-left: -3.5px;
|
2845 |
+
margin-top: 1px;
|
2846 |
+
}
|
2847 |
+
.imagify-payment-modal .close-btn:hover {
|
2848 |
+
background: #F6F7FB;
|
2849 |
+
}
|
2850 |
+
|
2851 |
+
/* OFFERS */
|
2852 |
+
.imagify-offer-line {
|
2853 |
+
margin-top: 1.5em;
|
2854 |
+
}
|
2855 |
+
.imagify-offer-line + .imagify-offer-line {
|
2856 |
+
margin-top: 0.75em;
|
2857 |
+
}
|
2858 |
+
.imagify-offer-header {
|
2859 |
+
-webkit-box-pack: justify;
|
2860 |
+
-webkit-justify-content: space-between;
|
2861 |
+
-ms-flex-pack: justify;
|
2862 |
+
justify-content: space-between;
|
2863 |
+
-webkit-box-align: center;
|
2864 |
+
-webkit-align-items: center;
|
2865 |
+
-ms-flex-align: center;
|
2866 |
+
align-items: center;
|
2867 |
+
padding: 0 0 0 15px;
|
2868 |
+
border-radius: 4px 4px 0 0;
|
2869 |
+
-webkit-transition: all .275s;
|
2870 |
+
transition: all .275s;
|
2871 |
+
}
|
2872 |
+
.imagify-offer-header.imagify-offer-header.imagify-offer-header .imagify-inline-options label:last-child {
|
2873 |
+
border-radius: 0 4px 0 0;
|
2874 |
+
}
|
2875 |
+
.imagify-offer-header .imagify-inline-options {
|
2876 |
+
width: auto;
|
2877 |
+
}
|
2878 |
+
.imagify-offer-title {
|
2879 |
+
font-weight: bold;
|
2880 |
+
margin: 0;
|
2881 |
+
}
|
2882 |
+
.imagify-offer-header,
|
2883 |
+
.imagify-offer-header .imagify-inline-options input[type="radio"]:not(:checked) + label {
|
2884 |
+
background: #E5EBEF;
|
2885 |
+
}
|
2886 |
+
.imagify-offer-onetime .imagify-offer-header {
|
2887 |
+
padding-top:8px;
|
2888 |
+
padding-bottom: 8px;
|
2889 |
+
}
|
2890 |
+
.imagify-offer-header .imagify-inline-options input[type="radio"]:not(:checked) + label,
|
2891 |
+
.imagify-offer-header .imagify-inline-options input[type="radio"]:checked + label {
|
2892 |
+
position: relative;
|
2893 |
+
padding: 7px 30px;
|
2894 |
+
font-size: 1em;
|
2895 |
+
letter-spacing: 0.05em;
|
2896 |
+
color: inherit;
|
2897 |
+
box-shadow: 0 0 0;
|
2898 |
+
border-radius: 0;
|
2899 |
+
}
|
2900 |
+
.imagify-offer-header .imagify-inline-options input[type="radio"]:checked + label {
|
2901 |
+
background: #F6F7FB;
|
2902 |
+
}
|
2903 |
+
|
2904 |
+
.imagify-2-free {
|
2905 |
+
position: absolute;
|
2906 |
+
bottom: 100%; left: 0; right: 0;
|
2907 |
+
padding: 2px 10px;
|
2908 |
+
margin-bottom: 8px;
|
2909 |
+
font-size: 0.8em;
|
2910 |
+
letter-spacing: 0;
|
2911 |
+
text-transform: none;
|
2912 |
+
text-align: center;
|
2913 |
+
color: #FFF;
|
2914 |
+
background: #10121A;
|
2915 |
+
border-radius: 2px;
|
2916 |
+
}
|
2917 |
+
.imagify-2-free:after {
|
2918 |
+
content: "";
|
2919 |
+
position: absolute;
|
2920 |
+
left: 50%; bottom: -3px;
|
2921 |
+
margin-left: -3px;
|
2922 |
+
border-top: 3px solid #10121A;
|
2923 |
+
border-left: 3px solid transparent;
|
2924 |
+
border-right: 3px solid transparent;
|
2925 |
+
}
|
2926 |
+
/* right position */
|
2927 |
+
.imagify-2-free.imagify-b-right {
|
2928 |
+
bottom: auto;
|
2929 |
+
left: 100%; right: -100%;
|
2930 |
+
margin-bottom: 0;
|
2931 |
+
margin-left: 8px;
|
2932 |
+
}
|
2933 |
+
.imagify-2-free.imagify-b-right:after {
|
2934 |
+
left: -3px; bottom: auto; top: 50%;
|
2935 |
+
margin-top: -3px; margin-left: 0;
|
2936 |
+
border-right: 3px solid #10121A;
|
2937 |
+
border-top: 3px solid transparent;
|
2938 |
+
border-bottom: 3px solid transparent;
|
2939 |
+
border-left: 0;
|
2940 |
+
}
|
2941 |
+
|
2942 |
+
/* bottom position */
|
2943 |
+
.imagify-2-free.imagify-b-bottom {
|
2944 |
+
bottom: -100%;
|
2945 |
+
left: 0; right: 0;
|
2946 |
+
margin-top: 8px;
|
2947 |
+
}
|
2948 |
+
.imagify-2-free.imagify-b-bottom:after {
|
2949 |
+
top: -3px; bottom: auto;
|
2950 |
+
border-bottom: 3px solid #10121A;
|
2951 |
+
border-left: 3px solid transparent;
|
2952 |
+
border-right: 3px solid transparent;
|
2953 |
+
border-top: 0;
|
2954 |
+
}
|
2955 |
+
|
2956 |
+
|
2957 |
+
.imagify-offer-content {
|
2958 |
+
text-align: left;
|
2959 |
+
background: #F6F7FB;
|
2960 |
+
border-radius: 0 0 4px 4px;
|
2961 |
+
-webkit-transition: all .275s;
|
2962 |
+
transition: all .275s;
|
2963 |
+
}
|
2964 |
+
.imagify-offer-onetime .imagify-offer-content {
|
2965 |
+
padding: 10px 0;
|
2966 |
+
}
|
2967 |
+
|
2968 |
+
/* Checkboxes adjustment */
|
2969 |
+
div.imagify-col-checkbox {
|
2970 |
+
position: relative;
|
2971 |
+
width: 35.5%;
|
2972 |
+
padding-top: 10px;
|
2973 |
+
padding-bottom: 7px;
|
2974 |
+
}
|
2975 |
+
.imagify-col-checkbox label {
|
2976 |
+
display: block;
|
2977 |
+
}
|
2978 |
+
.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked),
|
2979 |
+
.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked {
|
2980 |
+
position: absolute;
|
2981 |
+
top: 50%; left: 6px;
|
2982 |
+
margin: -8px 0 0 0;
|
2983 |
+
}
|
2984 |
+
.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked) + label:before,
|
2985 |
+
.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked + label:before {
|
2986 |
+
margin: 0;
|
2987 |
+
top: -3px;
|
2988 |
+
left: 6px;
|
2989 |
+
-webkit-transition: all .275s;
|
2990 |
+
transition: all .275s;
|
2991 |
+
}
|
2992 |
+
.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked) + label:after,
|
2993 |
+
.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked + label:after {
|
2994 |
+
top: 0;
|
2995 |
+
left: 13px;
|
2996 |
+
}
|
2997 |
+
.imagify-col-checkbox label {
|
2998 |
+
padding-left: 55px!important;
|
2999 |
+
}
|
3000 |
+
|
3001 |
+
/* Offer col */
|
3002 |
+
.imagify-offer-size {
|
3003 |
+
font-size: 30px;
|
3004 |
+
color: #2E3243;
|
3005 |
+
font-weight: bold;
|
3006 |
+
-webkit-transition: all .275s;
|
3007 |
+
transition: all .275s;
|
3008 |
+
}
|
3009 |
+
.imagify-offer-by {
|
3010 |
+
font-size: 10px;
|
3011 |
+
-webkit-transition: all .275s;
|
3012 |
+
transition: all .275s;
|
3013 |
+
}
|
3014 |
+
.imagify-approx {
|
3015 |
+
display: block;
|
3016 |
+
font-size: 11px;
|
3017 |
+
line-height: 1.2;
|
3018 |
+
-webkit-transition: all .275s;
|
3019 |
+
transition: all .275s;
|
3020 |
+
}
|
3021 |
+
|
3022 |
+
div.imagify-col-price {
|
3023 |
+
width: 30%;
|
3024 |
+
}
|
3025 |
+
.imagify-flex-table .imagify-price-block {
|
3026 |
+
padding-left: 0;
|
3027 |
+
padding-right: 0;
|
3028 |
+
}
|
3029 |
+
.imagify-flex-table .imagify-price-complement {
|
3030 |
+
padding-right: 0;
|
3031 |
+
font-size: 10px;
|
3032 |
+
font-weight: bold;
|
3033 |
+
}
|
3034 |
+
.imagify-price-block span {
|
3035 |
+
display: inline-block;
|
3036 |
+
vertical-align: middle;
|
3037 |
+
}
|
3038 |
+
span.imagify-dollars {
|
3039 |
+
color: #1F2332;
|
3040 |
+
font-size: 18px;
|
3041 |
+
font-weight: bold;
|
3042 |
+
vertical-align: -2px;
|
3043 |
+
}
|
3044 |
+
.imagify-offer-onetime .imagify-col-price {
|
3045 |
+
padding-top: 0;
|
3046 |
+
}
|
3047 |
+
.imagify-offer-onetime .imagify-dollars {
|
3048 |
+
vertical-align: -7px;
|
3049 |
+
}
|
3050 |
+
.imagify-price-big,
|
3051 |
+
.imagify-price-mini {
|
3052 |
+
color: #40B1D0;
|
3053 |
+
font-weight: bold;
|
3054 |
+
}
|
3055 |
+
.imagify-price-big {
|
3056 |
+
font-size: 36px;
|
3057 |
+
}
|
3058 |
+
span.imagify-price-mini {
|
3059 |
+
font-size: 18px;
|
3060 |
+
vertical-align: 2px;
|
3061 |
+
}
|
3062 |
+
span.imagify-price-by {
|
3063 |
+
font-size: 10px;
|
3064 |
+
color: #1F2332;
|
3065 |
+
vertical-align: -13px;
|
3066 |
+
text-indent: -27px;
|
3067 |
+
}
|
3068 |
+
|
3069 |
+
.imagify-col-other-actions {
|
3070 |
+
width: 18.5%;
|
3071 |
+
text-align: right;
|
3072 |
+
}
|
3073 |
+
.imagify-col-other-actions a {
|
3074 |
+
font-size: 11px;
|
3075 |
+
}
|
3076 |
+
|
3077 |
+
/* Offer selected */
|
3078 |
+
.imagify-offer-selected,
|
3079 |
+
.imagify-offer-selected .imagify-offer-title,
|
3080 |
+
.imagify-offer-selected .imagify-offer-size,
|
3081 |
+
.imagify-offer-selected .imagify-price-big,
|
3082 |
+
.imagify-offer-selected .imagify-price-mini,
|
3083 |
+
.imagify-offer-selected .imagify-price-complement,
|
3084 |
+
.imagify-offer-selected .imagify-col-other-actions a {
|
3085 |
+
color: #FFF;
|
3086 |
+
}
|
3087 |
+
.imagify-offer-selected .imagify-offer-header,
|
3088 |
+
.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type="radio"]:not(:checked) + label {
|
3089 |
+
background: #338EA6;
|
3090 |
+
}
|
3091 |
+
.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type="radio"]:checked + label {
|
3092 |
+
background: #40B1D0;
|
3093 |
+
}
|
3094 |
+
.imagify-offer-selected .imagify-offer-content {
|
3095 |
+
background: #40B1D0;
|
3096 |
+
}
|
3097 |
+
.imagify-offer-selected .imagify-checkbox.imagify-checkbox:not(:checked) + label:before,
|
3098 |
+
.imagify-offer-selected .imagify-checkbox.imagify-checkbox:checked + label:before {
|
3099 |
+
border-color: #FFF;
|
3100 |
+
background: #40B1D0;
|
3101 |
+
}
|
3102 |
+
.imagify-offer-selected .imagify-offer-by {
|
3103 |
+
color: #2E3243;
|
3104 |
+
}
|
3105 |
+
|
3106 |
+
.imagify-submit-line {
|
3107 |
+
margin: 2em 0;
|
3108 |
+
}
|
3109 |
+
.imagify-submit-line button {
|
3110 |
+
font-size: 16px;
|
3111 |
+
}
|
3112 |
+
|
3113 |
+
.imagify-footer-lines {
|
3114 |
+
width: 500px;
|
3115 |
+
max-width: 100%;
|
3116 |
+
margin: 2em auto 1em;
|
3117 |
+
font-size: 0.85em;
|
3118 |
+
line-height: 1.6;
|
3119 |
+
}
|
3120 |
+
|
3121 |
+
/* Year selected */
|
3122 |
+
.imagify-year-selected .imagify-switch-my .imagify-yearly {
|
3123 |
+
display: block;
|
3124 |
+
}
|
3125 |
+
.imagify-year-selected .imagify-switch-my .imagify-monthly {
|
3126 |
+
display: none;
|
3127 |
+
}
|
3128 |
+
/* Month selected */
|
3129 |
+
.imagify-month-selected .imagify-switch-my .imagify-yearly {
|
3130 |
+
display: none;
|
3131 |
+
}
|
3132 |
+
.imagify-month-selected .imagify-switch-my .imagify-monthly {
|
3133 |
+
display: block;
|
3134 |
+
}
|
3135 |
+
|
3136 |
+
/* Flexbox table */
|
3137 |
+
.imagify-flex-table {
|
3138 |
+
-webkit-box-align: center;
|
3139 |
+
-webkit-align-items: center;
|
3140 |
+
-ms-flex-align: center;
|
3141 |
+
align-items: center;
|
3142 |
+
}
|
3143 |
+
.imagify-flex-table > * {
|
3144 |
+
-webkit-box-flex: 1;
|
3145 |
+
-webkit-flex-grow: 1;
|
3146 |
+
-ms-flex-positive: 1;
|
3147 |
+
flex-grow: 1;
|
3148 |
+
padding: 7px 15px;
|
3149 |
+
}
|
3150 |
+
|
3151 |
+
/* Pricing table */
|
3152 |
+
div.imagify-col-details {
|
3153 |
+
width: 22%;
|
3154 |
+
padding-left: 25px;
|
3155 |
+
}
|
3156 |
+
.imagify-col-details p {
|
3157 |
+
margin: 0;
|
3158 |
+
}
|
3159 |
+
.imagify-pricing-table {
|
3160 |
+
margin: 0 20px;
|
3161 |
+
}
|
3162 |
+
.imagify-pricing-table .imagify-offer-line {
|
3163 |
+
padding: .6em 0;
|
3164 |
+
border: 2px solid #E8EEF0;
|
3165 |
+
text-align: left;
|
3166 |
+
border-radius: 3px;
|
3167 |
+
}
|
3168 |
+
.imagify-pricing-table .imagify-offer-line:first-child {
|
3169 |
+
margin-top: .75em;
|
3170 |
+
}
|
3171 |
+
.imagify-pricing-table .imagify-offer-line + .imagify-offer-line {
|
3172 |
+
margin-top: -2px;
|
3173 |
+
}
|
3174 |
+
.imagify-pricing-table .imagify-col-other-actions {
|
3175 |
+
width: 20.5%;
|
3176 |
+
}
|
3177 |
+
.imagify-pricing-table .imagify-approx {
|
3178 |
+
margin-left: 0;
|
3179 |
+
line-height: 0.5;
|
3180 |
+
margin-bottom: 1em;
|
3181 |
+
}
|
3182 |
+
.imagify-pricing-table .imagify-offer-selected {
|
3183 |
+
-webkit-transform: scale(1.03);
|
3184 |
+
transform: scale(1.03);
|
3185 |
+
background: #40B1D0;
|
3186 |
+
border-width: 0;
|
3187 |
+
}
|
3188 |
+
.imagify-pricing-table .imagify-offer-selected .imagify-approx {
|
3189 |
+
color: #FFF;
|
3190 |
+
}
|
3191 |
+
.imagify-pricing-table .imagify-button-secondary {
|
3192 |
+
padding: 3px 20px;
|
3193 |
+
box-shadow: none;
|
3194 |
+
text-transform: uppercase;
|
3195 |
+
font-size: 12px;
|
3196 |
+
letter-spacing: 0.025em;
|
3197 |
+
}
|
3198 |
+
.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary {
|
3199 |
+
border: 2px solid #FFF;
|
3200 |
+
background: #40B1D0;
|
3201 |
+
box-shadow: none;
|
3202 |
+
text-shadow: none!important;
|
3203 |
+
}
|
3204 |
+
.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:hover,
|
3205 |
+
.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:focus {
|
3206 |
+
background: #FFF;
|
3207 |
+
color: #40B1D0;
|
3208 |
+
}
|
3209 |
+
|
3210 |
+
.imagify-col .imagify-special-needs {
|
3211 |
+
margin-left: 25px;
|
3212 |
+
}
|
3213 |
+
.imagify-special-needs strong {
|
3214 |
+
font-size: 25px;
|
3215 |
+
font-weight: bold;
|
3216 |
+
color: #40B1D0;
|
3217 |
+
}
|
3218 |
+
.imagify-special-needs span {
|
3219 |
+
display: block;
|
3220 |
+
font-size: 12px;
|
3221 |
+
margin-top: -.5em;
|
3222 |
+
}
|
3223 |
+
div.imagify-col-price {
|
3224 |
+
position: relative;
|
3225 |
+
}
|
3226 |
+
|
3227 |
+
/* we recommend line */
|
3228 |
+
.imagify-recommend {
|
3229 |
+
display: none;
|
3230 |
+
position: absolute;
|
3231 |
+
left: -20px; bottom: 100%;
|
3232 |
+
padding: 0;
|
3233 |
+
margin-bottom: 8px;
|
3234 |
+
color: #1F2332;
|
3235 |
+
font-weight: bold;
|
3236 |
+
font-style: italic;
|
3237 |
+
}
|
3238 |
+
.imagify-offer-selected .imagify-recommend {
|
3239 |
+
display: block;
|
3240 |
+
}
|
3241 |
+
[class*="imagify-onetime-"] .imagify-recommend {
|
3242 |
+
left: 65px;
|
3243 |
+
margin-bottom: 20px;
|
3244 |
+
}
|
3245 |
+
.imagify-recommend:before {
|
3246 |
+
content: "";
|
3247 |
+
position: absolute;
|
3248 |
+
top: 7px; left: -35px;
|
3249 |
+
width: 29px; height: 30px;
|
3250 |
+
background: url("../images/icon-arrow-choice.png") scroll 0 no-repeat;
|
3251 |
+
background-size: contain;
|
3252 |
+
}
|
3253 |
+
@media only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
|
3254 |
+
.imagify-recommend:before {
|
3255 |
+
background-image: url("../images/icon-arrow-choice.svg");
|
3256 |
+
}
|
3257 |
+
}
|
3258 |
+
|
3259 |
+
/* One Time Adjustments */
|
3260 |
+
.imagify-offer-line[class*="imagify-onetime-"] {
|
3261 |
+
padding: 0;
|
3262 |
+
margin: .3em 0 0;
|
3263 |
+
}
|
3264 |
+
.imagify-offer-line.imagify-offer-line[class*="imagify-onetime-"]:first-child {
|
3265 |
+
margin-top: 2em;
|
3266 |
+
}
|
3267 |
+
.imagify-offer-line[class*="imagify-onetime-"] + .imagify-offer-line {
|
3268 |
+
margin-top: .5em;
|
3269 |
+
}
|
3270 |
+
.imagify-offer-selected.imagify-offer-line[class*="imagify-onetime-"] {
|
3271 |
+
-webkit-transform: scale(1);
|
3272 |
+
transform: scale(1);
|
3273 |
+
border-width: 2px;
|
3274 |
+
}
|
3275 |
+
|
3276 |
+
/* cols */
|
3277 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-details {
|
3278 |
+
position: relative;
|
3279 |
+
overflow: hidden;
|
3280 |
+
width: 21%;
|
3281 |
+
background: #1F2332;
|
3282 |
+
color: #FFF;
|
3283 |
+
}
|
3284 |
+
.imagify-offer-selected.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-details {
|
3285 |
+
background: #338EA6;
|
3286 |
+
}
|
3287 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-details:before {
|
3288 |
+
content: "";
|
3289 |
+
position: absolute;
|
3290 |
+
bottom: 0; right: 25px;
|
3291 |
+
width: 75px; height: 54px;
|
3292 |
+
background: url("../images/icon-pack.png");
|
3293 |
+
}
|
3294 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-other-actions {
|
3295 |
+
width: 30%;
|
3296 |
+
}
|
3297 |
+
|
3298 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-offer-size,
|
3299 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-approx {
|
3300 |
+
color: #FFF;
|
3301 |
+
}
|
3302 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-offer-size {
|
3303 |
+
font-size: 24px;
|
3304 |
+
}
|
3305 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-approx {
|
3306 |
+
font-size: 12px;
|
3307 |
+
}
|
3308 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-price-block {
|
3309 |
+
padding-left: 10px;
|
3310 |
+
}
|
3311 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-dollars {
|
3312 |
+
vertical-align: middle;
|
3313 |
+
}
|
3314 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-price-big {
|
3315 |
+
vertical-align: -5px;
|
3316 |
+
}
|
3317 |
+
.imagify-offer-line[class*="imagify-onetime-"] .imagify-price-mini {
|
3318 |
+
vertical-align: 7px;
|
3319 |
+
}
|
3320 |
+
|
3321 |
+
/* Simple Tabs*/
|
3322 |
+
.imagify-tabs {
|
3323 |
+
margin-bottom: 0;
|
3324 |
+
list-style: none;
|
3325 |
+
background: #E5EBEF;
|
3326 |
+
}
|
3327 |
+
.imagify-modal-content .imagify-tabs {
|
3328 |
+
margin: 1em 0 0;
|
3329 |
+
}
|
3330 |
+
.imagify-tab {
|
3331 |
+
-webkit-box-flex: 1;
|
3332 |
+
-webkit-flex-grow: 1;
|
3333 |
+
-ms-flex-positive: 1;
|
3334 |
+
flex-grow: 1;
|
3335 |
+
width: 50%;
|
3336 |
+
margin: 0;
|
3337 |
+
font-size: 23px;
|
3338 |
+
}
|
3339 |
+
.imagify-tab a {
|
3340 |
+
display: block;
|
3341 |
+
padding: 15px 10px;
|
3342 |
+
color: inherit;
|
3343 |
+
text-decoration: none;
|
3344 |
+
}
|
3345 |
+
.imagify-tab a:focus {
|
3346 |
+
box-shadow: none;
|
3347 |
+
outline: none;
|
3348 |
+
color: #40B1D8;
|
3349 |
+
}
|
3350 |
+
.imagify-tab.imagify-current a {
|
3351 |
+
background: #F6F7FB;
|
3352 |
+
}
|
3353 |
+
.imagify-tab-content.imagify-current {
|
3354 |
+
display: block;
|
3355 |
+
}
|
3356 |
+
.imagify-tab-content {
|
3357 |
+
display: none;
|
3358 |
+
}
|
3359 |
+
.imagify-tab-content .imagify-modal-section:first-child {
|
3360 |
+
margin-top: 0;
|
3361 |
+
}
|
3362 |
+
|
3363 |
+
/* Modal sidebar */
|
3364 |
+
.imagify-modal-sidebar-content,
|
3365 |
+
.imagify-payment-modal .imagify-modal-sidebar {
|
3366 |
+
display: -webkit-box;
|
3367 |
+
display: -webkit-flex;
|
3368 |
+
display: -ms-flexbox;
|
3369 |
+
display: flex;
|
3370 |
+
-webkit-box-orient: vertical;
|
3371 |
+
-webkit-box-direction: normal;
|
3372 |
+
-webkit-flex-direction: column;
|
3373 |
+
-ms-flex-direction: column;
|
3374 |
+
flex-direction: column;
|
3375 |
+
}
|
3376 |
+
.imagify-modal-sidebar-content {
|
3377 |
+
-webkit-box-flex: 1;
|
3378 |
+
-webkit-flex-grow: 1;
|
3379 |
+
-ms-flex-positive: 1;
|
3380 |
+
flex-grow: 1;
|
3381 |
+
}
|
3382 |
+
p.imagify-modal-sidebar-title {
|
3383 |
+
margin-top: 5px;
|
3384 |
+
padding-right: 40px;
|
3385 |
+
font-size: 18px;
|
3386 |
+
color: #FFF;
|
3387 |
+
}
|
3388 |
+
.imagify-modal-testimony {
|
3389 |
+
margin-top: 1em;
|
3390 |
+
}
|
3391 |
+
.imagify-modal-testimony + .imagify-modal-testimony {
|
3392 |
+
margin-top: 2em;
|
3393 |
+
}
|
3394 |
+
@media (max-height:620px) {
|
3395 |
+
.imagify-modal-testimony + .imagify-modal-testimony {
|
3396 |
+
display: none;
|
3397 |
+
}
|
3398 |
+
}
|
3399 |
+
.imagify-modal-testimony-person {
|
3400 |
+
display: table;
|
3401 |
+
width: 100%;
|
3402 |
+
}
|
3403 |
+
.imagify-modal-testimony-person > * {
|
3404 |
+
display: table-cell;
|
3405 |
+
vertical-align: middle;
|
3406 |
+
}
|
3407 |
+
.imagify-modal-avatar {
|
3408 |
+
width: 114px;
|
3409 |
+
line-height: 0;
|
3410 |
+
}
|
3411 |
+
.imagify-modal-avatar img {
|
3412 |
+
border: 2px solid #FFF;
|
3413 |
+
border-radius: 50%;
|
3414 |
+
width: 96px; height: 96px;
|
3415 |
+
}
|
3416 |
+
.imagify-modal-identity a {
|
3417 |
+
text-decoration: none;
|
3418 |
+
font-weight: bold;
|
3419 |
+
}
|
3420 |
+
.imagify-modal-identity a:first-child {
|
3421 |
+
font-size: 13px;
|
3422 |
+
}
|
3423 |
+
.imagify-modal-identity a:first-child + a {
|
3424 |
+
display: block;
|
3425 |
+
font-size: 10px;
|
3426 |
+
color: #7A8996;
|
3427 |
+
}
|
3428 |
+
.imagify-modal-testimony-content p {
|
3429 |
+
font-size: 13px;
|
3430 |
+
font-style: italic;
|
3431 |
+
line-height: 1.7;
|
3432 |
+
color: #7A8996;
|
3433 |
+
}
|
3434 |
+
.imagify-modal-sidebar-trust {
|
3435 |
+
margin-top: auto;
|
3436 |
+
padding-top: 1.5em;
|
3437 |
+
}
|
3438 |
+
.imagify-modal-sidebar-trust p {
|
3439 |
+
margin: 0;
|
3440 |
+
font-weight: bold;
|
3441 |
+
font-size: 12px;
|
3442 |
+
line-height: 1.7;
|
3443 |
+
}
|
3444 |
+
.imagify-modal-sidebar-trust p img {
|
3445 |
+
margin-right: 3px;
|
3446 |
+
vertical-align: -2px;
|
3447 |
+
}
|
3448 |
+
.imagify-modal-sidebar-trust p + p {
|
3449 |
+
font-size: 11px;
|
3450 |
+
}
|
3451 |
+
|
3452 |
+
/* Cart */
|
3453 |
+
.imagify-cart {
|
3454 |
+
text-align: left;
|
3455 |
+
}
|
3456 |
+
.imagify-cart .imagify-cart-list {
|
3457 |
+
border-top: 1px solid rgba(122, 137, 150, .2);
|
3458 |
+
border-bottom: 1px solid rgba(122, 137, 150, .2);
|
3459 |
+
}
|
3460 |
+
.imagify-cart .imagify-cart-label {
|
3461 |
+
margin-bottom: 0.5em;
|
3462 |
+
font-size: 10px;
|
3463 |
+
color: #2E3243;
|
3464 |
+
}
|
3465 |
+
.imagify-cart-list p {
|
3466 |
+
margin: 0;
|
3467 |
+
font-weight: bold;
|
3468 |
+
}
|
3469 |
+
.imagify-cart-item {
|
3470 |
+
margin: .4em 0;
|
3471 |
+
}
|
3472 |
+
.imagify-cart .imagify-cart-suggestion {
|
3473 |
+
margin-top: -.3em;
|
3474 |
+
}
|
3475 |
+
.imagify-cart-suggestion a,
|
3476 |
+
.imagify-cl-description p {
|
3477 |
+
font-size: 10px;
|
3478 |
+
}
|
3479 |
+
.imagify-remove-from-cart {
|
3480 |
+
border: 0;
|
3481 |
+
padding: 0;
|
3482 |
+
width: 14px;
|
3483 |
+
height: 14px;
|
3484 |
+
line-height: 13px;
|
3485 |
+
border-radius: 50%;
|
3486 |
+
background: #40B1D0;
|
3487 |
+
cursor: pointer;
|
3488 |
+
transition: background .3s;
|
3489 |
+
}
|
3490 |
+
.imagify-remove-from-cart i:before {
|
3491 |
+
position: relative;
|
3492 |
+
top: -6px; left: -3px;
|
3493 |
+
font-size: 13px;
|
3494 |
+
color: #FFF;
|
3495 |
+
}
|
3496 |
+
.imagify-remove-from-cart:hover,
|
3497 |
+
.imagify-remove-from-cart:focus {
|
3498 |
+
background: #D0021B;
|
3499 |
+
}
|
3500 |
+
|
3501 |
+
/* col sizes */
|
3502 |
+
.imagify-cart .imagify-cl-remove {
|
3503 |
+
-webkit-box-flex: 0;
|
3504 |
+
-webkit-flex-grow: 0;
|
3505 |
+
-ms-flex-positive: 0;
|
3506 |
+
flex-grow: 0;
|
3507 |
+
width: 45px;
|
3508 |
+
}
|
3509 |
+
.imagify-cart .imagify-cl-name {
|
3510 |
+
-webkit-box-flex: 0;
|
3511 |
+
-webkit-flex-grow: 0;
|
3512 |
+
-ms-flex-positive: 0;
|
3513 |
+
flex-grow: 0;
|
3514 |
+
width: 200px;
|
3515 |
+
}
|
3516 |
+
.imagify-cart .imagify-cl-description {
|
3517 |
+
-webkit-align-self: flex-start;
|
3518 |
+
-ms-flex-item-align: start;
|
3519 |
+
align-self: flex-start;
|
3520 |
+
padding-top: 10px;
|
3521 |
+
}
|
3522 |
+
.imagify-cart .imagify-cl-price {
|
3523 |
+
text-align: right;
|
3524 |
+
}
|
3525 |
+
|
3526 |
+
#imagify-payment-iframe {
|
3527 |
+
width: 100%;
|
3528 |
+
height: 375px;
|
3529 |
+
margin-top: 1em;
|
3530 |
+
background: #f6f7fb url(../images/loader-balls.svg) 50% 175px no-repeat;
|
3531 |
+
}
|
3532 |
+
|
3533 |
+
.imagify-success-view {
|
3534 |
+
display: -webkit-box;
|
3535 |
+
display: -webkit-flex;
|
3536 |
+
display: -ms-flexbox;
|
3537 |
+
display: flex;
|
3538 |
+
-webkit-box-align: center;
|
3539 |
+
-webkit-align-items: center;
|
3540 |
+
-ms-flex-align: center;
|
3541 |
+
align-items: center;
|
3542 |
+
-webkit-box-orient: vertical;
|
3543 |
+
-webkit-box-direction: normal;
|
3544 |
+
-webkit-flex-direction: column;
|
3545 |
+
-ms-flex-direction: column;
|
3546 |
+
flex-direction: column;
|
3547 |
+
-webkit-box-pack: center;
|
3548 |
+
-webkit-justify-content: center;
|
3549 |
+
-ms-flex-pack: center;
|
3550 |
+
justify-content: center;
|
3551 |
+
height: 100%;
|
3552 |
+
}
|
3553 |
+
.imagify-success-view p {
|
3554 |
+
font-weight: bold;
|
3555 |
+
font-size: 16px;
|
3556 |
+
}
|
3557 |
+
|
3558 |
+
/* Imagify cart item removing */
|
3559 |
+
.imagify-cart-emptied-item {
|
3560 |
+
margin: .3em auto;
|
3561 |
+
padding: 6px 20px;
|
3562 |
+
background: #E6EBEF;
|
3563 |
+
border-radius: 20px;
|
3564 |
+
}
|
3565 |
+
.imagify-cart-emptied-item.imagify-cart-emptied-item p {
|
3566 |
+
font-weight: bold;
|
3567 |
+
}
|
3568 |
+
.imagify-cart-emptied-item a {
|
3569 |
+
color: #40b1d0;
|
3570 |
+
float: right;
|
3571 |
+
font-weight: bold;
|
3572 |
}
|
assets/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
body.imagify-modal-is-open{overflow:hidden}.imagify-plugins-error{overflow:hidden;padding-left:20px;list-style-type:disc}.imagify-plugins-error li{width:300px;line-height:30px}@media (max-width:570px){.imagify-plugins-error li{width:auto}}.imagify-notice-dismiss.notice-dismiss{text-decoration:none}.imagify-spinner{display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:middle;background:rgba(0,0,0,0) url("../images/spinner.gif") no-repeat scroll 0 0 / 20px 20px;opacity:0.7}.spinner.imagify-hidden{width:0;margin:4px 0 0 0}.misc-pub-section.misc-pub-imagify h4{font-size:14px;margin-top:5px;margin-bottom:0}.imagify-sweet-alert button{margin-top:17px !important;height:45px !important;letter-spacing:3px;text-transform:uppercase !important;border-radius:3px !important;background-color:#40b1d0 !important;box-shadow:0 3px 0 #338ea6 !important}.imagify-sweet-alert button.cancel{background:#777 !important;box-shadow:0 3px 0 #444 !important}.imagify-sweet-alert-signup .sa-confirm-button-container{width:40%}.imagify-sweet-alert-signup button{width:100%;padding:0 !important}.imagify-sweet-alert .sa-input-error:before,.imagify-sweet-alert .sa-input-error:after,.imagify-sweet-alert .la-ball-fall{top:25% !important}#wpwrap{transition:all .4s}.stop-scrolling #wpwrap{filter:blur(2px)}.stop-scrolling #wpwrap #wpadminbar{top:-32px}.imagify-primary{color:#40b1d0}.imagify-secondary{color:#8cc152}#imagify-check-api-container{font-weight:bold}#imagify-check-api-container .dashicons{font-size:25px}#imagify-check-api-container .dashicons-no:before{color:#f06e57;vertical-align:-1px}#imagify-check-api-container .dashicons-yes:before{color:#8BC34A;vertical-align:-1px}.imagify-valid{color:#8BC34A}.imagify-chart{width:33.33%;position:relative}#imagify-overview-chart-legend{overflow:hidden}.imagify-doughnut-legend{margin-top:38px;list-style:none}.imagify-doughnut-legend li{display:block;padding-left:30px;position:relative;margin-bottom:15px;border-radius:5px;padding:3px 8px 2px 31px;font-size:14px;font-weight:600;cursor:default;-webkit-transition:background-color 200ms ease-in-out;-moz-transition:background-color 200ms ease-in-out;-o-transition:background-color 200ms ease-in-out;transition:background-color 200ms ease-in-out}.imagify-doughnut-legend li span{display:block;position:absolute;left:0;top:0;width:25px;height:25px;border-radius:50%}.imagify-chart{float:left;margin-bottom:20px}td .imagify-chart{float:none;margin-bottom:0}.imagify-chart-container{position:relative;width:180px;float:left;margin-right:40px}td .imagify-chart-container{width:18px;height:18px;float:none;margin-right:10px}td .imagify-chart{top:4px}.imagify-chart-percent{position:absolute;left:0;right:0;top:50%;margin-top:-14px;text-align:center;font-size:55px;font-weight:bold;color:#46B1CE}.imagify-chart-percent span{font-size:20px;vertical-align:super}.media_page_imagify-bulk-optimization .notice,.settings_page_imagify .notice{margin-right:20px;margin-left:2px}.media_page_imagify-bulk-optimization .media-item{margin:0}.media_page_imagify-bulk-optimization .media-item .progress{float:none;width:100%;margin:0;background:#1F2331;box-shadow:0;border-radius:0}.media_page_imagify-bulk-optimization .media-item .percent{width:auto;padding:0 5px;line-height:1.85;font-size:12px}.media_page_imagify-bulk-optimization .media-item .progress,.media_page_imagify-bulk-optimization .media-item .percent{text-align:right}.media_page_imagify-bulk-optimization .media-item .progress .bar{width:1px;height:22px;margin-top:0;background:#46B1CE;border-radius:0;overflow:visible;-webkit-transition:width .5s;transition:width .5s}.imagify-settings a,.imagify-settings .button,.imagify-settings input,.imagify-welcome a,.imagify-welcome .button,.imagify-weolcome input{-webkit-transition:all .275s;transition:all .275s}.imagify-settings a{color:#40b1d0}.imagify-options-title{padding-bottom:.5em;border-bottom:3px solid #F2F2F2;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:0.025em;color:#40b1d0}.imagify-settings,.imagify-settings p,.imagify-settings th{color:#5F758E}@media (max-width:782px){.imagify-settings .form-table th{padding-top:2em;padding-bottom:.5em}}.imagify-settings .form-table td{vertical-align:top}.imagify-settings .form-table th span{cursor:pointer}.imagify-middle th{padding-top:35px}.imagify-settings .button,.imagify-welcome .button,.imagify-notice .button,.imagify-button-primary.imagify-button-primary{height:auto;padding:8px 20px;border:0 none;font-size:14px;font-weight:600;box-shadow:0 3px 0 rgba(0,0,0,.15)}.imagify-notice .button-mini{padding:2px 10px;font-size:13px}.button-primary.button-mini{padding:2px 10px}.imagify-settings .button.button-mini-flat{padding:3px 6px 5px;font-size:12px;box-shadow:none!important;line-height:1.2}.imagify-settings .button.button-mini-flat:hover,.imagify-settings .button.button-mini-flat:focus{box-shadow:none!important}.imagify-title .button-ghost.button-ghost{padding:2px 9px;border:1px solid #40B1D0;font-size:12px;font-weight:normal;color:#40B1D0;background:transparent}.imagify-title .button-ghost.button-ghost:hover,.imagify-title .button-ghost.button-ghost:focus{border-color:transparent;color:#000;background:#40B1D0}.button .dashicons{margin-right:5px;vertical-align:middle}.imagify-settings .button-primary.button-primary,.imagify-welcome .button-primary.button-primary,.imagify-button-primary.imagify-button-primary{background:#40B1D0;color:#FFF;box-shadow:0 3px 0 rgba(51,142,166,1);text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799!important}.imagify-settings .button-primary:hover,.imagify-settings .button-primary:focus,.imagify-welcome .button-primary:hover,.imagify-welcome .button-primary:focus,.imagify-button-primary.imagify-button-primary:hover,.imagify-button-primary.imagify-button-primary:focus{background:rgb(51,142,166);box-shadow:0 3px 0 rgb(31,122,146)}.wp_attachment_image .imagify-button-primary,.media-frame-content .imagify-button-primary{float:left;padding:0 10px 1px;margin:0 5px 2px 0;font-size:13px;line-height:26px;box-shadow:0 3px 0 rgba(51,142,166,1)}.imagify-settings input[type="text"]{color:#4A4A4A;font-weight:600;box-shadow:none}.imagify-settings p.submit .button-primary{margin-left:240px}@media (max-width:850px){.imagify-settings p.submit .button-primary{margin-left:0px}.imagify-settings p.submit{text-align:center}}.imagify-title.imagify-title{position:relative;padding:30px 50px;font-size:23px;background:#2E3243;color:#FFF}.imagify-settings .imagify-title+.imagify-notice{margin:0;border-right:1px solid #D9D9D9;padding-top:15px;padding-bottom:15px}.imagify-logo{vertical-align:top}.imagify-sub-header,.imagify-sub-title.imagify-sub-title,.imagify-settings div.submit{margin:0;padding:20px;background:#F2F5F7}.imagify-bulk-info{margin:1em 1em 1em 240px;transition:margin .3s}@media (max-width:850px){.imagify-bulk-info{margin:1em}}.imagify-bulk-info p{display:inline-block;text-align:left;width:400px;max-width:100%;font-weight:bold}@media (min-width:1500px){.imagify-settings div.submit{display:table;width:100%}.imagify-settings div.submit >*{display:table-cell;vertical-align:middle}.imagify-bulk-info{padding:0 25px;text-align:right}}.imagify-settings div.submit{margin-top:2em;padding:20px 0}.imagify-sub-header th{text-align:right}.imagify-sub-header .form-table{margin:0}.imagify-sub-header th,.imagify-sub-header td{padding-top:0;padding-bottom:0}[for="api_key"]{padding-top:5px}.imagify-notice .imagify-rate-us.imagify-rate-us{position:relative;bottom:0;right:0;text-align:left}.imagify-notice .imagify-rate-us .stars{margin:0}.imagify-rate-us.imagify-rate-us{position:absolute;bottom:50%;right:20px;text-align:right;margin-bottom:-2.4em;color:#FFF}.imagify-rate-us a{color:#40B1D0}.imagify-rate-us .stars{display:inline-block;margin:2px 0 0 10px;text-decoration:none;letter-spacing:.2em;vertical-align:-1px}.imagify-rate-us .stars .dashicons:before{font-size:18px}.imagify-rate-us a:hover,.imagify-rate-us a:focus{color:#FEE102}@media (max-width:1220px){.imagify-rate-us.imagify-rate-us{position:static;margin-bottom:0;text-align:left}.imagify-rate-us.imagify-rate-us br{display:none}.imagify-rate-us .stars{display:block;margin-left:0}}.imagify-rkt-notice.imagify-rkt-notice{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:10px 45px 10px 0;border:0 none;box-shadow:none;color:#FFF;background:#412355}.media_page_imagify-bulk-optimization .imagify-rkt-notice{margin-left:2px;margin-right:20px}@media (max-width:782px){.media_page_imagify-bulk-optimization .imagify-rkt-notice{margin-left:0;margin-right:12px}}.imagify-rkt-notice .imagify-cross{position:absolute;right:8px;top:50%;width:22px;height:22px;padding:0;margin-top:-11px;background:transparent;color:#FD7300;border-radius:50%;transition:all .275s}.imagify-rkt-notice .imagify-cross .dashicons{position:relative;top:2px;left:1px;transition:all .275s}.imagify-rkt-notice .imagify-cross:hover{background:#FFF}.imagify-rkt-notice .imagify-cross:hover .dashicons{color:#412355}.imagify-rkt-notice .imagify-rkt-cta,.imagify-rkt-notice .imagify-rkt-logo,.imagify-rkt-notice .imagify-rkt-coupon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.imagify-rkt-notice .imagify-rkt-logo{width:150px!important;text-align:center;padding:0 25px 0 30px;line-height:0.8}.imagify-rkt-notice .imagify-rkt-msg{width:100%!important;padding:0 15px;font-size:14px;line-height:1.6}.imagify-rkt-notice .imagify-rkt-coupon{width:150px!important;padding:0 15px}.imagify-rkt-notice .imagify-rkt-coupon-code{padding:5px 10px;font-size:23px;font-weight:bold;border:1px dashed #F7A933;color:#F7A933}.imagify-rkt-notice .imagify-rkt-cta{width:200px!important;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px;}.imagify-rkt-notice .button.button{position:relative;top:-1px;height:auto;font-weight:600;font-size:14px;box-shadow:0 4px 0 #B27A27;border:0 none;padding:9px 18px 9px;background:#F7A933;text-shadow:1px 1px 1px rgba(0,0,0,.2)}@media (max-width:880px){.imagify-rkt-notice{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.imagify-rkt-notice .imagify-rkt-msg,.imagify-rkt-notice .imagify-rkt-cta,.imagify-rkt-notice .imagify-rkt-logo{text-align:left;padding:5px 15px}.imagify-cross.imagify-cross{top:8px;margin-top:0}.imagify-rkt-notice .imagify-cross .dashicons{top:1px}}.imagify-settings-section{padding:10px 20px}[id="imagify-settings"],.imagify-welcome .imagify-settings-section{border:1px solid #D9D9D9;border-top:0 none;background:#FFF}.imagify-br{line-height:2}.imagify-important{color:#F5A623}.imagify-info,.imagify-info a{color:#40B1D0;font-size:12px}.imagify-info{position:relative;display:inline-block;padding-left:25px;vertical-align:top}.imagify-info .dashicons{position:absolute;left:0;top:-1px}label+.imagify-info,label+.imagify-options-line,.imagify-visual-label{display:inline-block;max-width:70%;margin-left:15px;margin-top:2px!important;-webkit-transition:opacity .3s;transition:opacity .3s}.imagify-visual-label{vertical-align:-5px}label[for="imagify_sizes_full"]+.imagify-info{vertical-align:middle}.imagify-settings.imagify-settings [type="checkbox"]:not(:checked)+label+.imagify-options-line,.imagify-settings.imagify-settings [type="checkbox"]:not(:checked)+label .imagify-visual-label{opacity:.5}.imagify-settings.imagify-settings [type="checkbox"]:checked+label+.imagify-options-line,.imagify-settings.imagify-settings [type="checkbox"]:checked+label .imagify-visual-label{opacity:1}.imagify-checkbox-marged{max-width:500px;margin-left:45px}.imagify-settings.imagify-settings [type="checkbox"]:not(:checked),.imagify-settings.imagify-settings [type="checkbox"]:checked{opacity:0.01}.imagify-settings.imagify-settings [type="checkbox"]:not(:checked):focus,.imagify-settings.imagify-settings [type="checkbox"]:checked:focus{box-shadow:none!important;outline:none!important;border:0 none!important}.imagify-settings [type="checkbox"]:not(:checked)+label,.imagify-settings [type="checkbox"]:checked+label{position:relative;padding-left:6px;cursor:pointer;vertical-align:top}.imagify-settings [type="checkbox"]:not(:checked)+label:before,.imagify-settings [type="checkbox"]:checked+label:before{content:'';position:absolute;left:0;top:0;width:28px;height:28px;margin:0 0 0 -24px;border:2px solid #8BA6B4;background:#FFF;border-radius:4px}.imagify-settings [type="checkbox"]:not(:checked)+label:after,.imagify-settings [type="checkbox"]:checked+label:after{content:"✓";position:absolute;font-size:1.4em;top:3px;left:-16px;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;transition:all .2s}.imagify-settings [type="checkbox"][disabled]:not(:checked)+label:before,.imagify-settings [type="checkbox"][disabled]:checked+label:before{border-color:#ccc;background:#ddd}.imagify-settings [type="checkbox"]:not(:checked)+label:after{opacity:0;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.imagify-settings [type="checkbox"]:checked+label:after{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}input[id^="imagify_sizes_"]:checked+label{font-weight:bold}.imagify-settings .mini[type="checkbox"]:not(:checked)+label:before,.imagify-settings .mini[type="checkbox"]:checked+label:before{width:15px;height:15px;border-width:1px;border-radius:2px;margin-top:0}.imagify-settings .mini[type="checkbox"]:not(:checked)+label:after,.imagify-settings .mini[type="checkbox"]:checked+label:after{content:"✓";font-size:.9em;left:-21px;top:1px}.imagify-settings [type="checkbox"]:not(:checked):focus+label:before,.imagify-settings [type="checkbox"]:checked:focus+label:before{border-style:dotted;border-color:#40b1d0}.imagify-inline-options{position:relative;display:table;width:100%;max-width:600px;border-collapse:collapse}.imagify-inline-options:after{content:"";display:table;clear:both}.imagify-inline-options input[type="radio"]:not(:checked),.imagify-inline-options input[type="radio"]:checked{position:absolute;left:5px;top:5px;display:none}.imagify-inline-options input[type="radio"]:not(:checked)+label,.imagify-inline-options input[type="radio"]:checked+label{position:relative;display:table-cell;padding:13px 10px;text-align:center;font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:0.1em;color:#FFF;background:#2E3243;border-left:1px solid rgba(255,255,255,0.2);box-shadow:0 -3px 0 rgba(0,0,0,0.1) inset,inset -1px 0 0 rgba(255,255,255,0.2);z-index:2;-webkit-transition:all .275s;transition:all .275s}.imagify-bulk-submit .imagify-inline-options input[type="radio"]:not(:checked)+label,.imagify-bulk-submit .imagify-inline-options input[type="radio"]:checked+label{margin-bottom:1.75em}.imagify-inline-options input[type="radio"]:not(:checked)+label:first-of-type,.imagify-inline-options input[type="radio"]:checked+label:first-of-type{border-radius:3px 0 0 3px}.imagify-inline-options input[type="radio"]:not(:checked)+label:last-of-type,.imagify-inline-options input[type="radio"]:checked+label:last-of-type{border-radius:0 3px 3px 0}.imagify-inline-options input[type="radio"]:checked+label{background:#8BC34A}.imagify-inline-options .imagify-info{margin-top:15px}.imagify-btn-info{display:block;font-size:0.7em;letter-spacing:0;line-height:1;text-transform:none}#describe-resize-larger input{width:5em}.imagify-col{overflow:hidden}.imagify-sidebar{float:right;width:280px;margin-left:25px}.imagify-sidebar-section{border:1px solid #BBB;background:#FFF}.imagify-sidebar-section+.imagify-sidebar-section{margin-top:2em}@media (max-width:760px){.imagify-settings{display:flex;flex-direction:column}.imagify-sidebar{order:2;float:none;width:auto;margin-left:0;margin-top:25px}.wp-media-products{text-align:center}.wp-media-products li{display:inline-block;width:100%;max-width:276px}}.imagify-sidebar-title{display:block;padding:20px 15px;border-bottom:1px solid #BBB;font-size:14px;font-weight:bold;color:#23282d;background:#F2F5F7}.imagify-sidebar-title img{vertical-align:top;margin-right:5px}.imagify-sidebar .wp-media-products{margin-top:0;margin-bottom:-.5em}.imagify-sidebar .wp-media-products .links{display:block;padding:85px 25px 24px;text-align:center;background-color:#2E3243;background-size:contain;background-repeat:no-repeat;background-position:50% 0;text-decoration:none}.imagify-sidebar .wp-media-products .links p{margin:1.5em auto;color:#FFF}.imagify-sidebar .wp-media-products .wprocket-link{background-image:linear-gradient(to bottom,rgba(59,30,78,0),rgba(59,30,78,0) 130px,rgba(59,30,78,1) 210px),url("../images/sidebar-wp-rocket.jpg");background-color:#3B1E4E;background-repeat:repeat-x,no-repeat}.imagify-sidebar-content{padding:10px 20px}.imagify-mark-styled{display:inline-block;padding:1px 2px 1px 4px;line-height:1.3;font-weight:bold;background:#F7A933;transform-origine:50% 50%;transform:rotateZ(-2deg) rotateX(-10deg) skewX(-2deg) skewY(-3deg);text-shadow:1px 1px 0 rgba(0,0,0,0.2)}.imagify-mark-styled span{display:inline-block;transform:rotateZ(2deg) rotateX(10deg) skewX(2deg) skewY(3deg)}.imagify-discount-code{margin:0.35em 0 .5em;display:block;font-size:2em;letter-spacing:.05em;font-weight:bold;text-align:center;text-shadow:1px 1px 0 rgba(0,0,0,0.2)}.imagify-big-text{font-size:15px;font-weight:bold}.imagify-big-text strong{font-size:20px}a.btn-rocket{display:block;font-size:1.15em;padding:12px;background:#F7A933;box-shadow:0 3px 0 #D69626;border-radius:3px;color:#FFF;text-transform:uppercase;font-weight:bold;text-shadow:1px 1px 0 rgba(0,0,0,0.2);text-decoration:none}a.btn-rocket:hover,a.btn-rocket:focus{background:darkorange;box-shadow:0 3px 0 darkorange}.imagify-welcome{margin:30px 20px 0 0}.imagify-welcome .baseline{display:inline-block;margin:.2em 0 0 2em;font-size:17px}.imagify-welcome .imagify-logo{vertical-align:middle}.imagify-welcome-remove{position:absolute;top:50%;right:15px;margin-top:-8px;color:#FFF;text-decoration:none}.imagify-columns{overflow:hidden;padding:15px 0;counter-reset:cols}.imagify-columns [class^="col-"]{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.imagify-columns .col-1-3{width:33.333%;padding-left:28px}.imagify-columns .col-1-2{width:50%;padding:0 20px}.imagify-columns .col-informations{width:41.6%;padding-right:30px}.imagify-columns .col-statistics{width:25%}@media (max-width:830px){.imagify-columns [class^="col-"]{float:none;margin-bottom:1.5em}.imagify-columns .col-1-3,.imagify-columns .col-1-2{width:auto;padding:0 28px;clear:both;padding-top:1em}}.imagify-columns [class^="col-"] img{float:left;margin-right:18px}.imagify-col-content{overflow:hidden}.imagify-col-title{margin:0 0 15px 0;font-size:23px}.counter .imagify-col-title:before{counter-increment:cols;content:counter(cols) ". ";color:#40B1D0}.imagify-col-desc{color:#5F758E;margin-bottom:2em}.imagify-notice.imagify-notice{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0;margin:10px 20px 10px 2px;border:0 none;background:#2E3243;box-shadow:none;color:#FFF}@media (max-width:782px){.imagify-notice.imagify-notice,.imagify-welcome{margin-right:12px}}@media (max-width:450px){.imagify-notice.imagify-notice{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column}}.wrap .imagify-notice{margin:5px 15px 2px;position:relative}.imagify-notice-logo{padding:18px 23px;background:#40B1D0}.updated .imagify-notice-logo{background:#8BC34A}.error .imagify-notice-logo{background:#D0021B}.imagify-notice-title{font-size:15px}.imagify-notice-content{padding:5px 23px}.imagify-notice-content.imagify-notice-content p{margin:0.65em 0}.imagify-notice a{color:#40B1D0}.imagify-notice a:hover,.imagify-notice a:focus{color:#FEE102}.imagify-notice code{background:rgba(0,0,0,0.4) none repeat scroll 0 0}.column-imagify_optimized_file.column-imagify_optimized_file{width:300px;text-align:center;vertical-align:middle}.column-imagify_optimized_file >*{max-width:235px;margin:0 auto}ul.imagify-datas-list.imagify-datas-list{margin:0 auto;color:#555;font-size:10px}.compat-field-imagify .label{vertical-align:top}.compat-field-imagify ul.imagify-datas-list{margin-top:7px;font-size:11px}ul.imagify-datas-list .big{font-size:12px;color:#40B1D0}.imagify-data-item{overflow:hidden}.imagify-data-item .imagify-chart{display:inline-block;top:1px;width:20px;vertical-align:middle;margin-bottom:0}li.imagify-data-item{clear:both;margin-bottom:2px}ul.imagify-datas-list .imagify-data-item span.data,ul.imagify-datas-list .imagify-data-item strong{float:left;width:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}ul.imagify-datas-list .imagify-data-item span.data{text-align:left;padding-right:5px}.compat-field-imagify .imagify-datas-list .imagify-data-item .data{width:130px;text-align:left;font-weight:bold}.media-sidebar .imagify-datas-list .imagify-data-item .data{width:auto;float:none}ul.imagify-datas-list .imagify-data-item strong{text-align:left;padding-left:5px}.media-sidebar .imagify-datas-list .imagify-data-item strong{width:auto;float:none}.imagify-datas-more-action.imagify-datas-more-action{margin:.4em auto;background:linear-gradient(to bottom,transparent,transparent 49%,rgba(0,0,0,.075) 50%,rgba(0,0,0,.075) 58%,transparent 58%,transparent)}.imagify-datas-more-action a{display:inline-block;padding:0 5px;background:#40B1D0;color:#FFF;text-transform:uppercase;font-size:9px;font-weight:bold;line-height:1.9;text-decoration:none}.imagify-datas-more-action a.is-open{background:#555}.imagify-datas-more-action a.is-open .dashicons{transform:rotate(180deg)}.imagify-datas-more-action a .dashicons{font-size:14px;vertical-align:middle;line-height:.8}.imagify-datas-more-action a .dashicons:before{vertical-align:middle;line-height:20px}.imagify-datas-more-action .the-text{display:inline-block;vertical-align:middle;height:20px;line-height:20px}ul.imagify-datas-details.imagify-datas-details{margin:.7em auto}.imagify-datas-details strong{color:#40B1D0}.imagify-datas-details .original{color:#555}.imagify-datas-actions-links{overflow:hidden;border-top:2px solid transparent;padding-top:5px;font-size:8px}.imagify-datas-actions-links a{position:relative;display:inline-block;padding-left:17px;text-decoration:none;font-weight:600}.compat-field-imagify .imagify-datas-actions-links{max-width:300px}.misc-pub-imagify .imagify-datas-actions-links{border-top:2px solid #f2f2f2;padding-bottom:5px}.compat-field-imagify .imagify-datas-actions-links a,.misc-pub-imagify .imagify-datas-actions-links a{font-size:10px;float:left;width:50%}.media-sidebar .compat-field-imagify .imagify-datas-actions-links a,.submitbox .misc-pub-imagify .imagify-datas-actions-links a{display:block;width:auto;float:none}.column-imagify_optimized_file .imagify-datas-actions-links a{margin:0 .7em;padding-left:15px}.imagify-datas-actions-links a:only-child{float:none;width:auto}.imagify-datas-details.is-open+.imagify-datas-actions-links{border-top-color:rgba(0,0,0,.075)}.imagify-datas-actions-links .dashicons{position:absolute;left:0;top:4px;width:12px;margin-right:2px;font-size:11px}.imagify-title >h1{padding:0}.imagify-title-right{display:table;float:right;margin-top:-10px}.imagify-title-right p{margin:0}.imagify-title-right a{font-weight:bold;text-decoration:none}.imagify-title-right >div{display:table-cell;vertical-align:middle}.imagify-title-right .dashicons-arrow-down-alt2{vertical-align:-4px;margin-left:2px}@media (max-width:1200px){.imagify-bulk .imagify-title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.imagify-title-right{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2;margin-top:20px}}.imagify-account,.imagify-account-link{padding-right:15px}.imagify-sep-v{width:1px;background:rgba(255,255,255,.2)}.imagify-credit-left{position:relative;min-width:280px;padding-left:15px}.imagify-meteo-icon{display:inline-block;height:38px;vertical-align:middle;margin-right:10px}.imagify-user-plan{color:#40b1d0}@media (max-width:630px){.imagify-title-right{display:block;width:auto}.imagify-title-right >div{display:block;width:auto;margin-top:10px;max-width:100%}.imagify-credit-left{padding-left:0}}.imagify-meteo-title.imagify-meteo-title{color:#FFF;font-size:17px}.imagify-space-left{display:inline-block;min-height:38px;min-width:245px;vertical-align:middle}.imagify-space-left >p{color:#FFF}[class^="imagify-bar-"],#wp-admin-bar-imagify-profile [class^="imagify-bar-"]{position:relative;height:15px;width:100%;background:#60758D;color:#FFF;font-size:10px}.base-transparent{background:transparent}[class^="imagify-bar-"].right-outside-number{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:45px}.right-outside-number .imagify-barnb{display:block;margin-right:-45px;text-align:right;font-weight:bold;line-height:15px}.imagify-progress-value,#wp-admin-bar-imagify-profile .imagify-progress-value{position:absolute;top:0;right:0;left:0;bottom:0;text-align:center;line-height:13px;font-weight:bold}.imagify-progress,#wp-admin-bar-imagify-profile .imagify-progress{height:15px}.imagify-bar-positive .imagify-progress{background:#8CC152}.imagify-bar-positive .imagify-barnb{color:#8CC152}.imagify-bar-negative .imagify-progress{background:#73818C}.imagify-bar-negative .imagify-barnb{color:#73818C}.imagify-bar-neutral .imagify-progress{background:#F5A623}.imagify-space-left .imagify-bar-negative .imagify-progress{background:#D0021B}#wpadminbar #wp-admin-bar-imagify-profile *{line-height:1.5;white-space:initial}#wpadminbar #wp-admin-bar-imagify .ab-submenu{padding-bottom:0}#wpadminbar #wp-admin-bar-imagify-profile .ab-item{height:auto;padding:0 13px}#wpadminbar #wp-admin-bar-imagify-profile{min-width:200px;padding:15px 0 10px;margin-top:0.7em;background:#222}#wp-admin-bar-imagify .dashicons{font-family:"dashicons";font-size:18px;vertical-align:middle;margin:0 5px 0 0}#wp-admin-bar-imagify .button-text{display:inline-block;vertical-align:middle}#wp-admin-bar-imagify .imagify-abq-row{display:table;width:100%}#wp-admin-bar-imagify .imagify-abq-row+.imagify-abq-row{margin-top:.75em}#wp-admin-bar-imagify .imagify-abq-row >*{display:table-cell}#wp-admin-bar-imagify-profile .imagify-meteo-icon{padding-right:7px}#wp-admin-bar-imagify-profile .imagify-meteo-icon img{width:37px}#wp-admin-bar-imagify-profile .imagify-meteo-title{font-size:17px}#wp-admin-bar-imagify-profile .imagify-meteo-subs{color:#72889F}#wpadminbar #wp-admin-bar-imagify-profile strong{font-weight:bold}#wpadminbar #wp-admin-bar-imagify-profile .imagify-user-plan,#wpadminbar #wp-admin-bar-imagify-profile a{padding:0;color:#40B1D0}#wpadminbar #wp-admin-bar-imagify-profile .imagify-account-link{display:table}#wpadminbar #wp-admin-bar-imagify-profile .imagify-account-link >* {display:table-cell}#wpadminbar #wp-admin-bar-imagify-profile .imagify-space-left{max-width:210px;min-width:210px;width:210px}#wpadminbar #wp-admin-bar-imagify-profile .imagify-space-left p{font-size:12px}#wp-admin-bar-imagify-profile .imagify-error,#wp-admin-bar-imagify-profile .imagify-warning{padding:10px;margin:0 -13px -13px}#wp-admin-bar-imagify-profile .imagify-error p+p,#wp-admin-bar-imagify-profile .imagify-warning p+p{margin-top:.5em}#wp-admin-bar-imagify-profile .imagify-error p+p+p,#wp-admin-bar-imagify-profile .imagify-warning p+p+p{margin-top:1em}.btn-ghost,#wpadminbar #wp-admin-bar-imagify-profile .btn-ghost{display:inline-block;height:auto;padding:7px 10px;border:1px solid #FFF;text-align:center;background:transparent;color:#FFF;border-radius:3px;transition:all .275s}.btn-ghost:hover,.btn-ghost:focus,#wpadminbar #wp-admin-bar-imagify-profile .btn-ghost:hover,#wpadminbar #wp-admin-bar-imagify-profile .btn-ghost:focus{background:#FFF;color:#888}.txt-center{text-align:center}.imagify-list-dash li{position:relative;padding-left:24px}.imagify-list-dash li:before{content:"";position:absolute;left:0;top:9px;height:1px;width:12px;background:#5f758e}.imagify-sub-title.imagify-sub-title{font-size:23px;background:#FFF;color:#2E3243;border-left:1px solid #D9D9D9;border-right:1px solid #D9D9D9;font-weight:lighter}.imagify-sub-title .icon-bulk{margin-right:10px;vertical-align:middle}.imagify-sub-title .title-text{display:inline-block;line-height:1;vertical-align:middle}.imagify-bulk .imagify-settings-section{border:1px solid #D9D9D9;border-top:0;background:#F2F5F7;color:#4A4A4A}.imagify-bulk .imagify-settings-section p,.imagify-bulk .imagify-settings-section li,.imagify-bulk .imagify-settings-section h3{color:#4A4A4A}.imagify-bulk .imagify-settings-section h3{margin-bottom:2em}.imagify-bulk-submit{margin-top:4em}#imagify-bulk-action{float:left}#imagify-bulk-action+.imagify-tooltips{overflow:hidden;display:block}.imagify-title .imagify-tooltips{position:absolute;top:100%;left:0}.imagify-tooltips .icon-round{float:left;display:inline-block;width:28px;height:28px;border:1px solid #FFF;margin-right:8px;margin-bottom:8px;font-size:17px;font-style:italic;line-height:29px;font-weight:bold;text-align:center;border-radius:50%}.imagify-tooltips .tooltip-content{display:block;position:relative;max-width:250px;padding:7px 15px 8px;background:#2e3242;color:#FFF;font-size:10px;border-radius:3px}.imagify-tooltips.right .tooltip-content{margin-left:12px}.imagify-tooltips.bottom .tooltip-content{margin-top:4px}.imagify-inline-options label .tooltip-content{position:absolute;left:0;right:0;top:100%;text-transform:none;font-size:10px;letter-spacing:0;text-align:center}.imagify-tooltips .tooltip-content:after{content:"";position:absolute}.imagify-tooltips.right .tooltip-content:after{top:16px;left:-6px;border-right:8px solid #2e3242;border-top:6px solid transparent;border-bottom:6px solid transparent}.imagify-tooltips.bottom .tooltip-content:after{top:-5px;left:50%;margin-left:-3px;border-bottom:6px solid #2e3242;border-left:6px solid transparent;border-right:6px solid transparent}.imagify-space-tooltips .tooltip-content{max-width:280px;margin-top:20px;margin-left:0;padding:5px 15px 5px;font-size:13px;background:#40B1D0;box-shadow:0 3px 0 #338EA6}.imagify-space-tooltips .tooltip-content:after{top:-14px;left:50%;margin-left:-7px;border:0 none;border-bottom:15px solid #40B1D0;border-left:15px solid transparent;border-right:15px solid transparent}.tooltip-content.tooltip-table{display:table;width:100%}.tooltip-content.tooltip-table >*{display:table-cell;vertical-align:middle}.tooltip-content .cell-icon{width:28px}.tooltip-content .cell-icon .icon{margin-bottom:0}.tooltip-content .cell-text{padding:5px 10px 5px 0;line-height:1.3}.tooltip-content .cell-sep{width:1px;background:rgba(255,255,255,.4)}.tooltip-content .cell-cta{padding-left:10px}.tooltip-content .cell-cta a{display:block;color:#FFF;width:100%;height:100%;white-space:nowrap}.imagify-number-you-optimized .number{display:table-cell;padding-right:15px;font-size:36px;font-weight:bold;line-height:1.1;vertical-align:middle}.imagify-number-you-optimized .text{display:table-cell;vertical-align:middle;overflow:hidden;font-size:12px}.imagify-number-you-optimized .text br{display:none}.imagify-number-you-optimized >p{display:table}.imagify-number-you-optimized{padding-bottom:0.85em;margin-bottom:1.35em;overflow:hidden;border-bottom:1px solid rgba(0,0,0,0.05)}.imagify-bars p{font-weight:bold;font-size:12px;margin-bottom:0}.imagify-bars+.imagify-number-you-optimized{border-bottom:0;padding-top:0.85em}.imagify-bars+.imagify-number-you-optimized p{color:#46b1ce}.imagify-bulk-table{margin-top:2em;max-height:600px;max-height:60vh;overflow:auto}.imagify-bulk-table table{width:100%;border-spacing:0;border-collapse:collapse;border:1px solid #D3D3D3}.imagify-bulk-table td{padding:8px 15px}.imagify-bulk-table thead tr,.imagify-bulk-table thead th{background:#2E3242}.imagify-bulk-table tfoot tr,.imagify-bulk-table tfoot th{background:#73818C}.imagify-bulk-table thead th{padding:14px 15px;text-align:left;color:#F2F5F7;font-weight:bold;font-size:14px}.imagify-bulk-table tfoot td{padding:14px 15px;color:#F9FAFA}.imagify-bulk-table tbody tr,.imagify-bulk-table tbody td{background:#FFF}.imagify-bulk-table tbody tr:nth-child(odd),.imagify-bulk-table tbody tr:nth-child(odd) td{background:#F2F5F7}.imagify-bulk-table .imagify-row-progress{display:none}.imagify-bulk-table .imagify-row-progress,.imagify-bulk-table .imagify-row-progress td{height:15px;padding:0}.imagify-bulk-table .imagify-no-uploaded-yet td{height:200px;font-size:17px;letter-spacing:.1em;word-spacing:.12em;vertical-align:middle;text-transform:uppercase;font-weight:bold;text-align:center;color:#999;background-color:#FFF}.imagify-row-complete{padding:35px 20px;margin-top:2em;background:#8BC34A;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,.1)}.imagify-row-complete .imagify-ac-chart{margin-top:3px}.imagify-row-complete p{color:#FFF;margin:0}@-webkit-keyframes congrate{ 0%{opacity:0;-webkit-transform:scale(1)} 50%{-webkit-transform:scale(1.05);opacity:1} 100%{-webkit-transform:scale(1);opacity:1}}​@keyframes congrate{ 0%{opacity:0;transform:scale(1)} 50%{transform:scale(1.05);opacity:1} 100%{transform:scale(1);opacity:1}}.imagify-row-complete.done{-webkit-animation:congrate 500ms ease-in-out;animation:congrate 500ms ease-in-out}.imagify-all-complete{margin:1.5em 0}.imagify-all-complete >div{display:inline-block;vertical-align:middle}.imagify-ac-report{min-width:310px}.imagify-ac-chart{width:46px;height:46px;float:left;margin:0 20px 0 10px}.imagify-ac-report-text{overflow:hidden}.imagify-ac-report-text p{line-height:1.3}.imagify-ac-rt-big{font-weight:bold;font-size:24px;letter-spacing:0.15em;word-spacing:0.15em;text-transform:uppercase}.imagify-ac-share{text-align:right}.imagify-ac-share-content{display:inline-block;padding:10px 15px;background:rgba(255,255,255,.2)}.imagify-ac-share-content >*{display:inline-block;vertical-align:middle}.imagify-bulk-table .imagify-ac-share-content p{margin-right:5px}.imagify-share-networks,.imagify-share-networks li{margin:0}.imagify-share-networks li{display:inline-block}.imagify-share-networks a{display:inline-block;vertical-align:-7px;margin:0 5px;text-decoration:none;color:#FFF}.imagify-cell-filename{max-width:200px}.imagify-cell-status{max-width:145px}.imagify-cell-status .dashicons-warning{margin-right:2px}.imagify-cell-thumbnails{max-width:120px}td.imagify-cell-filename{text-overflow:clip;white-space:nowrap;overflow:hidden}.imagify-bulk-table td.imagify-cell-totaloriginal{padding-right:78px}.imagiuploaded,.imagifilename{display:inline-block;vertical-align:middle}.imagifilename{font-size:12px}.imagiuploaded{width:33px;height:33px;margin-right:5px;margin-left:-8px;overflow:hidden;background:url(../images/upload-image.png) 0 0 no-repeat;background-size:cover}.imagiuploaded img{max-widht:100%;height:auto}.imagistatus{color:#8CA6B3;text-transform:uppercase;font-weight:bold}.status-compressing{color:#46B1CE}.status-error{color:#CE0B24}.status-warning{color:#f5a623}.status-complete{color:#8CC152}.imagify-error{background:#D0021B;color:#FFF}.imagify-warning,#wpadminbar .imagify-warning *{background:#f5a623;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,0.2)}.imagify-bulk-table .imagify-cell-thumbnails{text-align:center}.imagify-cell-percentage,.imagify-cell-savings{color:#46B1CE;font-weight:bold}.imagify-cell-optimized{font-weight:bold}.imagify-cell-totaloriginal{text-align:right}.dashicons.rotate{-webkit-animation:icon-rotate 2.6s infinite linear;animation:icon-rotate 2.6s infinite linear}.dashicons-admin-generic{transform-origin:48.75% 51.75%}.imagify-modal{display:flex;flex-direction:column;align-items:center;justify-content:center}.js .imagify-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#1F2332;background-color:rgba(31,35,50,.95);z-index:99999}.imagify-modal-content{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;width:800px;max-width:95%;max-height:90vw;overflow:auto;padding:20px 25px;margin:1em auto;background:#FFF;box-shadow:1px 1px 4px rgba(0,0,0,.7);border-radius:3px}#imagify-visual-comparison .imagify-modal-content,.imagify-visual-comparison .imagify-modal-content{max-width:1400px;background:transparent;padding:5px;box-shadow:none;border-radius:0}.imagify-modal .h2{margin:.5em 0;color:#8ba6b4;font-weight:normal;font-size:24px;letter-spacing:0.075em;text-align:center}.imagify-modal .h3{color:#40b1d0;font-weight:normal;font-size:18px;letter-spacing:0.075em;text-align:center}.text-justify{text-align:justify}.imagify-modal .close-btn{display:none;visibility:hidden;position:absolute;right:20px;top:20px;font-size:1.2em;border:0;background:transparent none;border-radius:0;cursor:pointer}.imagify-modal .close-btn i{margin-left:-2px}.imagify-modal .close-btn:hover,.imagify-modal .close-btn:focus{color:#40b1d0}.js .imagify-modal .close-btn{display:block;visibility:visible}#imagify-visual-comparison .close-btn,.imagify-visual-comparison .close-btn{top:50px;right:5px;width:33px;height:33px;padding:1px 0 0 2px;border:1px solid #F2F2F2;color:#F2F2F2;line-height:19px;text-align:center;border-radius:50%}.wp_attachment_image #imagify-visual-comparison .close-btn,.imagify-visual-comparison .close-btn{top:0}.wp_attachment_image #imagify-visual-comparison .imagify-modal-content,.imagify-visual-comparison .imagify-modal-content{padding-top:40px}.imagify-modal .imagify-comparison-title{font-size:28px;margin-bottom:1em;color:#F2F2F2;text-align:left}.imagify-modal .imagify-comparison-title .twentytwenty-duo-buttons{position:static;margin:0 10px 0 15px}.imagify-comparison-title .twentytwenty-duo-buttons button{float:none;padding:6px 12px;font-size:16px;text-transform:none;border:1px solid #40B1D0;color:#889;letter-spacing:0}.imagify-comparison-title .twentytwenty-duo-buttons button:focus{outline:none;box-shadow:none}.imagify-comparison-title .twentytwenty-duo-buttons .selected{border:1px solid #40B1D0;color:#FFF;background:#40B1D0}.imagify-comparison-levels{margin:15px 0;overflow:hidden}.imagify-comparison-levels div{display:none;min-width:175px;font-size:11px}.imagify-comparison-levels .imagify-chart,.imagify-comparison-levels .imagify-chart-container{width:25px;float:none;margin:0}.imagify-visual-comparison .imagify-chart-container canvas{width:15px!important;height:15px!important;margin-right:5px}.imagify-c-level.go-left{float:left}.imagify-c-level.go-right{float:right}.imagify-c-level.go-right,.imagify-c-level.go-left{display:table}.imagify-c-level .imagify-c-level-row{display:table-row;margin:0;color:#FFF}.imagify-c-level-row >span{display:table-cell;padding:2px 0}.imagify-c-level-row .value{text-align:right;padding-left:5px}.imagify-c-level-row .value.level{color:#40b1d0}.imagify-c-level-row .value.size{color:#8bc34a;font-weight:bold}.imagify-c-level-row .value .imagify-chart{top:1px}@-webkit-keyframes icon-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.imagify-menu-bar-img{margin-top:1em}.imagify-modal .loader{position:absolute;top:50%;left:50%;margin:-32px 0 0 -32px;opacity:0;visibility:hidden;transition:opacity .4s}.imagify-modal .loading .loader{visibility:visible;opacity:1}.imagify-settings .imagify-visual-comparison-text{margin-top:1em;color:#40b1d0;font-weight:bold}
|
1 |
+
.imagify-start{float:left}.imagify-end{float:right}.imagify-txt-start.imagify-txt-start.imagify-txt-start{text-align:left}.imagify-txt-center.imagify-txt-center.imagify-txt-center{text-align:center}.imagify-txt-end.imagify-txt-end.imagify-txt-end{text-align:right}.imagify-mt1.imagify-mt1{margin-top:1em}.imagify-mb1.imagify-mb1{margin-bottom:1em}.imagify-mr1.imagify-mr1{margin-right:1em}.imagify-ml2.imagify-ml2{margin-left:2em}.imagify-mr2.imagify-mr2{margin-right:2em}.imagify-pl0.imagify-pl0.imagify-pl0{padding-left:0}.imagify-pr1.imagify-pr1{padding-right:1em}.imagify-oh{overflow:hidden}.imagify-clear{clear:both}.imagify-clearfix:after,.imagify-inline-options:after{content:"";display:table;clear:both}.imagify-count.imagify-count{counter-reset:num}.imagify-count .imagify-count-title{font-weight:bold}.imagify-default-settings{color:#73818c;font-weight:normal}.imagify-count .imagify-count-title:before{counter-increment:num 1;content:counter(num) ". "}.imagify-table{display:table;width:100%}.imagify-cell{display:table-cell;padding:10px;vertical-align:top}.imagify-cell.va-top,.va-top .imagify-cell{vertical-align:top}.imagify-bulk-submit .imagify-cell{padding-top:0}body.imagify-modal-is-open{overflow:hidden}.imagify-plugins-error{overflow:hidden;padding-left:20px;list-style-type:disc}.imagify-plugins-error li{width:300px;line-height:30px}@media (max-width:570px){.imagify-plugins-error li{width:auto}}.imagify-notice-dismiss.notice-dismiss{text-decoration:none}.imagify-spinner{display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:middle;background:rgba(0,0,0,0) url("../images/spinner.gif") no-repeat scroll 0 0 / 20px 20px;opacity:0.7}.spinner.imagify-hidden{width:0;margin:4px 0 0 0}.misc-pub-section.misc-pub-imagify h4{font-size:14px;margin-top:5px;margin-bottom:0}.imagify-sweet-alert button{margin-top:17px !important;height:45px !important;letter-spacing:3px;text-transform:uppercase !important;border-radius:3px !important;background-color:#40b1d0 !important;box-shadow:0 3px 0 #338ea6 !important}.imagify-sweet-alert button.cancel{background:#777 !important;box-shadow:0 3px 0 #444 !important}.imagify-sweet-alert-signup .sa-confirm-button-container{width:40%}.imagify-sweet-alert-signup button{width:100%;padding:0 !important}.imagify-sweet-alert .sa-input-error:before,.imagify-sweet-alert .sa-input-error:after,.imagify-sweet-alert .la-ball-fall{top:25% !important}#wpwrap{transition:all .4s}.stop-scrolling #wpwrap{filter:blur(2px)}.stop-scrolling #wpwrap #wpadminbar{top:-32px}.imagify-primary.imagify-primary.imagify-primary{color:#40b1d0}.imagify-secondary.imagify-secondary.imagify-secondary{color:#8cc152}#imagify-check-api-container{font-weight:bold}#imagify-check-api-container .dashicons{font-size:25px}#imagify-check-api-container .dashicons-no:before{color:#f06e57;vertical-align:-1px}#imagify-check-api-container .dashicons-yes:before{color:#8BC34A;vertical-align:-1px}.imagify-valid{color:#8BC34A}.imagify-chart{width:33.33%;position:relative}#imagify-overview-chart-legend{overflow:hidden}.imagify-doughnut-legend{margin-top:38px;list-style:none}.imagify-doughnut-legend li{display:block;padding-left:30px;position:relative;margin-bottom:15px;border-radius:5px;padding:3px 8px 2px 31px;font-size:14px;font-weight:600;cursor:default;-webkit-transition:background-color 200ms ease-in-out;-moz-transition:background-color 200ms ease-in-out;-o-transition:background-color 200ms ease-in-out;transition:background-color 200ms ease-in-out}.imagify-doughnut-legend li span{display:block;position:absolute;left:0;top:0;width:25px;height:25px;border-radius:50%}.imagify-chart{float:left;margin-bottom:20px}td .imagify-chart{float:none;margin-bottom:0}.imagify-chart-container{position:relative;width:180px;float:left;margin-right:20px}.imagify-global-optim-phrase{width:180px;padding-top:20px;font-size:14px;font-weight:bold;text-align:center}.imagify-total-percent{color:#46b1ce}td .imagify-chart-container{width:18px;height:18px;float:none;margin-right:10px}td .imagify-chart{top:4px}.imagify-chart-percent{position:absolute;left:0;right:0;top:50%;margin-top:-14px;text-align:center;font-size:55px;font-weight:bold;color:#46B1CE}.imagify-chart-percent span{font-size:20px;vertical-align:super}.media_page_imagify-bulk-optimization .notice,body[class*="_imagify-ngg-bulk-optimization"] .notice,.settings_page_imagify .notice{margin-right:20px;margin-left:2px}.media_page_imagify-bulk-optimization .media-item,body[class*="_imagify-ngg-bulk-optimization"] .media-item{margin:0}.media_page_imagify-bulk-optimization .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress{float:none;width:100%;margin:0;background:#1F2331;box-shadow:0;border-radius:0}.media_page_imagify-bulk-optimization .media-item .percent,body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent{width:auto;padding:0 5px;line-height:1.85;font-size:12px}.media_page_imagify-bulk-optimization .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent,.media_page_imagify-bulk-optimization .media-item .percent{text-align:right}.media_page_imagify-bulk-optimization .media-item .progress .bar,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress .bar{width:1px;height:22px;margin-top:0;background:#46B1CE;border-radius:0;overflow:visible;-webkit-transition:width .5s;transition:width .5s}.imagify-settings a,.imagify-settings .button,.imagify-settings input,.imagify-welcome a,.imagify-welcome .button,.imagify-weolcome input{-webkit-transition:all .275s;transition:all .275s}.imagify-settings a{color:#40b1d0}.imagify-options-title{padding-bottom:.5em;border-bottom:3px solid #F2F2F2;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:0.025em;color:#40b1d0}.imagify-settings,.imagify-settings p,.imagify-settings th{color:#5F758E}@media (max-width:782px){.imagify-settings .form-table th{padding-top:2em;padding-bottom:.5em}}.imagify-settings .form-table td{vertical-align:top}.imagify-settings .form-table th span{cursor:pointer}.imagify-middle th{padding-top:35px}.imagify-settings .button,.imagify-welcome .button,.imagify-notice .button,.imagify-button.imagify-button,.imagify-button-primary.imagify-button-primary,.imagify-button-secondary.imagify-button-secondary{height:auto;padding:8px 20px;border:0 none;font-size:14px;font-weight:600;box-shadow:0 3px 0 rgba(0,0,0,.15);border-radius:3px;cursor:pointer;transition:all .275s}.imagify-notice .button-mini{padding:2px 10px;font-size:13px}.button-primary.button-mini{padding:2px 10px}.imagify-settings .button.button-mini-flat{padding:3px 6px 5px;font-size:12px;box-shadow:none!important;line-height:1.2}.imagify-settings .button.button-mini-flat:hover,.imagify-settings .button.button-mini-flat:focus{box-shadow:none!important}.imagify-title .button-ghost.button-ghost,.imagify-button-ghost.imagify-button-ghost{padding:2px 9px;border:1px solid #40B1D0;font-size:12px;font-weight:normal;color:#40B1D0;background:transparent;box-shadow:none}.imagify-title .button-ghost.button-ghost:hover,.imagify-title .button-ghost.button-ghost:focus,.imagify-button-ghost.imagify-button-ghost:hover,.imagify-button-ghost.imagify-button-ghost:focus{border-color:transparent;color:#000;background:#40B1D0}.imagify-button-ghost.imagify-button-ghost:hover,.imagify-button-ghost.imagify-button-ghost:focus{color:#FFF}.imagify-button-medium.imagify-button-medium{text-transform:uppercase;letter-spacing:0.1em;padding:3px 10px;font-weight:bold}.imagify-button-medium.imagify-button-ghost{border-width:2px}.button .dashicons{margin-right:5px;vertical-align:middle}.imagify-settings .button-primary.button-primary,.imagify-welcome .button-primary.button-primary,.imagify-button-primary.imagify-button-primary{background:#40B1D0;color:#FFF;box-shadow:0 3px 0 rgba(51,142,166,1);text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799!important}.imagify-button-secondary.imagify-button-secondary{background:#8BC34A;color:#FFF;box-shadow:0 3px 0 #6F9C3B;text-shadow:0 -1px 1px #6F9C3B,1px 0 1px #6F9C3B,0 1px 1px #6F9C3B!important}.imagify-settings .button-primary:hover,.imagify-settings .button-primary:focus,.imagify-welcome .button-primary:hover,.imagify-welcome .button-primary:focus,.imagify-button-primary.imagify-button-primary:hover,.imagify-button-primary.imagify-button-primary:focus{background:rgb(51,142,166);box-shadow:0 3px 0 rgb(31,122,146)}.imagify-button-secondary.imagify-button-secondary:hover,.imagify-button-secondary.imagify-button-secondary:focus{background:#6F9C3B;color:#FFF}.imagify-button-light.imagify-button-light{background:#FFF;color:#4a4a4a;box-shadow:0 2px 0 rgba(0,0,0,.2)}.imagify-button-light.imagify-button-light:hover,.imagify-button-light.imagify-button-light:focus{color:#FFF;background:rgba(0,0,0,.2)}.imagify-section-positive .imagify-button-light{color:#709A41}.imagify-button.imagify-button-big{font-size:15px;padding:11px 30px}.imagify-button-big .dashicons{font-size:1.45em;margin-right:6px;margin-left:-4px}.imagify-settings .button .dashicons,.imagify-welcome .button .dashicons,.imagify-notice .button .dashicons,.imagify-button.imagify-button .dashicons,.imagify-button-primary.imagify-button-primary .dashicons,.imagify-button-secondary.imagify-button-secondary .dashicons{vertical-align:middle}.button-text{display:inline-block;vertical-align:middle}#imagify-bulk-action{padding:11px 20px}.wp_attachment_image .imagify-button-primary,.media-frame-content .imagify-button-primary{float:left;padding:0 10px 1px;margin:0 5px 2px 0;font-size:13px;line-height:26px;box-shadow:0 3px 0 rgba(51,142,166,1)}.imagify-settings input[type="text"]{color:#4A4A4A;font-weight:600;box-shadow:none}.imagify-settings div.submit.submit{padding-left:235px;padding-top:40px}.imagify-settings p.submit{float:left;margin-top:0}.imagify-settings p.submit .button{margin:0 5px}@media (max-width:850px){.imagify-settings div.submit{padding-left:0}.imagify-settings p.submit{text-align:center}}.imagify-title.imagify-title{position:relative;padding:30px 50px;font-size:23px;background:#2E3243;color:#FFF}.imagify-settings .imagify-title + .imagify-notice{margin:0;border-right:1px solid #D9D9D9;padding-top:15px;padding-bottom:15px}.imagify-logo{vertical-align:top}.imagify-sub-header,.imagify-sub-title.imagify-sub-title,.imagify-settings div.submit,.imagify-section{margin:0;padding:20px;background:#F2F5F7}.imagify-sub-title.imagify-sub-title,.imagify-section-positive{padding-left:40px}.imagify-section-positive{background:#8cc152;color:#FFF}.imagify-section-positive p{color:#FFF}.imagify-section-gray{background:#D9E4EB}.imagify-section-gray .imagify-count-title{color:#4a4a4a}.imagify-section p:first-child{margin-top:0}.imagify-section p:last-child{margin-bottom:0}p.imagify-section-title.imagify-section-title{font-size:20px;margin-top:-.3em;margin-bottom:-.6em}.imagify-bulk-info{margin:1em 1em 1em 5px;transition:margin .3s}@media (max-width:850px){.imagify-bulk-info{margin:1em}}.imagify-bulk-info p{display:inline-block;text-align:left;width:400px;max-width:100%;font-weight:bold}@media (min-width:1500px){.imagify-settings div.submit{display:table;width:100%}.imagify-settings div.submit > *{display:table-cell;vertical-align:middle}.imagify-bulk-info{padding:0 25px;text-align:right}}.imagify-settings div.submit{margin-top:2em;padding:20px 0}.imagify-sub-header th{text-align:right}.imagify-sub-header .form-table{margin:0}.imagify-sub-header th,.imagify-sub-header td{padding-top:0;padding-bottom:0}[for="api_key"]{padding-top:5px}.imagify-notice .imagify-rate-us.imagify-rate-us{position:relative;bottom:0;right:0;text-align:left}.imagify-notice .imagify-rate-us .stars{margin:0}.imagify-rate-us.imagify-rate-us{position:absolute;bottom:50%;right:20px;text-align:right;margin-bottom:-2.4em;color:#FFF}.imagify-rate-us a{color:#40B1D0}.imagify-rate-us .stars{display:inline-block;margin:2px 0 0 10px;text-decoration:none;letter-spacing:.2em;vertical-align:-1px}.imagify-rate-us .stars .dashicons:before{font-size:18px}.imagify-rate-us a:hover,.imagify-rate-us a:focus{color:#FEE102}@media (max-width:1220px){.imagify-rate-us.imagify-rate-us{position:static;margin-bottom:0;text-align:left}.imagify-rate-us.imagify-rate-us br{display:none}.imagify-rate-us .stars{display:block;margin-left:0}}.imagify-rkt-notice.imagify-rkt-notice{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:10px 45px 10px 0;border:0 none;box-shadow:none;color:#FFF;background:#412355}.media_page_imagify-bulk-optimization .imagify-rkt-notice{margin-left:2px;margin-right:20px}@media (max-width:782px){.media_page_imagify-bulk-optimization .imagify-rkt-notice{margin-left:0;margin-right:12px}}.imagify-rkt-notice .imagify-cross{position:absolute;right:8px;top:50%;width:22px;height:22px;padding:0;margin-top:-11px;background:transparent;color:#FD7300;border-radius:50%;transition:all .275s}.imagify-rkt-notice .imagify-cross .dashicons{position:relative;top:2px;left:1px;transition:all .275s}.imagify-rkt-notice .imagify-cross:hover{background:#FFF}.imagify-rkt-notice .imagify-cross:hover .dashicons{color:#412355}.imagify-rkt-notice .imagify-rkt-cta,.imagify-rkt-notice .imagify-rkt-logo,.imagify-rkt-notice .imagify-rkt-coupon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.imagify-rkt-notice .imagify-rkt-logo{width:150px!important;text-align:center;padding:0 25px 0 30px;line-height:0.8}.imagify-rkt-notice .imagify-rkt-msg{width:100%!important;padding:0 15px;font-size:14px;line-height:1.6}.imagify-rkt-notice .imagify-rkt-coupon{width:150px!important;padding:0 15px}.imagify-rkt-notice .imagify-rkt-coupon-code{padding:5px 10px;font-size:23px;font-weight:bold;border:1px dashed #F7A933;color:#F7A933}.imagify-rkt-notice .imagify-rkt-cta{width:250px!important;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px}.imagify-rkt-notice .button.button{position:relative;top:-1px;height:auto;font-weight:600;font-size:14px;box-shadow:0 4px 0 #B27A27;border:0 none;padding:9px 18px 9px;background:#F7A933;text-shadow:1px 1px 1px rgba(0,0,0,.2)}@media (max-width:880px){.imagify-rkt-notice{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.imagify-rkt-notice .imagify-rkt-msg,.imagify-rkt-notice .imagify-rkt-cta,.imagify-rkt-notice .imagify-rkt-logo{text-align:left;padding:5px 15px}.imagify-cross.imagify-cross{top:8px;margin-top:0}.imagify-rkt-notice .imagify-cross .dashicons{top:1px}}.imagify-settings-section{padding:10px 20px}[id="imagify-settings"],.imagify-welcome .imagify-settings-section{border:1px solid #D9D9D9;border-top:0 none;background:#FFF}.imagify-br{line-height:2}.imagify-important{color:#F5A623}.imagify-info,.imagify-info a{color:#40B1D0;font-size:12px}.imagify-info{position:relative;display:inline-block;padding-left:25px;vertical-align:top}.imagify-info .dashicons{position:absolute;left:0;top:-1px}label + .imagify-info,label + .imagify-options-line,.imagify-visual-label{display:inline-block;max-width:70%;margin-left:15px;margin-top:2px!important;-webkit-transition:opacity .3s;transition:opacity .3s}.imagify-visual-label{vertical-align:-5px}label[for="imagify_sizes_full"] + .imagify-info{vertical-align:middle}.imagify-settings.imagify-settings [type="checkbox"]:not(:checked) + label + .imagify-options-line,.imagify-settings.imagify-settings [type="checkbox"]:not(:checked) + label .imagify-visual-label{opacity:.5}.imagify-settings.imagify-settings [type="checkbox"]:checked + label + .imagify-options-line,.imagify-settings.imagify-settings [type="checkbox"]:checked + label .imagify-visual-label{opacity:1}.imagify-checkbox-marged{max-width:500px;margin-left:45px}.imagify-settings.imagify-settings [type="checkbox"]:not(:checked),.imagify-settings.imagify-settings [type="checkbox"]:checked,.imagify-checkbox.imagify-checkbox:not(:checked),.imagify-checkbox.imagify-checkbox:checked{opacity:0.01}.imagify-settings.imagify-settings [type="checkbox"]:not(:checked):focus,.imagify-settings.imagify-settings [type="checkbox"]:checked:focus,.imagify-checkbox.imagify-checkbox:not(:checked):focus,.imagify-checkbox.imagify-checkbox:checked:focus{box-shadow:none!important;outline:none!important;border:0 none!important}.imagify-settings [type="checkbox"]:not(:checked) + label,.imagify-settings [type="checkbox"]:checked + label,.imagify-checkbox.imagify-checkbox:not(:checked) + label,.imagify-checkbox.imagify-checkbox:checked + label{position:relative;padding-left:6px;cursor:pointer;vertical-align:top}.imagify-settings [type="checkbox"]:not(:checked) + label:before,.imagify-settings [type="checkbox"]:checked + label:before,.imagify-checkbox.imagify-checkbox:not(:checked) + label:before,.imagify-checkbox.imagify-checkbox:checked + label:before{content:'';position:absolute;left:0;top:0;width:28px;height:28px;margin:0 0 0 -24px;border:2px solid #8BA6B4;background:#FFFFFF;border-radius:4px}.imagify-settings [type="checkbox"]:not(:checked) + label:after,.imagify-settings [type="checkbox"]:checked + label:after,.imagify-checkbox.imagify-checkbox:not(:checked) + label:after,.imagify-checkbox.imagify-checkbox:checked + label:after{content:"✓";position:absolute;font-size:1.4em;top:3px;left:-16px;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;transition:all .2s}.imagify-settings [type="checkbox"][disabled]:not(:checked) + label:before,.imagify-settings [type="checkbox"][disabled]:checked + label:before,.imagify-checkbox.imagify-checkbox[disabled]:not(:checked) + label:before,.imagify-checkbox.imagify-checkbox[disabled]:checked + label:before{border-color:#ccc;background:#ddd}.imagify-settings [type="checkbox"]:not(:checked) + label:after,.imagify-checkbox.imagify-checkbox:not(:checked) + label:after{opacity:0;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.imagify-settings [type="checkbox"]:checked + label:after,.imagify-checkbox.imagify-checkbox:checked + label:after{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}input[id^="imagify_sizes_"]:checked + label{font-weight:bold}.medium.imagify-checkbox:not(:checked) + label:before,.medium.imagify-checkbox:checked + label:before{width:22px;height:22px;border-width:1.5px;border-radius:2px;margin-top:0}.medium.imagify-checkbox:not(:checked) + label:after,.medium.imagify-checkbox:checked + label:after{font-size:1.1em;left:-17px;top:3px}.imagify-settings .mini[type="checkbox"]:not(:checked) + label:before,.imagify-settings .mini[type="checkbox"]:checked + label:before,.mini.imagify-checkbox:not(:checked) + label:before,.mini.imagify-checkbox:checked + label:before{width:15px;height:15px;border-width:1px;border-radius:2px;margin-top:0}.imagify-settings .mini[type="checkbox"]:not(:checked) + label:after,.imagify-settings .mini[type="checkbox"]:checked + label:after,.mini.imagify-checkbox:not(:checked) + label:after,.mini.imagify-checkbox:checked + label:after{font-size:.9em;left:-21px;top:1px}.imagify-settings [type="checkbox"]:not(:checked):focus + label:before,.imagify-settings [type="checkbox"]:checked:focus + label:before,.imagify-checkbox.imagify-checkbox:not(:checked):focus + label:before,.imagify-checkbox.imagify-checkbox:checked:focus + label:before{border-style:dotted;border-color:#40b1d0}.imagify-inline-options{position:relative;display:table;width:100%;max-width:600px;border-collapse:collapse}.imagify-small-options{width:300px;margin:1em auto .5em;background:#338EA6;border-radius:4px}.imagify-inline-options input[type="radio"]:not(:checked),.imagify-inline-options input[type="radio"]:checked{position:absolute;left:5px;top:5px;display:none}.imagify-inline-options input[type="radio"]:not(:checked) + label,.imagify-inline-options input[type="radio"]:checked + label{position:relative;display:table-cell;padding:13px 10px;text-align:center;font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:0.1em;color:#FFF;background:#2E3243;border-left:1px solid rgba(255,255,255,0.2);box-shadow:0 -3px 0 rgba(0,0,0,0.1) inset,inset -1px 0 0 rgba(255,255,255,0.2);z-index:2;-webkit-transition:all .275s;transition:all .275s}.imagify-small-options input[type="radio"]:not(:checked) + label,.imagify-small-options input[type="radio"]:checked + label{padding:8px 10px;font-size:13px;color:#FFF;box-shadow:none;border-left:0}.imagify-bulk-submit .imagify-inline-options input[type="radio"]:not(:checked) + label,.imagify-bulk-submit .imagify-inline-options input[type="radio"]:checked + label{margin-bottom:1.75em}.imagify-inline-options input[type="radio"]:not(:checked) + label:first-of-type,.imagify-inline-options input[type="radio"]:checked + label:first-of-type{border-radius:3px 0 0 3px}.imagify-inline-options input[type="radio"]:not(:checked) + label:last-of-type,.imagify-inline-options input[type="radio"]:checked + label:last-of-type{border-radius:0 3px 3px 0}.imagify-inline-options input[type="radio"]:checked + label{background:#8BC34A}.imagify-small-options input[type="radio"]:not(:checked) + label{background:#338EA6;color:rgba(255,255,255,.4)}.imagify-small-options input[type="radio"]:checked + label{background:#40B1D0}.imagify-inline-options .imagify-info{margin-top:15px}.imagify-btn-info{display:block;font-size:0.7em;letter-spacing:0;line-height:1;text-transform:none}#describe-resize-larger input{width:5em}.imagify-cols:after{content:"";display:table;clear:both}.imagify-col{float:left;width:50%}.imagify-main{float:left;width:70%}.imagify-sidebar{float:right;width:28%;max-width:300px}.imagify-sidebar-section{border:1px solid #BBB;background:#FFF}.imagify-sidebar-section + .imagify-sidebar-section{margin-top:2em}@media (max-width:820px){.imagify-settings{display:flex;flex-direction:column}.imagify-main{width:auto;float:none}.imagify-sidebar{order:2;float:none;width:auto;max-width:none;margin-left:0;margin-top:25px}.wp-media-products{text-align:center}.wp-media-products li{display:inline-block;width:100%;max-width:276px}}@media (min-width:1400px){.imagify-main{width:74%}}.imagify-sidebar-title{display:block;padding:20px 15px;border-bottom:1px solid #BBB;font-size:14px;font-weight:bold;color:#23282d;background:#F2F5F7}.imagify-sidebar-title img{vertical-align:top;margin-right:5px}.imagify-sidebar .wp-media-products{margin-top:0;margin-bottom:-.5em}.imagify-sidebar .wp-media-products .links{display:block;padding:85px 25px 24px;text-align:center;background-color:#2E3243;background-size:contain;background-repeat:no-repeat;background-position:50% 0;text-decoration:none}.imagify-sidebar .wp-media-products .links p{margin:1.5em auto;color:#FFF}.imagify-sidebar .wp-media-products .wprocket-link{background-image:linear-gradient(to bottom,rgba(59,30,78,0),rgba(59,30,78,0) 130px,rgba(59,30,78,1) 210px),url("../images/sidebar-wp-rocket.jpg");background-color:#3B1E4E;background-repeat:repeat-x,no-repeat}.imagify-sidebar-content{padding:10px 20px}.imagify-mark-styled{display:inline-block;padding:1px 2px 1px 4px;line-height:1.3;font-weight:bold;background:#F7A933;transform-origine:50% 50%;transform:rotateZ(-2deg) rotateX(-10deg) skewX(-2deg) skewY(-3deg);text-shadow:1px 1px 0 rgba(0,0,0,0.2)}.imagify-mark-styled span{display:inline-block;transform:rotateZ(2deg) rotateX(10deg) skewX(2deg) skewY(3deg)}.imagify-discount-code{margin:0.35em 0 .5em;display:block;font-size:2em;letter-spacing:.05em;font-weight:bold;text-align:center;text-shadow:1px 1px 0 rgba(0,0,0,0.2)}.imagify-big-text{font-size:15px;font-weight:bold}.imagify-big-text strong{font-size:20px}a.btn-rocket{display:block;font-size:1.15em;padding:12px;background:#F7A933;box-shadow:0 3px 0 #D69626;border-radius:3px;color:#FFF;text-transform:uppercase;font-weight:bold;text-shadow:1px 1px 0 rgba(0,0,0,0.2);text-decoration:none}a.btn-rocket:hover,a.btn-rocket:focus{background:darkorange;box-shadow:0 3px 0 darkorange}.imagify-welcome{margin:30px 20px 0 0}.imagify-welcome .baseline{display:inline-block;margin:.2em 0 0 2em;font-size:17px}.imagify-welcome .imagify-logo{vertical-align:middle}.imagify-welcome-remove{position:absolute;top:50%;right:15px;margin-top:-8px;color:#FFF;text-decoration:none}.imagify-columns{overflow:hidden;padding:15px 0;counter-reset:cols}.imagify-columns [class^="col-"]{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.imagify-columns .col-1-3{width:33.333%;padding-left:28px}.imagify-columns .col-2-3{width:66.666%;padding-left:28px}.imagify-columns .col-1-2{width:50%;padding:0 20px}.imagify-columns .col-overview{padding-left:20px}.imagify-columns .col-informations{width:36.6%;padding-right:30px}.imagify-columns .col-statistics{width:30%}@media (max-width:830px){.imagify-columns [class^="col-"]{float:none;margin-bottom:1.5em}.imagify-columns .col-1-3,.imagify-columns .col-1-2{width:auto;padding:0 28px;clear:both;padding-top:1em}}.imagify-columns [class^="col-"] img{float:left;margin-right:18px}.imagify-col-content{overflow:hidden}.imagify-col-title{margin:0 0 15px 0;font-size:23px}.counter .imagify-col-title:before{counter-increment:cols;content:counter(cols) ". ";color:#40B1D0}.imagify-col-desc{color:#5F758E;margin-bottom:2em}.imagify-notice.imagify-notice{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0;margin:10px 20px 10px 2px;border:0 none;background:#2E3243;box-shadow:none;color:#FFF}@media (max-width:782px){.imagify-notice.imagify-notice,.imagify-welcome{margin-right:12px}}@media (max-width:450px){.imagify-notice.imagify-notice{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.wrap .imagify-notice{margin:5px 15px 2px;position:relative}.imagify-notice-logo{padding:18px 23px;background:#40B1D0}.updated .imagify-notice-logo{background:#8BC34A}.error .imagify-notice-logo{background:#D0021B}.imagify-notice-title{font-size:15px}.imagify-notice-content{padding:5px 23px}.imagify-notice-content.imagify-notice-content p{margin:0.65em 0}.imagify-notice a{color:#40B1D0}.imagify-notice a:hover,.imagify-notice a:focus{color:#FEE102}.imagify-notice code{background:rgba(0,0,0,0.4) none repeat scroll 0 0}.column-imagify_optimized_file.column-imagify_optimized_file{width:300px;text-align:center;vertical-align:middle}.column-imagify_optimized_file > *{max-width:235px;margin:0 auto}ul.imagify-datas-list.imagify-datas-list{margin:0 auto;color:#555;font-size:10px}.compat-field-imagify .label{vertical-align:top}.compat-field-imagify ul.imagify-datas-list{margin-top:7px;font-size:11px}ul.imagify-datas-list .big{font-size:12px;color:#40B1D0}.imagify-data-item{overflow:hidden}.imagify-data-item .imagify-chart{display:inline-block;top:1px;width:20px;vertical-align:middle;margin-bottom:0}li.imagify-data-item{clear:both;margin-bottom:2px}ul.imagify-datas-list .imagify-data-item span.data,ul.imagify-datas-list .imagify-data-item strong{float:left;width:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}ul.imagify-datas-list .imagify-data-item span.data{text-align:left;padding-right:5px}.compat-field-imagify .imagify-datas-list .imagify-data-item .data{width:130px;text-align:left;font-weight:bold}.media-sidebar .imagify-datas-list .imagify-data-item .data{width:auto;float:none}ul.imagify-datas-list .imagify-data-item strong{text-align:left;padding-left:5px}.media-sidebar .imagify-datas-list .imagify-data-item strong{width:auto;float:none}.imagify-datas-more-action.imagify-datas-more-action{margin:.4em auto;background:linear-gradient(to bottom,transparent,transparent 49%,rgba(0,0,0,.075) 50%,rgba(0,0,0,.075) 58%,transparent 58%,transparent)}.imagify-datas-more-action a{display:inline-block;padding:0 5px;background:#40B1D0;color:#FFF;text-transform:uppercase;font-size:9px;font-weight:bold;line-height:1.9;text-decoration:none}.imagify-datas-more-action a.is-open{background:#555}.imagify-datas-more-action a.is-open .dashicons{transform:rotate(180deg)}.imagify-datas-more-action a .dashicons{font-size:14px;vertical-align:middle;line-height:.8}.imagify-datas-more-action a .dashicons:before{vertical-align:middle;line-height:20px}.imagify-datas-more-action .the-text{display:inline-block;vertical-align:middle;height:20px;line-height:20px}ul.imagify-datas-details.imagify-datas-details{margin:.7em auto}.imagify-datas-details strong{color:#40B1D0}.imagify-datas-details .original{color:#555}.imagify-datas-actions-links{overflow:hidden;border-top:2px solid transparent;padding-top:5px;font-size:8px}.imagify-datas-actions-links a{position:relative;display:inline-block;padding-left:17px;text-decoration:none;font-weight:600}.compat-field-imagify .imagify-datas-actions-links{max-width:300px}.misc-pub-imagify .imagify-datas-actions-links{border-top:2px solid #f2f2f2;padding-bottom:5px}.compat-field-imagify .imagify-datas-actions-links a,.misc-pub-imagify .imagify-datas-actions-links a{font-size:10px;float:left;width:50%}.media-sidebar .compat-field-imagify .imagify-datas-actions-links a,.submitbox .misc-pub-imagify .imagify-datas-actions-links a{display:block;width:auto;float:none}.column-imagify_optimized_file .imagify-datas-actions-links a{margin:0 .7em;padding-left:15px}.imagify-datas-actions-links a:only-child{float:none;width:auto}.imagify-datas-details.is-open + .imagify-datas-actions-links{border-top-color:rgba(0,0,0,.075)}.imagify-datas-actions-links .dashicons{position:absolute;left:0;top:4px;width:12px;margin-right:2px;font-size:11px}.imagify-title > h1{padding:0}.imagify-title-right{display:table;float:right;margin-top:-10px}.imagify-title-right p{margin:0}.imagify-title-right a{font-weight:bold;text-decoration:none}.imagify-title-right > div{display:table-cell;vertical-align:middle}.imagify-title-right .dashicons-arrow-down-alt2{vertical-align:-4px;margin-left:2px}@media (max-width:1200px){.imagify-bulk .imagify-title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.imagify-title-right{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2;margin-top:20px}}.imagify-account,.imagify-account-link{padding-right:15px}.imagify-sep-v{width:1px;background:rgba(255,255,255,.2)}.imagify-credit-left{position:relative;min-width:280px;padding-left:15px}.imagify-meteo-icon{display:inline-block;height:38px;vertical-align:middle;margin-right:10px}.imagify-user-plan{color:#40b1d0}@media (max-width:630px){.imagify-title-right{display:block;width:auto}.imagify-title-right > div{display:block;width:auto;margin-top:10px;max-width:100%}.imagify-credit-left{padding-left:0}}.imagify-meteo-title.imagify-meteo-title{color:#FFF;font-size:17px}.imagify-space-left{display:inline-block;min-height:38px;min-width:245px;vertical-align:middle}.imagify-space-left > p{color:#FFF}[class^="imagify-bar-"],#wp-admin-bar-imagify-profile [class^="imagify-bar-"]{position:relative;height:15px;width:100%;background:#60758D;color:#FFF;font-size:10px}.base-transparent{background:transparent}[class^="imagify-bar-"].right-outside-number{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:45px}.right-outside-number .imagify-barnb{display:block;margin-right:-45px;text-align:right;font-weight:bold;line-height:15px}.imagify-progress-value,#wp-admin-bar-imagify-profile .imagify-progress-value{position:absolute;top:0;right:0;left:0;bottom:0;text-align:center;line-height:13px;font-weight:bold}.imagify-progress,#wp-admin-bar-imagify-profile .imagify-progress{height:15px}.imagify-bar-positive .imagify-progress{background:#8CC152}.imagify-bar-positive .imagify-barnb{color:#8CC152}.imagify-bar-negative .imagify-progress{background:#73818C}.imagify-bar-negative .imagify-barnb{color:#73818C}.imagify-bar-neutral .imagify-progress{background:#F5A623}.imagify-space-left .imagify-bar-negative .imagify-progress{background:#D0021B}#wpadminbar #wp-admin-bar-imagify-profile *{line-height:1.5;white-space:initial}#wpadminbar #wp-admin-bar-imagify .ab-submenu{padding-bottom:0}#wpadminbar #wp-admin-bar-imagify-profile .ab-item{height:auto;padding:0 13px}#wpadminbar #wp-admin-bar-imagify-profile{min-width:200px;padding:15px 0 10px;margin-top:0.7em;background:#222}#wp-admin-bar-imagify .dashicons{font-family:"dashicons";font-size:18px;vertical-align:middle;margin:0 5px 0 0}#wp-admin-bar-imagify .button-text{display:inline-block;vertical-align:middle}#wp-admin-bar-imagify .imagify-abq-row{display:table;width:100%}#wp-admin-bar-imagify .imagify-abq-row + .imagify-abq-row{margin-top:.75em}#wp-admin-bar-imagify .imagify-abq-row > *{display:table-cell}#wp-admin-bar-imagify-profile .imagify-meteo-icon{padding-right:7px}#wp-admin-bar-imagify-profile .imagify-meteo-icon img{width:37px}#wp-admin-bar-imagify-profile .imagify-meteo-title{font-size:17px}#wp-admin-bar-imagify-profile .imagify-meteo-subs{color:#72889F}#wpadminbar #wp-admin-bar-imagify-profile strong{font-weight:bold}#wpadminbar #wp-admin-bar-imagify-profile .imagify-user-plan,#wpadminbar #wp-admin-bar-imagify-profile a{padding:0;color:#40B1D0}#wpadminbar #wp-admin-bar-imagify-profile .imagify-account-link{display:table}#wpadminbar #wp-admin-bar-imagify-profile .imagify-account-link > *{display:table-cell}#wpadminbar #wp-admin-bar-imagify-profile .imagify-space-left{max-width:210px;min-width:210px;width:210px}#wpadminbar #wp-admin-bar-imagify-profile .imagify-space-left p{font-size:12px}#wp-admin-bar-imagify-profile .imagify-error,#wp-admin-bar-imagify-profile .imagify-warning{padding:10px;margin:0 -13px -13px}#wp-admin-bar-imagify-profile .imagify-error p + p,#wp-admin-bar-imagify-profile .imagify-warning p + p{margin-top:.5em}#wp-admin-bar-imagify-profile .imagify-error p + p + p,#wp-admin-bar-imagify-profile .imagify-warning p + p + p{margin-top:1em}.btn-ghost,#wpadminbar #wp-admin-bar-imagify-profile .btn-ghost{display:inline-block;height:auto;padding:7px 10px;border:1px solid #FFF;text-align:center;background:transparent;color:#FFF;border-radius:3px;transition:all .275s}.btn-ghost:hover,.btn-ghost:focus,#wpadminbar #wp-admin-bar-imagify-profile .btn-ghost:hover,#wpadminbar #wp-admin-bar-imagify-profile .btn-ghost:focus{background:#FFF;color:#888}.imagify-list-infos{max-width:100%;width:415px}.imagify-list-infos li,.imagify-info-block{position:relative;padding:10px;padding-left:42px;background:#D9E4EB;border-radius:4px;line-height:1.6}.imagify-list-infos .imagify-alt.imagify-alt{background:#8BA7B5;color:#FFF;font-weight:bold}.imagify-list-infos li + li{margin-top:1em}.imagify-list-infos li:before,.imagify-info-block:before{content:"";position:absolute;left:13px;top:14px;height:16px;width:16px;border:1px solid #46b1ce;border-radius:10px}.imagify-list-infos li:after,.imagify-info-block:after{content:"i";position:absolute;left:20px;top:13px;font-style:italic;color:#46b1ce}.imagify-cell .imagify-info-block{padding-top:0}.imagify-cell .imagify-info-block:after{top:6px}.imagify-cell .imagify-info-block:before{top:7px}.imagify-list-infos .imagify-alt:before,.imagify-list-infos .imagify-alt:after{color:#fff;border-color:#fff}.imagify-sub-title.imagify-sub-title{font-size:23px;background:#FFF;color:#2E3243;border-left:1px solid #D9D9D9;border-right:1px solid #D9D9D9;font-weight:lighter}.imagify-sub-title .icon-bulk{margin-right:10px;vertical-align:middle}.imagify-sub-title .title-text{display:inline-block;line-height:1;vertical-align:middle}.imagify-bulk .imagify-settings-section{border:1px solid #D9D9D9;border-top:0;background:#F2F5F7;color:#4A4A4A}.imagify-bulk .imagify-settings-section p,.imagify-bulk .imagify-settings-section li,.imagify-bulk .imagify-settings-section h3{color:#4A4A4A}.imagify-bulk .imagify-settings-section h3{margin-bottom:2em}.imagify-title .imagify-tooltips{position:absolute;top:100%;left:0}.imagify-tooltips .icon-round{float:left;display:inline-block;width:28px;height:28px;border:1px solid #FFF;margin-right:8px;margin-bottom:8px;font-size:17px;font-style:italic;line-height:29px;font-weight:bold;text-align:center;border-radius:50%}.imagify-tooltips .tooltip-content{display:block;position:relative;max-width:250px;padding:7px 15px 8px;background:#2e3242;color:#FFF;font-size:10px;border-radius:3px}.imagify-tooltips.right .tooltip-content{margin-left:12px}.imagify-tooltips.bottom .tooltip-content{margin-top:4px}.imagify-inline-options label .tooltip-content{position:absolute;left:0;right:0;top:100%;text-transform:none;font-size:10px;letter-spacing:0;text-align:center}.imagify-tooltips .tooltip-content:after{content:"";position:absolute}.imagify-tooltips.right .tooltip-content:after{top:16px;left:-6px;border-right:8px solid #2e3242;border-top:6px solid transparent;border-bottom:6px solid transparent}.imagify-tooltips.bottom .tooltip-content:after{top:-5px;left:50%;margin-left:-3px;border-bottom:6px solid #2e3242;border-left:6px solid transparent;border-right:6px solid transparent}.imagify-space-tooltips .tooltip-content{max-width:280px;margin-top:20px;margin-left:0;padding:5px 15px 5px;font-size:13px;background:#40B1D0;box-shadow:0 3px 0 #338EA6}.imagify-space-tooltips .tooltip-content:after{top:-14px;left:50%;margin-left:-7px;border:0 none;border-bottom:15px solid #40B1D0;border-left:15px solid transparent;border-right:15px solid transparent}.tooltip-content.tooltip-table{display:table;width:100%}.tooltip-content.tooltip-table > *{display:table-cell;vertical-align:middle}.tooltip-content .cell-icon{width:28px}.tooltip-content .cell-icon .icon{margin-bottom:0}.tooltip-content .cell-text{padding:5px 10px 5px 0;line-height:1.3}.tooltip-content .cell-sep{width:1px;background:rgba(255,255,255,.4)}.tooltip-content .cell-cta{padding-left:10px}.tooltip-content .cell-cta a{display:block;color:#FFF;width:100%;height:100%;white-space:nowrap}.imagify-number-you-optimized .number{display:table-cell;padding-right:15px;font-size:36px;font-weight:bold;line-height:1.1;vertical-align:middle;white-space:nowrap}.imagify-number-you-optimized .text{display:table-cell;vertical-align:middle;overflow:hidden;font-size:12px}.imagify-number-you-optimized .text br{display:none}.imagify-number-you-optimized > p{display:table}.imagify-number-you-optimized{padding-bottom:0.85em;margin-bottom:1.35em;overflow:hidden;border-bottom:1px solid rgba(0,0,0,0.05)}.imagify-bars p{font-weight:bold;font-size:12px;margin-bottom:0}.imagify-bars + .imagify-number-you-optimized{border-bottom:0;padding-top:0.85em}.imagify-bars + .imagify-number-you-optimized p{color:#46b1ce}.imagify-bulk-table{margin-top:2em;max-height:600px;max-height:60vh;overflow:auto}.imagify-bulk-table table{width:100%;border-spacing:0;border-collapse:collapse;border:1px solid #D3D3D3}.imagify-bulk-table td{padding:8px 15px}.imagify-bulk-table thead tr,.imagify-bulk-table thead th{background:#2E3242}.imagify-bulk-table tfoot tr,.imagify-bulk-table tfoot th{background:#73818C}.imagify-bulk-table thead th{padding:14px 15px;text-align:left;color:#F2F5F7;font-weight:bold;font-size:14px}.imagify-bulk-table tfoot td{padding:14px 15px;color:#F9FAFA}.imagify-bulk-table tbody tr,.imagify-bulk-table tbody td{background:#FFF}.imagify-bulk-table tbody tr:nth-child(odd),.imagify-bulk-table tbody tr:nth-child(odd) td{background:#F2F5F7}.imagify-bulk-table .imagify-row-progress{display:none}.imagify-bulk-table .imagify-row-progress,.imagify-bulk-table .imagify-row-progress td{height:15px;padding:0}.imagify-bulk-table .imagify-no-uploaded-yet td{height:200px;font-size:17px;letter-spacing:.1em;word-spacing:.12em;vertical-align:middle;text-transform:uppercase;font-weight:bold;text-align:center;color:#999;background-color:#FFF}.imagify-row-complete{padding:35px 20px;margin-top:2em;background:#8BC34A;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,.1)}.imagify-row-complete .imagify-ac-chart{margin-top:3px}.imagify-row-complete p{color:#FFF;margin:0}@-webkit-keyframes congrate{0%{opacity:0;-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.05);opacity:1}100%{-webkit-transform:scale(1);opacity:1}} @keyframes congrate{0%{opacity:0;transform:scale(1)}50%{transform:scale(1.05);opacity:1}100%{transform:scale(1);opacity:1}}.imagify-row-complete.done{-webkit-animation:congrate 500ms ease-in-out;animation:congrate 500ms ease-in-out}.imagify-all-complete{margin:1.5em 0}.imagify-all-complete > div{display:inline-block;vertical-align:middle}.imagify-ac-report{min-width:310px}.imagify-ac-chart{width:46px;height:46px;float:left;margin:0 20px 0 10px}.imagify-ac-report-text{overflow:hidden}.imagify-ac-report-text p{line-height:1.3}.imagify-ac-rt-big{font-weight:bold;font-size:24px;letter-spacing:0.15em;word-spacing:0.15em;text-transform:uppercase}.imagify-ac-share{text-align:right}.imagify-ac-share-content{display:inline-block;padding:10px 15px;background:rgba(255,255,255,.2)}.imagify-ac-share-content > *{display:inline-block;vertical-align:middle}.imagify-bulk-table .imagify-ac-share-content p{margin-right:5px}.imagify-share-networks,.imagify-share-networks li{margin:0}.imagify-share-networks li{display:inline-block}.imagify-share-networks a{display:inline-block;vertical-align:-7px;margin:0 5px;text-decoration:none;color:#FFF}.imagify-cell-filename{max-width:200px}.imagify-cell-status{max-width:145px}.imagify-cell-status .dashicons-warning{margin-right:2px}.imagify-cell-thumbnails{max-width:120px}td.imagify-cell-filename{text-overflow:clip;white-space:nowrap;overflow:hidden}.imagify-bulk-table td.imagify-cell-totaloriginal{padding-right:78px}.imagiuploaded,.imagifilename{display:inline-block;vertical-align:middle}.imagifilename{font-size:12px}.imagiuploaded{width:33px;height:33px;margin-right:5px;margin-left:-8px;overflow:hidden;background:url(../images/upload-image.png) 0 0 no-repeat;background-size:cover}.imagiuploaded img{max-widht:100%;height:auto}.imagistatus{color:#8CA6B3;text-transform:uppercase;font-weight:bold}.status-compressing{color:#46B1CE}.status-error{color:#CE0B24}.status-warning{color:#f5a623}.status-complete{color:#8CC152}.imagify-error{background:#D0021B;color:#FFF}.imagify-warning,#wpadminbar .imagify-warning *{background:#f5a623;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,0.2)}.imagify-bulk-table .imagify-cell-thumbnails{text-align:center}.imagify-cell-percentage,.imagify-cell-savings{color:#46B1CE;font-weight:bold}.imagify-cell-optimized{font-weight:bold}.imagify-cell-totaloriginal{text-align:right}.dashicons.rotate{-webkit-animation:icon-rotate 2.6s infinite linear;animation:icon-rotate 2.6s infinite linear}.dashicons-admin-generic{transform-origin:48.75% 51.75%}.imagify-modal{display:flex;flex-direction:column;align-items:center;justify-content:center}.js .imagify-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#1F2332;background-color:rgba(31,35,50,.95);z-index:99999}.imagify-modal-content{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;width:800px;max-width:95%;max-height:90vw;overflow:auto;padding:20px 25px;margin:1em auto;background:#FFF;box-shadow:1px 1px 4px rgba(0,0,0,.7);border-radius:3px}#imagify-visual-comparison .imagify-modal-content,.imagify-visual-comparison .imagify-modal-content{max-width:1400px;background:transparent;padding:5px;box-shadow:none;border-radius:0}.imagify-modal .h2{margin:.5em 0;color:#8ba6b4;font-weight:normal;font-size:24px;letter-spacing:0.075em;text-align:center}.imagify-modal .h3{color:#40b1d0;font-weight:normal;font-size:18px;letter-spacing:0.075em;text-align:center}.text-justify{text-align:justify}.imagify-modal .close-btn{display:none;visibility:hidden;position:absolute;right:20px;top:20px;font-size:1.2em;border:0;background:transparent none;border-radius:0;cursor:pointer}.imagify-modal .close-btn i{margin-left:-2px}.imagify-modal .close-btn:hover,.imagify-modal .close-btn:focus{color:#40b1d0}.js .imagify-modal .close-btn{display:block;visibility:visible}#imagify-visual-comparison .close-btn,.imagify-visual-comparison .close-btn{top:50px;right:5px;width:33px;height:33px;padding:1px 0 0 2px;border:1px solid #F2F2F2;color:#F2F2F2;line-height:19px;text-align:center;border-radius:50%}.wp_attachment_image #imagify-visual-comparison .close-btn,.imagify-visual-comparison .close-btn{top:0}.wp_attachment_image #imagify-visual-comparison .imagify-modal-content,.imagify-visual-comparison .imagify-modal-content{padding-top:40px}.imagify-modal .imagify-comparison-title{font-size:28px;margin-bottom:1em;color:#F2F2F2;text-align:left}.imagify-modal .imagify-comparison-title .twentytwenty-duo-buttons{position:static;margin:0 10px 0 15px}.imagify-comparison-title .twentytwenty-duo-buttons button{float:none;padding:6px 12px;font-size:16px;text-transform:none;border:1px solid #40B1D0;color:#888899;letter-spacing:0}.imagify-comparison-title .twentytwenty-duo-buttons button:focus{outline:none;box-shadow:none}.imagify-comparison-title .twentytwenty-duo-buttons .selected{border:1px solid #40B1D0;color:#FFF;background:#40B1D0}.imagify-comparison-levels{margin:15px 0;overflow:hidden}.imagify-comparison-levels div{display:none;min-width:175px;font-size:11px}.imagify-comparison-levels .imagify-chart,.imagify-comparison-levels .imagify-chart-container{width:25px;float:none;margin:0}.imagify-visual-comparison .imagify-chart-container canvas{width:15px!important;height:15px!important;margin-right:5px}.imagify-c-level.go-left{float:left}.imagify-c-level.go-right{float:right}.imagify-c-level.go-right,.imagify-c-level.go-left{display:table}.imagify-c-level .imagify-c-level-row{display:table-row;margin:0;color:#FFF}.imagify-c-level-row > span{display:table-cell;padding:2px 0}.imagify-c-level-row .value{text-align:right;padding-left:5px}.imagify-c-level-row .value.level{color:#40b1d0}.imagify-c-level-row .value.size{color:#8bc34a;font-weight:bold}.imagify-c-level-row .value .imagify-chart{top:1px}@-webkit-keyframes icon-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.imagify-menu-bar-img{margin-top:1em}.imagify-modal .loader{position:absolute;top:50%;left:50%;margin:-32px 0 0 -32px;opacity:0;visibility:hidden;transition:opacity .4s}.imagify-modal .loading .loader{visibility:visible;opacity:1}.imagify-settings .imagify-visual-comparison-text{margin-top:1em;color:#40b1d0;font-weight:bold}.imagify-modal-cols,.imagify-border-styled,.imagify-offer-header,.imagify-payment-modal .imagify-modal-content,.imagify-flex-table,.imagify-tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.imagify-modal-cols,.imagify-border-styled{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.imagify-payment-modal{text-align:center;color:#7A8996}.imagify-payment-modal *{box-sizing:border-box}.imagify-modal-loader{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff url('../images/loader-balls.svg') center no-repeat;z-index:10}.imagify-payment-modal .imagify-modal-content{width:980px;max-width:100%;min-width:925px;padding:0}.imagify-payment-modal .imagify-modal-main{width:70%}.imagify-payment-modal .imagify-modal-sidebar{width:30%;padding:15px 20px;background:#1F2332;color:#FFF}.imagify-payment-steps{padding-top:15px;margin-top:0;margin-left:0;list-style:none;counter-reset:steps}.imagify-payment-steps li{position:relative;display:inline-block;counter-increment:steps;font-weight:bold}.imagify-payment-steps li + li{margin-left:35px}.imagify-payment-steps li + li:after{content:"";position:absolute;top:19px;left:-90px;z-index:1;width:150px;height:2px;background:#E5EBEF}.imagify-payment-steps li + li.active:after{background:#40B1D0}.imagify-payment-steps li:before{display:block;position:relative;content:counter( steps,decimal );width:36px;height:36px;margin:0 auto .3em;border:2px solid #E5EBEF;text-align:center;line-height:34px;font-size:1.4em;color:#E5EBEF;background:#FFF;border-radius:50%;z-index:2}.imagify-payment-steps .active:before{color:#40B1D0;border-color:#40B1D0}.imagify-modal-section{padding:0 25px}.imagify-modal-section.section-gray{margin:1em 0;padding:10px 25px 15px;background:#F6F7FB}.imagify-tabs-contents .section-gray{padding:8px 25px 10px}.imagify-modal-section .imagify-modal-title:first-child{margin-top:.3em;margin-bottom:.5em}.imagify-modal-title{font-size:1.8em;font-weight:lighter}.imagify-border-styled{width:200px;margin:0 auto;color:#8BC34A;font-weight:bold;font-size:0.925em}.imagify-big-number{font-size:3.7em;font-weight:bold;margin:-3px 0;color:#4A4A4A;line-height:1}.imagify-border-styled:before,.imagify-border-styled:after{content:"";height:1px;background:rgba(0,0,0,.1);-webkit-flex-basis:40px;-ms-flex-preferred-size:40px;flex-basis:40px}.imagify-border-styled:before{margin-right:5px}.imagify-border-styled:after{margin-left:5px}.imagify-payment-modal strong{font-weight:bold;color:#4A4A4A}.imagify-col{-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%}.imagify-modal .imagify-cols{padding:0 20px}.imagify-iconed{position:relative;text-align:left;padding-left:42px;margin-right:15px;font-weight:500}.imagify-iconed .dashicons,.imagify-iconed .icon{position:absolute;font-size:2em;left:0;top:2px;color:#40B1D0}.imagify-payment-modal .close-btn{top:10px;right:10px;width:24px;height:24px;padding:2px 0 0 4.5px;color:#FFF;background:#40B1D0;border-radius:50%;-webkit-transition:all .275s;transition:all .275s}.imagify-payment-modal .close-btn i{margin-left:-3.5px;margin-top:1px}.imagify-payment-modal .close-btn:hover{background:#F6F7FB}.imagify-offer-line{margin-top:1.5em}.imagify-offer-line + .imagify-offer-line{margin-top:0.75em}.imagify-offer-header{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0 0 0 15px;border-radius:4px 4px 0 0;-webkit-transition:all .275s;transition:all .275s}.imagify-offer-header.imagify-offer-header.imagify-offer-header .imagify-inline-options label:last-child{border-radius:0 4px 0 0}.imagify-offer-header .imagify-inline-options{width:auto}.imagify-offer-title{font-weight:bold;margin:0}.imagify-offer-header,.imagify-offer-header .imagify-inline-options input[type="radio"]:not(:checked) + label{background:#E5EBEF}.imagify-offer-onetime .imagify-offer-header{padding-top:8px;padding-bottom:8px}.imagify-offer-header .imagify-inline-options input[type="radio"]:not(:checked) + label,.imagify-offer-header .imagify-inline-options input[type="radio"]:checked + label{position:relative;padding:7px 30px;font-size:1em;letter-spacing:0.05em;color:inherit;box-shadow:0 0 0;border-radius:0}.imagify-offer-header .imagify-inline-options input[type="radio"]:checked + label{background:#F6F7FB}.imagify-2-free{position:absolute;bottom:100%;left:0;right:0;padding:2px 10px;margin-bottom:8px;font-size:0.8em;letter-spacing:0;text-transform:none;text-align:center;color:#FFF;background:#10121A;border-radius:2px}.imagify-2-free:after{content:"";position:absolute;left:50%;bottom:-3px;margin-left:-3px;border-top:3px solid #10121A;border-left:3px solid transparent;border-right:3px solid transparent}.imagify-2-free.imagify-b-right{bottom:auto;left:100%;right:-100%;margin-bottom:0;margin-left:8px}.imagify-2-free.imagify-b-right:after{left:-3px;bottom:auto;top:50%;margin-top:-3px;margin-left:0;border-right:3px solid #10121A;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:0}.imagify-2-free.imagify-b-bottom{bottom:-100%;left:0;right:0;margin-top:8px}.imagify-2-free.imagify-b-bottom:after{top:-3px;bottom:auto;border-bottom:3px solid #10121A;border-left:3px solid transparent;border-right:3px solid transparent;border-top:0}.imagify-offer-content{text-align:left;background:#F6F7FB;border-radius:0 0 4px 4px;-webkit-transition:all .275s;transition:all .275s}.imagify-offer-onetime .imagify-offer-content{padding:10px 0}div.imagify-col-checkbox{position:relative;width:35.5%;padding-top:10px;padding-bottom:7px}.imagify-col-checkbox label{display:block}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked),.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked{position:absolute;top:50%;left:6px;margin:-8px 0 0 0}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked) + label:before,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked + label:before{margin:0;top:-3px;left:6px;-webkit-transition:all .275s;transition:all .275s}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked) + label:after,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked + label:after{top:0;left:13px}.imagify-col-checkbox label{padding-left:55px!important}.imagify-offer-size{font-size:30px;color:#2E3243;font-weight:bold;-webkit-transition:all .275s;transition:all .275s}.imagify-offer-by{font-size:10px;-webkit-transition:all .275s;transition:all .275s}.imagify-approx{display:block;font-size:11px;line-height:1.2;-webkit-transition:all .275s;transition:all .275s}div.imagify-col-price{width:30%}.imagify-flex-table .imagify-price-block{padding-left:0;padding-right:0}.imagify-flex-table .imagify-price-complement{padding-right:0;font-size:10px;font-weight:bold}.imagify-price-block span{display:inline-block;vertical-align:middle}span.imagify-dollars{color:#1F2332;font-size:18px;font-weight:bold;vertical-align:-2px}.imagify-offer-onetime .imagify-col-price{padding-top:0}.imagify-offer-onetime .imagify-dollars{vertical-align:-7px}.imagify-price-big,.imagify-price-mini{color:#40B1D0;font-weight:bold}.imagify-price-big{font-size:36px}span.imagify-price-mini{font-size:18px;vertical-align:2px}span.imagify-price-by{font-size:10px;color:#1F2332;vertical-align:-13px;text-indent:-27px}.imagify-col-other-actions{width:18.5%;text-align:right}.imagify-col-other-actions a{font-size:11px}.imagify-offer-selected,.imagify-offer-selected .imagify-offer-title,.imagify-offer-selected .imagify-offer-size,.imagify-offer-selected .imagify-price-big,.imagify-offer-selected .imagify-price-mini,.imagify-offer-selected .imagify-price-complement,.imagify-offer-selected .imagify-col-other-actions a{color:#FFF}.imagify-offer-selected .imagify-offer-header,.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type="radio"]:not(:checked) + label{background:#338EA6}.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type="radio"]:checked + label{background:#40B1D0}.imagify-offer-selected .imagify-offer-content{background:#40B1D0}.imagify-offer-selected .imagify-checkbox.imagify-checkbox:not(:checked) + label:before,.imagify-offer-selected .imagify-checkbox.imagify-checkbox:checked + label:before{border-color:#FFF;background:#40B1D0}.imagify-offer-selected .imagify-offer-by{color:#2E3243}.imagify-submit-line{margin:2em 0}.imagify-submit-line button{font-size:16px}.imagify-footer-lines{width:500px;max-width:100%;margin:2em auto 1em;font-size:0.85em;line-height:1.6}.imagify-year-selected .imagify-switch-my .imagify-yearly{display:block}.imagify-year-selected .imagify-switch-my .imagify-monthly{display:none}.imagify-month-selected .imagify-switch-my .imagify-yearly{display:none}.imagify-month-selected .imagify-switch-my .imagify-monthly{display:block}.imagify-flex-table{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.imagify-flex-table > *{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:7px 15px}div.imagify-col-details{width:22%;padding-left:25px}.imagify-col-details p{margin:0}.imagify-pricing-table{margin:0 20px}.imagify-pricing-table .imagify-offer-line{padding:.6em 0;border:2px solid #E8EEF0;text-align:left;border-radius:3px}.imagify-pricing-table .imagify-offer-line:first-child{margin-top:.75em}.imagify-pricing-table .imagify-offer-line + .imagify-offer-line{margin-top:-2px}.imagify-pricing-table .imagify-col-other-actions{width:20.5%}.imagify-pricing-table .imagify-approx{margin-left:0;line-height:0.5;margin-bottom:1em}.imagify-pricing-table .imagify-offer-selected{-webkit-transform:scale(1.03);transform:scale(1.03);background:#40B1D0;border-width:0}.imagify-pricing-table .imagify-offer-selected .imagify-approx{color:#FFF}.imagify-pricing-table .imagify-button-secondary{padding:3px 20px;box-shadow:none;text-transform:uppercase;font-size:12px;letter-spacing:0.025em}.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary{border:2px solid #FFF;background:#40B1D0;box-shadow:none;text-shadow:none!important}.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:hover,.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:focus{background:#FFF;color:#40B1D0}.imagify-col .imagify-special-needs{margin-left:25px}.imagify-special-needs strong{font-size:25px;font-weight:bold;color:#40B1D0}.imagify-special-needs span{display:block;font-size:12px;margin-top:-.5em}div.imagify-col-price{position:relative}.imagify-recommend{display:none;position:absolute;left:-20px;bottom:100%;padding:0;margin-bottom:8px;color:#1F2332;font-weight:bold;font-style:italic}.imagify-offer-selected .imagify-recommend{display:block}[class*="imagify-onetime-"] .imagify-recommend{left:65px;margin-bottom:20px}.imagify-recommend:before{content:"";position:absolute;top:7px;left:-35px;width:29px;height:30px;background:url("../images/icon-arrow-choice.png") scroll 0 no-repeat;background-size:contain}@media only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.imagify-recommend:before{background-image:url("../images/icon-arrow-choice.svg")}}.imagify-offer-line[class*="imagify-onetime-"]{padding:0;margin:.3em 0 0}.imagify-offer-line.imagify-offer-line[class*="imagify-onetime-"]:first-child{margin-top:2em}.imagify-offer-line[class*="imagify-onetime-"] + .imagify-offer-line{margin-top:.5em}.imagify-offer-selected.imagify-offer-line[class*="imagify-onetime-"]{-webkit-transform:scale(1);transform:scale(1);border-width:2px}.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-details{position:relative;overflow:hidden;width:21%;background:#1F2332;color:#FFF}.imagify-offer-selected.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-details{background:#338EA6}.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-details:before{content:"";position:absolute;bottom:0;right:25px;width:75px;height:54px;background:url("../images/icon-pack.png")}.imagify-offer-line[class*="imagify-onetime-"] .imagify-col-other-actions{width:30%}.imagify-offer-line[class*="imagify-onetime-"] .imagify-offer-size,.imagify-offer-line[class*="imagify-onetime-"] .imagify-approx{color:#FFF}.imagify-offer-line[class*="imagify-onetime-"] .imagify-offer-size{font-size:24px}.imagify-offer-line[class*="imagify-onetime-"] .imagify-approx{font-size:12px}.imagify-offer-line[class*="imagify-onetime-"] .imagify-price-block{padding-left:10px}.imagify-offer-line[class*="imagify-onetime-"] .imagify-dollars{vertical-align:middle}.imagify-offer-line[class*="imagify-onetime-"] .imagify-price-big{vertical-align:-5px}.imagify-offer-line[class*="imagify-onetime-"] .imagify-price-mini{vertical-align:7px}.imagify-tabs{margin-bottom:0;list-style:none;background:#E5EBEF}.imagify-modal-content .imagify-tabs{margin:1em 0 0}.imagify-tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:50%;margin:0;font-size:23px}.imagify-tab a{display:block;padding:15px 10px;color:inherit;text-decoration:none}.imagify-tab a:focus{box-shadow:none;outline:none;color:#40B1D8}.imagify-tab.imagify-current a{background:#F6F7FB}.imagify-tab-content.imagify-current{display:block}.imagify-tab-content{display:none}.imagify-tab-content .imagify-modal-section:first-child{margin-top:0}.imagify-modal-sidebar-content,.imagify-payment-modal .imagify-modal-sidebar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.imagify-modal-sidebar-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}p.imagify-modal-sidebar-title{margin-top:5px;padding-right:40px;font-size:18px;color:#FFF}.imagify-modal-testimony{margin-top:1em}.imagify-modal-testimony + .imagify-modal-testimony{margin-top:2em}@media (max-height:620px){.imagify-modal-testimony + .imagify-modal-testimony{display:none}}.imagify-modal-testimony-person{display:table;width:100%}.imagify-modal-testimony-person > *{display:table-cell;vertical-align:middle}.imagify-modal-avatar{width:114px;line-height:0}.imagify-modal-avatar img{border:2px solid #FFF;border-radius:50%;width:96px;height:96px}.imagify-modal-identity a{text-decoration:none;font-weight:bold}.imagify-modal-identity a:first-child{font-size:13px}.imagify-modal-identity a:first-child + a{display:block;font-size:10px;color:#7A8996}.imagify-modal-testimony-content p{font-size:13px;font-style:italic;line-height:1.7;color:#7A8996}.imagify-modal-sidebar-trust{margin-top:auto;padding-top:1.5em}.imagify-modal-sidebar-trust p{margin:0;font-weight:bold;font-size:12px;line-height:1.7}.imagify-modal-sidebar-trust p img{margin-right:3px;vertical-align:-2px}.imagify-modal-sidebar-trust p + p{font-size:11px}.imagify-cart{text-align:left}.imagify-cart .imagify-cart-list{border-top:1px solid rgba(122,137,150,.2);border-bottom:1px solid rgba(122,137,150,.2)}.imagify-cart .imagify-cart-label{margin-bottom:0.5em;font-size:10px;color:#2E3243}.imagify-cart-list p{margin:0;font-weight:bold}.imagify-cart-item{margin:.4em 0}.imagify-cart .imagify-cart-suggestion{margin-top:-.3em}.imagify-cart-suggestion a,.imagify-cl-description p{font-size:10px}.imagify-remove-from-cart{border:0;padding:0;width:14px;height:14px;line-height:13px;border-radius:50%;background:#40B1D0;cursor:pointer;transition:background .3s}.imagify-remove-from-cart i:before{position:relative;top:-6px;left:-3px;font-size:13px;color:#FFF}.imagify-remove-from-cart:hover,.imagify-remove-from-cart:focus{background:#D0021B}.imagify-cart .imagify-cl-remove{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;width:45px}.imagify-cart .imagify-cl-name{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;width:200px}.imagify-cart .imagify-cl-description{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding-top:10px}.imagify-cart .imagify-cl-price{text-align:right}#imagify-payment-iframe{width:100%;height:375px;margin-top:1em;background:#f6f7fb url(../images/loader-balls.svg) 50% 175px no-repeat}.imagify-success-view{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.imagify-success-view p{font-weight:bold;font-size:16px}.imagify-cart-emptied-item{margin:.3em auto;padding:6px 20px;background:#E6EBEF;border-radius:20px}.imagify-cart-emptied-item.imagify-cart-emptied-item p{font-weight:bold}.imagify-cart-emptied-item a{color:#40b1d0;float:right;font-weight:bold}
|
assets/images/big-blue-check.png
ADDED
Binary file
|
assets/images/icon-arrow-choice.png
ADDED
Binary file
|
assets/images/icon-arrow-choice.svg
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg width="29px" height="30px" viewBox="0 0 29 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3 |
+
<!-- Generator: Sketch 3.6.1 (26313) - http://www.bohemiancoding.com/sketch -->
|
4 |
+
<title>Shape</title>
|
5 |
+
<desc>Created with Sketch.</desc>
|
6 |
+
<defs></defs>
|
7 |
+
<g id="Bulk-Optimize" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
8 |
+
<g id="Bulk-Optimize-Free-Account-Popup-0-Pricing-One-Time" transform="translate(-770.000000, -526.000000)" fill="#1F2332">
|
9 |
+
<path d="M802.296271,541.590991 L799.162499,532.943366 C798.845155,532.07067 797.893123,531.634322 797.020427,531.951666 C796.147731,532.26901 795.711383,533.221042 796.028727,534.093738 L797.774119,538.933235 C793.608979,536.156474 788.650479,534.64909 783.572975,534.64909 C777.70211,534.64909 772.188258,536.553154 767.626438,540.162943 C766.912414,540.718295 766.79341,541.789331 767.348762,542.503355 C767.904114,543.217379 768.97515,543.336383 769.689174,542.781031 C773.695642,539.647259 778.49547,537.981203 783.612643,537.981203 C788.214131,537.981203 792.696615,539.409251 796.465075,541.987671 L791.585911,543.772731 C790.713215,544.090075 790.276867,545.042107 790.594211,545.914803 C790.832219,546.589159 791.466907,547.025507 792.141263,547.025507 C792.339603,547.025507 792.537943,546.985839 792.696615,546.906503 L801.344239,543.772731 L801.344239,543.772731 C802.177267,543.415719 802.613615,542.463687 802.296271,541.590991 L802.296271,541.590991 Z" id="Shape" transform="translate(784.700047, 539.436891) scale(-1, 1) rotate(-310.000000) translate(-784.700047, -539.436891) "></path>
|
10 |
+
</g>
|
11 |
+
</g>
|
12 |
+
</svg>
|
assets/images/icon-lock.png
ADDED
Binary file
|
assets/images/icon-lock.svg
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg width="16px" height="19px" viewBox="0 0 16 19" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3 |
+
<!-- Generator: Sketch 3.6.1 (26313) - http://www.bohemiancoding.com/sketch -->
|
4 |
+
<title></title>
|
5 |
+
<desc>Created with Sketch.</desc>
|
6 |
+
<defs></defs>
|
7 |
+
<g id="Bulk-Optimize" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" font-size="24" font-family="FontAwesome" font-weight="normal">
|
8 |
+
<g id="Bulk-Optimize-Free-Account-Popup-1" transform="translate(-1047.000000, -799.000000)" fill="#8BC34A">
|
9 |
+
<g id="Group-17" transform="translate(984.000000, 155.000000)">
|
10 |
+
<g id="Group-15" transform="translate(32.000000, 641.000000)">
|
11 |
+
<text id="">
|
12 |
+
<tspan x="31" y="22"></tspan>
|
13 |
+
</text>
|
14 |
+
</g>
|
15 |
+
</g>
|
16 |
+
</g>
|
17 |
+
</g>
|
18 |
+
</svg>
|
assets/images/icon-pack.png
ADDED
Binary file
|
assets/images/icon-pack.svg
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg width="75px" height="54px" viewBox="0 0 75 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3 |
+
<!-- Generator: Sketch 3.6.1 (26313) - http://www.bohemiancoding.com/sketch -->
|
4 |
+
<title>Shape</title>
|
5 |
+
<desc>Created with Sketch.</desc>
|
6 |
+
<defs></defs>
|
7 |
+
<g id="Bulk-Optimize" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.15">
|
8 |
+
<g id="Bulk-Optimize-Free-Account-Popup-0-Pricing-One-Time" transform="translate(-602.000000, -556.000000)" fill="#FFFFFF">
|
9 |
+
<g id="Group-16" transform="translate(541.000000, 544.000000)">
|
10 |
+
<g id="Shape">
|
11 |
+
<path d="M135.847615,65.4118845 L135.847615,30.0205479 L98.4782609,12.3256648 L61.1089067,30.0205479 L61.1089067,65.4110993 L98.4782609,83.1067676 L135.847615,65.4118845 L135.847615,65.4118845 Z M98.4782609,45.4491918 L68.2896132,31.1544527 L80.9908469,25.1402027 L111.180452,39.4349418 L98.4782609,45.4491918 L98.4782609,45.4491918 Z M100.87183,77.4403845 L100.87183,48.8493358 L113.573063,42.8350858 L113.573063,48.4205878 L118.360201,46.1535635 L118.360201,40.5680614 L131.061435,34.5538114 L131.061435,63.1440749 L100.87183,77.4403845 L100.87183,77.4403845 Z M128.666909,31.1544527 L115.965675,37.1687027 L85.7770272,22.8731783 L98.4782609,16.8589283 L128.666909,31.1544527 L128.666909,31.1544527 Z M65.8960444,34.5545967 L96.084692,48.8493358 L96.084692,77.4395993 L65.8960444,63.1448602 L65.8960444,34.5545967 L65.8960444,34.5545967 Z"></path>
|
12 |
+
</g>
|
13 |
+
</g>
|
14 |
+
</g>
|
15 |
+
</g>
|
16 |
+
</svg>
|
assets/images/pic-ericwaltr.jpg
ADDED
Binary file
|
assets/images/pic-srhdesign.jpg
ADDED
Binary file
|
assets/js/admin.js
CHANGED
@@ -1,6 +1,14 @@
|
|
1 |
jQuery(function($){
|
2 |
|
3 |
-
var concat = ajaxurl.indexOf("?") > 0 ? "&" : "?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
/*
|
6 |
* Create a new Imagify account
|
@@ -10,9 +18,9 @@ jQuery(function($){
|
|
10 |
|
11 |
// Display the sign up form
|
12 |
swal({
|
13 |
-
title:
|
14 |
-
text:
|
15 |
-
confirmButtonText:
|
16 |
type: "input",
|
17 |
closeOnConfirm: false,
|
18 |
allowOutsideClick: true,
|
@@ -21,7 +29,7 @@ jQuery(function($){
|
|
21 |
},
|
22 |
function(inputValue){
|
23 |
if ($.trim(inputValue) == "" || ! inputValue) {
|
24 |
-
swal.showInputError(
|
25 |
return false;
|
26 |
}
|
27 |
|
@@ -31,8 +39,8 @@ jQuery(function($){
|
|
31 |
swal.showInputError(response.data);
|
32 |
} else {
|
33 |
swal({
|
34 |
-
title:
|
35 |
-
text:
|
36 |
type: "success",
|
37 |
customClass: "imagify-sweet-alert"
|
38 |
});
|
@@ -49,9 +57,9 @@ jQuery(function($){
|
|
49 |
|
50 |
// Display the sign up form
|
51 |
swal({
|
52 |
-
title:
|
53 |
-
text:
|
54 |
-
confirmButtonText:
|
55 |
type: "input",
|
56 |
closeOnConfirm: false,
|
57 |
allowOutsideClick: true,
|
@@ -60,7 +68,7 @@ jQuery(function($){
|
|
60 |
},
|
61 |
function(inputValue){
|
62 |
if ($.trim(inputValue) == "" || ! inputValue) {
|
63 |
-
swal.showInputError(
|
64 |
return false;
|
65 |
}
|
66 |
|
@@ -70,8 +78,8 @@ jQuery(function($){
|
|
70 |
swal.showInputError( response.data );
|
71 |
} else {
|
72 |
swal({
|
73 |
-
title:
|
74 |
-
text:
|
75 |
type: "success",
|
76 |
customClass: "imagify-sweet-alert"
|
77 |
});
|
@@ -118,7 +126,7 @@ jQuery(function($){
|
|
118 |
$('.imagify-modal').attr('aria-hidden', 'true');
|
119 |
|
120 |
// on click on modal trigger
|
121 |
-
$('.imagify-modal-trigger').on('click', function(){
|
122 |
|
123 |
imagify_open_modal( $(this) );
|
124 |
|
@@ -126,11 +134,11 @@ jQuery(function($){
|
|
126 |
});
|
127 |
|
128 |
// on click on close button
|
129 |
-
$(document).on('click', '.imagify-modal .close-btn', function(){
|
130 |
$(this).closest('.imagify-modal').fadeOut(400).attr('aria-hidden', 'true').removeClass('modal-is-open');
|
131 |
$('body').removeClass('imagify-modal-is-open');
|
132 |
})
|
133 |
-
.on('blur', '.imagify-modal .close-btn', function(){
|
134 |
var $modal = $(this).closest('.imagify-modal');
|
135 |
if ( $modal.attr('aria-hidden') === 'false' ) {
|
136 |
$modal.attr('tabindex', '0').focus().removeAttr('tabindex');
|
@@ -144,7 +152,7 @@ jQuery(function($){
|
|
144 |
e.preventDefault();
|
145 |
|
146 |
// trigger the event
|
147 |
-
$('.imagify-modal.modal-is-open').find('.close-btn').trigger('click');
|
148 |
|
149 |
return false;
|
150 |
}
|
@@ -155,7 +163,7 @@ jQuery(function($){
|
|
155 |
|
156 |
$('#wp-admin-bar-imagify').hover( function() {
|
157 |
if ( true === busy ) {
|
158 |
-
|
159 |
}
|
160 |
|
161 |
busy = true;
|
@@ -171,4 +179,584 @@ jQuery(function($){
|
|
171 |
});
|
172 |
}
|
173 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
});
|
1 |
jQuery(function($){
|
2 |
|
3 |
+
var concat = ajaxurl.indexOf("?") > 0 ? "&" : "?",
|
4 |
+
imagify = {
|
5 |
+
log: function ( content ) {
|
6 |
+
if (console !== 'undefined') console.log( content );
|
7 |
+
},
|
8 |
+
info: function ( content ) {
|
9 |
+
if (console !== 'undefined') console.info( content );
|
10 |
+
}
|
11 |
+
};
|
12 |
|
13 |
/*
|
14 |
* Create a new Imagify account
|
18 |
|
19 |
// Display the sign up form
|
20 |
swal({
|
21 |
+
title: imagifyAdmin.labels.signupTitle,
|
22 |
+
text: imagifyAdmin.labels.signupText,
|
23 |
+
confirmButtonText: imagifyAdmin.labels.signupConfirmButtonText,
|
24 |
type: "input",
|
25 |
closeOnConfirm: false,
|
26 |
allowOutsideClick: true,
|
29 |
},
|
30 |
function(inputValue){
|
31 |
if ($.trim(inputValue) == "" || ! inputValue) {
|
32 |
+
swal.showInputError(imagifyAdmin.labels.signupErrorEmptyEmail);
|
33 |
return false;
|
34 |
}
|
35 |
|
39 |
swal.showInputError(response.data);
|
40 |
} else {
|
41 |
swal({
|
42 |
+
title:imagifyAdmin.labels.signupSuccessTitle,
|
43 |
+
text: imagifyAdmin.labels.signupSuccessText,
|
44 |
type: "success",
|
45 |
customClass: "imagify-sweet-alert"
|
46 |
});
|
57 |
|
58 |
// Display the sign up form
|
59 |
swal({
|
60 |
+
title: imagifyAdmin.labels.saveApiKeyTitle,
|
61 |
+
text: imagifyAdmin.labels.saveApiKeyText,
|
62 |
+
confirmButtonText: imagifyAdmin.labels.saveApiKeyConfirmButtonText,
|
63 |
type: "input",
|
64 |
closeOnConfirm: false,
|
65 |
allowOutsideClick: true,
|
68 |
},
|
69 |
function(inputValue){
|
70 |
if ($.trim(inputValue) == "" || ! inputValue) {
|
71 |
+
swal.showInputError(imagifyAdmin.labels.signupErrorEmptyEmail);
|
72 |
return false;
|
73 |
}
|
74 |
|
78 |
swal.showInputError( response.data );
|
79 |
} else {
|
80 |
swal({
|
81 |
+
title: imagifyAdmin.labels.ApiKeyCheckSuccessTitle,
|
82 |
+
text: imagifyAdmin.labels.ApiKeyCheckSuccessText,
|
83 |
type: "success",
|
84 |
customClass: "imagify-sweet-alert"
|
85 |
});
|
126 |
$('.imagify-modal').attr('aria-hidden', 'true');
|
127 |
|
128 |
// on click on modal trigger
|
129 |
+
$('.imagify-modal-trigger').on('click.imagify', function(){
|
130 |
|
131 |
imagify_open_modal( $(this) );
|
132 |
|
134 |
});
|
135 |
|
136 |
// on click on close button
|
137 |
+
$(document).on('click.imagify', '.imagify-modal .close-btn', function(){
|
138 |
$(this).closest('.imagify-modal').fadeOut(400).attr('aria-hidden', 'true').removeClass('modal-is-open');
|
139 |
$('body').removeClass('imagify-modal-is-open');
|
140 |
})
|
141 |
+
.on('blur.imagify', '.imagify-modal .close-btn', function(){
|
142 |
var $modal = $(this).closest('.imagify-modal');
|
143 |
if ( $modal.attr('aria-hidden') === 'false' ) {
|
144 |
$modal.attr('tabindex', '0').focus().removeAttr('tabindex');
|
152 |
e.preventDefault();
|
153 |
|
154 |
// trigger the event
|
155 |
+
$('.imagify-modal.modal-is-open').find('.close-btn').trigger('click.imagify');
|
156 |
|
157 |
return false;
|
158 |
}
|
163 |
|
164 |
$('#wp-admin-bar-imagify').hover( function() {
|
165 |
if ( true === busy ) {
|
166 |
+
return;
|
167 |
}
|
168 |
|
169 |
busy = true;
|
179 |
});
|
180 |
}
|
181 |
});
|
182 |
+
|
183 |
+
/**
|
184 |
+
* Payment Modal
|
185 |
+
*
|
186 |
+
* @since 1.5
|
187 |
+
* @author Geoffrey
|
188 |
+
*/
|
189 |
+
|
190 |
+
if ( $('#imagify-pricing-modal').length ) {
|
191 |
+
var $modal = $('#imagify-pricing-modal'),
|
192 |
+
imagify_get_html_price = function( content, period ) {
|
193 |
+
if ( ! period ) period = null;
|
194 |
+
output = '';
|
195 |
+
|
196 |
+
if ( typeof content === 'object' ) {
|
197 |
+
var monthly = content.monthly + "",
|
198 |
+
yearly = content.yearly + "",
|
199 |
+
m = monthly.split('.'),
|
200 |
+
y = yearly.split('.');
|
201 |
+
|
202 |
+
output += '<span class="imagify-switch-my"><span aria-hidden="' + ( period === 'monthly' ? 'false' : 'true' ) + '" class="imagify-monthly"><span class="imagify-price-big">' + m[0] + '</span> <span class="imagify-price-mini">.' + ( m[1].length === 1 ? m[1] + '0' : m[1] ) + '</span></span> <span aria-hidden="' + ( period === 'yearly' ? 'false' : 'true' ) + '" class="imagify-yearly"><span class="imagify-price-big">' + y[0] + '</span> <span class="imagify-price-mini">.' + ( y[1].length === 1 ? y[1] + '0' : y[1] ) + '</span></span></span>';
|
203 |
+
} else {
|
204 |
+
var content = content + "", // be sure content is a string
|
205 |
+
v = content.split('.');
|
206 |
+
|
207 |
+
output += '<span class="imagify-price-big">' + v[0] + '</span> <span class="imagify-price-mini">.' + ( v[1].length === 1 ? v[1] + '0' : v[1] ) + '</span>';
|
208 |
+
}
|
209 |
+
|
210 |
+
return output;
|
211 |
+
},
|
212 |
+
imagify_get_pricing = function( $button ){
|
213 |
+
var data = {
|
214 |
+
action: 'imagify_get_prices',
|
215 |
+
imagifynonce: $button.data('nonce')
|
216 |
+
};
|
217 |
+
|
218 |
+
$modal.find('.imagify-modal-loader').hide().show();
|
219 |
+
|
220 |
+
$.post( ajaxurl, data, function( response ) {
|
221 |
+
if ( response.success ) {
|
222 |
+
var datas = response.data,
|
223 |
+
monthlies = datas.monthlies,
|
224 |
+
onetimes = datas.onetimes,
|
225 |
+
mo_user_cons= 1000, // TODO: dynamic, in MB,
|
226 |
+
ot_user_cons= 51000, // TODO: dynamic, in MB,
|
227 |
+
$mo_tpl = $('#imagify-offer-monthly-template'),
|
228 |
+
$ot_tpl = $('#imagify-offer-onetime-template'),
|
229 |
+
ot_clone = $ot_tpl.html(),
|
230 |
+
mo_clone = $mo_tpl.html(),
|
231 |
+
ot_html = '',
|
232 |
+
mo_html = '',
|
233 |
+
ot_suggested= false,
|
234 |
+
mo_suggested= false;
|
235 |
+
|
236 |
+
// Do the MONTHLIES Markup
|
237 |
+
// TODO: remove offers from monthlies depending on mo_user_cons
|
238 |
+
|
239 |
+
$.each( monthlies, function( index, value ) {
|
240 |
+
if ( value.label === 'free' ) {
|
241 |
+
return true; // continue like (but $.each is not a loop… so)
|
242 |
+
}
|
243 |
+
var add = value.additional_gb, // 4
|
244 |
+
ann = value.annual_cost, // 49.9
|
245 |
+
id = value.id, // 3
|
246 |
+
lab = value.label, // 'lite'
|
247 |
+
mon = value.monthly_cost, // 4.99
|
248 |
+
quo = value.quota, // 1000 (MB) - 5000 images
|
249 |
+
name= ( quo >= 1000 ? quo/1000 + ' GB' : quo + ' MB' ),
|
250 |
+
$tpl= $( mo_clone ).clone(),
|
251 |
+
pcs = { monthly: mon, yearly: Math.round( ann / 12 * 100 ) / 100 };
|
252 |
+
|
253 |
+
// parent classes
|
254 |
+
classes = '';
|
255 |
+
if ( ( mo_user_cons < quo && mo_suggested === false ) ) {
|
256 |
+
classes = ' imagify-offer-selected';
|
257 |
+
mo_suggested = true;
|
258 |
+
}
|
259 |
+
$tpl.addClass( 'imagify-monthly-' + lab + classes);
|
260 |
+
|
261 |
+
// name
|
262 |
+
$tpl.find('.imagify-offer-size').text( name );
|
263 |
+
|
264 |
+
// nb images
|
265 |
+
$tpl.find('.imagify-approx-nb').text( quo * 5 );
|
266 |
+
|
267 |
+
// additionnal price
|
268 |
+
$tpl.find('.imagify-price-add-data').text( '$' + add );
|
269 |
+
|
270 |
+
// main prices
|
271 |
+
$tpl.find('.imagify-number-block').html( imagify_get_html_price( pcs, 'monthly' ) );
|
272 |
+
|
273 |
+
// button data-offer attr
|
274 |
+
$tpl.find('.imagify-payment-btn-select-plan').attr('data-offer', '{"' + lab + '":{"id":' + id + ',"name":"' + name + '","data":' + quo + ',"dataf":"' + name + '","imgs":' + ( quo * 5 ) + ',"prices":{"monthly":' + pcs.monthly + ',"yearly":' + pcs.yearly + ',"add":' + add + '}}}');
|
275 |
+
|
276 |
+
// complete Monthlies HTML
|
277 |
+
mo_html += $tpl[0].outerHTML;
|
278 |
+
|
279 |
+
});
|
280 |
+
|
281 |
+
// Do the ONETIMES Markup
|
282 |
+
// TODO: add custom estimation in onetimes table based on ot_user_cons
|
283 |
+
$.each( onetimes, function( index, value ) {
|
284 |
+
var id = value.id, // 1
|
285 |
+
co = value.cost, // 3.49
|
286 |
+
la = value.label, // "250MB"
|
287 |
+
qu = value.quota, // 250
|
288 |
+
name = ( qu >= 1000 ? qu / 1000 + ' GB' : qu + ' MB' ),
|
289 |
+
$tpl = $( ot_clone ).clone();
|
290 |
+
|
291 |
+
// parent classes
|
292 |
+
classes = '';
|
293 |
+
if ( ( ot_user_cons < qu && ot_suggested === false ) ) {
|
294 |
+
classes = ' imagify-offer-selected';
|
295 |
+
ot_suggested = true;
|
296 |
+
}
|
297 |
+
$tpl.addClass( 'imagify-onetime-' + la + classes);
|
298 |
+
|
299 |
+
// name
|
300 |
+
$tpl.find('.imagify-offer-size').text( name );
|
301 |
+
|
302 |
+
// nb images
|
303 |
+
$tpl.find('.imagify-approx-nb').text( qu * 5 );
|
304 |
+
|
305 |
+
// main prices
|
306 |
+
$tpl.find('.imagify-number-block').html( imagify_get_html_price( co, 'monthly' ) );
|
307 |
+
|
308 |
+
// button data-offer attr
|
309 |
+
$tpl.find('.imagify-payment-btn-select-plan').attr('data-offer', '{"ot' + la + '":{"id":' + id + ',"name":"' + name + '","data":' + qu + ',"dataf":"' + name + '","imgs":' + ( qu * 5 ) + ',"price":' + co + '}}');
|
310 |
+
|
311 |
+
// complete Monthlies HTML
|
312 |
+
ot_html += $tpl[0].outerHTML;
|
313 |
+
});
|
314 |
+
|
315 |
+
// Fill pricing tables
|
316 |
+
if ( $mo_tpl.parent().find('.imagify-offer-line') ) {
|
317 |
+
$mo_tpl.parent().find('.imagify-offer-line').remove();
|
318 |
+
}
|
319 |
+
$mo_tpl.before( mo_html );
|
320 |
+
|
321 |
+
if ( $ot_tpl.parent().find('.imagify-offer-line') ) {
|
322 |
+
$ot_tpl.parent().find('.imagify-offer-line').remove();
|
323 |
+
}
|
324 |
+
$ot_tpl.before( ot_html );
|
325 |
+
|
326 |
+
// Fill the Pre-checkout view
|
327 |
+
// (depending on user_cons)
|
328 |
+
|
329 |
+
// Show the content
|
330 |
+
$modal.find('.imagify-modal-loader').fadeOut(300);
|
331 |
+
|
332 |
+
|
333 |
+
} else {
|
334 |
+
// TODO: replace modal content by any information
|
335 |
+
// an error occurred
|
336 |
+
}
|
337 |
+
|
338 |
+
}); // end $.post
|
339 |
+
},
|
340 |
+
imagify_check_check = function( $checkbox ) {
|
341 |
+
var sel_class = 'imagify-offer-selected';
|
342 |
+
|
343 |
+
$checkbox.each(function(){
|
344 |
+
if ( $(this).is(':checked') ) {
|
345 |
+
$(this).closest('.imagify-offer-line').addClass( sel_class );
|
346 |
+
}
|
347 |
+
else {
|
348 |
+
$(this).closest('.imagify-offer-line').removeClass( sel_class );
|
349 |
+
}
|
350 |
+
});
|
351 |
+
},
|
352 |
+
imagify_check_radio = function( $radio ) {
|
353 |
+
var year_class = 'imagify-year-selected',
|
354 |
+
month_class = 'imagify-month-selected';
|
355 |
+
|
356 |
+
$radio.each(function(){
|
357 |
+
// to handle modal pricing & modal suggestion
|
358 |
+
var $_this = $(this);
|
359 |
+
var $parent = '';
|
360 |
+
|
361 |
+
if ( $_this.parent('.imagify-cart-list-switcher').length ) {
|
362 |
+
$parent = $_this.closest('.imagify-cart');
|
363 |
+
} else if ( $_this.parent('.imagify-small-options').length ) {
|
364 |
+
$parent = $_this.parent('.imagify-small-options').next('.imagify-pricing-table');
|
365 |
+
} else {
|
366 |
+
$parent = $_this.closest('.imagify-offer-line');
|
367 |
+
}
|
368 |
+
|
369 |
+
var $to_switch = $parent.find('.imagify-switch-my');
|
370 |
+
|
371 |
+
if ( $_this.val() === 'yearly' ) {
|
372 |
+
$parent.addClass( year_class ).removeClass( month_class );
|
373 |
+
$to_switch.find('.imagify-monthly').attr('aria-hidden', 'true');
|
374 |
+
$to_switch.find('.imagify-yearly').attr('aria-hidden', 'false');
|
375 |
+
} else {
|
376 |
+
$parent.addClass( month_class ).removeClass( year_class );
|
377 |
+
$to_switch.find('.imagify-monthly').attr('aria-hidden', 'false');
|
378 |
+
$to_switch.find('.imagify-yearly').attr('aria-hidden', 'true');
|
379 |
+
}
|
380 |
+
});
|
381 |
+
return $radio;
|
382 |
+
},
|
383 |
+
$checkboxes = $('.imagify-offer-line').find('.imagify-checkbox'),
|
384 |
+
$radios = $('.imagify-payment-modal').find('.imagify-radio-line').find('input');
|
385 |
+
|
386 |
+
// check all boxes on load
|
387 |
+
imagify_check_check( $checkboxes );
|
388 |
+
imagify_check_radio( $radios.filter(':checked') );
|
389 |
+
|
390 |
+
// check the changed box
|
391 |
+
$checkboxes.on('change.imagify', function(){
|
392 |
+
imagify_check_check( $(this) );
|
393 |
+
});
|
394 |
+
|
395 |
+
// check the radio box
|
396 |
+
$radios.on('change.imagify', function(){
|
397 |
+
imagify_check_radio( $(this) );
|
398 |
+
});
|
399 |
+
|
400 |
+
/**
|
401 |
+
* Get pricings on modal opening
|
402 |
+
* Build the pricing tables inside modal
|
403 |
+
*/
|
404 |
+
$('#imagify-get-pricing-modal').on('click.imagify-ajax', function(){
|
405 |
+
imagify_get_pricing( $(this) );
|
406 |
+
});
|
407 |
+
|
408 |
+
/**
|
409 |
+
* 1) Modal Payment change/select plan
|
410 |
+
* 2) Checkout selection(s)
|
411 |
+
* 3) Payment process
|
412 |
+
*/
|
413 |
+
|
414 |
+
// plans selection view & payment process view hidden by default
|
415 |
+
var $plans_view = $('#imagify-plans-selection-view'),
|
416 |
+
$payment_view = $('#imagify-payment-process-view'),
|
417 |
+
$pre_view = $('#imagify-pre-checkout-view'),
|
418 |
+
$success_view = $('#imagify-success-view'),
|
419 |
+
speedFadeIn = 300,
|
420 |
+
$another_btn = $('.imagify-choose-another-plan'),
|
421 |
+
imagify_iframe_set_src = function( params ) {
|
422 |
+
/*
|
423 |
+
params = {
|
424 |
+
'monthly': {
|
425 |
+
'lite': {
|
426 |
+
name: 'something',
|
427 |
+
id: ''
|
428 |
+
}
|
429 |
+
},
|
430 |
+
'onetime': {
|
431 |
+
'recommended': {
|
432 |
+
name: 'Recommend',
|
433 |
+
id: ''
|
434 |
+
}
|
435 |
+
},
|
436 |
+
'period': 'monthly'|'yearly'
|
437 |
+
}
|
438 |
+
*/
|
439 |
+
var $iframe = $('#imagify-payment-iframe'),
|
440 |
+
iframe_src = $iframe.attr('src'),
|
441 |
+
monthly_id = 0,
|
442 |
+
onetime_id = 0;
|
443 |
+
if ( typeof params === 'object' ) {
|
444 |
+
if ( params.monthly ) {
|
445 |
+
monthly_id = params.monthly[ Object.keys( params.monthly )[0] ].id;
|
446 |
+
}
|
447 |
+
if ( params.onetime ) {
|
448 |
+
onetime_id = params.onetime[ Object.keys( params.onetime )[0] ].id;
|
449 |
+
// if onetime ID === 999 it's a custom plan, send datas instead
|
450 |
+
onetime_id = ( onetime_id == 999 ? params.onetime[ Object.keys( params.onetime )[0] ].data : onetime_id );
|
451 |
+
}
|
452 |
+
|
453 |
+
if ( params.period ) {
|
454 |
+
iframe_src = iframe_src.split('?')[0] + '?monthly=' + monthly_id + '&onetime=' + onetime_id + '&api=' + imagify_get_api_key() + '&period=' + params.period;
|
455 |
+
|
456 |
+
$iframe.attr( 'src', iframe_src );
|
457 |
+
|
458 |
+
} else {
|
459 |
+
imagifyAdmin.labels.info('No period defined');
|
460 |
+
}
|
461 |
+
} else if ( typeof params === 'string' ) {
|
462 |
+
iframe_src = iframe_src.split('&period=');
|
463 |
+
$iframe.attr( 'src', iframe_src[0] + '&period=' + params );
|
464 |
+
}
|
465 |
+
},
|
466 |
+
imagify_get_period = function() {
|
467 |
+
return ( $('.imagify-cart').hasClass('imagify-month-selected') ? 'monthly' : 'yearly' );
|
468 |
+
},
|
469 |
+
imagify_get_api_key = function(){
|
470 |
+
return $('#imagify-payment-iframe').data('imagify-api');
|
471 |
+
};
|
472 |
+
|
473 |
+
// init views
|
474 |
+
$plans_view.hide();
|
475 |
+
$payment_view.hide();
|
476 |
+
$success_view.hide();
|
477 |
+
//$pre_view.hide();
|
478 |
+
|
479 |
+
// 1) when you decide to choose another plan
|
480 |
+
|
481 |
+
// 1.a) on click, display choices
|
482 |
+
$another_btn.on('click.imagify', function(){
|
483 |
+
var $_this = $(this),
|
484 |
+
type = $_this.data('imagify-choose');
|
485 |
+
|
486 |
+
// hide current
|
487 |
+
$_this.closest('.imagify-modal-views').hide().attr('aria-hidden', 'true');
|
488 |
+
// hide the checkout view (click could be a triggered action ;p)
|
489 |
+
$payment_view.hide().attr('aria-hidden', 'true');
|
490 |
+
|
491 |
+
// show choices
|
492 |
+
$plans_view.fadeIn(speedFadeIn).attr('aria-hidden', 'false');
|
493 |
+
|
494 |
+
// trigger on tab
|
495 |
+
var temp = setInterval(function(){
|
496 |
+
var tab = type == 'plan' ? 'monthly' : 'onetime';
|
497 |
+
$plans_view.find('a[href="#imagify-pricing-tab-' + tab + '"]').trigger('click.imagify');
|
498 |
+
clearInterval( temp );
|
499 |
+
temp = null;
|
500 |
+
}, 60 );
|
501 |
+
|
502 |
+
return false;
|
503 |
+
});
|
504 |
+
|
505 |
+
// 1.b) on click in a choice, return to pre-checkout step
|
506 |
+
$modal.on('click.imagify', '.imagify-payment-btn-select-plan', function(){
|
507 |
+
|
508 |
+
var $_this = $(this),
|
509 |
+
$offer_line = $_this.closest('.imagify-offer-line'),
|
510 |
+
datas = $_this.data('offer'),
|
511 |
+
datas_str = $_this.attr('data-offer'),
|
512 |
+
is_onetime = ( $_this.closest('.imagify-tab-content').attr('id') === 'imagify-pricing-tab-monthly' ? false : true ),
|
513 |
+
$target_line = ( is_onetime ? $pre_view.find('.imagify-offer-onetime') : $pre_view.find('.imagify-offer-monthly') ),
|
514 |
+
period = ( is_onetime ? null : ( ( $_this.closest('.imagify-pricing-table').hasClass('imagify-month-selected') ) ? 'monthly' : 'yearly') ),
|
515 |
+
price = ( is_onetime ? imagify_get_html_price( datas[ Object.keys( datas )[0] ].price ) : imagify_get_html_price ( datas[ Object.keys( datas )[0] ].prices, period ) ),
|
516 |
+
imgs = $offer_line.find('.imagify-approx-nb').text(),
|
517 |
+
offer_size = $offer_line.find('.imagify-offer-size').text(),
|
518 |
+
monthly_txt = ( ! is_onetime ? '<span class="imagify-price-by">' + $offer_line.find('.imagify-price-by').text() + '</span>' : '' );
|
519 |
+
|
520 |
+
// change views to go back pre-checkout
|
521 |
+
$plans_view.hide().attr('aria-hidden', 'true');
|
522 |
+
$pre_view.fadeIn(speedFadeIn).attr('aria-hidden', 'false');
|
523 |
+
|
524 |
+
// change price (+ "/month" if found in monthly plans)
|
525 |
+
$target_line.find('.imagify-number-block').html( price + monthly_txt )
|
526 |
+
|
527 |
+
// change approx images nb
|
528 |
+
$target_line.find('.imagify-approx-nb').text( imgs );
|
529 |
+
|
530 |
+
// change offer size name
|
531 |
+
$target_line.find('.imagify-offer-size').text( offer_size );
|
532 |
+
|
533 |
+
// change datas (json)
|
534 |
+
$target_line.attr('data-offer', datas_str );
|
535 |
+
|
536 |
+
if ( ! is_onetime ) {
|
537 |
+
$target_line.find('.imagify-price-add-data').text( $offer_line.find('.imagify-price-add-data').text() );
|
538 |
+
|
539 |
+
// trigger period selected from offer selection view to pre-checkout view
|
540 |
+
if ( period === 'monthly' ) {
|
541 |
+
$target_line.find('#imagify-subscription-monthly').trigger('click.imagify');
|
542 |
+
}
|
543 |
+
else {
|
544 |
+
$target_line.find('#imagify-subscription-yearly').trigger('click.imagify');
|
545 |
+
}
|
546 |
+
$target_line.find('.imagify-inline-options').find('input:radio:checked').trigger('change.imagify');
|
547 |
+
}
|
548 |
+
|
549 |
+
return false;
|
550 |
+
});
|
551 |
+
|
552 |
+
|
553 |
+
// 2) when you checkout
|
554 |
+
$('#imagify-modal-checkout-btn').on('click.imagify', function(){
|
555 |
+
|
556 |
+
var $monthly_offer = $('.imagify-offer-monthly'),
|
557 |
+
$onetime_offer = $('.imagify-offer-onetime'),
|
558 |
+
checkout_datas = {},
|
559 |
+
period_choosen = ( $monthly_offer.hasClass('imagify-year-selected') ? 'year' : 'month' );
|
560 |
+
|
561 |
+
// if user choose a monthly plan
|
562 |
+
if ( $monthly_offer.hasClass('imagify-offer-selected') ) {
|
563 |
+
|
564 |
+
checkout_datas.monthly = JSON.parse( $monthly_offer.attr('data-offer') );
|
565 |
+
$('.imagify-cart-list-my-choice').show();
|
566 |
+
|
567 |
+
// price calculation
|
568 |
+
prices = checkout_datas.monthly[Object.keys(checkout_datas.monthly)[0]].prices;
|
569 |
+
save_price = Math.round( ( ( prices.monthly - prices.yearly ) * 12 ) * 100 ) / 100;
|
570 |
+
$('.imagify-nb-save-per-year').text( '$' + save_price );
|
571 |
+
|
572 |
+
} else {
|
573 |
+
$('.imagify-cart-list-my-choice').hide();
|
574 |
+
}
|
575 |
+
|
576 |
+
// if user choose a one time plan
|
577 |
+
if ( $onetime_offer.hasClass('imagify-offer-selected') ) {
|
578 |
+
checkout_datas.onetime = JSON.parse( $onetime_offer.attr('data-offer') );
|
579 |
+
}
|
580 |
+
|
581 |
+
// change views to go to checkout/payment view
|
582 |
+
$pre_view.hide().attr('aria-hidden', 'true');
|
583 |
+
$payment_view.fadeIn(speedFadeIn).attr('aria-hidden', 'false');
|
584 |
+
|
585 |
+
// hide "Cancel you removing" blocks
|
586 |
+
$('.imagify-cart-emptied-item').hide().attr('aria-hidden', 'true');
|
587 |
+
|
588 |
+
// Step 2 active
|
589 |
+
$('#imagify-pricing-step-2').addClass('active');
|
590 |
+
|
591 |
+
// Car item emptyfied & hidden
|
592 |
+
$payment_view.find('.imagify-cart-item').hide()
|
593 |
+
.attr('data-offer', '');
|
594 |
+
|
595 |
+
// Then completion of those items
|
596 |
+
$.each( checkout_datas, function( index, value ) {
|
597 |
+
|
598 |
+
var $line = $payment_view.find('.imagify-cart-item-' + index ),
|
599 |
+
offer = value[Object.keys(value)[0]],
|
600 |
+
$cart = $('.imagify-cart');
|
601 |
+
|
602 |
+
$line.show();
|
603 |
+
|
604 |
+
// product datas
|
605 |
+
$line.attr('data-offer', JSON.stringify( value ) );
|
606 |
+
|
607 |
+
// product name
|
608 |
+
$line.find('.imagify-the-product-name').text( offer.name );
|
609 |
+
|
610 |
+
// datas provide
|
611 |
+
$line.find('.imagify-cart-offer-data').text( offer.dataf );
|
612 |
+
|
613 |
+
// prices
|
614 |
+
if ( index === 'onetime') {
|
615 |
+
$line.find('.imagify-number-block').html( imagify_get_html_price( offer.price ) );
|
616 |
+
} else {
|
617 |
+
$line.find('.imagify-number-block').find('.imagify-switch-my').html( imagify_get_html_price( offer.prices, period_choosen + 'ly' ) );
|
618 |
+
}
|
619 |
+
|
620 |
+
// right class on Cart List depending on period selected
|
621 |
+
$cart.removeClass( 'imagify-month-selected imagify-year-selected' )
|
622 |
+
.addClass( 'imagify-' + period_choosen + '-selected' );
|
623 |
+
|
624 |
+
// trigger period choosen
|
625 |
+
if ( period_choosen === 'month' ) {
|
626 |
+
$cart.find('#imagify-checkout-monthly').trigger('click.imagify');
|
627 |
+
} else {
|
628 |
+
$cart.find('#imagify-checkout-yearly').trigger('click.imagify');
|
629 |
+
}
|
630 |
+
$cart.find('.imagify-inline-options').find('input:radio:checked').trigger('change.imagify');
|
631 |
+
|
632 |
+
});
|
633 |
+
|
634 |
+
checkout_datas.period = imagify_get_period();
|
635 |
+
|
636 |
+
imagify_iframe_set_src( checkout_datas );
|
637 |
+
return false;
|
638 |
+
});
|
639 |
+
|
640 |
+
|
641 |
+
// Removing an item
|
642 |
+
$('.imagify-remove-from-cart').on('click.imagify', function(){
|
643 |
+
var $_this = $(this),
|
644 |
+
$line = $_this.closest('.imagify-cart-item'),
|
645 |
+
is_monthly = $line.hasClass('imagify-cart-item-monthly'),
|
646 |
+
$other_line = ( is_monthly ? $('.imagify-cart-item-onetime') : $('.imagify-cart-item-monthly') ),
|
647 |
+
is_empty = $other_line.hasClass('imagify-temporary-removed'),
|
648 |
+
offer_datas = $line.attr('data-offer'), // string
|
649 |
+
still_datas = ( is_empty ? null : $other_line.data('offer') ); // object
|
650 |
+
|
651 |
+
$line.hide().attr('aria-hidden', 'true').attr('data-offer', '').addClass('imagify-temporary-removed');
|
652 |
+
$line.next('.imagify-cart-emptied-item').fadeIn(300).attr('aria-hidden', 'false').attr('data-offer', offer_datas )
|
653 |
+
.find('.imagify-removed-name').html( $line.find('.imagify-cart-product-name').html() );
|
654 |
+
|
655 |
+
if ( typeof imagify_iframe_set_src === 'function' ) {
|
656 |
+
if ( still_datas !== null ) {
|
657 |
+
var datas_to_send = {};
|
658 |
+
datas_to_send[ ( is_monthly ? 'onetime' : 'monthly' )] = still_datas;
|
659 |
+
datas_to_send.period = imagify_get_period();
|
660 |
+
imagify_iframe_set_src( datas_to_send );
|
661 |
+
}
|
662 |
+
else {
|
663 |
+
imagifyAdmin.labels.info('No offers selected');
|
664 |
+
}
|
665 |
+
} else {
|
666 |
+
imagifyAdmin.labels.info('imagify_iframe_set_src seems to be not declared');
|
667 |
+
}
|
668 |
+
return false;
|
669 |
+
});
|
670 |
+
|
671 |
+
// cancel action
|
672 |
+
$('.imagify-cancel-removing').on('click.imagify', function(){
|
673 |
+
|
674 |
+
var $_this = $(this),
|
675 |
+
$msg_block = $_this.closest('.imagify-cart-emptied-item'),
|
676 |
+
$line = $msg_block.prev('.imagify-cart-item'),
|
677 |
+
is_monthly = $line.hasClass('imagify-cart-item-monthly'),
|
678 |
+
$other_line = ( is_monthly ? $('.imagify-cart-item-onetime') : $('.imagify-cart-item-monthly') ),
|
679 |
+
other_empty = $other_line.hasClass('imagify-temporary-removed'),
|
680 |
+
offer_datas = $msg_block.attr('data-offer'), // string
|
681 |
+
still_datas = ( other_empty ? null : $other_line.data('offer') ); // object
|
682 |
+
|
683 |
+
|
684 |
+
$msg_block.hide().attr('aria-hidden', 'true').attr('data-offer', '')
|
685 |
+
.prev('.imagify-cart-item').fadeIn(300).attr('aria-hidden', 'true').attr('data-offer', offer_datas ).removeClass('imagify-temporary-removed');
|
686 |
+
|
687 |
+
// if new_datas === {} that is because both offers been cancelled
|
688 |
+
var new_datas = {};
|
689 |
+
|
690 |
+
new_datas.monthly = ( is_monthly ? JSON.parse( offer_datas ) : still_datas );
|
691 |
+
new_datas.onetime = ( is_monthly ? still_datas : JSON.parse( offer_datas ) );
|
692 |
+
new_datas.period = imagify_get_period();
|
693 |
+
|
694 |
+
|
695 |
+
if ( typeof imagify_iframe_set_src === 'function' ) {
|
696 |
+
imagify_iframe_set_src( new_datas );
|
697 |
+
} else {
|
698 |
+
imagifyAdmin.labels.info('imagify_iframe_set_src seems to be not declared…');
|
699 |
+
}
|
700 |
+
|
701 |
+
return false;
|
702 |
+
});
|
703 |
+
|
704 |
+
// on Yearly/Monthly payment change on checkout...
|
705 |
+
$('.imagify-cart-list-my-choice').find('input[type="radio"]').on('change.imagify', function(){
|
706 |
+
imagify_iframe_set_src( $(this).val() );
|
707 |
+
});
|
708 |
+
|
709 |
+
/**
|
710 |
+
* Go back to previous step ("Choose Another Plan" links)
|
711 |
+
*/
|
712 |
+
$('.imagify-back-to-plans').on('click.imagify', function(){
|
713 |
+
var $_this = $(this),
|
714 |
+
is_onetime = $_this.closest('.imagify-cart-item').hasClass('imagify-cart-item-onetime');
|
715 |
+
|
716 |
+
if ( is_onetime ) {
|
717 |
+
$('.imagify-offer-onetime').find('.imagify-choose-another-plan').trigger('click.imagify');
|
718 |
+
} else {
|
719 |
+
$('.imagify-offer-monthly').find('.imagify-choose-another-plan').trigger('click.imagify');
|
720 |
+
}
|
721 |
+
|
722 |
+
return false;
|
723 |
+
});
|
724 |
+
|
725 |
+
}
|
726 |
+
|
727 |
+
/**
|
728 |
+
* Tabs
|
729 |
+
*
|
730 |
+
* @Markup:
|
731 |
+
* ul.imagify-tabs
|
732 |
+
* li.imagify-tab.imagify-current
|
733 |
+
* a[href="#target"]
|
734 |
+
* div.imagify-tabs-contents
|
735 |
+
* div.imagify-tab-content#target
|
736 |
+
*/
|
737 |
+
if ( $('.imagify-tabs').length ) {
|
738 |
+
|
739 |
+
var $tabs = $('.imagify-tab');
|
740 |
+
|
741 |
+
$tabs.on('click.imagify', function(){
|
742 |
+
|
743 |
+
var $_this = $(this);
|
744 |
+
|
745 |
+
if ( ! $_this.hasClass('imagify-current') ) {
|
746 |
+
var target = $_this.find('a').attr('href') || '#' + $_this.find('a').attr('aria-controls'),
|
747 |
+
curr_class = 'imagify-current';
|
748 |
+
|
749 |
+
// show right tab content
|
750 |
+
$_this.closest('.imagify-tabs').next('.imagify-tabs-contents').find('.imagify-tab-content').hide().attr('aria-hidden', 'true');
|
751 |
+
$( target ).fadeIn(275).attr('aria-hidden', 'false');
|
752 |
+
|
753 |
+
// change active tabs
|
754 |
+
$_this.closest('.imagify-tabs').find('.imagify-tab').removeClass( curr_class ).attr('aria-selected', 'false');
|
755 |
+
$_this.addClass( curr_class ).attr('aria-selected', 'true');
|
756 |
+
}
|
757 |
+
|
758 |
+
return false;
|
759 |
+
});
|
760 |
+
|
761 |
+
}
|
762 |
});
|
assets/js/admin.min.js
CHANGED
@@ -1,6 +1,27 @@
|
|
1 |
-
jQuery(function(
|
2 |
-
a("#imagifysignupnonce").val()).done(function(a){a.success?swal({title:
|
3 |
-
function(
|
4 |
-
|
5 |
-
a(
|
6 |
-
a(".imagify-modal.modal-is-open").find(".close-btn").trigger("click"),!1});var
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function(b){var x=0<ajaxurl.indexOf("?")?"&":"?";b("#imagify-signup").click(function(a){a.preventDefault();swal({title:imagifyAdmin.labels.signupTitle,text:imagifyAdmin.labels.signupText,confirmButtonText:imagifyAdmin.labels.signupConfirmButtonText,type:"input",closeOnConfirm:!1,allowOutsideClick:!0,showLoaderOnConfirm:!0,customClass:"imagify-sweet-alert imagify-sweet-alert-signup"},function(a){if(""==b.trim(a)||!a)return swal.showInputError(imagifyAdmin.labels.signupErrorEmptyEmail),!1;b.get(ajaxurl+
|
2 |
+
x+"action=imagify_signup&email="+a+"&imagifysignupnonce="+b("#imagifysignupnonce").val()).done(function(a){a.success?swal({title:imagifyAdmin.labels.signupSuccessTitle,text:imagifyAdmin.labels.signupSuccessText,type:"success",customClass:"imagify-sweet-alert"}):swal.showInputError(a.data)})})});b("#imagify-save-api-key").click(function(a){a.preventDefault();swal({title:imagifyAdmin.labels.saveApiKeyTitle,text:imagifyAdmin.labels.saveApiKeyText,confirmButtonText:imagifyAdmin.labels.saveApiKeyConfirmButtonText,
|
3 |
+
type:"input",closeOnConfirm:!1,allowOutsideClick:!0,showLoaderOnConfirm:!0,customClass:"imagify-sweet-alert imagify-sweet-alert-signup"},function(a){if(""==b.trim(a)||!a)return swal.showInputError(imagifyAdmin.labels.signupErrorEmptyEmail),!1;b.get(ajaxurl+x+"action=imagify_check_api_key_validity&api_key="+a+"&imagifycheckapikeynonce="+b("#imagifycheckapikeynonce").val()).done(function(a){a.success?swal({title:imagifyAdmin.labels.ApiKeyCheckSuccessTitle,text:imagifyAdmin.labels.ApiKeyCheckSuccessText,
|
4 |
+
type:"success",customClass:"imagify-sweet-alert"}):swal.showInputError(a.data)})})});b(".imagify-notice-dismiss").click(function(a){a.preventDefault();var d=b(this);a=d.parents(".imagify-welcome, .imagify-notice");d=d.attr("href");a.fadeTo(100,0,function(){b(this).slideUp(100,function(){b(this).remove()})});b.get(d.replace("admin-post.php","admin-ajax.php"))});b(".imagify-modal").attr("aria-hidden","true");b(".imagify-modal-trigger").on("click.imagify",function(){var a=b(this),a=a.data("target")||
|
5 |
+
a.attr("href");b(a).css("display","flex").hide().fadeIn(400).attr("aria-hidden","false").attr("tabindex","0").focus().removeAttr("tabindex").addClass("modal-is-open");b("body").addClass("imagify-modal-is-open");return!1});b(document).on("click.imagify",".imagify-modal .close-btn",function(){b(this).closest(".imagify-modal").fadeOut(400).attr("aria-hidden","true").removeClass("modal-is-open");b("body").removeClass("imagify-modal-is-open")}).on("blur.imagify",".imagify-modal .close-btn",function(){var a=
|
6 |
+
b(this).closest(".imagify-modal");"false"===a.attr("aria-hidden")&&a.attr("tabindex","0").focus().removeAttr("tabindex")});b(window).on("keydown",function(a){if(27==a.keyCode&&0<b(".imagify-modal.modal-is-open").length)return a.preventDefault(),b(".imagify-modal.modal-is-open").find(".close-btn").trigger("click.imagify"),!1});var y=!1;b("#wp-admin-bar-imagify").hover(function(){if(!0!==y){y=!0;var a=b("#wp-admin-bar-imagify-profile-content");a.is(":empty")&&b.get(ajaxurl+x+"action=imagify_get_admin_bar_profile&imagifygetadminbarprofilenonce="+
|
7 |
+
b("#imagifygetadminbarprofilenonce").val()).done(function(d){a.html(d.data);b("#wp-admin-bar-imagify-profile-loading").remove();y=!1})}});if(b("#imagify-pricing-modal").length){var z=b("#imagify-pricing-modal"),q=function(a,b){b||(b=null);output="";if("object"===typeof a){var c=a.yearly+"",e=(a.monthly+"").split("."),c=c.split(".");output+='<span class="imagify-switch-my"><span aria-hidden="'+("monthly"===b?"false":"true")+'" class="imagify-monthly"><span class="imagify-price-big">'+e[0]+'</span> <span class="imagify-price-mini">.'+
|
8 |
+
(1===e[1].length?e[1]+"0":e[1])+'</span></span> <span aria-hidden="'+("yearly"===b?"false":"true")+'" class="imagify-yearly"><span class="imagify-price-big">'+c[0]+'</span> <span class="imagify-price-mini">.'+(1===c[1].length?c[1]+"0":c[1])+"</span></span></span>"}else e=(a+"").split("."),output+='<span class="imagify-price-big">'+e[0]+'</span> <span class="imagify-price-mini">.'+(1===e[1].length?e[1]+"0":e[1])+"</span>";return output},D=function(a){a={action:"imagify_get_prices",imagifynonce:a.data("nonce")};
|
9 |
+
z.find(".imagify-modal-loader").hide().show();b.post(ajaxurl,a,function(a){if(a.success){var c=a.data;a=c.monthlies;var c=c.onetimes,e=b("#imagify-offer-monthly-template"),f=b("#imagify-offer-onetime-template"),l=f.html(),m=e.html(),r="",h="",g=!1,n=!1;b.each(a,function(a,c){if("free"===c.label)return!0;var d=c.additional_gb,e=c.annual_cost,f=c.id,l=c.label,r=c.monthly_cost,k=c.quota,g=1E3<=k?k/1E3+" GB":k+" MB",p=b(m).clone(),e={monthly:r,yearly:Math.round(e/12*100)/100};classes="";1E3<k&&!1===n&&
|
10 |
+
(classes=" imagify-offer-selected",n=!0);p.addClass("imagify-monthly-"+l+classes);p.find(".imagify-offer-size").text(g);p.find(".imagify-approx-nb").text(5*k);p.find(".imagify-price-add-data").text("$"+d);p.find(".imagify-number-block").html(q(e,"monthly"));p.find(".imagify-payment-btn-select-plan").attr("data-offer",'{"'+l+'":{"id":'+f+',"name":"'+g+'","data":'+k+',"dataf":"'+g+'","imgs":'+5*k+',"prices":{"monthly":'+e.monthly+',"yearly":'+e.yearly+',"add":'+d+"}}}");h+=p[0].outerHTML});b.each(c,
|
11 |
+
function(a,c){var d=c.id,e=c.cost,f=c.label,m=c.quota,h=1E3<=m?m/1E3+" GB":m+" MB",k=b(l).clone();classes="";51E3<m&&!1===g&&(classes=" imagify-offer-selected",g=!0);k.addClass("imagify-onetime-"+f+classes);k.find(".imagify-offer-size").text(h);k.find(".imagify-approx-nb").text(5*m);k.find(".imagify-number-block").html(q(e,"monthly"));k.find(".imagify-payment-btn-select-plan").attr("data-offer",'{"ot'+f+'":{"id":'+d+',"name":"'+h+'","data":'+m+',"dataf":"'+h+'","imgs":'+5*m+',"price":'+e+"}}");r+=
|
12 |
+
k[0].outerHTML});e.parent().find(".imagify-offer-line")&&e.parent().find(".imagify-offer-line").remove();e.before(h);f.parent().find(".imagify-offer-line")&&f.parent().find(".imagify-offer-line").remove();f.before(r);z.find(".imagify-modal-loader").fadeOut(300)}})},B=function(a){a.each(function(){b(this).is(":checked")?b(this).closest(".imagify-offer-line").addClass("imagify-offer-selected"):b(this).closest(".imagify-offer-line").removeClass("imagify-offer-selected")})},C=function(a){a.each(function(){var a=
|
13 |
+
b(this),c="",c=a.parent(".imagify-cart-list-switcher").length?a.closest(".imagify-cart"):a.parent(".imagify-small-options").length?a.parent(".imagify-small-options").next(".imagify-pricing-table"):a.closest(".imagify-offer-line"),e=c.find(".imagify-switch-my");"yearly"===a.val()?(c.addClass("imagify-year-selected").removeClass("imagify-month-selected"),e.find(".imagify-monthly").attr("aria-hidden","true"),e.find(".imagify-yearly").attr("aria-hidden","false")):(c.addClass("imagify-month-selected").removeClass("imagify-year-selected"),
|
14 |
+
e.find(".imagify-monthly").attr("aria-hidden","false"),e.find(".imagify-yearly").attr("aria-hidden","true"))});return a},t=b(".imagify-offer-line").find(".imagify-checkbox"),u=b(".imagify-payment-modal").find(".imagify-radio-line").find("input");B(t);C(u.filter(":checked"));t.on("change.imagify",function(){B(b(this))});u.on("change.imagify",function(){C(b(this))});b("#imagify-get-pricing-modal").on("click.imagify-ajax",function(){D(b(this))});var v=b("#imagify-plans-selection-view"),n=b("#imagify-payment-process-view"),
|
15 |
+
w=b("#imagify-pre-checkout-view"),t=b("#imagify-success-view"),u=b(".imagify-choose-another-plan"),g=function(a){var d=b("#imagify-payment-iframe"),c=d.attr("src"),e=0,f=0;"object"===typeof a?(a.monthly&&(e=a.monthly[Object.keys(a.monthly)[0]].id),a.onetime&&(f=a.onetime[Object.keys(a.onetime)[0]].id,f=999==f?a.onetime[Object.keys(a.onetime)[0]].data:f),a.period?(c=c.split("?")[0]+"?monthly="+e+"&onetime="+f+"&api="+b("#imagify-payment-iframe").data("imagify-api")+"&period="+a.period,d.attr("src",
|
16 |
+
c)):imagifyAdmin.labels.info("No period defined")):"string"===typeof a&&(c=c.split("&period="),d.attr("src",c[0]+"&period="+a))},A=function(){return b(".imagify-cart").hasClass("imagify-month-selected")?"monthly":"yearly"};v.hide();n.hide();t.hide();u.on("click.imagify",function(){var a=b(this),d=a.data("imagify-choose");a.closest(".imagify-modal-views").hide().attr("aria-hidden","true");n.hide().attr("aria-hidden","true");v.fadeIn(300).attr("aria-hidden","false");var c=setInterval(function(){v.find('a[href="#imagify-pricing-tab-'+
|
17 |
+
("plan"==d?"monthly":"onetime")+'"]').trigger("click.imagify");clearInterval(c);c=null},60);return!1});z.on("click.imagify",".imagify-payment-btn-select-plan",function(){var a=b(this),d=a.closest(".imagify-offer-line"),c=a.data("offer"),e=a.attr("data-offer"),f="imagify-pricing-tab-monthly"===a.closest(".imagify-tab-content").attr("id")?!1:!0,l=f?w.find(".imagify-offer-onetime"):w.find(".imagify-offer-monthly"),a=f?null:a.closest(".imagify-pricing-table").hasClass("imagify-month-selected")?"monthly":
|
18 |
+
"yearly",c=f?q(c[Object.keys(c)[0]].price):q(c[Object.keys(c)[0]].prices,a),m=d.find(".imagify-approx-nb").text(),g=d.find(".imagify-offer-size").text(),h=f?"":'<span class="imagify-price-by">'+d.find(".imagify-price-by").text()+"</span>";v.hide().attr("aria-hidden","true");w.fadeIn(300).attr("aria-hidden","false");l.find(".imagify-number-block").html(c+h);l.find(".imagify-approx-nb").text(m);l.find(".imagify-offer-size").text(g);l.attr("data-offer",e);f||(l.find(".imagify-price-add-data").text(d.find(".imagify-price-add-data").text()),
|
19 |
+
"monthly"===a?l.find("#imagify-subscription-monthly").trigger("click.imagify"):l.find("#imagify-subscription-yearly").trigger("click.imagify"),l.find(".imagify-inline-options").find("input:radio:checked").trigger("change.imagify"));return!1});b("#imagify-modal-checkout-btn").on("click.imagify",function(){var a=b(".imagify-offer-monthly"),d=b(".imagify-offer-onetime"),c={},e=a.hasClass("imagify-year-selected")?"year":"month";a.hasClass("imagify-offer-selected")?(c.monthly=JSON.parse(a.attr("data-offer")),
|
20 |
+
b(".imagify-cart-list-my-choice").show(),prices=c.monthly[Object.keys(c.monthly)[0]].prices,save_price=Math.round(1200*(prices.monthly-prices.yearly))/100,b(".imagify-nb-save-per-year").text("$"+save_price)):b(".imagify-cart-list-my-choice").hide();d.hasClass("imagify-offer-selected")&&(c.onetime=JSON.parse(d.attr("data-offer")));w.hide().attr("aria-hidden","true");n.fadeIn(300).attr("aria-hidden","false");b(".imagify-cart-emptied-item").hide().attr("aria-hidden","true");b("#imagify-pricing-step-2").addClass("active");
|
21 |
+
n.find(".imagify-cart-item").hide().attr("data-offer","");b.each(c,function(a,c){var d=n.find(".imagify-cart-item-"+a),g=c[Object.keys(c)[0]],h=b(".imagify-cart");d.show();d.attr("data-offer",JSON.stringify(c));d.find(".imagify-the-product-name").text(g.name);d.find(".imagify-cart-offer-data").text(g.dataf);"onetime"===a?d.find(".imagify-number-block").html(q(g.price)):d.find(".imagify-number-block").find(".imagify-switch-my").html(q(g.prices,e+"ly"));h.removeClass("imagify-month-selected imagify-year-selected").addClass("imagify-"+
|
22 |
+
e+"-selected");"month"===e?h.find("#imagify-checkout-monthly").trigger("click.imagify"):h.find("#imagify-checkout-yearly").trigger("click.imagify");h.find(".imagify-inline-options").find("input:radio:checked").trigger("change.imagify")});c.period=A();g(c);return!1});b(".imagify-remove-from-cart").on("click.imagify",function(){var a=b(this).closest(".imagify-cart-item"),d=a.hasClass("imagify-cart-item-monthly"),c=d?b(".imagify-cart-item-onetime"):b(".imagify-cart-item-monthly"),e=c.hasClass("imagify-temporary-removed"),
|
23 |
+
f=a.attr("data-offer"),c=e?null:c.data("offer");a.hide().attr("aria-hidden","true").attr("data-offer","").addClass("imagify-temporary-removed");a.next(".imagify-cart-emptied-item").fadeIn(300).attr("aria-hidden","false").attr("data-offer",f).find(".imagify-removed-name").html(a.find(".imagify-cart-product-name").html());"function"===typeof g?null!==c?(a={},a[d?"onetime":"monthly"]=c,a.period=A(),g(a)):imagifyAdmin.labels.info("No offers selected"):imagifyAdmin.labels.info("imagify_iframe_set_src seems to be not declared");
|
24 |
+
return!1});b(".imagify-cancel-removing").on("click.imagify",function(){var a=b(this).closest(".imagify-cart-emptied-item"),d=a.prev(".imagify-cart-item").hasClass("imagify-cart-item-monthly"),c=d?b(".imagify-cart-item-onetime"):b(".imagify-cart-item-monthly"),e=c.hasClass("imagify-temporary-removed"),f=a.attr("data-offer"),c=e?null:c.data("offer");a.hide().attr("aria-hidden","true").attr("data-offer","").prev(".imagify-cart-item").fadeIn(300).attr("aria-hidden","true").attr("data-offer",f).removeClass("imagify-temporary-removed");
|
25 |
+
a={};a.monthly=d?JSON.parse(f):c;a.onetime=d?c:JSON.parse(f);a.period=A();"function"===typeof g?g(a):imagifyAdmin.labels.info("imagify_iframe_set_src seems to be not declared\u2026");return!1});b(".imagify-cart-list-my-choice").find('input[type="radio"]').on("change.imagify",function(){g(b(this).val())});b(".imagify-back-to-plans").on("click.imagify",function(){b(this).closest(".imagify-cart-item").hasClass("imagify-cart-item-onetime")?b(".imagify-offer-onetime").find(".imagify-choose-another-plan").trigger("click.imagify"):
|
26 |
+
b(".imagify-offer-monthly").find(".imagify-choose-another-plan").trigger("click.imagify");return!1})}if(b(".imagify-tabs").length)b(".imagify-tab").on("click.imagify",function(){var a=b(this);if(!a.hasClass("imagify-current")){var d=a.find("a").attr("href")||"#"+a.find("a").attr("aria-controls");a.closest(".imagify-tabs").next(".imagify-tabs-contents").find(".imagify-tab-content").hide().attr("aria-hidden","true");b(d).fadeIn(275).attr("aria-hidden","false");a.closest(".imagify-tabs").find(".imagify-tab").removeClass("imagify-current").attr("aria-selected",
|
27 |
+
"false");a.addClass("imagify-current").attr("aria-selected","true")}return!1})});
|
assets/js/bulk.js
CHANGED
@@ -12,22 +12,22 @@ jQuery(function($){
|
|
12 |
var overviewCanvas = document.getElementById("imagify-overview-chart"),
|
13 |
overviewData = [
|
14 |
{
|
15 |
-
value: imagifyBulk.totalUnoptimizedAttachments,
|
16 |
color:"#D9E4EB",
|
17 |
highlight: "#D9E4EB",
|
18 |
-
label: imagifyBulk.overviewChartLabels.unoptimized
|
19 |
},
|
20 |
{
|
21 |
-
value: imagifyBulk.totalOptimizedAttachments,
|
22 |
color: "#46B1CE",
|
23 |
highlight: "#46B1CE",
|
24 |
-
label: imagifyBulk.overviewChartLabels.optimized
|
25 |
},
|
26 |
{
|
27 |
-
value: imagifyBulk.totalErrorsAttachments,
|
28 |
color: "#2E3242",
|
29 |
highlight: "#2E3242",
|
30 |
-
label: imagifyBulk.overviewChartLabels.error
|
31 |
}
|
32 |
];
|
33 |
|
@@ -61,7 +61,7 @@ jQuery(function($){
|
|
61 |
|
62 |
// Heartbeat
|
63 |
$(document).on('heartbeat-send', function(e, data) {
|
64 |
-
data['imagify_heartbeat'] =
|
65 |
});
|
66 |
|
67 |
// Listen for the custom event "heartbeat-tick" on $(document).
|
@@ -74,6 +74,7 @@ jQuery(function($){
|
|
74 |
|
75 |
// The overview chart percent
|
76 |
$('#imagify-overview-chart-percent').html(data.optimized_attachments_percent + '<span>%</span>');
|
|
|
77 |
|
78 |
// The comsuption bar
|
79 |
$('.imagify-unconsumed-percent').html(data.unconsumed_quota + '%');
|
@@ -123,57 +124,60 @@ jQuery(function($){
|
|
123 |
|
124 |
|
125 |
confirmMessage = function(){
|
126 |
-
return imagifyBulk.processing;
|
127 |
};
|
128 |
$(window).on('beforeunload', confirmMessage);
|
129 |
|
130 |
// Display an alert to wait
|
131 |
swal({
|
132 |
-
title:imagifyBulk.waitTitle,
|
133 |
-
text: imagifyBulk.waitText,
|
134 |
closeOnConfirm: false,
|
135 |
showConfirmButton: false,
|
136 |
-
imageUrl: imagifyBulk.waitImageUrl
|
137 |
});
|
138 |
|
139 |
-
$.get(ajaxurl+concat+"action=
|
140 |
.done(function(response) {
|
141 |
if( !response.success ) {
|
142 |
$obj.removeAttr('disabled');
|
143 |
$obj.find('.dashicons').removeClass('rotate');
|
144 |
-
|
|
|
|
|
|
|
145 |
// remove confirm dialog before quit the page
|
146 |
$(window).off('beforeunload', confirmMessage);
|
|
|
|
|
|
|
|
|
147 |
|
148 |
-
imagify.log(response);
|
149 |
-
|
150 |
if ( response.data.message == 'over-quota' ) {
|
151 |
-
|
152 |
-
|
153 |
-
title:imagifyBulk.overQuotaTitle,
|
154 |
-
text: imagifyBulk.overQuotaText,
|
155 |
-
type: "error",
|
156 |
-
customClass: "imagify-sweet-alert",
|
157 |
-
html: true
|
158 |
-
});
|
159 |
}
|
160 |
|
161 |
if ( response.data.message == 'no-images' ) {
|
162 |
-
|
163 |
-
|
164 |
-
title:imagifyBulk.noAttachmentToOptimizeTitle,
|
165 |
-
text: imagifyBulk.noAttachmentToOptimizeText,
|
166 |
-
type: "info",
|
167 |
-
customClass: "imagify-sweet-alert"
|
168 |
-
});
|
169 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
|
171 |
} else {
|
172 |
swal.close();
|
173 |
-
|
174 |
var config = {
|
175 |
'lib': ajaxurl+concat+"action=imagify_bulk_upload&imagifybulkuploadnonce="+$('#imagifybulkuploadnonce').val(),
|
176 |
-
'images': response.data
|
|
|
177 |
}
|
178 |
|
179 |
var table = $('.imagify-bulk-table table tbody'),
|
@@ -189,7 +193,7 @@ jQuery(function($){
|
|
189 |
|
190 |
// before the attachment optimization
|
191 |
Optimizer.before(function(data) {
|
192 |
-
table.
|
193 |
})
|
194 |
// after the attachment optimization
|
195 |
.each(function (data) {
|
@@ -225,8 +229,8 @@ jQuery(function($){
|
|
225 |
|
226 |
if ( data.error.indexOf("You've consumed all your data") >= 0 ) {
|
227 |
swal({
|
228 |
-
title: imagifyBulk.overQuotaTitle,
|
229 |
-
text: imagifyBulk.overQuotaText,
|
230 |
type: "error",
|
231 |
customClass: "imagify-sweet-alert",
|
232 |
html: true,
|
@@ -273,12 +277,12 @@ jQuery(function($){
|
|
273 |
$('.imagify-ac-rt-total-gain').html(data.global_gain_human);
|
274 |
$('.imagify-ac-rt-total-original').html(data.global_original_size_human);
|
275 |
|
276 |
-
text2share = imagifyBulk.textToShare;
|
277 |
text2share = text2share.replace( '%1$s', data.global_gain_human );
|
278 |
text2share = text2share.replace( '%2$s', data.global_original_size_human );
|
279 |
text2share = encodeURIComponent(text2share);
|
280 |
|
281 |
-
$('.imagify-sn-twitter').attr( 'href', 'https://twitter.com/intent/tweet?source=webclient&original_referer=' + imagifyBulk.pluginURL + '&text=' + text2share + '&url=' + imagifyBulk.pluginURL + '&related=imagify&hastags=performance,web,wordpress' );
|
282 |
|
283 |
$('.imagify-ac-chart').attr('data-percent', data.global_percent);
|
284 |
draw_me_complete_chart( $('.imagify-ac-chart').find('canvas') );
|
@@ -292,8 +296,8 @@ jQuery(function($){
|
|
292 |
})
|
293 |
.fail(function () {
|
294 |
swal({
|
295 |
-
title: imagifyBulk.getUnoptimizedImagesErrorTitle,
|
296 |
-
text: imagifyBulk.getUnoptimizedImagesErrorText,
|
297 |
type: "error",
|
298 |
customClass: "imagify-sweet-alert"
|
299 |
},
|
12 |
var overviewCanvas = document.getElementById("imagify-overview-chart"),
|
13 |
overviewData = [
|
14 |
{
|
15 |
+
value: imagifyBulk.labels.totalUnoptimizedAttachments,
|
16 |
color:"#D9E4EB",
|
17 |
highlight: "#D9E4EB",
|
18 |
+
label: imagifyBulk.labels.overviewChartLabels.unoptimized
|
19 |
},
|
20 |
{
|
21 |
+
value: imagifyBulk.labels.totalOptimizedAttachments,
|
22 |
color: "#46B1CE",
|
23 |
highlight: "#46B1CE",
|
24 |
+
label: imagifyBulk.labels.overviewChartLabels.optimized
|
25 |
},
|
26 |
{
|
27 |
+
value: imagifyBulk.labels.totalErrorsAttachments,
|
28 |
color: "#2E3242",
|
29 |
highlight: "#2E3242",
|
30 |
+
label: imagifyBulk.labels.overviewChartLabels.error
|
31 |
}
|
32 |
];
|
33 |
|
61 |
|
62 |
// Heartbeat
|
63 |
$(document).on('heartbeat-send', function(e, data) {
|
64 |
+
data['imagify_heartbeat'] = imagifyBulk.heartbeat_id;
|
65 |
});
|
66 |
|
67 |
// Listen for the custom event "heartbeat-tick" on $(document).
|
74 |
|
75 |
// The overview chart percent
|
76 |
$('#imagify-overview-chart-percent').html(data.optimized_attachments_percent + '<span>%</span>');
|
77 |
+
$('.imagify-total-percent').html(data.optimized_attachments_percent + '%' );
|
78 |
|
79 |
// The comsuption bar
|
80 |
$('.imagify-unconsumed-percent').html(data.unconsumed_quota + '%');
|
124 |
|
125 |
|
126 |
confirmMessage = function(){
|
127 |
+
return imagifyBulk.labels.processing;
|
128 |
};
|
129 |
$(window).on('beforeunload', confirmMessage);
|
130 |
|
131 |
// Display an alert to wait
|
132 |
swal({
|
133 |
+
title:imagifyBulk.labels.waitTitle,
|
134 |
+
text: imagifyBulk.labels.waitText,
|
135 |
closeOnConfirm: false,
|
136 |
showConfirmButton: false,
|
137 |
+
imageUrl: imagifyBulk.labels.waitImageUrl
|
138 |
});
|
139 |
|
140 |
+
$.get(ajaxurl+concat+"action="+imagifyBulk.ajax_action+"&optimization_level="+$optimization_level+"&imagifybulkuploadnonce="+$('#imagifybulkuploadnonce').val())
|
141 |
.done(function(response) {
|
142 |
if( !response.success ) {
|
143 |
$obj.removeAttr('disabled');
|
144 |
$obj.find('.dashicons').removeClass('rotate');
|
145 |
+
|
146 |
+
swal_title = '';
|
147 |
+
swal_text = '';
|
148 |
+
|
149 |
// remove confirm dialog before quit the page
|
150 |
$(window).off('beforeunload', confirmMessage);
|
151 |
+
|
152 |
+
if ( response.data.message == 'invalid-api-key' ) {
|
153 |
+
swal_title = imagifyBulk.labels.invalidAPIKeyTitle;
|
154 |
+
}
|
155 |
|
|
|
|
|
156 |
if ( response.data.message == 'over-quota' ) {
|
157 |
+
swal_title = imagifyBulk.labels.overQuotaTitle;
|
158 |
+
text = imagifyBulk.labels.overQuotaText;
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
}
|
160 |
|
161 |
if ( response.data.message == 'no-images' ) {
|
162 |
+
swal_title = imagifyBulk.labels.noAttachmentToOptimizeTitle;
|
163 |
+
swal_text = imagifyBulk.labels.noAttachmentToOptimizeText;
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
+
|
166 |
+
// Display an alert to warn that all images has been optimized
|
167 |
+
swal({
|
168 |
+
title : swal_title,
|
169 |
+
text : swal_text,
|
170 |
+
type : "info",
|
171 |
+
customClass : "imagify-sweet-alert"
|
172 |
+
});
|
173 |
|
174 |
} else {
|
175 |
swal.close();
|
176 |
+
|
177 |
var config = {
|
178 |
'lib': ajaxurl+concat+"action=imagify_bulk_upload&imagifybulkuploadnonce="+$('#imagifybulkuploadnonce').val(),
|
179 |
+
'images': response.data,
|
180 |
+
'context': imagifyBulk.ajax_context
|
181 |
}
|
182 |
|
183 |
var table = $('.imagify-bulk-table table tbody'),
|
193 |
|
194 |
// before the attachment optimization
|
195 |
Optimizer.before(function(data) {
|
196 |
+
table.find('.imagify-row-progress').after('<tr id="attachment-'+data.id+'"><td class="imagify-cell-filename"><span class="imagiuploaded"><img src="'+data.thumbnail+'"/>"</span><span class="imagifilename">'+data.filename+'</span></td><td class="imagify-cell-status"><span class="imagistatus status-compressing"><span class="dashicons dashicons-admin-generic rotate"></span>Compressing<span></span></span></td><td class="imagify-cell-original"></td><td class="imagify-cell-optimized"></td><td class="imagify-cell-percentage"></td><td class="imagify-cell-thumbnails"></td><td class="imagify-cell-savings"></td></tr>');
|
197 |
})
|
198 |
// after the attachment optimization
|
199 |
.each(function (data) {
|
229 |
|
230 |
if ( data.error.indexOf("You've consumed all your data") >= 0 ) {
|
231 |
swal({
|
232 |
+
title: imagifyBulk.labels.overQuotaTitle,
|
233 |
+
text: imagifyBulk.labels.overQuotaText,
|
234 |
type: "error",
|
235 |
customClass: "imagify-sweet-alert",
|
236 |
html: true,
|
277 |
$('.imagify-ac-rt-total-gain').html(data.global_gain_human);
|
278 |
$('.imagify-ac-rt-total-original').html(data.global_original_size_human);
|
279 |
|
280 |
+
text2share = imagifyBulk.labels.textToShare;
|
281 |
text2share = text2share.replace( '%1$s', data.global_gain_human );
|
282 |
text2share = text2share.replace( '%2$s', data.global_original_size_human );
|
283 |
text2share = encodeURIComponent(text2share);
|
284 |
|
285 |
+
$('.imagify-sn-twitter').attr( 'href', 'https://twitter.com/intent/tweet?source=webclient&original_referer=' + imagifyBulk.labels.pluginURL + '&text=' + text2share + '&url=' + imagifyBulk.labels.pluginURL + '&related=imagify&hastags=performance,web,wordpress' );
|
286 |
|
287 |
$('.imagify-ac-chart').attr('data-percent', data.global_percent);
|
288 |
draw_me_complete_chart( $('.imagify-ac-chart').find('canvas') );
|
296 |
})
|
297 |
.fail(function () {
|
298 |
swal({
|
299 |
+
title: imagifyBulk.labels.getUnoptimizedImagesErrorTitle,
|
300 |
+
text: imagifyBulk.labels.getUnoptimizedImagesErrorText,
|
301 |
type: "error",
|
302 |
customClass: "imagify-sweet-alert"
|
303 |
},
|
assets/js/bulk.min.js
CHANGED
@@ -1,16 +1,18 @@
|
|
1 |
-
jQuery(function(b){function
|
2 |
-
{segmentStrokeColor:"transparent",segmentStrokeWidth:0,animateRotate:!0,animation:!0,percentageInnerCutout:70,tooltipEvents:[]})})}var k=0<ajaxurl.indexOf("?")?"&":"?",
|
3 |
-
{value:imagifyBulk.totalErrorsAttachments,color:"#2E3242",highlight:"#2E3242",label:imagifyBulk.overviewChartLabels.error}];if(f){var d=(new Chart(f.getContext("2d"))).Doughnut(e,{segmentStrokeColor:"transparent",segmentStrokeWidth:0,animateRotate:!0,animation:!0,percentageInnerCutout:85,legendTemplate:'<ul class="imagify-<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>',
|
4 |
-
tooltipTemplate:"<%= value %>"});overviewLegend='<ul class="imagify-doughnut-legend">';b(e).each(function(b){overviewLegend+='<li><span style="background-color:'+e[b].color+'"></span>'+e[b].label+"</li>"});overviewLegend+="</ul>";document.getElementById("imagify-overview-chart-legend").innerHTML=overviewLegend}b(document).on("heartbeat-send",function(b,a){a.imagify_heartbeat=
|
5 |
-
"<span>%</span>"),b(".imagify-unconsumed-percent").html(a.unconsumed_quota+"%"),b(".imagify-unconsumed-bar").animate({width:a.unconsumed_quota+"%"}),b("#imagify-total-optimized-attachments").html(a.already_optimized_attachments),b("#imagify-original-bar").find(".imagify-barnb").html(a.original_human),b("#imagify-optimized-bar").animate({width:a.optimized_percent+"%"}),b("#imagify-optimized-bar").find(".imagify-barnb").html(a.optimized_human),
|
6 |
-
"%"),d.segments[0].value=a.unoptimized_attachments,d.segments[1].value=a.optimized_attachments,d.segments[2].value=a.errors_attachments,d.update())});b("#imagify-simulate-bulk-action").click(function(c){c.preventDefault();b("#imagify-bulk-action").trigger("click")});b("#imagify-bulk-action").click(function(){var c=b(this),a=b('[name="optimization_level"]:checked').val();"undefined"===typeof a&&(a=-1);if(c.attr("disabled"))return!1;
|
7 |
-
confirmMessage=function(){return imagifyBulk.processing};b(window).on("beforeunload",confirmMessage);swal({title:imagifyBulk.waitTitle,text:imagifyBulk.waitText,closeOnConfirm:!1,showConfirmButton:!1,imageUrl:imagifyBulk.waitImageUrl});b.get(ajaxurl+k+"action=
|
8 |
-
images:a.data};var e=b(".imagify-bulk-table table tbody"),d=0,f=0,g=0,h=0;b(".imagify-row-progress").slideDown();b(".imagify-no-uploaded-yet, .imagify-row-complete").hide(200);Optimizer=new ImagifyGulp(a);Optimizer.before(function(b){e.
|
9 |
-
b
|
10 |
-
a.percent+"
|
11 |
-
"
|
|
|
12 |
error_class+'">'+a.error+"</span></td></tr>"),b("#attachment-"+a.image+" .imagify-cell-status").html('<span class="imagistatus status-'+error_class+'"><span class="dashicons dashicons-'+error_dashicon+'"></span>'+error_message+"</span>"))}).done(function(a){c.removeAttr("disabled");c.find(".dashicons").removeClass("rotate");b(window).off("beforeunload",confirmMessage);b(".imagify-row-progress").slideUp();"NaN"!==a.global_percent&&(b(".imagify-row-complete").removeClass("hidden").addClass("done").attr("aria-hidden",
|
13 |
-
"false"),b("html, body").animate({scrollTop:b(".imagify-row-complete").offset().top},200),b(".imagify-ac-rt-total-gain").html(a.global_gain_human),b(".imagify-ac-rt-total-original").html(a.global_original_size_human),text2share=imagifyBulk.textToShare,text2share=text2share.replace("%1$s",a.global_gain_human),text2share=text2share.replace("%2$s",a.global_original_size_human),text2share=encodeURIComponent(text2share),b(".imagify-sn-twitter").attr("href","https://twitter.com/intent/tweet?source=webclient&original_referer="+
|
14 |
-
imagifyBulk.pluginURL+"&text="+text2share+"&url="+imagifyBulk.pluginURL+"&related=imagify&hastags=performance,web,wordpress"),b(".imagify-ac-chart").attr("data-percent",a.global_percent),
|
15 |
-
|
16 |
-
if(window.innerWidth)var clientLeft=(window.innerWidth-width)/2,clientTop=(window.innerHeight-height)/2;else clientLeft=(document.body.clientWidth-width)/2,clientTop=(document.body.clientHeight-height)/2;
|
|
1 |
+
jQuery(function(b){function l(c){c.each(function(){var a=parseInt(b(this).closest(".imagify-chart").next(".imagipercent").text()),a=[{value:a,color:"#00B3D3"},{value:100-a,color:"#D8D8D8"}];(new Chart(b(this)[0].getContext("2d"))).Doughnut(a,{segmentStrokeColor:"#FFF",segmentStrokeWidth:1,animateRotate:!0,tooltipEvents:[]})})}function m(c){c.each(function(){var a=parseInt(b(this).closest(".imagify-ac-chart").attr("data-percent")),a=[{value:a,color:"#40B1D0"},{value:100-a,color:"#FFFFFF"}];(new Chart(b(this)[0].getContext("2d"))).Doughnut(a,
|
2 |
+
{segmentStrokeColor:"transparent",segmentStrokeWidth:0,animateRotate:!0,animation:!0,percentageInnerCutout:70,tooltipEvents:[]})})}var k=0<ajaxurl.indexOf("?")?"&":"?",n={log:function(b){"undefined"!==console&&console.log(b)}},f=document.getElementById("imagify-overview-chart"),e=[{value:imagifyBulk.labels.totalUnoptimizedAttachments,color:"#D9E4EB",highlight:"#D9E4EB",label:imagifyBulk.labels.overviewChartLabels.unoptimized},{value:imagifyBulk.labels.totalOptimizedAttachments,color:"#46B1CE",highlight:"#46B1CE",
|
3 |
+
label:imagifyBulk.labels.overviewChartLabels.optimized},{value:imagifyBulk.labels.totalErrorsAttachments,color:"#2E3242",highlight:"#2E3242",label:imagifyBulk.labels.overviewChartLabels.error}];if(f){var d=(new Chart(f.getContext("2d"))).Doughnut(e,{segmentStrokeColor:"transparent",segmentStrokeWidth:0,animateRotate:!0,animation:!0,percentageInnerCutout:85,legendTemplate:'<ul class="imagify-<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>',
|
4 |
+
tooltipTemplate:"<%= value %>"});overviewLegend='<ul class="imagify-doughnut-legend">';b(e).each(function(b){overviewLegend+='<li><span style="background-color:'+e[b].color+'"></span>'+e[b].label+"</li>"});overviewLegend+="</ul>";document.getElementById("imagify-overview-chart-legend").innerHTML=overviewLegend}b(document).on("heartbeat-send",function(b,a){a.imagify_heartbeat=imagifyBulk.heartbeat_id});b(document).on("heartbeat-tick",function(c,a){a.imagify_bulk_data&&(a=a.imagify_bulk_data,b("#imagify-overview-chart-percent").html(a.optimized_attachments_percent+
|
5 |
+
"<span>%</span>"),b(".imagify-total-percent").html(a.optimized_attachments_percent+"%"),b(".imagify-unconsumed-percent").html(a.unconsumed_quota+"%"),b(".imagify-unconsumed-bar").animate({width:a.unconsumed_quota+"%"}),b("#imagify-total-optimized-attachments").html(a.already_optimized_attachments),b("#imagify-original-bar").find(".imagify-barnb").html(a.original_human),b("#imagify-optimized-bar").animate({width:a.optimized_percent+"%"}),b("#imagify-optimized-bar").find(".imagify-barnb").html(a.optimized_human),
|
6 |
+
b("#imagify-total-optimized-attachments-pct").html(a.optimized_percent+"%"),d.segments[0].value=a.unoptimized_attachments,d.segments[1].value=a.optimized_attachments,d.segments[2].value=a.errors_attachments,d.update())});b("#imagify-simulate-bulk-action").click(function(c){c.preventDefault();b("#imagify-bulk-action").trigger("click")});b("#imagify-bulk-action").click(function(){var c=b(this),a=b('[name="optimization_level"]:checked').val();"undefined"===typeof a&&(a=-1);if(c.attr("disabled"))return!1;
|
7 |
+
c.attr("disabled","disabled");c.find(".dashicons").addClass("rotate");confirmMessage=function(){return imagifyBulk.labels.processing};b(window).on("beforeunload",confirmMessage);swal({title:imagifyBulk.labels.waitTitle,text:imagifyBulk.labels.waitText,closeOnConfirm:!1,showConfirmButton:!1,imageUrl:imagifyBulk.labels.waitImageUrl});b.get(ajaxurl+k+"action="+imagifyBulk.ajax_action+"&optimization_level="+a+"&imagifybulkuploadnonce="+b("#imagifybulkuploadnonce").val()).done(function(a){if(a.success){swal.close();
|
8 |
+
a={lib:ajaxurl+k+"action=imagify_bulk_upload&imagifybulkuploadnonce="+b("#imagifybulkuploadnonce").val(),images:a.data,context:imagifyBulk.ajax_context};var e=b(".imagify-bulk-table table tbody"),d=0,f=0,g=0,h=0;b(".imagify-row-progress").slideDown();b(".imagify-no-uploaded-yet, .imagify-row-complete").hide(200);Optimizer=new ImagifyGulp(a);Optimizer.before(function(b){e.find(".imagify-row-progress").after('<tr id="attachment-'+b.id+'"><td class="imagify-cell-filename"><span class="imagiuploaded"><img src="'+
|
9 |
+
b.thumbnail+'"/>"</span><span class="imagifilename">'+b.filename+'</span></td><td class="imagify-cell-status"><span class="imagistatus status-compressing"><span class="dashicons dashicons-admin-generic rotate"></span>Compressing<span></span></span></td><td class="imagify-cell-original"></td><td class="imagify-cell-optimized"></td><td class="imagify-cell-percentage"></td><td class="imagify-cell-thumbnails"></td><td class="imagify-cell-savings"></td></tr>')}).each(function(a){var c=b("#imagify-progress-bar");
|
10 |
+
c.css({width:a.progress+"%"});c.find(".percent").html(a.progress+"%");a.success?(b("#attachment-"+a.image+" .imagify-cell-status").html('<span class="imagistatus status-complete"><span class="dashicons dashicons-yes"></span>Complete</span>'),b("#attachment-"+a.image+" .imagify-cell-original").html(a.original_size_human),b("#attachment-"+a.image+" .imagify-cell-optimized").html(a.new_size_human),b("#attachment-"+a.image+" .imagify-cell-percentage").html('<span class="imagify-chart"><span class="imagify-chart-container"><canvas height="18" width="18" id="imagify-consumption-chart" style="width: 18px; height: 18px;"></canvas></span></span><span class="imagipercent">'+
|
11 |
+
a.percent+"</span>%"),l(b("#attachment-"+a.image+" .imagify-cell-percentage").find("canvas")),b("#attachment-"+a.image+" .imagify-cell-thumbnails").html(a.thumbnails),b("#attachment-"+a.image+" .imagify-cell-savings").html(Optimizer.humanSize(a.overall_saving,1)),d=d+a.thumbnails+1,b(".imagify-cell-nb-files").html(d+" file(s)"),g+=a.original_overall_size,b(".imagify-total-original").html(Optimizer.humanSize(g,1)),h+=a.overall_saving,b(".imagify-total-gain").html(Optimizer.humanSize(h,1))):(error_class=
|
12 |
+
"error",error_dashicon="dismiss",error_message="Error",0<=a.error.indexOf("You've consumed all your data")&&swal({title:imagifyBulk.labels.overQuotaTitle,text:imagifyBulk.labels.overQuotaText,type:"error",customClass:"imagify-sweet-alert",html:!0},function(){location.reload()}),0<=a.error.indexOf("This image is already compressed")?(error_dashicon=error_class="warning",error_message="Notice"):(f++,b(".imagify-cell-errors").html(f+" error(s)")),b("#attachment-"+a.image).after('<tr><td colspan="7"><span class="status-'+
|
13 |
error_class+'">'+a.error+"</span></td></tr>"),b("#attachment-"+a.image+" .imagify-cell-status").html('<span class="imagistatus status-'+error_class+'"><span class="dashicons dashicons-'+error_dashicon+'"></span>'+error_message+"</span>"))}).done(function(a){c.removeAttr("disabled");c.find(".dashicons").removeClass("rotate");b(window).off("beforeunload",confirmMessage);b(".imagify-row-progress").slideUp();"NaN"!==a.global_percent&&(b(".imagify-row-complete").removeClass("hidden").addClass("done").attr("aria-hidden",
|
14 |
+
"false"),b("html, body").animate({scrollTop:b(".imagify-row-complete").offset().top},200),b(".imagify-ac-rt-total-gain").html(a.global_gain_human),b(".imagify-ac-rt-total-original").html(a.global_original_size_human),text2share=imagifyBulk.labels.textToShare,text2share=text2share.replace("%1$s",a.global_gain_human),text2share=text2share.replace("%2$s",a.global_original_size_human),text2share=encodeURIComponent(text2share),b(".imagify-sn-twitter").attr("href","https://twitter.com/intent/tweet?source=webclient&original_referer="+
|
15 |
+
imagifyBulk.labels.pluginURL+"&text="+text2share+"&url="+imagifyBulk.labels.pluginURL+"&related=imagify&hastags=performance,web,wordpress"),b(".imagify-ac-chart").attr("data-percent",a.global_percent),m(b(".imagify-ac-chart").find("canvas")))}).error(function(a){n.log("Can't optimize image with id "+a)}).run()}else c.removeAttr("disabled"),c.find(".dashicons").removeClass("rotate"),swal_text=swal_title="",b(window).off("beforeunload",confirmMessage),"invalid-api-key"==a.data.message&&
|
16 |
+
(swal_title=imagifyBulk.labels.invalidAPIKeyTitle),"over-quota"==a.data.message&&(swal_title=imagifyBulk.labels.overQuotaTitle,text=imagifyBulk.labels.overQuotaText),"no-images"==a.data.message&&(swal_title=imagifyBulk.labels.noAttachmentToOptimizeTitle,swal_text=imagifyBulk.labels.noAttachmentToOptimizeText),swal({title:swal_title,text:swal_text,type:"info",customClass:"imagify-sweet-alert"})}).fail(function(){swal({title:imagifyBulk.labels.getUnoptimizedImagesErrorTitle,text:imagifyBulk.labels.getUnoptimizedImagesErrorText,
|
17 |
+
type:"error",customClass:"imagify-sweet-alert"},function(){location.reload()})})})});var width=700,height=290;if(window.innerWidth)var clientLeft=(window.innerWidth-width)/2,clientTop=(window.innerHeight-height)/2;else clientLeft=(document.body.clientWidth-width)/2,clientTop=(document.body.clientHeight-height)/2;
|
18 |
+
[].forEach.call(document.querySelectorAll(".imagify-share-networks a"),function(b){b.addEventListener("click",function(b){window.open(this.href,"","status=no, scrollbars=no, menubar=no, top="+clientTop+", left="+clientLeft+", width="+width+", height="+height);b.preventDefault()},!1)});
|
assets/js/imagify.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*
|
2 |
-
* imagify-gulpjs - version 0.0.1 - 2016-
|
3 |
* WP Media <contact@wp-media.me>
|
4 |
*/
|
5 |
-
"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),ImagifyGulp=function(){function a(b){_classCallCheck(this,a),this.buffer_size=
|
1 |
/*
|
2 |
+
* imagify-gulpjs - version 0.0.1 - 2016-04-07
|
3 |
* WP Media <contact@wp-media.me>
|
4 |
*/
|
5 |
+
"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),ImagifyGulp=function(){function a(b){_classCallCheck(this,a),this.buffer_size=3,this.lib_url=b.lib,this.default_thumb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAACy0lEQVRIx+1XS1PTUBTuT/MB1NGF3bhyhys3Pv+Ai8pCF6Bb3bsWq8xAh8441I2TSlKwPIKQJsI40IbSV0pJ6qe3OeZ1b9PaYViQyaJzc+757j3nO985TVx5v3o+b+IS6XyQUgtrj/NqWtJmZf3lavnpl53bC2vjRLqRUV4pxqbZcnrBx3F6G2ZzTjFg879IMwWtanV7g56K1Z2RtBGRpj7IWb0a8HhqOz9O2rjHfrOD34GvWcPEruGQkhmlcFgnF7bjABVJmvA4uj4vY2VJr545/yClw/okBywaadF/m63j1gT/sNO5DbXW8t4sLtJzSQtnAme/ys/BrU9FpdIgY2R3MBLidtQ+ZRt2T9qZvQrtf/N9X5BwbEQKmSVIFGZjEGlWNojB93KbCBolDNl49nVPAIYwUs5QGAOQwCtmuuyGG5ExGhZbtM7s+5+3BGC5nyazhB8RElSAePRwRaX1u9nScadfVYjtncV1HtKDlW0KQMqvID4kCAydHST2fgKhu24B7dTaSY4oYBf2MjN44yK9+FZmRnrdCnuhr3jyB7Vr89G8L9f7oU77VSPhp4POjNarzUgv77Z/ERh+R9oUXbqDXFyktFtJ5ag74cU9cBsCwy3DNoht5Fcf0pO8ysuTt27IFzKH/Hm/Qopi5ekP99zzgkU8goF7VN21ThfM9BKHylHEPbzoQ8wUlSGoG1QVnR3Vhppj66hCtgg/Ayr3tdLXCFQ7al4ABr2gAEBHoCbQFDu+RkCvqPVBx5LCZvq2dEDsgELuDqV7rM/SfvmocfNjkYcEdV8Kdcu4Wh6QLzzoPQKtQ9DQvQL9ZYhOiCYteXougo/9UEIv9YHxKK+iZ9qenouE8QIunCMMMzxHYIIomU2ksBOaI5ZHmCO8OavEnI0K2hjmvTnevPe3bjBlTvKvMsoMi4kVAgO/qBXMGvidGu8Me/lf4yIg/QYbLcmjDg4bKwAAAABJRU5ErkJggg==",this.images=b.images,this.images_ids=Object.keys(b.images),this.total_images=this.images_ids.length,this.processed_images=0,this.inprocess_images=0,this._before=new Function,this._each=new Function,this._done=new Function,this._error=new Function,this.total_original_size=0,this.total_optimized_size=0,this.total_gain=0,this.total_percent=0,this.global_original_size=0,this.global_optimized_size=0,this.global_gain=0,this.global_percent=0,this.context=b.context||"wp"}return _createClass(a,[{key:"before",value:function(a){return this._before=a,this}},{key:"each",value:function(a){return this._each=a,this}},{key:"done",value:function(a){return this._done=a,this}},{key:"error",value:function(a){return this._error=a,this}},{key:"humanSize",value:function(a){if(0==a)return"0kb";var b=["b","kb","mb"],c=parseInt(Math.floor(Math.log(a)/Math.log(1024)));return(a/Math.pow(1024,c)).toFixed(2)+b[c]}},{key:"run",value:function(){for(var a=this.images_ids.length>this.buffer_size?this.buffer_size:this.images_ids.length,b=0;a>b;b++){var c=this.images_ids.shift();this.process(c)}return this}},{key:"process",value:function(a){this.inprocess_images++;var b={id:a,image_id:parseInt(a.toString().substr(1)),image_src:this.images[a],filename:this.images[a].split("/").pop(),thumbnail:this.default_thumb,error:""};this.createThumb(b)}},{key:"createThumb",value:function(a){var b=this,c=new Image;c.onerror=function(){var c=a;c.id=a.image_id,b._before(c),b.send(a)},c.onload=function(){var d=33,e=33,f=c.width,g=c.height,h=1,i=0,j=0,k=null,l=null;g>f?(h=d/f,j=d,i=g*h):(h=e/g,i=e,j=f*h),k=document.createElement("canvas"),k.width=j,k.height=i,c.width=j,c.height=i,l=k.getContext("2d"),l.drawImage(this,0,0,j,i);try{a.thumbnail=k.toDataURL("image/jpeg")}catch(m){a.thumbnail=b.default_thumb}var n=a;n.id=a.image_id,b._before(n),b.send(a),k=null},c.src=a.image_src}},{key:"send",value:function(a){var b=this,c=new XMLHttpRequest,d=!1,e={},f={filename:a.filename,image:a.image_id,error:""};c.onreadystatechange=function(){if(4===this.readyState){b.processed_images++;try{e=JSON.parse(this.responseText),d=!1}catch(a){f.success=!1,f.error="Unknown error occured",d=!0}if(f.progress=Math.floor(b.processed_images/b.total_images*100),!d){var c=e.data;f.success=e.success,e.success===!0?(b.total_original_size+=c.original_size,b.total_optimized_size+=c.new_size,b.total_gain+=c.original_size-c.new_size,b.total_percent=(b.total_optimized_size/b.total_original_size*100).toFixed(2),b.global_original_size+=c.original_overall_size,b.global_optimized_size+=c.new_overall_size,b.global_gain+=c.overall_saving,b.global_percent=(100-b.global_optimized_size/b.global_optimized_size*100).toFixed(2),f.original_size=c.original_size,f.original_size_human=b.humanSize(c.original_size),f.new_size=c.new_size,f.new_size_human=b.humanSize(c.new_size),f.percent=c.percent,f.thumbnails=c.thumbnails,f.overall_saving=c.overall_saving,f.overall_saving_human=b.humanSize(c.overall_saving),f.original_overall_size=c.original_overall_size,f.original_overall_size_human=b.humanSize(c.original_overall_size)):f.error=c.error}if(b._each(f),b.inprocess_images<b.total_images&&b.process(b.images_ids.shift()),b.processed_images==b.total_images){var g=0;0!=b.global_original_size&&(g=(100-100*(b.global_optimized_size/b.global_original_size)).toFixed(2)),b._done({global_original_size_human:b.humanSize(b.global_original_size),global_gain_human:b.humanSize(b.global_gain),global_percent:g})}}},c.open("POST",this.lib_url,!0),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send("image="+a.image_id+"&context="+this.context)}}]),a}();
|
assets/js/upload.js
CHANGED
@@ -42,7 +42,7 @@ jQuery(function($){
|
|
42 |
e.preventDefault();
|
43 |
|
44 |
var $obj = $(this);
|
45 |
-
var
|
46 |
var href = $obj.attr('href');
|
47 |
|
48 |
$parent.html('<div class="button"><span class="imagify-spinner"></span>' + $obj.data('waiting-label') + '</div>');
|
42 |
e.preventDefault();
|
43 |
|
44 |
var $obj = $(this);
|
45 |
+
var $parent = ( $obj.parents('.column-imagify_optimized_file, .compat-field-imagify .field').length ) ? $obj.parents('.column-imagify_optimized_file, .compat-field-imagify .field') : $obj.closest('.column');
|
46 |
var href = $obj.attr('href');
|
47 |
|
48 |
$parent.html('<div class="button"><span class="imagify-spinner"></span>' + $obj.data('waiting-label') + '</div>');
|
assets/js/upload.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
jQuery(function(a){function e(b){b.each(function(){var b=parseInt(a(this).closest(".imagify-chart").next(".imagify-chart-value").text()),b=[{value:b,color:"#00B3D3"},{value:100-b,color:"#D8D8D8"}];(new Chart(a(this)[0].getContext("2d"))).Doughnut(b,{segmentStrokeColor:"#FFF",segmentStrokeWidth:1,animateRotate:!0,tooltipEvents:[]})})}var c='<option value="imagify-bulk-upload">'+imagifyUpload.bulkActionsLabels.optimize+"</option>",c=c+('<option value="imagify-bulk-restore">'+imagifyUpload.bulkActionsLabels.restore+
|
2 |
"</option>");a('.bulkactions select[name="action"]').find("option:last-child").before(c);a('.bulkactions select[name="action2"]').find("option:last-child").before(c);a("#doaction").add("#doaction2").on("click",function(b){value=a(this).prev("select").val();value=value.split("-");"imagify"===value[0]&&(b.preventDefault(),action=value[2],ids=a('input[name^="media"]:checked').map(function(){return this.value}).get(),ids.forEach(function(b,c){setTimeout(function(){a("#imagify-"+action+"-"+b).trigger("click")},
|
3 |
-
300*c)}))});a(document).on("click",".button-imagify-restore, .button-imagify-manual-upload, .button-imagify-manual-override-upload",function(b){b.preventDefault();b=a(this);var d=b.parents(".column-imagify_optimized_file, .compat-field-imagify .field"),c=b.attr("href");d.html('<div class="button"><span class="imagify-spinner"></span>'+b.data("waiting-label")+"</div>");a.get(c.replace("admin-post.php",
|
4 |
-
d.find(".imagify-datas-details").addClass("is-open");e(d.find(".imagify-chart-container").find("canvas"))})});a(".imagify-datas-details").hide();a(document).on("click",".imagify-datas-more-action a",function(){a(this).hasClass("is-open")?(a(a(this).attr("href")).slideUp("300").removeClass("is-open"),a(this).removeClass("is-open").find(".the-text").text(a(this).data("open"))):
|
5 |
-
return!1});var c=function(a){var d={};window.location.href.replace(/[?&]+([^=&]+)=?([^&]*)?/gi,function(a,b,c){d[b]=void 0!==c?c:""});return a?d[a]?d[a]:null:d},f=function(){var b=setInterval(function(){a(".media-modal").find(".imagify-datas-details").length&&(a(".media-modal").find(".imagify-datas-details").hide(),e(a(".media-modal").find("#imagify-consumption-chart")),
|
6 |
-
c("item")&&f();a("#insert-media-button").on("click.imagify",function(){var b=setInterval(function(){0<a(".media-frame-content").find(".attachments").length&&(a(".media-frame-content").find(".attachments").on("click.imagify",".attachment",function(){f()}),clearInterval(b))},100)});e(a(".imagify-chart-container").find("canvas"))});
|
1 |
jQuery(function(a){function e(b){b.each(function(){var b=parseInt(a(this).closest(".imagify-chart").next(".imagify-chart-value").text()),b=[{value:b,color:"#00B3D3"},{value:100-b,color:"#D8D8D8"}];(new Chart(a(this)[0].getContext("2d"))).Doughnut(b,{segmentStrokeColor:"#FFF",segmentStrokeWidth:1,animateRotate:!0,tooltipEvents:[]})})}var c='<option value="imagify-bulk-upload">'+imagifyUpload.bulkActionsLabels.optimize+"</option>",c=c+('<option value="imagify-bulk-restore">'+imagifyUpload.bulkActionsLabels.restore+
|
2 |
"</option>");a('.bulkactions select[name="action"]').find("option:last-child").before(c);a('.bulkactions select[name="action2"]').find("option:last-child").before(c);a("#doaction").add("#doaction2").on("click",function(b){value=a(this).prev("select").val();value=value.split("-");"imagify"===value[0]&&(b.preventDefault(),action=value[2],ids=a('input[name^="media"]:checked').map(function(){return this.value}).get(),ids.forEach(function(b,c){setTimeout(function(){a("#imagify-"+action+"-"+b).trigger("click")},
|
3 |
+
300*c)}))});a(document).on("click",".button-imagify-restore, .button-imagify-manual-upload, .button-imagify-manual-override-upload",function(b){b.preventDefault();b=a(this);var d=b.parents(".column-imagify_optimized_file, .compat-field-imagify .field").length?b.parents(".column-imagify_optimized_file, .compat-field-imagify .field"):b.closest(".column"),c=b.attr("href");d.html('<div class="button"><span class="imagify-spinner"></span>'+b.data("waiting-label")+"</div>");a.get(c.replace("admin-post.php",
|
4 |
+
"admin-ajax.php")).done(function(a){d.html(a.data);d.find(".imagify-datas-more-action a").addClass("is-open").find(".the-text").text(d.find(".imagify-datas-more-action a").data("close"));d.find(".imagify-datas-details").addClass("is-open");e(d.find(".imagify-chart-container").find("canvas"))})});a(".imagify-datas-details").hide();a(document).on("click",".imagify-datas-more-action a",function(){a(this).hasClass("is-open")?(a(a(this).attr("href")).slideUp("300").removeClass("is-open"),a(this).removeClass("is-open").find(".the-text").text(a(this).data("open"))):
|
5 |
+
(a(a(this).attr("href")).slideDown("300").addClass("is-open"),a(this).addClass("is-open").find(".the-text").text(a(this).data("close")));return!1});var c=function(a){var d={};window.location.href.replace(/[?&]+([^=&]+)=?([^&]*)?/gi,function(a,b,c){d[b]=void 0!==c?c:""});return a?d[a]?d[a]:null:d},f=function(){var b=setInterval(function(){a(".media-modal").find(".imagify-datas-details").length&&(a(".media-modal").find(".imagify-datas-details").hide(),e(a(".media-modal").find("#imagify-consumption-chart")),
|
6 |
+
clearInterval(b),b=null)},20)};a(".upload-php").find(".media-frame.mode-grid").on("click",".attachment",function(){f()});0<a(".upload-php").length&&c("item")&&f();a("#insert-media-button").on("click.imagify",function(){var b=setInterval(function(){0<a(".media-frame-content").find(".attachments").length&&(a(".media-frame-content").find(".attachments").on("click.imagify",".attachment",function(){f()}),clearInterval(b))},100)});e(a(".imagify-chart-container").find("canvas"))});
|
contributors.txt
CHANGED
@@ -2,9 +2,17 @@ This file contains a list of people who have made large contributions
|
|
2 |
to the public version of Imagify.
|
3 |
|
4 |
Developers:
|
5 |
-
Jonathan Buttigieg <jonathan@
|
6 |
Geoffrey Crofte <geoffrey@wp-media.me>
|
7 |
Sébastien Decamme <sebastien@wp-media.me>
|
8 |
Julio Potier <julio@wp-media.me>
|
9 |
Caspar Huebinger <caspar@wp-rocket.me>
|
10 |
-
Grégory Viguier <gregory@wp-rocket.me>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
to the public version of Imagify.
|
3 |
|
4 |
Developers:
|
5 |
+
Jonathan Buttigieg <jonathan@wp-rocket.me>
|
6 |
Geoffrey Crofte <geoffrey@wp-media.me>
|
7 |
Sébastien Decamme <sebastien@wp-media.me>
|
8 |
Julio Potier <julio@wp-media.me>
|
9 |
Caspar Huebinger <caspar@wp-rocket.me>
|
10 |
+
Grégory Viguier <gregory@wp-rocket.me>
|
11 |
+
|
12 |
+
Interface Design:
|
13 |
+
Matthieu <matthieu@wp-media.me>
|
14 |
+
|
15 |
+
Translation:
|
16 |
+
Alice (Italian & Spanish) <alice@wp-rocket.me>
|
17 |
+
Caspar (German) <caspar@wp-rocket.me>
|
18 |
+
Lucy (English) <lucy@wp-rocket.me>
|
imagify.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Imagify
|
4 |
Plugin URI: https://wordpress.org/plugins/imagify/
|
5 |
Description: Dramaticaly reduce image file sizes without losing quality, make your website load faster, boost your SEO and save money on your bandwith using Imagify, the new most advanced image optimization tool.
|
6 |
-
Version: 1.
|
7 |
Author: WP Media
|
8 |
Author URI: http://wp-media.me
|
9 |
Licence: GPLv2
|
@@ -17,29 +17,30 @@ Copyright 2015 WP Media
|
|
17 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
18 |
|
19 |
// Imagify defines
|
20 |
-
define( 'IMAGIFY_VERSION'
|
21 |
-
define( 'IMAGIFY_SLUG'
|
22 |
-
define( 'IMAGIFY_SETTINGS_SLUG'
|
23 |
-
define( 'IMAGIFY_WEB_MAIN'
|
24 |
-
define( 'IMAGIFY_APP_MAIN'
|
25 |
-
define( 'IMAGIFY_FILE'
|
26 |
-
define( 'IMAGIFY_PATH'
|
27 |
-
define( 'IMAGIFY_INC_PATH'
|
28 |
-
define( 'IMAGIFY_API_PATH'
|
29 |
-
define( 'IMAGIFY_ADMIN_PATH'
|
30 |
-
define( 'IMAGIFY_ADMIN_UI_PATH'
|
31 |
-
define( 'IMAGIFY_COMMON_PATH'
|
32 |
-
define( 'IMAGIFY_FUNCTIONS_PATH'
|
33 |
-
define( 'IMAGIFY_CLASSES_PATH'
|
34 |
-
define( '
|
35 |
-
define( '
|
36 |
-
define( '
|
37 |
-
define( '
|
38 |
-
define( '
|
39 |
-
define( '
|
40 |
-
define( '
|
41 |
-
define( '
|
42 |
-
define( '
|
|
|
43 |
|
44 |
/*
|
45 |
* Tell WP what to do when plugin is loaded
|
@@ -56,23 +57,26 @@ function _imagify_init() {
|
|
56 |
return;
|
57 |
}
|
58 |
|
59 |
-
require( IMAGIFY_INC_PATH
|
60 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
61 |
-
require( IMAGIFY_API_PATH
|
62 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
63 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
64 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
65 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
66 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
67 |
-
require( IMAGIFY_FUNCTIONS_PATH
|
68 |
-
require(
|
69 |
-
require(
|
70 |
-
require(
|
71 |
-
require(
|
72 |
-
require(
|
73 |
-
require(
|
74 |
-
require(
|
75 |
-
require(
|
|
|
|
|
|
|
76 |
|
77 |
if ( is_admin() ) {
|
78 |
require( IMAGIFY_ADMIN_PATH . 'upgrader.php' );
|
3 |
Plugin Name: Imagify
|
4 |
Plugin URI: https://wordpress.org/plugins/imagify/
|
5 |
Description: Dramaticaly reduce image file sizes without losing quality, make your website load faster, boost your SEO and save money on your bandwith using Imagify, the new most advanced image optimization tool.
|
6 |
+
Version: 1.5
|
7 |
Author: WP Media
|
8 |
Author URI: http://wp-media.me
|
9 |
Licence: GPLv2
|
17 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
18 |
|
19 |
// Imagify defines
|
20 |
+
define( 'IMAGIFY_VERSION' , '1.5' );
|
21 |
+
define( 'IMAGIFY_SLUG' , 'imagify' );
|
22 |
+
define( 'IMAGIFY_SETTINGS_SLUG' , IMAGIFY_SLUG . '_settings' );
|
23 |
+
define( 'IMAGIFY_WEB_MAIN' , 'https://imagify.io' );
|
24 |
+
define( 'IMAGIFY_APP_MAIN' , 'https://app.imagify.io' );
|
25 |
+
define( 'IMAGIFY_FILE' , __FILE__ );
|
26 |
+
define( 'IMAGIFY_PATH' , realpath( plugin_dir_path( IMAGIFY_FILE ) ) . '/' );
|
27 |
+
define( 'IMAGIFY_INC_PATH' , realpath( IMAGIFY_PATH . 'inc/' ) . '/' );
|
28 |
+
define( 'IMAGIFY_API_PATH' , realpath( IMAGIFY_INC_PATH . 'api/' ) . '/' );
|
29 |
+
define( 'IMAGIFY_ADMIN_PATH' , realpath( IMAGIFY_INC_PATH . 'admin' ) . '/' );
|
30 |
+
define( 'IMAGIFY_ADMIN_UI_PATH' , realpath( IMAGIFY_ADMIN_PATH . 'ui' ) . '/' );
|
31 |
+
define( 'IMAGIFY_COMMON_PATH' , realpath( IMAGIFY_INC_PATH . 'common' ) . '/' );
|
32 |
+
define( 'IMAGIFY_FUNCTIONS_PATH' , realpath( IMAGIFY_INC_PATH . 'functions' ) . '/' );
|
33 |
+
define( 'IMAGIFY_CLASSES_PATH' , realpath( IMAGIFY_INC_PATH . 'classes' ) . '/' );
|
34 |
+
define( 'IMAGIFY_CLASSES_ABSTRACTS_PATH' , realpath( IMAGIFY_CLASSES_PATH . 'abstracts' ) . '/' );
|
35 |
+
define( 'IMAGIFY_3RD_PARTY_PATH' , realpath( IMAGIFY_INC_PATH . '3rd-party' ) . '/' );
|
36 |
+
define( 'IMAGIFY_URL' , plugin_dir_url( IMAGIFY_FILE ) );
|
37 |
+
define( 'IMAGIFY_INC_URL' , IMAGIFY_URL . 'inc/' );
|
38 |
+
define( 'IMAGIFY_ADMIN_URL' , IMAGIFY_INC_URL . 'admin/' );
|
39 |
+
define( 'IMAGIFY_ASSETS_URL' , IMAGIFY_URL . 'assets/' );
|
40 |
+
define( 'IMAGIFY_ASSETS_JS_URL' , IMAGIFY_ASSETS_URL . 'js/' );
|
41 |
+
define( 'IMAGIFY_ASSETS_CSS_URL' , IMAGIFY_ASSETS_URL . 'css/' );
|
42 |
+
define( 'IMAGIFY_ASSETS_IMG_URL' , IMAGIFY_ASSETS_URL . 'images/' );
|
43 |
+
define( 'IMAGIFY_MAX_BYTES' , 5242880 );
|
44 |
|
45 |
/*
|
46 |
* Tell WP what to do when plugin is loaded
|
57 |
return;
|
58 |
}
|
59 |
|
60 |
+
require( IMAGIFY_INC_PATH . 'compat.php' );
|
61 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'options.php' );
|
62 |
+
require( IMAGIFY_API_PATH . 'imagify.php' );
|
63 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'formatting.php' );
|
64 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'files.php' );
|
65 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'admin.php' );
|
66 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'api.php' );
|
67 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'attachments.php' );
|
68 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'process.php' );
|
69 |
+
require( IMAGIFY_CLASSES_ABSTRACTS_PATH . 'abstract-db.php' );
|
70 |
+
require( IMAGIFY_CLASSES_ABSTRACTS_PATH . 'abstract-attachment.php' );
|
71 |
+
require( IMAGIFY_CLASSES_PATH . 'class-user.php' );
|
72 |
+
require( IMAGIFY_CLASSES_PATH . 'class-attachment.php' );
|
73 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'admin-ui.php' );
|
74 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'admin-stats.php' );
|
75 |
+
require( IMAGIFY_FUNCTIONS_PATH . 'i18n.php' );
|
76 |
+
require( IMAGIFY_COMMON_PATH . 'attachments.php' );
|
77 |
+
require( IMAGIFY_COMMON_PATH . 'admin-bar.php' );
|
78 |
+
require( IMAGIFY_COMMON_PATH . 'cron.php' );
|
79 |
+
require( IMAGIFY_3RD_PARTY_PATH . '3rd-party.php' );
|
80 |
|
81 |
if ( is_admin() ) {
|
82 |
require( IMAGIFY_ADMIN_PATH . 'upgrader.php' );
|
inc/3rd-party/3rd-party.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
|
4 |
require( IMAGIFY_3RD_PARTY_PATH . 'enable-media-replace.php' );
|
|
|
5 |
require( IMAGIFY_3RD_PARTY_PATH . 'wp-retina-2x.php' );
|
6 |
|
7 |
// Hosting
|
2 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
|
4 |
require( IMAGIFY_3RD_PARTY_PATH . 'enable-media-replace.php' );
|
5 |
+
require( IMAGIFY_3RD_PARTY_PATH . 'nextgen-gallery/nextgen-gallery.php' );
|
6 |
require( IMAGIFY_3RD_PARTY_PATH . 'wp-retina-2x.php' );
|
7 |
|
8 |
// Hosting
|
inc/3rd-party/nextgen-gallery/inc/admin/ajax.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Get all unoptimized attachment ids.
|
6 |
+
*
|
7 |
+
* @since 1.0
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_action( 'wp_ajax_imagify_ngg_get_unoptimized_attachment_ids', '_do_wp_ajax_imagify_ngg_get_unoptimized_attachment_ids' );
|
11 |
+
function _do_wp_ajax_imagify_ngg_get_unoptimized_attachment_ids() {
|
12 |
+
check_ajax_referer( 'imagify-bulk-upload', 'imagifybulkuploadnonce' );
|
13 |
+
|
14 |
+
if ( ! current_user_can( 'upload_files' ) ) {
|
15 |
+
wp_send_json_error();
|
16 |
+
}
|
17 |
+
|
18 |
+
$user = new Imagify_User();
|
19 |
+
|
20 |
+
if ( $user->is_over_quota() ) {
|
21 |
+
wp_send_json_error( array( 'message' => 'over-quota' ) );
|
22 |
+
}
|
23 |
+
|
24 |
+
@set_time_limit( 0 );
|
25 |
+
|
26 |
+
$optimization_level = $_GET['optimization_level'];
|
27 |
+
$optimization_level = ( -1 != $optimization_level ) ? $optimization_level : get_imagify_option( 'optimization_level', 1 );
|
28 |
+
$optimization_level = (int) $optimization_level;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Filter the unoptimized attachments limit query
|
32 |
+
*
|
33 |
+
* @since 1.4.4
|
34 |
+
*
|
35 |
+
* @param int The limit (-1 for unlimited)
|
36 |
+
*/
|
37 |
+
$unoptimized_attachment_limit = apply_filters( 'imagify_unoptimized_attachment_limit', 10000 );
|
38 |
+
|
39 |
+
global $wpdb;
|
40 |
+
|
41 |
+
$storage = C_Gallery_Storage::get_instance();
|
42 |
+
$ngg_table = $wpdb->prefix . 'ngg_pictures';
|
43 |
+
$data = array();
|
44 |
+
$images = $wpdb->get_results(
|
45 |
+
"SELECT picture.pid as id, picture.filename, idata.optimization_level, idata.status, idata.data
|
46 |
+
FROM $ngg_table as picture
|
47 |
+
LEFT JOIN $wpdb->ngg_imagify_data as idata
|
48 |
+
ON picture.pid = idata.pid
|
49 |
+
WHERE idata.pid IS NULL
|
50 |
+
OR idata.optimization_level != $optimization_level
|
51 |
+
OR idata.status = 'error'
|
52 |
+
LIMIT $unoptimized_attachment_limit"
|
53 |
+
, ARRAY_A
|
54 |
+
);
|
55 |
+
|
56 |
+
// Save the optimization level in a transient to retrieve it later during the process
|
57 |
+
set_transient( 'imagify_bulk_optimization_level', $optimization_level );
|
58 |
+
|
59 |
+
foreach( $images as $image ) {
|
60 |
+
$id = $image['id'];
|
61 |
+
|
62 |
+
/** This filter is documented in inc/functions/process.php */
|
63 |
+
$file_path = apply_filters( 'imagify_file_path', $storage->get_image_abspath( $id ) );
|
64 |
+
|
65 |
+
if ( file_exists( $file_path ) ) {
|
66 |
+
$attachment_data = maybe_unserialize( $image['data'] );
|
67 |
+
$attachment_error = '';
|
68 |
+
|
69 |
+
if ( isset( $attachment_data['sizes']['full']['error'] ) ) {
|
70 |
+
$attachment_error = $attachment_data['sizes']['full']['error'];
|
71 |
+
}
|
72 |
+
|
73 |
+
$attachment_error = trim( $attachment_error );
|
74 |
+
$attachment_status = $image['status'];
|
75 |
+
$attachment_optimization_level = $image['optimization_level'];
|
76 |
+
$attachment_backup_path = get_imagify_attachment_backup_path( $file_path );
|
77 |
+
|
78 |
+
// Don't try to re-optimize if the optimization level is still the same
|
79 |
+
if ( $optimization_level === $attachment_optimization_level && is_string( $attachment_error ) ) {
|
80 |
+
continue;
|
81 |
+
}
|
82 |
+
|
83 |
+
// Don't try to re-optimize if there is no backup file
|
84 |
+
if ( $optimization_level !== $attachment_optimization_level && ! file_exists( $attachment_backup_path ) && $attachment_status == 'success' ) {
|
85 |
+
continue;
|
86 |
+
}
|
87 |
+
|
88 |
+
// Don't try to re-optimize images already compressed
|
89 |
+
if ( $attachment_optimization_level >= $optimization_level && $attachment_status == 'already_optimized' ) {
|
90 |
+
continue;
|
91 |
+
}
|
92 |
+
|
93 |
+
// Don't try to re-optimize images with an empty error message
|
94 |
+
if ( $attachment_status == 'error' && empty( $attachment_error ) ) {
|
95 |
+
continue;
|
96 |
+
}
|
97 |
+
|
98 |
+
$data[ '_' . $id ] = $storage->get_image_url( $id );
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
if ( (bool) $data ) {
|
103 |
+
wp_send_json_success( $data );
|
104 |
+
}
|
105 |
+
|
106 |
+
wp_send_json_error( array( 'message' => 'no-images' ) );
|
107 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/admin/bulk.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Update all Imagify stats for NGG Bulk Optimization
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_action( 'admin_init', '_imagify_ngg_update_bulk_stats' );
|
11 |
+
function _imagify_ngg_update_bulk_stats() {
|
12 |
+
if ( isset( $_GET['page'] ) && 'imagify-ngg-bulk-optimization' === $_GET['page'] ) {
|
13 |
+
add_filter( 'imagify_count_attachments' , 'imagify_ngg_count_attachments' );
|
14 |
+
add_filter( 'imagify_count_optimized_attachments' , 'imagify_ngg_count_optimized_attachments' );
|
15 |
+
add_filter( 'imagify_count_error_attachments' , 'imagify_ngg_count_error_attachments' );
|
16 |
+
add_filter( 'imagify_count_unoptimized_attachments' , 'imagify_ngg_count_unoptimized_attachments' );
|
17 |
+
add_filter( 'imagify_percent_optimized_attachments' , 'imagify_ngg_percent_optimized_attachments' );
|
18 |
+
add_filter( 'imagify_count_saving_data' , 'imagify_ngg_count_saving_data' );
|
19 |
+
}
|
20 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/admin/db.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Create the Imagify table needed for NGG compatibility
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_action( 'admin_init' , '_imagify_create_ngg_table' );
|
11 |
+
function _imagify_create_ngg_table() {
|
12 |
+
global $wpdb;
|
13 |
+
|
14 |
+
if ( ! get_option( $wpdb->prefix . 'ngg_imagify_data_db_version' ) ) {
|
15 |
+
$db = new Imagify_NGG_DB();
|
16 |
+
$db->create_table();
|
17 |
+
}
|
18 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Add some JS for NGG compatibility
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_action( 'admin_print_styles', '_imagify_ngg_admin_print_styles', PHP_INT_MAX );
|
11 |
+
function _imagify_ngg_admin_print_styles() {
|
12 |
+
$current_screen = get_current_screen();
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Scripts loaded in /wp-admin/admin.php?page=nggallery-manage-gallery
|
16 |
+
*/
|
17 |
+
if ( isset( $current_screen ) && ( 'nggallery-manage-images' === $current_screen->base || 'nggallery-manage-gallery' === $current_screen->base ) ) {
|
18 |
+
$upload_data = array(
|
19 |
+
'bulkActionsLabels' => array(
|
20 |
+
'optimize' => __( 'Optimize', 'imagify' ),
|
21 |
+
'restore' => __( 'Restore Original', 'imagify' ),
|
22 |
+
),
|
23 |
+
);
|
24 |
+
wp_localize_script( 'imagify-js-upload', 'imagifyUpload', $upload_data );
|
25 |
+
|
26 |
+
wp_enqueue_script( 'imagify-js-chart' );
|
27 |
+
wp_enqueue_script( 'imagify-js-upload' );
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Scripts loaded in /wp-admin/admin.php?page=imagify-ngg-bulk-optimization
|
32 |
+
*/
|
33 |
+
if ( isset( $current_screen ) && false !== strpos( $current_screen->base, '_page_imagify-ngg-bulk-optimization' ) ) {
|
34 |
+
wp_enqueue_script( 'heartbeat' );
|
35 |
+
|
36 |
+
$user = get_imagify_user();
|
37 |
+
$bulk_data = get_imagify_localize_script_translations( 'bulk' );
|
38 |
+
$bulk_data['heartbeat_id'] = 'update_ngg_bulk_data';
|
39 |
+
$bulk_data['ajax_action'] = 'imagify_ngg_get_unoptimized_attachment_ids';
|
40 |
+
$bulk_data['ajax_context'] = 'NGG';
|
41 |
+
|
42 |
+
wp_localize_script( 'imagify-js-bulk', 'imagifyBulk', $bulk_data );
|
43 |
+
wp_enqueue_script( 'imagify-js-chart' );
|
44 |
+
wp_enqueue_script( 'imagify-js-async' );
|
45 |
+
wp_enqueue_script( 'imagify-js-bulk' );
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Add Intercom on Options page an Bulk Optimization
|
51 |
+
*
|
52 |
+
* @since 1.5
|
53 |
+
* @author Jonathan Buttigieg
|
54 |
+
*/
|
55 |
+
add_action( 'admin_footer', '_imagify_ngg_admin_print_intercom' );
|
56 |
+
function _imagify_ngg_admin_print_intercom() {
|
57 |
+
$current_screen = get_current_screen();
|
58 |
+
|
59 |
+
if ( isset( $current_screen ) && false !== strpos( $current_screen->base, '_page_imagify-ngg-bulk-optimization' ) ) {
|
60 |
+
_imagify_admin_print_intercom();
|
61 |
+
}
|
62 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/admin/gallery.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/*
|
5 |
+
* Add "Imagify" column in admin.php?page=nggallery-manage-gallery
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_filter( 'ngg_manage_images_number_of_columns', '_imagify_ngg_manage_images_number_of_columns' );
|
11 |
+
function _imagify_ngg_manage_images_number_of_columns( $count ) {
|
12 |
+
$count++;
|
13 |
+
add_filter( 'ngg_manage_images_column_' . $count . '_header', '_imagify_ngg_manage_media_columns' );
|
14 |
+
add_filter( 'ngg_manage_images_column_' . $count . '_content', '_imagify_ngg_manage_media_custom_column', 10, 2 );
|
15 |
+
|
16 |
+
return $count;
|
17 |
+
}
|
18 |
+
|
19 |
+
function _imagify_ngg_manage_media_columns() {
|
20 |
+
return 'Imagify';
|
21 |
+
}
|
22 |
+
|
23 |
+
function _imagify_ngg_manage_media_custom_column( $output, $image ) {
|
24 |
+
$attachment = new Imagify_NGG_Attachment( $image );
|
25 |
+
echo get_imagify_media_column_content( $attachment, 'NGG' );
|
26 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/admin/heartbeat.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
global $pagenow;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Prepare the data that goes back with the Heartbeat API.
|
8 |
+
*
|
9 |
+
* @since 1.5
|
10 |
+
*/
|
11 |
+
add_filter( 'heartbeat_received', '_imagify_ngg_heartbeat_received', 10, 2 );
|
12 |
+
function _imagify_ngg_heartbeat_received( $response, $data ) {
|
13 |
+
if( isset( $data['imagify_heartbeat'] ) && 'update_ngg_bulk_data' === $data['imagify_heartbeat'] ) {
|
14 |
+
add_filter( 'imagify_count_saving_data', 'imagify_ngg_count_saving_data' );
|
15 |
+
$saving_data = imagify_count_saving_data();
|
16 |
+
$user = new Imagify_User();
|
17 |
+
|
18 |
+
$response['imagify_bulk_data'] = array(
|
19 |
+
'already_optimized_attachments' => $saving_data['count'],
|
20 |
+
'optimized_attachments' => imagify_ngg_count_optimized_attachments(),
|
21 |
+
'unoptimized_attachments' => imagify_ngg_count_unoptimized_attachments(),
|
22 |
+
'errors_attachments' => imagify_ngg_count_error_attachments(),
|
23 |
+
'optimized_attachments_percent' => imagify_ngg_percent_optimized_attachments(),
|
24 |
+
'optimized_percent' => $saving_data['percent'],
|
25 |
+
'original_human' => size_format( $saving_data['original_size'], 1 ),
|
26 |
+
'optimized_human' => size_format( $saving_data['optimized_size'], 1 ),
|
27 |
+
'unconsumed_quota' => $user->get_percent_unconsumed_quota(),
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
return $response;
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Update the Heartbeat API settings
|
36 |
+
*
|
37 |
+
* @since 1.5
|
38 |
+
*/
|
39 |
+
if ( 'admin.php' === $pagenow && isset( $_GET['page'] ) && 'imagify-ngg-bulk-optimization' === $_GET['page'] ) {
|
40 |
+
add_filter( 'heartbeat_settings', '_imagify_heartbeat_settings', PHP_INT_MAX );
|
41 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/admin/menu.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Add submenu in menu "Media"
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_action( 'admin_menu', '_imagify_ngg_bulk_optimization_menu' );
|
11 |
+
function _imagify_ngg_bulk_optimization_menu() {
|
12 |
+
if ( ! defined( 'NGGFOLDER' ) ) {
|
13 |
+
return;
|
14 |
+
}
|
15 |
+
|
16 |
+
add_submenu_page( NGGFOLDER, __( 'Bulk Optimization', 'imagify' ), __( 'Bulk Optimization', 'imagify' ), apply_filters( 'imagify_capacity', 'manage_options' ), IMAGIFY_SLUG . '-ngg-bulk-optimization', '_imagify_display_bulk_page' );
|
17 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/classes/class-attachment.php
ADDED
@@ -0,0 +1,449 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
class Imagify_NGG_Attachment extends Imagify_Abstract_Attachment {
|
5 |
+
/**
|
6 |
+
* The image object
|
7 |
+
*
|
8 |
+
* @since 1.5
|
9 |
+
*
|
10 |
+
* @var object
|
11 |
+
* @access public
|
12 |
+
*/
|
13 |
+
public $image;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* The constructor
|
17 |
+
*
|
18 |
+
* @since 1.5
|
19 |
+
* @author Jonathan Buttigieg
|
20 |
+
*
|
21 |
+
* @return void
|
22 |
+
**/
|
23 |
+
function __construct( $id ) {
|
24 |
+
if ( is_object( $id ) ) {
|
25 |
+
$this->image = $id;
|
26 |
+
$this->id = $id->pid;
|
27 |
+
} else {
|
28 |
+
$this->image = nggdb::find_image( (int) $id );
|
29 |
+
$this->id = $this->image->pid;
|
30 |
+
}
|
31 |
+
|
32 |
+
$this->row = $this->get_row();
|
33 |
+
|
34 |
+
// Load nggAdmin classe
|
35 |
+
$ngg_admin_functions_path = WP_PLUGIN_DIR . '/' . NGGFOLDER . '/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php';
|
36 |
+
|
37 |
+
if ( ! class_exists( 'nggAdmin' ) && file_exists( $ngg_admin_functions_path ) ) {
|
38 |
+
require_once( $ngg_admin_functions_path );
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Get the attachment backup filepath.
|
44 |
+
*
|
45 |
+
* @since 1.5
|
46 |
+
* @author Jonathan Buttigieg
|
47 |
+
*
|
48 |
+
* @access public
|
49 |
+
* @return string|false
|
50 |
+
*/
|
51 |
+
public function get_backup_path() {
|
52 |
+
$backup_path = $this->get_original_path() . '_backup';
|
53 |
+
|
54 |
+
if( file_exists( $backup_path ) ) {
|
55 |
+
return $backup_path;
|
56 |
+
}
|
57 |
+
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Get the attachment optimization data.
|
63 |
+
*
|
64 |
+
* @since 1.5
|
65 |
+
* @author Jonathan Buttigieg
|
66 |
+
*
|
67 |
+
* @access public
|
68 |
+
* @return array
|
69 |
+
*/
|
70 |
+
public function get_data() {
|
71 |
+
$row = ( (bool) $this->row ) ? $this->row : $this->get_row();
|
72 |
+
return isset( $row['data'] ) ? unserialize( $row['data'] ) : false;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Get the attachment optimization level.
|
77 |
+
*
|
78 |
+
* @since 1.5
|
79 |
+
* @author Jonathan Buttigieg
|
80 |
+
*
|
81 |
+
* @access public
|
82 |
+
* @return int
|
83 |
+
*/
|
84 |
+
public function get_optimization_level() {
|
85 |
+
$row = ( (bool) $this->row ) ? $this->row : $this->get_row();
|
86 |
+
return isset( $row['optimization_level'] ) ? $row['optimization_level'] : false;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Get the attachment SQL data row.
|
91 |
+
*
|
92 |
+
* @since 1.5
|
93 |
+
* @author Jonathan Buttigieg
|
94 |
+
*
|
95 |
+
* @access public
|
96 |
+
* @return array
|
97 |
+
*/
|
98 |
+
public function get_row() {
|
99 |
+
$result = Imagify_NGG_DB()->get( $this->id );
|
100 |
+
return $result;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Get the attachment optimization status (success or error).
|
105 |
+
*
|
106 |
+
* @since 1.5
|
107 |
+
* @author Jonathan Buttigieg
|
108 |
+
*
|
109 |
+
* @access public
|
110 |
+
* @return string
|
111 |
+
*/
|
112 |
+
public function get_status() {
|
113 |
+
$row = ( (bool) $this->row ) ? $this->row : $this->get_row();
|
114 |
+
return isset( $row['status'] ) ? $row['status'] : false;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Get the original attachment path.
|
119 |
+
*
|
120 |
+
* @since 1.5
|
121 |
+
* @author Jonathan Buttigieg
|
122 |
+
*
|
123 |
+
* @access public
|
124 |
+
* @return string
|
125 |
+
*/
|
126 |
+
public function get_original_path() {
|
127 |
+
return $this->image->imagePath;
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Get the original attachment URL.
|
132 |
+
*
|
133 |
+
* @since 1.5
|
134 |
+
* @author Jonathan Buttigieg
|
135 |
+
*
|
136 |
+
* @access public
|
137 |
+
* @return string
|
138 |
+
*/
|
139 |
+
public function get_original_url() {
|
140 |
+
return $this->image->imageURL;
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Update the metadata size of the attachment
|
145 |
+
*
|
146 |
+
* @since 1.5
|
147 |
+
*
|
148 |
+
* @access public
|
149 |
+
* @return void
|
150 |
+
*/
|
151 |
+
public function update_metadata_size() {
|
152 |
+
$size = @getimagesize( $this->get_original_path() );
|
153 |
+
|
154 |
+
if ( isset( $size[0], $size[1] ) ) {
|
155 |
+
$metadata = $this->image->meta_data;
|
156 |
+
$metadata['width'] = $metadata['full']['width'] = $size[0];
|
157 |
+
$metadata['height'] = $metadata['full']['height'] = $size[1];
|
158 |
+
|
159 |
+
nggdb::update_image_meta( $this->id , $metadata );
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Fills statistics data with values from $data array
|
165 |
+
*
|
166 |
+
* @since 1.5
|
167 |
+
* @author Jonathan Buttigieg
|
168 |
+
*
|
169 |
+
* @access public
|
170 |
+
* @static
|
171 |
+
* @param array $data The statistics data
|
172 |
+
* @param object $response The API response
|
173 |
+
* @param int $id The attachment ID
|
174 |
+
* @param int $url The attachment URL
|
175 |
+
* @param string $size The attachment size key
|
176 |
+
* @return bool|array False if the original size has an error or an array contains the data for other result
|
177 |
+
*/
|
178 |
+
static public function fill_data( $data, $response, $id, $url, $size = 'full' ) {
|
179 |
+
if ( is_wp_error( $response ) ) {
|
180 |
+
$error = $response->get_error_message();
|
181 |
+
$error_status = 'error';
|
182 |
+
|
183 |
+
$data['sizes'][ $size ] = array(
|
184 |
+
'success' => false,
|
185 |
+
'error' => $error
|
186 |
+
);
|
187 |
+
|
188 |
+
// Update the error status for the original size
|
189 |
+
if ( 'full' === $size ) {
|
190 |
+
if ( false !== strpos( $error, 'This image is already compressed' ) ) {
|
191 |
+
$error_status = 'already_optimized';
|
192 |
+
}
|
193 |
+
|
194 |
+
IMAGIFY_NGG_DB()->update(
|
195 |
+
$id,
|
196 |
+
array(
|
197 |
+
'pid' => $id,
|
198 |
+
'status' => $error_status,
|
199 |
+
'data' => serialize( $data )
|
200 |
+
)
|
201 |
+
);
|
202 |
+
|
203 |
+
return false;
|
204 |
+
}
|
205 |
+
} else {
|
206 |
+
$data['sizes'][ $size ] = array(
|
207 |
+
'success' => true,
|
208 |
+
'file_url' => $url,
|
209 |
+
'original_size' => $response->original_size,
|
210 |
+
'optimized_size' => $response->new_size,
|
211 |
+
'percent' => $response->percent
|
212 |
+
);
|
213 |
+
|
214 |
+
$data['stats']['original_size'] += ( isset( $response->original_size ) ) ? $response->original_size : 0;
|
215 |
+
$data['stats']['optimized_size'] += ( isset( $response->new_size ) ) ? $response->new_size : 0;
|
216 |
+
$data['stats']['percent'] = round( ( ( $data['stats']['original_size'] - $data['stats']['optimized_size'] ) / $data['stats']['original_size'] ) * 100, 2 );
|
217 |
+
}
|
218 |
+
|
219 |
+
return $data;
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Optimize all sizes with Imagify.
|
224 |
+
*
|
225 |
+
* @since 1.5
|
226 |
+
* @author Jonathan Buttigieg
|
227 |
+
*
|
228 |
+
* @access public
|
229 |
+
* @param int $optimization_level The optimization level (2=ultra, 1=aggressive, 0=normal)
|
230 |
+
* @param array $metadata The attachment meta data (not used here)
|
231 |
+
* @return array $data The optimization data
|
232 |
+
*/
|
233 |
+
public function optimize( $optimization_level = null, $metadata = array() ) {
|
234 |
+
$optimization_level = ( is_null( $optimization_level ) ) ? (int) get_imagify_option( 'optimization_level', 1 ) : (int) $optimization_level;
|
235 |
+
|
236 |
+
$id = $this->id;
|
237 |
+
$data = array(
|
238 |
+
'stats' => array(
|
239 |
+
'original_size' => 0,
|
240 |
+
'optimized_size' => 0,
|
241 |
+
'percent' => 0,
|
242 |
+
)
|
243 |
+
);
|
244 |
+
|
245 |
+
// Get file path & URL for original image
|
246 |
+
$attachment_path = $this->get_original_path();
|
247 |
+
$attachment_url = $this->get_original_url();
|
248 |
+
|
249 |
+
// Check if the full size is already optimized
|
250 |
+
if ( $this->is_optimized() && ( $this->get_optimization_level() == $optimization_level ) ) {
|
251 |
+
return;
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* Fires before optimizing an attachment.
|
256 |
+
*
|
257 |
+
* @since 1.5
|
258 |
+
*
|
259 |
+
* @param int $id The attachment ID
|
260 |
+
*/
|
261 |
+
do_action( 'before_imagify_ngg_optimize_attachment', $id );
|
262 |
+
|
263 |
+
set_transient( 'imagify-ngg-async-in-progress-' . $id, true, 10 * MINUTE_IN_SECONDS );
|
264 |
+
|
265 |
+
// Get the resize values for the original size
|
266 |
+
$resize = array();
|
267 |
+
$do_resize = get_imagify_option( 'resize_larger', false );
|
268 |
+
$resize_width = get_imagify_option( 'resize_larger_w' );
|
269 |
+
$attachment_size = @getimagesize( $attachment_path );
|
270 |
+
|
271 |
+
if ( $do_resize && isset( $attachment_size[0] ) && $resize_width < $attachment_size[0] ) {
|
272 |
+
$resize['width'] = $resize_width;
|
273 |
+
}
|
274 |
+
|
275 |
+
// Optimize the original size
|
276 |
+
$response = do_imagify( $attachment_path, array(
|
277 |
+
'optimization_level' => $optimization_level,
|
278 |
+
'resize' => $resize,
|
279 |
+
'context' => 'ngg',
|
280 |
+
'original_size' => $this->get_original_size( false )
|
281 |
+
) );
|
282 |
+
$data = $this->fill_data( $data, $response, $id, $attachment_url );
|
283 |
+
|
284 |
+
// Save the optimization level
|
285 |
+
IMAGIFY_NGG_DB()->update(
|
286 |
+
$id,
|
287 |
+
array(
|
288 |
+
'pid' => $id,
|
289 |
+
'optimization_level' => $optimization_level
|
290 |
+
)
|
291 |
+
);
|
292 |
+
|
293 |
+
if ( (bool) ! $data ) {
|
294 |
+
delete_transient( 'imagify-ngg-async-in-progress-' . $id );
|
295 |
+
return;
|
296 |
+
}
|
297 |
+
|
298 |
+
// If we resized the original with success, we have to update the attachment metadata
|
299 |
+
// If not, WordPress keeps the old attachment size.
|
300 |
+
if ( $do_resize && isset( $resize['width'] ) ) {
|
301 |
+
$this->update_metadata_size();
|
302 |
+
}
|
303 |
+
|
304 |
+
// Optimize thumbnails
|
305 |
+
$data = $this->optimize_thumbnails( $optimization_level, $data );
|
306 |
+
|
307 |
+
// Save the status to success
|
308 |
+
IMAGIFY_NGG_DB()->update(
|
309 |
+
$id,
|
310 |
+
array(
|
311 |
+
'pid' => $id,
|
312 |
+
'status' => 'success',
|
313 |
+
)
|
314 |
+
);
|
315 |
+
|
316 |
+
/**
|
317 |
+
* Fires after optimizing an attachment.
|
318 |
+
*
|
319 |
+
* @since 1.5
|
320 |
+
*
|
321 |
+
* @param int $id The attachment ID
|
322 |
+
* @param array $data The optimization data
|
323 |
+
*/
|
324 |
+
do_action( 'after_imagify_ngg_optimize_attachment', $id, $data );
|
325 |
+
|
326 |
+
delete_transient( 'imagify-ngg-async-in-progress-' . $id );
|
327 |
+
|
328 |
+
return $data;
|
329 |
+
}
|
330 |
+
|
331 |
+
/**
|
332 |
+
* Optimize all thumbnails of an image
|
333 |
+
*
|
334 |
+
* @since 1.5
|
335 |
+
* @author Jonathan Buttigieg
|
336 |
+
*
|
337 |
+
* @access public
|
338 |
+
* @param int $optimization_level The optimization level (2=ultra, 1=aggressive, 0=normal)
|
339 |
+
* @return array $data The optimization data
|
340 |
+
*/
|
341 |
+
public function optimize_thumbnails( $optimization_level = null, $data = array() ) {
|
342 |
+
$id = $this->id;
|
343 |
+
$storage = C_Gallery_Storage::get_instance();
|
344 |
+
$sizes = $storage->get_image_sizes();
|
345 |
+
$data = ( (bool) $data ) ? $data : $this->get_data();
|
346 |
+
|
347 |
+
// Stop if the original image has an error
|
348 |
+
if ( $this->has_error() ) {
|
349 |
+
return $data;
|
350 |
+
}
|
351 |
+
|
352 |
+
$optimization_level = ( is_null( $optimization_level ) ) ? (int) get_imagify_option( 'optimization_level', 1 ) : (int) $optimization_level;
|
353 |
+
|
354 |
+
/**
|
355 |
+
* Fires before optimizing all thumbnails.
|
356 |
+
*
|
357 |
+
* @since 1.5
|
358 |
+
*
|
359 |
+
* @param int $id The image ID
|
360 |
+
*/
|
361 |
+
do_action( 'before_imagify_ngg_optimize_thumbnails', $id );
|
362 |
+
|
363 |
+
if ( (bool) $sizes ) {
|
364 |
+
foreach ( $sizes as $size_key ) {
|
365 |
+
if ( 'full' == $size_key || isset( $data['sizes'][ $size_key ]['success'] ) ) {
|
366 |
+
continue;
|
367 |
+
}
|
368 |
+
|
369 |
+
$thumbnail_path = $storage->get_image_abspath( $this->image, $size_key );
|
370 |
+
$thumbnail_url = $storage->get_image_url( $this->image, $size_key );
|
371 |
+
|
372 |
+
// Optimize the thumbnail size
|
373 |
+
$response = do_imagify( $thumbnail_path, array(
|
374 |
+
'backup' => false,
|
375 |
+
'optimization_level' => $optimization_level,
|
376 |
+
'context' => 'wp'
|
377 |
+
) );
|
378 |
+
$data = $this->fill_data( $data, $response, $id, $thumbnail_url, $size_key );
|
379 |
+
|
380 |
+
/** This filter is documented in /inc/classes/class-attachment.php */
|
381 |
+
$data = apply_filters( 'imagify_fill_ngg_thumbnail_data', $data, $response, $id, $thumbnail_path, $thumbnail_url, $size_key, $optimization_level );
|
382 |
+
}
|
383 |
+
|
384 |
+
IMAGIFY_NGG_DB()->update(
|
385 |
+
$id,
|
386 |
+
array(
|
387 |
+
'pid' => $id,
|
388 |
+
'data' => serialize( $data )
|
389 |
+
)
|
390 |
+
);
|
391 |
+
}
|
392 |
+
|
393 |
+
/**
|
394 |
+
* Fires after optimizing all thumbnails.
|
395 |
+
*
|
396 |
+
* @since 1.5
|
397 |
+
*
|
398 |
+
* @param int $id The image ID
|
399 |
+
* @param array $data The optimization data
|
400 |
+
*/
|
401 |
+
do_action( 'after_imagify_ngg_optimize_thumbnails', $id, $data );
|
402 |
+
|
403 |
+
return $data;
|
404 |
+
}
|
405 |
+
|
406 |
+
/**
|
407 |
+
* Process an attachment restoration from the backup file.
|
408 |
+
*
|
409 |
+
* @since 1.5
|
410 |
+
* @author Jonathan Buttigieg
|
411 |
+
*
|
412 |
+
* @access public
|
413 |
+
* @return void
|
414 |
+
*/
|
415 |
+
public function restore() {
|
416 |
+
// Stop the process if there is no backup file to restore
|
417 |
+
if ( ! $this->has_backup() ) {
|
418 |
+
return;
|
419 |
+
}
|
420 |
+
|
421 |
+
$id = $this->id;
|
422 |
+
$backup_path = $this->get_backup_path();
|
423 |
+
$attachment_path = $this->get_original_path();
|
424 |
+
|
425 |
+
/**
|
426 |
+
* Fires before restoring an attachment.
|
427 |
+
*
|
428 |
+
* @since 1.5
|
429 |
+
*
|
430 |
+
* @param int $id The attachment ID
|
431 |
+
*/
|
432 |
+
do_action( 'before_imagify_ngg_restore_attachment', $id );
|
433 |
+
|
434 |
+
// Create the original image from the backup
|
435 |
+
C_Gallery_Storage::get_instance()->recover_image( $id );
|
436 |
+
|
437 |
+
// Remove old optimization data
|
438 |
+
Imagify_NGG_DB()->delete( $id );
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Fires after restoring an attachment.
|
442 |
+
*
|
443 |
+
* @since 1.5
|
444 |
+
*
|
445 |
+
* @param int $id The attachment ID
|
446 |
+
*/
|
447 |
+
do_action( 'after_imagify_ngg_restore_attachment', $id );
|
448 |
+
}
|
449 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/classes/class-db.php
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Imagify NextGen Gallery DB class
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
class Imagify_NGG_DB extends Imagify_Abstract_DB {
|
11 |
+
/**
|
12 |
+
* The single instance of the class
|
13 |
+
*
|
14 |
+
* @access protected
|
15 |
+
* @since 1.5
|
16 |
+
*/
|
17 |
+
protected static $_instance = null;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Get things started
|
21 |
+
*
|
22 |
+
* @access public
|
23 |
+
* @since 1.5
|
24 |
+
* @author Jonathan Buttigieg
|
25 |
+
*/
|
26 |
+
public function __construct() {
|
27 |
+
global $wpdb;
|
28 |
+
|
29 |
+
$this->table_name = $wpdb->prefix . 'ngg_imagify_data';
|
30 |
+
$this->primary_key = 'pid'; // instead of data_id
|
31 |
+
$this->version = '1.0';
|
32 |
+
|
33 |
+
// Database declaration
|
34 |
+
$wpdb->ngg_imagify_data = $this->table_name;
|
35 |
+
|
36 |
+
// Add table to the index of WordPress tables
|
37 |
+
$wpdb->tables[] = 'ngg_imagify_data';
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Main Instance
|
42 |
+
*
|
43 |
+
* Ensures only one instance of class is loaded or can be loaded.
|
44 |
+
*
|
45 |
+
* @access public
|
46 |
+
* @since 1.5
|
47 |
+
* @author Jonathan Buttigieg
|
48 |
+
*
|
49 |
+
* @return Main instance
|
50 |
+
*/
|
51 |
+
public static function instance() {
|
52 |
+
if ( is_null( self::$_instance ) ) {
|
53 |
+
self::$_instance = new self();
|
54 |
+
}
|
55 |
+
|
56 |
+
return self::$_instance;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Whitelist of columns
|
61 |
+
*
|
62 |
+
* @access public
|
63 |
+
* @since 1.5
|
64 |
+
* @author Jonathan Buttigieg
|
65 |
+
*
|
66 |
+
* @return array
|
67 |
+
*/
|
68 |
+
public function get_columns() {
|
69 |
+
return array(
|
70 |
+
'data_id' => '%d',
|
71 |
+
'pid' => '%d',
|
72 |
+
'optimization_level' => '%s',
|
73 |
+
'status' => '%s',
|
74 |
+
'data' => '%s',
|
75 |
+
);
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Default column values
|
80 |
+
*
|
81 |
+
* @access public
|
82 |
+
* @since 1.5
|
83 |
+
* @author Jonathan Buttigieg
|
84 |
+
*
|
85 |
+
* @return array
|
86 |
+
*/
|
87 |
+
public function get_column_defaults() {
|
88 |
+
return array(
|
89 |
+
'pid' => 0,
|
90 |
+
'optimization_level' => '',
|
91 |
+
'status' => '',
|
92 |
+
'data' => '',
|
93 |
+
);
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Create the table
|
98 |
+
*
|
99 |
+
* @access public
|
100 |
+
* @since 1.5
|
101 |
+
* @author Jonathan Buttigieg
|
102 |
+
*/
|
103 |
+
public function create_table() {
|
104 |
+
global $wpdb;
|
105 |
+
|
106 |
+
if ( ! empty( $wpdb->charset ) ) {
|
107 |
+
$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
|
108 |
+
}
|
109 |
+
|
110 |
+
if ( ! empty( $wpdb->collate ) ) {
|
111 |
+
$charset_collate .= " COLLATE $wpdb->collate";
|
112 |
+
}
|
113 |
+
|
114 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
115 |
+
|
116 |
+
$sql = "CREATE TABLE " . $this->table_name . " (
|
117 |
+
data_id int(11) NOT NULL AUTO_INCREMENT,
|
118 |
+
pid int(11) NOT NULL,
|
119 |
+
optimization_level varchar(1) NOT NULL,
|
120 |
+
status varchar(30) NOT NULL,
|
121 |
+
data longtext NOT NULL,
|
122 |
+
PRIMARY KEY (data_id)
|
123 |
+
) $charset_collate;";
|
124 |
+
|
125 |
+
maybe_create_table( $this->table_name, $sql );
|
126 |
+
|
127 |
+
update_option( $this->table_name . '_db_version', $this->version );
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Returns the main instance of Imagify to prevent the need to use globals.
|
133 |
+
*
|
134 |
+
* @since 1.5
|
135 |
+
* @author Jonathan Buttigieg
|
136 |
+
*/
|
137 |
+
function Imagify_NGG_DB() {
|
138 |
+
return Imagify_NGG_DB::instance();
|
139 |
+
}
|
140 |
+
$GLOBALS['imagify_ngg_db'] = Imagify_NGG_DB();
|
inc/3rd-party/nextgen-gallery/inc/classes/class-ngg-storage.php
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
class Imagify_NGG_Storage extends Mixin {
|
5 |
+
/**
|
6 |
+
* Delete a gallery AND all the pictures associated to this gallery!
|
7 |
+
*
|
8 |
+
* @since 1.5
|
9 |
+
* @author Jonathan Buttigieg
|
10 |
+
*
|
11 |
+
* @return parent
|
12 |
+
*/
|
13 |
+
public function delete_gallery( $gallery ) {
|
14 |
+
$gallery_id = is_numeric( $gallery ) ? $gallery : $gallery->{$gallery->id_field};
|
15 |
+
$images_id = nggdb::get_ids_from_gallery( $gallery_id );
|
16 |
+
|
17 |
+
foreach( $images_id as $pid ) {
|
18 |
+
Imagify_NGG_DB()->delete( $pid );
|
19 |
+
}
|
20 |
+
|
21 |
+
return $this->call_parent( 'delete_gallery', $gallery );
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Generates a specific size for an image
|
26 |
+
*
|
27 |
+
* @since 1.5
|
28 |
+
* @author Jonathan Buttigieg
|
29 |
+
*
|
30 |
+
* @return parent
|
31 |
+
*/
|
32 |
+
public function generate_image_size( $image, $size, $params = null, $skip_defaults = false ) {
|
33 |
+
// $image could be an object or an (int) image ID
|
34 |
+
if ( is_numeric( $image ) ) {
|
35 |
+
$image = $this->object->_image_mapper->find( $image );
|
36 |
+
}
|
37 |
+
|
38 |
+
// If a user adds a watermark, rotates or resizes an image, we restore it
|
39 |
+
// TO DO - waiting for a hook to be able to re-optimize the original size after restoring
|
40 |
+
if ( isset( $image->pid ) && ( true === $params['watermark'] || ( isset( $params['rotation'] ) || isset( $params['flip'] ) ) || ( ! empty( $params['width'] ) || ! empty( $params['height'] ) ) ) ) {
|
41 |
+
$attachment = new Imagify_NGG_Attachment( $image->pid );
|
42 |
+
|
43 |
+
if ( $attachment->is_optimized() ) {
|
44 |
+
Imagify_NGG_DB()->delete( $image->pid );
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
return $this->call_parent( 'generate_image_size', $image, $size, $params, $skip_defaults );
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Recover image from backup copy and reprocess it
|
53 |
+
*
|
54 |
+
* @since 1.5
|
55 |
+
* @author Jonathan Buttigieg
|
56 |
+
*
|
57 |
+
* @return parent
|
58 |
+
**/
|
59 |
+
function recover_image( $image ) {
|
60 |
+
// $image could be an object or an (int) image ID
|
61 |
+
if ( is_numeric( $image ) ) {
|
62 |
+
$image = $this->object->_image_mapper->find( $image );
|
63 |
+
}
|
64 |
+
|
65 |
+
// Remove Imagify data
|
66 |
+
if ( isset( $image->pid ) ) {
|
67 |
+
Imagify_NGG_DB()->delete( $image->pid );
|
68 |
+
}
|
69 |
+
|
70 |
+
return $this->call_parent( 'recover_image', $image );
|
71 |
+
}
|
72 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/classes/class-ngg.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
class Imagify_NGG {
|
5 |
+
/**
|
6 |
+
* The constructor
|
7 |
+
*
|
8 |
+
* @since 1.5
|
9 |
+
* @author Jonathan Buttigieg
|
10 |
+
*
|
11 |
+
* @return void
|
12 |
+
**/
|
13 |
+
public function __construct() {
|
14 |
+
add_action( 'init', array( $this, 'add_mixin' ) );
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Add custom NGG mixin to override its functions
|
19 |
+
*
|
20 |
+
* @since 1.5
|
21 |
+
* @author Jonathan Buttigieg
|
22 |
+
*
|
23 |
+
* @return void
|
24 |
+
**/
|
25 |
+
function add_mixin() {
|
26 |
+
include_once( 'class-ngg-storage.php' );
|
27 |
+
$storage = C_Gallery_Storage::get_instance();
|
28 |
+
$storage->get_wrapped_instance()->add_mixin( 'Imagify_NGG_Storage' );
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
$Imagify_NGG = new Imagify_NGG();
|
inc/3rd-party/nextgen-gallery/inc/common/attachments.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Auto-optimize when a new attachment is generated
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*/
|
10 |
+
add_action( 'ngg_after_new_images_added', '_imagify_ngg_optimize_attachment', PHP_INT_MAX, 2 );
|
11 |
+
function _imagify_ngg_optimize_attachment( $galleryID, $image_ids ) {
|
12 |
+
$api_key = get_imagify_option( 'api_key', false );
|
13 |
+
|
14 |
+
if ( ! empty( $api_key ) && get_imagify_option( 'auto_optimize', false ) ) {
|
15 |
+
foreach ( $image_ids as $id ) {
|
16 |
+
$body = array();
|
17 |
+
$body['metadata'] = 1;
|
18 |
+
$body['context'] = 'NGG';
|
19 |
+
$body['attachment_id'] = $id;
|
20 |
+
$body['action'] = 'imagify_async_optimize_upload_new_media';
|
21 |
+
$body['_ajax_nonce'] = wp_create_nonce( 'new_media-' . $id );
|
22 |
+
|
23 |
+
imagify_do_async_job( $body );
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Delete the Imagify data when an image is deleted.
|
30 |
+
*
|
31 |
+
* @since 1.5
|
32 |
+
* @author Jonathan Buttigieg
|
33 |
+
*/
|
34 |
+
add_action( 'ngg_delete_picture', '_imagify_ngg_delete_picture' );
|
35 |
+
function _imagify_ngg_delete_picture( $image_id ) {
|
36 |
+
Imagify_NGG_DB()->delete( $image_id );
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Import Imagify data from a WordPress image to a new NGG image
|
41 |
+
*
|
42 |
+
* @since 1.5
|
43 |
+
* @author Jonathan Buttigieg
|
44 |
+
*/
|
45 |
+
add_filter( 'ngg_medialibrary_imported_image', '_imagify_ngg_media_library_imported_image_data', 10, 2 );
|
46 |
+
function _imagify_ngg_media_library_imported_image_data( $image, $attachment ) {
|
47 |
+
$attachment = new Imagify_Attachment( $attachment->ID );
|
48 |
+
|
49 |
+
if ( $attachment->is_optimized() ) {
|
50 |
+
$full_size = $attachment->get_size_data();
|
51 |
+
$data = array(
|
52 |
+
'stats' => array(
|
53 |
+
'original_size' => $full_size['original_size'],
|
54 |
+
'optimized_size' => $full_size['optimized_size'],
|
55 |
+
'percent' => $full_size['percent']
|
56 |
+
),
|
57 |
+
'sizes' => array( 'full' => $full_size )
|
58 |
+
);
|
59 |
+
|
60 |
+
Imagify_NGG_DB()->update(
|
61 |
+
$image->pid,
|
62 |
+
array(
|
63 |
+
'pid' => $image->pid,
|
64 |
+
'optimization_level' => $attachment->get_optimization_level(),
|
65 |
+
'status' => $attachment->get_status(),
|
66 |
+
'data' => maybe_serialize( $data )
|
67 |
+
)
|
68 |
+
);
|
69 |
+
|
70 |
+
$image = new Imagify_NGG_Attachment( $image->pid );
|
71 |
+
$image->optimize_thumbnails();
|
72 |
+
}
|
73 |
+
}
|
inc/3rd-party/nextgen-gallery/inc/functions/admin-stats.php
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/*
|
5 |
+
* Count number of attachments.
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*
|
10 |
+
* @return int The number of attachments.
|
11 |
+
*/
|
12 |
+
function imagify_ngg_count_attachments() {
|
13 |
+
global $wpdb;
|
14 |
+
|
15 |
+
static $count;
|
16 |
+
|
17 |
+
if ( ! $count ) {
|
18 |
+
$table_name = $wpdb->prefix . "ngg_pictures";
|
19 |
+
$count = $wpdb->get_var( "SELECT COUNT($table_name.pid) FROM $table_name" );
|
20 |
+
}
|
21 |
+
|
22 |
+
return (int) $count;
|
23 |
+
}
|
24 |
+
|
25 |
+
/*
|
26 |
+
* Count number of optimized attachments with an error.
|
27 |
+
*
|
28 |
+
* @since 1.5
|
29 |
+
* @author Jonathan Buttigieg
|
30 |
+
*
|
31 |
+
* @return int The number of attachments.
|
32 |
+
*/
|
33 |
+
function imagify_ngg_count_error_attachments() {
|
34 |
+
static $count;
|
35 |
+
|
36 |
+
if ( ! $count ) {
|
37 |
+
$count = (int) Imagify_NGG_DB()->get_column_by( 'COUNT(*)', 'status', 'error' );
|
38 |
+
}
|
39 |
+
|
40 |
+
return $count;
|
41 |
+
}
|
42 |
+
|
43 |
+
/*
|
44 |
+
* Count number of optimized attachments (by Imagify or an other tool before).
|
45 |
+
*
|
46 |
+
* @since 1.5
|
47 |
+
* @author Jonathan Buttigieg
|
48 |
+
*
|
49 |
+
* @return int The number of attachments.
|
50 |
+
*/
|
51 |
+
function imagify_ngg_count_optimized_attachments() {
|
52 |
+
static $count;
|
53 |
+
|
54 |
+
if ( ! $count ) {
|
55 |
+
$count = (int) Imagify_NGG_DB()->get_column_by( 'COUNT(*)', 'status', 'success' );
|
56 |
+
}
|
57 |
+
|
58 |
+
return $count;
|
59 |
+
}
|
60 |
+
|
61 |
+
/*
|
62 |
+
* Count number of unoptimized attachments.
|
63 |
+
*
|
64 |
+
* @since 1.0
|
65 |
+
* @author Jonathan Buttigieg
|
66 |
+
*
|
67 |
+
* @return int The number of attachments.
|
68 |
+
*/
|
69 |
+
function imagify_ngg_count_unoptimized_attachments() {
|
70 |
+
static $count;
|
71 |
+
|
72 |
+
if ( ! $count ) {
|
73 |
+
$count = imagify_ngg_count_attachments() - imagify_ngg_count_optimized_attachments() - imagify_ngg_count_error_attachments();
|
74 |
+
}
|
75 |
+
|
76 |
+
return (int) $count;
|
77 |
+
}
|
78 |
+
|
79 |
+
/*
|
80 |
+
* Count percent of optimized attachments.
|
81 |
+
*
|
82 |
+
* @since 1.0
|
83 |
+
* @author Jonathan Buttigieg
|
84 |
+
*
|
85 |
+
* @return int The percent of optimized attachments.
|
86 |
+
*/
|
87 |
+
function imagify_ngg_percent_optimized_attachments() {
|
88 |
+
$total_attachments = imagify_ngg_count_attachments();
|
89 |
+
$total_optimized_attachments = imagify_ngg_count_optimized_attachments();
|
90 |
+
|
91 |
+
$percent = ( 0 !== $total_attachments ) ? round( ( 100 - ( ( $total_attachments - ( $total_optimized_attachments ) ) / $total_attachments ) * 100 ) ) : 0;
|
92 |
+
|
93 |
+
return $percent;
|
94 |
+
}
|
95 |
+
|
96 |
+
/*
|
97 |
+
* Count percent, original & optimized size of all images optimized by Imagify.
|
98 |
+
*
|
99 |
+
* @since 1.5
|
100 |
+
* @author Jonathan Buttigieg
|
101 |
+
*
|
102 |
+
* @return array An array containing the optimization data.
|
103 |
+
*/
|
104 |
+
function imagify_ngg_count_saving_data() {
|
105 |
+
global $wpdb;
|
106 |
+
|
107 |
+
$table_name = $wpdb->ngg_imagify_data;
|
108 |
+
$attachments = $wpdb->get_col( "SELECT $table_name.data FROM $table_name WHERE status = 'success'" );
|
109 |
+
|
110 |
+
return $attachments;
|
111 |
+
}
|
inc/3rd-party/nextgen-gallery/nextgen-gallery.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
if ( ! class_exists( 'C_NextGEN_Bootstrap' ) || ! get_site_option( 'ngg_options' ) ) {
|
5 |
+
return;
|
6 |
+
}
|
7 |
+
|
8 |
+
define( 'IMAGIFY_NGG_FILE' , __FILE__ );
|
9 |
+
define( 'IMAGIFY_NGG_PATH' , realpath( plugin_dir_path( IMAGIFY_NGG_FILE ) ) . '/' );
|
10 |
+
define( 'IMAGIFY_NGG_INC_PATH' , realpath( IMAGIFY_NGG_PATH . 'inc/' ) . '/' );
|
11 |
+
define( 'IMAGIFY_NGG_ADMIN_PATH' , realpath( IMAGIFY_NGG_INC_PATH . 'admin' ) . '/' );
|
12 |
+
define( 'IMAGIFY_NGG_COMMON_PATH' , realpath( IMAGIFY_NGG_INC_PATH . 'common' ) . '/' );
|
13 |
+
define( 'IMAGIFY_NGG_FUNCTIONS_PATH' , realpath( IMAGIFY_NGG_INC_PATH . 'functions' ) . '/' );
|
14 |
+
define( 'IMAGIFY_NGG_CLASSES_PATH' , realpath( IMAGIFY_NGG_INC_PATH . 'classes' ) . '/' );
|
15 |
+
|
16 |
+
require( IMAGIFY_NGG_CLASSES_PATH . 'class-ngg.php' );
|
17 |
+
require( IMAGIFY_NGG_CLASSES_PATH . 'class-db.php' );
|
18 |
+
require( IMAGIFY_NGG_CLASSES_PATH . 'class-attachment.php' );
|
19 |
+
require( IMAGIFY_NGG_FUNCTIONS_PATH . 'admin-stats.php' );
|
20 |
+
require( IMAGIFY_NGG_COMMON_PATH . 'attachments.php' );
|
21 |
+
|
22 |
+
if ( is_admin() ) {
|
23 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'enqueue.php' );
|
24 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'ajax.php' );
|
25 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'db.php' );
|
26 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'menu.php' );
|
27 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'gallery.php' );
|
28 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'bulk.php' );
|
29 |
+
require( IMAGIFY_NGG_ADMIN_PATH . 'heartbeat.php' );
|
30 |
+
}
|
inc/3rd-party/wp-retina-2x.php
CHANGED
@@ -44,7 +44,11 @@ function _imagify_optimize_wr2x( $data, $response, $id, $path, $url, $size_key,
|
|
44 |
$retina_path = wr2x_get_retina( $path );
|
45 |
|
46 |
if ( ! empty( $retina_path ) && $do_retina ) {
|
47 |
-
$response = do_imagify( $retina_path,
|
|
|
|
|
|
|
|
|
48 |
$data = Imagify_Attachment::fill_data( $data, $response, $id, $url, $size_key . '@2x' );
|
49 |
}
|
50 |
|
44 |
$retina_path = wr2x_get_retina( $path );
|
45 |
|
46 |
if ( ! empty( $retina_path ) && $do_retina ) {
|
47 |
+
$response = do_imagify( $retina_path, array(
|
48 |
+
'backup' => false,
|
49 |
+
'optimization_level' => $optimization_level,
|
50 |
+
'context' => 'wp-retina'
|
51 |
+
) );
|
52 |
$data = Imagify_Attachment::fill_data( $data, $response, $id, $url, $size_key . '@2x' );
|
53 |
}
|
54 |
|
inc/admin/ajax.php
CHANGED
@@ -5,6 +5,7 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
5 |
* Process all thumbnails of a specific image with Imagify with the manual method.
|
6 |
*
|
7 |
* @since 1.0
|
|
|
8 |
*/
|
9 |
add_action( 'wp_ajax_imagify_manual_upload' , '_do_admin_post_imagify_manual_upload' );
|
10 |
add_action( 'admin_post_imagify_manual_upload' , '_do_admin_post_imagify_manual_upload' );
|
@@ -15,7 +16,7 @@ function _do_admin_post_imagify_manual_upload() {
|
|
15 |
check_admin_referer( 'imagify-manual-upload' );
|
16 |
}
|
17 |
|
18 |
-
if ( ! isset( $_GET['attachment_id'] ) || ! current_user_can( 'upload_files' ) ) {
|
19 |
if ( defined( 'DOING_AJAX' ) ) {
|
20 |
wp_send_json_error();
|
21 |
} else {
|
@@ -23,12 +24,11 @@ function _do_admin_post_imagify_manual_upload() {
|
|
23 |
}
|
24 |
}
|
25 |
|
|
|
26 |
$attachment_id = $_GET['attachment_id'];
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
$attachment = new Imagify_Attachment( $attachment_id );
|
31 |
-
|
32 |
// Optimize it!!!!!
|
33 |
$attachment->optimize();
|
34 |
|
@@ -38,7 +38,7 @@ function _do_admin_post_imagify_manual_upload() {
|
|
38 |
}
|
39 |
|
40 |
// Return the optimization statistics
|
41 |
-
$output = get_imagify_attachment_optimization_text( $
|
42 |
wp_send_json_success( $output );
|
43 |
}
|
44 |
|
@@ -46,6 +46,7 @@ function _do_admin_post_imagify_manual_upload() {
|
|
46 |
* Process a manual upload by overriding the optimization level.
|
47 |
*
|
48 |
* @since 1.0
|
|
|
49 |
*/
|
50 |
add_action( 'wp_ajax_imagify_manual_override_upload', '_do_admin_post_imagify_manual_override_upload' );
|
51 |
add_action( 'admin_post_imagify_manual_override_upload', '_do_admin_post_imagify_manual_override_upload' );
|
@@ -56,7 +57,7 @@ function _do_admin_post_imagify_manual_override_upload() {
|
|
56 |
check_admin_referer( 'imagify-manual-override-upload' );
|
57 |
}
|
58 |
|
59 |
-
if ( ! isset( $_GET['attachment_id'] ) || ! current_user_can( 'upload_files' ) ) {
|
60 |
if ( defined( 'DOING_AJAX' ) ) {
|
61 |
wp_send_json_error();
|
62 |
} else {
|
@@ -64,7 +65,9 @@ function _do_admin_post_imagify_manual_override_upload() {
|
|
64 |
}
|
65 |
}
|
66 |
|
67 |
-
$
|
|
|
|
|
68 |
|
69 |
// Restore the backup file
|
70 |
$attachment->restore();
|
@@ -78,7 +81,7 @@ function _do_admin_post_imagify_manual_override_upload() {
|
|
78 |
}
|
79 |
|
80 |
// Return the optimization statistics
|
81 |
-
$output = get_imagify_attachment_optimization_text( $attachment
|
82 |
wp_send_json_success( $output );
|
83 |
}
|
84 |
|
@@ -86,6 +89,7 @@ function _do_admin_post_imagify_manual_override_upload() {
|
|
86 |
* Process a restoration to the original attachment.
|
87 |
*
|
88 |
* @since 1.0
|
|
|
89 |
*/
|
90 |
add_action( 'wp_ajax_imagify_restore_upload', '_do_admin_post_imagify_restore_upload' );
|
91 |
add_action( 'admin_post_imagify_restore_upload', '_do_admin_post_imagify_restore_upload' );
|
@@ -96,7 +100,7 @@ function _do_admin_post_imagify_restore_upload() {
|
|
96 |
check_admin_referer( 'imagify-restore-upload' );
|
97 |
}
|
98 |
|
99 |
-
if ( ! isset( $_GET['attachment_id'] ) || ! current_user_can( 'upload_files' ) ) {
|
100 |
if ( defined( 'DOING_AJAX' ) ) {
|
101 |
wp_send_json_error();
|
102 |
} else {
|
@@ -104,7 +108,8 @@ function _do_admin_post_imagify_restore_upload() {
|
|
104 |
}
|
105 |
}
|
106 |
|
107 |
-
$
|
|
|
108 |
|
109 |
// Restore the backup file
|
110 |
$attachment->restore();
|
@@ -115,7 +120,7 @@ function _do_admin_post_imagify_restore_upload() {
|
|
115 |
}
|
116 |
|
117 |
// Return the optimization button
|
118 |
-
$output = '<a id="imagify-upload-' . $attachment->id . '" href="' . get_imagify_admin_url( 'manual-upload', $attachment->id ) . '" class="button-primary button-imagify-manual-upload" data-waiting-label="' . esc_attr__( 'Optimizing...', 'imagify' ) . '">' . __( 'Optimize', 'imagify' ) . '</a>';
|
119 |
wp_send_json_success( $output );
|
120 |
}
|
121 |
|
@@ -123,6 +128,7 @@ function _do_admin_post_imagify_restore_upload() {
|
|
123 |
* Get all unoptimized attachment ids.
|
124 |
*
|
125 |
* @since 1.0
|
|
|
126 |
*/
|
127 |
add_action( 'wp_ajax_imagify_get_unoptimized_attachment_ids', '_do_wp_ajax_imagify_get_unoptimized_attachment_ids' );
|
128 |
function _do_wp_ajax_imagify_get_unoptimized_attachment_ids() {
|
@@ -132,6 +138,10 @@ function _do_wp_ajax_imagify_get_unoptimized_attachment_ids() {
|
|
132 |
wp_send_json_error();
|
133 |
}
|
134 |
|
|
|
|
|
|
|
|
|
135 |
$user = new Imagify_User();
|
136 |
|
137 |
if ( $user->is_over_quota() ) {
|
@@ -300,17 +310,18 @@ function _do_wp_ajax_imagify_get_unoptimized_attachment_ids() {
|
|
300 |
* Process all thumbnails of a specific image with Imagify with the bulk method.
|
301 |
*
|
302 |
* @since 1.0
|
|
|
303 |
*/
|
304 |
add_action( 'wp_ajax_imagify_bulk_upload', '_do_wp_ajax_imagify_bulk_upload' );
|
305 |
function _do_wp_ajax_imagify_bulk_upload() {
|
306 |
check_ajax_referer( 'imagify-bulk-upload', 'imagifybulkuploadnonce' );
|
307 |
|
308 |
-
if ( ! isset( $_POST['image'] ) || ! current_user_can( 'upload_files' ) ) {
|
309 |
wp_send_json_error();
|
310 |
}
|
311 |
-
|
312 |
-
$
|
313 |
-
$attachment = new
|
314 |
$optimization_level = get_transient( 'imagify_bulk_optimization_level' );
|
315 |
|
316 |
// Restore it if the optimization level is updated
|
@@ -328,8 +339,8 @@ function _do_wp_ajax_imagify_bulk_upload() {
|
|
328 |
$data = array();
|
329 |
|
330 |
if ( ! $attachment->is_optimized() ) {
|
331 |
-
$data['success']
|
332 |
-
$data['error']
|
333 |
|
334 |
wp_send_json_error( $data );
|
335 |
}
|
@@ -350,6 +361,7 @@ function _do_wp_ajax_imagify_bulk_upload() {
|
|
350 |
* Create a new Imagify account.
|
351 |
*
|
352 |
* @since 1.0
|
|
|
353 |
*/
|
354 |
add_action( 'wp_ajax_imagify_signup', '_do_wp_ajax_imagify_signup' );
|
355 |
function _do_wp_ajax_imagify_signup() {
|
@@ -378,6 +390,7 @@ function _do_wp_ajax_imagify_signup() {
|
|
378 |
* Process an API key check validity.
|
379 |
*
|
380 |
* @since 1.0
|
|
|
381 |
*/
|
382 |
add_action( 'wp_ajax_imagify_check_api_key_validity', '_do_wp_ajax_imagify_check_api_key_validity' );
|
383 |
function _do_wp_ajax_imagify_check_api_key_validity() {
|
@@ -405,6 +418,7 @@ function _do_wp_ajax_imagify_check_api_key_validity() {
|
|
405 |
* Process a dismissed notice.
|
406 |
*
|
407 |
* @since 1.0
|
|
|
408 |
*/
|
409 |
add_action( 'wp_ajax_imagify_dismiss_notice', '_do_admin_post_imagify_dismiss_notice' );
|
410 |
add_action( 'admin_post_imagify_dismiss_notice', '_do_admin_post_imagify_dismiss_notice' );
|
@@ -448,6 +462,7 @@ function _do_admin_post_imagify_dismiss_notice() {
|
|
448 |
* Disable a plugin which can be in conflict with Imagify
|
449 |
*
|
450 |
* @since 1.2
|
|
|
451 |
*/
|
452 |
add_action( 'admin_post_imagify_deactivate_plugin', '_imagify_deactivate_plugin' );
|
453 |
function _imagify_deactivate_plugin() {
|
@@ -465,6 +480,7 @@ function _imagify_deactivate_plugin() {
|
|
465 |
* Get admin bar profile output
|
466 |
*
|
467 |
* @since 1.2.3
|
|
|
468 |
*/
|
469 |
add_action( 'wp_ajax_imagify_get_admin_bar_profile', '_do_wp_ajax_imagify_get_admin_bar_profile' );
|
470 |
function _do_wp_ajax_imagify_get_admin_bar_profile() {
|
@@ -549,10 +565,31 @@ function _do_wp_ajax_imagify_get_admin_bar_profile() {
|
|
549 |
wp_send_json_success( $quota_section );
|
550 |
}
|
551 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
/**
|
553 |
* Optimize image on picture editing with async request
|
554 |
*
|
555 |
* @since 1.4
|
|
|
556 |
**/
|
557 |
add_action( 'wp_ajax_imagify_async_optimize_save_image_editor_file', '_do_admin_post_async_optimize_save_image_editor_file' );
|
558 |
function _do_admin_post_async_optimize_save_image_editor_file() {
|
@@ -590,4 +627,25 @@ function _do_admin_post_async_optimize_save_image_editor_file() {
|
|
590 |
|
591 |
die( 1 );
|
592 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
593 |
}
|
5 |
* Process all thumbnails of a specific image with Imagify with the manual method.
|
6 |
*
|
7 |
* @since 1.0
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
*/
|
10 |
add_action( 'wp_ajax_imagify_manual_upload' , '_do_admin_post_imagify_manual_upload' );
|
11 |
add_action( 'admin_post_imagify_manual_upload' , '_do_admin_post_imagify_manual_upload' );
|
16 |
check_admin_referer( 'imagify-manual-upload' );
|
17 |
}
|
18 |
|
19 |
+
if ( ! isset( $_GET['attachment_id'], $_GET['context'] ) || ! current_user_can( 'upload_files' ) ) {
|
20 |
if ( defined( 'DOING_AJAX' ) ) {
|
21 |
wp_send_json_error();
|
22 |
} else {
|
24 |
}
|
25 |
}
|
26 |
|
27 |
+
$context = $_GET['context'];
|
28 |
$attachment_id = $_GET['attachment_id'];
|
29 |
+
$class_name = get_imagify_attachment_class_name( $_GET['context'] );
|
30 |
+
$attachment = new $class_name( $attachment_id );
|
31 |
+
|
|
|
|
|
32 |
// Optimize it!!!!!
|
33 |
$attachment->optimize();
|
34 |
|
38 |
}
|
39 |
|
40 |
// Return the optimization statistics
|
41 |
+
$output = get_imagify_attachment_optimization_text( $attachment, $context );
|
42 |
wp_send_json_success( $output );
|
43 |
}
|
44 |
|
46 |
* Process a manual upload by overriding the optimization level.
|
47 |
*
|
48 |
* @since 1.0
|
49 |
+
* @author Jonathan Buttigieg
|
50 |
*/
|
51 |
add_action( 'wp_ajax_imagify_manual_override_upload', '_do_admin_post_imagify_manual_override_upload' );
|
52 |
add_action( 'admin_post_imagify_manual_override_upload', '_do_admin_post_imagify_manual_override_upload' );
|
57 |
check_admin_referer( 'imagify-manual-override-upload' );
|
58 |
}
|
59 |
|
60 |
+
if ( ! isset( $_GET['attachment_id'], $_GET['context'] ) || ! current_user_can( 'upload_files' ) ) {
|
61 |
if ( defined( 'DOING_AJAX' ) ) {
|
62 |
wp_send_json_error();
|
63 |
} else {
|
65 |
}
|
66 |
}
|
67 |
|
68 |
+
$context = $_GET['context'];
|
69 |
+
$class_name = get_imagify_attachment_class_name( $context );
|
70 |
+
$attachment = new $class_name( $_GET['attachment_id'] );
|
71 |
|
72 |
// Restore the backup file
|
73 |
$attachment->restore();
|
81 |
}
|
82 |
|
83 |
// Return the optimization statistics
|
84 |
+
$output = get_imagify_attachment_optimization_text( $attachment, $context );
|
85 |
wp_send_json_success( $output );
|
86 |
}
|
87 |
|
89 |
* Process a restoration to the original attachment.
|
90 |
*
|
91 |
* @since 1.0
|
92 |
+
* @author Jonathan Buttigieg
|
93 |
*/
|
94 |
add_action( 'wp_ajax_imagify_restore_upload', '_do_admin_post_imagify_restore_upload' );
|
95 |
add_action( 'admin_post_imagify_restore_upload', '_do_admin_post_imagify_restore_upload' );
|
100 |
check_admin_referer( 'imagify-restore-upload' );
|
101 |
}
|
102 |
|
103 |
+
if ( ! isset( $_GET['attachment_id'], $_GET['context'] ) || ! current_user_can( 'upload_files' ) ) {
|
104 |
if ( defined( 'DOING_AJAX' ) ) {
|
105 |
wp_send_json_error();
|
106 |
} else {
|
108 |
}
|
109 |
}
|
110 |
|
111 |
+
$class_name = get_imagify_attachment_class_name( $_GET['context'] );
|
112 |
+
$attachment = new $class_name( $_GET['attachment_id'] );
|
113 |
|
114 |
// Restore the backup file
|
115 |
$attachment->restore();
|
120 |
}
|
121 |
|
122 |
// Return the optimization button
|
123 |
+
$output = '<a id="imagify-upload-' . $attachment->id . '" href="' . get_imagify_admin_url( 'manual-upload', array( 'attachment_id' => $attachment->id ) ) . '" class="button-primary button-imagify-manual-upload" data-waiting-label="' . esc_attr__( 'Optimizing...', 'imagify' ) . '">' . __( 'Optimize', 'imagify' ) . '</a>';
|
124 |
wp_send_json_success( $output );
|
125 |
}
|
126 |
|
128 |
* Get all unoptimized attachment ids.
|
129 |
*
|
130 |
* @since 1.0
|
131 |
+
* @author Jonathan Buttigieg
|
132 |
*/
|
133 |
add_action( 'wp_ajax_imagify_get_unoptimized_attachment_ids', '_do_wp_ajax_imagify_get_unoptimized_attachment_ids' );
|
134 |
function _do_wp_ajax_imagify_get_unoptimized_attachment_ids() {
|
138 |
wp_send_json_error();
|
139 |
}
|
140 |
|
141 |
+
if ( ! imagify_valid_key() ) {
|
142 |
+
wp_send_json_error( array( 'message' => 'invalid-api-key' ) );
|
143 |
+
}
|
144 |
+
|
145 |
$user = new Imagify_User();
|
146 |
|
147 |
if ( $user->is_over_quota() ) {
|
310 |
* Process all thumbnails of a specific image with Imagify with the bulk method.
|
311 |
*
|
312 |
* @since 1.0
|
313 |
+
* @author Jonathan Buttigieg
|
314 |
*/
|
315 |
add_action( 'wp_ajax_imagify_bulk_upload', '_do_wp_ajax_imagify_bulk_upload' );
|
316 |
function _do_wp_ajax_imagify_bulk_upload() {
|
317 |
check_ajax_referer( 'imagify-bulk-upload', 'imagifybulkuploadnonce' );
|
318 |
|
319 |
+
if ( ! isset( $_POST['image'], $_POST['context'] ) || ! current_user_can( 'upload_files' ) ) {
|
320 |
wp_send_json_error();
|
321 |
}
|
322 |
+
|
323 |
+
$class_name = get_imagify_attachment_class_name( $_POST['context'] );
|
324 |
+
$attachment = new $class_name( $_POST['image'] );
|
325 |
$optimization_level = get_transient( 'imagify_bulk_optimization_level' );
|
326 |
|
327 |
// Restore it if the optimization level is updated
|
339 |
$data = array();
|
340 |
|
341 |
if ( ! $attachment->is_optimized() ) {
|
342 |
+
$data['success'] = false;
|
343 |
+
$data['error'] = $fullsize_data['error'];
|
344 |
|
345 |
wp_send_json_error( $data );
|
346 |
}
|
361 |
* Create a new Imagify account.
|
362 |
*
|
363 |
* @since 1.0
|
364 |
+
* @author Jonathan Buttigieg
|
365 |
*/
|
366 |
add_action( 'wp_ajax_imagify_signup', '_do_wp_ajax_imagify_signup' );
|
367 |
function _do_wp_ajax_imagify_signup() {
|
390 |
* Process an API key check validity.
|
391 |
*
|
392 |
* @since 1.0
|
393 |
+
* @author Jonathan Buttigieg
|
394 |
*/
|
395 |
add_action( 'wp_ajax_imagify_check_api_key_validity', '_do_wp_ajax_imagify_check_api_key_validity' );
|
396 |
function _do_wp_ajax_imagify_check_api_key_validity() {
|
418 |
* Process a dismissed notice.
|
419 |
*
|
420 |
* @since 1.0
|
421 |
+
* @author Jonathan Buttigieg
|
422 |
*/
|
423 |
add_action( 'wp_ajax_imagify_dismiss_notice', '_do_admin_post_imagify_dismiss_notice' );
|
424 |
add_action( 'admin_post_imagify_dismiss_notice', '_do_admin_post_imagify_dismiss_notice' );
|
462 |
* Disable a plugin which can be in conflict with Imagify
|
463 |
*
|
464 |
* @since 1.2
|
465 |
+
* @author Jonathan Buttigieg
|
466 |
*/
|
467 |
add_action( 'admin_post_imagify_deactivate_plugin', '_imagify_deactivate_plugin' );
|
468 |
function _imagify_deactivate_plugin() {
|
480 |
* Get admin bar profile output
|
481 |
*
|
482 |
* @since 1.2.3
|
483 |
+
* @author Jonathan Buttigieg
|
484 |
*/
|
485 |
add_action( 'wp_ajax_imagify_get_admin_bar_profile', '_do_wp_ajax_imagify_get_admin_bar_profile' );
|
486 |
function _do_wp_ajax_imagify_get_admin_bar_profile() {
|
565 |
wp_send_json_success( $quota_section );
|
566 |
}
|
567 |
|
568 |
+
/**
|
569 |
+
* Optimize image on picture uploading with async request
|
570 |
+
*
|
571 |
+
* @since 1.5
|
572 |
+
* @author Julio Potier
|
573 |
+
**/
|
574 |
+
add_action( 'wp_ajax_imagify_async_optimize_upload_new_media', '_do_admin_post_async_optimize_upload_new_media' );
|
575 |
+
function _do_admin_post_async_optimize_upload_new_media() {
|
576 |
+
if ( isset( $_POST['_ajax_nonce'], $_POST['attachment_id'], $_POST['metadata'], $_POST['context'] )
|
577 |
+
&& check_ajax_referer( 'new_media-' . $_POST['attachment_id'] )
|
578 |
+
) {
|
579 |
+
$class_name = get_imagify_attachment_class_name( $_POST['context'] );
|
580 |
+
$attachment = new $class_name( $_POST['attachment_id'] );
|
581 |
+
|
582 |
+
// Optimize it!!!!!
|
583 |
+
$attachment->optimize( null, $_POST['metadata'] );
|
584 |
+
|
585 |
+
die( 1 );
|
586 |
+
}
|
587 |
+
}
|
588 |
/**
|
589 |
* Optimize image on picture editing with async request
|
590 |
*
|
591 |
* @since 1.4
|
592 |
+
* @author Julio Potier
|
593 |
**/
|
594 |
add_action( 'wp_ajax_imagify_async_optimize_save_image_editor_file', '_do_admin_post_async_optimize_save_image_editor_file' );
|
595 |
function _do_admin_post_async_optimize_save_image_editor_file() {
|
627 |
|
628 |
die( 1 );
|
629 |
}
|
630 |
+
}
|
631 |
+
|
632 |
+
/**
|
633 |
+
* Get pricings from API for Onetime and Plans at the same time
|
634 |
+
*
|
635 |
+
* @since 1.5
|
636 |
+
* @author Geoffrey
|
637 |
+
*/
|
638 |
+
add_action( 'wp_ajax_imagify_get_prices', '_imagify_get_prices_from_api' );
|
639 |
+
function _imagify_get_prices_from_api() {
|
640 |
+
if ( check_ajax_referer( 'imagify_get_pricing_' . get_current_user_id(), 'imagifynonce', false) ) {
|
641 |
+
|
642 |
+
$data = array();
|
643 |
+
$data['onetimes'] = get_imagify_packs_prices();
|
644 |
+
$data['monthlies'] = get_imagify_plans_prices();
|
645 |
+
|
646 |
+
wp_send_json_success( $data );
|
647 |
+
}
|
648 |
+
else {
|
649 |
+
wp_send_json_error( 'check_ajax_referer failed' );
|
650 |
+
}
|
651 |
}
|
inc/admin/enqueue.php
CHANGED
@@ -117,24 +117,8 @@ function _imagify_admin_print_styles() {
|
|
117 |
wp_enqueue_script( 'imagify-js-sweetalert' );
|
118 |
wp_enqueue_script( 'imagify-js-admin' );
|
119 |
|
120 |
-
$admin_data =
|
121 |
-
|
122 |
-
'signupText' => __( 'Enter your email to get an API key:', 'imagify' ),
|
123 |
-
'signupConfirmButtonText' => __( 'Sign Up', 'imagify' ),
|
124 |
-
'signupErrorEmptyEmail' => __( 'You need to specify an email!', 'imagify' ),
|
125 |
-
'signupSuccessTitle' => __( 'Congratulations!', 'imagify' ),
|
126 |
-
'signupSuccessText' => __( 'Your account has been succesfully created. Please check your mailbox, you are going to receive an email with API key.', 'imagify' ),
|
127 |
-
'saveApiKeyTitle' => __( 'Connect to Imagify!', 'imagify' ),
|
128 |
-
'saveApiKeyText' => __( 'Paste your API key below:', 'imagify' ),
|
129 |
-
'saveApiKeyConfirmButtonText' => __( 'Connect me', 'imagify' ),
|
130 |
-
'waitApiKeyCheckText' => __( 'Check in progress...', 'imagify' ),
|
131 |
-
'ApiKeyCheckSuccessTitle' => __( 'Congratulations!', 'imagify' ),
|
132 |
-
'ApiKeyCheckSuccessText' => __( 'Your API key is valid. You can now configure the Imagify settings to optimize your images.', 'imagify' ),
|
133 |
-
'ValidApiKeyText' => __( 'Your API key is valid.', 'imagify' ),
|
134 |
-
'swalCancel' => __( 'Cancel' )
|
135 |
-
|
136 |
-
);
|
137 |
-
wp_localize_script( 'imagify-js-admin', 'imagify', $admin_data );
|
138 |
wp_enqueue_script( 'imagify-js-admin' );
|
139 |
|
140 |
/*
|
@@ -147,11 +131,7 @@ function _imagify_admin_print_styles() {
|
|
147 |
wp_enqueue_script( 'imagify-js-options' );
|
148 |
wp_enqueue_style( 'imagify-css-twentytwenty' );
|
149 |
|
150 |
-
$options_data =
|
151 |
-
'noBackupTitle' => __( 'Don\'t Need a Parachute?', 'imagify' ),
|
152 |
-
'noBackupText' => __( 'If you keep this option deactivated, you won\'t be able to re-optimize your images to another compression level and restore your original images in case of need.', 'imagify' )
|
153 |
-
);
|
154 |
-
|
155 |
wp_localize_script( 'imagify-js-options', 'imagifyOptions', $options_data );
|
156 |
}
|
157 |
|
@@ -159,12 +139,7 @@ function _imagify_admin_print_styles() {
|
|
159 |
* Scripts loaded in /wp-admin/upload.php and post.php
|
160 |
*/
|
161 |
if ( isset( $current_screen ) && ( 'upload' === $current_screen->base || 'post' === $current_screen->base ) ) {
|
162 |
-
$upload_data =
|
163 |
-
'bulkActionsLabels' => array(
|
164 |
-
'optimize' => __( 'Optimize', 'imagify' ),
|
165 |
-
'restore' => __( 'Restore Original', 'imagify' ),
|
166 |
-
),
|
167 |
-
);
|
168 |
wp_localize_script( 'imagify-js-upload', 'imagifyUpload', $upload_data );
|
169 |
wp_enqueue_script( 'imagify-js-chart' );
|
170 |
wp_enqueue_script( 'imagify-js-upload' );
|
@@ -176,18 +151,8 @@ function _imagify_admin_print_styles() {
|
|
176 |
* /wp-admin/upload.php (for attachments list)
|
177 |
*
|
178 |
*/
|
179 |
-
if ( isset( $current_screen ) && ( ('post' === $current_screen
|
180 |
-
wp_localize_script( 'imagify-js-twentytwenty', 'imagifyTTT',
|
181 |
-
'labels' => array(
|
182 |
-
'original_l' => esc_html__( 'Original Image', 'imagify' ),
|
183 |
-
'optimized_l' => esc_html__( 'Optimized Image', 'imagify' ),
|
184 |
-
'compare' => esc_html__( 'Compare Original VS Optimized', 'imagify' ),
|
185 |
-
'close' => esc_html__( 'Close', 'imagify' ),
|
186 |
-
'filesize' => esc_html__( 'File Size:', 'imagify' ),
|
187 |
-
'saving' => esc_html__( 'Original Saving:', 'imagify' ),
|
188 |
-
'optimize' => esc_html__( 'Optimize', 'imagify' )
|
189 |
-
)
|
190 |
-
));
|
191 |
wp_enqueue_script( 'imagify-js-chart' );
|
192 |
wp_enqueue_script( 'imagify-js-event-move' );
|
193 |
wp_enqueue_script( 'imagify-js-twentytwenty' );
|
@@ -200,38 +165,11 @@ function _imagify_admin_print_styles() {
|
|
200 |
if ( isset( $current_screen ) && 'media_page_imagify-bulk-optimization' === $current_screen->base ) {
|
201 |
wp_enqueue_script( 'heartbeat' );
|
202 |
|
203 |
-
$
|
204 |
-
$bulk_data =
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
'getUnoptimizedImagesErrorTitle' => __( 'Oops, There is something wrong!', 'imagify' ),
|
209 |
-
'getUnoptimizedImagesErrorText' => __( 'An unknow error occurred when we tried to get all your unoptimized images. Try again and if the issue still persist, please contact us!', 'imagify' ),
|
210 |
-
'overviewChartLabels' => array(
|
211 |
-
'optimized' => __( 'Optimized', 'imagify' ),
|
212 |
-
'unoptimized' => __( 'Unoptimized', 'imagify' ),
|
213 |
-
'error' => __( 'Error', 'imagify' ),
|
214 |
-
),
|
215 |
-
'overQuotaTitle' => __( 'Oops, It\'s Over!', 'imagify' ),
|
216 |
-
'noAttachmentToOptimizeTitle' => __( 'Hold on!', 'imagify' ),
|
217 |
-
'noAttachmentToOptimizeText' => __( 'All your images have been optimized by Imagify. Congratulations!', 'imagify' ),
|
218 |
-
'pluginURL' => 'https://wordpress.org/plugins/imagify',
|
219 |
-
'textToShare' => __( 'Discover @imagify, the new compression tool to optimize your images for free. I saved %1$s out of %2$s!', 'imagify' ),
|
220 |
-
'totalOptimizedAttachments' => imagify_count_optimized_attachments(),
|
221 |
-
'totalUnoptimizedAttachments' => imagify_count_unoptimized_attachments(),
|
222 |
-
'totalErrorsAttachments' => imagify_count_error_attachments(),
|
223 |
-
'processing' => __( 'Imagify is still processing. Are you sure you want to leave this page?', 'imagify' ),
|
224 |
-
);
|
225 |
-
|
226 |
-
if ( imagify_valid_key() ) {
|
227 |
-
if ( is_wp_error( $user ) ) {
|
228 |
-
$bulk_data['overQuotaText'] = sprintf( __( 'To continue to optimize your images, log in to your Imagify account to %sbuy a pack or subscribe to a plan%s.', 'imagify' ), '<a href="' . IMAGIFY_APP_MAIN . '/#/subscription' . '">', '</a>' );
|
229 |
-
}
|
230 |
-
else {
|
231 |
-
$bulk_data['overQuotaText'] = sprintf( __( 'You have consumed all your credit for this month. You will have <strong>%s back on %s</strong>.', 'imagify' ), size_format( $user->quota * 1048576 ), date_i18n( __( 'F j, Y' ), strtotime( $user->next_date_update ) ) ) . '<br/><br/>' . sprintf( __( 'To continue to optimize your images, log in to your Imagify account to %sbuy a pack or subscribe to a plan%s.', 'imagify' ), '<a href="' . IMAGIFY_APP_MAIN . '/#/subscription' . '">', '</a>' );
|
232 |
-
}
|
233 |
-
}
|
234 |
-
|
235 |
wp_localize_script( 'imagify-js-bulk', 'imagifyBulk', $bulk_data );
|
236 |
wp_enqueue_script( 'imagify-js-chart' );
|
237 |
wp_enqueue_script( 'imagify-js-async' );
|
117 |
wp_enqueue_script( 'imagify-js-sweetalert' );
|
118 |
wp_enqueue_script( 'imagify-js-admin' );
|
119 |
|
120 |
+
$admin_data = get_imagify_localize_script_translations( 'admin' );
|
121 |
+
wp_localize_script( 'imagify-js-admin', 'imagifyAdmin', $admin_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
wp_enqueue_script( 'imagify-js-admin' );
|
123 |
|
124 |
/*
|
131 |
wp_enqueue_script( 'imagify-js-options' );
|
132 |
wp_enqueue_style( 'imagify-css-twentytwenty' );
|
133 |
|
134 |
+
$options_data = get_imagify_localize_script_translations( 'options' );
|
|
|
|
|
|
|
|
|
135 |
wp_localize_script( 'imagify-js-options', 'imagifyOptions', $options_data );
|
136 |
}
|
137 |
|
139 |
* Scripts loaded in /wp-admin/upload.php and post.php
|
140 |
*/
|
141 |
if ( isset( $current_screen ) && ( 'upload' === $current_screen->base || 'post' === $current_screen->base ) ) {
|
142 |
+
$upload_data = get_imagify_localize_script_translations( 'upload' );
|
|
|
|
|
|
|
|
|
|
|
143 |
wp_localize_script( 'imagify-js-upload', 'imagifyUpload', $upload_data );
|
144 |
wp_enqueue_script( 'imagify-js-chart' );
|
145 |
wp_enqueue_script( 'imagify-js-upload' );
|
151 |
* /wp-admin/upload.php (for attachments list)
|
152 |
*
|
153 |
*/
|
154 |
+
if ( isset( $current_screen ) && ( ('post' === $current_screen->base && 'attachment' === $current_screen->post_type ) || 'upload' === $current_screen->base ) ) {
|
155 |
+
wp_localize_script( 'imagify-js-twentytwenty', 'imagifyTTT', get_imagify_localize_script_translations( 'twentytwenty' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
wp_enqueue_script( 'imagify-js-chart' );
|
157 |
wp_enqueue_script( 'imagify-js-event-move' );
|
158 |
wp_enqueue_script( 'imagify-js-twentytwenty' );
|
165 |
if ( isset( $current_screen ) && 'media_page_imagify-bulk-optimization' === $current_screen->base ) {
|
166 |
wp_enqueue_script( 'heartbeat' );
|
167 |
|
168 |
+
$bulk_data = get_imagify_localize_script_translations( 'bulk' );
|
169 |
+
$bulk_data['heartbeat_id'] = 'update_bulk_data';
|
170 |
+
$bulk_data['ajax_action'] = 'imagify_get_unoptimized_attachment_ids';
|
171 |
+
$bulk_data['ajax_context'] = 'wp';
|
172 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
wp_localize_script( 'imagify-js-bulk', 'imagifyBulk', $bulk_data );
|
174 |
wp_enqueue_script( 'imagify-js-chart' );
|
175 |
wp_enqueue_script( 'imagify-js-async' );
|
inc/admin/heartbeat.php
CHANGED
@@ -9,7 +9,7 @@ global $pagenow;
|
|
9 |
* @since 1.4.5
|
10 |
*/
|
11 |
add_filter( 'heartbeat_received', '_imagify_heartbeat_received', 10, 2 );
|
12 |
-
function _imagify_heartbeat_received( $response, $data ) {
|
13 |
if( isset( $data['imagify_heartbeat'] ) && 'update_bulk_data' === $data['imagify_heartbeat'] ) {
|
14 |
$saving_data = imagify_count_saving_data();
|
15 |
$user = new Imagify_User();
|
9 |
* @since 1.4.5
|
10 |
*/
|
11 |
add_filter( 'heartbeat_received', '_imagify_heartbeat_received', 10, 2 );
|
12 |
+
function _imagify_heartbeat_received( $response, $data ) {
|
13 |
if( isset( $data['imagify_heartbeat'] ) && 'update_bulk_data' === $data['imagify_heartbeat'] ) {
|
14 |
$saving_data = imagify_count_saving_data();
|
15 |
$user = new Imagify_User();
|
inc/admin/media.php
CHANGED
@@ -1,26 +1,29 @@
|
|
1 |
-
<?php
|
2 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
|
4 |
/*
|
5 |
* Add "Imagify" column in the Media Uploader
|
6 |
*
|
7 |
* @since 1.2
|
|
|
8 |
*/
|
9 |
add_filter( 'attachment_fields_to_edit', '_imagify_attachment_fields_to_edit', PHP_INT_MAX, 2 );
|
10 |
-
function _imagify_attachment_fields_to_edit( $form_fields, $post ) {
|
11 |
global $pagenow;
|
12 |
if ( 'post.php' == $pagenow ) {
|
13 |
return $form_fields;
|
14 |
}
|
15 |
|
|
|
|
|
16 |
$form_fields['imagify'] = array(
|
17 |
'label' => 'Imagify',
|
18 |
'input' => 'html',
|
19 |
-
'html' => get_imagify_media_column_content( $
|
20 |
'show_in_edit' => true,
|
21 |
'show_in_modal' => true,
|
22 |
);
|
23 |
-
|
24 |
return $form_fields;
|
25 |
}
|
26 |
|
@@ -28,11 +31,10 @@ function _imagify_attachment_fields_to_edit( $form_fields, $post ) {
|
|
28 |
* Add "Compare Original VS Optimized" link to the media row action
|
29 |
*
|
30 |
* @since 1.4.3
|
31 |
-
* @author
|
32 |
*/
|
33 |
add_filter( 'media_row_actions', '_imagify_add_actions_to_media_list_row', PHP_INT_MAX, 2 );
|
34 |
function _imagify_add_actions_to_media_list_row( $actions, $post ) {
|
35 |
-
|
36 |
// if this attachment is not an image, do nothing
|
37 |
if ( ! wp_attachment_is_image( $post->ID ) ) {
|
38 |
return $actions;
|
@@ -44,7 +46,7 @@ function _imagify_add_actions_to_media_list_row( $actions, $post ) {
|
|
44 |
if ( ! imagify_valid_key() || ! $attachment->is_optimized() ) {
|
45 |
return $actions;
|
46 |
}
|
47 |
-
|
48 |
// if was not activated for that image, do nothing
|
49 |
if ( '' === $attachment->get_backup_url() ) {
|
50 |
return $actions;
|
1 |
+
<?php
|
2 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
|
4 |
/*
|
5 |
* Add "Imagify" column in the Media Uploader
|
6 |
*
|
7 |
* @since 1.2
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
*/
|
10 |
add_filter( 'attachment_fields_to_edit', '_imagify_attachment_fields_to_edit', PHP_INT_MAX, 2 );
|
11 |
+
function _imagify_attachment_fields_to_edit( $form_fields, $post ) {
|
12 |
global $pagenow;
|
13 |
if ( 'post.php' == $pagenow ) {
|
14 |
return $form_fields;
|
15 |
}
|
16 |
|
17 |
+
$attachment = new Imagify_Attachment( $post->ID );
|
18 |
+
|
19 |
$form_fields['imagify'] = array(
|
20 |
'label' => 'Imagify',
|
21 |
'input' => 'html',
|
22 |
+
'html' => get_imagify_media_column_content( $attachment ),
|
23 |
'show_in_edit' => true,
|
24 |
'show_in_modal' => true,
|
25 |
);
|
26 |
+
|
27 |
return $form_fields;
|
28 |
}
|
29 |
|
31 |
* Add "Compare Original VS Optimized" link to the media row action
|
32 |
*
|
33 |
* @since 1.4.3
|
34 |
+
* @author Geoffrey Crofte
|
35 |
*/
|
36 |
add_filter( 'media_row_actions', '_imagify_add_actions_to_media_list_row', PHP_INT_MAX, 2 );
|
37 |
function _imagify_add_actions_to_media_list_row( $actions, $post ) {
|
|
|
38 |
// if this attachment is not an image, do nothing
|
39 |
if ( ! wp_attachment_is_image( $post->ID ) ) {
|
40 |
return $actions;
|
46 |
if ( ! imagify_valid_key() || ! $attachment->is_optimized() ) {
|
47 |
return $actions;
|
48 |
}
|
49 |
+
|
50 |
// if was not activated for that image, do nothing
|
51 |
if ( '' === $attachment->get_backup_url() ) {
|
52 |
return $actions;
|
inc/admin/meta-boxes.php
CHANGED
@@ -22,7 +22,7 @@ function _imagify_attachment_submitbox_misc_actions() {
|
|
22 |
echo '</div>';
|
23 |
} elseif ( $attachment->is_optimized() || $attachment->has_error() ) {
|
24 |
echo '<div class="misc-pub-section misc-pub-imagify"><h4>' . __( 'Imagify', 'imagify' ) . '</h4></div>';
|
25 |
-
echo get_imagify_attachment_optimization_text( $
|
26 |
} elseif ( false !== get_transient( 'imagify-async-in-progress-' . $post->ID ) ) {
|
27 |
echo '<div class="misc-pub-section misc-pub-imagify">';
|
28 |
echo '<div class="button"><span class="imagify-spinner"></span>';
|
@@ -30,7 +30,7 @@ function _imagify_attachment_submitbox_misc_actions() {
|
|
30 |
echo '</div>';
|
31 |
echo '</div>';
|
32 |
} else {
|
33 |
-
$url = get_imagify_admin_url( 'manual-upload', $post->ID );
|
34 |
printf( '<div class="misc-pub-section misc-pub-imagify"><a class="button-primary" href="%s">%s</a></div>', $url, __( 'Optimize', 'imagify' ) );
|
35 |
}
|
36 |
|
22 |
echo '</div>';
|
23 |
} elseif ( $attachment->is_optimized() || $attachment->has_error() ) {
|
24 |
echo '<div class="misc-pub-section misc-pub-imagify"><h4>' . __( 'Imagify', 'imagify' ) . '</h4></div>';
|
25 |
+
echo get_imagify_attachment_optimization_text( $attachment );
|
26 |
} elseif ( false !== get_transient( 'imagify-async-in-progress-' . $post->ID ) ) {
|
27 |
echo '<div class="misc-pub-section misc-pub-imagify">';
|
28 |
echo '<div class="button"><span class="imagify-spinner"></span>';
|
30 |
echo '</div>';
|
31 |
echo '</div>';
|
32 |
} else {
|
33 |
+
$url = get_imagify_admin_url( 'manual-upload', array( 'attachment_id' => $post->ID ) );
|
34 |
printf( '<div class="misc-pub-section misc-pub-imagify"><a class="button-primary" href="%s">%s</a></div>', $url, __( 'Optimize', 'imagify' ) );
|
35 |
}
|
36 |
|
inc/admin/options.php
CHANGED
@@ -3,7 +3,8 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
3 |
|
4 |
/**
|
5 |
* Fix the capability for our capacity filter hook
|
6 |
-
*
|
|
|
7 |
* @since 1.0
|
8 |
*/
|
9 |
add_filter( 'option_page_capability_imagify', '_imagify_correct_capability_for_options_page' );
|
@@ -14,18 +15,19 @@ function _imagify_correct_capability_for_options_page( $capability ) {
|
|
14 |
|
15 |
/**
|
16 |
* Tell to WordPress to be confident with our setting, we are clean!
|
17 |
-
*
|
|
|
18 |
* @since 1.0
|
19 |
*/
|
20 |
add_action( 'admin_init', '_imagify_register_setting' );
|
21 |
-
function _imagify_register_setting()
|
22 |
-
{
|
23 |
register_setting( 'imagify', 'imagify_settings' );
|
24 |
}
|
25 |
|
26 |
/**
|
27 |
* Filter specific options before its value is (maybe) serialized and updated.
|
28 |
*
|
|
|
29 |
* @since 1.0
|
30 |
*/
|
31 |
add_filter( 'pre_update_option_' . IMAGIFY_SETTINGS_SLUG, '_imagify_pre_update_option', 10, 2 );
|
@@ -63,12 +65,14 @@ function _imagify_pre_update_option( $value, $old_value ) {
|
|
63 |
/**
|
64 |
* Used to launch some actions after saving the options
|
65 |
*
|
|
|
66 |
* @since 1.0
|
|
|
67 |
*/
|
68 |
add_action( 'update_option_' . IMAGIFY_SETTINGS_SLUG, '_imagify_after_save_options', 10, 2 );
|
69 |
add_action( 'update_site_option_' . IMAGIFY_SETTINGS_SLUG, '_imagify_after_save_options', 10, 2 );
|
70 |
-
function _imagify_after_save_options( $oldvalue, $value )
|
71 |
-
|
72 |
if ( ! ( (bool) $oldvalue && (bool) $value ) ) {
|
73 |
return;
|
74 |
}
|
@@ -83,6 +87,15 @@ function _imagify_after_save_options( $oldvalue, $value )
|
|
83 |
imagify_dismiss_notice( 'wrong-api-key' );
|
84 |
}
|
85 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
|
3 |
|
4 |
/**
|
5 |
* Fix the capability for our capacity filter hook
|
6 |
+
*
|
7 |
+
* @author Jonathan
|
8 |
* @since 1.0
|
9 |
*/
|
10 |
add_filter( 'option_page_capability_imagify', '_imagify_correct_capability_for_options_page' );
|
15 |
|
16 |
/**
|
17 |
* Tell to WordPress to be confident with our setting, we are clean!
|
18 |
+
*
|
19 |
+
* @author Jonathan
|
20 |
* @since 1.0
|
21 |
*/
|
22 |
add_action( 'admin_init', '_imagify_register_setting' );
|
23 |
+
function _imagify_register_setting() {
|
|
|
24 |
register_setting( 'imagify', 'imagify_settings' );
|
25 |
}
|
26 |
|
27 |
/**
|
28 |
* Filter specific options before its value is (maybe) serialized and updated.
|
29 |
*
|
30 |
+
* @author Jonathan
|
31 |
* @since 1.0
|
32 |
*/
|
33 |
add_filter( 'pre_update_option_' . IMAGIFY_SETTINGS_SLUG, '_imagify_pre_update_option', 10, 2 );
|
65 |
/**
|
66 |
* Used to launch some actions after saving the options
|
67 |
*
|
68 |
+
* @author Jonathan
|
69 |
* @since 1.0
|
70 |
+
* @since 1.5 Used to redirect user to Bulk Optimizer (if requested)
|
71 |
*/
|
72 |
add_action( 'update_option_' . IMAGIFY_SETTINGS_SLUG, '_imagify_after_save_options', 10, 2 );
|
73 |
add_action( 'update_site_option_' . IMAGIFY_SETTINGS_SLUG, '_imagify_after_save_options', 10, 2 );
|
74 |
+
function _imagify_after_save_options( $oldvalue, $value ) {
|
75 |
+
|
76 |
if ( ! ( (bool) $oldvalue && (bool) $value ) ) {
|
77 |
return;
|
78 |
}
|
87 |
imagify_dismiss_notice( 'wrong-api-key' );
|
88 |
}
|
89 |
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* @author Geoffrey
|
93 |
+
* @since 1.5
|
94 |
+
*/
|
95 |
+
if ( isset( $_POST['submit-goto-bulk'] ) ) {
|
96 |
+
wp_safe_redirect( get_admin_url( get_current_blog_id(), 'upload.php?page=imagify-bulk-optimization' ) );
|
97 |
+
exit;
|
98 |
+
}
|
99 |
}
|
100 |
|
101 |
|
inc/admin/ui/bulk.php
CHANGED
@@ -72,6 +72,8 @@ function _imagify_display_bulk_page() {
|
|
72 |
|
73 |
<img width="225" height="26" alt="Imagify" src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>imagify-logo.png" class="imagify-logo" />
|
74 |
</div>
|
|
|
|
|
75 |
|
76 |
<div class="imagify-sub-title">
|
77 |
<svg class="icon icon-bulk" viewBox="0 0 38 36" width="38" height="36" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m233.09 177.21l-5.52 10.248c-.08.145-.018.272-.023.388-.074.193-.033.4-.033.619v21.615c0 .952.601 1.429 1.552 1.429h33.897c.952 0 1.962-.478 1.962-1.429v-21.615c0-.487-.323-.925-.649-1.24l-5.623-9.976c-.405-.726-1.202-1.179-2.034-1.182l-21.486-.068c-.849 0-1.64.464-2.043 1.211m30.424 32.869c0 .173-.378.018-.551.018h-33.897c-.172 0-.14.155-.14-.018v-21.576l33.961-.281c.066.008.186.09.263.128.054.027.205.049.258.073.002.014.106.027.106.041v21.615m-6.153-32.11l4.91 8.835h-14.992v-9.354l9.306.045c.322.001.619.192.776.474m-11.494-.523v9.358h-16.306l4.773-8.892c.155-.289.456-.484.787-.484l10.746.018m7.06 17.12c0 .39-.316.706-.706.706h-12.706c-.39 0-.706-.316-.706-.706 0-.39.316-.706.706-.706h12.706c.39 0 .706.316.706.706" transform="translate(-227-176)" fill="#7a8996"/></g></svg>
|
@@ -84,93 +86,8 @@ function _imagify_display_bulk_page() {
|
|
84 |
<div class="imagify-settings-section">
|
85 |
|
86 |
<div class="imagify-columns">
|
87 |
-
|
88 |
-
<div class="col-1-3 col-informations">
|
89 |
-
<h3><?php _e( 'Information', 'imagify' ); ?></h3>
|
90 |
-
<ul class="imagify-list-dash">
|
91 |
-
<li><strong><?php _e( 'Please be aware that optimizing a large number of images can take a while depending on your server and network speed.', 'imagify' ); ?></strong>
|
92 |
-
<?php
|
93 |
-
if ( get_transient( IMAGIFY_SLUG . '_large_library' ) ) {
|
94 |
-
printf( __( 'If you have more than %s images, you will need to launch the bulk optimization several times.' , 'imagify' ), number_format_i18n( apply_filters( 'imagify_unoptimized_attachment_limit', 10000 ) ) );
|
95 |
-
}
|
96 |
-
?>
|
97 |
-
</li>
|
98 |
-
<li><?php _e( 'You must keep this page open while the bulk optimizaton is processing. If you leave you can come back to continue where it left off.', 'imagify' ); ?></li>
|
99 |
-
</ul>
|
100 |
-
|
101 |
-
<div class="imagify-bulk-submit">
|
102 |
-
|
103 |
-
<?php if ( get_imagify_option( 'backup', 0 ) == "1" ) { ?>
|
104 |
-
|
105 |
-
<p>
|
106 |
-
<strong><?php _e( 'Select Your Compression Level', 'imagify' ); ?></strong>
|
107 |
-
<br>
|
108 |
-
<?php
|
109 |
-
$default_set = __( 'Ultra', 'imagify' );
|
110 |
-
switch( get_imagify_option( 'optimization_level' ) ) {
|
111 |
-
case '1':
|
112 |
-
$default_set = __( 'Aggressive', 'imagify' );
|
113 |
-
break;
|
114 |
-
case '0':
|
115 |
-
$default_set = __( 'Normal', 'imagify' );
|
116 |
-
break;
|
117 |
-
}
|
118 |
-
|
119 |
-
_e( 'Your default setting:', 'imagify' );
|
120 |
-
echo ' <strong class="imagify-primary">' . $default_set . '</strong>';
|
121 |
-
?>
|
122 |
-
</p>
|
123 |
-
|
124 |
-
<p class="imagify-inline-options">
|
125 |
-
<input type="radio" id="imagify-optimization_level_normal" name="optimization_level" value="0" <?php checked( get_imagify_option( 'optimization_level' ), 0 ); ?>>
|
126 |
-
<label for="imagify-optimization_level_normal">
|
127 |
-
<?php _e( 'Normal', 'imagify' ); ?>
|
128 |
-
</label>
|
129 |
-
|
130 |
-
<input type="radio" id="imagify-optimization_level_aggro" name="optimization_level" value="1" <?php checked( get_imagify_option( 'optimization_level' ), 1 ); ?>>
|
131 |
-
<label for="imagify-optimization_level_aggro">
|
132 |
-
<?php _e( 'Aggressive', 'imagify' ); ?>
|
133 |
-
</label>
|
134 |
-
|
135 |
-
<input type="radio" id="imagify-optimization_level_ultra" name="optimization_level" value="2" <?php checked( get_imagify_option( 'optimization_level' ), 2 ); ?>>
|
136 |
-
<label for="imagify-optimization_level_ultra">
|
137 |
-
<?php _e( 'Ultra', 'imagify' ); ?>
|
138 |
-
</label>
|
139 |
-
</p>
|
140 |
-
|
141 |
-
<?php
|
142 |
-
}
|
143 |
-
else {
|
144 |
-
?>
|
145 |
-
<p>
|
146 |
-
<strong><?php printf( __( 'Don\'t forget to check %syour settings%s before bulk optimization.', 'imagify' ), '<a href="' . get_imagify_admin_url() . '">', '</a>' ); ?></strong>
|
147 |
-
</p>
|
148 |
-
<?php
|
149 |
-
}
|
150 |
-
?>
|
151 |
-
|
152 |
-
<p>
|
153 |
-
<?php wp_nonce_field( 'imagify-bulk-upload', 'imagifybulkuploadnonce' ); ?>
|
154 |
-
<button id="imagify-bulk-action" type="button" class="button button-primary">
|
155 |
-
<span class="dashicons dashicons-admin-generic"></span>
|
156 |
-
<span class="button-text"><?php _e( 'Imagif\'em all', 'imagify'); ?></span>
|
157 |
-
</button>
|
158 |
-
<?php
|
159 |
-
if ( $user->is_free() ) { ?>
|
160 |
-
<span class="imagify-tooltips right">
|
161 |
-
<span class="tooltip-content">
|
162 |
-
<span class="icon icon-round" aria-hidden="true">i</span>
|
163 |
-
<?php printf( __( 'All images which are over to %s could be optimized using the pro version.', 'imagify' ), size_format( IMAGIFY_MAX_BYTES , 0 ) ); ?>
|
164 |
-
</span>
|
165 |
-
</span>
|
166 |
-
<?php
|
167 |
-
}
|
168 |
-
?>
|
169 |
-
</p>
|
170 |
-
</div>
|
171 |
-
</div>
|
172 |
|
173 |
-
<div class="col-1-3">
|
174 |
<h3><?php _e( 'Overview', 'imagify' ); ?></h3>
|
175 |
|
176 |
<div class="imagify-chart-container">
|
@@ -178,6 +95,8 @@ function _imagify_display_bulk_page() {
|
|
178 |
<div id="imagify-overview-chart-percent" class="imagify-chart-percent"><?php echo imagify_percent_optimized_attachments(); ?><span>%</span></div>
|
179 |
</div>
|
180 |
<div id="imagify-overview-chart-legend"></div>
|
|
|
|
|
181 |
</div>
|
182 |
|
183 |
<div class="col-1-3 col-statistics">
|
@@ -219,8 +138,91 @@ function _imagify_display_bulk_page() {
|
|
219 |
</div>
|
220 |
</div>
|
221 |
|
222 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
</div><!-- .imagify-settings-section -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
|
225 |
<!-- The Success/Complete bar -->
|
226 |
<div class="imagify-row-complete hidden" aria-hidden="true">
|
@@ -295,6 +297,9 @@ function _imagify_display_bulk_page() {
|
|
295 |
</tbody>
|
296 |
</table>
|
297 |
</div>
|
|
|
|
|
|
|
298 |
</div>
|
299 |
<?php
|
300 |
}
|
72 |
|
73 |
<img width="225" height="26" alt="Imagify" src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>imagify-logo.png" class="imagify-logo" />
|
74 |
</div>
|
75 |
+
|
76 |
+
<?php //echo get_imagify_new_to_imagify(); ?>
|
77 |
|
78 |
<div class="imagify-sub-title">
|
79 |
<svg class="icon icon-bulk" viewBox="0 0 38 36" width="38" height="36" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m233.09 177.21l-5.52 10.248c-.08.145-.018.272-.023.388-.074.193-.033.4-.033.619v21.615c0 .952.601 1.429 1.552 1.429h33.897c.952 0 1.962-.478 1.962-1.429v-21.615c0-.487-.323-.925-.649-1.24l-5.623-9.976c-.405-.726-1.202-1.179-2.034-1.182l-21.486-.068c-.849 0-1.64.464-2.043 1.211m30.424 32.869c0 .173-.378.018-.551.018h-33.897c-.172 0-.14.155-.14-.018v-21.576l33.961-.281c.066.008.186.09.263.128.054.027.205.049.258.073.002.014.106.027.106.041v21.615m-6.153-32.11l4.91 8.835h-14.992v-9.354l9.306.045c.322.001.619.192.776.474m-11.494-.523v9.358h-16.306l4.773-8.892c.155-.289.456-.484.787-.484l10.746.018m7.06 17.12c0 .39-.316.706-.706.706h-12.706c-.39 0-.706-.316-.706-.706 0-.39.316-.706.706-.706h12.706c.39 0 .706.316.706.706" transform="translate(-227-176)" fill="#7a8996"/></g></svg>
|
86 |
<div class="imagify-settings-section">
|
87 |
|
88 |
<div class="imagify-columns">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
<div class="col-1-3 col-overview">
|
91 |
<h3><?php _e( 'Overview', 'imagify' ); ?></h3>
|
92 |
|
93 |
<div class="imagify-chart-container">
|
95 |
<div id="imagify-overview-chart-percent" class="imagify-chart-percent"><?php echo imagify_percent_optimized_attachments(); ?><span>%</span></div>
|
96 |
</div>
|
97 |
<div id="imagify-overview-chart-legend"></div>
|
98 |
+
|
99 |
+
<p class="imagify-global-optim-phrase imagify-clear"><?php printf( esc_html__( 'You optimized %s images of your website', 'imagify' ), '<span class="imagify-total-percent">' . imagify_percent_optimized_attachments() . '%</span>' ); ?></p>
|
100 |
</div>
|
101 |
|
102 |
<div class="col-1-3 col-statistics">
|
138 |
</div>
|
139 |
</div>
|
140 |
|
141 |
+
<div class="col-1-3 col-informations">
|
142 |
+
<h3><?php _e( 'Information', 'imagify' ); ?></h3>
|
143 |
+
<ul class="imagify-list-infos">
|
144 |
+
<li>
|
145 |
+
<?php
|
146 |
+
esc_html_e( 'Please be aware that optimizing a large number of images can take a while depending on your server and network speed.', 'imagify' );
|
147 |
+
|
148 |
+
if ( get_transient( IMAGIFY_SLUG . '_large_library' ) ) {
|
149 |
+
printf( __( 'If you have more than %s images, you will need to launch the bulk optimization several times.' , 'imagify' ), number_format_i18n( apply_filters( 'imagify_unoptimized_attachment_limit', 10000 ) ) );
|
150 |
+
}
|
151 |
+
?>
|
152 |
+
</li>
|
153 |
+
<li><?php esc_html_e( 'You must keep this page open while the bulk optimizaton is processing. If you leave you can come back to continue where it left off.', 'imagify' ); ?></li>
|
154 |
+
</ul>
|
155 |
+
</div><!-- .col-1-2 -->
|
156 |
+
</div><!-- .imagify-columns -->
|
157 |
</div><!-- .imagify-settings-section -->
|
158 |
+
|
159 |
+
<div class="imagify-section imagify-section-gray">
|
160 |
+
<div class="imagify-bulk-submit imagify-columns imagify-count">
|
161 |
+
<div class="col-1-2">
|
162 |
+
<?php if ( get_imagify_option( 'backup', 0 ) == "1" ) { ?>
|
163 |
+
|
164 |
+
<p class="imagify-count-title"><?php esc_html_e( 'Select Your Compression Level', 'imagify' ); ?>
|
165 |
+
<?php
|
166 |
+
$default_set = esc_html__( 'Ultra', 'imagify' );
|
167 |
+
switch( get_imagify_option( 'optimization_level' ) ) {
|
168 |
+
case '1':
|
169 |
+
$default_set = esc_html__( 'Aggressive', 'imagify' );
|
170 |
+
break;
|
171 |
+
case '0':
|
172 |
+
$default_set = esc_html__( 'Normal', 'imagify' );
|
173 |
+
break;
|
174 |
+
}
|
175 |
+
|
176 |
+
echo '<em class="imagify-default-settings">(' . sprintf( esc_html__( 'Your default setting: %s', 'imagify' ), ' <strong class="imagify-primary">' . $default_set . '</strong>' ) . ')</em>';
|
177 |
+
?>
|
178 |
+
</p>
|
179 |
+
<p class="imagify-inline-options">
|
180 |
+
<input type="radio" id="imagify-optimization_level_normal" name="optimization_level" value="0" <?php checked( get_imagify_option( 'optimization_level' ), 0 ); ?>>
|
181 |
+
<label for="imagify-optimization_level_normal">
|
182 |
+
<?php esc_html_e( 'Normal', 'imagify' ); ?>
|
183 |
+
</label>
|
184 |
+
|
185 |
+
<input type="radio" id="imagify-optimization_level_aggro" name="optimization_level" value="1" <?php checked( get_imagify_option( 'optimization_level' ), 1 ); ?>>
|
186 |
+
<label for="imagify-optimization_level_aggro">
|
187 |
+
<?php esc_html_e( 'Aggressive', 'imagify' ); ?>
|
188 |
+
</label>
|
189 |
+
|
190 |
+
<input type="radio" id="imagify-optimization_level_ultra" name="optimization_level" value="2" <?php checked( get_imagify_option( 'optimization_level' ), 2 ); ?>>
|
191 |
+
<label for="imagify-optimization_level_ultra">
|
192 |
+
<?php esc_html_e( 'Ultra', 'imagify' ); ?>
|
193 |
+
</label>
|
194 |
+
</p>
|
195 |
+
|
196 |
+
<?php
|
197 |
+
}
|
198 |
+
else {
|
199 |
+
?>
|
200 |
+
<p>
|
201 |
+
<strong><?php printf( __( 'Don\'t forget to check %syour settings%s before bulk optimization.', 'imagify' ), '<a href="' . get_imagify_admin_url() . '">', '</a>' ); ?></strong>
|
202 |
+
</p>
|
203 |
+
<?php
|
204 |
+
}
|
205 |
+
?>
|
206 |
+
</div>
|
207 |
+
<div class="col-1-2">
|
208 |
+
<p class="imagify-count-title"><?php esc_html_e( 'Let\'s go!', 'imagify' ); ?></p>
|
209 |
+
<div class="imagify-table">
|
210 |
+
<div class="imagify-cell imagify-pl0">
|
211 |
+
<p>
|
212 |
+
<?php wp_nonce_field( 'imagify-bulk-upload', 'imagifybulkuploadnonce' ); ?>
|
213 |
+
<button id="imagify-bulk-action" type="button" class="button button-primary">
|
214 |
+
<span class="dashicons dashicons-admin-generic"></span>
|
215 |
+
<span class="button-text"><?php _e( 'Imagif\'em all', 'imagify'); ?></span>
|
216 |
+
</button>
|
217 |
+
</p>
|
218 |
+
</div>
|
219 |
+
<div class="imagify-cell imagify-pl0">
|
220 |
+
<p class="imagify-info-block"><?php printf( __( 'All images greater than %s will be optimized when using a paying monthly plan.', 'imagify' ), size_format( 5000000 ) ); ?></p>
|
221 |
+
</div>
|
222 |
+
</div>
|
223 |
+
</div>
|
224 |
+
</div><!-- .imagify-bulk-submit -->
|
225 |
+
</div>
|
226 |
|
227 |
<!-- The Success/Complete bar -->
|
228 |
<div class="imagify-row-complete hidden" aria-hidden="true">
|
297 |
</tbody>
|
298 |
</table>
|
299 |
</div>
|
300 |
+
|
301 |
+
<?php //imagify_payment_modal(); ?>
|
302 |
+
|
303 |
</div>
|
304 |
<?php
|
305 |
}
|
inc/admin/ui/notices.php
CHANGED
@@ -5,6 +5,7 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
5 |
* This warning is displayed when the API key is empty
|
6 |
*
|
7 |
* @since 1.0
|
|
|
8 |
*/
|
9 |
add_action( 'all_admin_notices', '_imagify_warning_empty_api_key_notice' );
|
10 |
function _imagify_warning_empty_api_key_notice() {
|
@@ -64,6 +65,7 @@ function _imagify_warning_empty_api_key_notice() {
|
|
64 |
* This warning is displayed when the API key is empty
|
65 |
*
|
66 |
* @since 1.0
|
|
|
67 |
*/
|
68 |
add_action( 'all_admin_notices', '_imagify_warning_wrong_api_key_notice' );
|
69 |
function _imagify_warning_wrong_api_key_notice() {
|
@@ -97,6 +99,7 @@ function _imagify_warning_wrong_api_key_notice() {
|
|
97 |
* This warning is displayed when some plugins may conflict with Imagify
|
98 |
*
|
99 |
* @since 1.0
|
|
|
100 |
*/
|
101 |
add_action( 'all_admin_notices', '_imagify_warning_plugins_to_deactivate_notice' );
|
102 |
function _imagify_warning_plugins_to_deactivate_notice() {
|
@@ -106,6 +109,7 @@ function _imagify_warning_plugins_to_deactivate_notice() {
|
|
106 |
// Deactivate all plugins who can cause conflicts with Imagify
|
107 |
$plugins = array(
|
108 |
'wp-smush' => 'wp-smushit/wp-smush.php', // WP Smush
|
|
|
109 |
'kraken' => 'kraken-image-optimizer/kraken.php', // Kraken.io
|
110 |
'tinypng' => 'tiny-compress-images/tiny-compress-images.php', // TinyPNG
|
111 |
'shortpixel' => 'shortpixel-image-optimiser/wp-shortpixel.php', // Shortpixel
|
@@ -154,6 +158,7 @@ function _imagify_warning_plugins_to_deactivate_notice() {
|
|
154 |
* This notice is displayed when external HTTP requests are blocked via the WP_HTTP_BLOCK_EXTERNAL constant
|
155 |
*
|
156 |
* @since 1.0
|
|
|
157 |
*/
|
158 |
add_action( 'all_admin_notices', '_imagify_http_block_external_notice' );
|
159 |
function _imagify_http_block_external_notice() {
|
@@ -187,6 +192,7 @@ function _imagify_http_block_external_notice() {
|
|
187 |
* This warning is displayed when the grid view is active on the library
|
188 |
*
|
189 |
* @since 1.0.2
|
|
|
190 |
*/
|
191 |
add_action( 'all_admin_notices', '_imagify_warning_grid_view_notice' );
|
192 |
function _imagify_warning_grid_view_notice() {
|
@@ -223,6 +229,7 @@ function _imagify_warning_grid_view_notice() {
|
|
223 |
* This warning is displayed to warn the user that its quota is consumed for the current month
|
224 |
*
|
225 |
* @since 1.1.1
|
|
|
226 |
*/
|
227 |
add_action( 'all_admin_notices', '_imagify_warning_over_quota_notice' );
|
228 |
function _imagify_warning_over_quota_notice() {
|
@@ -262,6 +269,7 @@ function _imagify_warning_over_quota_notice() {
|
|
262 |
* Add a message about WP Rocket on the "Bulk Optimization" screen.
|
263 |
*
|
264 |
* @since 2.7
|
|
|
265 |
*/
|
266 |
add_action( 'admin_notices', '_imagify_rocket_notice' );
|
267 |
function _imagify_rocket_notice() {
|
@@ -326,6 +334,7 @@ function _imagify_rocket_notice() {
|
|
326 |
* This notice is displayed to rate the plugin after 100 optimization & 7 days after the first installation
|
327 |
*
|
328 |
* @since 1.4.2
|
|
|
329 |
*/
|
330 |
add_action( 'all_admin_notices', '_imagify_rating_notice' );
|
331 |
function _imagify_rating_notice() {
|
5 |
* This warning is displayed when the API key is empty
|
6 |
*
|
7 |
* @since 1.0
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
*/
|
10 |
add_action( 'all_admin_notices', '_imagify_warning_empty_api_key_notice' );
|
11 |
function _imagify_warning_empty_api_key_notice() {
|
65 |
* This warning is displayed when the API key is empty
|
66 |
*
|
67 |
* @since 1.0
|
68 |
+
* @author Jonathan Buttigieg
|
69 |
*/
|
70 |
add_action( 'all_admin_notices', '_imagify_warning_wrong_api_key_notice' );
|
71 |
function _imagify_warning_wrong_api_key_notice() {
|
99 |
* This warning is displayed when some plugins may conflict with Imagify
|
100 |
*
|
101 |
* @since 1.0
|
102 |
+
* @author Jonathan Buttigieg
|
103 |
*/
|
104 |
add_action( 'all_admin_notices', '_imagify_warning_plugins_to_deactivate_notice' );
|
105 |
function _imagify_warning_plugins_to_deactivate_notice() {
|
109 |
// Deactivate all plugins who can cause conflicts with Imagify
|
110 |
$plugins = array(
|
111 |
'wp-smush' => 'wp-smushit/wp-smush.php', // WP Smush
|
112 |
+
'wp-smush-pro' => 'wp-smush-pro/wp-smush.php', // WP Smush Pro
|
113 |
'kraken' => 'kraken-image-optimizer/kraken.php', // Kraken.io
|
114 |
'tinypng' => 'tiny-compress-images/tiny-compress-images.php', // TinyPNG
|
115 |
'shortpixel' => 'shortpixel-image-optimiser/wp-shortpixel.php', // Shortpixel
|
158 |
* This notice is displayed when external HTTP requests are blocked via the WP_HTTP_BLOCK_EXTERNAL constant
|
159 |
*
|
160 |
* @since 1.0
|
161 |
+
* @author Jonathan Buttigieg
|
162 |
*/
|
163 |
add_action( 'all_admin_notices', '_imagify_http_block_external_notice' );
|
164 |
function _imagify_http_block_external_notice() {
|
192 |
* This warning is displayed when the grid view is active on the library
|
193 |
*
|
194 |
* @since 1.0.2
|
195 |
+
* @author Jonathan Buttigieg
|
196 |
*/
|
197 |
add_action( 'all_admin_notices', '_imagify_warning_grid_view_notice' );
|
198 |
function _imagify_warning_grid_view_notice() {
|
229 |
* This warning is displayed to warn the user that its quota is consumed for the current month
|
230 |
*
|
231 |
* @since 1.1.1
|
232 |
+
* @author Jonathan Buttigieg
|
233 |
*/
|
234 |
add_action( 'all_admin_notices', '_imagify_warning_over_quota_notice' );
|
235 |
function _imagify_warning_over_quota_notice() {
|
269 |
* Add a message about WP Rocket on the "Bulk Optimization" screen.
|
270 |
*
|
271 |
* @since 2.7
|
272 |
+
* @author Jonathan Buttigieg
|
273 |
*/
|
274 |
add_action( 'admin_notices', '_imagify_rocket_notice' );
|
275 |
function _imagify_rocket_notice() {
|
334 |
* This notice is displayed to rate the plugin after 100 optimization & 7 days after the first installation
|
335 |
*
|
336 |
* @since 1.4.2
|
337 |
+
* @author Jonathan Buttigieg
|
338 |
*/
|
339 |
add_action( 'all_admin_notices', '_imagify_rating_notice' );
|
340 |
function _imagify_rating_notice() {
|
inc/admin/ui/options.php
CHANGED
@@ -8,6 +8,10 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
8 |
*/
|
9 |
function _imagify_display_options_page() {
|
10 |
global $_wp_additional_image_sizes, $wp_version;
|
|
|
|
|
|
|
|
|
11 |
?>
|
12 |
<div class="wrap imagify-settings">
|
13 |
<?php
|
@@ -45,7 +49,7 @@ function _imagify_display_options_page() {
|
|
45 |
}
|
46 |
?>
|
47 |
|
48 |
-
<div class="imagify-col">
|
49 |
<?php $heading_tag = version_compare( $GLOBALS['wp_version'], '4.3' ) >= 0 ? 'h1' : 'h2'; ?>
|
50 |
<div class="imagify-title">
|
51 |
<img width="225" height="26" alt="Imagify" src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>imagify-logo.png" class="imagify-logo" /> <small><sup><?php echo IMAGIFY_VERSION; ?></sup></small>
|
@@ -69,6 +73,8 @@ function _imagify_display_options_page() {
|
|
69 |
|
70 |
<h3 class="screen-reader-text"><?php _e( 'Settings' ); ?></h3>
|
71 |
|
|
|
|
|
72 |
<?php
|
73 |
if ( ! defined( 'IMAGIFY_API_KEY' ) || ! IMAGIFY_API_KEY ) { ?>
|
74 |
<div class="imagify-sub-header">
|
@@ -108,6 +114,7 @@ function _imagify_display_options_page() {
|
|
108 |
?>
|
109 |
|
110 |
<div class="imagify-settings-section <?php echo ( ! imagify_valid_key() ) ? 'hidden' : ''; ?>">
|
|
|
111 |
<table class="form-table">
|
112 |
<tbody>
|
113 |
<tr class="imagify-middle">
|
@@ -303,7 +310,20 @@ function _imagify_display_options_page() {
|
|
303 |
|
304 |
</div>
|
305 |
<div class="submit">
|
306 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
<div class="imagify-bulk-info">
|
308 |
<p><?php printf( __( 'Once your settings saved, optimize all your images by using the %sImagify Bulk Optimization%s feature.', 'imagify' ), '<a href="' . get_admin_url() . 'upload.php?page=' . IMAGIFY_SLUG . '-bulk-optimization">', '</a>' ); ?></p>
|
309 |
</div>
|
@@ -484,6 +504,8 @@ function _imagify_display_options_page() {
|
|
484 |
</div>
|
485 |
</div>
|
486 |
|
|
|
|
|
487 |
</div>
|
488 |
<?php
|
489 |
}
|
8 |
*/
|
9 |
function _imagify_display_options_page() {
|
10 |
global $_wp_additional_image_sizes, $wp_version;
|
11 |
+
|
12 |
+
if ( isset( $_POST['submit-goto-bulk'] ) ) {
|
13 |
+
wp_safe_redirect( get_admin_url( get_current_blog_id(), 'upload.php?page=imagify-bulk-optimization' ) );
|
14 |
+
}
|
15 |
?>
|
16 |
<div class="wrap imagify-settings">
|
17 |
<?php
|
49 |
}
|
50 |
?>
|
51 |
|
52 |
+
<div class="imagify-col imagify-main">
|
53 |
<?php $heading_tag = version_compare( $GLOBALS['wp_version'], '4.3' ) >= 0 ? 'h1' : 'h2'; ?>
|
54 |
<div class="imagify-title">
|
55 |
<img width="225" height="26" alt="Imagify" src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>imagify-logo.png" class="imagify-logo" /> <small><sup><?php echo IMAGIFY_VERSION; ?></sup></small>
|
73 |
|
74 |
<h3 class="screen-reader-text"><?php _e( 'Settings' ); ?></h3>
|
75 |
|
76 |
+
<?php //echo get_imagify_new_to_imagify(); ?>
|
77 |
+
|
78 |
<?php
|
79 |
if ( ! defined( 'IMAGIFY_API_KEY' ) || ! IMAGIFY_API_KEY ) { ?>
|
80 |
<div class="imagify-sub-header">
|
114 |
?>
|
115 |
|
116 |
<div class="imagify-settings-section <?php echo ( ! imagify_valid_key() ) ? 'hidden' : ''; ?>">
|
117 |
+
|
118 |
<table class="form-table">
|
119 |
<tbody>
|
120 |
<tr class="imagify-middle">
|
310 |
|
311 |
</div>
|
312 |
<div class="submit">
|
313 |
+
<?php
|
314 |
+
// classical submit
|
315 |
+
submit_button();
|
316 |
+
|
317 |
+
// submit and go to bulk page
|
318 |
+
submit_button(
|
319 |
+
esc_html__( 'Save & Go to Bulk Optimizer', 'imagify' ),
|
320 |
+
'secondary imagify-button-secondary', // type/classes
|
321 |
+
'submit-goto-bulk', // name (id)
|
322 |
+
true, // wrap
|
323 |
+
array() //other attributes
|
324 |
+
);
|
325 |
+
?>
|
326 |
+
|
327 |
<div class="imagify-bulk-info">
|
328 |
<p><?php printf( __( 'Once your settings saved, optimize all your images by using the %sImagify Bulk Optimization%s feature.', 'imagify' ), '<a href="' . get_admin_url() . 'upload.php?page=' . IMAGIFY_SLUG . '-bulk-optimization">', '</a>' ); ?></p>
|
329 |
</div>
|
504 |
</div>
|
505 |
</div>
|
506 |
|
507 |
+
<?php //imagify_payment_modal(); ?>
|
508 |
+
|
509 |
</div>
|
510 |
<?php
|
511 |
}
|
inc/admin/upload.php
CHANGED
@@ -5,6 +5,7 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
5 |
* Add "Imagify" column in upload.php
|
6 |
*
|
7 |
* @since 1.0
|
|
|
8 |
*/
|
9 |
add_filter( 'manage_media_columns', '_imagify_manage_media_columns' );
|
10 |
function _imagify_manage_media_columns( $columns ) {
|
@@ -15,7 +16,8 @@ function _imagify_manage_media_columns( $columns ) {
|
|
15 |
add_filter( 'manage_media_custom_column', '_imagify_manage_media_custom_column', 10, 2 );
|
16 |
function _imagify_manage_media_custom_column( $column_name, $attachment_id ) {
|
17 |
if ( 'imagify_optimized_file' == $column_name ) {
|
18 |
-
|
|
|
19 |
}
|
20 |
}
|
21 |
|
@@ -23,6 +25,7 @@ function _imagify_manage_media_custom_column( $column_name, $attachment_id ) {
|
|
23 |
* Adds a dropdown that allows filtering on the attachments Imagify status.
|
24 |
*
|
25 |
* @since 1.0
|
|
|
26 |
*/
|
27 |
add_action( 'restrict_manage_posts', '_imagify_attachments_filter_dropdown' );
|
28 |
function _imagify_attachments_filter_dropdown() {
|
@@ -58,6 +61,7 @@ function _imagify_attachments_filter_dropdown() {
|
|
58 |
* Modify the query based on the imagify-status variable in $_GET
|
59 |
*
|
60 |
* @since 1.0
|
|
|
61 |
*/
|
62 |
add_filter( 'request', '_imagify_sort_attachments_by_status' );
|
63 |
function _imagify_sort_attachments_by_status( $vars ) {
|
5 |
* Add "Imagify" column in upload.php
|
6 |
*
|
7 |
* @since 1.0
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
*/
|
10 |
add_filter( 'manage_media_columns', '_imagify_manage_media_columns' );
|
11 |
function _imagify_manage_media_columns( $columns ) {
|
16 |
add_filter( 'manage_media_custom_column', '_imagify_manage_media_custom_column', 10, 2 );
|
17 |
function _imagify_manage_media_custom_column( $column_name, $attachment_id ) {
|
18 |
if ( 'imagify_optimized_file' == $column_name ) {
|
19 |
+
$attachment = new Imagify_Attachment( $attachment_id );
|
20 |
+
echo get_imagify_media_column_content( $attachment );
|
21 |
}
|
22 |
}
|
23 |
|
25 |
* Adds a dropdown that allows filtering on the attachments Imagify status.
|
26 |
*
|
27 |
* @since 1.0
|
28 |
+
* @author Jonathan Buttigieg
|
29 |
*/
|
30 |
add_action( 'restrict_manage_posts', '_imagify_attachments_filter_dropdown' );
|
31 |
function _imagify_attachments_filter_dropdown() {
|
61 |
* Modify the query based on the imagify-status variable in $_GET
|
62 |
*
|
63 |
* @since 1.0
|
64 |
+
* @author Jonathan Buttigieg
|
65 |
*/
|
66 |
add_filter( 'request', '_imagify_sort_attachments_by_status' );
|
67 |
function _imagify_sort_attachments_by_status( $vars ) {
|
inc/api/imagify.php
CHANGED
@@ -67,6 +67,28 @@ function upload_imagify_image( $data ) {
|
|
67 |
return Imagify()->uploadImage( $data );
|
68 |
}
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
/**
|
71 |
* Imagify.io API for WordPress
|
72 |
*/
|
@@ -247,6 +269,24 @@ class Imagify {
|
|
247 |
return $this->httpCall( 'fetch/', $args );
|
248 |
}
|
249 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
/**
|
251 |
* Make an HTTP call using curl.
|
252 |
*
|
@@ -295,7 +335,9 @@ class Imagify {
|
|
295 |
if ( 200 != $http_code && isset( $response->code, $response->detail ) ) {
|
296 |
return new WP_Error( $http_code, $response->detail );
|
297 |
} elseif ( 200 != $http_code ) {
|
298 |
-
|
|
|
|
|
299 |
} else {
|
300 |
return $response;
|
301 |
}
|
67 |
return Imagify()->uploadImage( $data );
|
68 |
}
|
69 |
|
70 |
+
/**
|
71 |
+
* Get Imagify Plans Prices
|
72 |
+
*
|
73 |
+
* @return object
|
74 |
+
* @since 1.5
|
75 |
+
* @author Geoffrey Crofte
|
76 |
+
**/
|
77 |
+
function get_imagify_plans_prices() {
|
78 |
+
return Imagify()->getPlansPrices();
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Get Imagify Plans Prices
|
83 |
+
*
|
84 |
+
* @return object
|
85 |
+
* @since 1.5
|
86 |
+
* @author Geoffrey Crofte
|
87 |
+
**/
|
88 |
+
function get_imagify_packs_prices() {
|
89 |
+
return Imagify()->getPacksPrices();
|
90 |
+
}
|
91 |
+
|
92 |
/**
|
93 |
* Imagify.io API for WordPress
|
94 |
*/
|
269 |
return $this->httpCall( 'fetch/', $args );
|
270 |
}
|
271 |
|
272 |
+
/**
|
273 |
+
* Get prices for plans
|
274 |
+
*
|
275 |
+
* @return object
|
276 |
+
*/
|
277 |
+
public function getPlansPrices() {
|
278 |
+
return $this->httpCall( 'pricing/plan/' );
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Get prices for packs (one time)
|
283 |
+
*
|
284 |
+
* @return object
|
285 |
+
*/
|
286 |
+
public function getPacksPrices() {
|
287 |
+
return $this->httpCall( 'pricing/pack/' );
|
288 |
+
}
|
289 |
+
|
290 |
/**
|
291 |
* Make an HTTP call using curl.
|
292 |
*
|
335 |
if ( 200 != $http_code && isset( $response->code, $response->detail ) ) {
|
336 |
return new WP_Error( $http_code, $response->detail );
|
337 |
} elseif ( 200 != $http_code ) {
|
338 |
+
$http_code = (int) $http_code;
|
339 |
+
$error = '' != $error ? ' - ' . htmlentities( $error ) : '';
|
340 |
+
return new WP_Error( $http_code, "Unknown error occurred ({$http_code}{$error}) " );
|
341 |
} else {
|
342 |
return $response;
|
343 |
}
|
inc/classes/abstracts/abstract-attachment.php
ADDED
@@ -0,0 +1,383 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
class Imagify_Abstract_Attachment {
|
5 |
+
/**
|
6 |
+
* The attachment ID
|
7 |
+
*
|
8 |
+
* @since 1.0
|
9 |
+
*
|
10 |
+
* @var int
|
11 |
+
* @access public
|
12 |
+
*/
|
13 |
+
public $id;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* The constructor
|
17 |
+
*
|
18 |
+
* @since 1.0
|
19 |
+
*
|
20 |
+
* @return void
|
21 |
+
**/
|
22 |
+
function __construct( $id = 0 ) {}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Get the attachment backup filepath.
|
26 |
+
*
|
27 |
+
* @since 1.0
|
28 |
+
*
|
29 |
+
* @access public
|
30 |
+
* @return string|false
|
31 |
+
*/
|
32 |
+
public function get_backup_path() {}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Get the attachment backup URL.
|
36 |
+
*
|
37 |
+
* @since 1.4
|
38 |
+
*
|
39 |
+
* @access public
|
40 |
+
* @return string|false
|
41 |
+
*/
|
42 |
+
public function get_backup_url() {
|
43 |
+
$backup_path = $this->get_backup_path();
|
44 |
+
$backup_url = str_replace( ABSPATH, site_url( '/' ), $backup_path );
|
45 |
+
|
46 |
+
return $backup_url;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get the attachment optimization data.
|
51 |
+
*
|
52 |
+
* @since 1.0
|
53 |
+
*
|
54 |
+
* @access public
|
55 |
+
* @return array
|
56 |
+
*/
|
57 |
+
public function get_data() {}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Get the attachment extension.
|
61 |
+
*
|
62 |
+
* @since 1.0
|
63 |
+
*
|
64 |
+
* @access public
|
65 |
+
* @return string
|
66 |
+
*/
|
67 |
+
public function get_extension() {
|
68 |
+
$fullsize_path = $this->get_original_path();
|
69 |
+
return pathinfo( $fullsize_path, PATHINFO_EXTENSION );
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Get the attachment error if there is one.
|
74 |
+
*
|
75 |
+
* @since 1.1.5
|
76 |
+
*
|
77 |
+
* @access public
|
78 |
+
* @return string The message error
|
79 |
+
*/
|
80 |
+
public function get_optimized_error() {
|
81 |
+
$error = $this->get_size_data( 'full', 'error' );
|
82 |
+
|
83 |
+
if ( is_string( $error ) ) {
|
84 |
+
return $error;
|
85 |
+
}
|
86 |
+
|
87 |
+
return false;
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Get the attachment optimization level.
|
92 |
+
*
|
93 |
+
* @since 1.0
|
94 |
+
*
|
95 |
+
* @access public
|
96 |
+
* @return int
|
97 |
+
*/
|
98 |
+
public function get_optimization_level() {}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Get the attachment optimization level label.
|
102 |
+
*
|
103 |
+
* @since 1.2
|
104 |
+
*
|
105 |
+
* @access public
|
106 |
+
* @return string
|
107 |
+
*/
|
108 |
+
public function get_optimization_level_label() {
|
109 |
+
$label = '';
|
110 |
+
$level = $this->get_optimization_level();
|
111 |
+
|
112 |
+
switch( $level ) {
|
113 |
+
case 2:
|
114 |
+
$label = __( 'Ultra', 'imagify' );
|
115 |
+
break;
|
116 |
+
case 1:
|
117 |
+
$label = __( 'Aggressive', 'imagify' );
|
118 |
+
break;
|
119 |
+
case 0:
|
120 |
+
$label = __( 'Normal', 'imagify' );
|
121 |
+
break;
|
122 |
+
}
|
123 |
+
|
124 |
+
return $label;
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* Count number of optimized sizes.
|
129 |
+
*
|
130 |
+
* @since 1.0
|
131 |
+
*
|
132 |
+
* @access public
|
133 |
+
* @return int
|
134 |
+
*/
|
135 |
+
public function get_optimized_sizes_count() {
|
136 |
+
$data = $this->get_data();
|
137 |
+
$sizes = (array) $data['sizes'];
|
138 |
+
$count = 0;
|
139 |
+
|
140 |
+
if ( isset( $sizes['full'] ) ) {
|
141 |
+
unset( $sizes['full'] );
|
142 |
+
}
|
143 |
+
|
144 |
+
foreach ( $sizes as $size ) {
|
145 |
+
if ( $size['success'] ) {
|
146 |
+
$count++;
|
147 |
+
}
|
148 |
+
}
|
149 |
+
|
150 |
+
return (int) $count;
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Get the attachment optimization status (success or error).
|
155 |
+
*
|
156 |
+
* @since 1.0
|
157 |
+
*
|
158 |
+
* @access public
|
159 |
+
* @return string
|
160 |
+
*/
|
161 |
+
public function get_status() {}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Get the original attachment path.
|
165 |
+
*
|
166 |
+
* @since 1.0
|
167 |
+
*
|
168 |
+
* @access public
|
169 |
+
* @return string
|
170 |
+
*/
|
171 |
+
public function get_original_path() {}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* Get the original attachment size.
|
175 |
+
*
|
176 |
+
* @since 1.0
|
177 |
+
*
|
178 |
+
* @access public
|
179 |
+
* @param bool $human_format True to display the image human format size (1Mb).
|
180 |
+
* @return string
|
181 |
+
*/
|
182 |
+
public function get_original_size( $human_format = true ) {
|
183 |
+
$original_size = $this->get_size_data( 'full', 'original_size' );
|
184 |
+
$original_size = ( empty( $original_size ) ) ? @filesize( $this->get_original_path() ) : 0;
|
185 |
+
|
186 |
+
if ( true === $human_format ) {
|
187 |
+
$original_size = @size_format( $original_size, 2 );
|
188 |
+
}
|
189 |
+
|
190 |
+
return $original_size;
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Get the original attachment URL.
|
195 |
+
*
|
196 |
+
* @since 1.0
|
197 |
+
*
|
198 |
+
* @access public
|
199 |
+
* @return string
|
200 |
+
*/
|
201 |
+
public function get_original_url() {}
|
202 |
+
|
203 |
+
/*
|
204 |
+
* Get the statistics of a specific size.
|
205 |
+
*
|
206 |
+
* @since 1.0
|
207 |
+
*
|
208 |
+
* @access public
|
209 |
+
* @param string $size The thumbnail slug.
|
210 |
+
* @param string $key The specific data slug.
|
211 |
+
* @return array|string
|
212 |
+
*/
|
213 |
+
public function get_size_data( $size = 'full', $key = '' ) {
|
214 |
+
$data = $this->get_data();
|
215 |
+
$stats = array();
|
216 |
+
|
217 |
+
if ( isset( $data['sizes'][ $size ] ) ) {
|
218 |
+
$stats = $data['sizes'][ $size ];
|
219 |
+
}
|
220 |
+
|
221 |
+
if ( isset( $stats[ $key ] ) ) {
|
222 |
+
$stats = $stats[ $key ];
|
223 |
+
}
|
224 |
+
|
225 |
+
return $stats;
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* Get the global statistics data or a specific one.
|
230 |
+
*
|
231 |
+
* @since 1.0
|
232 |
+
*
|
233 |
+
* @access public
|
234 |
+
* @param string $key The specific data slug.
|
235 |
+
* @return array|string
|
236 |
+
*/
|
237 |
+
public function get_stats_data( $key = '' ) {
|
238 |
+
$data = $this->get_data();
|
239 |
+
$stats = '';
|
240 |
+
|
241 |
+
if ( isset( $data['stats'] ) ) {
|
242 |
+
$stats = $data['stats'];
|
243 |
+
}
|
244 |
+
|
245 |
+
if ( isset( $stats[ $key ] ) ) {
|
246 |
+
$stats = $stats[ $key ];
|
247 |
+
}
|
248 |
+
|
249 |
+
return $stats;
|
250 |
+
}
|
251 |
+
|
252 |
+
/**
|
253 |
+
* Check if the attachment is already optimized (before Imagify).
|
254 |
+
*
|
255 |
+
* @since 1.1.6
|
256 |
+
*
|
257 |
+
* @access public
|
258 |
+
* @return bool True if the attachment is optimized.
|
259 |
+
*/
|
260 |
+
public function is_already_optimized() {
|
261 |
+
return ( 'already_optimized' === $this->get_status() ) > 0;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Check if the attachment is optimized.
|
266 |
+
*
|
267 |
+
* @since 1.0
|
268 |
+
*
|
269 |
+
* @access public
|
270 |
+
* @return bool True if the attachment is optimized.
|
271 |
+
*/
|
272 |
+
public function is_optimized() {
|
273 |
+
return ( 'success' === $this->get_status() ) > 0;
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Check if the attachment exceeding the limit size (> 5mo).
|
278 |
+
*
|
279 |
+
* @since 1.0
|
280 |
+
*
|
281 |
+
* @access public
|
282 |
+
* @return bool True if the attachment is skipped.
|
283 |
+
*/
|
284 |
+
public function is_exceeded() {
|
285 |
+
$filepath = $this->get_original_path();
|
286 |
+
$size = 0;
|
287 |
+
|
288 |
+
if ( file_exists( $filepath ) ) {
|
289 |
+
$size = filesize( $filepath );
|
290 |
+
}
|
291 |
+
|
292 |
+
return ( $size > IMAGIFY_MAX_BYTES ) > 0;
|
293 |
+
}
|
294 |
+
|
295 |
+
/**
|
296 |
+
* Check if the attachment has a backup of the original size.
|
297 |
+
*
|
298 |
+
* @since 1.0
|
299 |
+
*
|
300 |
+
* @access public
|
301 |
+
* @return bool True if the attachment has a backup.
|
302 |
+
*/
|
303 |
+
public function has_backup() {
|
304 |
+
return (bool) $this->get_backup_path();
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Check if the attachment has an error.
|
309 |
+
*
|
310 |
+
* @since 1.0
|
311 |
+
*
|
312 |
+
* @access public
|
313 |
+
* @return bool True if the attachment has an error.
|
314 |
+
*/
|
315 |
+
public function has_error() {
|
316 |
+
$has_error = $this->get_size_data( 'full', 'error' );
|
317 |
+
return ( is_string( $has_error ) ) > 0;
|
318 |
+
}
|
319 |
+
|
320 |
+
/**
|
321 |
+
* Update the metadata size of the attachment
|
322 |
+
*
|
323 |
+
* @since 1.2
|
324 |
+
*
|
325 |
+
* @access public
|
326 |
+
* @return void
|
327 |
+
*/
|
328 |
+
public function update_metadata_size() {}
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Delete the backup file.
|
332 |
+
*
|
333 |
+
* @since 1.0
|
334 |
+
*
|
335 |
+
* @access public
|
336 |
+
* @return void
|
337 |
+
*/
|
338 |
+
public function delete_backup() {
|
339 |
+
$backup_path = $this->get_backup_path();
|
340 |
+
|
341 |
+
if ( ! empty( $backup_path ) ) {
|
342 |
+
@unlink( $backup_path );
|
343 |
+
}
|
344 |
+
}
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Fills statistics data with values from $data array
|
348 |
+
*
|
349 |
+
* @since 1.0
|
350 |
+
*
|
351 |
+
* @access public
|
352 |
+
* @static
|
353 |
+
* @param array $data The statistics data
|
354 |
+
* @param object $response The API response
|
355 |
+
* @param int $id The attachment ID
|
356 |
+
* @param int $url The attachment URL
|
357 |
+
* @param string $size The attachment size key
|
358 |
+
* @return bool|array False if the original size has an error or an array contains the data for other result
|
359 |
+
*/
|
360 |
+
static public function fill_data( $data, $response, $id, $url, $size = 'full' ) {}
|
361 |
+
|
362 |
+
/**
|
363 |
+
* Optimize all sizes with Imagify.
|
364 |
+
*
|
365 |
+
* @since 1.0
|
366 |
+
*
|
367 |
+
* @access public
|
368 |
+
* @param int $optimization_level The optimization level (2=ultra, 1=aggressive, 0=normal)
|
369 |
+
* @param array $metadata The attachment meta data
|
370 |
+
* @return array $optimized_data The optimization data
|
371 |
+
*/
|
372 |
+
public function optimize( $optimization_level = null, $metadata = array() ) {}
|
373 |
+
|
374 |
+
/**
|
375 |
+
* Process an attachment restoration from the backup file.
|
376 |
+
*
|
377 |
+
* @since 1.0
|
378 |
+
*
|
379 |
+
* @access public
|
380 |
+
* @return void
|
381 |
+
*/
|
382 |
+
public function restore() {}
|
383 |
+
}
|
inc/classes/abstracts/abstract-db.php
ADDED
@@ -0,0 +1,233 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* DB base class
|
6 |
+
*
|
7 |
+
* @source https://gist.github.com/pippinsplugins/e220a7f0f0f2fbe64608
|
8 |
+
* @since 1.5
|
9 |
+
*/
|
10 |
+
abstract class Imagify_Abstract_DB {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* The name of our database table
|
14 |
+
*
|
15 |
+
* @access public
|
16 |
+
* @since 1.5
|
17 |
+
*/
|
18 |
+
public $table_name;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* The version of our database table
|
22 |
+
*
|
23 |
+
* @access public
|
24 |
+
* @since 1.5
|
25 |
+
*/
|
26 |
+
public $version;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* The name of the primary column
|
30 |
+
*
|
31 |
+
* @access public
|
32 |
+
* @since 1.5
|
33 |
+
*/
|
34 |
+
public $primary_key;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Get things started
|
38 |
+
*
|
39 |
+
* @access public
|
40 |
+
* @since 1.5
|
41 |
+
*/
|
42 |
+
public function __construct() {}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Whitelist of columns
|
46 |
+
*
|
47 |
+
* @access public
|
48 |
+
* @since 1.5
|
49 |
+
* @return array
|
50 |
+
*/
|
51 |
+
public function get_columns() {
|
52 |
+
return array();
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Default column values
|
57 |
+
*
|
58 |
+
* @access public
|
59 |
+
* @since 1.5
|
60 |
+
* @return array
|
61 |
+
*/
|
62 |
+
public function get_column_defaults() {
|
63 |
+
return array();
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Retrieve a row by the primary key
|
68 |
+
*
|
69 |
+
* @access public
|
70 |
+
* @since 1.5
|
71 |
+
* @return object
|
72 |
+
*/
|
73 |
+
public function get( $row_id ) {
|
74 |
+
global $wpdb;
|
75 |
+
return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ), ARRAY_A );
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Retrieve a row by a specific column / value
|
80 |
+
*
|
81 |
+
* @access public
|
82 |
+
* @since 1.5
|
83 |
+
* @return object
|
84 |
+
*/
|
85 |
+
public function get_by( $column, $row_id ) {
|
86 |
+
global $wpdb;
|
87 |
+
$column = esc_sql( $column );
|
88 |
+
return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $column = %s LIMIT 1;", $row_id ), ARRAY_A );
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Retrieve a specific column's value by the primary key
|
93 |
+
*
|
94 |
+
* @access public
|
95 |
+
* @since 1.5
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
public function get_column( $column, $row_id ) {
|
99 |
+
global $wpdb;
|
100 |
+
$column = esc_sql( $column );
|
101 |
+
return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Retrieve a specific column's value by the the specified column / value
|
106 |
+
*
|
107 |
+
* @access public
|
108 |
+
* @since 1.5
|
109 |
+
* @return string
|
110 |
+
*/
|
111 |
+
public function get_column_by( $column, $column_where, $column_value ) {
|
112 |
+
global $wpdb;
|
113 |
+
$column_where = esc_sql( $column_where );
|
114 |
+
$column = esc_sql( $column );
|
115 |
+
return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;", $column_value ) );
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Insert a new row
|
120 |
+
*
|
121 |
+
* @access public
|
122 |
+
* @since 1.5
|
123 |
+
* @return int
|
124 |
+
*/
|
125 |
+
public function insert( $data ) {
|
126 |
+
global $wpdb;
|
127 |
+
|
128 |
+
// Set default values
|
129 |
+
$data = wp_parse_args( $data, $this->get_column_defaults() );
|
130 |
+
|
131 |
+
// Initialise column format array
|
132 |
+
$column_formats = $this->get_columns();
|
133 |
+
|
134 |
+
// Force fields to lower case
|
135 |
+
$data = array_change_key_case( $data );
|
136 |
+
|
137 |
+
// White list columns
|
138 |
+
$data = array_intersect_key( $data, $column_formats );
|
139 |
+
|
140 |
+
// Reorder $column_formats to match the order of columns given in $data
|
141 |
+
$data_keys = array_keys( $data );
|
142 |
+
$column_formats = array_merge( array_flip( $data_keys ), $column_formats );
|
143 |
+
|
144 |
+
$wpdb->insert( $this->table_name, $data, $column_formats );
|
145 |
+
|
146 |
+
return $wpdb->insert_id;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Update a row
|
151 |
+
*
|
152 |
+
* @access public
|
153 |
+
* @since 1.5
|
154 |
+
* @return bool
|
155 |
+
*/
|
156 |
+
public function update( $row_id, $data = array(), $where = '' ) {
|
157 |
+
global $wpdb;
|
158 |
+
|
159 |
+
// Row ID must be positive integer
|
160 |
+
$row_id = absint( $row_id );
|
161 |
+
|
162 |
+
if( empty( $row_id ) ) {
|
163 |
+
return false;
|
164 |
+
}
|
165 |
+
|
166 |
+
if( empty( $where ) ) {
|
167 |
+
$where = $this->primary_key;
|
168 |
+
}
|
169 |
+
|
170 |
+
// Initialise column format array
|
171 |
+
$column_formats = $this->get_columns();
|
172 |
+
|
173 |
+
// Force fields to lower case
|
174 |
+
$data = array_change_key_case( $data );
|
175 |
+
|
176 |
+
// White list columns
|
177 |
+
$data = array_intersect_key( $data, $column_formats );
|
178 |
+
|
179 |
+
// Reorder $column_formats to match the order of columns given in $data
|
180 |
+
$data_keys = array_keys( $data );
|
181 |
+
$column_formats = array_merge( array_flip( $data_keys ), $column_formats );
|
182 |
+
|
183 |
+
if ( false === (bool) $this->get_column( $this->primary_key, $row_id ) ) {
|
184 |
+
$this->insert( $data );
|
185 |
+
return true;
|
186 |
+
}
|
187 |
+
|
188 |
+
if ( false === $wpdb->update( $this->table_name, $data, array( $where => $row_id ), $column_formats ) ) {
|
189 |
+
return false;
|
190 |
+
}
|
191 |
+
|
192 |
+
return true;
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Delete a row identified by the primary key
|
197 |
+
*
|
198 |
+
* @access public
|
199 |
+
* @since 1.5
|
200 |
+
* @return bool
|
201 |
+
*/
|
202 |
+
public function delete( $row_id = 0 ) {
|
203 |
+
global $wpdb;
|
204 |
+
|
205 |
+
// Row ID must be positive integer
|
206 |
+
$row_id = absint( $row_id );
|
207 |
+
|
208 |
+
if( empty( $row_id ) ) {
|
209 |
+
return false;
|
210 |
+
}
|
211 |
+
|
212 |
+
if ( false === $wpdb->query( $wpdb->prepare( "DELETE FROM $this->table_name WHERE $this->primary_key = %d", $row_id ) ) ) {
|
213 |
+
return false;
|
214 |
+
}
|
215 |
+
|
216 |
+
return true;
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Check if the given table exists
|
221 |
+
*
|
222 |
+
* @since 1.5
|
223 |
+
* @param string $table The table name
|
224 |
+
* @return bool If the table name exists
|
225 |
+
*/
|
226 |
+
public function table_exists( $table ) {
|
227 |
+
global $wpdb;
|
228 |
+
$table = sanitize_text_field( $table );
|
229 |
+
|
230 |
+
return $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE '%s'", $table ) ) === $table;
|
231 |
+
}
|
232 |
+
|
233 |
+
}
|
inc/classes/class-attachment.php
CHANGED
@@ -1,17 +1,7 @@
|
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
|
4 |
-
class Imagify_Attachment {
|
5 |
-
/**
|
6 |
-
* The attachment ID
|
7 |
-
*
|
8 |
-
* @since 1.0
|
9 |
-
*
|
10 |
-
* @var int
|
11 |
-
* @access public
|
12 |
-
*/
|
13 |
-
public $id;
|
14 |
-
|
15 |
/**
|
16 |
* The constructor
|
17 |
*
|
@@ -28,7 +18,7 @@ class Imagify_Attachment {
|
|
28 |
$this->id = (int) $id;
|
29 |
}
|
30 |
}
|
31 |
-
|
32 |
/**
|
33 |
* Get the attachment backup filepath.
|
34 |
*
|
@@ -48,21 +38,6 @@ class Imagify_Attachment {
|
|
48 |
return false;
|
49 |
}
|
50 |
|
51 |
-
/**
|
52 |
-
* Get the attachment backup URL.
|
53 |
-
*
|
54 |
-
* @since 1.4
|
55 |
-
*
|
56 |
-
* @access public
|
57 |
-
* @return string|false
|
58 |
-
*/
|
59 |
-
public function get_backup_url() {
|
60 |
-
$backup_path = $this->get_backup_path();
|
61 |
-
$backup_url = str_replace( ABSPATH, site_url( '/' ), $backup_path );
|
62 |
-
|
63 |
-
return $backup_url;
|
64 |
-
}
|
65 |
-
|
66 |
/**
|
67 |
* Get the attachment optimization data.
|
68 |
*
|
@@ -74,38 +49,7 @@ class Imagify_Attachment {
|
|
74 |
public function get_data() {
|
75 |
return get_post_meta( $this->id, '_imagify_data', true );
|
76 |
}
|
77 |
-
|
78 |
-
/**
|
79 |
-
* Get the attachment extension.
|
80 |
-
*
|
81 |
-
* @since 1.0
|
82 |
-
*
|
83 |
-
* @access public
|
84 |
-
* @return string
|
85 |
-
*/
|
86 |
-
public function get_extension() {
|
87 |
-
$fullsize_path = $this->get_original_path();
|
88 |
-
return pathinfo( $fullsize_path, PATHINFO_EXTENSION );
|
89 |
-
}
|
90 |
-
|
91 |
-
/**
|
92 |
-
* Get the attachment error if there is one.
|
93 |
-
*
|
94 |
-
* @since 1.1.5
|
95 |
-
*
|
96 |
-
* @access public
|
97 |
-
* @return string The message error
|
98 |
-
*/
|
99 |
-
public function get_optimized_error() {
|
100 |
-
$error = $this->get_size_data( 'full', 'error' );
|
101 |
-
|
102 |
-
if ( is_string( $error ) ) {
|
103 |
-
return $error;
|
104 |
-
}
|
105 |
|
106 |
-
return false;
|
107 |
-
}
|
108 |
-
|
109 |
/**
|
110 |
* Get the attachment optimization level.
|
111 |
*
|
@@ -118,59 +62,6 @@ class Imagify_Attachment {
|
|
118 |
return get_post_meta( $this->id, '_imagify_optimization_level', true );
|
119 |
}
|
120 |
|
121 |
-
/**
|
122 |
-
* Get the attachment optimization level label.
|
123 |
-
*
|
124 |
-
* @since 1.2
|
125 |
-
*
|
126 |
-
* @access public
|
127 |
-
* @return string
|
128 |
-
*/
|
129 |
-
public function get_optimization_level_label() {
|
130 |
-
$label = '';
|
131 |
-
$level = $this->get_optimization_level();
|
132 |
-
|
133 |
-
switch( $level ) {
|
134 |
-
case 2:
|
135 |
-
$label = __( 'Ultra', 'imagify' );
|
136 |
-
break;
|
137 |
-
case 1:
|
138 |
-
$label = __( 'Aggressive', 'imagify' );
|
139 |
-
break;
|
140 |
-
case 0:
|
141 |
-
$label = __( 'Normal', 'imagify' );
|
142 |
-
break;
|
143 |
-
}
|
144 |
-
|
145 |
-
return $label;
|
146 |
-
}
|
147 |
-
|
148 |
-
/**
|
149 |
-
* Count number of optimized sizes.
|
150 |
-
*
|
151 |
-
* @since 1.0
|
152 |
-
*
|
153 |
-
* @access public
|
154 |
-
* @return int
|
155 |
-
*/
|
156 |
-
public function get_optimized_sizes_count() {
|
157 |
-
$data = $this->get_data();
|
158 |
-
$sizes = (array) $data['sizes'];
|
159 |
-
$count = 0;
|
160 |
-
|
161 |
-
if ( isset( $sizes['full'] ) ) {
|
162 |
-
unset( $sizes['full'] );
|
163 |
-
}
|
164 |
-
|
165 |
-
foreach ( $sizes as $size ) {
|
166 |
-
if ( $size['success'] ) {
|
167 |
-
$count++;
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
return (int) $count;
|
172 |
-
}
|
173 |
-
|
174 |
/**
|
175 |
* Get the attachment optimization status (success or error).
|
176 |
*
|
@@ -195,22 +86,6 @@ class Imagify_Attachment {
|
|
195 |
return get_attached_file( $this->id );
|
196 |
}
|
197 |
|
198 |
-
/**
|
199 |
-
* Get the original attachment size.
|
200 |
-
*
|
201 |
-
* @since 1.0
|
202 |
-
*
|
203 |
-
* @access public
|
204 |
-
* @return string
|
205 |
-
*/
|
206 |
-
public function get_original_size() {
|
207 |
-
$original_size = $this->get_size_data( 'full', 'original_size' );
|
208 |
-
$original_size = ( empty( $original_size ) ) ? @filesize( $this->get_original_path() ) : $original_size;
|
209 |
-
$original_size = size_format( $original_size, 2 );
|
210 |
-
|
211 |
-
return $original_size;
|
212 |
-
}
|
213 |
-
|
214 |
/**
|
215 |
* Get the original attachment URL.
|
216 |
*
|
@@ -223,123 +98,6 @@ class Imagify_Attachment {
|
|
223 |
return wp_get_attachment_url( $this->id );
|
224 |
}
|
225 |
|
226 |
-
/*
|
227 |
-
* Get the statistics of a specific size.
|
228 |
-
*
|
229 |
-
* @since 1.0
|
230 |
-
*
|
231 |
-
* @access public
|
232 |
-
* @param string $size The thumbnail slug.
|
233 |
-
* @param string $key The specific data slug.
|
234 |
-
* @return array|string
|
235 |
-
*/
|
236 |
-
public function get_size_data( $size = 'full', $key = '' ) {
|
237 |
-
$data = $this->get_data();
|
238 |
-
$stats = array();
|
239 |
-
|
240 |
-
if ( isset( $data['sizes'][ $size ] ) ) {
|
241 |
-
$stats = $data['sizes'][ $size ];
|
242 |
-
}
|
243 |
-
|
244 |
-
if ( isset( $stats[ $key ] ) ) {
|
245 |
-
$stats = $stats[ $key ];
|
246 |
-
}
|
247 |
-
|
248 |
-
return $stats;
|
249 |
-
}
|
250 |
-
|
251 |
-
/**
|
252 |
-
* Get the global statistics data or a specific one.
|
253 |
-
*
|
254 |
-
* @since 1.0
|
255 |
-
*
|
256 |
-
* @access public
|
257 |
-
* @param string $key The specific data slug.
|
258 |
-
* @return array|string
|
259 |
-
*/
|
260 |
-
public function get_stats_data( $key = '' ) {
|
261 |
-
$data = $this->get_data();
|
262 |
-
$stats = '';
|
263 |
-
|
264 |
-
if ( isset( $data['stats'] ) ) {
|
265 |
-
$stats = $data['stats'];
|
266 |
-
}
|
267 |
-
|
268 |
-
if ( isset( $stats[ $key ] ) ) {
|
269 |
-
$stats = $stats[ $key ];
|
270 |
-
}
|
271 |
-
|
272 |
-
return $stats;
|
273 |
-
}
|
274 |
-
|
275 |
-
/**
|
276 |
-
* Check if the attachment is already optimized (before Imagify).
|
277 |
-
*
|
278 |
-
* @since 1.1.6
|
279 |
-
*
|
280 |
-
* @access public
|
281 |
-
* @return bool True if the attachment is optimized.
|
282 |
-
*/
|
283 |
-
public function is_already_optimized() {
|
284 |
-
return ( 'already_optimized' === $this->get_status() ) > 0;
|
285 |
-
}
|
286 |
-
|
287 |
-
/**
|
288 |
-
* Check if the attachment is optimized.
|
289 |
-
*
|
290 |
-
* @since 1.0
|
291 |
-
*
|
292 |
-
* @access public
|
293 |
-
* @return bool True if the attachment is optimized.
|
294 |
-
*/
|
295 |
-
public function is_optimized() {
|
296 |
-
return ( 'success' === $this->get_status() ) > 0;
|
297 |
-
}
|
298 |
-
|
299 |
-
/**
|
300 |
-
* Check if the attachment exceeding the limit size (> 5mo).
|
301 |
-
*
|
302 |
-
* @since 1.0
|
303 |
-
*
|
304 |
-
* @access public
|
305 |
-
* @return bool True if the attachment is skipped.
|
306 |
-
*/
|
307 |
-
public function is_exceeded() {
|
308 |
-
$filepath = $this->get_original_path();
|
309 |
-
$size = 0;
|
310 |
-
|
311 |
-
if ( file_exists( $filepath ) ) {
|
312 |
-
$size = filesize( $filepath );
|
313 |
-
}
|
314 |
-
|
315 |
-
return ( $size > IMAGIFY_MAX_BYTES ) > 0;
|
316 |
-
}
|
317 |
-
|
318 |
-
/**
|
319 |
-
* Check if the attachment has a backup of the original size.
|
320 |
-
*
|
321 |
-
* @since 1.0
|
322 |
-
*
|
323 |
-
* @access public
|
324 |
-
* @return bool True if the attachment has a backup.
|
325 |
-
*/
|
326 |
-
public function has_backup() {
|
327 |
-
return (bool) $this->get_backup_path();
|
328 |
-
}
|
329 |
-
|
330 |
-
/**
|
331 |
-
* Check if the attachment has an error.
|
332 |
-
*
|
333 |
-
* @since 1.0
|
334 |
-
*
|
335 |
-
* @access public
|
336 |
-
* @return bool True if the attachment has an error.
|
337 |
-
*/
|
338 |
-
public function has_error() {
|
339 |
-
$has_error = $this->get_size_data( 'full', 'error' );
|
340 |
-
return ( is_string( $has_error ) ) > 0;
|
341 |
-
}
|
342 |
-
|
343 |
/**
|
344 |
* Update the metadata size of the attachment
|
345 |
*
|
@@ -364,22 +122,6 @@ class Imagify_Attachment {
|
|
364 |
}
|
365 |
}
|
366 |
|
367 |
-
/**
|
368 |
-
* Delete the backup file.
|
369 |
-
*
|
370 |
-
* @since 1.0
|
371 |
-
*
|
372 |
-
* @access public
|
373 |
-
* @return void
|
374 |
-
*/
|
375 |
-
public function delete_backup() {
|
376 |
-
$backup_path = $this->get_backup_path();
|
377 |
-
|
378 |
-
if ( ! empty( $backup_path ) ) {
|
379 |
-
@unlink( $backup_path );
|
380 |
-
}
|
381 |
-
}
|
382 |
-
|
383 |
/**
|
384 |
* Fills statistics data with values from $data array
|
385 |
*
|
@@ -467,7 +209,6 @@ class Imagify_Attachment {
|
|
467 |
|
468 |
// Check if the full size is already optimized
|
469 |
if ( $this->is_optimized() && ( $this->get_optimization_level() == $optimization_level ) ) {
|
470 |
-
delete_transient( 'imagify-async-in-progress-' . $id );
|
471 |
return;
|
472 |
}
|
473 |
|
@@ -480,6 +221,8 @@ class Imagify_Attachment {
|
|
480 |
*/
|
481 |
do_action( 'before_imagify_optimize_attachment', $id );
|
482 |
|
|
|
|
|
483 |
// Get the resize values for the original size
|
484 |
$resize = array();
|
485 |
$do_resize = get_imagify_option( 'resize_larger', false );
|
@@ -491,13 +234,18 @@ class Imagify_Attachment {
|
|
491 |
}
|
492 |
|
493 |
// Optimize the original size
|
494 |
-
$response = do_imagify( $attachment_path,
|
|
|
|
|
|
|
|
|
|
|
495 |
$data = $this->fill_data( $data, $response, $id, $attachment_url );
|
496 |
|
497 |
// Save the optimization level
|
498 |
update_post_meta( $id, '_imagify_optimization_level', $optimization_level );
|
499 |
|
500 |
-
if( (bool) ! $data ) {
|
501 |
delete_transient( 'imagify-async-in-progress-' . $id );
|
502 |
return;
|
503 |
}
|
@@ -522,9 +270,13 @@ class Imagify_Attachment {
|
|
522 |
|
523 |
$thumbnail_path = trailingslashit( dirname( $attachment_path ) ) . $size_data['file'];
|
524 |
$thumbnail_url = trailingslashit( dirname( $attachment_url ) ) . $size_data['file'];
|
525 |
-
|
526 |
// Optimize the thumbnail size
|
527 |
-
$response = do_imagify( $thumbnail_path,
|
|
|
|
|
|
|
|
|
528 |
$data = $this->fill_data( $data, $response, $id, $thumbnail_url, $size_key );
|
529 |
|
530 |
/**
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
|
4 |
+
class Imagify_Attachment extends Imagify_Abstract_Attachment {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
/**
|
6 |
* The constructor
|
7 |
*
|
18 |
$this->id = (int) $id;
|
19 |
}
|
20 |
}
|
21 |
+
|
22 |
/**
|
23 |
* Get the attachment backup filepath.
|
24 |
*
|
38 |
return false;
|
39 |
}
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
/**
|
42 |
* Get the attachment optimization data.
|
43 |
*
|
49 |
public function get_data() {
|
50 |
return get_post_meta( $this->id, '_imagify_data', true );
|
51 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
|
|
|
|
|
|
53 |
/**
|
54 |
* Get the attachment optimization level.
|
55 |
*
|
62 |
return get_post_meta( $this->id, '_imagify_optimization_level', true );
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
/**
|
66 |
* Get the attachment optimization status (success or error).
|
67 |
*
|
86 |
return get_attached_file( $this->id );
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
/**
|
90 |
* Get the original attachment URL.
|
91 |
*
|
98 |
return wp_get_attachment_url( $this->id );
|
99 |
}
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
/**
|
102 |
* Update the metadata size of the attachment
|
103 |
*
|
122 |
}
|
123 |
}
|
124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
/**
|
126 |
* Fills statistics data with values from $data array
|
127 |
*
|
209 |
|
210 |
// Check if the full size is already optimized
|
211 |
if ( $this->is_optimized() && ( $this->get_optimization_level() == $optimization_level ) ) {
|
|
|
212 |
return;
|
213 |
}
|
214 |
|
221 |
*/
|
222 |
do_action( 'before_imagify_optimize_attachment', $id );
|
223 |
|
224 |
+
set_transient( 'imagify-async-in-progress-' . $id, true, 10 * MINUTE_IN_SECONDS );
|
225 |
+
|
226 |
// Get the resize values for the original size
|
227 |
$resize = array();
|
228 |
$do_resize = get_imagify_option( 'resize_larger', false );
|
234 |
}
|
235 |
|
236 |
// Optimize the original size
|
237 |
+
$response = do_imagify( $attachment_path, array(
|
238 |
+
'optimization_level' => $optimization_level,
|
239 |
+
'resize' => $resize,
|
240 |
+
'context' => 'wp',
|
241 |
+
'original_size' => $this->get_original_size( false )
|
242 |
+
) );
|
243 |
$data = $this->fill_data( $data, $response, $id, $attachment_url );
|
244 |
|
245 |
// Save the optimization level
|
246 |
update_post_meta( $id, '_imagify_optimization_level', $optimization_level );
|
247 |
|
248 |
+
if ( (bool) ! $data ) {
|
249 |
delete_transient( 'imagify-async-in-progress-' . $id );
|
250 |
return;
|
251 |
}
|
270 |
|
271 |
$thumbnail_path = trailingslashit( dirname( $attachment_path ) ) . $size_data['file'];
|
272 |
$thumbnail_url = trailingslashit( dirname( $attachment_url ) ) . $size_data['file'];
|
273 |
+
|
274 |
// Optimize the thumbnail size
|
275 |
+
$response = do_imagify( $thumbnail_path, array(
|
276 |
+
'backup' => false,
|
277 |
+
'optimization_level' => $optimization_level,
|
278 |
+
'context' => 'wp'
|
279 |
+
) );
|
280 |
$data = $this->fill_data( $data, $response, $id, $thumbnail_url, $size_key );
|
281 |
|
282 |
/**
|
inc/common/attachments.php
CHANGED
@@ -5,16 +5,18 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
5 |
* Auto-optimize when a new attachment is generated
|
6 |
*
|
7 |
* @since 1.0
|
|
|
8 |
*/
|
9 |
add_filter( 'wp_generate_attachment_metadata', '_imagify_optimize_attachment', PHP_INT_MAX, 2 );
|
10 |
function _imagify_optimize_attachment( $metadata, $attachment_id ) {
|
11 |
$api_key = get_imagify_option( 'api_key', false );
|
12 |
|
13 |
-
if ( ! empty( $api_key ) && get_imagify_option( 'auto_optimize', false ) ) {
|
14 |
-
$
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
18 |
}
|
19 |
|
20 |
return $metadata;
|
@@ -46,9 +48,8 @@ function _imagify_optimize_save_image_editor_file() {
|
|
46 |
&& 'open' != $_POST['do']
|
47 |
) {
|
48 |
|
49 |
-
$body
|
50 |
-
$body['action']
|
51 |
-
$body['transient_id'] = $body['postid'];
|
52 |
|
53 |
imagify_do_async_job( $body );
|
54 |
}
|
5 |
* Auto-optimize when a new attachment is generated
|
6 |
*
|
7 |
* @since 1.0
|
8 |
+
* @since 1.5 Async job
|
9 |
*/
|
10 |
add_filter( 'wp_generate_attachment_metadata', '_imagify_optimize_attachment', PHP_INT_MAX, 2 );
|
11 |
function _imagify_optimize_attachment( $metadata, $attachment_id ) {
|
12 |
$api_key = get_imagify_option( 'api_key', false );
|
13 |
|
14 |
+
if ( ! empty( $api_key ) && get_imagify_option( 'auto_optimize', false ) ) {
|
15 |
+
$context = 'wp';
|
16 |
+
$action = 'imagify_async_optimize_upload_new_media';
|
17 |
+
$_ajax_nonce = wp_create_nonce( 'new_media-' . $attachment_id );
|
18 |
+
|
19 |
+
imagify_do_async_job( compact( 'action', '_ajax_nonce', 'metadata', 'attachment_id', 'context' ) );
|
20 |
}
|
21 |
|
22 |
return $metadata;
|
48 |
&& 'open' != $_POST['do']
|
49 |
) {
|
50 |
|
51 |
+
$body = $_POST;
|
52 |
+
$body['action'] = 'imagify_async_optimize_save_image_editor_file';
|
|
|
53 |
|
54 |
imagify_do_async_job( $body );
|
55 |
}
|
inc/functions/admin-stats.php
CHANGED
@@ -5,24 +5,41 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
5 |
* Count number of attachments.
|
6 |
*
|
7 |
* @since 1.0
|
|
|
8 |
*
|
9 |
* @return int The number of attachments.
|
10 |
*/
|
11 |
function imagify_count_attachments() {
|
12 |
global $wpdb;
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
);
|
21 |
-
|
22 |
-
if ( $count
|
23 |
-
|
24 |
}
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
return (int) $count;
|
27 |
}
|
28 |
|
@@ -30,24 +47,41 @@ function imagify_count_attachments() {
|
|
30 |
* Count number of optimized attachments with an error.
|
31 |
*
|
32 |
* @since 1.0
|
|
|
33 |
*
|
34 |
* @return int The number of attachments.
|
35 |
*/
|
36 |
-
function imagify_count_error_attachments() {
|
37 |
global $wpdb;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
-
$count
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
WHERE ($wpdb->posts.post_mime_type = 'image/jpeg' OR $wpdb->posts.post_mime_type = 'image/png' OR $wpdb->posts.post_mime_type = 'image/gif')
|
45 |
-
AND ( ( $wpdb->postmeta.meta_key = '_imagify_status' AND CAST($wpdb->postmeta.meta_value AS CHAR) = 'error' )
|
46 |
-
)
|
47 |
-
AND $wpdb->posts.post_type = 'attachment'
|
48 |
-
AND $wpdb->posts.post_status = 'inherit'"
|
49 |
-
);
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
return (int) $count;
|
52 |
}
|
53 |
|
@@ -55,23 +89,40 @@ function imagify_count_error_attachments() {
|
|
55 |
* Count number of optimized attachments (by Imagify or an other tool before).
|
56 |
*
|
57 |
* @since 1.0
|
|
|
58 |
*
|
59 |
* @return int The number of attachments.
|
60 |
*/
|
61 |
-
function imagify_count_optimized_attachments() {
|
62 |
global $wpdb;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
$count
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
return (int) $count;
|
76 |
}
|
77 |
|
@@ -79,11 +130,29 @@ function imagify_count_optimized_attachments() {
|
|
79 |
* Count number of unoptimized attachments.
|
80 |
*
|
81 |
* @since 1.0
|
|
|
82 |
*
|
83 |
* @return int The number of attachments.
|
84 |
*/
|
85 |
function imagify_count_unoptimized_attachments() {
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
return (int) $count;
|
88 |
}
|
89 |
|
@@ -91,14 +160,25 @@ function imagify_count_unoptimized_attachments() {
|
|
91 |
* Count percent of optimized attachments.
|
92 |
*
|
93 |
* @since 1.0
|
|
|
94 |
*
|
95 |
* @return int The percent of optimized attachments.
|
96 |
*/
|
97 |
function imagify_percent_optimized_attachments() {
|
98 |
-
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
-
|
|
|
102 |
|
103 |
return $percent;
|
104 |
}
|
@@ -107,36 +187,48 @@ function imagify_percent_optimized_attachments() {
|
|
107 |
* Count percent, original & optimized size of all images optimized by Imagify.
|
108 |
*
|
109 |
* @since 1.0
|
|
|
110 |
*
|
111 |
* @return array An array containing the optimization data.
|
112 |
*/
|
113 |
function imagify_count_saving_data( $key = '' ) {
|
114 |
global $wpdb;
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
$original_size = 0;
|
127 |
$optimized_size = 0;
|
128 |
$count = 0;
|
129 |
-
|
130 |
foreach( $attachments as $attachment_data ) {
|
131 |
$stats_data = $attachment_data['stats'];
|
132 |
$original_data = $attachment_data['sizes']['full'];
|
133 |
-
|
134 |
// Incremente the original sizes
|
135 |
$original_size += ( $original_data['original_size'] ) ? $original_data['original_size'] : 0;
|
136 |
$optimized_size += ( $original_data['optimized_size'] ) ? $original_data['optimized_size'] : 0;
|
137 |
-
|
138 |
unset( $attachment_data['sizes']['full'] );
|
139 |
-
|
140 |
// Incremente the thumbnails sizes
|
141 |
foreach ( $attachment_data['sizes'] as $size_key => $size_data ) {
|
142 |
if ( ! empty( $size_data['success'] ) ) {
|
@@ -145,14 +237,14 @@ function imagify_count_saving_data( $key = '' ) {
|
|
145 |
}
|
146 |
}
|
147 |
}
|
148 |
-
|
149 |
$data = array(
|
150 |
'count' => count( $attachments ),
|
151 |
'original_size' => (int) $original_size,
|
152 |
'optimized_size' => (int) $optimized_size,
|
153 |
'percent' => ( 0 !== $optimized_size ) ? ceil( ( ( $original_size - $optimized_size ) / $original_size ) * 100 ) : 0
|
154 |
);
|
155 |
-
|
156 |
if ( ! empty( $key ) ) {
|
157 |
return $data[ $key ];
|
158 |
}
|
5 |
* Count number of attachments.
|
6 |
*
|
7 |
* @since 1.0
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
*
|
10 |
* @return int The number of attachments.
|
11 |
*/
|
12 |
function imagify_count_attachments() {
|
13 |
global $wpdb;
|
14 |
|
15 |
+
/**
|
16 |
+
* Filter the number of attachments
|
17 |
+
* 3rd party will be able to override the result
|
18 |
+
*
|
19 |
+
* @since 1.5
|
20 |
+
*/
|
21 |
+
$count = apply_filters( 'imagify_count_attachments', false );
|
22 |
+
|
23 |
+
if ( false !== $count ) {
|
24 |
+
return $count;
|
25 |
}
|
26 |
|
27 |
+
static $count;
|
28 |
+
|
29 |
+
if ( ! $count ) {
|
30 |
+
$count = $wpdb->get_var(
|
31 |
+
"SELECT COUNT($wpdb->posts.ID)
|
32 |
+
FROM $wpdb->posts
|
33 |
+
WHERE post_type = 'attachment'
|
34 |
+
AND post_status != 'trash'
|
35 |
+
AND ($wpdb->posts.post_mime_type = 'image/jpeg' OR $wpdb->posts.post_mime_type = 'image/png' OR $wpdb->posts.post_mime_type = 'image/gif')"
|
36 |
+
);
|
37 |
+
|
38 |
+
if ( $count > apply_filters( 'imagify_unoptimized_attachment_limit', 10000 ) ) {
|
39 |
+
set_transient( 'imagify_large_library', 1 );
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
return (int) $count;
|
44 |
}
|
45 |
|
47 |
* Count number of optimized attachments with an error.
|
48 |
*
|
49 |
* @since 1.0
|
50 |
+
* @author Jonathan Buttigieg
|
51 |
*
|
52 |
* @return int The number of attachments.
|
53 |
*/
|
54 |
+
function imagify_count_error_attachments() {
|
55 |
global $wpdb;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Filter the number of optimized attachments with an error
|
59 |
+
* 3rd party will be able to override the result
|
60 |
+
*
|
61 |
+
* @since 1.5
|
62 |
+
*/
|
63 |
+
$count = apply_filters( 'imagify_count_error_attachments', false );
|
64 |
|
65 |
+
if ( false !== $count ) {
|
66 |
+
return $count;
|
67 |
+
}
|
68 |
+
|
69 |
+
static $count;
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
+
if ( ! $count ) {
|
72 |
+
$count = $wpdb->get_var(
|
73 |
+
"SELECT COUNT($wpdb->posts.ID)
|
74 |
+
FROM $wpdb->posts
|
75 |
+
INNER JOIN $wpdb->postmeta
|
76 |
+
ON $wpdb->posts.ID = $wpdb->postmeta.post_id
|
77 |
+
WHERE ($wpdb->posts.post_mime_type = 'image/jpeg' OR $wpdb->posts.post_mime_type = 'image/png' OR $wpdb->posts.post_mime_type = 'image/gif')
|
78 |
+
AND ( ( $wpdb->postmeta.meta_key = '_imagify_status' AND CAST($wpdb->postmeta.meta_value AS CHAR) = 'error' )
|
79 |
+
)
|
80 |
+
AND $wpdb->posts.post_type = 'attachment'
|
81 |
+
AND $wpdb->posts.post_status = 'inherit'"
|
82 |
+
);
|
83 |
+
}
|
84 |
+
|
85 |
return (int) $count;
|
86 |
}
|
87 |
|
89 |
* Count number of optimized attachments (by Imagify or an other tool before).
|
90 |
*
|
91 |
* @since 1.0
|
92 |
+
* @author Jonathan Buttigieg
|
93 |
*
|
94 |
* @return int The number of attachments.
|
95 |
*/
|
96 |
+
function imagify_count_optimized_attachments() {
|
97 |
global $wpdb;
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Filter the number of optimized attachments
|
101 |
+
* 3rd party will be able to override the result
|
102 |
+
*
|
103 |
+
* @since 1.5
|
104 |
+
*/
|
105 |
+
$count = apply_filters( 'imagify_count_optimized_attachments', false );
|
106 |
|
107 |
+
if ( false !== $count ) {
|
108 |
+
return $count;
|
109 |
+
}
|
110 |
+
|
111 |
+
static $count;
|
112 |
+
|
113 |
+
if ( ! $count ) {
|
114 |
+
$count = $wpdb->get_var(
|
115 |
+
"SELECT COUNT($wpdb->posts.ID)
|
116 |
+
FROM $wpdb->posts
|
117 |
+
INNER JOIN $wpdb->postmeta
|
118 |
+
ON $wpdb->posts.ID = $wpdb->postmeta.post_id
|
119 |
+
WHERE ($wpdb->posts.post_mime_type = 'image/jpeg' OR $wpdb->posts.post_mime_type = 'image/png' OR $wpdb->posts.post_mime_type = 'image/gif')
|
120 |
+
AND ( ( $wpdb->postmeta.meta_key = '_imagify_status' AND CAST($wpdb->postmeta.meta_value AS CHAR) = 'success' ) OR ( $wpdb->postmeta.meta_key = '_imagify_status' AND CAST($wpdb->postmeta.meta_value AS CHAR) = 'already_optimized' ) )
|
121 |
+
AND $wpdb->posts.post_type = 'attachment'
|
122 |
+
AND $wpdb->posts.post_status = 'inherit'"
|
123 |
+
);
|
124 |
+
}
|
125 |
+
|
126 |
return (int) $count;
|
127 |
}
|
128 |
|
130 |
* Count number of unoptimized attachments.
|
131 |
*
|
132 |
* @since 1.0
|
133 |
+
* @author Jonathan Buttigieg
|
134 |
*
|
135 |
* @return int The number of attachments.
|
136 |
*/
|
137 |
function imagify_count_unoptimized_attachments() {
|
138 |
+
/**
|
139 |
+
* Filter the number of unoptimized attachments
|
140 |
+
* 3rd party will be able to override the result
|
141 |
+
*
|
142 |
+
* @since 1.5
|
143 |
+
*/
|
144 |
+
$count = apply_filters( 'imagify_count_unoptimized_attachments', false );
|
145 |
+
|
146 |
+
if ( false !== $count ) {
|
147 |
+
return $count;
|
148 |
+
}
|
149 |
+
|
150 |
+
static $count;
|
151 |
+
|
152 |
+
if ( ! $count ) {
|
153 |
+
$count = imagify_count_attachments() - imagify_count_optimized_attachments() - imagify_count_error_attachments();
|
154 |
+
}
|
155 |
+
|
156 |
return (int) $count;
|
157 |
}
|
158 |
|
160 |
* Count percent of optimized attachments.
|
161 |
*
|
162 |
* @since 1.0
|
163 |
+
* @author Jonathan Buttigieg
|
164 |
*
|
165 |
* @return int The percent of optimized attachments.
|
166 |
*/
|
167 |
function imagify_percent_optimized_attachments() {
|
168 |
+
/**
|
169 |
+
* Filter the percent of optimized attachments
|
170 |
+
* 3rd party will be able to override the result
|
171 |
+
*
|
172 |
+
* @since 1.5
|
173 |
+
*/
|
174 |
+
$percent = apply_filters( 'imagify_percent_optimized_attachments', false );
|
175 |
+
|
176 |
+
if ( false === $percent ) {
|
177 |
+
$total_attachments = imagify_count_attachments();
|
178 |
+
$total_optimized_attachments = imagify_count_optimized_attachments();
|
179 |
|
180 |
+
$percent = ( 0 !== $total_attachments ) ? round( ( 100 - ( ( $total_attachments - ( $total_optimized_attachments ) ) / $total_attachments ) * 100 ) ) : 0;
|
181 |
+
}
|
182 |
|
183 |
return $percent;
|
184 |
}
|
187 |
* Count percent, original & optimized size of all images optimized by Imagify.
|
188 |
*
|
189 |
* @since 1.0
|
190 |
+
* @author Jonathan Buttigieg
|
191 |
*
|
192 |
* @return array An array containing the optimization data.
|
193 |
*/
|
194 |
function imagify_count_saving_data( $key = '' ) {
|
195 |
global $wpdb;
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Filter the query to get all optimized attachments
|
199 |
+
* 3rd party will be able to override the result
|
200 |
+
*
|
201 |
+
* @since 1.5
|
202 |
+
*/
|
203 |
+
$attachments = apply_filters( 'imagify_count_saving_data', false );
|
204 |
+
|
205 |
+
if ( false === $attachments ) {
|
206 |
+
$attachments = $wpdb->get_col(
|
207 |
+
"SELECT pm1.meta_value
|
208 |
+
FROM $wpdb->postmeta as pm1
|
209 |
+
INNER JOIN $wpdb->postmeta as pm2
|
210 |
+
ON pm1.post_id = pm2.post_id
|
211 |
+
WHERE pm1.meta_key= '_imagify_data'
|
212 |
+
AND ( pm2.meta_key= '_imagify_status' AND pm2.meta_value= 'success' )"
|
213 |
+
);
|
214 |
+
}
|
215 |
+
|
216 |
+
$attachments = array_map( 'maybe_unserialize', (array) $attachments );
|
217 |
+
|
218 |
$original_size = 0;
|
219 |
$optimized_size = 0;
|
220 |
$count = 0;
|
221 |
+
|
222 |
foreach( $attachments as $attachment_data ) {
|
223 |
$stats_data = $attachment_data['stats'];
|
224 |
$original_data = $attachment_data['sizes']['full'];
|
225 |
+
|
226 |
// Incremente the original sizes
|
227 |
$original_size += ( $original_data['original_size'] ) ? $original_data['original_size'] : 0;
|
228 |
$optimized_size += ( $original_data['optimized_size'] ) ? $original_data['optimized_size'] : 0;
|
229 |
+
|
230 |
unset( $attachment_data['sizes']['full'] );
|
231 |
+
|
232 |
// Incremente the thumbnails sizes
|
233 |
foreach ( $attachment_data['sizes'] as $size_key => $size_data ) {
|
234 |
if ( ! empty( $size_data['success'] ) ) {
|
237 |
}
|
238 |
}
|
239 |
}
|
240 |
+
|
241 |
$data = array(
|
242 |
'count' => count( $attachments ),
|
243 |
'original_size' => (int) $original_size,
|
244 |
'optimized_size' => (int) $optimized_size,
|
245 |
'percent' => ( 0 !== $optimized_size ) ? ceil( ( ( $original_size - $optimized_size ) / $original_size ) * 100 ) : 0
|
246 |
);
|
247 |
+
|
248 |
if ( ! empty( $key ) ) {
|
249 |
return $data[ $key ];
|
250 |
}
|
inc/functions/admin-ui.php
CHANGED
@@ -5,21 +5,22 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
5 |
* Get the optimization data list for a specific attachment.
|
6 |
*
|
7 |
* @since 1.0
|
|
|
8 |
*
|
9 |
-
* @param
|
10 |
-
* @return
|
11 |
*/
|
12 |
-
function get_imagify_attachment_optimization_text( $
|
13 |
global $pagenow;
|
14 |
|
15 |
-
$
|
16 |
$data = $attachment->get_data();
|
17 |
$output = ( 'post.php' != $pagenow ) ? '<ul class="imagify-datas-list">' : '';
|
18 |
$output_before = ( 'post.php' != $pagenow ) ? '<li class="imagify-data-item">' : '<div class="misc-pub-section misc-pub-imagify imagify-data-item">';
|
19 |
$output_after = ( 'post.php' != $pagenow ) ? '</li>' : '</div>';
|
20 |
$reoptimize_output = '';
|
21 |
-
|
22 |
-
if ( $error = get_imagify_attachment_error_text( $
|
23 |
$error = ( 'post.php' === $pagenow ) ? $output_before . $error . $output_after : $error;
|
24 |
return $error;
|
25 |
}
|
@@ -27,7 +28,7 @@ function get_imagify_attachment_optimization_text( $attachment_id ) {
|
|
27 |
$optimization_level = $attachment->get_optimization_level_label();
|
28 |
|
29 |
if ( imagify_valid_key() && $attachment->has_backup() ) {
|
30 |
-
$reoptimize_link = get_imagify_attachment_reoptimize_link( $
|
31 |
$reoptimize_output = ( $reoptimize_link ) ? $reoptimize_link : '';
|
32 |
}
|
33 |
|
@@ -71,12 +72,16 @@ function get_imagify_attachment_optimization_text( $attachment_id ) {
|
|
71 |
$output .= $reoptimize_output;
|
72 |
|
73 |
if ( $attachment->has_backup() ) {
|
|
|
|
|
|
|
|
|
74 |
$class = ( 'post.php' !== $pagenow ) ? 'button-imagify-restore' : '';
|
75 |
-
$output .= '<a id="imagify-restore-' . $attachment_id . '" href="' . get_imagify_admin_url( 'restore-upload', $
|
76 |
-
|
77 |
if ( 'upload.php' != $pagenow ) {
|
78 |
$image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
79 |
-
|
80 |
$output .= '<input id="imagify-original-src" type="hidden" value="' . $attachment->get_backup_url() . '">';
|
81 |
$output .= '<input id="imagify-original-size" type="hidden" value="' . $attachment->get_original_size() . '">';
|
82 |
$output .= '<input id="imagify-full-src" type="hidden" value="' . $image[0] . '">';
|
@@ -95,18 +100,25 @@ function get_imagify_attachment_optimization_text( $attachment_id ) {
|
|
95 |
* Get the error message for a specific attachment.
|
96 |
*
|
97 |
* @since 1.0
|
|
|
98 |
*
|
99 |
-
* @param
|
100 |
-
* @return
|
101 |
*/
|
102 |
-
function get_imagify_attachment_error_text( $
|
103 |
global $pagenow;
|
104 |
-
|
105 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
|
107 |
if ( isset( $data['sizes']['full']['success'] ) && ! $data['sizes']['full']['success'] ) {
|
108 |
$class = ( 'post.php' !== $pagenow ) ? 'button-imagify-manual-upload' : '';
|
109 |
-
$output .= '<strong>' . $data['sizes']['full']['error'] . '</strong><br/><a id="imagify-upload-' . $attachment_id . '" class="button ' . $class . '" href="' . get_imagify_admin_url( 'manual-upload', $
|
110 |
}
|
111 |
|
112 |
return $output;
|
@@ -116,17 +128,21 @@ function get_imagify_attachment_error_text( $attachment_id ) {
|
|
116 |
* Get the re-optimize link for a specific attachment.
|
117 |
*
|
118 |
* @since 1.0
|
|
|
119 |
*
|
120 |
-
* @param int
|
121 |
-
* @return
|
122 |
*/
|
123 |
-
function get_imagify_attachment_reoptimize_link( $
|
124 |
global $pagenow;
|
125 |
|
126 |
-
$
|
127 |
-
$level
|
128 |
-
$args
|
129 |
-
|
|
|
|
|
|
|
130 |
|
131 |
if ( $attachment->has_backup() ) {
|
132 |
$class = ( 'post.php' !== $pagenow ) ? 'button-imagify-manual-override-upload' : '';
|
@@ -158,21 +174,22 @@ function get_imagify_attachment_reoptimize_link( $attachment_id ) {
|
|
158 |
* Get all data to diplay for a specific attachment.
|
159 |
*
|
160 |
* @since 1.2
|
|
|
161 |
*
|
162 |
-
* @param
|
163 |
* @return string The output to print.
|
164 |
*/
|
165 |
-
function get_imagify_media_column_content( $
|
166 |
-
$
|
167 |
-
$attachment = new Imagify_Attachment( $attachment_id );
|
168 |
$attachment_ext = $attachment->get_extension();
|
169 |
-
|
|
|
170 |
// Check if the attachment extension is allowed
|
171 |
-
if ( ! wp_attachment_is_image( $attachment_id ) ) {
|
172 |
$output = sprintf( __( '%s can\'t be optimized', 'imagify' ), strtoupper( $attachment_ext ) );
|
173 |
return $output;
|
174 |
}
|
175 |
-
|
176 |
// Check if the API key is valid
|
177 |
if ( ! imagify_valid_key() && ! $attachment->is_optimized() ) {
|
178 |
$output .= __( 'Invalid API key', 'imagify' );
|
@@ -180,18 +197,516 @@ function get_imagify_media_column_content( $attachment_id ) {
|
|
180 |
$output .= '<a href="' . get_imagify_admin_url( 'options-general' ) . '">' . __( 'Check your Settings', 'imagify' ) . '</a>';
|
181 |
return $output;
|
182 |
}
|
183 |
-
|
184 |
-
|
|
|
|
|
|
|
185 |
$output = '<div class="button"><span class="imagify-spinner"></span>' . __( 'Optimizing...', 'imagify' ) . '</div>';
|
186 |
return $output;
|
187 |
}
|
188 |
|
189 |
// Check if the image was optimized
|
190 |
if ( ! $attachment->is_optimized() && ! $attachment->has_error() ) {
|
191 |
-
$
|
|
|
|
|
|
|
|
|
192 |
return $output;
|
193 |
}
|
194 |
|
195 |
-
$output .= get_imagify_attachment_optimization_text( $
|
196 |
return $output;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
}
|
5 |
* Get the optimization data list for a specific attachment.
|
6 |
*
|
7 |
* @since 1.0
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
*
|
10 |
+
* @param object $attachment The attachment object.
|
11 |
+
* @return string The output to print.
|
12 |
*/
|
13 |
+
function get_imagify_attachment_optimization_text( $attachment, $context = 'wp' ) {
|
14 |
global $pagenow;
|
15 |
|
16 |
+
$attachment_id = $attachment->id;
|
17 |
$data = $attachment->get_data();
|
18 |
$output = ( 'post.php' != $pagenow ) ? '<ul class="imagify-datas-list">' : '';
|
19 |
$output_before = ( 'post.php' != $pagenow ) ? '<li class="imagify-data-item">' : '<div class="misc-pub-section misc-pub-imagify imagify-data-item">';
|
20 |
$output_after = ( 'post.php' != $pagenow ) ? '</li>' : '</div>';
|
21 |
$reoptimize_output = '';
|
22 |
+
|
23 |
+
if ( $error = get_imagify_attachment_error_text( $attachment, $context ) ) {
|
24 |
$error = ( 'post.php' === $pagenow ) ? $output_before . $error . $output_after : $error;
|
25 |
return $error;
|
26 |
}
|
28 |
$optimization_level = $attachment->get_optimization_level_label();
|
29 |
|
30 |
if ( imagify_valid_key() && $attachment->has_backup() ) {
|
31 |
+
$reoptimize_link = get_imagify_attachment_reoptimize_link( $attachment, $context );
|
32 |
$reoptimize_output = ( $reoptimize_link ) ? $reoptimize_link : '';
|
33 |
}
|
34 |
|
72 |
$output .= $reoptimize_output;
|
73 |
|
74 |
if ( $attachment->has_backup() ) {
|
75 |
+
$args = array(
|
76 |
+
'attachment_id' => $attachment_id,
|
77 |
+
'context' => $context
|
78 |
+
);
|
79 |
$class = ( 'post.php' !== $pagenow ) ? 'button-imagify-restore' : '';
|
80 |
+
$output .= '<a id="imagify-restore-' . $attachment_id . '" href="' . get_imagify_admin_url( 'restore-upload', $args ) . '" class="' . $class . '" data-waiting-label="' . esc_attr__( 'Restoring...', 'imagify' ) . '"><span class="dashicons dashicons-image-rotate"></span>' . __( 'Restore Original', 'imagify' ) . '</a>';
|
81 |
+
|
82 |
if ( 'upload.php' != $pagenow ) {
|
83 |
$image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
84 |
+
|
85 |
$output .= '<input id="imagify-original-src" type="hidden" value="' . $attachment->get_backup_url() . '">';
|
86 |
$output .= '<input id="imagify-original-size" type="hidden" value="' . $attachment->get_original_size() . '">';
|
87 |
$output .= '<input id="imagify-full-src" type="hidden" value="' . $image[0] . '">';
|
100 |
* Get the error message for a specific attachment.
|
101 |
*
|
102 |
* @since 1.0
|
103 |
+
* @author Jonathan Buttigieg
|
104 |
*
|
105 |
+
* @param object $attachment The attachement object.
|
106 |
+
* @return string The output to print.
|
107 |
*/
|
108 |
+
function get_imagify_attachment_error_text( $attachment, $context = 'wp' ) {
|
109 |
global $pagenow;
|
110 |
+
|
111 |
+
$attachment_id = $attachment->id;
|
112 |
+
$data = $attachment->get_data();
|
113 |
+
$output = '';
|
114 |
+
$args = array(
|
115 |
+
'attachment_id' => $attachment_id,
|
116 |
+
'context' => $context
|
117 |
+
);
|
118 |
|
119 |
if ( isset( $data['sizes']['full']['success'] ) && ! $data['sizes']['full']['success'] ) {
|
120 |
$class = ( 'post.php' !== $pagenow ) ? 'button-imagify-manual-upload' : '';
|
121 |
+
$output .= '<strong>' . $data['sizes']['full']['error'] . '</strong><br/><a id="imagify-upload-' . $attachment_id . '" class="button ' . $class . '" href="' . get_imagify_admin_url( 'manual-upload', $args ) . '" data-waiting-label="' . esc_attr__( 'Optimizing...', 'imagify' ) . '">' . __( 'Try again', 'imagify' ) . '</a>';
|
122 |
}
|
123 |
|
124 |
return $output;
|
128 |
* Get the re-optimize link for a specific attachment.
|
129 |
*
|
130 |
* @since 1.0
|
131 |
+
* @author Jonathan Buttigieg
|
132 |
*
|
133 |
+
* @param int $attachment_id The attachement ID.
|
134 |
+
* @return string The output to print.
|
135 |
*/
|
136 |
+
function get_imagify_attachment_reoptimize_link( $attachment, $context = 'wp' ) {
|
137 |
global $pagenow;
|
138 |
|
139 |
+
$attachment_id = $attachment->id;
|
140 |
+
$level = (int) $attachment->get_optimization_level();
|
141 |
+
$args = array(
|
142 |
+
'attachment_id' => $attachment_id,
|
143 |
+
'context' => $context
|
144 |
+
);
|
145 |
+
$output = '';
|
146 |
|
147 |
if ( $attachment->has_backup() ) {
|
148 |
$class = ( 'post.php' !== $pagenow ) ? 'button-imagify-manual-override-upload' : '';
|
174 |
* Get all data to diplay for a specific attachment.
|
175 |
*
|
176 |
* @since 1.2
|
177 |
+
* @author Jonathan Buttigieg
|
178 |
*
|
179 |
+
* @param object $attachment The attachement object.
|
180 |
* @return string The output to print.
|
181 |
*/
|
182 |
+
function get_imagify_media_column_content( $attachment, $context = 'wp' ) {
|
183 |
+
$attachment_id = $attachment->id;
|
|
|
184 |
$attachment_ext = $attachment->get_extension();
|
185 |
+
$output = '';
|
186 |
+
|
187 |
// Check if the attachment extension is allowed
|
188 |
+
if ( 'wp' === $context && ! wp_attachment_is_image( $attachment_id ) ) {
|
189 |
$output = sprintf( __( '%s can\'t be optimized', 'imagify' ), strtoupper( $attachment_ext ) );
|
190 |
return $output;
|
191 |
}
|
192 |
+
|
193 |
// Check if the API key is valid
|
194 |
if ( ! imagify_valid_key() && ! $attachment->is_optimized() ) {
|
195 |
$output .= __( 'Invalid API key', 'imagify' );
|
197 |
$output .= '<a href="' . get_imagify_admin_url( 'options-general' ) . '">' . __( 'Check your Settings', 'imagify' ) . '</a>';
|
198 |
return $output;
|
199 |
}
|
200 |
+
|
201 |
+
$transient_context = ( 'wp' !== $context ) ? strtolower( $context ) . '-' : '';
|
202 |
+
$transient_name = 'imagify-' . $transient_context . 'async-in-progress-' . $attachment_id;
|
203 |
+
|
204 |
+
if ( false !== get_transient( $transient_name ) ) {
|
205 |
$output = '<div class="button"><span class="imagify-spinner"></span>' . __( 'Optimizing...', 'imagify' ) . '</div>';
|
206 |
return $output;
|
207 |
}
|
208 |
|
209 |
// Check if the image was optimized
|
210 |
if ( ! $attachment->is_optimized() && ! $attachment->has_error() ) {
|
211 |
+
$args = array(
|
212 |
+
'attachment_id' => $attachment_id,
|
213 |
+
'context' => $context
|
214 |
+
);
|
215 |
+
$output .= '<a id="imagify-upload-' . $attachment_id . '" href="' . get_imagify_admin_url( 'manual-upload', $args ) . '" class="button-primary button-imagify-manual-upload" data-waiting-label="' . esc_attr__( 'Optimizing...', 'imagify' ) . '">' . __( 'Optimize', 'imagify' ) . '</a>';
|
216 |
return $output;
|
217 |
}
|
218 |
|
219 |
+
$output .= get_imagify_attachment_optimization_text( $attachment, $context );
|
220 |
return $output;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Add a small section with button
|
225 |
+
*
|
226 |
+
* @return string HTML
|
227 |
+
*
|
228 |
+
* @since 1.5
|
229 |
+
* @author Geoffrey
|
230 |
+
*
|
231 |
+
* @todo add only for no-payable users?
|
232 |
+
*/
|
233 |
+
function get_imagify_new_to_imagify() {
|
234 |
+
if ( apply_filters( 'imagify_show_new_to_imagify', true ) ) {
|
235 |
+
return '
|
236 |
+
<div class="imagify-section imagify-section-positive">
|
237 |
+
<div class="imagify-start imagify-mr2">
|
238 |
+
<button id="imagify-get-pricing-modal" data-nonce="' . wp_create_nonce('imagify_get_pricing_' . get_current_user_id() ) . '" data-target="#imagify-pricing-modal" type="button" class="imagify-modal-trigger imagify-button imagify-button-light imagify-button-big">
|
239 |
+
<i class="dashicons dashicons-dashboard" aria-hidden="true"></i>
|
240 |
+
<span class="button-text">' . esc_html__( 'What plan do I need?', 'imagify' ) . '</span>
|
241 |
+
</button>
|
242 |
+
</div>
|
243 |
+
<div class="imagify-oh">
|
244 |
+
<p class="imagify-section-title">' . esc_html__( 'You\'re new to Imagify?', 'imagify' ) . '</p>
|
245 |
+
<p>' . esc_html__( 'Let us help you by analyzing your existing images and determinate the best plan for you', 'imagify' ) . '</p>
|
246 |
+
</div>
|
247 |
+
</div>
|
248 |
+
';
|
249 |
+
}
|
250 |
+
}
|
251 |
+
|
252 |
+
/**
|
253 |
+
* Return the formatted price present in pricing tables
|
254 |
+
*
|
255 |
+
* @param float $value the price value
|
256 |
+
* @return string the markuped price
|
257 |
+
*
|
258 |
+
* @since 1.5
|
259 |
+
* @author Geoffrey
|
260 |
+
*/
|
261 |
+
function get_imagify_price_table_format( $value ) {
|
262 |
+
$v = explode( '.', (string) $value );
|
263 |
+
|
264 |
+
return '<span class="imagify-price-big">' . $v[0] . '</span> <span class="imagify-price-mini">.' . ( strlen( $v[1] ) === 1 ? $v[1] . '0' : $v[1] ) . '</span>';
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* Return the payment modal HTML
|
269 |
+
* @return string HTML code for payement modal
|
270 |
+
*
|
271 |
+
* @since 1.5
|
272 |
+
* @author Geoffrey
|
273 |
+
*/
|
274 |
+
function imagify_payment_modal() {
|
275 |
+
?>
|
276 |
+
<div id="imagify-pricing-modal" class="imagify-modal imagify-payment-modal" aria-hidden="false" role="dialog" aria-labelledby="imagify-pricing-step-1">
|
277 |
+
<div class="imagify-modal-content">
|
278 |
+
<div class="imagify-modal-main">
|
279 |
+
<ol class="imagify-payment-steps">
|
280 |
+
<li id="imagify-pricing-step-1" class="active"><?php esc_html_e( 'Choose Plan', 'imagify' ); ?></li>
|
281 |
+
<li id="imagify-pricing-step-2"><?php esc_html_e( 'Payment Info', 'imagify' ); ?></li>
|
282 |
+
</ol>
|
283 |
+
|
284 |
+
<div class="imagify-modal-views imagify-pre-checkout-view" id="imagify-pre-checkout-view" aria-hidden="false">
|
285 |
+
<div class="imagify-modal-section section-gray">
|
286 |
+
<p class="imagify-modal-title"><?php esc_html_e( 'We analysed your images', 'imagify' ); ?></p>
|
287 |
+
|
288 |
+
<div class="imagify-modal-cols">
|
289 |
+
<div class="imagify-col">
|
290 |
+
<p>
|
291 |
+
<span class="imagify-border-styled"><?php
|
292 |
+
printf( esc_html__( 'You have %s images', 'imagify' ), '</span><span class="imagify-big-number">58000</span><span class="imagify-border-styled">' ); ?></span>
|
293 |
+
</p>
|
294 |
+
</div>
|
295 |
+
<div class="imagify-col">
|
296 |
+
<p class="imagify-iconed">
|
297 |
+
<i class="dashicons dashicons-images-alt2" aria-hidden="true"></i>
|
298 |
+
<?php printf( esc_html__( 'You actually have %s of images in your library.', 'imagify' ), '<strong class="imagify-dark">3 GB</strong>' ); ?>
|
299 |
+
</p>
|
300 |
+
<p class="imagify-iconed">
|
301 |
+
<i class="dashicons dashicons-cloud" aria-hidden="true"></i>
|
302 |
+
<?php printf( esc_html__( 'You upload around %s of images per month.', 'imagify' ), '<strong class="imagify-dark">353 MB</strong>' ); ?>
|
303 |
+
</p>
|
304 |
+
</div>
|
305 |
+
</div>
|
306 |
+
</div>
|
307 |
+
|
308 |
+
<div class="imagify-modal-section">
|
309 |
+
<p class="imagify-modal-title"><?php esc_html_e( 'We recommend you this plan', 'imagify' ); ?></p>
|
310 |
+
|
311 |
+
<div class="imagify-offer-line imagify-offer-monthly imagify-offer-selected imagify-month-selected" data-offer='{"lite":{"id":3,"name":"Lite","data":1073741824,"dataf":"1 GB","imgs":5000,"prices":{"monthly":4.99,"yearly":4.16,"add":4}}}'>
|
312 |
+
<div class="imagify-offer-header">
|
313 |
+
<p class="imagify-offer-title imagify-switch-my">
|
314 |
+
<span aria-hidden="false" class="imagify-monthly"><?php esc_html_e( 'Subscribe a monthly plan', 'imagify' ); ?></span>
|
315 |
+
<span aria-hidden="true" class="imagify-yearly"><?php esc_html_e( 'Subscribe a yearly plan', 'imagify' ); ?></span>
|
316 |
+
</p>
|
317 |
+
<div class="imagify-inline-options imagify-radio-line">
|
318 |
+
<input id="imagify-subscription-monthly" type="radio" value="monthly" name="plan-subscription" checked="checked">
|
319 |
+
<label for="imagify-subscription-monthly"><?php esc_html_e( 'Monthly' , 'imagify' ); ?></label>
|
320 |
+
|
321 |
+
<input id="imagify-subscription-yearly" type="radio" value="yearly" name="plan-subscription">
|
322 |
+
<label for="imagify-subscription-yearly"><?php esc_html_e( 'Yearly' , 'imagify' ); ?><span class="imagify-2-free"><?php esc_html_e( '2 months free', 'imagify' ) ?></span></label>
|
323 |
+
</div><!-- .imagify-radio-line -->
|
324 |
+
</div><!-- .imagify-offer-header -->
|
325 |
+
|
326 |
+
<div class="imagify-offer-content imagify-flex-table">
|
327 |
+
|
328 |
+
<div class="imagify-col-checkbox">
|
329 |
+
<input type="checkbox" name="imagify-offer" id="imagify-offer-1gb" value="1Gb" checked="checked" class="imagify-checkbox medium">
|
330 |
+
<label for="imagify-offer-1gb">
|
331 |
+
<span class="imagify-the-offer">
|
332 |
+
<span class="imagify-offer-size">1 GB</span>
|
333 |
+
<span class="imagify-offer-by"><?php esc_html_e( '/month', 'imagify' ); ?></span>
|
334 |
+
</span>
|
335 |
+
<span class="imagify-approx"><?php printf( esc_html__( 'approx: %s images', 'imagify' ), '<span class="imagify-approx-nb">5 000</span>' ); ?></span>
|
336 |
+
</label>
|
337 |
+
</div>
|
338 |
+
<div class="imagify-col-price imagify-flex-table">
|
339 |
+
<span class="imagify-price-block">
|
340 |
+
<span class="imagify-dollars">$</span>
|
341 |
+
<span class="imagify-number-block">
|
342 |
+
<span class="imagify-switch-my">
|
343 |
+
<span class="imagify-monthly" aria-hidden="false">
|
344 |
+
<span class="imagify-price-big">3</span>
|
345 |
+
<span class="imagify-price-mini">.99</span>
|
346 |
+
</span>
|
347 |
+
<span class="imagify-yearly" aria-hidden="true">
|
348 |
+
<span class="imagify-price-big">3</span>
|
349 |
+
<span class="imagify-price-mini">.16</span>
|
350 |
+
</span>
|
351 |
+
</span>
|
352 |
+
<span class="imagify-price-by"><?php esc_html_e( '/month', 'imagify' ); ?></span>
|
353 |
+
</span>
|
354 |
+
</span>
|
355 |
+
|
356 |
+
<p class="imagify-price-complement"><?php printf( __( '%s per<br>
|
357 |
+
additionnal Gb', 'imagify' ), '<span class="imagify-price-add-data"></span>' ); ?></p>
|
358 |
+
|
359 |
+
</div>
|
360 |
+
<div class="imagify-col-other-actions">
|
361 |
+
<a href="#imagify-plans-selection-view" class="imagify-choose-another-plan" data-imagify-choose="plan"><?php esc_html_e( 'Choose another plan', 'imagify' ); ?></a>
|
362 |
+
</div>
|
363 |
+
|
364 |
+
</div><!-- .imagify-offer-content -->
|
365 |
+
|
366 |
+
</div><!-- .imagify-offer-line -->
|
367 |
+
|
368 |
+
<div class="imagify-offer-line imagify-offer-onetime" data-offer='{"recommended":{"id":999,"name":"Customized","data":3000001337,"dataf":"3 GB","imgs":54634,"price":28.98}}'>
|
369 |
+
<div class="imagify-offer-header">
|
370 |
+
<p class="imagify-offer-title">
|
371 |
+
<?php esc_html_e( 'Optimize the images you already have, buy a one-time plan', 'imagify' ); ?>
|
372 |
+
</p>
|
373 |
+
</div><!-- .imagify-offer-header -->
|
374 |
+
|
375 |
+
<div class="imagify-offer-content imagify-flex-table">
|
376 |
+
|
377 |
+
<div class="imagify-col-checkbox">
|
378 |
+
<input type="checkbox" name="imagify-offer" id="imagify-offer-custom" value="1Gb" class="imagify-checkbox medium">
|
379 |
+
<label for="imagify-offer-custom">
|
380 |
+
<span class="imagify-the-offer">
|
381 |
+
<span class="imagify-offer-size">3 GB</span>
|
382 |
+
</span>
|
383 |
+
<span class="imagify-approx"><?php printf( esc_html__( 'approx: %s images', 'imagify' ), '<span class="imagify-approx-nb">54000</span>' ); ?></span>
|
384 |
+
</label>
|
385 |
+
</div>
|
386 |
+
<div class="imagify-col-price imagify-flex-table">
|
387 |
+
<span class="imagify-price-block">
|
388 |
+
<span class="imagify-dollars">$</span>
|
389 |
+
<span class="imagify-number-block">
|
390 |
+
<span class="imagify-price-big">60</span>
|
391 |
+
<span class="imagify-price-mini">.99</span>
|
392 |
+
</span>
|
393 |
+
</span>
|
394 |
+
</div>
|
395 |
+
<div class="imagify-col-other-actions">
|
396 |
+
<a href="#imagify-plans-selection-view" class="imagify-choose-another-plan" data-imagify-choose="onetime"><?php esc_html_e( 'Choose another plan', 'imagify' ); ?></a>
|
397 |
+
</div>
|
398 |
+
|
399 |
+
</div><!-- .imagify-offer-content -->
|
400 |
+
|
401 |
+
</div><!-- .imagify-offer-line -->
|
402 |
+
|
403 |
+
|
404 |
+
<p class="imagify-submit-line">
|
405 |
+
<button type="button" class="button button-secondary imagify-button-secondary" id="imagify-modal-checkout-btn">
|
406 |
+
<i class="dashicons dashicons-cart" aria-hidden="true"></i>
|
407 |
+
<?php esc_html_e( 'Checkout', 'imagify' ); ?>
|
408 |
+
</button>
|
409 |
+
</p>
|
410 |
+
|
411 |
+
<p class="imagify-footer-lines"><?php esc_html_e( 'Monthly plans comes with credits which is renewed every months. The billing happens automatically each month or year depending the billing period you choose.', 'imagify' ); ?></p>
|
412 |
+
</div>
|
413 |
+
</div><!-- .imagify-pre-checkout-view -->
|
414 |
+
|
415 |
+
<?php
|
416 |
+
|
417 |
+
|
418 |
+
|
419 |
+
/**
|
420 |
+
*
|
421 |
+
*
|
422 |
+
* SECOND MODAL VIEW
|
423 |
+
*
|
424 |
+
*
|
425 |
+
*/
|
426 |
+
|
427 |
+
|
428 |
+
|
429 |
+
?>
|
430 |
+
|
431 |
+
<div class="imagify-modal-views imagify-plans-selection-view" id="imagify-plans-selection-view" aria-hidden="true">
|
432 |
+
<ul class="imagify-tabs" role="tablist">
|
433 |
+
<li class="imagify-tab imagify-current">
|
434 |
+
<a href="#imagify-pricing-tab-monthly" role="tab" aria-controls="imagify-pricing-tab-monthly" aria-selected="true">
|
435 |
+
<?php esc_html_e( 'Monthly Plans', 'imagify' ); ?>
|
436 |
+
</a>
|
437 |
+
</li>
|
438 |
+
<li class="imagify-tab">
|
439 |
+
<a href="#imagify-pricing-tab-onetime" role="tab" aria-controls="imagify-pricing-tab-onetime" aria-selected="false">
|
440 |
+
<?php esc_html_e( 'One Time Plans', 'imagify' ); ?>
|
441 |
+
</a>
|
442 |
+
</li>
|
443 |
+
</ul><!-- .imagify-tabs -->
|
444 |
+
|
445 |
+
<div class="imagify-tabs-contents">
|
446 |
+
|
447 |
+
<div class="imagify-tab-content imagify-current" id="imagify-pricing-tab-monthly" role="tabpanel">
|
448 |
+
|
449 |
+
<div class="imagify-modal-section section-gray">
|
450 |
+
<p><?php esc_html_e( 'Monthly plans come with credits which is renewed every months. The billing happens automatically each month or year depending the billing period you choose.', 'imagify' ); ?></p>
|
451 |
+
</div>
|
452 |
+
|
453 |
+
<div class="imagify-inline-options imagify-small-options imagify-radio-line">
|
454 |
+
<input id="imagify-pricing-montly" type="radio" value="monthly" name="plan-pricing" checked="checked">
|
455 |
+
<label for="imagify-pricing-montly"><?php esc_html_e( 'Monthly' , 'imagify' ); ?></label>
|
456 |
+
|
457 |
+
<input id="imagify-pricing-yearly" type="radio" value="yearly" name="plan-pricing">
|
458 |
+
<label for="imagify-pricing-yearly"><?php esc_html_e( 'Yearly' , 'imagify' ); ?><span class="imagify-2-free imagify-b-right"><?php esc_html_e( '2 months free', 'imagify' ) ?></span></label>
|
459 |
+
</div><!-- .imagify-radio-line -->
|
460 |
+
|
461 |
+
<div class="imagify-pricing-table imagify-month-selected">
|
462 |
+
|
463 |
+
<script type="text/template" id="imagify-offer-monthly-template"><div class="imagify-offer-line imagify-offer-monthlies imagify-flex-table">
|
464 |
+
<div class="imagify-col-details">
|
465 |
+
<p class="imagify-label">
|
466 |
+
<span class="imagify-the-offer">
|
467 |
+
<span class="imagify-offer-size"></span>
|
468 |
+
<span class="imagify-offer-by"><?php esc_html_e( '/month', 'imagify' ); ?></span>
|
469 |
+
</span>
|
470 |
+
<span class="imagify-approx"><?php printf( __( 'approx: %s images', 'imagify' ), '<span class="imagify-approx-nb"></span>' ); ?></span>
|
471 |
+
</p>
|
472 |
+
</div>
|
473 |
+
<div class="imagify-col-price imagify-flex-table">
|
474 |
+
<span class="imagify-price-block">
|
475 |
+
<span class="imagify-dollars">$</span>
|
476 |
+
<span class="imagify-number-block">
|
477 |
+
<span class="imagify-switch-my"></span>
|
478 |
+
<span class="imagify-price-by"><?php esc_html_e( '/month', 'imagify' ); ?></span>
|
479 |
+
</span>
|
480 |
+
</span>
|
481 |
+
|
482 |
+
<span class="imagify-recommend" aria-hidden="true"><?php esc_html_e( 'we recommend for you', 'imagify' ); ?></span>
|
483 |
+
|
484 |
+
<p class="imagify-price-complement"><?php printf( __( '%s per<br>
|
485 |
+
additionnal Gb', 'imagify' ), '<span class="imagify-price-add-data"></span>' ); ?></p>
|
486 |
+
|
487 |
+
</div><!-- .imagify-col-price -->
|
488 |
+
|
489 |
+
<div class="imagify-col-other-actions">
|
490 |
+
<button type="button" class="button imagify-button-secondary mini imagify-payment-btn-select-plan"><?php esc_html_e( 'Choose plan', 'imagify' ); ?></button>
|
491 |
+
</div>
|
492 |
+
</div><!-- .imagify-offer-line --></script>
|
493 |
+
</div><!-- .imagify-pricing-table -->
|
494 |
+
|
495 |
+
<div class="imagify-cols">
|
496 |
+
<div class="imagify-col imagify-txt-start">
|
497 |
+
<p class="imagify-special-needs">
|
498 |
+
<strong><?php esc_html_e( 'Need more?', 'imagify' ); ?></strong>
|
499 |
+
<span><?php esc_html_e( 'for special needs', 'imagify' ); ?></span>
|
500 |
+
</p>
|
501 |
+
</div>
|
502 |
+
<div class="imagify-col imagify-txt-end">
|
503 |
+
<p><a class="button imagify-button-ghost imagify-button-medium imagify-mt1 imagify-mb1 imagify-mr1" href="https://imagify.io/<?php echo ( get_locale() === 'fr_FR' ? 'fr/' : '' ) ?>contact" target="_blank"><i class="dashicons dashicons-email" aria-hidden="true"></i> <?php esc_html_e( 'Contact Us', 'imagify' ); ?></a></p>
|
504 |
+
</div>
|
505 |
+
</div>
|
506 |
+
|
507 |
+
</div><!-- .imagify-tab-content -->
|
508 |
+
<div class="imagify-tab-content" id="imagify-pricing-tab-onetime" role="tabpanel">
|
509 |
+
<div class="imagify-modal-section section-gray">
|
510 |
+
<p><?php esc_html_e( 'One time plans are useful if you have a lots of existing images which need to be optimized. You can use it for bulk optimizing all your past images. You will pay only once.', 'imagify' ); ?></p>
|
511 |
+
</div>
|
512 |
+
|
513 |
+
|
514 |
+
<div class="imagify-pricing-table imagify-month-selected">
|
515 |
+
<script type="text/template" id="imagify-offer-onetime-template"><div class="imagify-offer-line imagify-flex-table imagify-offer-onetimes">
|
516 |
+
<div class="imagify-col-details">
|
517 |
+
<p class="imagify-label">
|
518 |
+
<span class="imagify-the-offer">
|
519 |
+
<span class="imagify-offer-size"></span>
|
520 |
+
</span>
|
521 |
+
<span class="imagify-approx"><?php printf( __( 'approx: %s images', 'imagify' ), '<span class="imagify-approx-nb"></span>' ); ?></span>
|
522 |
+
</p>
|
523 |
+
</div>
|
524 |
+
<div class="imagify-col-price">
|
525 |
+
<span class="imagify-price-block">
|
526 |
+
<span class="imagify-dollars">$</span>
|
527 |
+
<span class="imagify-number-block"></span>
|
528 |
+
</span>
|
529 |
+
<span class="imagify-recommend"><?php esc_html__( 'we recommend for you', 'imagify' ); ?></span>
|
530 |
+
</div><!-- .imagify-col-price -->
|
531 |
+
|
532 |
+
<div class="imagify-col-other-actions">
|
533 |
+
<button type="button" class="button imagify-button-secondary mini imagify-payment-btn-select-plan"><?php esc_html_e( 'Choose plan', 'imagify' ); ?></button>
|
534 |
+
</div>
|
535 |
+
</div><!-- .imagify-offer-line --></script>
|
536 |
+
</div><!-- .imagify-pricing-table -->
|
537 |
+
|
538 |
+
</div><!-- .imagify-tab-content -->
|
539 |
+
|
540 |
+
</div><!-- .imagify-tabs-contents -->
|
541 |
+
</div><!-- .imagify-plans-selection-view -->
|
542 |
+
|
543 |
+
|
544 |
+
<?php
|
545 |
+
|
546 |
+
|
547 |
+
|
548 |
+
/**
|
549 |
+
*
|
550 |
+
*
|
551 |
+
* THIRD MODAL VIEW
|
552 |
+
*
|
553 |
+
*
|
554 |
+
*/
|
555 |
+
|
556 |
+
|
557 |
+
|
558 |
+
?>
|
559 |
+
|
560 |
+
<div class="imagify-modal-views imagify-payment-process-view" id="imagify-payment-process-view" aria-hidden="true">
|
561 |
+
<div class="imagify-modal-section section-gray">
|
562 |
+
<div class="imagify-cart imagify-month-selected">
|
563 |
+
<p class="imagify-cart-label"><?php esc_html_e( 'Your order', 'imagify' ); ?></p>
|
564 |
+
|
565 |
+
<div class="imagify-cart-list">
|
566 |
+
<?php
|
567 |
+
$emptied_item = '<div class="imagify-cart-emptied-item">
|
568 |
+
<p>' . sprintf( esc_html__( '%scancel%sYou just removed %s', 'imagify' ), '<a href="#cancel" class="imagify-cancel-removing">', '</a>', '<span class="imagify-removed-name"></span>' ) . '</p>
|
569 |
+
</div>';
|
570 |
+
?>
|
571 |
+
|
572 |
+
<!-- JS stuff will complete the datas of list item -->
|
573 |
+
|
574 |
+
<div class="imagify-cart-item imagify-cart-item-monthly imagify-flex-table imagify-align-top" data-offer="">
|
575 |
+
<div class="imagify-cl-remove">
|
576 |
+
<button type="button" class="imagify-remove-from-cart" title="<?php esc_html_e( 'Remove this item', 'imagify' ); ?>"><i class="dashicons dashicons-no-alt" aria-hidden="true"></i></button>
|
577 |
+
</div>
|
578 |
+
<div class="imagify-cl-name">
|
579 |
+
<p class="imagify-cart-product-name"><span class="imagify-the-product-name"></span> Monthly plan</p>
|
580 |
+
<p class="imagify-cart-suggestion"><a href="#step1" class="imagify-back-to-plans"><?php esc_html_e( 'Choose another plan', 'imagify' ); ?></a></p>
|
581 |
+
</div>
|
582 |
+
<div class="imagify-cl-description">
|
583 |
+
<p><?php printf( esc_html__( '%s per month', 'imagify' ), '<span class="imagify-cart-offer-data"></span>') ?></p>
|
584 |
+
</div>
|
585 |
+
<div class="imagify-cl-price imagify-price-block">
|
586 |
+
<span class="imagify-dollars">$</span>
|
587 |
+
<span class="imagify-number-block">
|
588 |
+
<span class="imagify-switch-my">
|
589 |
+
</span>
|
590 |
+
</span>
|
591 |
+
</div>
|
592 |
+
</div><!-- .imagify-cart-item -->
|
593 |
+
<?php echo $emptied_item; ?>
|
594 |
+
|
595 |
+
<div class="imagify-cart-item imagify-cart-item-onetime imagify-flex-table imagify-align-top" data-offer="">
|
596 |
+
<div class="imagify-cl-remove">
|
597 |
+
<button type="button" class="imagify-remove-from-cart" title="<?php esc_html_e( 'Remove this item', 'imagify' ); ?>"><i class="dashicons dashicons-no-alt" aria-hidden="true"></i></button>
|
598 |
+
</div>
|
599 |
+
<div class="imagify-cl-name">
|
600 |
+
<p class="imagify-cart-product-name"><span class="imagify-the-product-name"></span> One Time Plan</p>
|
601 |
+
<p class="imagify-cart-suggestion"><a href="#step1" class="imagify-back-to-plans"><?php esc_html_e( 'Choose another plan', 'imagify' ); ?></a></p>
|
602 |
+
</div>
|
603 |
+
<div class="imagify-cl-description">
|
604 |
+
<p><?php printf( esc_html__( 'one time %s', 'imagify' ), '<span class="imagify-cart-offer-data"></span>') ?></p>
|
605 |
+
</div>
|
606 |
+
<div class="imagify-cl-price imagify-price-block">
|
607 |
+
<span class="imagify-dollars">$</span>
|
608 |
+
<span class="imagify-number-block">
|
609 |
+
</span>
|
610 |
+
</div>
|
611 |
+
</div><!-- .imagify-cart-item -->
|
612 |
+
<?php echo $emptied_item; ?>
|
613 |
+
</div><!-- .imagify-cart-list -->
|
614 |
+
|
615 |
+
<div class="imagify-cols imagify-cart-list-my-choice">
|
616 |
+
<div class="imagify-col imagify-switch-my imagify-pr1">
|
617 |
+
<p class="imagify-monthly"><?php printf( __( 'Switch to yearly subscription and <br><strong class="imagify-dark">save %s per year!</strong>', 'imagify' ), '<span class="imagify-nb-save-per-year"></span>' ); ?></p>
|
618 |
+
<p class="imagify-yearly"><?php printf( __( 'Perfect!<br>You\'re <strong class="imagify-dark">saving %s per year!</strong>', 'imagify' ), '<span class="imagify-nb-save-per-year"></span>' ); ?></p>
|
619 |
+
</div>
|
620 |
+
<div class="imagify-col">
|
621 |
+
<div class="imagify-inline-options imagify-small-options imagify-radio-line imagify-cart-list-switcher">
|
622 |
+
<input type="radio" checked="checked" name="plan-checkout" value="monthly" id="imagify-checkout-monthly">
|
623 |
+
<label for="imagify-checkout-monthly"><?php esc_html_e('Monthly', 'imagify' ); ?></label>
|
624 |
+
|
625 |
+
<input type="radio" name="plan-checkout" value="yearly" id="imagify-checkout-yearly">
|
626 |
+
<label for="imagify-checkout-yearly"><?php esc_html_e('Yearly', 'imagify' ); ?><span class="imagify-2-free imagify-b-bottom"><?php esc_html_e('2 months free', 'imagify' ); ?></span></label>
|
627 |
+
</div>
|
628 |
+
</div>
|
629 |
+
</div>
|
630 |
+
|
631 |
+
</div><!-- .imagify-cart.imagify-month-selected -->
|
632 |
+
</div><!-- .imagify-section-gray -->
|
633 |
+
|
634 |
+
<?php $imagify_api_key = get_imagify_option( 'api_key', false ); ?>
|
635 |
+
|
636 |
+
<iframe data-imagify-api="<?php echo $imagify_api_key; ?>" id="imagify-payment-iframe" src="" frameborder="0"></iframe>
|
637 |
+
|
638 |
+
</div><!-- .imagify-modal-views -->
|
639 |
+
|
640 |
+
|
641 |
+
<?php
|
642 |
+
|
643 |
+
|
644 |
+
/**
|
645 |
+
*
|
646 |
+
*
|
647 |
+
* Succes view
|
648 |
+
*
|
649 |
+
*
|
650 |
+
*/
|
651 |
+
|
652 |
+
|
653 |
+
?>
|
654 |
+
|
655 |
+
<div class="imagify-modal-views imagify-success-view" id="imagify-success-view" aria-hidden="true">
|
656 |
+
<img src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>big-blue-check.png" width="113" height="109" alt="">
|
657 |
+
<p><?php esc_html_e( 'Thank you for being awesome!', 'imagify' ); ?></p>
|
658 |
+
</div><!-- .imagify-modal-views -->
|
659 |
+
|
660 |
+
<button class="close-btn" type="button">
|
661 |
+
<i aria-hidden="true" class="dashicons dashicons-no-alt"></i>
|
662 |
+
<span class="screen-reader-text"><?php esc_html_e( 'Close', 'imagify' ); ?></span>
|
663 |
+
</button>
|
664 |
+
</div><!-- .imagify-modal-main -->
|
665 |
+
|
666 |
+
<div class="imagify-modal-sidebar">
|
667 |
+
<div class="imagify-modal-sidebar-content imagify-txt-start">
|
668 |
+
<p class="imagify-modal-sidebar-title"><?php esc_html_e( 'What do our user think about Imagify', 'imagify' ) ?></p>
|
669 |
+
|
670 |
+
<div class="imagify-modal-testimony">
|
671 |
+
<div class="imagify-modal-testimony-person">
|
672 |
+
<span class="imagify-modal-avatar">
|
673 |
+
<img src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>pic-srhdesign.jpg" alt="">
|
674 |
+
</span>
|
675 |
+
<p class="imagify-modal-identity">
|
676 |
+
<a href="https://twitter.com/SRHDesign" target="_blank">@SRHDesign</a>
|
677 |
+
<a href="https://twitter.com/SRHDesign/status/686486119249260544" target="_blank"><time datetime="2016-01-11">11 jan. 2016 @ 17:40</time></a>
|
678 |
+
</p>
|
679 |
+
</div>
|
680 |
+
<div class="imagify-modal-testimony-content">
|
681 |
+
<p>@imagify is an awesome tool that is powerful & easy to use. It's fast, rivals and surpasses other established plugins/software. Awesome!</p>
|
682 |
+
</div>
|
683 |
+
</div>
|
684 |
+
|
685 |
+
<div class="imagify-modal-testimony">
|
686 |
+
<div class="imagify-modal-testimony-person">
|
687 |
+
<span class="imagify-modal-avatar">
|
688 |
+
<img src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>pic-ericwaltr.jpg" alt="">
|
689 |
+
</span>
|
690 |
+
<p class="imagify-modal-identity">
|
691 |
+
<a href="https://twitter.com/EricWaltr" target="_blank">@EricWaltr</a>
|
692 |
+
<a href="https://twitter.com/EricWaltR/status/679053496382038016" target="_blank"><time datetime="2016-01-11">21 dec. 2015 @ 22:39</time></a>
|
693 |
+
</p>
|
694 |
+
</div>
|
695 |
+
<div class="imagify-modal-testimony-content">
|
696 |
+
<p>Clearly @imagify is the most awesome tool to compress images on your website! A must try</p>
|
697 |
+
</div>
|
698 |
+
</div>
|
699 |
+
|
700 |
+
<div class="imagify-modal-sidebar-trust imagify-txt-center">
|
701 |
+
<p class="imagify-secondary">
|
702 |
+
<img src="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>icon-lock.png" srcset="<?php echo IMAGIFY_ASSETS_IMG_URL; ?>icon-lock.svg 2x" width="16" height="19" alt=""> <?php esc_html_e( 'Secure Credit Card Payment', 'imagify' ); ?></p>
|
703 |
+
<p><?php esc_html_e( 'This is secure 128-bits SSL encrypted payment', 'imagify' ); ?></p>
|
704 |
+
</div>
|
705 |
+
</div>
|
706 |
+
</div>
|
707 |
+
|
708 |
+
<div class="imagify-modal-loader"></div>
|
709 |
+
</div><!-- .imagify-modal-content-->
|
710 |
+
</div><!-- .imagify-payment-modal -->
|
711 |
+
<?php
|
712 |
}
|
inc/functions/admin.php
CHANGED
@@ -23,21 +23,22 @@ function imagify_is_active_for_network() {
|
|
23 |
* @return string The URL of the specific admin page or action
|
24 |
*/
|
25 |
function get_imagify_admin_url( $action = 'options-general', $arg = array() ) {
|
26 |
-
$url
|
|
|
|
|
27 |
|
28 |
switch( $action ) {
|
29 |
case 'manual-override-upload':
|
30 |
-
$id = ( isset( $arg['attachment_id'] ) ) ? $arg['attachment_id'] : 0;
|
31 |
$level = ( isset( $arg['optimization_level'] ) ) ? $arg['optimization_level'] : 0;
|
32 |
-
$url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_manual_override_upload&attachment_id=' . $id . '&optimization_level=' . $level ), 'imagify-manual-override-upload' );
|
33 |
break;
|
34 |
|
35 |
case 'manual-upload':
|
36 |
-
$url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_manual_upload&attachment_id=' . $
|
37 |
break;
|
38 |
|
39 |
case 'restore-upload' :
|
40 |
-
$url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_restore_upload&attachment_id=' . $
|
41 |
break;
|
42 |
|
43 |
case 'dismiss-notice':
|
23 |
* @return string The URL of the specific admin page or action
|
24 |
*/
|
25 |
function get_imagify_admin_url( $action = 'options-general', $arg = array() ) {
|
26 |
+
$url = '';
|
27 |
+
$id = ( isset( $arg['attachment_id'] ) ) ? $arg['attachment_id'] : 0;
|
28 |
+
$context = ( isset( $arg['context'] ) ) ? $arg['context'] : 'wp';
|
29 |
|
30 |
switch( $action ) {
|
31 |
case 'manual-override-upload':
|
|
|
32 |
$level = ( isset( $arg['optimization_level'] ) ) ? $arg['optimization_level'] : 0;
|
33 |
+
$url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_manual_override_upload&attachment_id=' . $id . '&optimization_level=' . $level . '&context=' . $context ), 'imagify-manual-override-upload' );
|
34 |
break;
|
35 |
|
36 |
case 'manual-upload':
|
37 |
+
$url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_manual_upload&attachment_id=' . $id . '&context=' . $context ), 'imagify-manual-upload' );
|
38 |
break;
|
39 |
|
40 |
case 'restore-upload' :
|
41 |
+
$url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_restore_upload&attachment_id=' . $id . '&context=' . $context ), 'imagify-restore-upload' );
|
42 |
break;
|
43 |
|
44 |
case 'dismiss-notice':
|
inc/functions/formatting.php
CHANGED
@@ -28,4 +28,20 @@ function imagify_round_half_five( $number ) {
|
|
28 |
} else {
|
29 |
return floatval( $number );
|
30 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
28 |
} else {
|
29 |
return floatval( $number );
|
30 |
}
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Get the Imagify attachment class name depending to a context
|
35 |
+
*
|
36 |
+
* @since 1.5
|
37 |
+
* @source Jonathan Buttigieg
|
38 |
+
*
|
39 |
+
* @param string $context The context to determine the class name
|
40 |
+
* @return string $class_name The Imagify attachment class name
|
41 |
+
*/
|
42 |
+
function get_imagify_attachment_class_name( $context = 'wp' ) {
|
43 |
+
$class_name = 'Imagify_';
|
44 |
+
$class_name .= 'wp' !== $context ? $context . '_Attachment' : 'Attachment';
|
45 |
+
|
46 |
+
return $class_name;
|
47 |
}
|
inc/functions/i18n.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Get all translations we can use with wp_localize_script()
|
6 |
+
*
|
7 |
+
* @since 1.5
|
8 |
+
* @author Jonathan Buttigieg
|
9 |
+
*
|
10 |
+
* @param string $context The translation context
|
11 |
+
* @return array $translations The translations
|
12 |
+
*/
|
13 |
+
function get_imagify_localize_script_translations( $context ) {
|
14 |
+
$translations = array();
|
15 |
+
|
16 |
+
switch( $context ) {
|
17 |
+
case 'admin':
|
18 |
+
$translations = array(
|
19 |
+
'labels' => array(
|
20 |
+
'signupTitle' => __( 'Let\'s get you started!', 'imagify' ),
|
21 |
+
'signupText' => __( 'Enter your email to get an API key:', 'imagify' ),
|
22 |
+
'signupConfirmButtonText' => __( 'Sign Up', 'imagify' ),
|
23 |
+
'signupErrorEmptyEmail' => __( 'You need to specify an email!', 'imagify' ),
|
24 |
+
'signupSuccessTitle' => __( 'Congratulations!', 'imagify' ),
|
25 |
+
'signupSuccessText' => __( 'Your account has been succesfully created. Please check your mailbox, you are going to receive an email with API key.', 'imagify' ),
|
26 |
+
'saveApiKeyTitle' => __( 'Connect to Imagify!', 'imagify' ),
|
27 |
+
'saveApiKeyText' => __( 'Paste your API key below:', 'imagify' ),
|
28 |
+
'saveApiKeyConfirmButtonText' => __( 'Connect me', 'imagify' ),
|
29 |
+
'waitApiKeyCheckText' => __( 'Check in progress...', 'imagify' ),
|
30 |
+
'ApiKeyCheckSuccessTitle' => __( 'Congratulations!', 'imagify' ),
|
31 |
+
'ApiKeyCheckSuccessText' => __( 'Your API key is valid. You can now configure the Imagify settings to optimize your images.', 'imagify' ),
|
32 |
+
'ValidApiKeyText' => __( 'Your API key is valid.', 'imagify' ),
|
33 |
+
'swalCancel' => __( 'Cancel' )
|
34 |
+
)
|
35 |
+
);
|
36 |
+
break;
|
37 |
+
|
38 |
+
case 'options':
|
39 |
+
$translations = array(
|
40 |
+
'noBackupTitle' => __( 'Don\'t Need a Parachute?', 'imagify' ),
|
41 |
+
'noBackupText' => __( 'If you keep this option deactivated, you won\'t be able to re-optimize your images to another compression level and restore your original images in case of need.', 'imagify' )
|
42 |
+
);
|
43 |
+
break;
|
44 |
+
|
45 |
+
case 'upload':
|
46 |
+
$translations = array(
|
47 |
+
'bulkActionsLabels' => array(
|
48 |
+
'optimize' => __( 'Optimize', 'imagify' ),
|
49 |
+
'restore' => __( 'Restore Original', 'imagify' ),
|
50 |
+
),
|
51 |
+
);
|
52 |
+
break;
|
53 |
+
|
54 |
+
case 'twentytwenty':
|
55 |
+
$translations = array(
|
56 |
+
'labels' => array(
|
57 |
+
'original_l' => esc_html__( 'Original Image', 'imagify' ),
|
58 |
+
'optimized_l' => esc_html__( 'Optimized Image', 'imagify' ),
|
59 |
+
'compare' => esc_html__( 'Compare Original VS Optimized', 'imagify' ),
|
60 |
+
'close' => esc_html__( 'Close', 'imagify' ),
|
61 |
+
'filesize' => esc_html__( 'File Size:', 'imagify' ),
|
62 |
+
'saving' => esc_html__( 'Original Saving:', 'imagify' ),
|
63 |
+
'optimize' => esc_html__( 'Optimize', 'imagify' )
|
64 |
+
)
|
65 |
+
);
|
66 |
+
break;
|
67 |
+
|
68 |
+
case 'bulk':
|
69 |
+
$user = get_imagify_user();
|
70 |
+
$translations = array(
|
71 |
+
'labels' => array(
|
72 |
+
'waitTitle' => __( 'Please wait...', 'imagify' ),
|
73 |
+
'waitText' => __( 'We are trying to get your unoptimized images, it may take time depending on the number of images.', 'imagify' ),
|
74 |
+
'waitImageUrl' => IMAGIFY_ASSETS_IMG_URL . 'popin-loader.svg',
|
75 |
+
'getUnoptimizedImagesErrorTitle' => __( 'Oops, There is something wrong!', 'imagify' ),
|
76 |
+
'getUnoptimizedImagesErrorText' => __( 'An unknow error occurred when we tried to get all your unoptimized images. Try again and if the issue still persist, please contact us!', 'imagify' ),
|
77 |
+
'invalidAPIKeyTitle' => __( 'Your API key isn\'t valid!', 'imagify' ),
|
78 |
+
'overviewChartLabels' => array(
|
79 |
+
'optimized' => __( 'Optimized', 'imagify' ),
|
80 |
+
'unoptimized' => __( 'Unoptimized', 'imagify' ),
|
81 |
+
'error' => __( 'Error', 'imagify' ),
|
82 |
+
),
|
83 |
+
'overQuotaTitle' => __( 'Oops, It\'s Over!', 'imagify' ),
|
84 |
+
'noAttachmentToOptimizeTitle' => __( 'Hold on!', 'imagify' ),
|
85 |
+
'noAttachmentToOptimizeText' => __( 'All your images have been optimized by Imagify. Congratulations!', 'imagify' ),
|
86 |
+
'pluginURL' => 'https://wordpress.org/plugins/imagify',
|
87 |
+
'textToShare' => __( 'Discover @imagify, the new compression tool to optimize your images for free. I saved %1$s out of %2$s!', 'imagify' ),
|
88 |
+
'totalOptimizedAttachments' => imagify_count_optimized_attachments(),
|
89 |
+
'totalUnoptimizedAttachments' => imagify_count_unoptimized_attachments(),
|
90 |
+
'totalErrorsAttachments' => imagify_count_error_attachments(),
|
91 |
+
'processing' => __( 'Imagify is still processing. Are you sure you want to leave this page?', 'imagify' )
|
92 |
+
)
|
93 |
+
);
|
94 |
+
|
95 |
+
if ( imagify_valid_key() ) {
|
96 |
+
if ( is_wp_error( $user ) ) {
|
97 |
+
$translations['overQuotaText'] = sprintf( __( 'To continue to optimize your images, log in to your Imagify account to %sbuy a pack or subscribe to a plan%s.', 'imagify' ), '<a href="' . IMAGIFY_APP_MAIN . '/#/subscription' . '">', '</a>' );
|
98 |
+
}
|
99 |
+
else {
|
100 |
+
$translations['overQuotaText'] = sprintf( __( 'You have consumed all your credit for this month. You will have <strong>%s back on %s</strong>.', 'imagify' ), size_format( $user->quota * 1048576 ), date_i18n( __( 'F j, Y' ), strtotime( $user->next_date_update ) ) ) . '<br/><br/>' . sprintf( __( 'To continue to optimize your images, log in to your Imagify account to %sbuy a pack or subscribe to a plan%s.', 'imagify' ), '<a href="' . IMAGIFY_APP_MAIN . '/#/subscription' . '">', '</a>' );
|
101 |
+
}
|
102 |
+
}
|
103 |
+
break;
|
104 |
+
}
|
105 |
+
|
106 |
+
return $translations;
|
107 |
+
}
|
inc/functions/process.php
CHANGED
@@ -13,8 +13,19 @@ defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
|
|
13 |
* @param bool $keep_exif To keep exif data or not
|
14 |
* @return obj|array Error message | Optimized image data
|
15 |
*/
|
16 |
-
function do_imagify( $file_path, $
|
17 |
$errors = new WP_Error();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
/**
|
20 |
* Filter the attachment path
|
@@ -71,7 +82,7 @@ function do_imagify( $file_path, $backup, $optimization_level, $resize = array()
|
|
71 |
* @param string $file_path Absolute path to the image file.
|
72 |
* @param bool $backup Force a backup of the original file.
|
73 |
*/
|
74 |
-
do_action( 'before_do_imagify', $file_path, $backup );
|
75 |
|
76 |
// Send image for optimization and fetch the response
|
77 |
$response = upload_imagify_image(
|
@@ -79,10 +90,12 @@ function do_imagify( $file_path, $backup, $optimization_level, $resize = array()
|
|
79 |
'image' => curl_file_create( $file_path ),
|
80 |
'data' => json_encode(
|
81 |
array(
|
82 |
-
'aggressive'
|
83 |
-
'ultra'
|
84 |
-
'resize'
|
85 |
-
'keep_exif'
|
|
|
|
|
86 |
)
|
87 |
)
|
88 |
)
|
@@ -95,7 +108,7 @@ function do_imagify( $file_path, $backup, $optimization_level, $resize = array()
|
|
95 |
}
|
96 |
|
97 |
// Create a backup file
|
98 |
-
if ( $backup ) {
|
99 |
$backup_path = get_imagify_attachment_backup_path( $file_path );
|
100 |
$backup_path_info = pathinfo( $backup_path );
|
101 |
|
@@ -133,7 +146,7 @@ function do_imagify( $file_path, $backup, $optimization_level, $resize = array()
|
|
133 |
* @param string $file_path Absolute path to the image file.
|
134 |
* @param bool $backup Force a backup of the original file.
|
135 |
*/
|
136 |
-
do_action( 'after_do_imagify', $file_path, $backup );
|
137 |
|
138 |
return $response;
|
139 |
}
|
@@ -146,10 +159,6 @@ function do_imagify( $file_path, $backup, $optimization_level, $resize = array()
|
|
146 |
* @since 1.4
|
147 |
**/
|
148 |
function imagify_do_async_job( $body ) {
|
149 |
-
if ( isset( $body['transient_id'] ) ) {
|
150 |
-
set_transient( 'imagify-async-in-progress-' . $body['transient_id'], true, 10 * MINUTE_IN_SECONDS );
|
151 |
-
}
|
152 |
-
|
153 |
$args = array(
|
154 |
'timeout' => 0.01,
|
155 |
'blocking' => false,
|
13 |
* @param bool $keep_exif To keep exif data or not
|
14 |
* @return obj|array Error message | Optimized image data
|
15 |
*/
|
16 |
+
function do_imagify( $file_path, $args = array() ) {
|
17 |
$errors = new WP_Error();
|
18 |
+
$args = array_merge(
|
19 |
+
array(
|
20 |
+
'backup' => get_imagify_option( 'backup', false ),
|
21 |
+
'optimization_level' => get_imagify_option( 'optimization_level', 1 ),
|
22 |
+
'resize' => array(),
|
23 |
+
'keep_exif' => get_imagify_option( 'exif', false ),
|
24 |
+
'context' => 'wp',
|
25 |
+
'original_size' => 0
|
26 |
+
),
|
27 |
+
$args
|
28 |
+
);
|
29 |
|
30 |
/**
|
31 |
* Filter the attachment path
|
82 |
* @param string $file_path Absolute path to the image file.
|
83 |
* @param bool $backup Force a backup of the original file.
|
84 |
*/
|
85 |
+
do_action( 'before_do_imagify', $file_path, $args['backup'] );
|
86 |
|
87 |
// Send image for optimization and fetch the response
|
88 |
$response = upload_imagify_image(
|
90 |
'image' => curl_file_create( $file_path ),
|
91 |
'data' => json_encode(
|
92 |
array(
|
93 |
+
'aggressive' => ( 1 === (int) $args['optimization_level'] ) ? true : false,
|
94 |
+
'ultra' => ( 2 === (int) $args['optimization_level'] ) ? true : false,
|
95 |
+
'resize' => $args['resize'],
|
96 |
+
'keep_exif' => $args['keep_exif'],
|
97 |
+
'context' => $args['context'],
|
98 |
+
'original_size' => $args['original_size']
|
99 |
)
|
100 |
)
|
101 |
)
|
108 |
}
|
109 |
|
110 |
// Create a backup file
|
111 |
+
if ( 'wp' === $args['context'] && $args['backup'] ) {
|
112 |
$backup_path = get_imagify_attachment_backup_path( $file_path );
|
113 |
$backup_path_info = pathinfo( $backup_path );
|
114 |
|
146 |
* @param string $file_path Absolute path to the image file.
|
147 |
* @param bool $backup Force a backup of the original file.
|
148 |
*/
|
149 |
+
do_action( 'after_do_imagify', $file_path, $args['backup'] );
|
150 |
|
151 |
return $response;
|
152 |
}
|
159 |
* @since 1.4
|
160 |
**/
|
161 |
function imagify_do_async_job( $body ) {
|
|
|
|
|
|
|
|
|
162 |
$args = array(
|
163 |
'timeout' => 0.01,
|
164 |
'blocking' => false,
|
languages/imagify-de_DE.mo
CHANGED
Binary file
|
languages/imagify-de_DE.po
CHANGED
@@ -1,938 +1,1212 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Imagify\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date:
|
6 |
-
"PO-Revision-Date:
|
7 |
-
"Last-Translator: caspar <caspar@wp-rocket.me>\n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"Language:
|
10 |
-
"
|
11 |
-
"
|
12 |
-
"Content-
|
13 |
-
"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-Basepath: .\n"
|
16 |
-
"X-Poedit-
|
17 |
-
"
|
18 |
-
"
|
19 |
-
"
|
20 |
-
"
|
21 |
-
"
|
22 |
-
"X-
|
23 |
-
"X-
|
24 |
-
|
25 |
-
#: ../inc/
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
"
|
35 |
-
msgstr ""
|
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 |
-
#: ../inc/
|
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 |
-
msgid "
|
122 |
-
msgstr "
|
123 |
-
|
124 |
-
#: ../inc/admin/
|
125 |
-
msgid "
|
126 |
-
msgstr "
|
127 |
-
|
128 |
-
#: ../inc/admin/ui/options.php:
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
msgid "
|
135 |
-
msgstr "
|
136 |
-
|
137 |
-
#: ../inc/admin/ui/
|
138 |
-
msgid "
|
139 |
-
msgstr "
|
140 |
-
|
141 |
-
#: ../inc/admin/ui/
|
142 |
-
msgid "
|
143 |
-
msgstr "
|
144 |
-
|
145 |
-
#: ../inc/admin/ui/
|
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 |
-
#: ../inc/admin/ui/options.php:
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
#: ../inc/
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
#: ../inc/admin/ui/options.php:
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
#: ../inc/
|
227 |
-
msgid "
|
228 |
-
msgstr "
|
229 |
-
|
230 |
-
#: ../inc/admin/ui/
|
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 |
-
#: ../inc/admin/ui/
|
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 |
-
#: inc/admin/ui/
|
321 |
-
#, php-format
|
322 |
-
msgid "
|
323 |
-
msgstr "
|
324 |
-
|
325 |
-
#: ../inc/
|
326 |
-
msgid ""
|
327 |
-
"
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
msgid "
|
349 |
-
msgstr "
|
350 |
-
|
351 |
-
#: ../inc/
|
352 |
-
msgid ""
|
353 |
-
"
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
msgid "
|
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 |
-
#: inc/
|
400 |
-
msgid "
|
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 |
-
msgstr "
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
msgid ""
|
434 |
-
"
|
435 |
-
|
436 |
-
|
437 |
-
"
|
438 |
-
"
|
439 |
-
|
440 |
-
#: ../inc/admin/
|
441 |
-
msgid "
|
442 |
-
msgstr "
|
443 |
-
|
444 |
-
#: ../inc/admin/
|
445 |
-
msgid "
|
446 |
-
msgstr "
|
447 |
-
|
448 |
-
#: ../inc/admin/
|
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 |
-
msgid "
|
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 |
-
msgid "
|
503 |
-
msgstr "API-Schlüssel
|
504 |
-
|
505 |
-
#: ../inc/admin/
|
506 |
-
msgid ""
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
"
|
511 |
-
"
|
512 |
-
|
513 |
-
#: ../inc/admin/
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
"
|
524 |
-
|
525 |
-
"
|
526 |
-
|
527 |
-
|
528 |
-
"
|
529 |
-
"
|
530 |
-
|
531 |
-
#: ../inc/admin/
|
532 |
-
msgid "
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
msgid "
|
545 |
-
msgstr "
|
546 |
-
|
547 |
-
#: ../inc/admin/
|
548 |
-
|
549 |
-
msgid "
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
#: inc/admin/ui/options.php:
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
"
|
571 |
-
|
572 |
-
|
573 |
-
"
|
574 |
-
"
|
575 |
-
|
576 |
-
#: ../inc/admin/
|
577 |
-
msgid "
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
"
|
583 |
-
|
584 |
-
|
585 |
-
"
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
msgid ""
|
613 |
-
"
|
614 |
-
|
615 |
-
|
616 |
-
"
|
617 |
-
"
|
618 |
-
|
619 |
-
#: ../inc/admin/
|
620 |
-
msgid "
|
621 |
-
msgstr ""
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
"
|
630 |
-
"
|
631 |
-
|
632 |
-
|
633 |
-
"
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
#: ../inc/admin/
|
645 |
-
msgid "
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
msgstr "
|
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 |
-
msgstr "
|
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 |
-
#: ../inc/admin/ui/
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
#: inc/admin/ui/options.php:
|
730 |
-
#: inc/
|
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 |
-
msgid "
|
784 |
-
msgstr "
|
785 |
-
|
786 |
-
#: ../inc/admin
|
787 |
-
msgid "
|
788 |
-
msgstr "
|
789 |
-
|
790 |
-
#: ../inc/admin
|
791 |
-
msgid "
|
792 |
-
msgstr "
|
793 |
-
|
794 |
-
#: ../inc/admin
|
795 |
-
msgid "
|
796 |
-
msgstr "
|
797 |
-
|
798 |
-
#: ../inc/admin
|
799 |
-
msgid "
|
800 |
-
msgstr "
|
801 |
-
|
802 |
-
#: ../inc/
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
#: ../inc/admin
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
msgstr "
|
830 |
-
|
831 |
-
#: ../inc/admin
|
832 |
-
msgid "
|
833 |
-
msgstr "
|
834 |
-
|
835 |
-
#: ../inc/admin
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
#: inc/
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
"
|
860 |
-
msgstr ""
|
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 |
-
#: ../inc/admin/ui
|
887 |
-
msgid "
|
888 |
-
msgstr "
|
889 |
-
|
890 |
-
#: ../inc/admin/ui
|
891 |
-
|
892 |
-
|
893 |
-
"
|
894 |
-
|
895 |
-
|
896 |
-
#: ../inc/admin/ui
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Imagify\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2016-04-19 16:34+0200\n"
|
6 |
+
"PO-Revision-Date: 2016-04-19 16:42+0200\n"
|
7 |
+
"Last-Translator: caspar <caspar@wp-rocket.me>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"Language: de\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
+
"X-Poedit-Basepath: .\n"
|
16 |
+
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
17 |
+
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
18 |
+
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
19 |
+
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
20 |
+
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
21 |
+
"X-Generator: Poedit 1.8.6\n"
|
22 |
+
"X-Loco-Target-Locale: de_DE\n"
|
23 |
+
"X-Poedit-SearchPath-0: ..\n"
|
24 |
+
|
25 |
+
#: ../inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:20
|
26 |
+
#: ../inc/admin/ajax.php:123 ../inc/admin/meta-boxes.php:34
|
27 |
+
#: ../inc/functions/admin-ui.php:212 ../inc/functions/i18n.php:46
|
28 |
+
#: ../inc/functions/i18n.php:61
|
29 |
+
msgid "Optimize"
|
30 |
+
msgstr "Optimieren"
|
31 |
+
|
32 |
+
#: ../inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:21
|
33 |
+
#: ../inc/functions/admin-ui.php:80 ../inc/functions/i18n.php:47
|
34 |
+
msgid "Restore Original"
|
35 |
+
msgstr "Original wiederherstellen"
|
36 |
+
|
37 |
+
#: ../inc/3rd-party/nextgen-gallery/inc/admin/menu.php:16
|
38 |
+
#: ../inc/admin/menu.php:24 ../inc/admin/plugins.php:13
|
39 |
+
#: ../inc/admin/ui/bulk.php:81 ../inc/common/admin-bar.php:39
|
40 |
+
msgid "Bulk Optimization"
|
41 |
+
msgstr "Stapelverarbeitung"
|
42 |
+
|
43 |
+
#: ../inc/admin/ajax.php:123 ../inc/admin/meta-boxes.php:29
|
44 |
+
#: ../inc/functions/admin-ui.php:121 ../inc/functions/admin-ui.php:153
|
45 |
+
#: ../inc/functions/admin-ui.php:159 ../inc/functions/admin-ui.php:165
|
46 |
+
#: ../inc/functions/admin-ui.php:202 ../inc/functions/admin-ui.php:212
|
47 |
+
msgid "Optimizing..."
|
48 |
+
msgstr "Wird optimiert …"
|
49 |
+
|
50 |
+
#: ../inc/admin/ajax.php:503
|
51 |
+
msgid "Oops, It's almost over!"
|
52 |
+
msgstr "Hoppla, es wird langsam eng."
|
53 |
+
|
54 |
+
#: ../inc/admin/ajax.php:504
|
55 |
+
#, php-format
|
56 |
+
msgid ""
|
57 |
+
"You have almost used all your credit.%sDon't forget to upgrade your "
|
58 |
+
"subscription to continue optimizing your images."
|
59 |
+
msgstr ""
|
60 |
+
"In Kürze wirst du dein Guthaben verbraucht haben.%sAktualisiere dein Abo, um "
|
61 |
+
"deine Bilder auch in Zukunft zu optimieren."
|
62 |
+
|
63 |
+
#: ../inc/admin/ajax.php:505 ../inc/admin/ui/bulk.php:23
|
64 |
+
msgid "View My Subscription"
|
65 |
+
msgstr "Mein Abo ansehen"
|
66 |
+
|
67 |
+
#: ../inc/admin/ajax.php:513 ../inc/admin/ui/notices.php:251
|
68 |
+
#: ../inc/functions/i18n.php:80
|
69 |
+
msgid "Oops, It's Over!"
|
70 |
+
msgstr "Alles hat ein Ende…"
|
71 |
+
|
72 |
+
#: ../inc/admin/ajax.php:514 ../inc/admin/ui/notices.php:253
|
73 |
+
#: ../inc/functions/i18n.php:97
|
74 |
+
#, php-format
|
75 |
+
msgid ""
|
76 |
+
"You have consumed all your credit for this month. You will have <strong>%s "
|
77 |
+
"back on %s</strong>."
|
78 |
+
msgstr ""
|
79 |
+
"Du hast dein Guthaben für diesen Monat aufgebraucht. <strong>%s</strong> "
|
80 |
+
"werden dir am <strong>%s</strong> wieder zur Verfügung stehen."
|
81 |
+
|
82 |
+
#: ../inc/admin/ajax.php:515
|
83 |
+
msgid "Upgrade My Subscription"
|
84 |
+
msgstr "Mein Abo aktualisieren"
|
85 |
+
|
86 |
+
#: ../inc/admin/ajax.php:534 ../inc/admin/ui/bulk.php:17
|
87 |
+
msgid "Account status"
|
88 |
+
msgstr "Kontostatus"
|
89 |
+
|
90 |
+
#: ../inc/admin/ajax.php:535 ../inc/admin/ui/bulk.php:18
|
91 |
+
msgid "Your subscription:"
|
92 |
+
msgstr "Dein Abo:"
|
93 |
+
|
94 |
+
#: ../inc/admin/ajax.php:543 ../inc/admin/ui/bulk.php:48
|
95 |
+
#, php-format
|
96 |
+
msgid "You have %s space credit left"
|
97 |
+
msgstr "Du hast noch %s Guthaben"
|
98 |
+
|
99 |
+
#: ../inc/admin/ajax.php:555
|
100 |
+
msgid "View my subscription"
|
101 |
+
msgstr "Mein Abo ansehen"
|
102 |
+
|
103 |
+
#: ../inc/admin/media.php:63 ../inc/functions/i18n.php:57
|
104 |
+
msgid "Compare Original VS Optimized"
|
105 |
+
msgstr "Vergleiche Original mit optimiert"
|
106 |
+
|
107 |
+
#: ../inc/admin/meta-boxes.php:17 ../inc/admin/meta-boxes.php:24
|
108 |
+
#: ../inc/admin/upload.php:12
|
109 |
+
msgid "Imagify"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: ../inc/admin/meta-boxes.php:19 ../inc/functions/admin-ui.php:195
|
113 |
+
msgid "Invalid API key"
|
114 |
+
msgstr "Ungültiger API-Schlüssel"
|
115 |
+
|
116 |
+
#: ../inc/admin/meta-boxes.php:21 ../inc/functions/admin-ui.php:197
|
117 |
+
msgid "Check your Settings"
|
118 |
+
msgstr "Überprüfe deine Einstellungen"
|
119 |
+
|
120 |
+
#: ../inc/admin/options.php:120
|
121 |
+
msgid "Cheatin’ uh?"
|
122 |
+
msgstr "Ts, ts, ts …"
|
123 |
+
|
124 |
+
#: ../inc/admin/options.php:128
|
125 |
+
msgid "<strong>ERROR</strong>: options page not found."
|
126 |
+
msgstr "<strong>Fehler</strong>: Einstellungsseite nicht gefunden."
|
127 |
+
|
128 |
+
#: ../inc/admin/plugins.php:14 ../inc/admin/ui/options.php:74
|
129 |
+
#: ../inc/common/admin-bar.php:30
|
130 |
+
msgid "Settings"
|
131 |
+
msgstr "Einstellungen"
|
132 |
+
|
133 |
+
#: ../inc/admin/ui/bulk.php:60
|
134 |
+
msgid "Upgrade your account to continue optimizing your images"
|
135 |
+
msgstr "Aktualisiere dein Konto, um deine Bilder weiterhin zu optimieren"
|
136 |
+
|
137 |
+
#: ../inc/admin/ui/bulk.php:64
|
138 |
+
msgid "More info"
|
139 |
+
msgstr "Weitere Informationen"
|
140 |
+
|
141 |
+
#: ../inc/admin/ui/bulk.php:91
|
142 |
+
msgid "Overview"
|
143 |
+
msgstr "Übersicht"
|
144 |
+
|
145 |
+
#: ../inc/admin/ui/bulk.php:99
|
146 |
+
#, php-format
|
147 |
+
msgid "You optimized %s images of your website"
|
148 |
+
msgstr "Du hast %s Bilder deiner Website optimiert"
|
149 |
+
|
150 |
+
#: ../inc/admin/ui/bulk.php:103
|
151 |
+
msgid "Statistics"
|
152 |
+
msgstr "Statistik"
|
153 |
+
|
154 |
+
#: ../inc/admin/ui/bulk.php:115
|
155 |
+
msgid "that's the number of images you optimized with Imagify"
|
156 |
+
msgstr "Bilder mit Imagify optimiert"
|
157 |
+
|
158 |
+
#: ../inc/admin/ui/bulk.php:120
|
159 |
+
msgid "Original size"
|
160 |
+
msgstr "Originalgröße"
|
161 |
+
|
162 |
+
#: ../inc/admin/ui/bulk.php:125
|
163 |
+
msgid "Optimized size"
|
164 |
+
msgstr "Optimierte Größe"
|
165 |
+
|
166 |
+
#: ../inc/admin/ui/bulk.php:136
|
167 |
+
#, php-format
|
168 |
+
msgid "that's the size you saved %sby using Imagify"
|
169 |
+
msgstr "geringere Dateigröße dank Imagify"
|
170 |
+
|
171 |
+
#: ../inc/admin/ui/bulk.php:142
|
172 |
+
msgid "Information"
|
173 |
+
msgstr "Informationen"
|
174 |
+
|
175 |
+
#: ../inc/admin/ui/bulk.php:146
|
176 |
+
msgid ""
|
177 |
+
"Please be aware that optimizing a large number of images can take a while "
|
178 |
+
"depending on your server and network speed."
|
179 |
+
msgstr ""
|
180 |
+
"Bitte beachte: Das Optimieren einer hohen Anzahl Bilder kann eine Weile "
|
181 |
+
"dauern, abhängig von deinem Server und der Netzwerkgeschwindigkeit."
|
182 |
+
|
183 |
+
#: ../inc/admin/ui/bulk.php:149
|
184 |
+
#, php-format
|
185 |
+
msgid ""
|
186 |
+
"If you have more than %s images, you will need to launch the bulk "
|
187 |
+
"optimization several times."
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: ../inc/admin/ui/bulk.php:153
|
191 |
+
msgid ""
|
192 |
+
"You must keep this page open while the bulk optimizaton is processing. If "
|
193 |
+
"you leave you can come back to continue where it left off."
|
194 |
+
msgstr ""
|
195 |
+
"Du musst diese Seite während der Stapelverarbeitung geöffnet lassen. Falls "
|
196 |
+
"du sie doch schließt, wird die Stapelverarbeitung unterbrochen und später "
|
197 |
+
"fortgesetzt, sobald du diese Seite erneut aufrufst."
|
198 |
+
|
199 |
+
#: ../inc/admin/ui/bulk.php:164
|
200 |
+
msgid "Select Your Compression Level"
|
201 |
+
msgstr "Wähle deinen Komprimierungsstufen"
|
202 |
+
|
203 |
+
#: ../inc/admin/ui/bulk.php:166 ../inc/admin/ui/bulk.php:192
|
204 |
+
#: ../inc/admin/ui/options.php:136 ../inc/admin/ui/options.php:365
|
205 |
+
#: ../inc/admin/ui/options.php:404 ../inc/admin/ui/options.php:421
|
206 |
+
#: ../inc/admin/ui/options.php:481
|
207 |
+
#: ../inc/classes/abstracts/abstract-attachment.php:114
|
208 |
+
#: ../inc/functions/admin-ui.php:153
|
209 |
+
msgid "Ultra"
|
210 |
+
msgstr "Ultra"
|
211 |
+
|
212 |
+
#: ../inc/admin/ui/bulk.php:169 ../inc/admin/ui/bulk.php:187
|
213 |
+
#: ../inc/admin/ui/options.php:131 ../inc/admin/ui/options.php:352
|
214 |
+
#: ../inc/admin/ui/options.php:403 ../inc/admin/ui/options.php:416
|
215 |
+
#: ../inc/admin/ui/options.php:460
|
216 |
+
#: ../inc/classes/abstracts/abstract-attachment.php:117
|
217 |
+
#: ../inc/functions/admin-ui.php:159
|
218 |
+
msgid "Aggressive"
|
219 |
+
msgstr "Aggressiv"
|
220 |
+
|
221 |
+
#: ../inc/admin/ui/bulk.php:172 ../inc/admin/ui/bulk.php:182
|
222 |
+
#: ../inc/admin/ui/options.php:126 ../inc/admin/ui/options.php:339
|
223 |
+
#: ../inc/admin/ui/options.php:402 ../inc/admin/ui/options.php:411
|
224 |
+
#: ../inc/admin/ui/options.php:440
|
225 |
+
#: ../inc/classes/abstracts/abstract-attachment.php:120
|
226 |
+
#: ../inc/functions/admin-ui.php:165
|
227 |
+
msgid "Normal"
|
228 |
+
msgstr "Normal"
|
229 |
+
|
230 |
+
#: ../inc/admin/ui/bulk.php:176
|
231 |
+
#, php-format
|
232 |
+
msgid "Your default setting: %s"
|
233 |
+
msgstr "Deine Standardeinstellung: %s"
|
234 |
+
|
235 |
+
#: ../inc/admin/ui/bulk.php:201
|
236 |
+
#, php-format
|
237 |
+
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
238 |
+
msgstr "Überprüfe deine %sEinstellungen%s vor der Stapelverarbeitung."
|
239 |
+
|
240 |
+
#: ../inc/admin/ui/bulk.php:208
|
241 |
+
msgid "Let's go!"
|
242 |
+
msgstr "Los geht’s!"
|
243 |
+
|
244 |
+
#: ../inc/admin/ui/bulk.php:215
|
245 |
+
msgid "Imagif'em all"
|
246 |
+
msgstr "Alle Bilder optimieren"
|
247 |
+
|
248 |
+
#: ../inc/admin/ui/bulk.php:220
|
249 |
+
#, php-format
|
250 |
+
msgid ""
|
251 |
+
"All images greater than %s will be optimized when using a paying monthly "
|
252 |
+
"plan."
|
253 |
+
msgstr ""
|
254 |
+
"Alle Bilder, die größer sind als %s, werden optimiert, wenn du ein "
|
255 |
+
"monatliches Abo nutzt."
|
256 |
+
|
257 |
+
#: ../inc/admin/ui/bulk.php:239
|
258 |
+
msgid "Well done!"
|
259 |
+
msgstr "Klasse!"
|
260 |
+
|
261 |
+
#: ../inc/admin/ui/bulk.php:240
|
262 |
+
#, php-format
|
263 |
+
msgid "you saved %1$s out of %2$s"
|
264 |
+
msgstr "du hast %1$s von %2$s gespart"
|
265 |
+
|
266 |
+
#: ../inc/admin/ui/bulk.php:245
|
267 |
+
msgid "Share your awesome result"
|
268 |
+
msgstr "Teile dein hervorragendes Ergebnis"
|
269 |
+
|
270 |
+
#: ../inc/admin/ui/bulk.php:260
|
271 |
+
msgid "Compression process results"
|
272 |
+
msgstr "Ergebnisse der Komprimierung"
|
273 |
+
|
274 |
+
#: ../inc/admin/ui/bulk.php:263
|
275 |
+
msgid "Filename"
|
276 |
+
msgstr "Dateiname"
|
277 |
+
|
278 |
+
#: ../inc/admin/ui/bulk.php:264
|
279 |
+
msgid "Status"
|
280 |
+
msgstr "Status"
|
281 |
+
|
282 |
+
#: ../inc/admin/ui/bulk.php:265 ../inc/admin/ui/options.php:401
|
283 |
+
#: ../inc/admin/ui/options.php:406 ../inc/admin/ui/options.php:430
|
284 |
+
msgid "Original"
|
285 |
+
msgstr "Original"
|
286 |
+
|
287 |
+
#: ../inc/admin/ui/bulk.php:266 ../inc/admin/upload.php:41
|
288 |
+
#: ../inc/functions/i18n.php:76
|
289 |
+
msgid "Optimized"
|
290 |
+
msgstr "Optimiert"
|
291 |
+
|
292 |
+
#: ../inc/admin/ui/bulk.php:267
|
293 |
+
msgid "Percentage"
|
294 |
+
msgstr "Prozent"
|
295 |
+
|
296 |
+
#: ../inc/admin/ui/bulk.php:268
|
297 |
+
msgid "Thumbnails optimized"
|
298 |
+
msgstr "Vorschaubilder optimiert"
|
299 |
+
|
300 |
+
#: ../inc/admin/ui/bulk.php:269
|
301 |
+
msgid "Overall saving"
|
302 |
+
msgstr "Gesamte Ersparnis"
|
303 |
+
|
304 |
+
#: ../inc/admin/ui/bulk.php:274
|
305 |
+
msgid "file"
|
306 |
+
msgstr "Datei"
|
307 |
+
|
308 |
+
#: ../inc/admin/ui/bulk.php:275
|
309 |
+
msgid "error"
|
310 |
+
msgstr "Fehler"
|
311 |
+
|
312 |
+
#: ../inc/admin/ui/bulk.php:276
|
313 |
+
msgid "Total:"
|
314 |
+
msgstr "Gesamt:"
|
315 |
+
|
316 |
+
#: ../inc/admin/ui/bulk.php:277
|
317 |
+
msgid "Gain:"
|
318 |
+
msgstr "Gewinn:"
|
319 |
+
|
320 |
+
#: ../inc/admin/ui/bulk.php:294
|
321 |
+
#, php-format
|
322 |
+
msgid "%sStart the bulk optimization%s"
|
323 |
+
msgstr "%sStapelverarbeitung starten%s"
|
324 |
+
|
325 |
+
#: ../inc/admin/ui/notices.php:23
|
326 |
+
msgid "Welcome to Imagify, the best way to easily optimize your images!"
|
327 |
+
msgstr "Willkommen bei Imagify, der smarten Bildoptimierung!"
|
328 |
+
|
329 |
+
#: ../inc/admin/ui/notices.php:25 ../inc/admin/ui/notices.php:90
|
330 |
+
#: ../inc/admin/ui/notices.php:181 ../inc/admin/ui/notices.php:217
|
331 |
+
#: ../inc/admin/ui/notices.php:256 ../inc/admin/ui/notices.php:361
|
332 |
+
msgid "Dismiss this notice"
|
333 |
+
msgstr "Diese Meldung verwerfen"
|
334 |
+
|
335 |
+
#: ../inc/admin/ui/notices.php:32
|
336 |
+
msgid "Create an Account"
|
337 |
+
msgstr "Konto anlegen"
|
338 |
+
|
339 |
+
#: ../inc/admin/ui/notices.php:33
|
340 |
+
msgid ""
|
341 |
+
"Don't have an Imagify account yet? Optimize your images by creating an "
|
342 |
+
"account in a few seconds!"
|
343 |
+
msgstr ""
|
344 |
+
"Registriere dein Konto bei Imagify (kostenfrei, dauert nur ein paar "
|
345 |
+
"Sekunden), um anschließend deine Bilder in WordPress zu optimieren."
|
346 |
+
|
347 |
+
#: ../inc/admin/ui/notices.php:36
|
348 |
+
msgid "Sign up, It's FREE!"
|
349 |
+
msgstr "Mein Konto kostenfrei anlegen"
|
350 |
+
|
351 |
+
#: ../inc/admin/ui/notices.php:42
|
352 |
+
msgid "Enter your API Key"
|
353 |
+
msgstr "API-Schlüssel eingeben"
|
354 |
+
|
355 |
+
#: ../inc/admin/ui/notices.php:43
|
356 |
+
#, php-format
|
357 |
+
msgid ""
|
358 |
+
"Save your API Key you have received by email or you can get it on your "
|
359 |
+
"%sImagify account page%s."
|
360 |
+
msgstr ""
|
361 |
+
"Aktiviere Imagify mit deinem persönlichen API-Schlüssel, den du per E-Mail "
|
362 |
+
"erhalten hast. Du kannst ihn auch jederzeit in deinen %sKontoeinstellungen%s "
|
363 |
+
"abrufen."
|
364 |
+
|
365 |
+
#: ../inc/admin/ui/notices.php:46
|
366 |
+
msgid "I have my API key"
|
367 |
+
msgstr "Meinen API-Schlüssel eingeben"
|
368 |
+
|
369 |
+
#: ../inc/admin/ui/notices.php:52
|
370 |
+
msgid "Configure it"
|
371 |
+
msgstr "Einstellungen wählen"
|
372 |
+
|
373 |
+
#: ../inc/admin/ui/notices.php:53
|
374 |
+
msgid ""
|
375 |
+
"It’s almost done! You have just to configure your optimization settings."
|
376 |
+
msgstr ""
|
377 |
+
"Fast fertig! Wähle nun deine Einstellungen für Imagify. Anschließend kannst "
|
378 |
+
"du alle deine Bilder von Imagify automatisch optimieren lassen."
|
379 |
+
|
380 |
+
#: ../inc/admin/ui/notices.php:54
|
381 |
+
msgid "Go to Settings"
|
382 |
+
msgstr "Meine Einstellungen wählen"
|
383 |
+
|
384 |
+
#: ../inc/admin/ui/notices.php:85 ../inc/admin/ui/options.php:97
|
385 |
+
msgid "Your API key isn't valid!"
|
386 |
+
msgstr "Dein API-Schlüssel ist ungültig."
|
387 |
+
|
388 |
+
#: ../inc/admin/ui/notices.php:88
|
389 |
+
#, php-format
|
390 |
+
msgid ""
|
391 |
+
"Go to your Imagify account page to get your API Key and specify it on "
|
392 |
+
"%1$syour settings%3$s or %2$screate an account for free%3$s if you don't "
|
393 |
+
"have one yet."
|
394 |
+
msgstr ""
|
395 |
+
"Du findest deinen API-Schlüssel in deinem Imagify-Konto. Sobald du ihn dort "
|
396 |
+
"geholt hast, %1$shinterlege ihn in deinen Einstellungen%3$s. Oder %2$slege "
|
397 |
+
"kostenfrei ein Konto an%3$s, um deinen API-Schlüssel zu erhalten."
|
398 |
+
|
399 |
+
#: ../inc/admin/ui/notices.php:138
|
400 |
+
msgid ""
|
401 |
+
"The following plugins are not compatible with this plugin and may cause "
|
402 |
+
"unexpected results:"
|
403 |
+
msgstr ""
|
404 |
+
"Die folgenden Plugins sind nicht kompatibel mit diesem Plugin und können "
|
405 |
+
"unerwartete Ergebnisse verursachen:"
|
406 |
+
|
407 |
+
#: ../inc/admin/ui/notices.php:144
|
408 |
+
msgid "Deactivate"
|
409 |
+
msgstr "Deaktivieren"
|
410 |
+
|
411 |
+
#: ../inc/admin/ui/notices.php:173
|
412 |
+
msgid "The external HTTP requests are blocked!"
|
413 |
+
msgstr "Externe HTTP-Anfragen werden blockiert."
|
414 |
+
|
415 |
+
#: ../inc/admin/ui/notices.php:174
|
416 |
+
msgid ""
|
417 |
+
"You defined the <code>WP_HTTP_BLOCK_EXTERNAL</code> constant in the <code>wp-"
|
418 |
+
"config.php</code> to block all external HTTP requests."
|
419 |
+
msgstr ""
|
420 |
+
"Alle externen HTTP-Anfragen werden blockiert, weil in der Datei <em>wp-"
|
421 |
+
"config.php</em> die PHP-Konstante <code>WP_HTTP_BLOCK_EXTERNAL</code> "
|
422 |
+
"gesetzt ist.\n"
|
423 |
+
|
424 |
+
#: ../inc/admin/ui/notices.php:176
|
425 |
+
msgid ""
|
426 |
+
"To optimize your images, you have to put the following code in your <code>wp-"
|
427 |
+
"config.php</code> file so that it works correctly."
|
428 |
+
msgstr ""
|
429 |
+
"Um deine Bilder optimieren zu können, füge den folgenden Code zu deiner "
|
430 |
+
"<em>wp-config.php</em> hinzu."
|
431 |
+
|
432 |
+
#: ../inc/admin/ui/notices.php:177
|
433 |
+
msgid "Click on the field and press Ctrl-A to select all."
|
434 |
+
msgstr "Klicke auf das Feld und drücke ctrl+A (cmd+A) für Alles auswählen."
|
435 |
+
|
436 |
+
#: ../inc/admin/ui/notices.php:213
|
437 |
+
msgid "You're missing out!"
|
438 |
+
msgstr "Du verpasst etwas!"
|
439 |
+
|
440 |
+
#: ../inc/admin/ui/notices.php:214
|
441 |
+
msgid "Use the List view to optimize images with Imagify."
|
442 |
+
msgstr "In der Listenansicht kannst du deine Bilder direkt zu optimieren."
|
443 |
+
|
444 |
+
#: ../inc/admin/ui/notices.php:215
|
445 |
+
msgid "Switch to the List View"
|
446 |
+
msgstr "Zur Listenansicht wechseln"
|
447 |
+
|
448 |
+
#: ../inc/admin/ui/notices.php:253 ../inc/functions/i18n.php:94
|
449 |
+
#: ../inc/functions/i18n.php:97
|
450 |
+
#, php-format
|
451 |
+
msgid ""
|
452 |
+
"To continue to optimize your images, log in to your Imagify account to %sbuy "
|
453 |
+
"a pack or subscribe to a plan%s."
|
454 |
+
msgstr ""
|
455 |
+
"Um deine Bilder auch in Zukunft zu optimieren, logge dich bei Imagify.io ein "
|
456 |
+
"und %skaufe ein einmaliges Guthaben oder ein Abo%s."
|
457 |
+
|
458 |
+
#: ../inc/admin/ui/notices.php:306 ../inc/admin/ui/options.php:28
|
459 |
+
msgid "Discover the best caching plugin to speed up your website."
|
460 |
+
msgstr ""
|
461 |
+
"Entdecke das beste Caching-Plugin, um deine Website schneller zu machen."
|
462 |
+
|
463 |
+
#: ../inc/admin/ui/notices.php:309 ../inc/admin/ui/options.php:36
|
464 |
+
#, php-format
|
465 |
+
msgid "%sGet %s off%s with this coupon code:%s"
|
466 |
+
msgstr "%sErhalte %s Rabatt%s mit diesem Gutschein-Code:%s"
|
467 |
+
|
468 |
+
#: ../inc/admin/ui/notices.php:318 ../inc/admin/ui/options.php:41
|
469 |
+
msgid "Get WP Rocket now"
|
470 |
+
msgstr "Hole dir WP Rocket jetzt"
|
471 |
+
|
472 |
+
#: ../inc/admin/ui/notices.php:354
|
473 |
+
#, php-format
|
474 |
+
msgid ""
|
475 |
+
"%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and improved "
|
476 |
+
"your website's speed by reducing your images size."
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: ../inc/admin/ui/notices.php:356 ../inc/admin/ui/options.php:59
|
480 |
+
#, php-format
|
481 |
+
msgid ""
|
482 |
+
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
483 |
+
"WordPress.org%s!"
|
484 |
+
msgstr ""
|
485 |
+
"%sBist du zufrieden mit diesem Plugin?%s Bitte nimm dir einen Moment Zeit "
|
486 |
+
"für eine %sBewertung auf WordPress.org%s!"
|
487 |
+
|
488 |
+
#: ../inc/admin/ui/options.php:22
|
489 |
+
msgid "Is your website too slow?"
|
490 |
+
msgstr "Ist deine Website zu langsam?"
|
491 |
+
|
492 |
+
#: ../inc/admin/ui/options.php:84
|
493 |
+
msgid "API Key"
|
494 |
+
msgstr "API-Schlüssel"
|
495 |
+
|
496 |
+
#: ../inc/admin/ui/options.php:91 ../inc/functions/i18n.php:31
|
497 |
+
msgid "Your API key is valid."
|
498 |
+
msgstr "Dein API-Schlüssel ist gültig."
|
499 |
+
|
500 |
+
#: ../inc/admin/ui/options.php:104
|
501 |
+
#, php-format
|
502 |
+
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
503 |
+
msgstr "Noch keinen API-Schlüssel erhalten? %sJetzt kostenfrei Konto anlegen%s"
|
504 |
+
|
505 |
+
#: ../inc/admin/ui/options.php:121
|
506 |
+
msgid "Optimization Level"
|
507 |
+
msgstr "Optimierungsgrad"
|
508 |
+
|
509 |
+
#: ../inc/admin/ui/options.php:141
|
510 |
+
msgid "More info?"
|
511 |
+
msgstr "Was ist das?"
|
512 |
+
|
513 |
+
#: ../inc/admin/ui/options.php:148
|
514 |
+
#, php-format
|
515 |
+
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
516 |
+
msgstr "Nicht sicher? %sVisuellen Vergleich ausprobieren%s"
|
517 |
+
|
518 |
+
#: ../inc/admin/ui/options.php:157 ../inc/admin/ui/options.php:161
|
519 |
+
msgid "Auto-Optimize images on upload"
|
520 |
+
msgstr "Bilder beim Hochladen automatisch optimieren"
|
521 |
+
|
522 |
+
#: ../inc/admin/ui/options.php:165
|
523 |
+
msgid "Automatically optimize every image you upload to WordPress."
|
524 |
+
msgstr ""
|
525 |
+
"Lasse automatisch jedes Bild optimieren, das du in WordPress hochlädst."
|
526 |
+
|
527 |
+
#: ../inc/admin/ui/options.php:170 ../inc/admin/ui/options.php:173
|
528 |
+
msgid "Backup original images"
|
529 |
+
msgstr "Originalbilder sichern"
|
530 |
+
|
531 |
+
#: ../inc/admin/ui/options.php:177
|
532 |
+
msgid ""
|
533 |
+
"Keep your original images in a separate folder before optimization process."
|
534 |
+
msgstr ""
|
535 |
+
"Speichere Sicherungskopien deiner Originalbilder in einem separaten Ordner, "
|
536 |
+
"bevor die Optimierung beginnt."
|
537 |
+
|
538 |
+
#: ../inc/admin/ui/options.php:182 ../inc/admin/ui/options.php:185
|
539 |
+
msgid "Resize larger images"
|
540 |
+
msgstr "Große Bilder verkleinern"
|
541 |
+
|
542 |
+
#: ../inc/admin/ui/options.php:191
|
543 |
+
#, php-format
|
544 |
+
msgid "to maximum %s pixels width"
|
545 |
+
msgstr "auf maximal %s Pixel Breite"
|
546 |
+
|
547 |
+
#: ../inc/admin/ui/options.php:202
|
548 |
+
#, php-format
|
549 |
+
msgid ""
|
550 |
+
"This option is recommended to reduce larger images. You can save up to 80%% "
|
551 |
+
"after resizing. The new width should not be less than your largest thumbnail "
|
552 |
+
"width, which is actually %spx."
|
553 |
+
msgstr ""
|
554 |
+
"Diese Option ist empfehlenswert, um das Speichervolumen für größere Bilder "
|
555 |
+
"zu reduzieren. Du kannst so bis zu 80%% Speicherplatz sparen. Die neue "
|
556 |
+
"Breite sollte nicht geringer als deine größte Vorschaubildbreite sein, die "
|
557 |
+
"übrigens %s Pixel beträgt."
|
558 |
+
|
559 |
+
#: ../inc/admin/ui/options.php:209 ../inc/admin/ui/options.php:212
|
560 |
+
msgid "EXIF Data"
|
561 |
+
msgstr "EXIF-Daten"
|
562 |
+
|
563 |
+
#: ../inc/admin/ui/options.php:216
|
564 |
+
msgid ""
|
565 |
+
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
566 |
+
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
567 |
+
msgstr ""
|
568 |
+
"Behalte alle EXIF-Daten deiner Bilder. In den EXIF-Daten werden "
|
569 |
+
"Informationen wie Verschlusszeit, Belichtungskorrektur, ISO-Wert usw. "
|
570 |
+
"gespeichert."
|
571 |
+
|
572 |
+
#: ../inc/admin/ui/options.php:217
|
573 |
+
msgid "Learn more"
|
574 |
+
msgstr "Weitere Informationen"
|
575 |
+
|
576 |
+
#: ../inc/admin/ui/options.php:219
|
577 |
+
msgid ""
|
578 |
+
"If you are a photographer, you may be interested in this option if you are "
|
579 |
+
"displaying on your pages some info like the model of your camera."
|
580 |
+
msgstr ""
|
581 |
+
"Aktiviere diese Option, wenn du auf deiner Site fototechnische "
|
582 |
+
"Informationen, wie z.B. das Model deiner Kamera, anzeigen möchtest."
|
583 |
+
|
584 |
+
#: ../inc/admin/ui/options.php:228
|
585 |
+
msgid "Files optimization"
|
586 |
+
msgstr "Dateioptimierung"
|
587 |
+
|
588 |
+
#: ../inc/admin/ui/options.php:231
|
589 |
+
msgid ""
|
590 |
+
"You can choose to compress different image sizes created by WordPress here."
|
591 |
+
msgstr ""
|
592 |
+
"Hier kannst du die Komprimierung für die verschiedenen Bildgrößen "
|
593 |
+
"kontrollieren, die dein WordPress generiert."
|
594 |
+
|
595 |
+
#: ../inc/admin/ui/options.php:233
|
596 |
+
#, php-format
|
597 |
+
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
598 |
+
msgstr "Die %sOriginalgröße%s wird von Imagify %sautomatisch optimiert%s."
|
599 |
+
|
600 |
+
#: ../inc/admin/ui/options.php:236
|
601 |
+
msgid ""
|
602 |
+
"Remember each additional image size will affect your Imagify monthly usage!"
|
603 |
+
msgstr ""
|
604 |
+
"Bedenke, dass jede ausgewählte Bildgröße dein monatliches Nutzungsvolumen "
|
605 |
+
"bei Imagify beeinflusst."
|
606 |
+
|
607 |
+
#: ../inc/admin/ui/options.php:289
|
608 |
+
msgid "Display options"
|
609 |
+
msgstr "Optionen anzeigen"
|
610 |
+
|
611 |
+
#: ../inc/admin/ui/options.php:294 ../inc/admin/ui/options.php:299
|
612 |
+
msgid "Show Admin Bar menu"
|
613 |
+
msgstr "Toolbar-Menü anzeigen"
|
614 |
+
|
615 |
+
#: ../inc/admin/ui/options.php:300
|
616 |
+
msgid "I want this awesome quick access menu on my admin bar."
|
617 |
+
msgstr "Ich möchte dieses praktische Dropdown-Menü in meiner Toolbar."
|
618 |
+
|
619 |
+
#: ../inc/admin/ui/options.php:319
|
620 |
+
msgid "Save & Go to Bulk Optimizer"
|
621 |
+
msgstr "Speichern und zur Stapelverarbeitung gehen"
|
622 |
+
|
623 |
+
#: ../inc/admin/ui/options.php:328
|
624 |
+
#, php-format
|
625 |
+
msgid ""
|
626 |
+
"Once your settings saved, optimize all your images by using the %sImagify "
|
627 |
+
"Bulk Optimization%s feature."
|
628 |
+
msgstr ""
|
629 |
+
"Sobald du deine Einstellungen gespeichert hast, kannst du mit der "
|
630 |
+
"%sStapelverarbeitung%s alle deine Bilder optimieren."
|
631 |
+
|
632 |
+
#: ../inc/admin/ui/options.php:336
|
633 |
+
msgid "You can choose three levels of compression"
|
634 |
+
msgstr "Du kannst zwischen drei Komprimierungsstufen wählen."
|
635 |
+
|
636 |
+
#: ../inc/admin/ui/options.php:341
|
637 |
+
msgid ""
|
638 |
+
"This mode provides lossless optimization, your images will be optimized "
|
639 |
+
"without any visible change."
|
640 |
+
msgstr ""
|
641 |
+
"Dieser Modus sorgt für verlustfreie Bildoptimierung. Deine Bilder werden "
|
642 |
+
"ohne sichtbare Veränderungen optimiert."
|
643 |
+
|
644 |
+
#: ../inc/admin/ui/options.php:344
|
645 |
+
msgid ""
|
646 |
+
"If you want the perfect quality for your images, we recommend you that mode."
|
647 |
+
msgstr ""
|
648 |
+
"Wähle diese Einstellung, wenn dir die perfekte Qualität deiner Bilder "
|
649 |
+
"wichtig ist."
|
650 |
+
|
651 |
+
#: ../inc/admin/ui/options.php:347
|
652 |
+
msgid ""
|
653 |
+
"Note: the file size reduction will be less, compared to aggressive mode."
|
654 |
+
msgstr ""
|
655 |
+
"Hinweis: Die Verringerung der Dateigröße fällt hier geringer aus, als im "
|
656 |
+
"aggressiven Modus."
|
657 |
+
|
658 |
+
#: ../inc/admin/ui/options.php:354
|
659 |
+
msgid ""
|
660 |
+
"This mode provides perfect optimization of your images without any "
|
661 |
+
"significant quality loss."
|
662 |
+
msgstr ""
|
663 |
+
"Dieser Modus liefert hervorragende Optimierung ohne signifikante "
|
664 |
+
"Qualitätsverluste."
|
665 |
+
|
666 |
+
#: ../inc/admin/ui/options.php:357
|
667 |
+
msgid ""
|
668 |
+
"This will provide a drastic savings on the initial weight, with a small "
|
669 |
+
"reduction in image quality. Most of the time it's not even noticeable."
|
670 |
+
msgstr ""
|
671 |
+
"Die drastische Verringerung der Dateigröße geht mit geringfügigen, meist "
|
672 |
+
"kaum wahrnehmbaren Einbußen in der Qualität einher."
|
673 |
+
|
674 |
+
#: ../inc/admin/ui/options.php:360
|
675 |
+
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
676 |
+
msgstr ""
|
677 |
+
"Wähle diese Einstellung, wenn du auf maximale Größenreduktion Wert legst."
|
678 |
+
|
679 |
+
#: ../inc/admin/ui/options.php:367
|
680 |
+
msgid ""
|
681 |
+
"This mode will apply all available optimizations for maximum image "
|
682 |
+
"compression."
|
683 |
+
msgstr ""
|
684 |
+
"Dieser Modus wendet alle verfügbaren Parameter für maximale Komprimierung an."
|
685 |
+
|
686 |
+
#: ../inc/admin/ui/options.php:370
|
687 |
+
msgid ""
|
688 |
+
"This will provide a huge savings on the initial weight. Sometimes the image "
|
689 |
+
"quality could be degraded a little."
|
690 |
+
msgstr ""
|
691 |
+
"Die Bildgröße wird erheblich verringert. In einigen Fällen kann es jedoch zu "
|
692 |
+
"Verlusten bei der Qualität kommen."
|
693 |
+
|
694 |
+
#: ../inc/admin/ui/options.php:373
|
695 |
+
msgid ""
|
696 |
+
"If you want the maximum weight reduction, and you agree to lose some quality "
|
697 |
+
"on the images we recommend using this mode."
|
698 |
+
msgstr ""
|
699 |
+
"Wähle diese Einstellung, wenn du bereit bist, etwas Qualität zugunsten "
|
700 |
+
"maximaler Reduktion der Dateigröße zu riskieren."
|
701 |
+
|
702 |
+
#: ../inc/admin/ui/options.php:380 ../inc/admin/ui/options.php:502
|
703 |
+
#: ../inc/functions/admin-ui.php:659 ../inc/functions/i18n.php:58
|
704 |
+
msgid "Close"
|
705 |
+
msgstr "Schließen"
|
706 |
+
|
707 |
+
#: ../inc/admin/ui/options.php:392
|
708 |
+
#, php-format
|
709 |
+
msgid "I want to compare%s and%s"
|
710 |
+
msgstr "Ich möchte %s und %s vergleichen."
|
711 |
+
|
712 |
+
#: ../inc/admin/ui/options.php:409
|
713 |
+
#, php-format
|
714 |
+
msgid "Original photography about %s"
|
715 |
+
msgstr "Originalbild ca. %s"
|
716 |
+
|
717 |
+
#: ../inc/admin/ui/options.php:414 ../inc/admin/ui/options.php:419
|
718 |
+
#: ../inc/admin/ui/options.php:424
|
719 |
+
#, php-format
|
720 |
+
msgid "Optimized photography about %s"
|
721 |
+
msgstr "Optimiertes Bild ca. %s"
|
722 |
+
|
723 |
+
#: ../inc/admin/ui/options.php:429 ../inc/admin/ui/options.php:439
|
724 |
+
#: ../inc/admin/ui/options.php:459 ../inc/admin/ui/options.php:480
|
725 |
+
#: ../inc/functions/admin-ui.php:59
|
726 |
+
msgid "Level:"
|
727 |
+
msgstr "Modus:"
|
728 |
+
|
729 |
+
#: ../inc/admin/ui/options.php:433 ../inc/admin/ui/options.php:443
|
730 |
+
#: ../inc/admin/ui/options.php:463 ../inc/admin/ui/options.php:484
|
731 |
+
#: ../inc/functions/i18n.php:59
|
732 |
+
msgid "File Size:"
|
733 |
+
msgstr "Dateigröße:"
|
734 |
+
|
735 |
+
#: ../inc/admin/ui/options.php:447 ../inc/admin/ui/options.php:467
|
736 |
+
#: ../inc/admin/ui/options.php:488 ../inc/functions/admin-ui.php:45
|
737 |
+
#: ../inc/functions/i18n.php:60
|
738 |
+
msgid "Original Saving:"
|
739 |
+
msgstr "Optimiert um:"
|
740 |
+
|
741 |
+
#: ../inc/admin/upload.php:42 ../inc/functions/i18n.php:77
|
742 |
+
msgid "Unoptimized"
|
743 |
+
msgstr "Nicht Optimiert"
|
744 |
+
|
745 |
+
#: ../inc/admin/upload.php:43
|
746 |
+
msgid "Errors"
|
747 |
+
msgstr "Fehler"
|
748 |
+
|
749 |
+
#: ../inc/admin/upload.php:46
|
750 |
+
msgid "Filter by status"
|
751 |
+
msgstr "Filtere nach Status"
|
752 |
+
|
753 |
+
#: ../inc/admin/upload.php:49
|
754 |
+
msgid "All images"
|
755 |
+
msgstr "Alle Bilder"
|
756 |
+
|
757 |
+
#: ../inc/classes/class-attachment.php:266
|
758 |
+
msgid ""
|
759 |
+
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
760 |
+
"you want to optimize it."
|
761 |
+
msgstr ""
|
762 |
+
"Diese Bildgröße ist für die Optimierung nicht zugelassen. Aktualisiere deine "
|
763 |
+
"Imagify-Einstellungen, wenn du sie optimieren möchtest."
|
764 |
+
|
765 |
+
#: ../inc/common/admin-bar.php:48
|
766 |
+
#, php-format
|
767 |
+
msgid "Rate Imagify on %s"
|
768 |
+
msgstr "Bewerte Imagify auf %s"
|
769 |
+
|
770 |
+
#: ../inc/common/admin-bar.php:61
|
771 |
+
msgid "Loading..."
|
772 |
+
msgstr "Laden …"
|
773 |
+
|
774 |
+
#: ../inc/functions/admin-ui.php:36
|
775 |
+
msgid "New Filesize:"
|
776 |
+
msgstr "Neue Dateigröße:"
|
777 |
+
|
778 |
+
#: ../inc/functions/admin-ui.php:52
|
779 |
+
msgid "Close details"
|
780 |
+
msgstr "Details schließen"
|
781 |
+
|
782 |
+
#: ../inc/functions/admin-ui.php:52
|
783 |
+
msgid "View details"
|
784 |
+
msgstr "Details anzeigen"
|
785 |
+
|
786 |
+
#: ../inc/functions/admin-ui.php:56
|
787 |
+
msgid "Original Filesize:"
|
788 |
+
msgstr "Originale Dateigröße:"
|
789 |
+
|
790 |
+
#: ../inc/functions/admin-ui.php:62
|
791 |
+
msgid "Thumbnails Optimized:"
|
792 |
+
msgstr "Optimierte Vorschaubilder:"
|
793 |
+
|
794 |
+
#: ../inc/functions/admin-ui.php:63
|
795 |
+
msgid "Overall Saving:"
|
796 |
+
msgstr "Gesamte Ersparnis:"
|
797 |
+
|
798 |
+
#: ../inc/functions/admin-ui.php:80
|
799 |
+
msgid "Restoring..."
|
800 |
+
msgstr "Wiederherstellen …"
|
801 |
+
|
802 |
+
#: ../inc/functions/admin-ui.php:121
|
803 |
+
msgid "Try again"
|
804 |
+
msgstr "Erneut versuchen"
|
805 |
+
|
806 |
+
#: ../inc/functions/admin-ui.php:153 ../inc/functions/admin-ui.php:159
|
807 |
+
#: ../inc/functions/admin-ui.php:165
|
808 |
+
#, php-format
|
809 |
+
msgid "Re-Optimize to %s"
|
810 |
+
msgstr "Erneut optimieren als %s"
|
811 |
+
|
812 |
+
#: ../inc/functions/admin-ui.php:189
|
813 |
+
#, php-format
|
814 |
+
msgid "%s can't be optimized"
|
815 |
+
msgstr "%s kann nicht optimiert werden."
|
816 |
+
|
817 |
+
#: ../inc/functions/admin-ui.php:237
|
818 |
+
msgid "What plan do I need?"
|
819 |
+
msgstr ""
|
820 |
+
|
821 |
+
#: ../inc/functions/admin-ui.php:241
|
822 |
+
msgid "You're new to Imagify?"
|
823 |
+
msgstr ""
|
824 |
+
|
825 |
+
#: ../inc/functions/admin-ui.php:242
|
826 |
+
msgid ""
|
827 |
+
"Let us help you by analyzing your existing images and determinate the best "
|
828 |
+
"plan for you"
|
829 |
+
msgstr ""
|
830 |
+
|
831 |
+
#: ../inc/functions/admin-ui.php:277
|
832 |
+
msgid "Choose Plan"
|
833 |
+
msgstr ""
|
834 |
+
|
835 |
+
#: ../inc/functions/admin-ui.php:278
|
836 |
+
msgid "Payment Info"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: ../inc/functions/admin-ui.php:283
|
840 |
+
msgid "We analysed your images"
|
841 |
+
msgstr ""
|
842 |
+
|
843 |
+
#: ../inc/functions/admin-ui.php:289
|
844 |
+
#, php-format
|
845 |
+
msgid "You have %s images"
|
846 |
+
msgstr ""
|
847 |
+
|
848 |
+
#: ../inc/functions/admin-ui.php:295
|
849 |
+
#, php-format
|
850 |
+
msgid "You actually have %s of images in your library."
|
851 |
+
msgstr ""
|
852 |
+
|
853 |
+
#: ../inc/functions/admin-ui.php:299
|
854 |
+
#, php-format
|
855 |
+
msgid "You upload around %s of images per month."
|
856 |
+
msgstr ""
|
857 |
+
|
858 |
+
#: ../inc/functions/admin-ui.php:306
|
859 |
+
msgid "We recommend you this plan"
|
860 |
+
msgstr ""
|
861 |
+
|
862 |
+
#: ../inc/functions/admin-ui.php:311
|
863 |
+
msgid "Subscribe a monthly plan"
|
864 |
+
msgstr ""
|
865 |
+
|
866 |
+
#: ../inc/functions/admin-ui.php:312
|
867 |
+
msgid "Subscribe a yearly plan"
|
868 |
+
msgstr ""
|
869 |
+
|
870 |
+
#: ../inc/functions/admin-ui.php:316 ../inc/functions/admin-ui.php:452
|
871 |
+
#: ../inc/functions/admin-ui.php:620
|
872 |
+
msgid "Monthly"
|
873 |
+
msgstr ""
|
874 |
+
|
875 |
+
#: ../inc/functions/admin-ui.php:319 ../inc/functions/admin-ui.php:455
|
876 |
+
#: ../inc/functions/admin-ui.php:623
|
877 |
+
msgid "Yearly"
|
878 |
+
msgstr ""
|
879 |
+
|
880 |
+
#: ../inc/functions/admin-ui.php:319 ../inc/functions/admin-ui.php:455
|
881 |
+
#: ../inc/functions/admin-ui.php:623
|
882 |
+
msgid "2 months free"
|
883 |
+
msgstr ""
|
884 |
+
|
885 |
+
#: ../inc/functions/admin-ui.php:330 ../inc/functions/admin-ui.php:349
|
886 |
+
#: ../inc/functions/admin-ui.php:465 ../inc/functions/admin-ui.php:475
|
887 |
+
msgid "/month"
|
888 |
+
msgstr ""
|
889 |
+
|
890 |
+
#: ../inc/functions/admin-ui.php:332 ../inc/functions/admin-ui.php:380
|
891 |
+
#: ../inc/functions/admin-ui.php:467 ../inc/functions/admin-ui.php:518
|
892 |
+
#, php-format
|
893 |
+
msgid "approx: %s images"
|
894 |
+
msgstr ""
|
895 |
+
|
896 |
+
#: ../inc/functions/admin-ui.php:353 ../inc/functions/admin-ui.php:481
|
897 |
+
#, php-format
|
898 |
+
msgid ""
|
899 |
+
"%s per<br>\n"
|
900 |
+
"additionnal Gb"
|
901 |
+
msgstr ""
|
902 |
+
|
903 |
+
#: ../inc/functions/admin-ui.php:358 ../inc/functions/admin-ui.php:393
|
904 |
+
#: ../inc/functions/admin-ui.php:577 ../inc/functions/admin-ui.php:598
|
905 |
+
msgid "Choose another plan"
|
906 |
+
msgstr ""
|
907 |
+
|
908 |
+
#: ../inc/functions/admin-ui.php:368
|
909 |
+
msgid "Optimize the images you already have, buy a one-time plan"
|
910 |
+
msgstr ""
|
911 |
+
|
912 |
+
#: ../inc/functions/admin-ui.php:404
|
913 |
+
msgid "Checkout"
|
914 |
+
msgstr ""
|
915 |
+
|
916 |
+
#: ../inc/functions/admin-ui.php:408
|
917 |
+
msgid ""
|
918 |
+
"Monthly plans comes with credits which is renewed every months. The billing "
|
919 |
+
"happens automatically each month or year depending the billing period you "
|
920 |
+
"choose."
|
921 |
+
msgstr ""
|
922 |
+
|
923 |
+
#: ../inc/functions/admin-ui.php:432
|
924 |
+
msgid "Monthly Plans"
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: ../inc/functions/admin-ui.php:437
|
928 |
+
msgid "One Time Plans"
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: ../inc/functions/admin-ui.php:447
|
932 |
+
msgid ""
|
933 |
+
"Monthly plans come with credits which is renewed every months. The billing "
|
934 |
+
"happens automatically each month or year depending the billing period you "
|
935 |
+
"choose."
|
936 |
+
msgstr ""
|
937 |
+
|
938 |
+
#: ../inc/functions/admin-ui.php:479 ../inc/functions/admin-ui.php:526
|
939 |
+
msgid "we recommend for you"
|
940 |
+
msgstr ""
|
941 |
+
|
942 |
+
#: ../inc/functions/admin-ui.php:487 ../inc/functions/admin-ui.php:530
|
943 |
+
msgid "Choose plan"
|
944 |
+
msgstr ""
|
945 |
+
|
946 |
+
#: ../inc/functions/admin-ui.php:495
|
947 |
+
msgid "Need more?"
|
948 |
+
msgstr ""
|
949 |
+
|
950 |
+
#: ../inc/functions/admin-ui.php:496
|
951 |
+
msgid "for special needs"
|
952 |
+
msgstr ""
|
953 |
+
|
954 |
+
#: ../inc/functions/admin-ui.php:500
|
955 |
+
msgid "Contact Us"
|
956 |
+
msgstr ""
|
957 |
+
|
958 |
+
#: ../inc/functions/admin-ui.php:507
|
959 |
+
msgid ""
|
960 |
+
"One time plans are useful if you have a lots of existing images which need "
|
961 |
+
"to be optimized. You can use it for bulk optimizing all your past images. "
|
962 |
+
"You will pay only once."
|
963 |
+
msgstr ""
|
964 |
+
|
965 |
+
#: ../inc/functions/admin-ui.php:560
|
966 |
+
msgid "Your order"
|
967 |
+
msgstr ""
|
968 |
+
|
969 |
+
#: ../inc/functions/admin-ui.php:565
|
970 |
+
#, php-format
|
971 |
+
msgid "%scancel%sYou just removed %s"
|
972 |
+
msgstr ""
|
973 |
+
|
974 |
+
#: ../inc/functions/admin-ui.php:573 ../inc/functions/admin-ui.php:594
|
975 |
+
msgid "Remove this item"
|
976 |
+
msgstr ""
|
977 |
+
|
978 |
+
#: ../inc/functions/admin-ui.php:580
|
979 |
+
#, php-format
|
980 |
+
msgid "%s per month"
|
981 |
+
msgstr ""
|
982 |
+
|
983 |
+
#: ../inc/functions/admin-ui.php:601
|
984 |
+
#, php-format
|
985 |
+
msgid "one time %s"
|
986 |
+
msgstr ""
|
987 |
+
|
988 |
+
#: ../inc/functions/admin-ui.php:614
|
989 |
+
#, php-format
|
990 |
+
msgid ""
|
991 |
+
"Switch to yearly subscription and <br><strong class=\"imagify-dark\">save %s "
|
992 |
+
"per year!</strong>"
|
993 |
+
msgstr ""
|
994 |
+
|
995 |
+
#: ../inc/functions/admin-ui.php:615
|
996 |
+
#, php-format
|
997 |
+
msgid ""
|
998 |
+
"Perfect!<br>You're <strong class=\"imagify-dark\">saving %s per year!</"
|
999 |
+
"strong>"
|
1000 |
+
msgstr ""
|
1001 |
+
|
1002 |
+
#: ../inc/functions/admin-ui.php:654
|
1003 |
+
msgid "Thank you for being awesome!"
|
1004 |
+
msgstr ""
|
1005 |
+
|
1006 |
+
#: ../inc/functions/admin-ui.php:665
|
1007 |
+
msgid "What do our user think about Imagify"
|
1008 |
+
msgstr ""
|
1009 |
+
|
1010 |
+
#: ../inc/functions/admin-ui.php:699
|
1011 |
+
msgid "Secure Credit Card Payment"
|
1012 |
+
msgstr ""
|
1013 |
+
|
1014 |
+
#: ../inc/functions/admin-ui.php:700
|
1015 |
+
msgid "This is secure 128-bits SSL encrypted payment"
|
1016 |
+
msgstr ""
|
1017 |
+
|
1018 |
+
#: ../inc/functions/i18n.php:19
|
1019 |
+
msgid "Let's get you started!"
|
1020 |
+
msgstr "Los geht’s!"
|
1021 |
+
|
1022 |
+
#: ../inc/functions/i18n.php:20
|
1023 |
+
msgid "Enter your email to get an API key:"
|
1024 |
+
msgstr "Gib deinen E-Mail-Adresse ein, um einen API-Schlüssel zu erhalten:"
|
1025 |
+
|
1026 |
+
#: ../inc/functions/i18n.php:21
|
1027 |
+
msgid "Sign Up"
|
1028 |
+
msgstr "Konto anlegen"
|
1029 |
+
|
1030 |
+
#: ../inc/functions/i18n.php:22
|
1031 |
+
msgid "You need to specify an email!"
|
1032 |
+
msgstr "Du musst eine E-Mail-Adresse angeben."
|
1033 |
+
|
1034 |
+
#: ../inc/functions/i18n.php:23 ../inc/functions/i18n.php:29
|
1035 |
+
msgid "Congratulations!"
|
1036 |
+
msgstr "Glückwunsch!"
|
1037 |
+
|
1038 |
+
#: ../inc/functions/i18n.php:24
|
1039 |
+
msgid ""
|
1040 |
+
"Your account has been succesfully created. Please check your mailbox, you "
|
1041 |
+
"are going to receive an email with API key."
|
1042 |
+
msgstr ""
|
1043 |
+
"Dein Konto ist jetzt angelegt. Überprüfe dein E-Mail-Postfach, du erhältst "
|
1044 |
+
"eine E-Mail mit deinem API-Schlüssel."
|
1045 |
+
|
1046 |
+
#: ../inc/functions/i18n.php:25
|
1047 |
+
msgid "Connect to Imagify!"
|
1048 |
+
msgstr "Verbindung zu Imagify herstellen"
|
1049 |
+
|
1050 |
+
#: ../inc/functions/i18n.php:26
|
1051 |
+
msgid "Paste your API key below:"
|
1052 |
+
msgstr "Füge deinen API-Schlüssel hier ein:"
|
1053 |
+
|
1054 |
+
#: ../inc/functions/i18n.php:27
|
1055 |
+
msgid "Connect me"
|
1056 |
+
msgstr "Verbinden"
|
1057 |
+
|
1058 |
+
#: ../inc/functions/i18n.php:28
|
1059 |
+
msgid "Check in progress..."
|
1060 |
+
msgstr "API-Schlüssel wird geprüft…"
|
1061 |
+
|
1062 |
+
#: ../inc/functions/i18n.php:30
|
1063 |
+
msgid ""
|
1064 |
+
"Your API key is valid. You can now configure the Imagify settings to "
|
1065 |
+
"optimize your images."
|
1066 |
+
msgstr ""
|
1067 |
+
"Dein API-Schlüssel ist gültig. Du kannst jetzt deine Einstellungen für die "
|
1068 |
+
"Bildoptimierung mit Imagify wählen."
|
1069 |
+
|
1070 |
+
#: ../inc/functions/i18n.php:32
|
1071 |
+
msgid "Cancel"
|
1072 |
+
msgstr ""
|
1073 |
+
|
1074 |
+
#: ../inc/functions/i18n.php:38
|
1075 |
+
msgid "Don't Need a Parachute?"
|
1076 |
+
msgstr "Du brauchst keinen Fallschirm?"
|
1077 |
+
|
1078 |
+
#: ../inc/functions/i18n.php:39
|
1079 |
+
msgid ""
|
1080 |
+
"If you keep this option deactivated, you won't be able to re-optimize your "
|
1081 |
+
"images to another compression level and restore your original images in case "
|
1082 |
+
"of need."
|
1083 |
+
msgstr ""
|
1084 |
+
"Wenn du diese Option deaktiviert lässt, wirst du deine Bilder nicht erneut "
|
1085 |
+
"mit einem anderen Level komprimieren, oder deren Originale wiederherstellen "
|
1086 |
+
"können."
|
1087 |
+
|
1088 |
+
#: ../inc/functions/i18n.php:55
|
1089 |
+
msgid "Original Image"
|
1090 |
+
msgstr "Originalbild"
|
1091 |
+
|
1092 |
+
#: ../inc/functions/i18n.php:56
|
1093 |
+
msgid "Optimized Image"
|
1094 |
+
msgstr "Optimiertes Bild"
|
1095 |
+
|
1096 |
+
#: ../inc/functions/i18n.php:70
|
1097 |
+
msgid "Please wait..."
|
1098 |
+
msgstr "Einen Moment bitte …"
|
1099 |
+
|
1100 |
+
#: ../inc/functions/i18n.php:71
|
1101 |
+
msgid ""
|
1102 |
+
"We are trying to get your unoptimized images, it may take time depending on "
|
1103 |
+
"the number of images."
|
1104 |
+
msgstr ""
|
1105 |
+
"Nicht optimierte Bilder werden gesammelt, dies kann einen Moment dauern "
|
1106 |
+
"…"
|
1107 |
+
|
1108 |
+
#: ../inc/functions/i18n.php:73
|
1109 |
+
msgid "Oops, There is something wrong!"
|
1110 |
+
msgstr "Hm, etwas ist schief gelaufen."
|
1111 |
+
|
1112 |
+
#: ../inc/functions/i18n.php:74
|
1113 |
+
msgid ""
|
1114 |
+
"An unknow error occurred when we tried to get all your unoptimized images. "
|
1115 |
+
"Try again and if the issue still persist, please contact us!"
|
1116 |
+
msgstr ""
|
1117 |
+
"Ein unbekannter Fehler ist beim Sammeln der nicht optimierten Bilder "
|
1118 |
+
"aufgetreten. Versuche es noch einmal; falls der Fehler sich wiederholt, "
|
1119 |
+
"kontaktiere bitte den Imagify-Support."
|
1120 |
+
|
1121 |
+
#: ../inc/functions/i18n.php:78
|
1122 |
+
msgid "Error"
|
1123 |
+
msgstr "Fehler"
|
1124 |
+
|
1125 |
+
#: ../inc/functions/i18n.php:81
|
1126 |
+
msgid "Hold on!"
|
1127 |
+
msgstr "Moment, bitte!"
|
1128 |
+
|
1129 |
+
#: ../inc/functions/i18n.php:82
|
1130 |
+
msgid "All your images have been optimized by Imagify. Congratulations!"
|
1131 |
+
msgstr "Imagify hat alle deine Bilder optimiert. Glückwunsch!"
|
1132 |
+
|
1133 |
+
#: ../inc/functions/i18n.php:84
|
1134 |
+
#, php-format
|
1135 |
+
msgid ""
|
1136 |
+
"Discover @imagify, the new compression tool to optimize your images for "
|
1137 |
+
"free. I saved %1$s out of %2$s!"
|
1138 |
+
msgstr ""
|
1139 |
+
"Freies #WordPress #Plugin zur Bildoptimierung für bessere #Performance: "
|
1140 |
+
"Bilder mit @imagify komprimiert, %1$s von %2$s gespart!"
|
1141 |
+
|
1142 |
+
#: ../inc/functions/i18n.php:88
|
1143 |
+
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
1144 |
+
msgstr ""
|
1145 |
+
"Imagify arbeitet noch. Möchtest du diese Seite wirklich verlassen und den "
|
1146 |
+
"Prozess abbrechen?"
|
1147 |
+
|
1148 |
+
#: ../inc/functions/i18n.php:97
|
1149 |
+
msgid "F j, Y"
|
1150 |
+
msgstr "j. F Y"
|
1151 |
+
|
1152 |
+
#: ../inc/functions/process.php:41
|
1153 |
+
msgid ""
|
1154 |
+
"Sorry, our servers are temporarily unaccessible. Please, try again in a "
|
1155 |
+
"couple of minutes."
|
1156 |
+
msgstr ""
|
1157 |
+
"Unsere Server sind leider im Augenblick nicht erreichbar. Bitte versuche es "
|
1158 |
+
"in ein paar Minuten noch einmal."
|
1159 |
+
|
1160 |
+
#: ../inc/functions/process.php:47
|
1161 |
+
msgid "External HTTP requests are blocked"
|
1162 |
+
msgstr "Externe HTTP-Anfragen werden blockiert"
|
1163 |
+
|
1164 |
+
#: ../inc/functions/process.php:53
|
1165 |
+
msgid "File path is empty"
|
1166 |
+
msgstr "Datei-Pfad ist leer"
|
1167 |
+
|
1168 |
+
#: ../inc/functions/process.php:59
|
1169 |
+
#, php-format
|
1170 |
+
msgid "Could not find %s"
|
1171 |
+
msgstr "%s wurde nicht gefunden"
|
1172 |
+
|
1173 |
+
#: ../inc/functions/process.php:64
|
1174 |
+
#, php-format
|
1175 |
+
msgid "%s is not writable"
|
1176 |
+
msgstr "%s ist nicht beschreibbar."
|
1177 |
+
|
1178 |
+
#: ../inc/functions/process.php:73
|
1179 |
+
#, php-format
|
1180 |
+
msgid "Skipped (%s), image not found."
|
1181 |
+
msgstr "Übersprungen (%s), Bild nicht gefunden."
|
1182 |
+
|
1183 |
+
#: ../assets/js/sweetalert.min.js:1
|
1184 |
+
msgid "./utils"
|
1185 |
+
msgstr ""
|
1186 |
+
|
1187 |
+
#: ../assets/js/sweetalert.min.js:1
|
1188 |
+
msgid "./handle-swal-dom"
|
1189 |
+
msgstr ""
|
1190 |
+
|
1191 |
+
#: ../assets/js/sweetalert.min.js:1
|
1192 |
+
msgid "./handle-dom"
|
1193 |
+
msgstr ""
|
1194 |
+
|
1195 |
+
#~ msgid "https://wordpress.org/plugins/imagify"
|
1196 |
+
#~ msgstr "https://de.wordpress.org/plugins/imagify"
|
1197 |
+
|
1198 |
+
#~ msgid ""
|
1199 |
+
#~ "Dramaticaly reduce image file sizes without loosing quality, make your "
|
1200 |
+
#~ "website load faster, boost your SEO and save money on your bandwith using "
|
1201 |
+
#~ "Imagify, the new most advanced image optimization tool."
|
1202 |
+
#~ msgstr ""
|
1203 |
+
#~ "Verlustfreie Bildoptimierung für WordPress. Imagify reduziert dramatisch "
|
1204 |
+
#~ "die Dateigröße deiner Bilder, macht deine Website schneller, verbessert "
|
1205 |
+
#~ "deine SEO und spart Bandbreite."
|
1206 |
+
|
1207 |
+
#~ msgid "Your default setting:"
|
1208 |
+
#~ msgstr "Deine Standard-Einstellung:"
|
1209 |
+
|
1210 |
+
#~ msgid ""
|
1211 |
+
#~ "All images which are over to %s could be optimized using the pro version."
|
1212 |
+
#~ msgstr "Bilder größer als %s können mit der Pro-version optimiert werden."
|
languages/imagify-de_DE_formal.mo
CHANGED
Binary file
|
languages/imagify-de_DE_formal.po
CHANGED
@@ -1,941 +1,1215 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Imagify\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date:
|
6 |
-
"PO-Revision-Date:
|
7 |
-
"Last-Translator: caspar <caspar@wp-rocket.me>\n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"Language:
|
10 |
-
"
|
11 |
-
"
|
12 |
-
"Content-
|
13 |
-
"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-Basepath: .\n"
|
16 |
-
"X-Poedit-
|
17 |
-
"
|
18 |
-
"
|
19 |
-
"
|
20 |
-
"
|
21 |
-
"
|
22 |
-
"X-
|
23 |
-
"X-
|
24 |
-
|
25 |
-
#: ../inc/
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
"
|
35 |
-
msgstr ""
|
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 |
-
msgstr ""
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
msgid "
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
#: ../inc/admin/
|
83 |
-
msgid "
|
84 |
-
msgstr "
|
85 |
-
|
86 |
-
#: ../inc/admin/ui/
|
87 |
-
msgid "
|
88 |
-
msgstr "
|
89 |
-
|
90 |
-
#: ../inc/admin/ui/
|
91 |
-
msgid "
|
92 |
-
msgstr "
|
93 |
-
|
94 |
-
#: ../inc/admin/ui/
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
msgid "
|
101 |
-
msgstr "
|
102 |
-
|
103 |
-
#: ../inc/admin/
|
104 |
-
msgid "
|
105 |
-
msgstr "
|
106 |
-
|
107 |
-
#: ../inc/admin/
|
108 |
-
|
109 |
-
msgid ""
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
"
|
114 |
-
"
|
115 |
-
|
116 |
-
#: ../inc/admin/ui
|
117 |
-
msgid "
|
118 |
-
msgstr "
|
119 |
-
|
120 |
-
#: ../inc/admin/
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
#: ../inc/admin
|
130 |
-
msgid "
|
131 |
-
msgstr "
|
132 |
-
|
133 |
-
#: ../inc/admin/ui/
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
msgid "
|
148 |
-
msgstr "
|
149 |
-
|
150 |
-
#: ../inc/admin/ui/
|
151 |
-
msgid "
|
152 |
-
msgstr ""
|
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 |
-
msgstr "
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
"
|
187 |
-
"
|
188 |
-
"
|
189 |
-
|
190 |
-
#: ../inc/admin/ui/
|
191 |
-
msgid "
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
"
|
197 |
-
"
|
198 |
-
|
199 |
-
|
200 |
-
"
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
#: ../inc/admin/ui/options.php:
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
#: ../inc/admin/ui/
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
#: ../inc/admin
|
218 |
-
msgid "
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
#: ../inc/admin/ui/options.php:
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
msgid "
|
233 |
-
msgstr "
|
234 |
-
|
235 |
-
#: ../inc/admin/ui/
|
236 |
-
#, php-format
|
237 |
-
msgid ""
|
238 |
-
"
|
239 |
-
|
240 |
-
|
241 |
-
"
|
242 |
-
"
|
243 |
-
|
244 |
-
#: ../inc/admin/ui/
|
245 |
-
msgid "
|
246 |
-
msgstr "
|
247 |
-
|
248 |
-
#: ../inc/admin/ui/
|
249 |
-
|
250 |
-
|
251 |
-
"
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
msgid ""
|
264 |
-
"
|
265 |
-
|
266 |
-
|
267 |
-
"
|
268 |
-
"
|
269 |
-
|
270 |
-
#: ../inc/admin/ui/
|
271 |
-
msgid ""
|
272 |
-
"
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
"
|
277 |
-
|
278 |
-
#: ../inc/admin/ui/
|
279 |
-
msgid ""
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
"
|
291 |
-
|
292 |
-
#: ../inc/admin/ui/
|
293 |
-
msgid ""
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
"
|
298 |
-
"
|
299 |
-
|
300 |
-
#: ../inc/admin/ui/
|
301 |
-
msgid "
|
302 |
-
msgstr ""
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
#: ../inc/admin/ui/
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
"Diese
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
msgstr "
|
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 |
-
#: ../inc/
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
msgid ""
|
391 |
-
"
|
392 |
-
"
|
393 |
-
"
|
394 |
-
msgstr ""
|
395 |
-
"
|
396 |
-
"
|
397 |
-
"
|
398 |
-
|
399 |
-
|
400 |
-
#: inc/
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
msgstr "
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
msgid ""
|
418 |
-
"You
|
419 |
-
"
|
420 |
-
msgstr ""
|
421 |
-
"
|
422 |
-
"
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
#: ../inc/admin/
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
"Sie
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
#: ../inc/
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
#: ../inc/admin/
|
461 |
-
msgid "
|
462 |
-
msgstr "
|
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 |
-
msgid "
|
518 |
-
msgstr "
|
519 |
-
|
520 |
-
#: ../inc/admin/
|
521 |
-
msgid "
|
522 |
-
msgstr "
|
523 |
-
|
524 |
-
#: ../inc/admin/
|
525 |
-
msgid ""
|
526 |
-
|
527 |
-
"
|
528 |
-
|
529 |
-
|
530 |
-
"
|
531 |
-
"
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
msgstr "
|
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 |
-
#: ../inc/admin/
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
msgstr "
|
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 |
-
|
596 |
-
|
597 |
-
#: ../inc/admin/
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
#: ../inc/admin/
|
610 |
-
msgid "
|
611 |
-
msgstr "
|
612 |
-
|
613 |
-
#: ../inc/admin/
|
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 |
-
#: ../inc/admin/
|
639 |
-
msgid "
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
msgstr "
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
#: ../inc/admin/
|
669 |
-
msgid "
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
#: ../inc/admin/
|
677 |
-
msgid "
|
678 |
-
msgstr "
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
msgstr "
|
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 |
-
#: ../inc/admin/ui/
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
#: inc/admin/ui/options.php:
|
733 |
-
#: inc/
|
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 |
-
msgid "
|
787 |
-
msgstr "
|
788 |
-
|
789 |
-
#: ../inc/admin
|
790 |
-
msgid "
|
791 |
-
msgstr "
|
792 |
-
|
793 |
-
#: ../inc/admin
|
794 |
-
msgid "
|
795 |
-
msgstr "
|
796 |
-
|
797 |
-
#: ../inc/admin
|
798 |
-
msgid "
|
799 |
-
msgstr "
|
800 |
-
|
801 |
-
#: ../inc/admin
|
802 |
-
msgid "
|
803 |
-
msgstr "
|
804 |
-
|
805 |
-
#: ../inc/
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
#: ../inc/admin
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
msgstr "
|
833 |
-
|
834 |
-
#: ../inc/admin
|
835 |
-
msgid "
|
836 |
-
msgstr "
|
837 |
-
|
838 |
-
#: ../inc/admin
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
#: inc/
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
"
|
863 |
-
msgstr ""
|
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 |
-
#: ../inc/admin/ui
|
890 |
-
msgid "
|
891 |
-
msgstr "
|
892 |
-
|
893 |
-
#: ../inc/admin/ui
|
894 |
-
|
895 |
-
|
896 |
-
"
|
897 |
-
|
898 |
-
|
899 |
-
#: ../inc/admin/ui
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Imagify\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2016-04-19 16:42+0200\n"
|
6 |
+
"PO-Revision-Date: 2016-04-19 16:43+0200\n"
|
7 |
+
"Last-Translator: caspar <caspar@wp-rocket.me>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"Language: de\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
+
"X-Poedit-Basepath: .\n"
|
16 |
+
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
17 |
+
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
18 |
+
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
19 |
+
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
20 |
+
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
21 |
+
"X-Generator: Poedit 1.8.6\n"
|
22 |
+
"X-Loco-Target-Locale: de_DE\n"
|
23 |
+
"X-Poedit-SearchPath-0: ..\n"
|
24 |
+
|
25 |
+
#: ../inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:20
|
26 |
+
#: ../inc/admin/ajax.php:123 ../inc/admin/meta-boxes.php:34
|
27 |
+
#: ../inc/functions/admin-ui.php:212 ../inc/functions/i18n.php:46
|
28 |
+
#: ../inc/functions/i18n.php:61
|
29 |
+
msgid "Optimize"
|
30 |
+
msgstr "Optimieren"
|
31 |
+
|
32 |
+
#: ../inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:21
|
33 |
+
#: ../inc/functions/admin-ui.php:80 ../inc/functions/i18n.php:47
|
34 |
+
msgid "Restore Original"
|
35 |
+
msgstr "Original wiederherstellen"
|
36 |
+
|
37 |
+
#: ../inc/3rd-party/nextgen-gallery/inc/admin/menu.php:16
|
38 |
+
#: ../inc/admin/menu.php:24 ../inc/admin/plugins.php:13
|
39 |
+
#: ../inc/admin/ui/bulk.php:81 ../inc/common/admin-bar.php:39
|
40 |
+
msgid "Bulk Optimization"
|
41 |
+
msgstr "Stapelverarbeitung"
|
42 |
+
|
43 |
+
#: ../inc/admin/ajax.php:123 ../inc/admin/meta-boxes.php:29
|
44 |
+
#: ../inc/functions/admin-ui.php:121 ../inc/functions/admin-ui.php:153
|
45 |
+
#: ../inc/functions/admin-ui.php:159 ../inc/functions/admin-ui.php:165
|
46 |
+
#: ../inc/functions/admin-ui.php:202 ../inc/functions/admin-ui.php:212
|
47 |
+
msgid "Optimizing..."
|
48 |
+
msgstr "Wird optimiert …"
|
49 |
+
|
50 |
+
#: ../inc/admin/ajax.php:503
|
51 |
+
msgid "Oops, It's almost over!"
|
52 |
+
msgstr "Hoppla, es wird langsam eng."
|
53 |
+
|
54 |
+
#: ../inc/admin/ajax.php:504
|
55 |
+
#, php-format
|
56 |
+
msgid ""
|
57 |
+
"You have almost used all your credit.%sDon't forget to upgrade your "
|
58 |
+
"subscription to continue optimizing your images."
|
59 |
+
msgstr ""
|
60 |
+
"In Kürze werden Sie Ihr Guthaben verbraucht haben.%sAktualisieren Sie Ihr "
|
61 |
+
"Abo, um Ihre Bilder auch in Zukunft zu optimieren."
|
62 |
+
|
63 |
+
#: ../inc/admin/ajax.php:505 ../inc/admin/ui/bulk.php:23
|
64 |
+
msgid "View My Subscription"
|
65 |
+
msgstr "Mein Abo ansehen"
|
66 |
+
|
67 |
+
#: ../inc/admin/ajax.php:513 ../inc/admin/ui/notices.php:251
|
68 |
+
#: ../inc/functions/i18n.php:80
|
69 |
+
msgid "Oops, It's Over!"
|
70 |
+
msgstr "Alles hat ein Ende…"
|
71 |
+
|
72 |
+
#: ../inc/admin/ajax.php:514 ../inc/admin/ui/notices.php:253
|
73 |
+
#: ../inc/functions/i18n.php:97
|
74 |
+
#, php-format
|
75 |
+
msgid ""
|
76 |
+
"You have consumed all your credit for this month. You will have <strong>%s "
|
77 |
+
"back on %s</strong>."
|
78 |
+
msgstr ""
|
79 |
+
"Sie haben Ihr Guthaben für diesen Monat aufgebraucht. <strong>%s</strong> "
|
80 |
+
"werden Ihnen am <strong>%s</strong> wieder zur Verfügung stehen."
|
81 |
+
|
82 |
+
#: ../inc/admin/ajax.php:515
|
83 |
+
msgid "Upgrade My Subscription"
|
84 |
+
msgstr "Mein Abo aktualisieren"
|
85 |
+
|
86 |
+
#: ../inc/admin/ajax.php:534 ../inc/admin/ui/bulk.php:17
|
87 |
+
msgid "Account status"
|
88 |
+
msgstr "Kontostatus"
|
89 |
+
|
90 |
+
#: ../inc/admin/ajax.php:535 ../inc/admin/ui/bulk.php:18
|
91 |
+
msgid "Your subscription:"
|
92 |
+
msgstr "Ihr Abo:"
|
93 |
+
|
94 |
+
#: ../inc/admin/ajax.php:543 ../inc/admin/ui/bulk.php:48
|
95 |
+
#, php-format
|
96 |
+
msgid "You have %s space credit left"
|
97 |
+
msgstr "Sie haben noch %s Guthaben"
|
98 |
+
|
99 |
+
#: ../inc/admin/ajax.php:555
|
100 |
+
msgid "View my subscription"
|
101 |
+
msgstr "Mein Abo ansehen"
|
102 |
+
|
103 |
+
#: ../inc/admin/media.php:63 ../inc/functions/i18n.php:57
|
104 |
+
msgid "Compare Original VS Optimized"
|
105 |
+
msgstr "Vergleiche Original mit optimiert"
|
106 |
+
|
107 |
+
#: ../inc/admin/meta-boxes.php:17 ../inc/admin/meta-boxes.php:24
|
108 |
+
#: ../inc/admin/upload.php:12
|
109 |
+
msgid "Imagify"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: ../inc/admin/meta-boxes.php:19 ../inc/functions/admin-ui.php:195
|
113 |
+
msgid "Invalid API key"
|
114 |
+
msgstr "Ungültiger API-Schlüssel"
|
115 |
+
|
116 |
+
#: ../inc/admin/meta-boxes.php:21 ../inc/functions/admin-ui.php:197
|
117 |
+
msgid "Check your Settings"
|
118 |
+
msgstr "Überprüfen Sie Ihre Einstellungen"
|
119 |
+
|
120 |
+
#: ../inc/admin/options.php:120
|
121 |
+
msgid "Cheatin’ uh?"
|
122 |
+
msgstr "Ts, ts, ts …"
|
123 |
+
|
124 |
+
#: ../inc/admin/options.php:128
|
125 |
+
msgid "<strong>ERROR</strong>: options page not found."
|
126 |
+
msgstr "<strong>Fehler</strong>: Einstellungsseite nicht gefunden."
|
127 |
+
|
128 |
+
#: ../inc/admin/plugins.php:14 ../inc/admin/ui/options.php:74
|
129 |
+
#: ../inc/common/admin-bar.php:30
|
130 |
+
msgid "Settings"
|
131 |
+
msgstr "Einstellungen"
|
132 |
+
|
133 |
+
#: ../inc/admin/ui/bulk.php:60
|
134 |
+
msgid "Upgrade your account to continue optimizing your images"
|
135 |
+
msgstr "Aktualisiere dein Konto, um deine Bilder weiterhin zu optimieren"
|
136 |
+
|
137 |
+
#: ../inc/admin/ui/bulk.php:64
|
138 |
+
msgid "More info"
|
139 |
+
msgstr "Weitere Informationen"
|
140 |
+
|
141 |
+
#: ../inc/admin/ui/bulk.php:91
|
142 |
+
msgid "Overview"
|
143 |
+
msgstr "Übersicht"
|
144 |
+
|
145 |
+
#: ../inc/admin/ui/bulk.php:99
|
146 |
+
#, php-format
|
147 |
+
msgid "You optimized %s images of your website"
|
148 |
+
msgstr "Sie haben %s Bilder Ihrer Website optimiert"
|
149 |
+
|
150 |
+
#: ../inc/admin/ui/bulk.php:103
|
151 |
+
msgid "Statistics"
|
152 |
+
msgstr "Statistik"
|
153 |
+
|
154 |
+
#: ../inc/admin/ui/bulk.php:115
|
155 |
+
msgid "that's the number of images you optimized with Imagify"
|
156 |
+
msgstr "Bilder mit Imagify optimiert"
|
157 |
+
|
158 |
+
#: ../inc/admin/ui/bulk.php:120
|
159 |
+
msgid "Original size"
|
160 |
+
msgstr "Originalgröße"
|
161 |
+
|
162 |
+
#: ../inc/admin/ui/bulk.php:125
|
163 |
+
msgid "Optimized size"
|
164 |
+
msgstr "Optimierte Größe"
|
165 |
+
|
166 |
+
#: ../inc/admin/ui/bulk.php:136
|
167 |
+
#, php-format
|
168 |
+
msgid "that's the size you saved %sby using Imagify"
|
169 |
+
msgstr "geringere Dateigröße dank Imagify"
|
170 |
+
|
171 |
+
#: ../inc/admin/ui/bulk.php:142
|
172 |
+
msgid "Information"
|
173 |
+
msgstr "Informationen"
|
174 |
+
|
175 |
+
#: ../inc/admin/ui/bulk.php:146
|
176 |
+
msgid ""
|
177 |
+
"Please be aware that optimizing a large number of images can take a while "
|
178 |
+
"depending on your server and network speed."
|
179 |
+
msgstr ""
|
180 |
+
"Bitte beachten: Das Optimieren einer hohen Anzahl Bilder kann eine Weile "
|
181 |
+
"dauern, abhängig von Ihrem Server und der Netzwerkgeschwindigkeit."
|
182 |
+
|
183 |
+
#: ../inc/admin/ui/bulk.php:149
|
184 |
+
#, php-format
|
185 |
+
msgid ""
|
186 |
+
"If you have more than %s images, you will need to launch the bulk "
|
187 |
+
"optimization several times."
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: ../inc/admin/ui/bulk.php:153
|
191 |
+
msgid ""
|
192 |
+
"You must keep this page open while the bulk optimizaton is processing. If "
|
193 |
+
"you leave you can come back to continue where it left off."
|
194 |
+
msgstr ""
|
195 |
+
"Sie müssen diese Seite während der Stapelverarbeitung geöffnet lassen. Falls "
|
196 |
+
"Sie sie doch schließen, wird die Stapelverarbeitung unterbrochen und später "
|
197 |
+
"fortgesetzt, sobald Sie diese Seite erneut aufrufen."
|
198 |
+
|
199 |
+
#: ../inc/admin/ui/bulk.php:164
|
200 |
+
msgid "Select Your Compression Level"
|
201 |
+
msgstr "Wählen Sie Ihre Komprimierungsstufen"
|
202 |
+
|
203 |
+
#: ../inc/admin/ui/bulk.php:166 ../inc/admin/ui/bulk.php:192
|
204 |
+
#: ../inc/admin/ui/options.php:136 ../inc/admin/ui/options.php:365
|
205 |
+
#: ../inc/admin/ui/options.php:404 ../inc/admin/ui/options.php:421
|
206 |
+
#: ../inc/admin/ui/options.php:481
|
207 |
+
#: ../inc/classes/abstracts/abstract-attachment.php:114
|
208 |
+
#: ../inc/functions/admin-ui.php:153
|
209 |
+
msgid "Ultra"
|
210 |
+
msgstr "Ultra"
|
211 |
+
|
212 |
+
#: ../inc/admin/ui/bulk.php:169 ../inc/admin/ui/bulk.php:187
|
213 |
+
#: ../inc/admin/ui/options.php:131 ../inc/admin/ui/options.php:352
|
214 |
+
#: ../inc/admin/ui/options.php:403 ../inc/admin/ui/options.php:416
|
215 |
+
#: ../inc/admin/ui/options.php:460
|
216 |
+
#: ../inc/classes/abstracts/abstract-attachment.php:117
|
217 |
+
#: ../inc/functions/admin-ui.php:159
|
218 |
+
msgid "Aggressive"
|
219 |
+
msgstr "Aggressiv"
|
220 |
+
|
221 |
+
#: ../inc/admin/ui/bulk.php:172 ../inc/admin/ui/bulk.php:182
|
222 |
+
#: ../inc/admin/ui/options.php:126 ../inc/admin/ui/options.php:339
|
223 |
+
#: ../inc/admin/ui/options.php:402 ../inc/admin/ui/options.php:411
|
224 |
+
#: ../inc/admin/ui/options.php:440
|
225 |
+
#: ../inc/classes/abstracts/abstract-attachment.php:120
|
226 |
+
#: ../inc/functions/admin-ui.php:165
|
227 |
+
msgid "Normal"
|
228 |
+
msgstr "Normal"
|
229 |
+
|
230 |
+
#: ../inc/admin/ui/bulk.php:176
|
231 |
+
#, php-format
|
232 |
+
msgid "Your default setting: %s"
|
233 |
+
msgstr "Ihre Standardeinstellung: %s"
|
234 |
+
|
235 |
+
#: ../inc/admin/ui/bulk.php:201
|
236 |
+
#, php-format
|
237 |
+
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
238 |
+
msgstr "Überprüfen Sie Ihre %sEinstellungen%s vor der Stapelverarbeitung."
|
239 |
+
|
240 |
+
#: ../inc/admin/ui/bulk.php:208
|
241 |
+
msgid "Let's go!"
|
242 |
+
msgstr "Los geht’s!"
|
243 |
+
|
244 |
+
#: ../inc/admin/ui/bulk.php:215
|
245 |
+
msgid "Imagif'em all"
|
246 |
+
msgstr "Alle Bilder optimieren"
|
247 |
+
|
248 |
+
#: ../inc/admin/ui/bulk.php:220
|
249 |
+
#, php-format
|
250 |
+
msgid ""
|
251 |
+
"All images greater than %s will be optimized when using a paying monthly "
|
252 |
+
"plan."
|
253 |
+
msgstr ""
|
254 |
+
"Alle Bilder, die größer sind als %s, werden optimiert, wenn Sie ein "
|
255 |
+
"monatliches Abo nutzen."
|
256 |
+
|
257 |
+
#: ../inc/admin/ui/bulk.php:239
|
258 |
+
msgid "Well done!"
|
259 |
+
msgstr "Bravo!"
|
260 |
+
|
261 |
+
#: ../inc/admin/ui/bulk.php:240
|
262 |
+
#, php-format
|
263 |
+
msgid "you saved %1$s out of %2$s"
|
264 |
+
msgstr "Sie haben %1$s von %2$s gespart"
|
265 |
+
|
266 |
+
#: ../inc/admin/ui/bulk.php:245
|
267 |
+
msgid "Share your awesome result"
|
268 |
+
msgstr "Teilen Sie Ihr hervorragendes Ergebnis"
|
269 |
+
|
270 |
+
#: ../inc/admin/ui/bulk.php:260
|
271 |
+
msgid "Compression process results"
|
272 |
+
msgstr "Ergebnisse der Komprimierung"
|
273 |
+
|
274 |
+
#: ../inc/admin/ui/bulk.php:263
|
275 |
+
msgid "Filename"
|
276 |
+
msgstr "Dateiname"
|
277 |
+
|
278 |
+
#: ../inc/admin/ui/bulk.php:264
|
279 |
+
msgid "Status"
|
280 |
+
msgstr "Status"
|
281 |
+
|
282 |
+
#: ../inc/admin/ui/bulk.php:265 ../inc/admin/ui/options.php:401
|
283 |
+
#: ../inc/admin/ui/options.php:406 ../inc/admin/ui/options.php:430
|
284 |
+
msgid "Original"
|
285 |
+
msgstr "Original"
|
286 |
+
|
287 |
+
#: ../inc/admin/ui/bulk.php:266 ../inc/admin/upload.php:41
|
288 |
+
#: ../inc/functions/i18n.php:76
|
289 |
+
msgid "Optimized"
|
290 |
+
msgstr "Optimiert"
|
291 |
+
|
292 |
+
#: ../inc/admin/ui/bulk.php:267
|
293 |
+
msgid "Percentage"
|
294 |
+
msgstr "Prozent"
|
295 |
+
|
296 |
+
#: ../inc/admin/ui/bulk.php:268
|
297 |
+
msgid "Thumbnails optimized"
|
298 |
+
msgstr "Vorschaubilder optimiert"
|
299 |
+
|
300 |
+
#: ../inc/admin/ui/bulk.php:269
|
301 |
+
msgid "Overall saving"
|
302 |
+
msgstr "Gesamte Ersparnis"
|
303 |
+
|
304 |
+
#: ../inc/admin/ui/bulk.php:274
|
305 |
+
msgid "file"
|
306 |
+
msgstr "Datei"
|
307 |
+
|
308 |
+
#: ../inc/admin/ui/bulk.php:275
|
309 |
+
msgid "error"
|
310 |
+
msgstr "Fehler"
|
311 |
+
|
312 |
+
#: ../inc/admin/ui/bulk.php:276
|
313 |
+
msgid "Total:"
|
314 |
+
msgstr "Gesamt:"
|
315 |
+
|
316 |
+
#: ../inc/admin/ui/bulk.php:277
|
317 |
+
msgid "Gain:"
|
318 |
+
msgstr "Gewinn:"
|
319 |
+
|
320 |
+
#: ../inc/admin/ui/bulk.php:294
|
321 |
+
#, php-format
|
322 |
+
msgid "%sStart the bulk optimization%s"
|
323 |
+
msgstr "%sStapelverarbeitung starten%s"
|
324 |
+
|
325 |
+
#: ../inc/admin/ui/notices.php:23
|
326 |
+
msgid "Welcome to Imagify, the best way to easily optimize your images!"
|
327 |
+
msgstr "Willkommen bei Imagify, der smarten Bildoptimierung!"
|
328 |
+
|
329 |
+
#: ../inc/admin/ui/notices.php:25 ../inc/admin/ui/notices.php:90
|
330 |
+
#: ../inc/admin/ui/notices.php:181 ../inc/admin/ui/notices.php:217
|
331 |
+
#: ../inc/admin/ui/notices.php:256 ../inc/admin/ui/notices.php:361
|
332 |
+
msgid "Dismiss this notice"
|
333 |
+
msgstr "Diese Meldung verwerfen"
|
334 |
+
|
335 |
+
#: ../inc/admin/ui/notices.php:32
|
336 |
+
msgid "Create an Account"
|
337 |
+
msgstr "Konto anlegen"
|
338 |
+
|
339 |
+
#: ../inc/admin/ui/notices.php:33
|
340 |
+
msgid ""
|
341 |
+
"Don't have an Imagify account yet? Optimize your images by creating an "
|
342 |
+
"account in a few seconds!"
|
343 |
+
msgstr ""
|
344 |
+
"Registrieren Sie Ihr Konto bei Imagify (kostenfrei, dauert nur ein paar "
|
345 |
+
"Sekunden), um anschließend Ihre Bilder in WordPress zu optimieren."
|
346 |
+
|
347 |
+
#: ../inc/admin/ui/notices.php:36
|
348 |
+
msgid "Sign up, It's FREE!"
|
349 |
+
msgstr "Mein Konto kostenfrei anlegen"
|
350 |
+
|
351 |
+
#: ../inc/admin/ui/notices.php:42
|
352 |
+
msgid "Enter your API Key"
|
353 |
+
msgstr "API-Schlüssel eingeben"
|
354 |
+
|
355 |
+
#: ../inc/admin/ui/notices.php:43
|
356 |
+
#, php-format
|
357 |
+
msgid ""
|
358 |
+
"Save your API Key you have received by email or you can get it on your "
|
359 |
+
"%sImagify account page%s."
|
360 |
+
msgstr ""
|
361 |
+
"Aktivieren Sie Imagify mit Ihrem persönlichen API-Schlüssel, den Sie per E-"
|
362 |
+
"Mail erhalten haben. Sie können ihn auch jederzeit in Ihren "
|
363 |
+
"%sKontoeinstellungen%s abrufen."
|
364 |
+
|
365 |
+
#: ../inc/admin/ui/notices.php:46
|
366 |
+
msgid "I have my API key"
|
367 |
+
msgstr "Meinen API-Schlüssel eingeben"
|
368 |
+
|
369 |
+
#: ../inc/admin/ui/notices.php:52
|
370 |
+
msgid "Configure it"
|
371 |
+
msgstr "Einstellungen wählen"
|
372 |
+
|
373 |
+
#: ../inc/admin/ui/notices.php:53
|
374 |
+
msgid ""
|
375 |
+
"It’s almost done! You have just to configure your optimization settings."
|
376 |
+
msgstr ""
|
377 |
+
"Fast fertig! Wählen Sie nun Ihre Einstellungen für Imagify. Anschließend "
|
378 |
+
"können Sie alle Ihre Bilder von Imagify automatisch optimieren lassen."
|
379 |
+
|
380 |
+
#: ../inc/admin/ui/notices.php:54
|
381 |
+
msgid "Go to Settings"
|
382 |
+
msgstr "Meine Einstellungen wählen"
|
383 |
+
|
384 |
+
#: ../inc/admin/ui/notices.php:85 ../inc/admin/ui/options.php:97
|
385 |
+
msgid "Your API key isn't valid!"
|
386 |
+
msgstr "Ihr API-Schlüssel ist ungültig."
|
387 |
+
|
388 |
+
#: ../inc/admin/ui/notices.php:88
|
389 |
+
#, php-format
|
390 |
+
msgid ""
|
391 |
+
"Go to your Imagify account page to get your API Key and specify it on "
|
392 |
+
"%1$syour settings%3$s or %2$screate an account for free%3$s if you don't "
|
393 |
+
"have one yet."
|
394 |
+
msgstr ""
|
395 |
+
"Sie finden Ihren API-Schlüssel in Ihrem Imagify-Konto. Sobald Sie ihn dort "
|
396 |
+
"geholt haben, %1$shinterlegen Sie ihn in Ihren Einstellungen%3$s. Oder "
|
397 |
+
"%2$slegen Sie kostenfrei ein Konto an%3$s, um einen API-Schlüssel zu "
|
398 |
+
"erhalten."
|
399 |
+
|
400 |
+
#: ../inc/admin/ui/notices.php:138
|
401 |
+
msgid ""
|
402 |
+
"The following plugins are not compatible with this plugin and may cause "
|
403 |
+
"unexpected results:"
|
404 |
+
msgstr ""
|
405 |
+
"Die folgenden Plugins sind nicht kompatibel mit diesem Plugin und können "
|
406 |
+
"unerwartete Ergebnisse verursachen:"
|
407 |
+
|
408 |
+
#: ../inc/admin/ui/notices.php:144
|
409 |
+
msgid "Deactivate"
|
410 |
+
msgstr "Deaktivieren"
|
411 |
+
|
412 |
+
#: ../inc/admin/ui/notices.php:173
|
413 |
+
msgid "The external HTTP requests are blocked!"
|
414 |
+
msgstr "Externe HTTP-Anfragen werden blockiert."
|
415 |
+
|
416 |
+
#: ../inc/admin/ui/notices.php:174
|
417 |
+
msgid ""
|
418 |
+
"You defined the <code>WP_HTTP_BLOCK_EXTERNAL</code> constant in the <code>wp-"
|
419 |
+
"config.php</code> to block all external HTTP requests."
|
420 |
+
msgstr ""
|
421 |
+
"Alle externen HTTP-Anfragen werden blockiert, weil in der Datei <em>wp-"
|
422 |
+
"config.php</em> die PHP-Konstante <code>WP_HTTP_BLOCK_EXTERNAL</code> "
|
423 |
+
"gesetzt ist.\n"
|
424 |
+
|
425 |
+
#: ../inc/admin/ui/notices.php:176
|
426 |
+
msgid ""
|
427 |
+
"To optimize your images, you have to put the following code in your <code>wp-"
|
428 |
+
"config.php</code> file so that it works correctly."
|
429 |
+
msgstr ""
|
430 |
+
"Um Ihre Bilder optimieren zu können, fügen Sie den folgenden Code zu Ihrer "
|
431 |
+
"<em>wp-config.php</em> hinzu."
|
432 |
+
|
433 |
+
#: ../inc/admin/ui/notices.php:177
|
434 |
+
msgid "Click on the field and press Ctrl-A to select all."
|
435 |
+
msgstr ""
|
436 |
+
"Klicken Sie auf das Feld und drücken Sie ctrl+A (cmd+A) für Alles auswählen."
|
437 |
+
|
438 |
+
#: ../inc/admin/ui/notices.php:213
|
439 |
+
msgid "You're missing out!"
|
440 |
+
msgstr "Sie verpassen etwas!"
|
441 |
+
|
442 |
+
#: ../inc/admin/ui/notices.php:214
|
443 |
+
msgid "Use the List view to optimize images with Imagify."
|
444 |
+
msgstr "In der Listenansicht können Sie Ihre Bilder direkt zu optimieren."
|
445 |
+
|
446 |
+
#: ../inc/admin/ui/notices.php:215
|
447 |
+
msgid "Switch to the List View"
|
448 |
+
msgstr "Zur Listenansicht wechseln"
|
449 |
+
|
450 |
+
#: ../inc/admin/ui/notices.php:253 ../inc/functions/i18n.php:94
|
451 |
+
#: ../inc/functions/i18n.php:97
|
452 |
+
#, php-format
|
453 |
+
msgid ""
|
454 |
+
"To continue to optimize your images, log in to your Imagify account to %sbuy "
|
455 |
+
"a pack or subscribe to a plan%s."
|
456 |
+
msgstr ""
|
457 |
+
"Um Ihre Bilder auch in Zukunft zu optimieren, loggen Sie sich bei Imagify.io "
|
458 |
+
"ein und %skaufen Sie ein einmaliges Guthaben oder ein Abo%s."
|
459 |
+
|
460 |
+
#: ../inc/admin/ui/notices.php:306 ../inc/admin/ui/options.php:28
|
461 |
+
msgid "Discover the best caching plugin to speed up your website."
|
462 |
+
msgstr ""
|
463 |
+
"Entdecken Sie das beste Caching-Plugin, um Ihre Website schneller zu machen."
|
464 |
+
|
465 |
+
#: ../inc/admin/ui/notices.php:309 ../inc/admin/ui/options.php:36
|
466 |
+
#, php-format
|
467 |
+
msgid "%sGet %s off%s with this coupon code:%s"
|
468 |
+
msgstr "%sErhalten Sie %s Rabatt%s mit diesem Gutschein-Code:%s"
|
469 |
+
|
470 |
+
#: ../inc/admin/ui/notices.php:318 ../inc/admin/ui/options.php:41
|
471 |
+
msgid "Get WP Rocket now"
|
472 |
+
msgstr "Holen Sie sich WP Rocket jetzt"
|
473 |
+
|
474 |
+
#: ../inc/admin/ui/notices.php:354
|
475 |
+
#, php-format
|
476 |
+
msgid ""
|
477 |
+
"%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and improved "
|
478 |
+
"your website's speed by reducing your images size."
|
479 |
+
msgstr ""
|
480 |
+
|
481 |
+
#: ../inc/admin/ui/notices.php:356 ../inc/admin/ui/options.php:59
|
482 |
+
#, php-format
|
483 |
+
msgid ""
|
484 |
+
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
485 |
+
"WordPress.org%s!"
|
486 |
+
msgstr ""
|
487 |
+
"%sSind Sie zufrieden mit diesem Plugin?%s Bitte nehmen Sie sich einen Moment "
|
488 |
+
"Zeit für eine %sBewertung auf WordPress.org%s!"
|
489 |
+
|
490 |
+
#: ../inc/admin/ui/options.php:22
|
491 |
+
msgid "Is your website too slow?"
|
492 |
+
msgstr "Ist Ihre Website zu langsam?"
|
493 |
+
|
494 |
+
#: ../inc/admin/ui/options.php:84
|
495 |
+
msgid "API Key"
|
496 |
+
msgstr "API-Schlüssel"
|
497 |
+
|
498 |
+
#: ../inc/admin/ui/options.php:91 ../inc/functions/i18n.php:31
|
499 |
+
msgid "Your API key is valid."
|
500 |
+
msgstr "Ihr API-Schlüssel ist gültig."
|
501 |
+
|
502 |
+
#: ../inc/admin/ui/options.php:104
|
503 |
+
#, php-format
|
504 |
+
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
505 |
+
msgstr "Noch keinen API-Schlüssel erhalten? %sJetzt kostenfrei Konto anlegen%s"
|
506 |
+
|
507 |
+
#: ../inc/admin/ui/options.php:121
|
508 |
+
msgid "Optimization Level"
|
509 |
+
msgstr "Optimierungsgrad"
|
510 |
+
|
511 |
+
#: ../inc/admin/ui/options.php:141
|
512 |
+
msgid "More info?"
|
513 |
+
msgstr "Was ist das?"
|
514 |
+
|
515 |
+
#: ../inc/admin/ui/options.php:148
|
516 |
+
#, php-format
|
517 |
+
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
518 |
+
msgstr "Nicht sicher? %sVisuellen Vergleich ausprobieren%s"
|
519 |
+
|
520 |
+
#: ../inc/admin/ui/options.php:157 ../inc/admin/ui/options.php:161
|
521 |
+
msgid "Auto-Optimize images on upload"
|
522 |
+
msgstr "Bilder beim Hochladen automatisch optimieren"
|
523 |
+
|
524 |
+
#: ../inc/admin/ui/options.php:165
|
525 |
+
msgid "Automatically optimize every image you upload to WordPress."
|
526 |
+
msgstr ""
|
527 |
+
"Lassen Sie jedes Bild automatisch optimieren, das Sie in WordPress hochladen."
|
528 |
+
|
529 |
+
#: ../inc/admin/ui/options.php:170 ../inc/admin/ui/options.php:173
|
530 |
+
msgid "Backup original images"
|
531 |
+
msgstr "Originalbilder sichern"
|
532 |
+
|
533 |
+
#: ../inc/admin/ui/options.php:177
|
534 |
+
msgid ""
|
535 |
+
"Keep your original images in a separate folder before optimization process."
|
536 |
+
msgstr ""
|
537 |
+
"Speichern Sie Sicherungskopien Ihrer Originalbilder in einem separaten "
|
538 |
+
"Ordner, bevor die Optimierung beginnt."
|
539 |
+
|
540 |
+
#: ../inc/admin/ui/options.php:182 ../inc/admin/ui/options.php:185
|
541 |
+
msgid "Resize larger images"
|
542 |
+
msgstr "Große Bilder verkleinern"
|
543 |
+
|
544 |
+
#: ../inc/admin/ui/options.php:191
|
545 |
+
#, php-format
|
546 |
+
msgid "to maximum %s pixels width"
|
547 |
+
msgstr "auf maximal %s Pixel Breite"
|
548 |
+
|
549 |
+
#: ../inc/admin/ui/options.php:202
|
550 |
+
#, php-format
|
551 |
+
msgid ""
|
552 |
+
"This option is recommended to reduce larger images. You can save up to 80%% "
|
553 |
+
"after resizing. The new width should not be less than your largest thumbnail "
|
554 |
+
"width, which is actually %spx."
|
555 |
+
msgstr ""
|
556 |
+
"Diese Option ist empfehlenswert, um das Speichervolumen für größere Bilder "
|
557 |
+
"zu reduzieren. Sie könne so bis zu 80%% Speicherplatz sparen. Die neue "
|
558 |
+
"Breite sollte nicht geringer als Ihre größte Vorschaubildbreite sein, die "
|
559 |
+
"übrigens %s Pixel beträgt."
|
560 |
+
|
561 |
+
#: ../inc/admin/ui/options.php:209 ../inc/admin/ui/options.php:212
|
562 |
+
msgid "EXIF Data"
|
563 |
+
msgstr "EXIF-Daten"
|
564 |
+
|
565 |
+
#: ../inc/admin/ui/options.php:216
|
566 |
+
msgid ""
|
567 |
+
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
568 |
+
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
569 |
+
msgstr ""
|
570 |
+
"Behalten Sie alle EXIF-Daten Ihrer Bilder. In den EXIF-Daten werden "
|
571 |
+
"Informationen wie Verschlusszeit, Belichtungskorrektur, ISO-Wert usw. "
|
572 |
+
"gespeichert."
|
573 |
+
|
574 |
+
#: ../inc/admin/ui/options.php:217
|
575 |
+
msgid "Learn more"
|
576 |
+
msgstr "Weitere Informationen"
|
577 |
+
|
578 |
+
#: ../inc/admin/ui/options.php:219
|
579 |
+
msgid ""
|
580 |
+
"If you are a photographer, you may be interested in this option if you are "
|
581 |
+
"displaying on your pages some info like the model of your camera."
|
582 |
+
msgstr ""
|
583 |
+
"Aktiviere diese Option, wenn Sie auf Ihrer Site fototechnische "
|
584 |
+
"Informationen, wie z.B. das Model Ihrer Kamera, anzeigen möchtest."
|
585 |
+
|
586 |
+
#: ../inc/admin/ui/options.php:228
|
587 |
+
msgid "Files optimization"
|
588 |
+
msgstr "Dateioptimierung"
|
589 |
+
|
590 |
+
#: ../inc/admin/ui/options.php:231
|
591 |
+
msgid ""
|
592 |
+
"You can choose to compress different image sizes created by WordPress here."
|
593 |
+
msgstr ""
|
594 |
+
"Hier können Sie die Komprimierung für die verschiedenen Bildgrößen "
|
595 |
+
"kontrollieren, die Ihr WordPress generiert."
|
596 |
+
|
597 |
+
#: ../inc/admin/ui/options.php:233
|
598 |
+
#, php-format
|
599 |
+
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
600 |
+
msgstr "Die %sOriginalgröße%s wird von Imagify %sautomatisch optimiert%s."
|
601 |
+
|
602 |
+
#: ../inc/admin/ui/options.php:236
|
603 |
+
msgid ""
|
604 |
+
"Remember each additional image size will affect your Imagify monthly usage!"
|
605 |
+
msgstr ""
|
606 |
+
"Bedenken Sie, dass jede ausgewählte Bildgröße Ihr monatliches "
|
607 |
+
"Nutzungsvolumen bei Imagify beeinflusst."
|
608 |
+
|
609 |
+
#: ../inc/admin/ui/options.php:289
|
610 |
+
msgid "Display options"
|
611 |
+
msgstr "Optionen anzeigen"
|
612 |
+
|
613 |
+
#: ../inc/admin/ui/options.php:294 ../inc/admin/ui/options.php:299
|
614 |
+
msgid "Show Admin Bar menu"
|
615 |
+
msgstr "Toolbar-Menü anzeigen"
|
616 |
+
|
617 |
+
#: ../inc/admin/ui/options.php:300
|
618 |
+
msgid "I want this awesome quick access menu on my admin bar."
|
619 |
+
msgstr "Ich möchte dieses praktische Dropdown-Menü in meiner Toolbar."
|
620 |
+
|
621 |
+
#: ../inc/admin/ui/options.php:319
|
622 |
+
msgid "Save & Go to Bulk Optimizer"
|
623 |
+
msgstr "Speichern und zur Stapelverarbeitung gehen"
|
624 |
+
|
625 |
+
#: ../inc/admin/ui/options.php:328
|
626 |
+
#, php-format
|
627 |
+
msgid ""
|
628 |
+
"Once your settings saved, optimize all your images by using the %sImagify "
|
629 |
+
"Bulk Optimization%s feature."
|
630 |
+
msgstr ""
|
631 |
+
"Sobald Sie Ihre Einstellungen gespeichert haben, können Sie mit der "
|
632 |
+
"%sStapelverarbeitung%s alle Ihre Bilder optimieren."
|
633 |
+
|
634 |
+
#: ../inc/admin/ui/options.php:336
|
635 |
+
msgid "You can choose three levels of compression"
|
636 |
+
msgstr "Sie können zwischen drei Komprimierungsstufen wählen."
|
637 |
+
|
638 |
+
#: ../inc/admin/ui/options.php:341
|
639 |
+
msgid ""
|
640 |
+
"This mode provides lossless optimization, your images will be optimized "
|
641 |
+
"without any visible change."
|
642 |
+
msgstr ""
|
643 |
+
"Dieser Modus sorgt für verlustfreie Bildoptimierung. Ihre Bilder werden ohne "
|
644 |
+
"sichtbare Veränderungen optimiert."
|
645 |
+
|
646 |
+
#: ../inc/admin/ui/options.php:344
|
647 |
+
msgid ""
|
648 |
+
"If you want the perfect quality for your images, we recommend you that mode."
|
649 |
+
msgstr ""
|
650 |
+
"Wählen Sie diese Einstellung, wenn Ihnen die perfekte Qualität Ihrer Bilder "
|
651 |
+
"wichtig ist."
|
652 |
+
|
653 |
+
#: ../inc/admin/ui/options.php:347
|
654 |
+
msgid ""
|
655 |
+
"Note: the file size reduction will be less, compared to aggressive mode."
|
656 |
+
msgstr ""
|
657 |
+
"Hinweis: Die Verringerung der Dateigröße fällt hier geringer aus, als im "
|
658 |
+
"aggressiven Modus."
|
659 |
+
|
660 |
+
#: ../inc/admin/ui/options.php:354
|
661 |
+
msgid ""
|
662 |
+
"This mode provides perfect optimization of your images without any "
|
663 |
+
"significant quality loss."
|
664 |
+
msgstr ""
|
665 |
+
"Dieser Modus liefert hervorragende Optimierung ohne signifikante "
|
666 |
+
"Qualitätsverluste."
|
667 |
+
|
668 |
+
#: ../inc/admin/ui/options.php:357
|
669 |
+
msgid ""
|
670 |
+
"This will provide a drastic savings on the initial weight, with a small "
|
671 |
+
"reduction in image quality. Most of the time it's not even noticeable."
|
672 |
+
msgstr ""
|
673 |
+
"Die drastische Verringerung der Dateigröße geht mit geringfügigen, meist "
|
674 |
+
"kaum wahrnehmbaren Einbußen in der Qualität einher."
|
675 |
+
|
676 |
+
#: ../inc/admin/ui/options.php:360
|
677 |
+
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
678 |
+
msgstr ""
|
679 |
+
"Wählen Sie diese Einstellung, wenn Sie auf maximale Größenreduktion Wert "
|
680 |
+
"legen."
|
681 |
+
|
682 |
+
#: ../inc/admin/ui/options.php:367
|
683 |
+
msgid ""
|
684 |
+
"This mode will apply all available optimizations for maximum image "
|
685 |
+
"compression."
|
686 |
+
msgstr ""
|
687 |
+
"Dieser Modus wendet alle verfügbaren Parameter für maximale Komprimierung an."
|
688 |
+
|
689 |
+
#: ../inc/admin/ui/options.php:370
|
690 |
+
msgid ""
|
691 |
+
"This will provide a huge savings on the initial weight. Sometimes the image "
|
692 |
+
"quality could be degraded a little."
|
693 |
+
msgstr ""
|
694 |
+
"Die Bildgröße wird erheblich verringert. In einigen Fällen kann es jedoch zu "
|
695 |
+
"Verlusten bei der Qualität kommen."
|
696 |
+
|
697 |
+
#: ../inc/admin/ui/options.php:373
|
698 |
+
msgid ""
|
699 |
+
"If you want the maximum weight reduction, and you agree to lose some quality "
|
700 |
+
"on the images we recommend using this mode."
|
701 |
+
msgstr ""
|
702 |
+
"Wählen Sie diese Einstellung, wenn Sie bereit sind, etwas Qualität zugunsten "
|
703 |
+
"maximaler Reduktion der Dateigröße zu riskieren."
|
704 |
+
|
705 |
+
#: ../inc/admin/ui/options.php:380 ../inc/admin/ui/options.php:502
|
706 |
+
#: ../inc/functions/admin-ui.php:659 ../inc/functions/i18n.php:58
|
707 |
+
msgid "Close"
|
708 |
+
msgstr "Schließen"
|
709 |
+
|
710 |
+
#: ../inc/admin/ui/options.php:392
|
711 |
+
#, php-format
|
712 |
+
msgid "I want to compare%s and%s"
|
713 |
+
msgstr "Ich möchte %s und %s vergleichen."
|
714 |
+
|
715 |
+
#: ../inc/admin/ui/options.php:409
|
716 |
+
#, php-format
|
717 |
+
msgid "Original photography about %s"
|
718 |
+
msgstr "Originalbild ca. %s"
|
719 |
+
|
720 |
+
#: ../inc/admin/ui/options.php:414 ../inc/admin/ui/options.php:419
|
721 |
+
#: ../inc/admin/ui/options.php:424
|
722 |
+
#, php-format
|
723 |
+
msgid "Optimized photography about %s"
|
724 |
+
msgstr "Optimiertes Bild ca. %s"
|
725 |
+
|
726 |
+
#: ../inc/admin/ui/options.php:429 ../inc/admin/ui/options.php:439
|
727 |
+
#: ../inc/admin/ui/options.php:459 ../inc/admin/ui/options.php:480
|
728 |
+
#: ../inc/functions/admin-ui.php:59
|
729 |
+
msgid "Level:"
|
730 |
+
msgstr "Modus:"
|
731 |
+
|
732 |
+
#: ../inc/admin/ui/options.php:433 ../inc/admin/ui/options.php:443
|
733 |
+
#: ../inc/admin/ui/options.php:463 ../inc/admin/ui/options.php:484
|
734 |
+
#: ../inc/functions/i18n.php:59
|
735 |
+
msgid "File Size:"
|
736 |
+
msgstr "Dateigröße:"
|
737 |
+
|
738 |
+
#: ../inc/admin/ui/options.php:447 ../inc/admin/ui/options.php:467
|
739 |
+
#: ../inc/admin/ui/options.php:488 ../inc/functions/admin-ui.php:45
|
740 |
+
#: ../inc/functions/i18n.php:60
|
741 |
+
msgid "Original Saving:"
|
742 |
+
msgstr "Optimiert um:"
|
743 |
+
|
744 |
+
#: ../inc/admin/upload.php:42 ../inc/functions/i18n.php:77
|
745 |
+
msgid "Unoptimized"
|
746 |
+
msgstr "Nicht Optimiert"
|
747 |
+
|
748 |
+
#: ../inc/admin/upload.php:43
|
749 |
+
msgid "Errors"
|
750 |
+
msgstr "Fehler"
|
751 |
+
|
752 |
+
#: ../inc/admin/upload.php:46
|
753 |
+
msgid "Filter by status"
|
754 |
+
msgstr "Filtere nach Status"
|
755 |
+
|
756 |
+
#: ../inc/admin/upload.php:49
|
757 |
+
msgid "All images"
|
758 |
+
msgstr "Alle Bilder"
|
759 |
+
|
760 |
+
#: ../inc/classes/class-attachment.php:266
|
761 |
+
msgid ""
|
762 |
+
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
763 |
+
"you want to optimize it."
|
764 |
+
msgstr ""
|
765 |
+
"Diese Bildgröße ist für die Optimierung nicht zugelassen. Aktualisieren Sie "
|
766 |
+
"Ihre Imagify-Einstellungen, wenn Sie sie optimieren möchten."
|
767 |
+
|
768 |
+
#: ../inc/common/admin-bar.php:48
|
769 |
+
#, php-format
|
770 |
+
msgid "Rate Imagify on %s"
|
771 |
+
msgstr "Bewerten Sie Imagify auf %s"
|
772 |
+
|
773 |
+
#: ../inc/common/admin-bar.php:61
|
774 |
+
msgid "Loading..."
|
775 |
+
msgstr "Laden …"
|
776 |
+
|
777 |
+
#: ../inc/functions/admin-ui.php:36
|
778 |
+
msgid "New Filesize:"
|
779 |
+
msgstr "Neue Dateigröße:"
|
780 |
+
|
781 |
+
#: ../inc/functions/admin-ui.php:52
|
782 |
+
msgid "Close details"
|
783 |
+
msgstr "Details schließen"
|
784 |
+
|
785 |
+
#: ../inc/functions/admin-ui.php:52
|
786 |
+
msgid "View details"
|
787 |
+
msgstr "Details anzeigen"
|
788 |
+
|
789 |
+
#: ../inc/functions/admin-ui.php:56
|
790 |
+
msgid "Original Filesize:"
|
791 |
+
msgstr "Originale Dateigröße:"
|
792 |
+
|
793 |
+
#: ../inc/functions/admin-ui.php:62
|
794 |
+
msgid "Thumbnails Optimized:"
|
795 |
+
msgstr "Optimierte Vorschaubilder:"
|
796 |
+
|
797 |
+
#: ../inc/functions/admin-ui.php:63
|
798 |
+
msgid "Overall Saving:"
|
799 |
+
msgstr "Gesamte Ersparnis:"
|
800 |
+
|
801 |
+
#: ../inc/functions/admin-ui.php:80
|
802 |
+
msgid "Restoring..."
|
803 |
+
msgstr "Wiederherstellen …"
|
804 |
+
|
805 |
+
#: ../inc/functions/admin-ui.php:121
|
806 |
+
msgid "Try again"
|
807 |
+
msgstr "Erneut versuchen"
|
808 |
+
|
809 |
+
#: ../inc/functions/admin-ui.php:153 ../inc/functions/admin-ui.php:159
|
810 |
+
#: ../inc/functions/admin-ui.php:165
|
811 |
+
#, php-format
|
812 |
+
msgid "Re-Optimize to %s"
|
813 |
+
msgstr "Erneut optimieren als %s"
|
814 |
+
|
815 |
+
#: ../inc/functions/admin-ui.php:189
|
816 |
+
#, php-format
|
817 |
+
msgid "%s can't be optimized"
|
818 |
+
msgstr "%s kann nicht optimiert werden."
|
819 |
+
|
820 |
+
#: ../inc/functions/admin-ui.php:237
|
821 |
+
msgid "What plan do I need?"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: ../inc/functions/admin-ui.php:241
|
825 |
+
msgid "You're new to Imagify?"
|
826 |
+
msgstr ""
|
827 |
+
|
828 |
+
#: ../inc/functions/admin-ui.php:242
|
829 |
+
msgid ""
|
830 |
+
"Let us help you by analyzing your existing images and determinate the best "
|
831 |
+
"plan for you"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: ../inc/functions/admin-ui.php:277
|
835 |
+
msgid "Choose Plan"
|
836 |
+
msgstr ""
|
837 |
+
|
838 |
+
#: ../inc/functions/admin-ui.php:278
|
839 |
+
msgid "Payment Info"
|
840 |
+
msgstr ""
|
841 |
+
|
842 |
+
#: ../inc/functions/admin-ui.php:283
|
843 |
+
msgid "We analysed your images"
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
+
#: ../inc/functions/admin-ui.php:289
|
847 |
+
#, php-format
|
848 |
+
msgid "You have %s images"
|
849 |
+
msgstr ""
|
850 |
+
|
851 |
+
#: ../inc/functions/admin-ui.php:295
|
852 |
+
#, php-format
|
853 |
+
msgid "You actually have %s of images in your library."
|
854 |
+
msgstr ""
|
855 |
+
|
856 |
+
#: ../inc/functions/admin-ui.php:299
|
857 |
+
#, php-format
|
858 |
+
msgid "You upload around %s of images per month."
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: ../inc/functions/admin-ui.php:306
|
862 |
+
msgid "We recommend you this plan"
|
863 |
+
msgstr ""
|
864 |
+
|
865 |
+
#: ../inc/functions/admin-ui.php:311
|
866 |
+
msgid "Subscribe a monthly plan"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: ../inc/functions/admin-ui.php:312
|
870 |
+
msgid "Subscribe a yearly plan"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: ../inc/functions/admin-ui.php:316 ../inc/functions/admin-ui.php:452
|
874 |
+
#: ../inc/functions/admin-ui.php:620
|
875 |
+
msgid "Monthly"
|
876 |
+
msgstr ""
|
877 |
+
|
878 |
+
#: ../inc/functions/admin-ui.php:319 ../inc/functions/admin-ui.php:455
|
879 |
+
#: ../inc/functions/admin-ui.php:623
|
880 |
+
msgid "Yearly"
|
881 |
+
msgstr ""
|
882 |
+
|
883 |
+
#: ../inc/functions/admin-ui.php:319 ../inc/functions/admin-ui.php:455
|
884 |
+
#: ../inc/functions/admin-ui.php:623
|
885 |
+
msgid "2 months free"
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: ../inc/functions/admin-ui.php:330 ../inc/functions/admin-ui.php:349
|
889 |
+
#: ../inc/functions/admin-ui.php:465 ../inc/functions/admin-ui.php:475
|
890 |
+
msgid "/month"
|
891 |
+
msgstr ""
|
892 |
+
|
893 |
+
#: ../inc/functions/admin-ui.php:332 ../inc/functions/admin-ui.php:380
|
894 |
+
#: ../inc/functions/admin-ui.php:467 ../inc/functions/admin-ui.php:518
|
895 |
+
#, php-format
|
896 |
+
msgid "approx: %s images"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: ../inc/functions/admin-ui.php:353 ../inc/functions/admin-ui.php:481
|
900 |
+
#, php-format
|
901 |
+
msgid ""
|
902 |
+
"%s per<br>\n"
|
903 |
+
"additionnal Gb"
|
904 |
+
msgstr ""
|
905 |
+
|
906 |
+
#: ../inc/functions/admin-ui.php:358 ../inc/functions/admin-ui.php:393
|
907 |
+
#: ../inc/functions/admin-ui.php:577 ../inc/functions/admin-ui.php:598
|
908 |
+
msgid "Choose another plan"
|
909 |
+
msgstr ""
|
910 |
+
|
911 |
+
#: ../inc/functions/admin-ui.php:368
|
912 |
+
msgid "Optimize the images you already have, buy a one-time plan"
|
913 |
+
msgstr ""
|
914 |
+
|
915 |
+
#: ../inc/functions/admin-ui.php:404
|
916 |
+
msgid "Checkout"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: ../inc/functions/admin-ui.php:408
|
920 |
+
msgid ""
|
921 |
+
"Monthly plans comes with credits which is renewed every months. The billing "
|
922 |
+
"happens automatically each month or year depending the billing period you "
|
923 |
+
"choose."
|
924 |
+
msgstr ""
|
925 |
+
|
926 |
+
#: ../inc/functions/admin-ui.php:432
|
927 |
+
msgid "Monthly Plans"
|
928 |
+
msgstr ""
|
929 |
+
|
930 |
+
#: ../inc/functions/admin-ui.php:437
|
931 |
+
msgid "One Time Plans"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: ../inc/functions/admin-ui.php:447
|
935 |
+
msgid ""
|
936 |
+
"Monthly plans come with credits which is renewed every months. The billing "
|
937 |
+
"happens automatically each month or year depending the billing period you "
|
938 |
+
"choose."
|
939 |
+
msgstr ""
|
940 |
+
|
941 |
+
#: ../inc/functions/admin-ui.php:479 ../inc/functions/admin-ui.php:526
|
942 |
+
msgid "we recommend for you"
|
943 |
+
msgstr ""
|
944 |
+
|
945 |
+
#: ../inc/functions/admin-ui.php:487 ../inc/functions/admin-ui.php:530
|
946 |
+
msgid "Choose plan"
|
947 |
+
msgstr ""
|
948 |
+
|
949 |
+
#: ../inc/functions/admin-ui.php:495
|
950 |
+
msgid "Need more?"
|
951 |
+
msgstr ""
|
952 |
+
|
953 |
+
#: ../inc/functions/admin-ui.php:496
|
954 |
+
msgid "for special needs"
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: ../inc/functions/admin-ui.php:500
|
958 |
+
msgid "Contact Us"
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: ../inc/functions/admin-ui.php:507
|
962 |
+
msgid ""
|
963 |
+
"One time plans are useful if you have a lots of existing images which need "
|
964 |
+
"to be optimized. You can use it for bulk optimizing all your past images. "
|
965 |
+
"You will pay only once."
|
966 |
+
msgstr ""
|
967 |
+
|
968 |
+
#: ../inc/functions/admin-ui.php:560
|
969 |
+
msgid "Your order"
|
970 |
+
msgstr ""
|
971 |
+
|
972 |
+
#: ../inc/functions/admin-ui.php:565
|
973 |
+
#, php-format
|
974 |
+
msgid "%scancel%sYou just removed %s"
|
975 |
+
msgstr ""
|
976 |
+
|
977 |
+
#: ../inc/functions/admin-ui.php:573 ../inc/functions/admin-ui.php:594
|
978 |
+
msgid "Remove this item"
|
979 |
+
msgstr ""
|
980 |
+
|
981 |
+
#: ../inc/functions/admin-ui.php:580
|
982 |
+
#, php-format
|
983 |
+
msgid "%s per month"
|
984 |
+
msgstr ""
|
985 |
+
|
986 |
+
#: ../inc/functions/admin-ui.php:601
|
987 |
+
#, php-format
|
988 |
+
msgid "one time %s"
|
989 |
+
msgstr ""
|
990 |
+
|
991 |
+
#: ../inc/functions/admin-ui.php:614
|
992 |
+
#, php-format
|
993 |
+
msgid ""
|
994 |
+
"Switch to yearly subscription and <br><strong class=\"imagify-dark\">save %s "
|
995 |
+
"per year!</strong>"
|
996 |
+
msgstr ""
|
997 |
+
|
998 |
+
#: ../inc/functions/admin-ui.php:615
|
999 |
+
#, php-format
|
1000 |
+
msgid ""
|
1001 |
+
"Perfect!<br>You're <strong class=\"imagify-dark\">saving %s per year!</"
|
1002 |
+
"strong>"
|
1003 |
+
msgstr ""
|
1004 |
+
|
1005 |
+
#: ../inc/functions/admin-ui.php:654
|
1006 |
+
msgid "Thank you for being awesome!"
|
1007 |
+
msgstr ""
|
1008 |
+
|
1009 |
+
#: ../inc/functions/admin-ui.php:665
|
1010 |
+
msgid "What do our user think about Imagify"
|
1011 |
+
msgstr ""
|
1012 |
+
|
1013 |
+
#: ../inc/functions/admin-ui.php:699
|
1014 |
+
msgid "Secure Credit Card Payment"
|
1015 |
+
msgstr ""
|
1016 |
+
|
1017 |
+
#: ../inc/functions/admin-ui.php:700
|
1018 |
+
msgid "This is secure 128-bits SSL encrypted payment"
|
1019 |
+
msgstr ""
|
1020 |
+
|
1021 |
+
#: ../inc/functions/i18n.php:19
|
1022 |
+
msgid "Let's get you started!"
|
1023 |
+
msgstr "Los geht’s!"
|
1024 |
+
|
1025 |
+
#: ../inc/functions/i18n.php:20
|
1026 |
+
msgid "Enter your email to get an API key:"
|
1027 |
+
msgstr "Geben Sie Ihre E-Mail-Adresse ein, um einen API-Schlüssel zu erhalten:"
|
1028 |
+
|
1029 |
+
#: ../inc/functions/i18n.php:21
|
1030 |
+
msgid "Sign Up"
|
1031 |
+
msgstr "Konto anlegen"
|
1032 |
+
|
1033 |
+
#: ../inc/functions/i18n.php:22
|
1034 |
+
msgid "You need to specify an email!"
|
1035 |
+
msgstr "Sie müssen eine E-Mail-Adresse angeben."
|
1036 |
+
|
1037 |
+
#: ../inc/functions/i18n.php:23 ../inc/functions/i18n.php:29
|
1038 |
+
msgid "Congratulations!"
|
1039 |
+
msgstr "Glückwunsch!"
|
1040 |
+
|
1041 |
+
#: ../inc/functions/i18n.php:24
|
1042 |
+
msgid ""
|
1043 |
+
"Your account has been succesfully created. Please check your mailbox, you "
|
1044 |
+
"are going to receive an email with API key."
|
1045 |
+
msgstr ""
|
1046 |
+
"Ihr Konto ist jetzt angelegt. Überprüfen Sie Ihr E-Mail-Postfach, Sie "
|
1047 |
+
"erhalten eine E-Mail mit Ihrem API-Schlüssel."
|
1048 |
+
|
1049 |
+
#: ../inc/functions/i18n.php:25
|
1050 |
+
msgid "Connect to Imagify!"
|
1051 |
+
msgstr "Verbindung zu Imagify herstellen"
|
1052 |
+
|
1053 |
+
#: ../inc/functions/i18n.php:26
|
1054 |
+
msgid "Paste your API key below:"
|
1055 |
+
msgstr "Fügen Sie Ihren API-Schlüssel hier ein:"
|
1056 |
+
|
1057 |
+
#: ../inc/functions/i18n.php:27
|
1058 |
+
msgid "Connect me"
|
1059 |
+
msgstr "Verbinden"
|
1060 |
+
|
1061 |
+
#: ../inc/functions/i18n.php:28
|
1062 |
+
msgid "Check in progress..."
|
1063 |
+
msgstr "API-Schlüssel wird geprüft…"
|
1064 |
+
|
1065 |
+
#: ../inc/functions/i18n.php:30
|
1066 |
+
msgid ""
|
1067 |
+
"Your API key is valid. You can now configure the Imagify settings to "
|
1068 |
+
"optimize your images."
|
1069 |
+
msgstr ""
|
1070 |
+
"Ihr API-Schlüssel ist gültig. Sie können jetzt Ihre Einstellungen für die "
|
1071 |
+
"Bildoptimierung mit Imagify wählen."
|
1072 |
+
|
1073 |
+
#: ../inc/functions/i18n.php:32
|
1074 |
+
msgid "Cancel"
|
1075 |
+
msgstr ""
|
1076 |
+
|
1077 |
+
#: ../inc/functions/i18n.php:38
|
1078 |
+
msgid "Don't Need a Parachute?"
|
1079 |
+
msgstr "Sie brauchen keinen Fallschirm?"
|
1080 |
+
|
1081 |
+
#: ../inc/functions/i18n.php:39
|
1082 |
+
msgid ""
|
1083 |
+
"If you keep this option deactivated, you won't be able to re-optimize your "
|
1084 |
+
"images to another compression level and restore your original images in case "
|
1085 |
+
"of need."
|
1086 |
+
msgstr ""
|
1087 |
+
"Wenn Sie diese Option deaktiviert lassen, werden Sie Ihre Bilder nicht "
|
1088 |
+
"erneut mit einem anderen Level komprimieren, oder deren Originale "
|
1089 |
+
"wiederherstellen können."
|
1090 |
+
|
1091 |
+
#: ../inc/functions/i18n.php:55
|
1092 |
+
msgid "Original Image"
|
1093 |
+
msgstr "Originalbild"
|
1094 |
+
|
1095 |
+
#: ../inc/functions/i18n.php:56
|
1096 |
+
msgid "Optimized Image"
|
1097 |
+
msgstr "Optimiertes Bild"
|
1098 |
+
|
1099 |
+
#: ../inc/functions/i18n.php:70
|
1100 |
+
msgid "Please wait..."
|
1101 |
+
msgstr "Einen Moment bitte …"
|
1102 |
+
|
1103 |
+
#: ../inc/functions/i18n.php:71
|
1104 |
+
msgid ""
|
1105 |
+
"We are trying to get your unoptimized images, it may take time depending on "
|
1106 |
+
"the number of images."
|
1107 |
+
msgstr ""
|
1108 |
+
"Nicht optimierte Bilder werden gesammelt, dies kann einen Moment dauern "
|
1109 |
+
"…"
|
1110 |
+
|
1111 |
+
#: ../inc/functions/i18n.php:73
|
1112 |
+
msgid "Oops, There is something wrong!"
|
1113 |
+
msgstr "Hm, etwas ist schief gelaufen."
|
1114 |
+
|
1115 |
+
#: ../inc/functions/i18n.php:74
|
1116 |
+
msgid ""
|
1117 |
+
"An unknow error occurred when we tried to get all your unoptimized images. "
|
1118 |
+
"Try again and if the issue still persist, please contact us!"
|
1119 |
+
msgstr ""
|
1120 |
+
"Ein unbekannter Fehler ist beim Sammeln der nicht optimierten Bilder "
|
1121 |
+
"aufgetreten. Versuchen Sie es noch einmal; falls der Fehler sich wiederholt, "
|
1122 |
+
"kontaktieren Sie bitte den Imagify-Support."
|
1123 |
+
|
1124 |
+
#: ../inc/functions/i18n.php:78
|
1125 |
+
msgid "Error"
|
1126 |
+
msgstr "Fehler"
|
1127 |
+
|
1128 |
+
#: ../inc/functions/i18n.php:81
|
1129 |
+
msgid "Hold on!"
|
1130 |
+
msgstr "Moment, bitte!"
|
1131 |
+
|
1132 |
+
#: ../inc/functions/i18n.php:82
|
1133 |
+
msgid "All your images have been optimized by Imagify. Congratulations!"
|
1134 |
+
msgstr "Imagify hat alle Ihre Bilder optimiert. Glückwunsch!"
|
1135 |
+
|
1136 |
+
#: ../inc/functions/i18n.php:84
|
1137 |
+
#, php-format
|
1138 |
+
msgid ""
|
1139 |
+
"Discover @imagify, the new compression tool to optimize your images for "
|
1140 |
+
"free. I saved %1$s out of %2$s!"
|
1141 |
+
msgstr ""
|
1142 |
+
"Freies #WordPress #Plugin zur Bildoptimierung für bessere #Performance: "
|
1143 |
+
"Bilder mit @imagify komprimiert, %1$s von %2$s gespart!"
|
1144 |
+
|
1145 |
+
#: ../inc/functions/i18n.php:88
|
1146 |
+
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
1147 |
+
msgstr ""
|
1148 |
+
"Imagify arbeitet noch. Möchten Sie diese Seite wirklich verlassen und den "
|
1149 |
+
"Prozess abbrechen?"
|
1150 |
+
|
1151 |
+
#: ../inc/functions/i18n.php:97
|
1152 |
+
msgid "F j, Y"
|
1153 |
+
msgstr "j. F Y"
|
1154 |
+
|
1155 |
+
#: ../inc/functions/process.php:41
|
1156 |
+
msgid ""
|
1157 |
+
"Sorry, our servers are temporarily unaccessible. Please, try again in a "
|
1158 |
+
"couple of minutes."
|
1159 |
+
msgstr ""
|
1160 |
+
"Unsere Server sind leider im Augenblick nicht erreichbar. Bitte versuchen "
|
1161 |
+
"Sie es in ein paar Minuten noch einmal."
|
1162 |
+
|
1163 |
+
#: ../inc/functions/process.php:47
|
1164 |
+
msgid "External HTTP requests are blocked"
|
1165 |
+
msgstr "Externe HTTP-Anfragen werden blockiert"
|
1166 |
+
|
1167 |
+
#: ../inc/functions/process.php:53
|
1168 |
+
msgid "File path is empty"
|
1169 |
+
msgstr "Datei-Pfad ist leer"
|
1170 |
+
|
1171 |
+
#: ../inc/functions/process.php:59
|
1172 |
+
#, php-format
|
1173 |
+
msgid "Could not find %s"
|
1174 |
+
msgstr "%s wurde nicht gefunden"
|
1175 |
+
|
1176 |
+
#: ../inc/functions/process.php:64
|
1177 |
+
#, php-format
|
1178 |
+
msgid "%s is not writable"
|
1179 |
+
msgstr "%s ist nicht beschreibbar."
|
1180 |
+
|
1181 |
+
#: ../inc/functions/process.php:73
|
1182 |
+
#, php-format
|
1183 |
+
msgid "Skipped (%s), image not found."
|
1184 |
+
msgstr "Übersprungen (%s), Bild nicht gefunden."
|
1185 |
+
|
1186 |
+
#: ../assets/js/sweetalert.min.js:1
|
1187 |
+
msgid "./utils"
|
1188 |
+
msgstr ""
|
1189 |
+
|
1190 |
+
#: ../assets/js/sweetalert.min.js:1
|
1191 |
+
msgid "./handle-swal-dom"
|
1192 |
+
msgstr ""
|
1193 |
+
|
1194 |
+
#: ../assets/js/sweetalert.min.js:1
|
1195 |
+
msgid "./handle-dom"
|
1196 |
+
msgstr ""
|
1197 |
+
|
1198 |
+
#~ msgid "https://wordpress.org/plugins/imagify"
|
1199 |
+
#~ msgstr "https://de.wordpress.org/plugins/imagify"
|
1200 |
+
|
1201 |
+
#~ msgid ""
|
1202 |
+
#~ "Dramaticaly reduce image file sizes without loosing quality, make your "
|
1203 |
+
#~ "website load faster, boost your SEO and save money on your bandwith using "
|
1204 |
+
#~ "Imagify, the new most advanced image optimization tool."
|
1205 |
+
#~ msgstr ""
|
1206 |
+
#~ "Verlustfreie Bildoptimierung für WordPress. Imagify reduziert dramatisch "
|
1207 |
+
#~ "die Dateigröße deiner Bilder, macht Ihre Website schneller, verbessert "
|
1208 |
+
#~ "Ihre SEO und spart Bandbreite."
|
1209 |
+
|
1210 |
+
#~ msgid "Your default setting:"
|
1211 |
+
#~ msgstr "Ihre Standard-Einstellung:"
|
1212 |
+
|
1213 |
+
#~ msgid ""
|
1214 |
+
#~ "All images which are over to %s could be optimized using the pro version."
|
1215 |
+
#~ msgstr "Bilder größer als %s können mit der Pro-version optimiert werden."
|
languages/imagify-es_ES.mo
CHANGED
Binary file
|
languages/imagify-es_ES.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Imagify\n"
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: es\n"
|
@@ -20,23 +20,36 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
|
23 |
-
#: inc/
|
24 |
-
#: inc/
|
25 |
-
#: inc/functions/admin-ui.php:
|
26 |
-
#: inc/functions/
|
27 |
-
msgid "Optimizing..."
|
28 |
-
msgstr "Optimizando…"
|
29 |
-
|
30 |
-
#: inc/admin/ajax.php:118 inc/admin/enqueue.php:163 inc/admin/enqueue.php:187
|
31 |
-
#: inc/admin/meta-boxes.php:34 inc/functions/admin-ui.php:181
|
32 |
msgid "Optimize"
|
33 |
msgstr "Optimizar"
|
34 |
|
35 |
-
#: inc/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
msgid "Oops, It's almost over!"
|
37 |
msgstr "¡Ya casi está!"
|
38 |
|
39 |
-
#: inc/admin/ajax.php:
|
40 |
#, php-format
|
41 |
msgid ""
|
42 |
"You have almost used all your credit.%sDon't forget to upgrade your "
|
@@ -45,17 +58,17 @@ msgstr ""
|
|
45 |
"Ya has utilizado casi todo tu crédito.%sNo olvides ampliar tu suscripción "
|
46 |
"para poder seguir optimizando tus imágenes."
|
47 |
|
48 |
-
#: inc/admin/ajax.php:
|
49 |
msgid "View My Subscription"
|
50 |
msgstr "Ver mi suscripción"
|
51 |
|
52 |
-
#: inc/admin/ajax.php:
|
53 |
-
#: inc/
|
54 |
msgid "Oops, It's Over!"
|
55 |
msgstr "¡Ya está!"
|
56 |
|
57 |
-
#: inc/admin/ajax.php:
|
58 |
-
#: inc/
|
59 |
#, php-format
|
60 |
msgid ""
|
61 |
"You have consumed all your credit for this month. You will have <strong>%s "
|
@@ -64,230 +77,54 @@ msgstr ""
|
|
64 |
"Has consumido todo tu crédito para este mes. Volverás a tener <strong>%s el "
|
65 |
"%s</strong>."
|
66 |
|
67 |
-
#: inc/admin/ajax.php:
|
68 |
msgid "Upgrade My Subscription"
|
69 |
msgstr "Actualizar mi suscripción"
|
70 |
|
71 |
-
#: inc/admin/ajax.php:
|
72 |
msgid "Account status"
|
73 |
msgstr "Estado de mi cuenta"
|
74 |
|
75 |
-
#: inc/admin/ajax.php:
|
76 |
msgid "Your subscription:"
|
77 |
msgstr "Tu suscripción:"
|
78 |
|
79 |
-
#: inc/admin/ajax.php:
|
80 |
#, php-format
|
81 |
msgid "You have %s space credit left"
|
82 |
msgstr "Te queda un saldo de %s"
|
83 |
|
84 |
-
#: inc/admin/ajax.php:
|
85 |
msgid "View my subscription"
|
86 |
msgstr "Ver mi suscripción"
|
87 |
|
88 |
-
#: inc/admin/
|
89 |
-
msgid "Let's get you started!"
|
90 |
-
msgstr "¡Vamos a comenzar!"
|
91 |
-
|
92 |
-
#: inc/admin/enqueue.php:122
|
93 |
-
msgid "Enter your email to get an API key:"
|
94 |
-
msgstr "Ingresa tu email para obtener un clave API:"
|
95 |
-
|
96 |
-
#: inc/admin/enqueue.php:123
|
97 |
-
msgid "Sign Up"
|
98 |
-
msgstr "Registrate"
|
99 |
-
|
100 |
-
#: inc/admin/enqueue.php:124
|
101 |
-
msgid "You need to specify an email!"
|
102 |
-
msgstr "¡Es necesario especificar una dirección email!"
|
103 |
-
|
104 |
-
#: inc/admin/enqueue.php:125 inc/admin/enqueue.php:131
|
105 |
-
msgid "Congratulations!"
|
106 |
-
msgstr "¡Enhorabuena!"
|
107 |
-
|
108 |
-
#: inc/admin/enqueue.php:126
|
109 |
-
msgid ""
|
110 |
-
"Your account has been succesfully created. Please check your mailbox, you "
|
111 |
-
"are going to receive an email with API key."
|
112 |
-
msgstr ""
|
113 |
-
"Tu cuenta ha sido creada con éxito. Por favor, revisa tu buzón de correo, "
|
114 |
-
"recibirás un email con la clave API."
|
115 |
-
|
116 |
-
#: inc/admin/enqueue.php:127
|
117 |
-
msgid "Connect to Imagify!"
|
118 |
-
msgstr "¡Conéctate a Imagify!"
|
119 |
-
|
120 |
-
#: inc/admin/enqueue.php:128
|
121 |
-
msgid "Paste your API key below:"
|
122 |
-
msgstr "Pega aquí abajo tu clave API:"
|
123 |
-
|
124 |
-
#: inc/admin/enqueue.php:129
|
125 |
-
msgid "Connect me"
|
126 |
-
msgstr "Conéctame"
|
127 |
-
|
128 |
-
#: inc/admin/enqueue.php:130
|
129 |
-
msgid "Check in progress..."
|
130 |
-
msgstr "Control en curso…"
|
131 |
-
|
132 |
-
#: inc/admin/enqueue.php:132
|
133 |
-
msgid ""
|
134 |
-
"Your API key is valid. You can now configure the Imagify settings to "
|
135 |
-
"optimize your images."
|
136 |
-
msgstr ""
|
137 |
-
"Tu clave API es válida. Ahora puedes configurar los parámetros de Imagify "
|
138 |
-
"para optimizar tus imágenes."
|
139 |
-
|
140 |
-
#: inc/admin/enqueue.php:133 inc/admin/ui/options.php:85
|
141 |
-
msgid "Your API key is valid."
|
142 |
-
msgstr "Tu clave API es válida."
|
143 |
-
|
144 |
-
#: inc/admin/enqueue.php:150
|
145 |
-
msgid "Don't Need a Parachute?"
|
146 |
-
msgstr "¿No necesitas un paracaídas?"
|
147 |
-
|
148 |
-
#: inc/admin/enqueue.php:151
|
149 |
-
msgid ""
|
150 |
-
"If you keep this option deactivated, you won't be able to re-optimize your "
|
151 |
-
"images to another compression level and restore your original images in case "
|
152 |
-
"of need."
|
153 |
-
msgstr ""
|
154 |
-
"Si mantienes esta opción desactivada, no podrás re-optimizar tus imágenes a "
|
155 |
-
"otro nivel de compresión ni restablecer la imagen original en caso de "
|
156 |
-
"necesidad."
|
157 |
-
|
158 |
-
#: inc/admin/enqueue.php:164 inc/functions/admin-ui.php:75
|
159 |
-
msgid "Restore Original"
|
160 |
-
msgstr "Recuperar tamaño original"
|
161 |
-
|
162 |
-
#: inc/admin/enqueue.php:181
|
163 |
-
msgid "Original Image"
|
164 |
-
msgstr "Imagen original"
|
165 |
-
|
166 |
-
#: inc/admin/enqueue.php:182
|
167 |
-
msgid "Optimized Image"
|
168 |
-
msgstr "Imagen optimizada"
|
169 |
-
|
170 |
-
#: inc/admin/enqueue.php:183 inc/admin/media.php:61
|
171 |
msgid "Compare Original VS Optimized"
|
172 |
msgstr "Compara original VS optimizada"
|
173 |
|
174 |
-
#: inc/admin/enqueue.php:184 inc/admin/ui/options.php:360
|
175 |
-
#: inc/admin/ui/options.php:482
|
176 |
-
msgid "Close"
|
177 |
-
msgstr "Cierra"
|
178 |
-
|
179 |
-
#: inc/admin/enqueue.php:185 inc/admin/ui/options.php:413
|
180 |
-
#: inc/admin/ui/options.php:423 inc/admin/ui/options.php:443
|
181 |
-
#: inc/admin/ui/options.php:464
|
182 |
-
msgid "File Size:"
|
183 |
-
msgstr "Tamaño del archivo:"
|
184 |
-
|
185 |
-
#: inc/admin/enqueue.php:186 inc/admin/ui/options.php:427
|
186 |
-
#: inc/admin/ui/options.php:447 inc/admin/ui/options.php:468
|
187 |
-
#: inc/functions/admin-ui.php:44
|
188 |
-
msgid "Original Saving:"
|
189 |
-
msgstr "Ahorro inicial:"
|
190 |
-
|
191 |
-
#: inc/admin/enqueue.php:202
|
192 |
-
msgid "Please wait..."
|
193 |
-
msgstr "Espera, por favor…"
|
194 |
-
|
195 |
-
#: inc/admin/enqueue.php:203
|
196 |
-
msgid ""
|
197 |
-
"We are trying to get your unoptimized images, it may take time depending on "
|
198 |
-
"the number of images."
|
199 |
-
msgstr ""
|
200 |
-
"Estamos tratando de obtener tus imágenes no optimizadas: esto puede tomar "
|
201 |
-
"tiempo, dependiendo del número de imágenes."
|
202 |
-
|
203 |
-
#: inc/admin/enqueue.php:205
|
204 |
-
msgid "Oops, There is something wrong!"
|
205 |
-
msgstr "Ups, algo no ha ido bien!"
|
206 |
-
|
207 |
-
#: inc/admin/enqueue.php:206
|
208 |
-
msgid ""
|
209 |
-
"An unknow error occurred when we tried to get all your unoptimized images. "
|
210 |
-
"Try again and if the issue still persist, please contact us!"
|
211 |
-
msgstr ""
|
212 |
-
"Un error inesperado ha ocurrido mientras tratábamos de obtener todas tus "
|
213 |
-
"imágenes no optimizadas. Inténtalo otra vez y, si el problema persiste, "
|
214 |
-
"contáctanos por favor!"
|
215 |
-
|
216 |
-
#: inc/admin/enqueue.php:208 inc/admin/ui/bulk.php:264 inc/admin/upload.php:38
|
217 |
-
msgid "Optimized"
|
218 |
-
msgstr "Optimizado"
|
219 |
-
|
220 |
-
#: inc/admin/enqueue.php:209 inc/admin/upload.php:39
|
221 |
-
msgid "Unoptimized"
|
222 |
-
msgstr "No optimizado"
|
223 |
-
|
224 |
-
#: inc/admin/enqueue.php:210
|
225 |
-
msgid "Error"
|
226 |
-
msgstr "Error"
|
227 |
-
|
228 |
-
#: inc/admin/enqueue.php:213
|
229 |
-
msgid "Hold on!"
|
230 |
-
msgstr "¡Espera!"
|
231 |
-
|
232 |
-
#: inc/admin/enqueue.php:214
|
233 |
-
msgid "All your images have been optimized by Imagify. Congratulations!"
|
234 |
-
msgstr "Todas tus imágenes han sido optimizadas por Imagify. ¡Enhorabuena!"
|
235 |
-
|
236 |
-
#: inc/admin/enqueue.php:216
|
237 |
-
#, php-format
|
238 |
-
msgid ""
|
239 |
-
"Discover @imagify, the new compression tool to optimize your images for "
|
240 |
-
"free. I saved %1$s out of %2$s!"
|
241 |
-
msgstr ""
|
242 |
-
"Descubre @imagify, la nueva herramienta de compresión para optimizar tus "
|
243 |
-
"imágenes gratuitamente. Me ha ahorrado %1$s de %2$s!"
|
244 |
-
|
245 |
-
#: inc/admin/enqueue.php:220
|
246 |
-
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
247 |
-
msgstr "Imagify sigue procesando. Estás seguro que quieres dejar la página?"
|
248 |
-
|
249 |
-
#: inc/admin/enqueue.php:225 inc/admin/enqueue.php:228
|
250 |
-
#: inc/admin/ui/notices.php:253
|
251 |
-
#, php-format
|
252 |
-
msgid ""
|
253 |
-
"To continue to optimize your images, log in to your Imagify account to %sbuy "
|
254 |
-
"a pack or subscribe to a plan%s."
|
255 |
-
msgstr ""
|
256 |
-
"Para seguir optimizando tus imágenes, inicia sesión en tu cuenta Imagify "
|
257 |
-
"para %scomprar un paquete o subscribir un plan %s."
|
258 |
-
|
259 |
-
#: inc/admin/enqueue.php:228
|
260 |
-
msgid "F j, Y"
|
261 |
-
msgstr "F j, Y"
|
262 |
-
|
263 |
-
#: inc/admin/menu.php:24 inc/admin/plugins.php:13 inc/admin/ui/bulk.php:79
|
264 |
-
#: inc/common/admin-bar.php:39
|
265 |
-
msgid "Bulk Optimization"
|
266 |
-
msgstr "Optimización masiva"
|
267 |
-
|
268 |
#. Plugin Name of the plugin/theme
|
269 |
#: inc/admin/meta-boxes.php:17 inc/admin/meta-boxes.php:24
|
270 |
-
#: inc/admin/upload.php:
|
271 |
msgid "Imagify"
|
272 |
msgstr "Imagify"
|
273 |
|
274 |
-
#: inc/admin/meta-boxes.php:19 inc/functions/admin-ui.php:
|
275 |
msgid "Invalid API key"
|
276 |
msgstr "Clave API no válida"
|
277 |
|
278 |
-
#: inc/admin/meta-boxes.php:21 inc/functions/admin-ui.php:
|
279 |
msgid "Check your Settings"
|
280 |
msgstr "Comprueba tu configuración"
|
281 |
|
282 |
-
#: inc/admin/options.php:
|
283 |
msgid "Cheatin’ uh?"
|
284 |
msgstr "Haciendo trampa ¿Uh?"
|
285 |
|
286 |
-
#: inc/admin/options.php:
|
287 |
msgid "<strong>ERROR</strong>: options page not found."
|
288 |
msgstr "<strong>ERROR</strong>: página de opciones no encontrada."
|
289 |
|
290 |
-
#: inc/admin/plugins.php:14 inc/admin/ui/options.php:
|
291 |
#: inc/common/admin-bar.php:30
|
292 |
msgid "Settings"
|
293 |
msgstr "Configuración"
|
@@ -300,11 +137,41 @@ msgstr "Actualiza tu cuenta para seguir optimizando tus imágenes"
|
|
300 |
msgid "More info"
|
301 |
msgstr "Más info"
|
302 |
|
303 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
msgid "Information"
|
305 |
msgstr "Información"
|
306 |
|
307 |
-
#: inc/admin/ui/bulk.php:
|
308 |
msgid ""
|
309 |
"Please be aware that optimizing a large number of images can take a while "
|
310 |
"depending on your server and network speed."
|
@@ -312,7 +179,7 @@ msgstr ""
|
|
312 |
"Por favor ten en cuenta que la optimización de un gran número de imágenes "
|
313 |
"puede demorar un poco según tu servidor y la velocidad de tu red."
|
314 |
|
315 |
-
#: inc/admin/ui/bulk.php:
|
316 |
#, php-format
|
317 |
msgid ""
|
318 |
"If you have more than %s images, you will need to launch the bulk "
|
@@ -321,7 +188,7 @@ msgstr ""
|
|
321 |
"Si tienes más de %s imágenes, necesitarás lanzar el proceso de optimización "
|
322 |
"masiva varias veces."
|
323 |
|
324 |
-
#: inc/admin/ui/bulk.php:
|
325 |
msgid ""
|
326 |
"You must keep this page open while the bulk optimizaton is processing. If "
|
327 |
"you leave you can come back to continue where it left off."
|
@@ -329,139 +196,127 @@ msgstr ""
|
|
329 |
"Tienes que mantener esta página abierta durante la optimización masiva. Si "
|
330 |
"la abandonas, siempre puedes volver y retomarla donde la hayas dejado."
|
331 |
|
332 |
-
#: inc/admin/ui/bulk.php:
|
333 |
msgid "Select Your Compression Level"
|
334 |
msgstr "Selecciona tu nivel de compresión"
|
335 |
|
336 |
-
#: inc/admin/ui/bulk.php:
|
337 |
-
#: inc/admin/ui/options.php:
|
338 |
-
#: inc/admin/ui/options.php:
|
339 |
-
#: inc/admin/ui/options.php:
|
340 |
-
#: inc/
|
|
|
341 |
msgid "Ultra"
|
342 |
msgstr "Ultra"
|
343 |
|
344 |
-
#: inc/admin/ui/bulk.php:
|
345 |
-
#: inc/admin/ui/options.php:
|
346 |
-
#: inc/admin/ui/options.php:
|
347 |
-
#: inc/admin/ui/options.php:
|
348 |
-
#: inc/
|
|
|
349 |
msgid "Aggressive"
|
350 |
msgstr "Agresivo"
|
351 |
|
352 |
-
#: inc/admin/ui/bulk.php:
|
353 |
-
#: inc/admin/ui/options.php:
|
354 |
-
#: inc/admin/ui/options.php:
|
355 |
-
#: inc/admin/ui/options.php:
|
356 |
-
#: inc/
|
|
|
357 |
msgid "Normal"
|
358 |
msgstr "Normal"
|
359 |
|
360 |
-
#: inc/admin/ui/bulk.php:
|
361 |
-
|
362 |
-
|
|
|
363 |
|
364 |
-
#: inc/admin/ui/bulk.php:
|
365 |
#, php-format
|
366 |
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
367 |
msgstr "No olvides revisar %stus ajustes%s antes de la optimización masiva."
|
368 |
|
369 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
370 |
msgid "Imagif'em all"
|
371 |
msgstr "Imagíficalo todo"
|
372 |
|
373 |
-
#: inc/admin/ui/bulk.php:
|
374 |
#, php-format
|
375 |
msgid ""
|
376 |
-
"All images
|
|
|
377 |
msgstr ""
|
378 |
-
"Todas las imágenes de tamaño superior a %s
|
379 |
-
"
|
380 |
-
|
381 |
-
#: inc/admin/ui/bulk.php:174
|
382 |
-
msgid "Overview"
|
383 |
-
msgstr "Resumen"
|
384 |
-
|
385 |
-
#: inc/admin/ui/bulk.php:184
|
386 |
-
msgid "Statistics"
|
387 |
-
msgstr "Estadísticas"
|
388 |
-
|
389 |
-
#: inc/admin/ui/bulk.php:196
|
390 |
-
msgid "that's the number of images you optimized with Imagify"
|
391 |
-
msgstr "este es el número de imágenes que has optimizado con Imagify"
|
392 |
-
|
393 |
-
#: inc/admin/ui/bulk.php:201
|
394 |
-
msgid "Original size"
|
395 |
-
msgstr "Tamaño original"
|
396 |
-
|
397 |
-
#: inc/admin/ui/bulk.php:206
|
398 |
-
msgid "Optimized size"
|
399 |
-
msgstr "Tamaño optimizado"
|
400 |
|
401 |
-
#: inc/admin/ui/bulk.php:
|
402 |
-
#, php-format
|
403 |
-
msgid "that's the size you saved %sby using Imagify"
|
404 |
-
msgstr "este es el tamaño que ahorraste %scon Imagify"
|
405 |
-
|
406 |
-
#: inc/admin/ui/bulk.php:237
|
407 |
msgid "Well done!"
|
408 |
msgstr "¡Bien hecho!"
|
409 |
|
410 |
-
#: inc/admin/ui/bulk.php:
|
411 |
#, php-format
|
412 |
msgid "you saved %1$s out of %2$s"
|
413 |
msgstr "has ahorrado %1$s de %2$s"
|
414 |
|
415 |
-
#: inc/admin/ui/bulk.php:
|
416 |
msgid "Share your awesome result"
|
417 |
msgstr "Comparte tus impresionantes resultados"
|
418 |
|
419 |
-
#: inc/admin/ui/bulk.php:
|
420 |
msgid "Compression process results"
|
421 |
msgstr "Resultados del proceso de compresión"
|
422 |
|
423 |
-
#: inc/admin/ui/bulk.php:
|
424 |
msgid "Filename"
|
425 |
msgstr "Nombre de archivo"
|
426 |
|
427 |
-
#: inc/admin/ui/bulk.php:
|
428 |
msgid "Status"
|
429 |
msgstr "Estado"
|
430 |
|
431 |
-
#: inc/admin/ui/bulk.php:
|
432 |
-
#: inc/admin/ui/options.php:
|
433 |
msgid "Original"
|
434 |
msgstr "Original"
|
435 |
|
436 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
437 |
msgid "Percentage"
|
438 |
msgstr "Porcentaje"
|
439 |
|
440 |
-
#: inc/admin/ui/bulk.php:
|
441 |
msgid "Thumbnails optimized"
|
442 |
msgstr "Miniaturas optimizadas:"
|
443 |
|
444 |
-
#: inc/admin/ui/bulk.php:
|
445 |
msgid "Overall saving"
|
446 |
msgstr "Ahorro total"
|
447 |
|
448 |
-
#: inc/admin/ui/bulk.php:
|
449 |
msgid "file"
|
450 |
msgstr "archivo"
|
451 |
|
452 |
-
#: inc/admin/ui/bulk.php:
|
453 |
msgid "error"
|
454 |
msgstr "error"
|
455 |
|
456 |
-
#: inc/admin/ui/bulk.php:
|
457 |
msgid "Total:"
|
458 |
msgstr "Total:"
|
459 |
|
460 |
-
#: inc/admin/ui/bulk.php:
|
461 |
msgid "Gain:"
|
462 |
msgstr "Ganancia:"
|
463 |
|
464 |
-
#: inc/admin/ui/bulk.php:
|
465 |
#, php-format
|
466 |
msgid "%sStart the bulk optimization%s"
|
467 |
msgstr "%sEmpieza la optimización masiva%s"
|
@@ -524,7 +379,7 @@ msgstr ""
|
|
524 |
msgid "Go to Settings"
|
525 |
msgstr "Ve a la configuración"
|
526 |
|
527 |
-
#: inc/admin/ui/notices.php:85 inc/admin/ui/options.php:
|
528 |
msgid "Your API key isn't valid!"
|
529 |
msgstr "¡Tu clave API no es válida!"
|
530 |
|
@@ -587,16 +442,26 @@ msgstr "Utiliza la vista de lista para optimizar imágenes con Imagify."
|
|
587 |
msgid "Switch to the List View"
|
588 |
msgstr "Cambia a la vista de lista"
|
589 |
|
590 |
-
#: inc/admin/ui/notices.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
msgid "Discover the best caching plugin to speed up your website."
|
592 |
msgstr "Descubre el mejor plugin de caché para acelerar tu sitio Web."
|
593 |
|
594 |
-
#: inc/admin/ui/notices.php:309 inc/admin/ui/options.php:
|
595 |
#, php-format
|
596 |
msgid "%sGet %s off%s with this coupon code:%s"
|
597 |
msgstr "Descuento del %s%s%s con este código de coupon:%s"
|
598 |
|
599 |
-
#: inc/admin/ui/notices.php:318 inc/admin/ui/options.php:
|
600 |
msgid "Get WP Rocket now"
|
601 |
msgstr "Obten WP Rocket, ¡ya!"
|
602 |
|
@@ -609,7 +474,7 @@ msgstr ""
|
|
609 |
"%1$s¡En hora buena!%2$s Has optimizado %1$s%3$d imágenes%2$s y ahora tu "
|
610 |
"sitio web es más rápido."
|
611 |
|
612 |
-
#: inc/admin/ui/notices.php:356 inc/admin/ui/options.php:
|
613 |
#, php-format
|
614 |
msgid ""
|
615 |
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
@@ -618,61 +483,65 @@ msgstr ""
|
|
618 |
"%sTe gusta este plugin?%s Por favor tomate unos segundos para %svalorarlo en "
|
619 |
"WordPress.org%s!"
|
620 |
|
621 |
-
#: inc/admin/ui/options.php:
|
622 |
msgid "Is your website too slow?"
|
623 |
msgstr "¿Tu sitio web es muy lento?"
|
624 |
|
625 |
-
#: inc/admin/ui/options.php:
|
626 |
msgid "API Key"
|
627 |
msgstr "Clave API"
|
628 |
|
629 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
630 |
#, php-format
|
631 |
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
632 |
msgstr "¿Todavía no tienes una clave API? %sCréate una, es GRATIS%s."
|
633 |
|
634 |
-
#: inc/admin/ui/options.php:
|
635 |
msgid "Optimization Level"
|
636 |
msgstr "Nivel de optimización"
|
637 |
|
638 |
-
#: inc/admin/ui/options.php:
|
639 |
msgid "More info?"
|
640 |
msgstr "Más Info?"
|
641 |
|
642 |
-
#: inc/admin/ui/options.php:
|
643 |
#, php-format
|
644 |
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
645 |
msgstr "¿Necesita ayuda para elegir? %sPrueba la comparación visual%s"
|
646 |
|
647 |
-
#: inc/admin/ui/options.php:
|
648 |
msgid "Auto-Optimize images on upload"
|
649 |
msgstr "Optimización automática de imágenes en carga"
|
650 |
|
651 |
-
#: inc/admin/ui/options.php:
|
652 |
msgid "Automatically optimize every image you upload to WordPress."
|
653 |
msgstr "Optimiza automáticamente cada imagen que subas a Wordpress."
|
654 |
|
655 |
-
#: inc/admin/ui/options.php:
|
656 |
msgid "Backup original images"
|
657 |
msgstr "Backup de las imágenes originales"
|
658 |
|
659 |
-
#: inc/admin/ui/options.php:
|
660 |
msgid ""
|
661 |
"Keep your original images in a separate folder before optimization process."
|
662 |
msgstr ""
|
663 |
"Mantén tus imágenes originales en una carpeta separada antes del proceso de "
|
664 |
"optimización."
|
665 |
|
666 |
-
#: inc/admin/ui/options.php:
|
667 |
msgid "Resize larger images"
|
668 |
msgstr "Reduce las imágenes más grandes"
|
669 |
|
670 |
-
#: inc/admin/ui/options.php:
|
671 |
#, php-format
|
672 |
msgid "to maximum %s pixels width"
|
673 |
msgstr "a una anchura máxima de %s pixel"
|
674 |
|
675 |
-
#: inc/admin/ui/options.php:
|
676 |
#, php-format
|
677 |
msgid ""
|
678 |
"This option is recommended to reduce larger images. You can save up to 80%% "
|
@@ -684,11 +553,11 @@ msgstr ""
|
|
684 |
"debería ser menor que el ancho de tu miniatura más grande, que actualmente "
|
685 |
"es de %spx."
|
686 |
|
687 |
-
#: inc/admin/ui/options.php:
|
688 |
msgid "EXIF Data"
|
689 |
msgstr "Datos EXIF"
|
690 |
|
691 |
-
#: inc/admin/ui/options.php:
|
692 |
msgid ""
|
693 |
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
694 |
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
@@ -697,11 +566,11 @@ msgstr ""
|
|
697 |
"almacenada en tus imágenes, por ejemplo la velocidad de obturación, "
|
698 |
"compensación de exposición, ISO, etc…."
|
699 |
|
700 |
-
#: inc/admin/ui/options.php:
|
701 |
msgid "Learn more"
|
702 |
msgstr "Descubre más"
|
703 |
|
704 |
-
#: inc/admin/ui/options.php:
|
705 |
msgid ""
|
706 |
"If you are a photographer, you may be interested in this option if you are "
|
707 |
"displaying on your pages some info like the model of your camera."
|
@@ -709,43 +578,47 @@ msgstr ""
|
|
709 |
"Si eres un fotógrafo, puedes estar interesado en esta opción si quieres "
|
710 |
"enseñar en tus páginas alguna info, por ejemplo el modelo de tu cámara."
|
711 |
|
712 |
-
#: inc/admin/ui/options.php:
|
713 |
msgid "Files optimization"
|
714 |
msgstr "Optimización de archivos"
|
715 |
|
716 |
-
#: inc/admin/ui/options.php:
|
717 |
msgid ""
|
718 |
"You can choose to compress different image sizes created by WordPress here."
|
719 |
msgstr ""
|
720 |
"Aquí puedes elegir de comprimir los diferentes tamaños de imagen creados por "
|
721 |
"WordPress."
|
722 |
|
723 |
-
#: inc/admin/ui/options.php:
|
724 |
#, php-format
|
725 |
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
726 |
msgstr "El %stamaño original%s es %soptimizado automáticamente%s por Imagify."
|
727 |
|
728 |
-
#: inc/admin/ui/options.php:
|
729 |
msgid ""
|
730 |
"Remember each additional image size will affect your Imagify monthly usage!"
|
731 |
msgstr ""
|
732 |
"Recuerda que cada tamaño adicional de imagen afectará tu consumo mensual de "
|
733 |
"Imagify!"
|
734 |
|
735 |
-
#: inc/admin/ui/options.php:
|
736 |
msgid "Display options"
|
737 |
msgstr "Mostrar las opciones"
|
738 |
|
739 |
-
#: inc/admin/ui/options.php:
|
740 |
msgid "Show Admin Bar menu"
|
741 |
msgstr "Mostrar la barra de administrador"
|
742 |
|
743 |
-
#: inc/admin/ui/options.php:
|
744 |
msgid "I want this awesome quick access menu on my admin bar."
|
745 |
msgstr ""
|
746 |
"Quiero este fantástico menú de acceso rápido en mi barra de administrador."
|
747 |
|
748 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
749 |
#, php-format
|
750 |
msgid ""
|
751 |
"Once your settings saved, optimize all your images by using the %sImagify "
|
@@ -754,11 +627,11 @@ msgstr ""
|
|
754 |
"Una vez guardada la configuración, optimiza tus imágenes usando la función "
|
755 |
"de %soptimización masiva de Imagify%s."
|
756 |
|
757 |
-
#: inc/admin/ui/options.php:
|
758 |
msgid "You can choose three levels of compression"
|
759 |
msgstr "Puedes elegir entre tres niveles de compresión"
|
760 |
|
761 |
-
#: inc/admin/ui/options.php:
|
762 |
msgid ""
|
763 |
"This mode provides lossless optimization, your images will be optimized "
|
764 |
"without any visible change."
|
@@ -766,20 +639,20 @@ msgstr ""
|
|
766 |
"Este modo proporciona una optimización sin pérdidas: tus imágenes serán "
|
767 |
"optimizadas sin ningún cambio perceptible."
|
768 |
|
769 |
-
#: inc/admin/ui/options.php:
|
770 |
msgid ""
|
771 |
"If you want the perfect quality for your images, we recommend you that mode."
|
772 |
msgstr ""
|
773 |
"Si deseas calidad perfecta para tus imágenes, te recomendamos este modo."
|
774 |
|
775 |
-
#: inc/admin/ui/options.php:
|
776 |
msgid ""
|
777 |
"Note: the file size reduction will be less, compared to aggressive mode."
|
778 |
msgstr ""
|
779 |
"Nota: la reducción de tamaño del archivo será inferior, si comparado con el "
|
780 |
"modo agresivo."
|
781 |
|
782 |
-
#: inc/admin/ui/options.php:
|
783 |
msgid ""
|
784 |
"This mode provides perfect optimization of your images without any "
|
785 |
"significant quality loss."
|
@@ -787,7 +660,7 @@ msgstr ""
|
|
787 |
"Este modo proporciona la perfecta optimización de tus imágenes sin pérdida "
|
788 |
"significativa de calidad."
|
789 |
|
790 |
-
#: inc/admin/ui/options.php:
|
791 |
msgid ""
|
792 |
"This will provide a drastic savings on the initial weight, with a small "
|
793 |
"reduction in image quality. Most of the time it's not even noticeable."
|
@@ -796,11 +669,11 @@ msgstr ""
|
|
796 |
"reducción de la calidad de imagen. La mayoría de las veces no será ni "
|
797 |
"perceptible."
|
798 |
|
799 |
-
#: inc/admin/ui/options.php:
|
800 |
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
801 |
msgstr "Te recomendamos usar este modo si deseas la máxima reducción de peso."
|
802 |
|
803 |
-
#: inc/admin/ui/options.php:
|
804 |
msgid ""
|
805 |
"This mode will apply all available optimizations for maximum image "
|
806 |
"compression."
|
@@ -808,7 +681,7 @@ msgstr ""
|
|
808 |
"Este modo aplicará todas las optimizaciones disponibles, para una máxima "
|
809 |
"compresión de imagen."
|
810 |
|
811 |
-
#: inc/admin/ui/options.php:
|
812 |
msgid ""
|
813 |
"This will provide a huge savings on the initial weight. Sometimes the image "
|
814 |
"quality could be degraded a little."
|
@@ -816,7 +689,7 @@ msgstr ""
|
|
816 |
"Esto proporcionará un gran ahorro en el peso inicial. A veces la calidad de "
|
817 |
"la imagen podría disminuir un poco."
|
818 |
|
819 |
-
#: inc/admin/ui/options.php:
|
820 |
msgid ""
|
821 |
"If you want the maximum weight reduction, and you agree to lose some quality "
|
822 |
"on the images we recommend using this mode."
|
@@ -824,41 +697,62 @@ msgstr ""
|
|
824 |
"Te recomendamos usar este modo si deseas la máxima reducción de peso y "
|
825 |
"aceptas perder algo de calidad en las imágenes."
|
826 |
|
827 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
|
|
828 |
#, php-format
|
829 |
msgid "I want to compare%s and%s"
|
830 |
msgstr "Quiero comparar %s y %s"
|
831 |
|
832 |
-
#: inc/admin/ui/options.php:
|
833 |
#, php-format
|
834 |
msgid "Original photography about %s"
|
835 |
msgstr "Fotografía original de %s"
|
836 |
|
837 |
-
#: inc/admin/ui/options.php:
|
838 |
-
#: inc/admin/ui/options.php:
|
839 |
#, php-format
|
840 |
msgid "Optimized photography about %s"
|
841 |
msgstr "Fotografía optimizada de %s"
|
842 |
|
843 |
-
#: inc/admin/ui/options.php:
|
844 |
-
#: inc/admin/ui/options.php:
|
845 |
-
#: inc/functions/admin-ui.php:
|
846 |
msgid "Level:"
|
847 |
msgstr "Nivel:"
|
848 |
|
849 |
-
#: inc/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
850 |
msgid "Errors"
|
851 |
msgstr "Errores"
|
852 |
|
853 |
-
#: inc/admin/upload.php:
|
854 |
msgid "Filter by status"
|
855 |
msgstr "Filtrar por estado"
|
856 |
|
857 |
-
#: inc/admin/upload.php:
|
858 |
msgid "All images"
|
859 |
msgstr "Todas las imágenes"
|
860 |
|
861 |
-
#: inc/classes/class-attachment.php:
|
862 |
msgid ""
|
863 |
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
864 |
"you want to optimize it."
|
@@ -875,50 +769,383 @@ msgstr "Valora Imagify en %s"
|
|
875 |
msgid "Loading..."
|
876 |
msgstr "Cargando…"
|
877 |
|
878 |
-
#: inc/functions/admin-ui.php:
|
879 |
msgid "New Filesize:"
|
880 |
msgstr "Nuevo tamaño del archivo:"
|
881 |
|
882 |
-
#: inc/functions/admin-ui.php:
|
883 |
msgid "Close details"
|
884 |
msgstr "Cerrar detalles"
|
885 |
|
886 |
-
#: inc/functions/admin-ui.php:
|
887 |
msgid "View details"
|
888 |
msgstr "Ver detalles"
|
889 |
|
890 |
-
#: inc/functions/admin-ui.php:
|
891 |
msgid "Original Filesize:"
|
892 |
msgstr "Tamaño inicial:"
|
893 |
|
894 |
-
#: inc/functions/admin-ui.php:
|
895 |
msgid "Thumbnails Optimized:"
|
896 |
msgstr "Miniaturas optimizadas:"
|
897 |
|
898 |
-
#: inc/functions/admin-ui.php:
|
899 |
msgid "Overall Saving:"
|
900 |
msgstr "Ahorro total:"
|
901 |
|
902 |
-
#: inc/functions/admin-ui.php:
|
903 |
msgid "Restoring..."
|
904 |
msgstr "Recuperando…"
|
905 |
|
906 |
-
#: inc/functions/admin-ui.php:
|
907 |
msgid "Try again"
|
908 |
msgstr "Intenta de nuevo"
|
909 |
|
910 |
-
#: inc/functions/admin-ui.php:
|
911 |
-
#: inc/functions/admin-ui.php:
|
912 |
#, php-format
|
913 |
msgid "Re-Optimize to %s"
|
914 |
msgstr "Re-optimiza a %s"
|
915 |
|
916 |
-
#: inc/functions/admin-ui.php:
|
917 |
#, php-format
|
918 |
msgid "%s can't be optimized"
|
919 |
msgstr "%s no puede ser optimizado"
|
920 |
|
921 |
-
#: inc/functions/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
922 |
msgid ""
|
923 |
"Sorry, our servers are temporarily unaccessible. Please, try again in a "
|
924 |
"couple of minutes."
|
@@ -926,25 +1153,25 @@ msgstr ""
|
|
926 |
"Lo sentimos, nuestros servidores están temporalmente inaccesibles. Por "
|
927 |
"favor, inténtalo de nuevo en un par de minutos."
|
928 |
|
929 |
-
#: inc/functions/process.php:
|
930 |
msgid "External HTTP requests are blocked"
|
931 |
msgstr "Las peticiones HTTP externas están bloqueadas"
|
932 |
|
933 |
-
#: inc/functions/process.php:
|
934 |
msgid "File path is empty"
|
935 |
msgstr "La ruta del archivo está vacía"
|
936 |
|
937 |
-
#: inc/functions/process.php:
|
938 |
#, php-format
|
939 |
msgid "Could not find %s"
|
940 |
msgstr "No se pudo encontrar %s"
|
941 |
|
942 |
-
#: inc/functions/process.php:
|
943 |
#, php-format
|
944 |
msgid "%s is not writable"
|
945 |
msgstr "%s no tiene permisos de escritura"
|
946 |
|
947 |
-
#: inc/functions/process.php:
|
948 |
#, php-format
|
949 |
msgid "Skipped (%s), image not found."
|
950 |
msgstr "Omitido (%s), imagen no encontrada."
|
@@ -955,7 +1182,7 @@ msgstr ""
|
|
955 |
|
956 |
#. Description of the plugin/theme
|
957 |
msgid ""
|
958 |
-
"Dramaticaly reduce image file sizes without
|
959 |
"website load faster, boost your SEO and save money on your bandwith using "
|
960 |
"Imagify, the new most advanced image optimization tool."
|
961 |
msgstr ""
|
@@ -968,6 +1195,15 @@ msgstr ""
|
|
968 |
msgid "http://wp-media.me"
|
969 |
msgstr ""
|
970 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
971 |
#~ msgid ""
|
972 |
#~ "%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and "
|
973 |
#~ "improved your website's by reducing your images size."
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Imagify\n"
|
4 |
+
"POT-Creation-Date: 2016-04-19 16:20+0200\n"
|
5 |
+
"PO-Revision-Date: 2016-04-19 16:27+0200\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: es\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
|
23 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:20
|
24 |
+
#: inc/admin/ajax.php:123 inc/admin/meta-boxes.php:34
|
25 |
+
#: inc/functions/admin-ui.php:212 inc/functions/i18n.php:46
|
26 |
+
#: inc/functions/i18n.php:61
|
|
|
|
|
|
|
|
|
|
|
27 |
msgid "Optimize"
|
28 |
msgstr "Optimizar"
|
29 |
|
30 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:21
|
31 |
+
#: inc/functions/admin-ui.php:80 inc/functions/i18n.php:47
|
32 |
+
msgid "Restore Original"
|
33 |
+
msgstr "Recuperar tamaño original"
|
34 |
+
|
35 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/menu.php:16 inc/admin/menu.php:24
|
36 |
+
#: inc/admin/plugins.php:13 inc/admin/ui/bulk.php:81
|
37 |
+
#: inc/common/admin-bar.php:39
|
38 |
+
msgid "Bulk Optimization"
|
39 |
+
msgstr "Optimización masiva"
|
40 |
+
|
41 |
+
#: inc/admin/ajax.php:123 inc/admin/meta-boxes.php:29
|
42 |
+
#: inc/functions/admin-ui.php:121 inc/functions/admin-ui.php:153
|
43 |
+
#: inc/functions/admin-ui.php:159 inc/functions/admin-ui.php:165
|
44 |
+
#: inc/functions/admin-ui.php:202 inc/functions/admin-ui.php:212
|
45 |
+
msgid "Optimizing..."
|
46 |
+
msgstr "Optimizando…"
|
47 |
+
|
48 |
+
#: inc/admin/ajax.php:503
|
49 |
msgid "Oops, It's almost over!"
|
50 |
msgstr "¡Ya casi está!"
|
51 |
|
52 |
+
#: inc/admin/ajax.php:504
|
53 |
#, php-format
|
54 |
msgid ""
|
55 |
"You have almost used all your credit.%sDon't forget to upgrade your "
|
58 |
"Ya has utilizado casi todo tu crédito.%sNo olvides ampliar tu suscripción "
|
59 |
"para poder seguir optimizando tus imágenes."
|
60 |
|
61 |
+
#: inc/admin/ajax.php:505 inc/admin/ui/bulk.php:23
|
62 |
msgid "View My Subscription"
|
63 |
msgstr "Ver mi suscripción"
|
64 |
|
65 |
+
#: inc/admin/ajax.php:513 inc/admin/ui/notices.php:251
|
66 |
+
#: inc/functions/i18n.php:80
|
67 |
msgid "Oops, It's Over!"
|
68 |
msgstr "¡Ya está!"
|
69 |
|
70 |
+
#: inc/admin/ajax.php:514 inc/admin/ui/notices.php:253
|
71 |
+
#: inc/functions/i18n.php:97
|
72 |
#, php-format
|
73 |
msgid ""
|
74 |
"You have consumed all your credit for this month. You will have <strong>%s "
|
77 |
"Has consumido todo tu crédito para este mes. Volverás a tener <strong>%s el "
|
78 |
"%s</strong>."
|
79 |
|
80 |
+
#: inc/admin/ajax.php:515
|
81 |
msgid "Upgrade My Subscription"
|
82 |
msgstr "Actualizar mi suscripción"
|
83 |
|
84 |
+
#: inc/admin/ajax.php:534 inc/admin/ui/bulk.php:17
|
85 |
msgid "Account status"
|
86 |
msgstr "Estado de mi cuenta"
|
87 |
|
88 |
+
#: inc/admin/ajax.php:535 inc/admin/ui/bulk.php:18
|
89 |
msgid "Your subscription:"
|
90 |
msgstr "Tu suscripción:"
|
91 |
|
92 |
+
#: inc/admin/ajax.php:543 inc/admin/ui/bulk.php:48
|
93 |
#, php-format
|
94 |
msgid "You have %s space credit left"
|
95 |
msgstr "Te queda un saldo de %s"
|
96 |
|
97 |
+
#: inc/admin/ajax.php:555
|
98 |
msgid "View my subscription"
|
99 |
msgstr "Ver mi suscripción"
|
100 |
|
101 |
+
#: inc/admin/media.php:63 inc/functions/i18n.php:57
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
msgid "Compare Original VS Optimized"
|
103 |
msgstr "Compara original VS optimizada"
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
#. Plugin Name of the plugin/theme
|
106 |
#: inc/admin/meta-boxes.php:17 inc/admin/meta-boxes.php:24
|
107 |
+
#: inc/admin/upload.php:12
|
108 |
msgid "Imagify"
|
109 |
msgstr "Imagify"
|
110 |
|
111 |
+
#: inc/admin/meta-boxes.php:19 inc/functions/admin-ui.php:195
|
112 |
msgid "Invalid API key"
|
113 |
msgstr "Clave API no válida"
|
114 |
|
115 |
+
#: inc/admin/meta-boxes.php:21 inc/functions/admin-ui.php:197
|
116 |
msgid "Check your Settings"
|
117 |
msgstr "Comprueba tu configuración"
|
118 |
|
119 |
+
#: inc/admin/options.php:120
|
120 |
msgid "Cheatin’ uh?"
|
121 |
msgstr "Haciendo trampa ¿Uh?"
|
122 |
|
123 |
+
#: inc/admin/options.php:128
|
124 |
msgid "<strong>ERROR</strong>: options page not found."
|
125 |
msgstr "<strong>ERROR</strong>: página de opciones no encontrada."
|
126 |
|
127 |
+
#: inc/admin/plugins.php:14 inc/admin/ui/options.php:74
|
128 |
#: inc/common/admin-bar.php:30
|
129 |
msgid "Settings"
|
130 |
msgstr "Configuración"
|
137 |
msgid "More info"
|
138 |
msgstr "Más info"
|
139 |
|
140 |
+
#: inc/admin/ui/bulk.php:91
|
141 |
+
msgid "Overview"
|
142 |
+
msgstr "Resumen"
|
143 |
+
|
144 |
+
#: inc/admin/ui/bulk.php:99
|
145 |
+
#, php-format
|
146 |
+
msgid "You optimized %s images of your website"
|
147 |
+
msgstr "Has optimizado el %s de imágenes de tu sitio"
|
148 |
+
|
149 |
+
#: inc/admin/ui/bulk.php:103
|
150 |
+
msgid "Statistics"
|
151 |
+
msgstr "Estadísticas"
|
152 |
+
|
153 |
+
#: inc/admin/ui/bulk.php:115
|
154 |
+
msgid "that's the number of images you optimized with Imagify"
|
155 |
+
msgstr "este es el número de imágenes que has optimizado con Imagify"
|
156 |
+
|
157 |
+
#: inc/admin/ui/bulk.php:120
|
158 |
+
msgid "Original size"
|
159 |
+
msgstr "Tamaño original"
|
160 |
+
|
161 |
+
#: inc/admin/ui/bulk.php:125
|
162 |
+
msgid "Optimized size"
|
163 |
+
msgstr "Tamaño optimizado"
|
164 |
+
|
165 |
+
#: inc/admin/ui/bulk.php:136
|
166 |
+
#, php-format
|
167 |
+
msgid "that's the size you saved %sby using Imagify"
|
168 |
+
msgstr "este es el tamaño que ahorraste %scon Imagify"
|
169 |
+
|
170 |
+
#: inc/admin/ui/bulk.php:142
|
171 |
msgid "Information"
|
172 |
msgstr "Información"
|
173 |
|
174 |
+
#: inc/admin/ui/bulk.php:146
|
175 |
msgid ""
|
176 |
"Please be aware that optimizing a large number of images can take a while "
|
177 |
"depending on your server and network speed."
|
179 |
"Por favor ten en cuenta que la optimización de un gran número de imágenes "
|
180 |
"puede demorar un poco según tu servidor y la velocidad de tu red."
|
181 |
|
182 |
+
#: inc/admin/ui/bulk.php:149
|
183 |
#, php-format
|
184 |
msgid ""
|
185 |
"If you have more than %s images, you will need to launch the bulk "
|
188 |
"Si tienes más de %s imágenes, necesitarás lanzar el proceso de optimización "
|
189 |
"masiva varias veces."
|
190 |
|
191 |
+
#: inc/admin/ui/bulk.php:153
|
192 |
msgid ""
|
193 |
"You must keep this page open while the bulk optimizaton is processing. If "
|
194 |
"you leave you can come back to continue where it left off."
|
196 |
"Tienes que mantener esta página abierta durante la optimización masiva. Si "
|
197 |
"la abandonas, siempre puedes volver y retomarla donde la hayas dejado."
|
198 |
|
199 |
+
#: inc/admin/ui/bulk.php:164
|
200 |
msgid "Select Your Compression Level"
|
201 |
msgstr "Selecciona tu nivel de compresión"
|
202 |
|
203 |
+
#: inc/admin/ui/bulk.php:166 inc/admin/ui/bulk.php:192
|
204 |
+
#: inc/admin/ui/options.php:136 inc/admin/ui/options.php:365
|
205 |
+
#: inc/admin/ui/options.php:404 inc/admin/ui/options.php:421
|
206 |
+
#: inc/admin/ui/options.php:481
|
207 |
+
#: inc/classes/abstracts/abstract-attachment.php:114
|
208 |
+
#: inc/functions/admin-ui.php:153
|
209 |
msgid "Ultra"
|
210 |
msgstr "Ultra"
|
211 |
|
212 |
+
#: inc/admin/ui/bulk.php:169 inc/admin/ui/bulk.php:187
|
213 |
+
#: inc/admin/ui/options.php:131 inc/admin/ui/options.php:352
|
214 |
+
#: inc/admin/ui/options.php:403 inc/admin/ui/options.php:416
|
215 |
+
#: inc/admin/ui/options.php:460
|
216 |
+
#: inc/classes/abstracts/abstract-attachment.php:117
|
217 |
+
#: inc/functions/admin-ui.php:159
|
218 |
msgid "Aggressive"
|
219 |
msgstr "Agresivo"
|
220 |
|
221 |
+
#: inc/admin/ui/bulk.php:172 inc/admin/ui/bulk.php:182
|
222 |
+
#: inc/admin/ui/options.php:126 inc/admin/ui/options.php:339
|
223 |
+
#: inc/admin/ui/options.php:402 inc/admin/ui/options.php:411
|
224 |
+
#: inc/admin/ui/options.php:440
|
225 |
+
#: inc/classes/abstracts/abstract-attachment.php:120
|
226 |
+
#: inc/functions/admin-ui.php:165
|
227 |
msgid "Normal"
|
228 |
msgstr "Normal"
|
229 |
|
230 |
+
#: inc/admin/ui/bulk.php:176
|
231 |
+
#, php-format
|
232 |
+
msgid "Your default setting: %s"
|
233 |
+
msgstr "Tus ajustes por defecto: %s"
|
234 |
|
235 |
+
#: inc/admin/ui/bulk.php:201
|
236 |
#, php-format
|
237 |
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
238 |
msgstr "No olvides revisar %stus ajustes%s antes de la optimización masiva."
|
239 |
|
240 |
+
#: inc/admin/ui/bulk.php:208
|
241 |
+
msgid "Let's go!"
|
242 |
+
msgstr "¡Vamos!"
|
243 |
+
|
244 |
+
#: inc/admin/ui/bulk.php:215
|
245 |
msgid "Imagif'em all"
|
246 |
msgstr "Imagíficalo todo"
|
247 |
|
248 |
+
#: inc/admin/ui/bulk.php:220
|
249 |
#, php-format
|
250 |
msgid ""
|
251 |
+
"All images greater than %s will be optimized when using a paying monthly "
|
252 |
+
"plan."
|
253 |
msgstr ""
|
254 |
+
"Todas las imágenes de tamaño superior a %s serán optimizadas utilizando el "
|
255 |
+
"plan de pago mensual."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
|
257 |
+
#: inc/admin/ui/bulk.php:239
|
|
|
|
|
|
|
|
|
|
|
258 |
msgid "Well done!"
|
259 |
msgstr "¡Bien hecho!"
|
260 |
|
261 |
+
#: inc/admin/ui/bulk.php:240
|
262 |
#, php-format
|
263 |
msgid "you saved %1$s out of %2$s"
|
264 |
msgstr "has ahorrado %1$s de %2$s"
|
265 |
|
266 |
+
#: inc/admin/ui/bulk.php:245
|
267 |
msgid "Share your awesome result"
|
268 |
msgstr "Comparte tus impresionantes resultados"
|
269 |
|
270 |
+
#: inc/admin/ui/bulk.php:260
|
271 |
msgid "Compression process results"
|
272 |
msgstr "Resultados del proceso de compresión"
|
273 |
|
274 |
+
#: inc/admin/ui/bulk.php:263
|
275 |
msgid "Filename"
|
276 |
msgstr "Nombre de archivo"
|
277 |
|
278 |
+
#: inc/admin/ui/bulk.php:264
|
279 |
msgid "Status"
|
280 |
msgstr "Estado"
|
281 |
|
282 |
+
#: inc/admin/ui/bulk.php:265 inc/admin/ui/options.php:401
|
283 |
+
#: inc/admin/ui/options.php:406 inc/admin/ui/options.php:430
|
284 |
msgid "Original"
|
285 |
msgstr "Original"
|
286 |
|
287 |
+
#: inc/admin/ui/bulk.php:266 inc/admin/upload.php:41 inc/functions/i18n.php:76
|
288 |
+
msgid "Optimized"
|
289 |
+
msgstr "Optimizado"
|
290 |
+
|
291 |
+
#: inc/admin/ui/bulk.php:267
|
292 |
msgid "Percentage"
|
293 |
msgstr "Porcentaje"
|
294 |
|
295 |
+
#: inc/admin/ui/bulk.php:268
|
296 |
msgid "Thumbnails optimized"
|
297 |
msgstr "Miniaturas optimizadas:"
|
298 |
|
299 |
+
#: inc/admin/ui/bulk.php:269
|
300 |
msgid "Overall saving"
|
301 |
msgstr "Ahorro total"
|
302 |
|
303 |
+
#: inc/admin/ui/bulk.php:274
|
304 |
msgid "file"
|
305 |
msgstr "archivo"
|
306 |
|
307 |
+
#: inc/admin/ui/bulk.php:275
|
308 |
msgid "error"
|
309 |
msgstr "error"
|
310 |
|
311 |
+
#: inc/admin/ui/bulk.php:276
|
312 |
msgid "Total:"
|
313 |
msgstr "Total:"
|
314 |
|
315 |
+
#: inc/admin/ui/bulk.php:277
|
316 |
msgid "Gain:"
|
317 |
msgstr "Ganancia:"
|
318 |
|
319 |
+
#: inc/admin/ui/bulk.php:294
|
320 |
#, php-format
|
321 |
msgid "%sStart the bulk optimization%s"
|
322 |
msgstr "%sEmpieza la optimización masiva%s"
|
379 |
msgid "Go to Settings"
|
380 |
msgstr "Ve a la configuración"
|
381 |
|
382 |
+
#: inc/admin/ui/notices.php:85 inc/admin/ui/options.php:97
|
383 |
msgid "Your API key isn't valid!"
|
384 |
msgstr "¡Tu clave API no es válida!"
|
385 |
|
442 |
msgid "Switch to the List View"
|
443 |
msgstr "Cambia a la vista de lista"
|
444 |
|
445 |
+
#: inc/admin/ui/notices.php:253 inc/functions/i18n.php:94
|
446 |
+
#: inc/functions/i18n.php:97
|
447 |
+
#, php-format
|
448 |
+
msgid ""
|
449 |
+
"To continue to optimize your images, log in to your Imagify account to %sbuy "
|
450 |
+
"a pack or subscribe to a plan%s."
|
451 |
+
msgstr ""
|
452 |
+
"Para seguir optimizando tus imágenes, inicia sesión en tu cuenta Imagify "
|
453 |
+
"para %scomprar un paquete o subscribir un plan %s."
|
454 |
+
|
455 |
+
#: inc/admin/ui/notices.php:306 inc/admin/ui/options.php:28
|
456 |
msgid "Discover the best caching plugin to speed up your website."
|
457 |
msgstr "Descubre el mejor plugin de caché para acelerar tu sitio Web."
|
458 |
|
459 |
+
#: inc/admin/ui/notices.php:309 inc/admin/ui/options.php:36
|
460 |
#, php-format
|
461 |
msgid "%sGet %s off%s with this coupon code:%s"
|
462 |
msgstr "Descuento del %s%s%s con este código de coupon:%s"
|
463 |
|
464 |
+
#: inc/admin/ui/notices.php:318 inc/admin/ui/options.php:41
|
465 |
msgid "Get WP Rocket now"
|
466 |
msgstr "Obten WP Rocket, ¡ya!"
|
467 |
|
474 |
"%1$s¡En hora buena!%2$s Has optimizado %1$s%3$d imágenes%2$s y ahora tu "
|
475 |
"sitio web es más rápido."
|
476 |
|
477 |
+
#: inc/admin/ui/notices.php:356 inc/admin/ui/options.php:59
|
478 |
#, php-format
|
479 |
msgid ""
|
480 |
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
483 |
"%sTe gusta este plugin?%s Por favor tomate unos segundos para %svalorarlo en "
|
484 |
"WordPress.org%s!"
|
485 |
|
486 |
+
#: inc/admin/ui/options.php:22
|
487 |
msgid "Is your website too slow?"
|
488 |
msgstr "¿Tu sitio web es muy lento?"
|
489 |
|
490 |
+
#: inc/admin/ui/options.php:84
|
491 |
msgid "API Key"
|
492 |
msgstr "Clave API"
|
493 |
|
494 |
+
#: inc/admin/ui/options.php:91 inc/functions/i18n.php:31
|
495 |
+
msgid "Your API key is valid."
|
496 |
+
msgstr "Tu clave API es válida."
|
497 |
+
|
498 |
+
#: inc/admin/ui/options.php:104
|
499 |
#, php-format
|
500 |
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
501 |
msgstr "¿Todavía no tienes una clave API? %sCréate una, es GRATIS%s."
|
502 |
|
503 |
+
#: inc/admin/ui/options.php:121
|
504 |
msgid "Optimization Level"
|
505 |
msgstr "Nivel de optimización"
|
506 |
|
507 |
+
#: inc/admin/ui/options.php:141
|
508 |
msgid "More info?"
|
509 |
msgstr "Más Info?"
|
510 |
|
511 |
+
#: inc/admin/ui/options.php:148
|
512 |
#, php-format
|
513 |
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
514 |
msgstr "¿Necesita ayuda para elegir? %sPrueba la comparación visual%s"
|
515 |
|
516 |
+
#: inc/admin/ui/options.php:157 inc/admin/ui/options.php:161
|
517 |
msgid "Auto-Optimize images on upload"
|
518 |
msgstr "Optimización automática de imágenes en carga"
|
519 |
|
520 |
+
#: inc/admin/ui/options.php:165
|
521 |
msgid "Automatically optimize every image you upload to WordPress."
|
522 |
msgstr "Optimiza automáticamente cada imagen que subas a Wordpress."
|
523 |
|
524 |
+
#: inc/admin/ui/options.php:170 inc/admin/ui/options.php:173
|
525 |
msgid "Backup original images"
|
526 |
msgstr "Backup de las imágenes originales"
|
527 |
|
528 |
+
#: inc/admin/ui/options.php:177
|
529 |
msgid ""
|
530 |
"Keep your original images in a separate folder before optimization process."
|
531 |
msgstr ""
|
532 |
"Mantén tus imágenes originales en una carpeta separada antes del proceso de "
|
533 |
"optimización."
|
534 |
|
535 |
+
#: inc/admin/ui/options.php:182 inc/admin/ui/options.php:185
|
536 |
msgid "Resize larger images"
|
537 |
msgstr "Reduce las imágenes más grandes"
|
538 |
|
539 |
+
#: inc/admin/ui/options.php:191
|
540 |
#, php-format
|
541 |
msgid "to maximum %s pixels width"
|
542 |
msgstr "a una anchura máxima de %s pixel"
|
543 |
|
544 |
+
#: inc/admin/ui/options.php:202
|
545 |
#, php-format
|
546 |
msgid ""
|
547 |
"This option is recommended to reduce larger images. You can save up to 80%% "
|
553 |
"debería ser menor que el ancho de tu miniatura más grande, que actualmente "
|
554 |
"es de %spx."
|
555 |
|
556 |
+
#: inc/admin/ui/options.php:209 inc/admin/ui/options.php:212
|
557 |
msgid "EXIF Data"
|
558 |
msgstr "Datos EXIF"
|
559 |
|
560 |
+
#: inc/admin/ui/options.php:216
|
561 |
msgid ""
|
562 |
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
563 |
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
566 |
"almacenada en tus imágenes, por ejemplo la velocidad de obturación, "
|
567 |
"compensación de exposición, ISO, etc…."
|
568 |
|
569 |
+
#: inc/admin/ui/options.php:217
|
570 |
msgid "Learn more"
|
571 |
msgstr "Descubre más"
|
572 |
|
573 |
+
#: inc/admin/ui/options.php:219
|
574 |
msgid ""
|
575 |
"If you are a photographer, you may be interested in this option if you are "
|
576 |
"displaying on your pages some info like the model of your camera."
|
578 |
"Si eres un fotógrafo, puedes estar interesado en esta opción si quieres "
|
579 |
"enseñar en tus páginas alguna info, por ejemplo el modelo de tu cámara."
|
580 |
|
581 |
+
#: inc/admin/ui/options.php:228
|
582 |
msgid "Files optimization"
|
583 |
msgstr "Optimización de archivos"
|
584 |
|
585 |
+
#: inc/admin/ui/options.php:231
|
586 |
msgid ""
|
587 |
"You can choose to compress different image sizes created by WordPress here."
|
588 |
msgstr ""
|
589 |
"Aquí puedes elegir de comprimir los diferentes tamaños de imagen creados por "
|
590 |
"WordPress."
|
591 |
|
592 |
+
#: inc/admin/ui/options.php:233
|
593 |
#, php-format
|
594 |
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
595 |
msgstr "El %stamaño original%s es %soptimizado automáticamente%s por Imagify."
|
596 |
|
597 |
+
#: inc/admin/ui/options.php:236
|
598 |
msgid ""
|
599 |
"Remember each additional image size will affect your Imagify monthly usage!"
|
600 |
msgstr ""
|
601 |
"Recuerda que cada tamaño adicional de imagen afectará tu consumo mensual de "
|
602 |
"Imagify!"
|
603 |
|
604 |
+
#: inc/admin/ui/options.php:289
|
605 |
msgid "Display options"
|
606 |
msgstr "Mostrar las opciones"
|
607 |
|
608 |
+
#: inc/admin/ui/options.php:294 inc/admin/ui/options.php:299
|
609 |
msgid "Show Admin Bar menu"
|
610 |
msgstr "Mostrar la barra de administrador"
|
611 |
|
612 |
+
#: inc/admin/ui/options.php:300
|
613 |
msgid "I want this awesome quick access menu on my admin bar."
|
614 |
msgstr ""
|
615 |
"Quiero este fantástico menú de acceso rápido en mi barra de administrador."
|
616 |
|
617 |
+
#: inc/admin/ui/options.php:319
|
618 |
+
msgid "Save & Go to Bulk Optimizer"
|
619 |
+
msgstr "Guarda & Ve a la optimización masiva"
|
620 |
+
|
621 |
+
#: inc/admin/ui/options.php:328
|
622 |
#, php-format
|
623 |
msgid ""
|
624 |
"Once your settings saved, optimize all your images by using the %sImagify "
|
627 |
"Una vez guardada la configuración, optimiza tus imágenes usando la función "
|
628 |
"de %soptimización masiva de Imagify%s."
|
629 |
|
630 |
+
#: inc/admin/ui/options.php:336
|
631 |
msgid "You can choose three levels of compression"
|
632 |
msgstr "Puedes elegir entre tres niveles de compresión"
|
633 |
|
634 |
+
#: inc/admin/ui/options.php:341
|
635 |
msgid ""
|
636 |
"This mode provides lossless optimization, your images will be optimized "
|
637 |
"without any visible change."
|
639 |
"Este modo proporciona una optimización sin pérdidas: tus imágenes serán "
|
640 |
"optimizadas sin ningún cambio perceptible."
|
641 |
|
642 |
+
#: inc/admin/ui/options.php:344
|
643 |
msgid ""
|
644 |
"If you want the perfect quality for your images, we recommend you that mode."
|
645 |
msgstr ""
|
646 |
"Si deseas calidad perfecta para tus imágenes, te recomendamos este modo."
|
647 |
|
648 |
+
#: inc/admin/ui/options.php:347
|
649 |
msgid ""
|
650 |
"Note: the file size reduction will be less, compared to aggressive mode."
|
651 |
msgstr ""
|
652 |
"Nota: la reducción de tamaño del archivo será inferior, si comparado con el "
|
653 |
"modo agresivo."
|
654 |
|
655 |
+
#: inc/admin/ui/options.php:354
|
656 |
msgid ""
|
657 |
"This mode provides perfect optimization of your images without any "
|
658 |
"significant quality loss."
|
660 |
"Este modo proporciona la perfecta optimización de tus imágenes sin pérdida "
|
661 |
"significativa de calidad."
|
662 |
|
663 |
+
#: inc/admin/ui/options.php:357
|
664 |
msgid ""
|
665 |
"This will provide a drastic savings on the initial weight, with a small "
|
666 |
"reduction in image quality. Most of the time it's not even noticeable."
|
669 |
"reducción de la calidad de imagen. La mayoría de las veces no será ni "
|
670 |
"perceptible."
|
671 |
|
672 |
+
#: inc/admin/ui/options.php:360
|
673 |
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
674 |
msgstr "Te recomendamos usar este modo si deseas la máxima reducción de peso."
|
675 |
|
676 |
+
#: inc/admin/ui/options.php:367
|
677 |
msgid ""
|
678 |
"This mode will apply all available optimizations for maximum image "
|
679 |
"compression."
|
681 |
"Este modo aplicará todas las optimizaciones disponibles, para una máxima "
|
682 |
"compresión de imagen."
|
683 |
|
684 |
+
#: inc/admin/ui/options.php:370
|
685 |
msgid ""
|
686 |
"This will provide a huge savings on the initial weight. Sometimes the image "
|
687 |
"quality could be degraded a little."
|
689 |
"Esto proporcionará un gran ahorro en el peso inicial. A veces la calidad de "
|
690 |
"la imagen podría disminuir un poco."
|
691 |
|
692 |
+
#: inc/admin/ui/options.php:373
|
693 |
msgid ""
|
694 |
"If you want the maximum weight reduction, and you agree to lose some quality "
|
695 |
"on the images we recommend using this mode."
|
697 |
"Te recomendamos usar este modo si deseas la máxima reducción de peso y "
|
698 |
"aceptas perder algo de calidad en las imágenes."
|
699 |
|
700 |
+
#: inc/admin/ui/options.php:380 inc/admin/ui/options.php:502
|
701 |
+
#: inc/functions/admin-ui.php:659 inc/functions/i18n.php:58
|
702 |
+
msgid "Close"
|
703 |
+
msgstr "Cierra"
|
704 |
+
|
705 |
+
#: inc/admin/ui/options.php:392
|
706 |
#, php-format
|
707 |
msgid "I want to compare%s and%s"
|
708 |
msgstr "Quiero comparar %s y %s"
|
709 |
|
710 |
+
#: inc/admin/ui/options.php:409
|
711 |
#, php-format
|
712 |
msgid "Original photography about %s"
|
713 |
msgstr "Fotografía original de %s"
|
714 |
|
715 |
+
#: inc/admin/ui/options.php:414 inc/admin/ui/options.php:419
|
716 |
+
#: inc/admin/ui/options.php:424
|
717 |
#, php-format
|
718 |
msgid "Optimized photography about %s"
|
719 |
msgstr "Fotografía optimizada de %s"
|
720 |
|
721 |
+
#: inc/admin/ui/options.php:429 inc/admin/ui/options.php:439
|
722 |
+
#: inc/admin/ui/options.php:459 inc/admin/ui/options.php:480
|
723 |
+
#: inc/functions/admin-ui.php:59
|
724 |
msgid "Level:"
|
725 |
msgstr "Nivel:"
|
726 |
|
727 |
+
#: inc/admin/ui/options.php:433 inc/admin/ui/options.php:443
|
728 |
+
#: inc/admin/ui/options.php:463 inc/admin/ui/options.php:484
|
729 |
+
#: inc/functions/i18n.php:59
|
730 |
+
msgid "File Size:"
|
731 |
+
msgstr "Tamaño del archivo:"
|
732 |
+
|
733 |
+
#: inc/admin/ui/options.php:447 inc/admin/ui/options.php:467
|
734 |
+
#: inc/admin/ui/options.php:488 inc/functions/admin-ui.php:45
|
735 |
+
#: inc/functions/i18n.php:60
|
736 |
+
msgid "Original Saving:"
|
737 |
+
msgstr "Ahorro inicial:"
|
738 |
+
|
739 |
+
#: inc/admin/upload.php:42 inc/functions/i18n.php:77
|
740 |
+
msgid "Unoptimized"
|
741 |
+
msgstr "No optimizado"
|
742 |
+
|
743 |
+
#: inc/admin/upload.php:43
|
744 |
msgid "Errors"
|
745 |
msgstr "Errores"
|
746 |
|
747 |
+
#: inc/admin/upload.php:46
|
748 |
msgid "Filter by status"
|
749 |
msgstr "Filtrar por estado"
|
750 |
|
751 |
+
#: inc/admin/upload.php:49
|
752 |
msgid "All images"
|
753 |
msgstr "Todas las imágenes"
|
754 |
|
755 |
+
#: inc/classes/class-attachment.php:266
|
756 |
msgid ""
|
757 |
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
758 |
"you want to optimize it."
|
769 |
msgid "Loading..."
|
770 |
msgstr "Cargando…"
|
771 |
|
772 |
+
#: inc/functions/admin-ui.php:36
|
773 |
msgid "New Filesize:"
|
774 |
msgstr "Nuevo tamaño del archivo:"
|
775 |
|
776 |
+
#: inc/functions/admin-ui.php:52
|
777 |
msgid "Close details"
|
778 |
msgstr "Cerrar detalles"
|
779 |
|
780 |
+
#: inc/functions/admin-ui.php:52
|
781 |
msgid "View details"
|
782 |
msgstr "Ver detalles"
|
783 |
|
784 |
+
#: inc/functions/admin-ui.php:56
|
785 |
msgid "Original Filesize:"
|
786 |
msgstr "Tamaño inicial:"
|
787 |
|
788 |
+
#: inc/functions/admin-ui.php:62
|
789 |
msgid "Thumbnails Optimized:"
|
790 |
msgstr "Miniaturas optimizadas:"
|
791 |
|
792 |
+
#: inc/functions/admin-ui.php:63
|
793 |
msgid "Overall Saving:"
|
794 |
msgstr "Ahorro total:"
|
795 |
|
796 |
+
#: inc/functions/admin-ui.php:80
|
797 |
msgid "Restoring..."
|
798 |
msgstr "Recuperando…"
|
799 |
|
800 |
+
#: inc/functions/admin-ui.php:121
|
801 |
msgid "Try again"
|
802 |
msgstr "Intenta de nuevo"
|
803 |
|
804 |
+
#: inc/functions/admin-ui.php:153 inc/functions/admin-ui.php:159
|
805 |
+
#: inc/functions/admin-ui.php:165
|
806 |
#, php-format
|
807 |
msgid "Re-Optimize to %s"
|
808 |
msgstr "Re-optimiza a %s"
|
809 |
|
810 |
+
#: inc/functions/admin-ui.php:189
|
811 |
#, php-format
|
812 |
msgid "%s can't be optimized"
|
813 |
msgstr "%s no puede ser optimizado"
|
814 |
|
815 |
+
#: inc/functions/admin-ui.php:237
|
816 |
+
msgid "What plan do I need?"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: inc/functions/admin-ui.php:241
|
820 |
+
msgid "You're new to Imagify?"
|
821 |
+
msgstr ""
|
822 |
+
|
823 |
+
#: inc/functions/admin-ui.php:242
|
824 |
+
msgid ""
|
825 |
+
"Let us help you by analyzing your existing images and determinate the best "
|
826 |
+
"plan for you"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: inc/functions/admin-ui.php:277
|
830 |
+
msgid "Choose Plan"
|
831 |
+
msgstr ""
|
832 |
+
|
833 |
+
#: inc/functions/admin-ui.php:278
|
834 |
+
msgid "Payment Info"
|
835 |
+
msgstr ""
|
836 |
+
|
837 |
+
#: inc/functions/admin-ui.php:283
|
838 |
+
msgid "We analysed your images"
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: inc/functions/admin-ui.php:289
|
842 |
+
#, php-format
|
843 |
+
msgid "You have %s images"
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
+
#: inc/functions/admin-ui.php:295
|
847 |
+
#, php-format
|
848 |
+
msgid "You actually have %s of images in your library."
|
849 |
+
msgstr ""
|
850 |
+
|
851 |
+
#: inc/functions/admin-ui.php:299
|
852 |
+
#, php-format
|
853 |
+
msgid "You upload around %s of images per month."
|
854 |
+
msgstr ""
|
855 |
+
|
856 |
+
#: inc/functions/admin-ui.php:306
|
857 |
+
msgid "We recommend you this plan"
|
858 |
+
msgstr ""
|
859 |
+
|
860 |
+
#: inc/functions/admin-ui.php:311
|
861 |
+
msgid "Subscribe a monthly plan"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: inc/functions/admin-ui.php:312
|
865 |
+
msgid "Subscribe a yearly plan"
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: inc/functions/admin-ui.php:316 inc/functions/admin-ui.php:452
|
869 |
+
#: inc/functions/admin-ui.php:620
|
870 |
+
msgid "Monthly"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: inc/functions/admin-ui.php:319 inc/functions/admin-ui.php:455
|
874 |
+
#: inc/functions/admin-ui.php:623
|
875 |
+
msgid "Yearly"
|
876 |
+
msgstr ""
|
877 |
+
|
878 |
+
#: inc/functions/admin-ui.php:319 inc/functions/admin-ui.php:455
|
879 |
+
#: inc/functions/admin-ui.php:623
|
880 |
+
msgid "2 months free"
|
881 |
+
msgstr ""
|
882 |
+
|
883 |
+
#: inc/functions/admin-ui.php:330 inc/functions/admin-ui.php:349
|
884 |
+
#: inc/functions/admin-ui.php:465 inc/functions/admin-ui.php:475
|
885 |
+
msgid "/month"
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: inc/functions/admin-ui.php:332 inc/functions/admin-ui.php:380
|
889 |
+
#: inc/functions/admin-ui.php:467 inc/functions/admin-ui.php:518
|
890 |
+
#, php-format
|
891 |
+
msgid "approx: %s images"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: inc/functions/admin-ui.php:353 inc/functions/admin-ui.php:481
|
895 |
+
#, php-format
|
896 |
+
msgid ""
|
897 |
+
"%s per<br>\n"
|
898 |
+
"additionnal Gb"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: inc/functions/admin-ui.php:358 inc/functions/admin-ui.php:393
|
902 |
+
#: inc/functions/admin-ui.php:577 inc/functions/admin-ui.php:598
|
903 |
+
msgid "Choose another plan"
|
904 |
+
msgstr ""
|
905 |
+
|
906 |
+
#: inc/functions/admin-ui.php:368
|
907 |
+
msgid "Optimize the images you already have, buy a one-time plan"
|
908 |
+
msgstr ""
|
909 |
+
|
910 |
+
#: inc/functions/admin-ui.php:404
|
911 |
+
msgid "Checkout"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: inc/functions/admin-ui.php:408
|
915 |
+
msgid ""
|
916 |
+
"Monthly plans comes with credits which is renewed every months. The billing "
|
917 |
+
"happens automatically each month or year depending the billing period you "
|
918 |
+
"choose."
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: inc/functions/admin-ui.php:432
|
922 |
+
msgid "Monthly Plans"
|
923 |
+
msgstr ""
|
924 |
+
|
925 |
+
#: inc/functions/admin-ui.php:437
|
926 |
+
msgid "One Time Plans"
|
927 |
+
msgstr ""
|
928 |
+
|
929 |
+
#: inc/functions/admin-ui.php:447
|
930 |
+
msgid ""
|
931 |
+
"Monthly plans come with credits which is renewed every months. The billing "
|
932 |
+
"happens automatically each month or year depending the billing period you "
|
933 |
+
"choose."
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: inc/functions/admin-ui.php:479 inc/functions/admin-ui.php:526
|
937 |
+
msgid "we recommend for you"
|
938 |
+
msgstr ""
|
939 |
+
|
940 |
+
#: inc/functions/admin-ui.php:487 inc/functions/admin-ui.php:530
|
941 |
+
msgid "Choose plan"
|
942 |
+
msgstr ""
|
943 |
+
|
944 |
+
#: inc/functions/admin-ui.php:495
|
945 |
+
msgid "Need more?"
|
946 |
+
msgstr ""
|
947 |
+
|
948 |
+
#: inc/functions/admin-ui.php:496
|
949 |
+
msgid "for special needs"
|
950 |
+
msgstr ""
|
951 |
+
|
952 |
+
#: inc/functions/admin-ui.php:500
|
953 |
+
msgid "Contact Us"
|
954 |
+
msgstr ""
|
955 |
+
|
956 |
+
#: inc/functions/admin-ui.php:507
|
957 |
+
msgid ""
|
958 |
+
"One time plans are useful if you have a lots of existing images which need "
|
959 |
+
"to be optimized. You can use it for bulk optimizing all your past images. "
|
960 |
+
"You will pay only once."
|
961 |
+
msgstr ""
|
962 |
+
|
963 |
+
#: inc/functions/admin-ui.php:560
|
964 |
+
msgid "Your order"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: inc/functions/admin-ui.php:565
|
968 |
+
#, php-format
|
969 |
+
msgid "%scancel%sYou just removed %s"
|
970 |
+
msgstr ""
|
971 |
+
|
972 |
+
#: inc/functions/admin-ui.php:573 inc/functions/admin-ui.php:594
|
973 |
+
msgid "Remove this item"
|
974 |
+
msgstr ""
|
975 |
+
|
976 |
+
#: inc/functions/admin-ui.php:580
|
977 |
+
#, php-format
|
978 |
+
msgid "%s per month"
|
979 |
+
msgstr ""
|
980 |
+
|
981 |
+
#: inc/functions/admin-ui.php:601
|
982 |
+
#, php-format
|
983 |
+
msgid "one time %s"
|
984 |
+
msgstr ""
|
985 |
+
|
986 |
+
#: inc/functions/admin-ui.php:614
|
987 |
+
#, php-format
|
988 |
+
msgid ""
|
989 |
+
"Switch to yearly subscription and <br><strong class=\"imagify-dark\">save %s "
|
990 |
+
"per year!</strong>"
|
991 |
+
msgstr ""
|
992 |
+
|
993 |
+
#: inc/functions/admin-ui.php:615
|
994 |
+
#, php-format
|
995 |
+
msgid ""
|
996 |
+
"Perfect!<br>You're <strong class=\"imagify-dark\">saving %s per year!</"
|
997 |
+
"strong>"
|
998 |
+
msgstr ""
|
999 |
+
|
1000 |
+
#: inc/functions/admin-ui.php:654
|
1001 |
+
msgid "Thank you for being awesome!"
|
1002 |
+
msgstr ""
|
1003 |
+
|
1004 |
+
#: inc/functions/admin-ui.php:665
|
1005 |
+
msgid "What do our user think about Imagify"
|
1006 |
+
msgstr ""
|
1007 |
+
|
1008 |
+
#: inc/functions/admin-ui.php:699
|
1009 |
+
msgid "Secure Credit Card Payment"
|
1010 |
+
msgstr ""
|
1011 |
+
|
1012 |
+
#: inc/functions/admin-ui.php:700
|
1013 |
+
msgid "This is secure 128-bits SSL encrypted payment"
|
1014 |
+
msgstr ""
|
1015 |
+
|
1016 |
+
#: inc/functions/i18n.php:19
|
1017 |
+
msgid "Let's get you started!"
|
1018 |
+
msgstr "¡Vamos a comenzar!"
|
1019 |
+
|
1020 |
+
#: inc/functions/i18n.php:20
|
1021 |
+
msgid "Enter your email to get an API key:"
|
1022 |
+
msgstr "Ingresa tu email para obtener un clave API:"
|
1023 |
+
|
1024 |
+
#: inc/functions/i18n.php:21
|
1025 |
+
msgid "Sign Up"
|
1026 |
+
msgstr "Registrate"
|
1027 |
+
|
1028 |
+
#: inc/functions/i18n.php:22
|
1029 |
+
msgid "You need to specify an email!"
|
1030 |
+
msgstr "¡Es necesario especificar una dirección email!"
|
1031 |
+
|
1032 |
+
#: inc/functions/i18n.php:23 inc/functions/i18n.php:29
|
1033 |
+
msgid "Congratulations!"
|
1034 |
+
msgstr "¡Enhorabuena!"
|
1035 |
+
|
1036 |
+
#: inc/functions/i18n.php:24
|
1037 |
+
msgid ""
|
1038 |
+
"Your account has been succesfully created. Please check your mailbox, you "
|
1039 |
+
"are going to receive an email with API key."
|
1040 |
+
msgstr ""
|
1041 |
+
"Tu cuenta ha sido creada con éxito. Por favor, revisa tu buzón de correo, "
|
1042 |
+
"recibirás un email con la clave API."
|
1043 |
+
|
1044 |
+
#: inc/functions/i18n.php:25
|
1045 |
+
msgid "Connect to Imagify!"
|
1046 |
+
msgstr "¡Conéctate a Imagify!"
|
1047 |
+
|
1048 |
+
#: inc/functions/i18n.php:26
|
1049 |
+
msgid "Paste your API key below:"
|
1050 |
+
msgstr "Pega aquí abajo tu clave API:"
|
1051 |
+
|
1052 |
+
#: inc/functions/i18n.php:27
|
1053 |
+
msgid "Connect me"
|
1054 |
+
msgstr "Conéctame"
|
1055 |
+
|
1056 |
+
#: inc/functions/i18n.php:28
|
1057 |
+
msgid "Check in progress..."
|
1058 |
+
msgstr "Control en curso…"
|
1059 |
+
|
1060 |
+
#: inc/functions/i18n.php:30
|
1061 |
+
msgid ""
|
1062 |
+
"Your API key is valid. You can now configure the Imagify settings to "
|
1063 |
+
"optimize your images."
|
1064 |
+
msgstr ""
|
1065 |
+
"Tu clave API es válida. Ahora puedes configurar los parámetros de Imagify "
|
1066 |
+
"para optimizar tus imágenes."
|
1067 |
+
|
1068 |
+
#: inc/functions/i18n.php:32
|
1069 |
+
msgid "Cancel"
|
1070 |
+
msgstr ""
|
1071 |
+
|
1072 |
+
#: inc/functions/i18n.php:38
|
1073 |
+
msgid "Don't Need a Parachute?"
|
1074 |
+
msgstr "¿No necesitas un paracaídas?"
|
1075 |
+
|
1076 |
+
#: inc/functions/i18n.php:39
|
1077 |
+
msgid ""
|
1078 |
+
"If you keep this option deactivated, you won't be able to re-optimize your "
|
1079 |
+
"images to another compression level and restore your original images in case "
|
1080 |
+
"of need."
|
1081 |
+
msgstr ""
|
1082 |
+
"Si mantienes esta opción desactivada, no podrás re-optimizar tus imágenes a "
|
1083 |
+
"otro nivel de compresión ni restablecer la imagen original en caso de "
|
1084 |
+
"necesidad."
|
1085 |
+
|
1086 |
+
#: inc/functions/i18n.php:55
|
1087 |
+
msgid "Original Image"
|
1088 |
+
msgstr "Imagen original"
|
1089 |
+
|
1090 |
+
#: inc/functions/i18n.php:56
|
1091 |
+
msgid "Optimized Image"
|
1092 |
+
msgstr "Imagen optimizada"
|
1093 |
+
|
1094 |
+
#: inc/functions/i18n.php:70
|
1095 |
+
msgid "Please wait..."
|
1096 |
+
msgstr "Espera, por favor…"
|
1097 |
+
|
1098 |
+
#: inc/functions/i18n.php:71
|
1099 |
+
msgid ""
|
1100 |
+
"We are trying to get your unoptimized images, it may take time depending on "
|
1101 |
+
"the number of images."
|
1102 |
+
msgstr ""
|
1103 |
+
"Estamos tratando de obtener tus imágenes no optimizadas: esto puede tomar "
|
1104 |
+
"tiempo, dependiendo del número de imágenes."
|
1105 |
+
|
1106 |
+
#: inc/functions/i18n.php:73
|
1107 |
+
msgid "Oops, There is something wrong!"
|
1108 |
+
msgstr "Ups, algo no ha ido bien!"
|
1109 |
+
|
1110 |
+
#: inc/functions/i18n.php:74
|
1111 |
+
msgid ""
|
1112 |
+
"An unknow error occurred when we tried to get all your unoptimized images. "
|
1113 |
+
"Try again and if the issue still persist, please contact us!"
|
1114 |
+
msgstr ""
|
1115 |
+
"Un error inesperado ha ocurrido mientras tratábamos de obtener todas tus "
|
1116 |
+
"imágenes no optimizadas. Inténtalo otra vez y, si el problema persiste, "
|
1117 |
+
"contáctanos por favor!"
|
1118 |
+
|
1119 |
+
#: inc/functions/i18n.php:78
|
1120 |
+
msgid "Error"
|
1121 |
+
msgstr "Error"
|
1122 |
+
|
1123 |
+
#: inc/functions/i18n.php:81
|
1124 |
+
msgid "Hold on!"
|
1125 |
+
msgstr "¡Espera!"
|
1126 |
+
|
1127 |
+
#: inc/functions/i18n.php:82
|
1128 |
+
msgid "All your images have been optimized by Imagify. Congratulations!"
|
1129 |
+
msgstr "Todas tus imágenes han sido optimizadas por Imagify. ¡Enhorabuena!"
|
1130 |
+
|
1131 |
+
#: inc/functions/i18n.php:84
|
1132 |
+
#, php-format
|
1133 |
+
msgid ""
|
1134 |
+
"Discover @imagify, the new compression tool to optimize your images for "
|
1135 |
+
"free. I saved %1$s out of %2$s!"
|
1136 |
+
msgstr ""
|
1137 |
+
"Descubre @imagify, la nueva herramienta de compresión para optimizar tus "
|
1138 |
+
"imágenes gratuitamente. Me ha ahorrado %1$s de %2$s!"
|
1139 |
+
|
1140 |
+
#: inc/functions/i18n.php:88
|
1141 |
+
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
1142 |
+
msgstr "Imagify sigue procesando. Estás seguro que quieres dejar la página?"
|
1143 |
+
|
1144 |
+
#: inc/functions/i18n.php:97
|
1145 |
+
msgid "F j, Y"
|
1146 |
+
msgstr "F j, Y"
|
1147 |
+
|
1148 |
+
#: inc/functions/process.php:41
|
1149 |
msgid ""
|
1150 |
"Sorry, our servers are temporarily unaccessible. Please, try again in a "
|
1151 |
"couple of minutes."
|
1153 |
"Lo sentimos, nuestros servidores están temporalmente inaccesibles. Por "
|
1154 |
"favor, inténtalo de nuevo en un par de minutos."
|
1155 |
|
1156 |
+
#: inc/functions/process.php:47
|
1157 |
msgid "External HTTP requests are blocked"
|
1158 |
msgstr "Las peticiones HTTP externas están bloqueadas"
|
1159 |
|
1160 |
+
#: inc/functions/process.php:53
|
1161 |
msgid "File path is empty"
|
1162 |
msgstr "La ruta del archivo está vacía"
|
1163 |
|
1164 |
+
#: inc/functions/process.php:59
|
1165 |
#, php-format
|
1166 |
msgid "Could not find %s"
|
1167 |
msgstr "No se pudo encontrar %s"
|
1168 |
|
1169 |
+
#: inc/functions/process.php:64
|
1170 |
#, php-format
|
1171 |
msgid "%s is not writable"
|
1172 |
msgstr "%s no tiene permisos de escritura"
|
1173 |
|
1174 |
+
#: inc/functions/process.php:73
|
1175 |
#, php-format
|
1176 |
msgid "Skipped (%s), image not found."
|
1177 |
msgstr "Omitido (%s), imagen no encontrada."
|
1182 |
|
1183 |
#. Description of the plugin/theme
|
1184 |
msgid ""
|
1185 |
+
"Dramaticaly reduce image file sizes without losing quality, make your "
|
1186 |
"website load faster, boost your SEO and save money on your bandwith using "
|
1187 |
"Imagify, the new most advanced image optimization tool."
|
1188 |
msgstr ""
|
1195 |
msgid "http://wp-media.me"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#~ msgid "Your default setting:"
|
1199 |
+
#~ msgstr "Tu configuración por defecto:"
|
1200 |
+
|
1201 |
+
#~ msgid ""
|
1202 |
+
#~ "All images which are over to %s could be optimized using the pro version."
|
1203 |
+
#~ msgstr ""
|
1204 |
+
#~ "Todas las imágenes de tamaño superior a %s pueden optimizarse utilizando "
|
1205 |
+
#~ "la versión pro."
|
1206 |
+
|
1207 |
#~ msgid ""
|
1208 |
#~ "%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and "
|
1209 |
#~ "improved your website's by reducing your images size."
|
languages/imagify-fr_FR.mo
CHANGED
Binary file
|
languages/imagify-fr_FR.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Imagify\n"
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: fr_FR\n"
|
@@ -20,23 +20,34 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
|
23 |
-
#: inc/admin/
|
24 |
-
#: inc/
|
25 |
-
#: inc/functions/
|
26 |
-
#: inc/functions/admin-ui.php:175 inc/functions/admin-ui.php:181
|
27 |
-
msgid "Optimizing..."
|
28 |
-
msgstr "En cours d’optimisation…"
|
29 |
-
|
30 |
-
#: inc/admin/ajax.php:118 inc/admin/enqueue.php:163 inc/admin/enqueue.php:187
|
31 |
-
#: inc/admin/meta-boxes.php:34 inc/functions/admin-ui.php:181
|
32 |
msgid "Optimize"
|
33 |
msgstr "Optimiser"
|
34 |
|
35 |
-
#: inc/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
msgid "Oops, It's almost over!"
|
37 |
msgstr "Oups, c’est bientôt fini !"
|
38 |
|
39 |
-
#: inc/admin/ajax.php:
|
40 |
#, php-format
|
41 |
msgid ""
|
42 |
"You have almost used all your credit.%sDon't forget to upgrade your "
|
@@ -45,15 +56,15 @@ msgstr ""
|
|
45 |
"Vous avez bientôt utilisé tout votre crédit.%sN’oubliez pas de mettre à niveau "
|
46 |
"votre abonnement pour continuer à optimiser vos images."
|
47 |
|
48 |
-
#: inc/admin/ajax.php:
|
49 |
msgid "View My Subscription"
|
50 |
msgstr "Voir mon abonnement"
|
51 |
|
52 |
-
#: inc/admin/ajax.php:
|
53 |
msgid "Oops, It's Over!"
|
54 |
msgstr "Oups, c’est fini !"
|
55 |
|
56 |
-
#: inc/admin/ajax.php:
|
57 |
#, php-format
|
58 |
msgid ""
|
59 |
"You have consumed all your credit for this month. You will have <strong>%s "
|
@@ -62,231 +73,54 @@ msgstr ""
|
|
62 |
"Vous avez consommé tout votre crédit pour ce mois. Vous aurez à nouveau "
|
63 |
"<strong>%s le %s</strong>."
|
64 |
|
65 |
-
#: inc/admin/ajax.php:
|
66 |
msgid "Upgrade My Subscription"
|
67 |
msgstr "Mettre à niveau mon abonnement"
|
68 |
|
69 |
-
#: inc/admin/ajax.php:
|
70 |
msgid "Account status"
|
71 |
msgstr "Type de compte"
|
72 |
|
73 |
-
#: inc/admin/ajax.php:
|
74 |
msgid "Your subscription:"
|
75 |
msgstr "Votre abonnement :"
|
76 |
|
77 |
-
#: inc/admin/ajax.php:
|
78 |
#, php-format
|
79 |
msgid "You have %s space credit left"
|
80 |
msgstr "Il vous reste %s de crédit"
|
81 |
|
82 |
-
#: inc/admin/ajax.php:
|
83 |
msgid "View my subscription"
|
84 |
msgstr "Voir mon abonnement"
|
85 |
|
86 |
-
#: inc/admin/
|
87 |
-
msgid "Let's get you started!"
|
88 |
-
msgstr "C’est parti !"
|
89 |
-
|
90 |
-
#: inc/admin/enqueue.php:122
|
91 |
-
msgid "Enter your email to get an API key:"
|
92 |
-
msgstr "Indiquez votre e-mail pour recevoir votre clé API :"
|
93 |
-
|
94 |
-
#: inc/admin/enqueue.php:123
|
95 |
-
msgid "Sign Up"
|
96 |
-
msgstr "S’inscrire"
|
97 |
-
|
98 |
-
#: inc/admin/enqueue.php:124
|
99 |
-
msgid "You need to specify an email!"
|
100 |
-
msgstr "Vous devez indiquer un e-mail !"
|
101 |
-
|
102 |
-
#: inc/admin/enqueue.php:125 inc/admin/enqueue.php:131
|
103 |
-
msgid "Congratulations!"
|
104 |
-
msgstr "Félicitations !"
|
105 |
-
|
106 |
-
#: inc/admin/enqueue.php:126
|
107 |
-
msgid ""
|
108 |
-
"Your account has been succesfully created. Please check your mailbox, you are "
|
109 |
-
"going to receive an email with API key."
|
110 |
-
msgstr ""
|
111 |
-
"Votre compte a été créé avec succès. Vérifiez votre boîte de réception, vous "
|
112 |
-
"allez recevoir un e-mail avec votre clé API."
|
113 |
-
|
114 |
-
#: inc/admin/enqueue.php:127
|
115 |
-
msgid "Connect to Imagify!"
|
116 |
-
msgstr "Se connecter à Imagify !"
|
117 |
-
|
118 |
-
#: inc/admin/enqueue.php:128
|
119 |
-
msgid "Paste your API key below:"
|
120 |
-
msgstr "Copiez votre clé API ci-dessous :"
|
121 |
-
|
122 |
-
#: inc/admin/enqueue.php:129
|
123 |
-
msgid "Connect me"
|
124 |
-
msgstr "Connectez-moi"
|
125 |
-
|
126 |
-
#: inc/admin/enqueue.php:130
|
127 |
-
msgid "Check in progress..."
|
128 |
-
msgstr "Vérification en cours…"
|
129 |
-
|
130 |
-
#: inc/admin/enqueue.php:132
|
131 |
-
msgid ""
|
132 |
-
"Your API key is valid. You can now configure the Imagify settings to optimize "
|
133 |
-
"your images."
|
134 |
-
msgstr ""
|
135 |
-
"Votre clé API est valide. Vous pouvez maintenant configurer les réglages "
|
136 |
-
"d’Imagify pour optimiser vos images."
|
137 |
-
|
138 |
-
#: inc/admin/enqueue.php:133 inc/admin/ui/options.php:85
|
139 |
-
msgid "Your API key is valid."
|
140 |
-
msgstr "Votre clé API est valide."
|
141 |
-
|
142 |
-
#: inc/admin/enqueue.php:150
|
143 |
-
msgid "Don't Need a Parachute?"
|
144 |
-
msgstr "Pas besoin d’un parachute ?"
|
145 |
-
|
146 |
-
#: inc/admin/enqueue.php:151
|
147 |
-
msgid ""
|
148 |
-
"If you keep this option deactivated, you won't be able to re-optimize your "
|
149 |
-
"images to another compression level and restore your original images in case "
|
150 |
-
"of need."
|
151 |
-
msgstr ""
|
152 |
-
"Si vous gardez cette option désactivée, vous ne serez pas en mesure de "
|
153 |
-
"réoptimiser vos images à un autre niveau de compression et de restaurer vos "
|
154 |
-
"images originales en cas de besoin."
|
155 |
-
|
156 |
-
#: inc/admin/enqueue.php:164 inc/functions/admin-ui.php:75
|
157 |
-
msgid "Restore Original"
|
158 |
-
msgstr "Restaurer l’original"
|
159 |
-
|
160 |
-
#: inc/admin/enqueue.php:181
|
161 |
-
msgid "Original Image"
|
162 |
-
msgstr "Image d’origine"
|
163 |
-
|
164 |
-
#: inc/admin/enqueue.php:182
|
165 |
-
msgid "Optimized Image"
|
166 |
-
msgstr "Image optimisée"
|
167 |
-
|
168 |
-
#: inc/admin/enqueue.php:183 inc/admin/media.php:61
|
169 |
msgid "Compare Original VS Optimized"
|
170 |
msgstr "Comparer Originale VS Optimisée"
|
171 |
|
172 |
-
#: inc/admin/enqueue.php:184 inc/admin/ui/options.php:360
|
173 |
-
#: inc/admin/ui/options.php:482
|
174 |
-
msgid "Close"
|
175 |
-
msgstr "Fermer"
|
176 |
-
|
177 |
-
#: inc/admin/enqueue.php:185 inc/admin/ui/options.php:413
|
178 |
-
#: inc/admin/ui/options.php:423 inc/admin/ui/options.php:443
|
179 |
-
#: inc/admin/ui/options.php:464
|
180 |
-
msgid "File Size:"
|
181 |
-
msgstr "Poids du fichier:"
|
182 |
-
|
183 |
-
#: inc/admin/enqueue.php:186 inc/admin/ui/options.php:427
|
184 |
-
#: inc/admin/ui/options.php:447 inc/admin/ui/options.php:468
|
185 |
-
#: inc/functions/admin-ui.php:44
|
186 |
-
msgid "Original Saving:"
|
187 |
-
msgstr "Gain sur l’original :"
|
188 |
-
|
189 |
-
#: inc/admin/enqueue.php:202
|
190 |
-
msgid "Please wait..."
|
191 |
-
msgstr "Un peu d’attente…"
|
192 |
-
|
193 |
-
#: inc/admin/enqueue.php:203
|
194 |
-
msgid ""
|
195 |
-
"We are trying to get your unoptimized images, it may take time depending on "
|
196 |
-
"the number of images."
|
197 |
-
msgstr ""
|
198 |
-
"Nous sommes en train de récupérer vos images non-optimisées, cela peut prendre "
|
199 |
-
"du temps en fonction du nombre d’images."
|
200 |
-
|
201 |
-
#: inc/admin/enqueue.php:205
|
202 |
-
msgid "Oops, There is something wrong!"
|
203 |
-
msgstr "Oups, une erreur est survenue !"
|
204 |
-
|
205 |
-
#: inc/admin/enqueue.php:206
|
206 |
-
msgid ""
|
207 |
-
"An unknow error occurred when we tried to get all your unoptimized images. Try "
|
208 |
-
"again and if the issue still persist, please contact us!"
|
209 |
-
msgstr ""
|
210 |
-
"Une erreur inconnue est survenue lorsque nous avons essayé d’obtenir toutes "
|
211 |
-
"vos images non optimisées. Essayez encore et si le problème persiste, "
|
212 |
-
"contactez-nous !"
|
213 |
-
|
214 |
-
#: inc/admin/enqueue.php:208 inc/admin/ui/bulk.php:264 inc/admin/upload.php:38
|
215 |
-
msgid "Optimized"
|
216 |
-
msgstr "Optimisées"
|
217 |
-
|
218 |
-
#: inc/admin/enqueue.php:209 inc/admin/upload.php:39
|
219 |
-
msgid "Unoptimized"
|
220 |
-
msgstr "Non optimisées"
|
221 |
-
|
222 |
-
#: inc/admin/enqueue.php:210
|
223 |
-
msgid "Error"
|
224 |
-
msgstr "Erreur"
|
225 |
-
|
226 |
-
#: inc/admin/enqueue.php:213
|
227 |
-
msgid "Hold on!"
|
228 |
-
msgstr "Halte là !"
|
229 |
-
|
230 |
-
#: inc/admin/enqueue.php:214
|
231 |
-
msgid "All your images have been optimized by Imagify. Congratulations!"
|
232 |
-
msgstr "Toutes vos images ont été optimisées par Imagify. Félicitations !"
|
233 |
-
|
234 |
-
#: inc/admin/enqueue.php:216
|
235 |
-
#, php-format
|
236 |
-
msgid ""
|
237 |
-
"Discover @imagify, the new compression tool to optimize your images for free. "
|
238 |
-
"I saved %1$s out of %2$s!"
|
239 |
-
msgstr ""
|
240 |
-
"Découvrez @imagify, le nouvel outil de compression pour optimiser vos images. "
|
241 |
-
"J’ai optimisé %1$s sur %2$s !"
|
242 |
-
|
243 |
-
#: inc/admin/enqueue.php:220
|
244 |
-
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
245 |
-
msgstr ""
|
246 |
-
"Imagify travaille encore. Êtes-vous sûr(e) de vouloir quitter cette page ?"
|
247 |
-
|
248 |
-
#: inc/admin/enqueue.php:225 inc/admin/enqueue.php:228
|
249 |
-
#: inc/admin/ui/notices.php:253
|
250 |
-
#, php-format
|
251 |
-
msgid ""
|
252 |
-
"To continue to optimize your images, log in to your Imagify account to %sbuy a "
|
253 |
-
"pack or subscribe to a plan%s."
|
254 |
-
msgstr ""
|
255 |
-
"Pour continuer à optimiser vos images, connectez-vous à votre compte Imagify "
|
256 |
-
"pour %sacheter un pack ou souscrire à un plan%s."
|
257 |
-
|
258 |
-
#: inc/admin/enqueue.php:228
|
259 |
-
msgid "F j, Y"
|
260 |
-
msgstr ""
|
261 |
-
|
262 |
-
#: inc/admin/menu.php:24 inc/admin/plugins.php:13 inc/admin/ui/bulk.php:79
|
263 |
-
#: inc/common/admin-bar.php:39
|
264 |
-
msgid "Bulk Optimization"
|
265 |
-
msgstr "Optimisation en masse"
|
266 |
-
|
267 |
#. Plugin Name of the plugin/theme
|
268 |
#: inc/admin/meta-boxes.php:17 inc/admin/meta-boxes.php:24
|
269 |
-
#: inc/admin/upload.php:
|
270 |
msgid "Imagify"
|
271 |
msgstr "Imagify"
|
272 |
|
273 |
-
#: inc/admin/meta-boxes.php:19 inc/functions/admin-ui.php:
|
274 |
msgid "Invalid API key"
|
275 |
msgstr "Clé API invalide"
|
276 |
|
277 |
-
#: inc/admin/meta-boxes.php:21 inc/functions/admin-ui.php:
|
278 |
msgid "Check your Settings"
|
279 |
msgstr "Vérifiez vos réglages"
|
280 |
|
281 |
-
#: inc/admin/options.php:
|
282 |
msgid "Cheatin’ uh?"
|
283 |
msgstr "Cheatin’ uh?"
|
284 |
|
285 |
-
#: inc/admin/options.php:
|
286 |
msgid "<strong>ERROR</strong>: options page not found."
|
287 |
msgstr "<strong>Erreur</strong> : page d’options introuvable."
|
288 |
|
289 |
-
#: inc/admin/plugins.php:14 inc/admin/ui/options.php:
|
290 |
#: inc/common/admin-bar.php:30
|
291 |
msgid "Settings"
|
292 |
msgstr "Réglages"
|
@@ -299,11 +133,41 @@ msgstr "Mettez à niveau votre compte pour continuer à optimiser vos images"
|
|
299 |
msgid "More info"
|
300 |
msgstr "Plus d’infos"
|
301 |
|
302 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
msgid "Information"
|
304 |
msgstr "Informations"
|
305 |
|
306 |
-
#: inc/admin/ui/bulk.php:
|
307 |
msgid ""
|
308 |
"Please be aware that optimizing a large number of images can take a while "
|
309 |
"depending on your server and network speed."
|
@@ -311,7 +175,7 @@ msgstr ""
|
|
311 |
"Prenez conscience que l’optimisation d’un grand nombre d’images peut prendre "
|
312 |
"du temps en fonction de la rapidité de votre serveur et de votre connexion."
|
313 |
|
314 |
-
#: inc/admin/ui/bulk.php:
|
315 |
#, php-format
|
316 |
msgid ""
|
317 |
"If you have more than %s images, you will need to launch the bulk optimization "
|
@@ -320,7 +184,7 @@ msgstr ""
|
|
320 |
"Si vous avez plus de %s images, vous devrez lancer l’optimisation en masse "
|
321 |
"plusieurs fois."
|
322 |
|
323 |
-
#: inc/admin/ui/bulk.php:
|
324 |
msgid ""
|
325 |
"You must keep this page open while the bulk optimizaton is processing. If you "
|
326 |
"leave you can come back to continue where it left off."
|
@@ -329,139 +193,124 @@ msgstr ""
|
|
329 |
"en cours. Si vous la quittez, vous pouvez revenir pour continuer là où vous en "
|
330 |
"étiez."
|
331 |
|
332 |
-
#: inc/admin/ui/bulk.php:
|
333 |
msgid "Select Your Compression Level"
|
334 |
msgstr "Sélectionnez votre niveau de compression"
|
335 |
|
336 |
-
#: inc/admin/ui/bulk.php:
|
337 |
-
#: inc/admin/ui/options.php:
|
338 |
-
#: inc/admin/ui/options.php:
|
339 |
-
#: inc/admin/ui/options.php:
|
340 |
-
#: inc/functions/admin-ui.php:
|
341 |
msgid "Ultra"
|
342 |
msgstr "Ultra"
|
343 |
|
344 |
-
#: inc/admin/ui/bulk.php:
|
345 |
-
#: inc/admin/ui/options.php:
|
346 |
-
#: inc/admin/ui/options.php:
|
347 |
-
#: inc/admin/ui/options.php:
|
348 |
-
#: inc/functions/admin-ui.php:
|
349 |
msgid "Aggressive"
|
350 |
msgstr "Agressif"
|
351 |
|
352 |
-
#: inc/admin/ui/bulk.php:
|
353 |
-
#: inc/admin/ui/options.php:
|
354 |
-
#: inc/admin/ui/options.php:
|
355 |
-
#: inc/admin/ui/options.php:
|
356 |
-
#: inc/functions/admin-ui.php:
|
357 |
msgid "Normal"
|
358 |
msgstr "Normal"
|
359 |
|
360 |
-
#: inc/admin/ui/bulk.php:
|
361 |
-
|
362 |
-
|
|
|
363 |
|
364 |
-
#: inc/admin/ui/bulk.php:
|
365 |
#, php-format
|
366 |
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
367 |
msgstr ""
|
368 |
"N’oubliez pas de vérifier %svos réglages%s avant l’optimisation en masse."
|
369 |
|
370 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
371 |
msgid "Imagif'em all"
|
372 |
msgstr "Imagif'em all"
|
373 |
|
374 |
-
#: inc/admin/ui/bulk.php:
|
375 |
#, php-format
|
376 |
-
msgid "
|
|
|
377 |
msgstr ""
|
378 |
-
"Toutes les images
|
379 |
-
"
|
380 |
|
381 |
-
#: inc/admin/ui/bulk.php:
|
382 |
-
msgid "Overview"
|
383 |
-
msgstr "Vue d'ensemble"
|
384 |
-
|
385 |
-
#: inc/admin/ui/bulk.php:184
|
386 |
-
msgid "Statistics"
|
387 |
-
msgstr "Statistiques"
|
388 |
-
|
389 |
-
#: inc/admin/ui/bulk.php:196
|
390 |
-
msgid "that's the number of images you optimized with Imagify"
|
391 |
-
msgstr "c’est le nombre d’images que %svous avez optimisé avec Imagify"
|
392 |
-
|
393 |
-
#: inc/admin/ui/bulk.php:201
|
394 |
-
msgid "Original size"
|
395 |
-
msgstr "Poids de l’original"
|
396 |
-
|
397 |
-
#: inc/admin/ui/bulk.php:206
|
398 |
-
msgid "Optimized size"
|
399 |
-
msgstr "Poids optimisé"
|
400 |
-
|
401 |
-
#: inc/admin/ui/bulk.php:217
|
402 |
-
#, php-format
|
403 |
-
msgid "that's the size you saved %sby using Imagify"
|
404 |
-
msgstr "c’est le poids que vous avez économisé %sen utilisant Imagify"
|
405 |
-
|
406 |
-
#: inc/admin/ui/bulk.php:237
|
407 |
msgid "Well done!"
|
408 |
msgstr "Bien joué !"
|
409 |
|
410 |
-
#: inc/admin/ui/bulk.php:
|
411 |
#, php-format
|
412 |
msgid "you saved %1$s out of %2$s"
|
413 |
msgstr "vous avez économisé %1$s sur %2$s"
|
414 |
|
415 |
-
#: inc/admin/ui/bulk.php:
|
416 |
msgid "Share your awesome result"
|
417 |
msgstr "Partagez votre résultat"
|
418 |
|
419 |
-
#: inc/admin/ui/bulk.php:
|
420 |
msgid "Compression process results"
|
421 |
msgstr "Résultats du processus de compression"
|
422 |
|
423 |
-
#: inc/admin/ui/bulk.php:
|
424 |
msgid "Filename"
|
425 |
msgstr "Nom du fichier"
|
426 |
|
427 |
-
#: inc/admin/ui/bulk.php:
|
428 |
msgid "Status"
|
429 |
msgstr "Statut"
|
430 |
|
431 |
-
#: inc/admin/ui/bulk.php:
|
432 |
-
#: inc/admin/ui/options.php:
|
433 |
msgid "Original"
|
434 |
msgstr "Original"
|
435 |
|
436 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
437 |
msgid "Percentage"
|
438 |
msgstr "Pourcentage"
|
439 |
|
440 |
-
#: inc/admin/ui/bulk.php:
|
441 |
msgid "Thumbnails optimized"
|
442 |
msgstr "Miniatures optimisées"
|
443 |
|
444 |
-
#: inc/admin/ui/bulk.php:
|
445 |
msgid "Overall saving"
|
446 |
msgstr "Gain total"
|
447 |
|
448 |
-
#: inc/admin/ui/bulk.php:
|
449 |
msgid "file"
|
450 |
msgstr "fichier"
|
451 |
|
452 |
-
#: inc/admin/ui/bulk.php:
|
453 |
msgid "error"
|
454 |
msgstr "erreur"
|
455 |
|
456 |
-
#: inc/admin/ui/bulk.php:
|
457 |
msgid "Total:"
|
458 |
msgstr "Total :"
|
459 |
|
460 |
-
#: inc/admin/ui/bulk.php:
|
461 |
msgid "Gain:"
|
462 |
msgstr "Gain :"
|
463 |
|
464 |
-
#: inc/admin/ui/bulk.php:
|
465 |
#, php-format
|
466 |
msgid "%sStart the bulk optimization%s"
|
467 |
msgstr "%sDémarrer l’optimisation en masse%s"
|
@@ -525,7 +374,7 @@ msgstr ""
|
|
525 |
msgid "Go to Settings"
|
526 |
msgstr "Aller aux réglages"
|
527 |
|
528 |
-
#: inc/admin/ui/notices.php:85 inc/admin/ui/options.php:
|
529 |
msgid "Your API key isn't valid!"
|
530 |
msgstr "Votre clé API n’est pas valide !"
|
531 |
|
@@ -588,16 +437,26 @@ msgstr "Utilisez la vue liste pour optimiser vos images avec Imagify."
|
|
588 |
msgid "Switch to the List View"
|
589 |
msgstr "Basculer en vue liste"
|
590 |
|
591 |
-
#: inc/admin/ui/notices.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
msgid "Discover the best caching plugin to speed up your website."
|
593 |
msgstr "Découvrez le meilleur plugin de cache pour accélérer votre site."
|
594 |
|
595 |
-
#: inc/admin/ui/notices.php:309 inc/admin/ui/options.php:
|
596 |
#, php-format
|
597 |
msgid "%sGet %s off%s with this coupon code:%s"
|
598 |
msgstr "Obtenez %s%s%s de réduction avec le code promo :%s"
|
599 |
|
600 |
-
#: inc/admin/ui/notices.php:318 inc/admin/ui/options.php:
|
601 |
msgid "Get WP Rocket now"
|
602 |
msgstr "Je veux WP Rocket !"
|
603 |
|
@@ -610,7 +469,7 @@ msgstr ""
|
|
610 |
"%1$sFélicitations%2$s ! Vous avez optimisé %1$s%3$d images%2$s et améliorez le "
|
611 |
"temps de chargement de votre site en réduisant le poids de vos images."
|
612 |
|
613 |
-
#: inc/admin/ui/notices.php:356 inc/admin/ui/options.php:
|
614 |
#, php-format
|
615 |
msgid ""
|
616 |
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
@@ -619,61 +478,65 @@ msgstr ""
|
|
619 |
"%sVous aimez ce plugin ?%s Prenez quelques secondes pour le %snoter sur "
|
620 |
"WordPress.org%s !"
|
621 |
|
622 |
-
#: inc/admin/ui/options.php:
|
623 |
msgid "Is your website too slow?"
|
624 |
msgstr "Votre site est trop lent ?"
|
625 |
|
626 |
-
#: inc/admin/ui/options.php:
|
627 |
msgid "API Key"
|
628 |
msgstr "Clé API"
|
629 |
|
630 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
631 |
#, php-format
|
632 |
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
633 |
msgstr "Vous n’avez pas encore de clé API ? %sCréez en une, c’est GRATUIT%s."
|
634 |
|
635 |
-
#: inc/admin/ui/options.php:
|
636 |
msgid "Optimization Level"
|
637 |
msgstr "Niveau d’optimisation"
|
638 |
|
639 |
-
#: inc/admin/ui/options.php:
|
640 |
msgid "More info?"
|
641 |
msgstr "Plus d’infos ?"
|
642 |
|
643 |
-
#: inc/admin/ui/options.php:
|
644 |
#, php-format
|
645 |
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
646 |
msgstr "Besoin d’aide pour choisir? %sEssayer le comparateur visuel%s"
|
647 |
|
648 |
-
#: inc/admin/ui/options.php:
|
649 |
msgid "Auto-Optimize images on upload"
|
650 |
msgstr "Optimiser automatiquement les images envoyées"
|
651 |
|
652 |
-
#: inc/admin/ui/options.php:
|
653 |
msgid "Automatically optimize every image you upload to WordPress."
|
654 |
msgstr "Optimiser automatiquement chaque image que vous enverrez à WordPress."
|
655 |
|
656 |
-
#: inc/admin/ui/options.php:
|
657 |
msgid "Backup original images"
|
658 |
msgstr "Conserver une copie des images d'origine"
|
659 |
|
660 |
-
#: inc/admin/ui/options.php:
|
661 |
msgid ""
|
662 |
"Keep your original images in a separate folder before optimization process."
|
663 |
msgstr ""
|
664 |
"Garder vos images d’origine dans un dossier séparé avant le processus "
|
665 |
"d’optimisation."
|
666 |
|
667 |
-
#: inc/admin/ui/options.php:
|
668 |
msgid "Resize larger images"
|
669 |
msgstr "Redimensionner les images trop grandes"
|
670 |
|
671 |
-
#: inc/admin/ui/options.php:
|
672 |
#, php-format
|
673 |
msgid "to maximum %s pixels width"
|
674 |
msgstr "au maximum %s pixels de large"
|
675 |
|
676 |
-
#: inc/admin/ui/options.php:
|
677 |
#, php-format
|
678 |
msgid ""
|
679 |
"This option is recommended to reduce larger images. You can save up to 80%% "
|
@@ -685,11 +548,11 @@ msgstr ""
|
|
685 |
"largeur ne doit pas être inférieure à la plus grande largeur de vos miniatures "
|
686 |
"qui est actuellement de %spx."
|
687 |
|
688 |
-
#: inc/admin/ui/options.php:
|
689 |
msgid "EXIF Data"
|
690 |
msgstr "Données EXIF"
|
691 |
|
692 |
-
#: inc/admin/ui/options.php:
|
693 |
msgid ""
|
694 |
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
695 |
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
@@ -698,11 +561,11 @@ msgstr ""
|
|
698 |
"stockées dans vos photos comme l’ouverture de l’objectif, l’exposition, ISO, "
|
699 |
"etc …"
|
700 |
|
701 |
-
#: inc/admin/ui/options.php:
|
702 |
msgid "Learn more"
|
703 |
msgstr "En savoir plus"
|
704 |
|
705 |
-
#: inc/admin/ui/options.php:
|
706 |
msgid ""
|
707 |
"If you are a photographer, you may be interested in this option if you are "
|
708 |
"displaying on your pages some info like the model of your camera."
|
@@ -711,42 +574,46 @@ msgstr ""
|
|
711 |
"vous affichez quelques infos comme votre le modèle de votre appareil photo sur "
|
712 |
"vos pages."
|
713 |
|
714 |
-
#: inc/admin/ui/options.php:
|
715 |
msgid "Files optimization"
|
716 |
msgstr "Tailles à optimiser"
|
717 |
|
718 |
-
#: inc/admin/ui/options.php:
|
719 |
msgid ""
|
720 |
"You can choose to compress different image sizes created by WordPress here."
|
721 |
msgstr ""
|
722 |
"Vous pouvez choisir d’optimiser les différents formats générés par WordPress "
|
723 |
"ici."
|
724 |
|
725 |
-
#: inc/admin/ui/options.php:
|
726 |
#, php-format
|
727 |
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
728 |
msgstr "La %staille d’origine%s est %sautomatiquement optimisée%s par Imagify."
|
729 |
|
730 |
-
#: inc/admin/ui/options.php:
|
731 |
msgid ""
|
732 |
"Remember each additional image size will affect your Imagify monthly usage!"
|
733 |
msgstr ""
|
734 |
"Pour rappel, chaque format d’image additionnel affectera votre quota d’usage "
|
735 |
"mensuel d’Imagify."
|
736 |
|
737 |
-
#: inc/admin/ui/options.php:
|
738 |
msgid "Display options"
|
739 |
msgstr "Options d’affichage"
|
740 |
|
741 |
-
#: inc/admin/ui/options.php:
|
742 |
msgid "Show Admin Bar menu"
|
743 |
msgstr "Afficher le menu dans la barre d'administration"
|
744 |
|
745 |
-
#: inc/admin/ui/options.php:
|
746 |
msgid "I want this awesome quick access menu on my admin bar."
|
747 |
msgstr "Je veux ce menu d'accès rapide génial sur ma barre d'administration."
|
748 |
|
749 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
750 |
#, php-format
|
751 |
msgid ""
|
752 |
"Once your settings saved, optimize all your images by using the %sImagify Bulk "
|
@@ -755,11 +622,11 @@ msgstr ""
|
|
755 |
"Une fois vos paramètres enregistrés, optimisez toutes vos images en utilisant "
|
756 |
"la fonctionnalité d’%soptimisation en masse%s d’Imagify."
|
757 |
|
758 |
-
#: inc/admin/ui/options.php:
|
759 |
msgid "You can choose three levels of compression"
|
760 |
msgstr "Vous pouvez choisir entre trois niveaux de compression"
|
761 |
|
762 |
-
#: inc/admin/ui/options.php:
|
763 |
msgid ""
|
764 |
"This mode provides lossless optimization, your images will be optimized "
|
765 |
"without any visible change."
|
@@ -767,20 +634,20 @@ msgstr ""
|
|
767 |
"Ce niveau permet d'optimiser sans perte, vos images seront optimisées sans "
|
768 |
"aucun changement visible."
|
769 |
|
770 |
-
#: inc/admin/ui/options.php:
|
771 |
msgid ""
|
772 |
"If you want the perfect quality for your images, we recommend you that mode."
|
773 |
msgstr ""
|
774 |
"Si vous souhaitez des images d’une qualité parfaite, nous vous recommandons ce "
|
775 |
"niveau."
|
776 |
|
777 |
-
#: inc/admin/ui/options.php:
|
778 |
msgid "Note: the file size reduction will be less, compared to aggressive mode."
|
779 |
msgstr ""
|
780 |
"Remarque: la réduction du poids des images sera moins importante par rapport "
|
781 |
"au mode agressif."
|
782 |
|
783 |
-
#: inc/admin/ui/options.php:
|
784 |
msgid ""
|
785 |
"This mode provides perfect optimization of your images without any significant "
|
786 |
"quality loss."
|
@@ -788,7 +655,7 @@ msgstr ""
|
|
788 |
"Ce niveau permet une optimisation idéale de vos images sans perte de qualité "
|
789 |
"notable."
|
790 |
|
791 |
-
#: inc/admin/ui/options.php:
|
792 |
msgid ""
|
793 |
"This will provide a drastic savings on the initial weight, with a small "
|
794 |
"reduction in image quality. Most of the time it's not even noticeable."
|
@@ -796,20 +663,20 @@ msgstr ""
|
|
796 |
"Cela permettra une réduction importante du poids initial avec une légère perte "
|
797 |
"de la qualité d'image qui n’est pas perceptible à l’oeil humain."
|
798 |
|
799 |
-
#: inc/admin/ui/options.php:
|
800 |
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
801 |
msgstr ""
|
802 |
"Si vous souhaitez une réduction du poids plus performante, nous vous "
|
803 |
"recommandons ce niveau."
|
804 |
|
805 |
-
#: inc/admin/ui/options.php:
|
806 |
msgid ""
|
807 |
"This mode will apply all available optimizations for maximum image compression."
|
808 |
msgstr ""
|
809 |
"Ce niveau appliquera toutes les optimisations disponibles pour une compression "
|
810 |
"des images maximale."
|
811 |
|
812 |
-
#: inc/admin/ui/options.php:
|
813 |
msgid ""
|
814 |
"This will provide a huge savings on the initial weight. Sometimes the image "
|
815 |
"quality could be degraded a little."
|
@@ -817,7 +684,7 @@ msgstr ""
|
|
817 |
"Cela permettra de considérablement réduire le poids initial. Parfois, la "
|
818 |
"qualité de l’image pourra être légèrement dégradée."
|
819 |
|
820 |
-
#: inc/admin/ui/options.php:
|
821 |
msgid ""
|
822 |
"If you want the maximum weight reduction, and you agree to lose some quality "
|
823 |
"on the images we recommend using this mode."
|
@@ -825,41 +692,62 @@ msgstr ""
|
|
825 |
"Si vous souhaitez une réduction du poids optimale et que vous tolérez une "
|
826 |
"baisse de qualité sur vos images, nous vous recommandons ce niveau."
|
827 |
|
828 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
|
|
829 |
#, php-format
|
830 |
msgid "I want to compare%s and%s"
|
831 |
msgstr "Je veux comparer%s et%s"
|
832 |
|
833 |
-
#: inc/admin/ui/options.php:
|
834 |
#, php-format
|
835 |
msgid "Original photography about %s"
|
836 |
msgstr "Photographie originale, environ %s"
|
837 |
|
838 |
-
#: inc/admin/ui/options.php:
|
839 |
-
#: inc/admin/ui/options.php:
|
840 |
#, php-format
|
841 |
msgid "Optimized photography about %s"
|
842 |
msgstr "Photographie optimisée, environ %s"
|
843 |
|
844 |
-
#: inc/admin/ui/options.php:
|
845 |
-
#: inc/admin/ui/options.php:
|
846 |
-
#: inc/functions/admin-ui.php:
|
847 |
msgid "Level:"
|
848 |
msgstr "Niveau :"
|
849 |
|
850 |
-
#: inc/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
851 |
msgid "Errors"
|
852 |
msgstr "Erreurs"
|
853 |
|
854 |
-
#: inc/admin/upload.php:
|
855 |
msgid "Filter by status"
|
856 |
msgstr "Filtrer par statut"
|
857 |
|
858 |
-
#: inc/admin/upload.php:
|
859 |
msgid "All images"
|
860 |
msgstr "Toutes les images"
|
861 |
|
862 |
-
#: inc/classes/class-attachment.php:
|
863 |
msgid ""
|
864 |
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
865 |
"you want to optimize it."
|
@@ -876,50 +764,383 @@ msgstr "Notez Imagify sur %s"
|
|
876 |
msgid "Loading..."
|
877 |
msgstr "Chargement…"
|
878 |
|
879 |
-
#: inc/functions/admin-ui.php:
|
880 |
msgid "New Filesize:"
|
881 |
msgstr "Nouveau poids :"
|
882 |
|
883 |
-
#: inc/functions/admin-ui.php:
|
884 |
msgid "Close details"
|
885 |
msgstr "Fermer les détails"
|
886 |
|
887 |
-
#: inc/functions/admin-ui.php:
|
888 |
msgid "View details"
|
889 |
msgstr "Voir les détails"
|
890 |
|
891 |
-
#: inc/functions/admin-ui.php:
|
892 |
msgid "Original Filesize:"
|
893 |
msgstr "Poids de l’original :"
|
894 |
|
895 |
-
#: inc/functions/admin-ui.php:
|
896 |
msgid "Thumbnails Optimized:"
|
897 |
msgstr "Miniatures optimisées :"
|
898 |
|
899 |
-
#: inc/functions/admin-ui.php:
|
900 |
msgid "Overall Saving:"
|
901 |
msgstr "Gain total :"
|
902 |
|
903 |
-
#: inc/functions/admin-ui.php:
|
904 |
msgid "Restoring..."
|
905 |
msgstr "En restauration…"
|
906 |
|
907 |
-
#: inc/functions/admin-ui.php:
|
908 |
msgid "Try again"
|
909 |
msgstr "Réessayer"
|
910 |
|
911 |
-
#: inc/functions/admin-ui.php:
|
912 |
-
#: inc/functions/admin-ui.php:
|
913 |
#, php-format
|
914 |
msgid "Re-Optimize to %s"
|
915 |
msgstr "Réoptimiser en %s"
|
916 |
|
917 |
-
#: inc/functions/admin-ui.php:
|
918 |
#, php-format
|
919 |
msgid "%s can't be optimized"
|
920 |
msgstr "%s ne peut pas être optimisé"
|
921 |
|
922 |
-
#: inc/functions/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
923 |
msgid ""
|
924 |
"Sorry, our servers are temporarily unaccessible. Please, try again in a couple "
|
925 |
"of minutes."
|
@@ -927,25 +1148,25 @@ msgstr ""
|
|
927 |
"Désolé, nos serveurs sont temporairement inaccessibles. Nous vous recommandons "
|
928 |
"de ré-essayer dans quelques minutes."
|
929 |
|
930 |
-
#: inc/functions/process.php:
|
931 |
msgid "External HTTP requests are blocked"
|
932 |
msgstr "Les requêtes HTTP externes sont bloquées"
|
933 |
|
934 |
-
#: inc/functions/process.php:
|
935 |
msgid "File path is empty"
|
936 |
msgstr "Le chemin du fichier est vide"
|
937 |
|
938 |
-
#: inc/functions/process.php:
|
939 |
#, php-format
|
940 |
msgid "Could not find %s"
|
941 |
msgstr "Impossible de trouver %s"
|
942 |
|
943 |
-
#: inc/functions/process.php:
|
944 |
#, php-format
|
945 |
msgid "%s is not writable"
|
946 |
msgstr "%s n’est pas accessible en écriture"
|
947 |
|
948 |
-
#: inc/functions/process.php:
|
949 |
#, php-format
|
950 |
msgid "Skipped (%s), image not found."
|
951 |
msgstr "Ignoré (%s), image introuvable."
|
@@ -956,14 +1177,10 @@ msgstr "https://fr.wordpress.org/plugins/imagify/"
|
|
956 |
|
957 |
#. Description of the plugin/theme
|
958 |
msgid ""
|
959 |
-
"Dramaticaly reduce image file sizes without
|
960 |
"load faster, boost your SEO and save money on your bandwith using Imagify, the "
|
961 |
"new most advanced image optimization tool."
|
962 |
msgstr ""
|
963 |
-
"Réduisez drastiquement le poids de vos images sans perte de qualité, accélérez "
|
964 |
-
"la rapidité de votre site, boostez votre SEO et économisez de l’argent sur "
|
965 |
-
"votre bande passante en utilisant Imagify, le nouvel outil le plus avancé "
|
966 |
-
"d’optimisation des images."
|
967 |
|
968 |
#. Author of the plugin/theme
|
969 |
msgid "WP Media"
|
@@ -973,6 +1190,41 @@ msgstr ""
|
|
973 |
msgid "http://wp-media.me"
|
974 |
msgstr ""
|
975 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
976 |
#~ msgid ""
|
977 |
#~ "%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and "
|
978 |
#~ "improved your website's by reducing your images size."
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Imagify\n"
|
4 |
+
"POT-Creation-Date: 2016-04-18 15:16+0200\n"
|
5 |
+
"PO-Revision-Date: 2016-04-18 15:17+0200\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: fr_FR\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
|
23 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:20 inc/admin/ajax.php:123
|
24 |
+
#: inc/admin/meta-boxes.php:34 inc/functions/admin-ui.php:212
|
25 |
+
#: inc/functions/i18n.php:46 inc/functions/i18n.php:61
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
msgid "Optimize"
|
27 |
msgstr "Optimiser"
|
28 |
|
29 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:21
|
30 |
+
#: inc/functions/admin-ui.php:80 inc/functions/i18n.php:47
|
31 |
+
msgid "Restore Original"
|
32 |
+
msgstr "Restaurer l’original"
|
33 |
+
|
34 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/menu.php:16 inc/admin/menu.php:24
|
35 |
+
#: inc/admin/plugins.php:13 inc/admin/ui/bulk.php:81 inc/common/admin-bar.php:39
|
36 |
+
msgid "Bulk Optimization"
|
37 |
+
msgstr "Optimisation en masse"
|
38 |
+
|
39 |
+
#: inc/admin/ajax.php:123 inc/admin/meta-boxes.php:29
|
40 |
+
#: inc/functions/admin-ui.php:121 inc/functions/admin-ui.php:153
|
41 |
+
#: inc/functions/admin-ui.php:159 inc/functions/admin-ui.php:165
|
42 |
+
#: inc/functions/admin-ui.php:202 inc/functions/admin-ui.php:212
|
43 |
+
msgid "Optimizing..."
|
44 |
+
msgstr "En cours d’optimisation…"
|
45 |
+
|
46 |
+
#: inc/admin/ajax.php:503
|
47 |
msgid "Oops, It's almost over!"
|
48 |
msgstr "Oups, c’est bientôt fini !"
|
49 |
|
50 |
+
#: inc/admin/ajax.php:504
|
51 |
#, php-format
|
52 |
msgid ""
|
53 |
"You have almost used all your credit.%sDon't forget to upgrade your "
|
56 |
"Vous avez bientôt utilisé tout votre crédit.%sN’oubliez pas de mettre à niveau "
|
57 |
"votre abonnement pour continuer à optimiser vos images."
|
58 |
|
59 |
+
#: inc/admin/ajax.php:505 inc/admin/ui/bulk.php:23
|
60 |
msgid "View My Subscription"
|
61 |
msgstr "Voir mon abonnement"
|
62 |
|
63 |
+
#: inc/admin/ajax.php:513 inc/admin/ui/notices.php:251 inc/functions/i18n.php:80
|
64 |
msgid "Oops, It's Over!"
|
65 |
msgstr "Oups, c’est fini !"
|
66 |
|
67 |
+
#: inc/admin/ajax.php:514 inc/admin/ui/notices.php:253 inc/functions/i18n.php:97
|
68 |
#, php-format
|
69 |
msgid ""
|
70 |
"You have consumed all your credit for this month. You will have <strong>%s "
|
73 |
"Vous avez consommé tout votre crédit pour ce mois. Vous aurez à nouveau "
|
74 |
"<strong>%s le %s</strong>."
|
75 |
|
76 |
+
#: inc/admin/ajax.php:515
|
77 |
msgid "Upgrade My Subscription"
|
78 |
msgstr "Mettre à niveau mon abonnement"
|
79 |
|
80 |
+
#: inc/admin/ajax.php:534 inc/admin/ui/bulk.php:17
|
81 |
msgid "Account status"
|
82 |
msgstr "Type de compte"
|
83 |
|
84 |
+
#: inc/admin/ajax.php:535 inc/admin/ui/bulk.php:18
|
85 |
msgid "Your subscription:"
|
86 |
msgstr "Votre abonnement :"
|
87 |
|
88 |
+
#: inc/admin/ajax.php:543 inc/admin/ui/bulk.php:48
|
89 |
#, php-format
|
90 |
msgid "You have %s space credit left"
|
91 |
msgstr "Il vous reste %s de crédit"
|
92 |
|
93 |
+
#: inc/admin/ajax.php:555
|
94 |
msgid "View my subscription"
|
95 |
msgstr "Voir mon abonnement"
|
96 |
|
97 |
+
#: inc/admin/media.php:63 inc/functions/i18n.php:57
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
msgid "Compare Original VS Optimized"
|
99 |
msgstr "Comparer Originale VS Optimisée"
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
#. Plugin Name of the plugin/theme
|
102 |
#: inc/admin/meta-boxes.php:17 inc/admin/meta-boxes.php:24
|
103 |
+
#: inc/admin/upload.php:12
|
104 |
msgid "Imagify"
|
105 |
msgstr "Imagify"
|
106 |
|
107 |
+
#: inc/admin/meta-boxes.php:19 inc/functions/admin-ui.php:195
|
108 |
msgid "Invalid API key"
|
109 |
msgstr "Clé API invalide"
|
110 |
|
111 |
+
#: inc/admin/meta-boxes.php:21 inc/functions/admin-ui.php:197
|
112 |
msgid "Check your Settings"
|
113 |
msgstr "Vérifiez vos réglages"
|
114 |
|
115 |
+
#: inc/admin/options.php:120
|
116 |
msgid "Cheatin’ uh?"
|
117 |
msgstr "Cheatin’ uh?"
|
118 |
|
119 |
+
#: inc/admin/options.php:128
|
120 |
msgid "<strong>ERROR</strong>: options page not found."
|
121 |
msgstr "<strong>Erreur</strong> : page d’options introuvable."
|
122 |
|
123 |
+
#: inc/admin/plugins.php:14 inc/admin/ui/options.php:74
|
124 |
#: inc/common/admin-bar.php:30
|
125 |
msgid "Settings"
|
126 |
msgstr "Réglages"
|
133 |
msgid "More info"
|
134 |
msgstr "Plus d’infos"
|
135 |
|
136 |
+
#: inc/admin/ui/bulk.php:91
|
137 |
+
msgid "Overview"
|
138 |
+
msgstr "Vue d'ensemble"
|
139 |
+
|
140 |
+
#: inc/admin/ui/bulk.php:99
|
141 |
+
#, php-format
|
142 |
+
msgid "You optimized %s images of your website"
|
143 |
+
msgstr "Vous avez optimisé %s des images de votre site"
|
144 |
+
|
145 |
+
#: inc/admin/ui/bulk.php:103
|
146 |
+
msgid "Statistics"
|
147 |
+
msgstr "Statistiques"
|
148 |
+
|
149 |
+
#: inc/admin/ui/bulk.php:115
|
150 |
+
msgid "that's the number of images you optimized with Imagify"
|
151 |
+
msgstr "c’est le nombre d’images que %svous avez optimisé avec Imagify"
|
152 |
+
|
153 |
+
#: inc/admin/ui/bulk.php:120
|
154 |
+
msgid "Original size"
|
155 |
+
msgstr "Poids de l’original"
|
156 |
+
|
157 |
+
#: inc/admin/ui/bulk.php:125
|
158 |
+
msgid "Optimized size"
|
159 |
+
msgstr "Poids optimisé"
|
160 |
+
|
161 |
+
#: inc/admin/ui/bulk.php:136
|
162 |
+
#, php-format
|
163 |
+
msgid "that's the size you saved %sby using Imagify"
|
164 |
+
msgstr "c’est le poids que vous avez économisé %sen utilisant Imagify"
|
165 |
+
|
166 |
+
#: inc/admin/ui/bulk.php:142
|
167 |
msgid "Information"
|
168 |
msgstr "Informations"
|
169 |
|
170 |
+
#: inc/admin/ui/bulk.php:146
|
171 |
msgid ""
|
172 |
"Please be aware that optimizing a large number of images can take a while "
|
173 |
"depending on your server and network speed."
|
175 |
"Prenez conscience que l’optimisation d’un grand nombre d’images peut prendre "
|
176 |
"du temps en fonction de la rapidité de votre serveur et de votre connexion."
|
177 |
|
178 |
+
#: inc/admin/ui/bulk.php:149
|
179 |
#, php-format
|
180 |
msgid ""
|
181 |
"If you have more than %s images, you will need to launch the bulk optimization "
|
184 |
"Si vous avez plus de %s images, vous devrez lancer l’optimisation en masse "
|
185 |
"plusieurs fois."
|
186 |
|
187 |
+
#: inc/admin/ui/bulk.php:153
|
188 |
msgid ""
|
189 |
"You must keep this page open while the bulk optimizaton is processing. If you "
|
190 |
"leave you can come back to continue where it left off."
|
193 |
"en cours. Si vous la quittez, vous pouvez revenir pour continuer là où vous en "
|
194 |
"étiez."
|
195 |
|
196 |
+
#: inc/admin/ui/bulk.php:164
|
197 |
msgid "Select Your Compression Level"
|
198 |
msgstr "Sélectionnez votre niveau de compression"
|
199 |
|
200 |
+
#: inc/admin/ui/bulk.php:166 inc/admin/ui/bulk.php:192
|
201 |
+
#: inc/admin/ui/options.php:136 inc/admin/ui/options.php:365
|
202 |
+
#: inc/admin/ui/options.php:404 inc/admin/ui/options.php:421
|
203 |
+
#: inc/admin/ui/options.php:481 inc/classes/abstracts/abstract-attachment.php:114
|
204 |
+
#: inc/functions/admin-ui.php:153
|
205 |
msgid "Ultra"
|
206 |
msgstr "Ultra"
|
207 |
|
208 |
+
#: inc/admin/ui/bulk.php:169 inc/admin/ui/bulk.php:187
|
209 |
+
#: inc/admin/ui/options.php:131 inc/admin/ui/options.php:352
|
210 |
+
#: inc/admin/ui/options.php:403 inc/admin/ui/options.php:416
|
211 |
+
#: inc/admin/ui/options.php:460 inc/classes/abstracts/abstract-attachment.php:117
|
212 |
+
#: inc/functions/admin-ui.php:159
|
213 |
msgid "Aggressive"
|
214 |
msgstr "Agressif"
|
215 |
|
216 |
+
#: inc/admin/ui/bulk.php:172 inc/admin/ui/bulk.php:182
|
217 |
+
#: inc/admin/ui/options.php:126 inc/admin/ui/options.php:339
|
218 |
+
#: inc/admin/ui/options.php:402 inc/admin/ui/options.php:411
|
219 |
+
#: inc/admin/ui/options.php:440 inc/classes/abstracts/abstract-attachment.php:120
|
220 |
+
#: inc/functions/admin-ui.php:165
|
221 |
msgid "Normal"
|
222 |
msgstr "Normal"
|
223 |
|
224 |
+
#: inc/admin/ui/bulk.php:176
|
225 |
+
#, php-format
|
226 |
+
msgid "Your default setting: %s"
|
227 |
+
msgstr "Votre réglage par défaut : %s"
|
228 |
|
229 |
+
#: inc/admin/ui/bulk.php:201
|
230 |
#, php-format
|
231 |
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
232 |
msgstr ""
|
233 |
"N’oubliez pas de vérifier %svos réglages%s avant l’optimisation en masse."
|
234 |
|
235 |
+
#: inc/admin/ui/bulk.php:208
|
236 |
+
msgid "Let's go!"
|
237 |
+
msgstr "C’est parti !"
|
238 |
+
|
239 |
+
#: inc/admin/ui/bulk.php:215
|
240 |
msgid "Imagif'em all"
|
241 |
msgstr "Imagif'em all"
|
242 |
|
243 |
+
#: inc/admin/ui/bulk.php:220
|
244 |
#, php-format
|
245 |
+
msgid ""
|
246 |
+
"All images greater than %s will be optimized when using a paying monthly plan."
|
247 |
msgstr ""
|
248 |
+
"Toutes les images de plus de %s seront optimisées lors de l'utilisation d'un "
|
249 |
+
"abonnement mensuel payant."
|
250 |
|
251 |
+
#: inc/admin/ui/bulk.php:239
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
msgid "Well done!"
|
253 |
msgstr "Bien joué !"
|
254 |
|
255 |
+
#: inc/admin/ui/bulk.php:240
|
256 |
#, php-format
|
257 |
msgid "you saved %1$s out of %2$s"
|
258 |
msgstr "vous avez économisé %1$s sur %2$s"
|
259 |
|
260 |
+
#: inc/admin/ui/bulk.php:245
|
261 |
msgid "Share your awesome result"
|
262 |
msgstr "Partagez votre résultat"
|
263 |
|
264 |
+
#: inc/admin/ui/bulk.php:260
|
265 |
msgid "Compression process results"
|
266 |
msgstr "Résultats du processus de compression"
|
267 |
|
268 |
+
#: inc/admin/ui/bulk.php:263
|
269 |
msgid "Filename"
|
270 |
msgstr "Nom du fichier"
|
271 |
|
272 |
+
#: inc/admin/ui/bulk.php:264
|
273 |
msgid "Status"
|
274 |
msgstr "Statut"
|
275 |
|
276 |
+
#: inc/admin/ui/bulk.php:265 inc/admin/ui/options.php:401
|
277 |
+
#: inc/admin/ui/options.php:406 inc/admin/ui/options.php:430
|
278 |
msgid "Original"
|
279 |
msgstr "Original"
|
280 |
|
281 |
+
#: inc/admin/ui/bulk.php:266 inc/admin/upload.php:41 inc/functions/i18n.php:76
|
282 |
+
msgid "Optimized"
|
283 |
+
msgstr "Optimisées"
|
284 |
+
|
285 |
+
#: inc/admin/ui/bulk.php:267
|
286 |
msgid "Percentage"
|
287 |
msgstr "Pourcentage"
|
288 |
|
289 |
+
#: inc/admin/ui/bulk.php:268
|
290 |
msgid "Thumbnails optimized"
|
291 |
msgstr "Miniatures optimisées"
|
292 |
|
293 |
+
#: inc/admin/ui/bulk.php:269
|
294 |
msgid "Overall saving"
|
295 |
msgstr "Gain total"
|
296 |
|
297 |
+
#: inc/admin/ui/bulk.php:274
|
298 |
msgid "file"
|
299 |
msgstr "fichier"
|
300 |
|
301 |
+
#: inc/admin/ui/bulk.php:275
|
302 |
msgid "error"
|
303 |
msgstr "erreur"
|
304 |
|
305 |
+
#: inc/admin/ui/bulk.php:276
|
306 |
msgid "Total:"
|
307 |
msgstr "Total :"
|
308 |
|
309 |
+
#: inc/admin/ui/bulk.php:277
|
310 |
msgid "Gain:"
|
311 |
msgstr "Gain :"
|
312 |
|
313 |
+
#: inc/admin/ui/bulk.php:294
|
314 |
#, php-format
|
315 |
msgid "%sStart the bulk optimization%s"
|
316 |
msgstr "%sDémarrer l’optimisation en masse%s"
|
374 |
msgid "Go to Settings"
|
375 |
msgstr "Aller aux réglages"
|
376 |
|
377 |
+
#: inc/admin/ui/notices.php:85 inc/admin/ui/options.php:97
|
378 |
msgid "Your API key isn't valid!"
|
379 |
msgstr "Votre clé API n’est pas valide !"
|
380 |
|
437 |
msgid "Switch to the List View"
|
438 |
msgstr "Basculer en vue liste"
|
439 |
|
440 |
+
#: inc/admin/ui/notices.php:253 inc/functions/i18n.php:94
|
441 |
+
#: inc/functions/i18n.php:97
|
442 |
+
#, php-format
|
443 |
+
msgid ""
|
444 |
+
"To continue to optimize your images, log in to your Imagify account to %sbuy a "
|
445 |
+
"pack or subscribe to a plan%s."
|
446 |
+
msgstr ""
|
447 |
+
"Pour continuer à optimiser vos images, connectez-vous à votre compte Imagify "
|
448 |
+
"pour %sacheter un pack ou souscrire à un plan%s."
|
449 |
+
|
450 |
+
#: inc/admin/ui/notices.php:306 inc/admin/ui/options.php:28
|
451 |
msgid "Discover the best caching plugin to speed up your website."
|
452 |
msgstr "Découvrez le meilleur plugin de cache pour accélérer votre site."
|
453 |
|
454 |
+
#: inc/admin/ui/notices.php:309 inc/admin/ui/options.php:36
|
455 |
#, php-format
|
456 |
msgid "%sGet %s off%s with this coupon code:%s"
|
457 |
msgstr "Obtenez %s%s%s de réduction avec le code promo :%s"
|
458 |
|
459 |
+
#: inc/admin/ui/notices.php:318 inc/admin/ui/options.php:41
|
460 |
msgid "Get WP Rocket now"
|
461 |
msgstr "Je veux WP Rocket !"
|
462 |
|
469 |
"%1$sFélicitations%2$s ! Vous avez optimisé %1$s%3$d images%2$s et améliorez le "
|
470 |
"temps de chargement de votre site en réduisant le poids de vos images."
|
471 |
|
472 |
+
#: inc/admin/ui/notices.php:356 inc/admin/ui/options.php:59
|
473 |
#, php-format
|
474 |
msgid ""
|
475 |
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
478 |
"%sVous aimez ce plugin ?%s Prenez quelques secondes pour le %snoter sur "
|
479 |
"WordPress.org%s !"
|
480 |
|
481 |
+
#: inc/admin/ui/options.php:22
|
482 |
msgid "Is your website too slow?"
|
483 |
msgstr "Votre site est trop lent ?"
|
484 |
|
485 |
+
#: inc/admin/ui/options.php:84
|
486 |
msgid "API Key"
|
487 |
msgstr "Clé API"
|
488 |
|
489 |
+
#: inc/admin/ui/options.php:91 inc/functions/i18n.php:31
|
490 |
+
msgid "Your API key is valid."
|
491 |
+
msgstr "Votre clé API est valide."
|
492 |
+
|
493 |
+
#: inc/admin/ui/options.php:104
|
494 |
#, php-format
|
495 |
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
496 |
msgstr "Vous n’avez pas encore de clé API ? %sCréez en une, c’est GRATUIT%s."
|
497 |
|
498 |
+
#: inc/admin/ui/options.php:121
|
499 |
msgid "Optimization Level"
|
500 |
msgstr "Niveau d’optimisation"
|
501 |
|
502 |
+
#: inc/admin/ui/options.php:141
|
503 |
msgid "More info?"
|
504 |
msgstr "Plus d’infos ?"
|
505 |
|
506 |
+
#: inc/admin/ui/options.php:148
|
507 |
#, php-format
|
508 |
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
509 |
msgstr "Besoin d’aide pour choisir? %sEssayer le comparateur visuel%s"
|
510 |
|
511 |
+
#: inc/admin/ui/options.php:157 inc/admin/ui/options.php:161
|
512 |
msgid "Auto-Optimize images on upload"
|
513 |
msgstr "Optimiser automatiquement les images envoyées"
|
514 |
|
515 |
+
#: inc/admin/ui/options.php:165
|
516 |
msgid "Automatically optimize every image you upload to WordPress."
|
517 |
msgstr "Optimiser automatiquement chaque image que vous enverrez à WordPress."
|
518 |
|
519 |
+
#: inc/admin/ui/options.php:170 inc/admin/ui/options.php:173
|
520 |
msgid "Backup original images"
|
521 |
msgstr "Conserver une copie des images d'origine"
|
522 |
|
523 |
+
#: inc/admin/ui/options.php:177
|
524 |
msgid ""
|
525 |
"Keep your original images in a separate folder before optimization process."
|
526 |
msgstr ""
|
527 |
"Garder vos images d’origine dans un dossier séparé avant le processus "
|
528 |
"d’optimisation."
|
529 |
|
530 |
+
#: inc/admin/ui/options.php:182 inc/admin/ui/options.php:185
|
531 |
msgid "Resize larger images"
|
532 |
msgstr "Redimensionner les images trop grandes"
|
533 |
|
534 |
+
#: inc/admin/ui/options.php:191
|
535 |
#, php-format
|
536 |
msgid "to maximum %s pixels width"
|
537 |
msgstr "au maximum %s pixels de large"
|
538 |
|
539 |
+
#: inc/admin/ui/options.php:202
|
540 |
#, php-format
|
541 |
msgid ""
|
542 |
"This option is recommended to reduce larger images. You can save up to 80%% "
|
548 |
"largeur ne doit pas être inférieure à la plus grande largeur de vos miniatures "
|
549 |
"qui est actuellement de %spx."
|
550 |
|
551 |
+
#: inc/admin/ui/options.php:209 inc/admin/ui/options.php:212
|
552 |
msgid "EXIF Data"
|
553 |
msgstr "Données EXIF"
|
554 |
|
555 |
+
#: inc/admin/ui/options.php:216
|
556 |
msgid ""
|
557 |
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
558 |
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
561 |
"stockées dans vos photos comme l’ouverture de l’objectif, l’exposition, ISO, "
|
562 |
"etc …"
|
563 |
|
564 |
+
#: inc/admin/ui/options.php:217
|
565 |
msgid "Learn more"
|
566 |
msgstr "En savoir plus"
|
567 |
|
568 |
+
#: inc/admin/ui/options.php:219
|
569 |
msgid ""
|
570 |
"If you are a photographer, you may be interested in this option if you are "
|
571 |
"displaying on your pages some info like the model of your camera."
|
574 |
"vous affichez quelques infos comme votre le modèle de votre appareil photo sur "
|
575 |
"vos pages."
|
576 |
|
577 |
+
#: inc/admin/ui/options.php:228
|
578 |
msgid "Files optimization"
|
579 |
msgstr "Tailles à optimiser"
|
580 |
|
581 |
+
#: inc/admin/ui/options.php:231
|
582 |
msgid ""
|
583 |
"You can choose to compress different image sizes created by WordPress here."
|
584 |
msgstr ""
|
585 |
"Vous pouvez choisir d’optimiser les différents formats générés par WordPress "
|
586 |
"ici."
|
587 |
|
588 |
+
#: inc/admin/ui/options.php:233
|
589 |
#, php-format
|
590 |
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
591 |
msgstr "La %staille d’origine%s est %sautomatiquement optimisée%s par Imagify."
|
592 |
|
593 |
+
#: inc/admin/ui/options.php:236
|
594 |
msgid ""
|
595 |
"Remember each additional image size will affect your Imagify monthly usage!"
|
596 |
msgstr ""
|
597 |
"Pour rappel, chaque format d’image additionnel affectera votre quota d’usage "
|
598 |
"mensuel d’Imagify."
|
599 |
|
600 |
+
#: inc/admin/ui/options.php:289
|
601 |
msgid "Display options"
|
602 |
msgstr "Options d’affichage"
|
603 |
|
604 |
+
#: inc/admin/ui/options.php:294 inc/admin/ui/options.php:299
|
605 |
msgid "Show Admin Bar menu"
|
606 |
msgstr "Afficher le menu dans la barre d'administration"
|
607 |
|
608 |
+
#: inc/admin/ui/options.php:300
|
609 |
msgid "I want this awesome quick access menu on my admin bar."
|
610 |
msgstr "Je veux ce menu d'accès rapide génial sur ma barre d'administration."
|
611 |
|
612 |
+
#: inc/admin/ui/options.php:319
|
613 |
+
msgid "Save & Go to Bulk Optimizer"
|
614 |
+
msgstr "Enregistrer & Aller à l’optimisation en masse"
|
615 |
+
|
616 |
+
#: inc/admin/ui/options.php:328
|
617 |
#, php-format
|
618 |
msgid ""
|
619 |
"Once your settings saved, optimize all your images by using the %sImagify Bulk "
|
622 |
"Une fois vos paramètres enregistrés, optimisez toutes vos images en utilisant "
|
623 |
"la fonctionnalité d’%soptimisation en masse%s d’Imagify."
|
624 |
|
625 |
+
#: inc/admin/ui/options.php:336
|
626 |
msgid "You can choose three levels of compression"
|
627 |
msgstr "Vous pouvez choisir entre trois niveaux de compression"
|
628 |
|
629 |
+
#: inc/admin/ui/options.php:341
|
630 |
msgid ""
|
631 |
"This mode provides lossless optimization, your images will be optimized "
|
632 |
"without any visible change."
|
634 |
"Ce niveau permet d'optimiser sans perte, vos images seront optimisées sans "
|
635 |
"aucun changement visible."
|
636 |
|
637 |
+
#: inc/admin/ui/options.php:344
|
638 |
msgid ""
|
639 |
"If you want the perfect quality for your images, we recommend you that mode."
|
640 |
msgstr ""
|
641 |
"Si vous souhaitez des images d’une qualité parfaite, nous vous recommandons ce "
|
642 |
"niveau."
|
643 |
|
644 |
+
#: inc/admin/ui/options.php:347
|
645 |
msgid "Note: the file size reduction will be less, compared to aggressive mode."
|
646 |
msgstr ""
|
647 |
"Remarque: la réduction du poids des images sera moins importante par rapport "
|
648 |
"au mode agressif."
|
649 |
|
650 |
+
#: inc/admin/ui/options.php:354
|
651 |
msgid ""
|
652 |
"This mode provides perfect optimization of your images without any significant "
|
653 |
"quality loss."
|
655 |
"Ce niveau permet une optimisation idéale de vos images sans perte de qualité "
|
656 |
"notable."
|
657 |
|
658 |
+
#: inc/admin/ui/options.php:357
|
659 |
msgid ""
|
660 |
"This will provide a drastic savings on the initial weight, with a small "
|
661 |
"reduction in image quality. Most of the time it's not even noticeable."
|
663 |
"Cela permettra une réduction importante du poids initial avec une légère perte "
|
664 |
"de la qualité d'image qui n’est pas perceptible à l’oeil humain."
|
665 |
|
666 |
+
#: inc/admin/ui/options.php:360
|
667 |
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
668 |
msgstr ""
|
669 |
"Si vous souhaitez une réduction du poids plus performante, nous vous "
|
670 |
"recommandons ce niveau."
|
671 |
|
672 |
+
#: inc/admin/ui/options.php:367
|
673 |
msgid ""
|
674 |
"This mode will apply all available optimizations for maximum image compression."
|
675 |
msgstr ""
|
676 |
"Ce niveau appliquera toutes les optimisations disponibles pour une compression "
|
677 |
"des images maximale."
|
678 |
|
679 |
+
#: inc/admin/ui/options.php:370
|
680 |
msgid ""
|
681 |
"This will provide a huge savings on the initial weight. Sometimes the image "
|
682 |
"quality could be degraded a little."
|
684 |
"Cela permettra de considérablement réduire le poids initial. Parfois, la "
|
685 |
"qualité de l’image pourra être légèrement dégradée."
|
686 |
|
687 |
+
#: inc/admin/ui/options.php:373
|
688 |
msgid ""
|
689 |
"If you want the maximum weight reduction, and you agree to lose some quality "
|
690 |
"on the images we recommend using this mode."
|
692 |
"Si vous souhaitez une réduction du poids optimale et que vous tolérez une "
|
693 |
"baisse de qualité sur vos images, nous vous recommandons ce niveau."
|
694 |
|
695 |
+
#: inc/admin/ui/options.php:380 inc/admin/ui/options.php:502
|
696 |
+
#: inc/functions/admin-ui.php:659 inc/functions/i18n.php:58
|
697 |
+
msgid "Close"
|
698 |
+
msgstr "Fermer"
|
699 |
+
|
700 |
+
#: inc/admin/ui/options.php:392
|
701 |
#, php-format
|
702 |
msgid "I want to compare%s and%s"
|
703 |
msgstr "Je veux comparer%s et%s"
|
704 |
|
705 |
+
#: inc/admin/ui/options.php:409
|
706 |
#, php-format
|
707 |
msgid "Original photography about %s"
|
708 |
msgstr "Photographie originale, environ %s"
|
709 |
|
710 |
+
#: inc/admin/ui/options.php:414 inc/admin/ui/options.php:419
|
711 |
+
#: inc/admin/ui/options.php:424
|
712 |
#, php-format
|
713 |
msgid "Optimized photography about %s"
|
714 |
msgstr "Photographie optimisée, environ %s"
|
715 |
|
716 |
+
#: inc/admin/ui/options.php:429 inc/admin/ui/options.php:439
|
717 |
+
#: inc/admin/ui/options.php:459 inc/admin/ui/options.php:480
|
718 |
+
#: inc/functions/admin-ui.php:59
|
719 |
msgid "Level:"
|
720 |
msgstr "Niveau :"
|
721 |
|
722 |
+
#: inc/admin/ui/options.php:433 inc/admin/ui/options.php:443
|
723 |
+
#: inc/admin/ui/options.php:463 inc/admin/ui/options.php:484
|
724 |
+
#: inc/functions/i18n.php:59
|
725 |
+
msgid "File Size:"
|
726 |
+
msgstr "Poids du fichier:"
|
727 |
+
|
728 |
+
#: inc/admin/ui/options.php:447 inc/admin/ui/options.php:467
|
729 |
+
#: inc/admin/ui/options.php:488 inc/functions/admin-ui.php:45
|
730 |
+
#: inc/functions/i18n.php:60
|
731 |
+
msgid "Original Saving:"
|
732 |
+
msgstr "Gain sur l’original :"
|
733 |
+
|
734 |
+
#: inc/admin/upload.php:42 inc/functions/i18n.php:77
|
735 |
+
msgid "Unoptimized"
|
736 |
+
msgstr "Non optimisées"
|
737 |
+
|
738 |
+
#: inc/admin/upload.php:43
|
739 |
msgid "Errors"
|
740 |
msgstr "Erreurs"
|
741 |
|
742 |
+
#: inc/admin/upload.php:46
|
743 |
msgid "Filter by status"
|
744 |
msgstr "Filtrer par statut"
|
745 |
|
746 |
+
#: inc/admin/upload.php:49
|
747 |
msgid "All images"
|
748 |
msgstr "Toutes les images"
|
749 |
|
750 |
+
#: inc/classes/class-attachment.php:266
|
751 |
msgid ""
|
752 |
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
753 |
"you want to optimize it."
|
764 |
msgid "Loading..."
|
765 |
msgstr "Chargement…"
|
766 |
|
767 |
+
#: inc/functions/admin-ui.php:36
|
768 |
msgid "New Filesize:"
|
769 |
msgstr "Nouveau poids :"
|
770 |
|
771 |
+
#: inc/functions/admin-ui.php:52
|
772 |
msgid "Close details"
|
773 |
msgstr "Fermer les détails"
|
774 |
|
775 |
+
#: inc/functions/admin-ui.php:52
|
776 |
msgid "View details"
|
777 |
msgstr "Voir les détails"
|
778 |
|
779 |
+
#: inc/functions/admin-ui.php:56
|
780 |
msgid "Original Filesize:"
|
781 |
msgstr "Poids de l’original :"
|
782 |
|
783 |
+
#: inc/functions/admin-ui.php:62
|
784 |
msgid "Thumbnails Optimized:"
|
785 |
msgstr "Miniatures optimisées :"
|
786 |
|
787 |
+
#: inc/functions/admin-ui.php:63
|
788 |
msgid "Overall Saving:"
|
789 |
msgstr "Gain total :"
|
790 |
|
791 |
+
#: inc/functions/admin-ui.php:80
|
792 |
msgid "Restoring..."
|
793 |
msgstr "En restauration…"
|
794 |
|
795 |
+
#: inc/functions/admin-ui.php:121
|
796 |
msgid "Try again"
|
797 |
msgstr "Réessayer"
|
798 |
|
799 |
+
#: inc/functions/admin-ui.php:153 inc/functions/admin-ui.php:159
|
800 |
+
#: inc/functions/admin-ui.php:165
|
801 |
#, php-format
|
802 |
msgid "Re-Optimize to %s"
|
803 |
msgstr "Réoptimiser en %s"
|
804 |
|
805 |
+
#: inc/functions/admin-ui.php:189
|
806 |
#, php-format
|
807 |
msgid "%s can't be optimized"
|
808 |
msgstr "%s ne peut pas être optimisé"
|
809 |
|
810 |
+
#: inc/functions/admin-ui.php:237
|
811 |
+
msgid "What plan do I need?"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: inc/functions/admin-ui.php:241
|
815 |
+
msgid "You're new to Imagify?"
|
816 |
+
msgstr ""
|
817 |
+
|
818 |
+
#: inc/functions/admin-ui.php:242
|
819 |
+
msgid ""
|
820 |
+
"Let us help you by analyzing your existing images and determinate the best "
|
821 |
+
"plan for you"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: inc/functions/admin-ui.php:277
|
825 |
+
msgid "Choose Plan"
|
826 |
+
msgstr ""
|
827 |
+
|
828 |
+
#: inc/functions/admin-ui.php:278
|
829 |
+
msgid "Payment Info"
|
830 |
+
msgstr ""
|
831 |
+
|
832 |
+
#: inc/functions/admin-ui.php:283
|
833 |
+
msgid "We analysed your images"
|
834 |
+
msgstr ""
|
835 |
+
|
836 |
+
#: inc/functions/admin-ui.php:289
|
837 |
+
#, php-format
|
838 |
+
msgid "You have %s images"
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: inc/functions/admin-ui.php:295
|
842 |
+
#, php-format
|
843 |
+
msgid "You actually have %s of images in your library."
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
+
#: inc/functions/admin-ui.php:299
|
847 |
+
#, php-format
|
848 |
+
msgid "You upload around %s of images per month."
|
849 |
+
msgstr ""
|
850 |
+
|
851 |
+
#: inc/functions/admin-ui.php:306
|
852 |
+
msgid "We recommend you this plan"
|
853 |
+
msgstr ""
|
854 |
+
|
855 |
+
#: inc/functions/admin-ui.php:311
|
856 |
+
msgid "Subscribe a monthly plan"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: inc/functions/admin-ui.php:312
|
860 |
+
msgid "Subscribe a yearly plan"
|
861 |
+
msgstr ""
|
862 |
+
|
863 |
+
#: inc/functions/admin-ui.php:316 inc/functions/admin-ui.php:452
|
864 |
+
#: inc/functions/admin-ui.php:620
|
865 |
+
msgid "Monthly"
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: inc/functions/admin-ui.php:319 inc/functions/admin-ui.php:455
|
869 |
+
#: inc/functions/admin-ui.php:623
|
870 |
+
msgid "Yearly"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: inc/functions/admin-ui.php:319 inc/functions/admin-ui.php:455
|
874 |
+
#: inc/functions/admin-ui.php:623
|
875 |
+
msgid "2 months free"
|
876 |
+
msgstr ""
|
877 |
+
|
878 |
+
#: inc/functions/admin-ui.php:330 inc/functions/admin-ui.php:349
|
879 |
+
#: inc/functions/admin-ui.php:465 inc/functions/admin-ui.php:475
|
880 |
+
msgid "/month"
|
881 |
+
msgstr ""
|
882 |
+
|
883 |
+
#: inc/functions/admin-ui.php:332 inc/functions/admin-ui.php:380
|
884 |
+
#: inc/functions/admin-ui.php:467 inc/functions/admin-ui.php:518
|
885 |
+
#, php-format
|
886 |
+
msgid "approx: %s images"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: inc/functions/admin-ui.php:353 inc/functions/admin-ui.php:481
|
890 |
+
#, php-format
|
891 |
+
msgid ""
|
892 |
+
"%s per<br>\n"
|
893 |
+
"additionnal Gb"
|
894 |
+
msgstr ""
|
895 |
+
|
896 |
+
#: inc/functions/admin-ui.php:358 inc/functions/admin-ui.php:393
|
897 |
+
#: inc/functions/admin-ui.php:577 inc/functions/admin-ui.php:598
|
898 |
+
msgid "Choose another plan"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: inc/functions/admin-ui.php:368
|
902 |
+
msgid "Optimize the images you already have, buy a one-time plan"
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: inc/functions/admin-ui.php:404
|
906 |
+
msgid "Checkout"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: inc/functions/admin-ui.php:408
|
910 |
+
msgid ""
|
911 |
+
"Monthly plans comes with credits which is renewed every months. The billing "
|
912 |
+
"happens automatically each month or year depending the billing period you "
|
913 |
+
"choose."
|
914 |
+
msgstr ""
|
915 |
+
|
916 |
+
#: inc/functions/admin-ui.php:432
|
917 |
+
msgid "Monthly Plans"
|
918 |
+
msgstr ""
|
919 |
+
|
920 |
+
#: inc/functions/admin-ui.php:437
|
921 |
+
msgid "One Time Plans"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: inc/functions/admin-ui.php:447
|
925 |
+
msgid ""
|
926 |
+
"Monthly plans come with credits which is renewed every months. The billing "
|
927 |
+
"happens automatically each month or year depending the billing period you "
|
928 |
+
"choose."
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: inc/functions/admin-ui.php:479 inc/functions/admin-ui.php:526
|
932 |
+
msgid "we recommend for you"
|
933 |
+
msgstr ""
|
934 |
+
|
935 |
+
#: inc/functions/admin-ui.php:487 inc/functions/admin-ui.php:530
|
936 |
+
msgid "Choose plan"
|
937 |
+
msgstr ""
|
938 |
+
|
939 |
+
#: inc/functions/admin-ui.php:495
|
940 |
+
msgid "Need more?"
|
941 |
+
msgstr ""
|
942 |
+
|
943 |
+
#: inc/functions/admin-ui.php:496
|
944 |
+
msgid "for special needs"
|
945 |
+
msgstr ""
|
946 |
+
|
947 |
+
#: inc/functions/admin-ui.php:500
|
948 |
+
msgid "Contact Us"
|
949 |
+
msgstr ""
|
950 |
+
|
951 |
+
#: inc/functions/admin-ui.php:507
|
952 |
+
msgid ""
|
953 |
+
"One time plans are useful if you have a lots of existing images which need to "
|
954 |
+
"be optimized. You can use it for bulk optimizing all your past images. You "
|
955 |
+
"will pay only once."
|
956 |
+
msgstr ""
|
957 |
+
|
958 |
+
#: inc/functions/admin-ui.php:560
|
959 |
+
msgid "Your order"
|
960 |
+
msgstr ""
|
961 |
+
|
962 |
+
#: inc/functions/admin-ui.php:565
|
963 |
+
#, php-format
|
964 |
+
msgid "%scancel%sYou just removed %s"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: inc/functions/admin-ui.php:573 inc/functions/admin-ui.php:594
|
968 |
+
msgid "Remove this item"
|
969 |
+
msgstr ""
|
970 |
+
|
971 |
+
#: inc/functions/admin-ui.php:580
|
972 |
+
#, php-format
|
973 |
+
msgid "%s per month"
|
974 |
+
msgstr ""
|
975 |
+
|
976 |
+
#: inc/functions/admin-ui.php:601
|
977 |
+
#, php-format
|
978 |
+
msgid "one time %s"
|
979 |
+
msgstr ""
|
980 |
+
|
981 |
+
#: inc/functions/admin-ui.php:614
|
982 |
+
#, php-format
|
983 |
+
msgid ""
|
984 |
+
"Switch to yearly subscription and <br><strong class=\"imagify-dark\">save %s "
|
985 |
+
"per year!</strong>"
|
986 |
+
msgstr ""
|
987 |
+
|
988 |
+
#: inc/functions/admin-ui.php:615
|
989 |
+
#, php-format
|
990 |
+
msgid ""
|
991 |
+
"Perfect!<br>You're <strong class=\"imagify-dark\">saving %s per year!</strong>"
|
992 |
+
msgstr ""
|
993 |
+
|
994 |
+
#: inc/functions/admin-ui.php:654
|
995 |
+
msgid "Thank you for being awesome!"
|
996 |
+
msgstr ""
|
997 |
+
|
998 |
+
#: inc/functions/admin-ui.php:665
|
999 |
+
msgid "What do our user think about Imagify"
|
1000 |
+
msgstr ""
|
1001 |
+
|
1002 |
+
#: inc/functions/admin-ui.php:699
|
1003 |
+
msgid "Secure Credit Card Payment"
|
1004 |
+
msgstr ""
|
1005 |
+
|
1006 |
+
#: inc/functions/admin-ui.php:700
|
1007 |
+
msgid "This is secure 128-bits SSL encrypted payment"
|
1008 |
+
msgstr ""
|
1009 |
+
|
1010 |
+
#: inc/functions/i18n.php:19
|
1011 |
+
msgid "Let's get you started!"
|
1012 |
+
msgstr "C’est parti !"
|
1013 |
+
|
1014 |
+
#: inc/functions/i18n.php:20
|
1015 |
+
msgid "Enter your email to get an API key:"
|
1016 |
+
msgstr "Indiquez votre e-mail pour recevoir votre clé API :"
|
1017 |
+
|
1018 |
+
#: inc/functions/i18n.php:21
|
1019 |
+
msgid "Sign Up"
|
1020 |
+
msgstr "S’inscrire"
|
1021 |
+
|
1022 |
+
#: inc/functions/i18n.php:22
|
1023 |
+
msgid "You need to specify an email!"
|
1024 |
+
msgstr "Vous devez indiquer un e-mail !"
|
1025 |
+
|
1026 |
+
#: inc/functions/i18n.php:23 inc/functions/i18n.php:29
|
1027 |
+
msgid "Congratulations!"
|
1028 |
+
msgstr "Félicitations !"
|
1029 |
+
|
1030 |
+
#: inc/functions/i18n.php:24
|
1031 |
+
msgid ""
|
1032 |
+
"Your account has been succesfully created. Please check your mailbox, you are "
|
1033 |
+
"going to receive an email with API key."
|
1034 |
+
msgstr ""
|
1035 |
+
"Votre compte a été créé avec succès. Vérifiez votre boîte de réception, vous "
|
1036 |
+
"allez recevoir un e-mail avec votre clé API."
|
1037 |
+
|
1038 |
+
#: inc/functions/i18n.php:25
|
1039 |
+
msgid "Connect to Imagify!"
|
1040 |
+
msgstr "Se connecter à Imagify !"
|
1041 |
+
|
1042 |
+
#: inc/functions/i18n.php:26
|
1043 |
+
msgid "Paste your API key below:"
|
1044 |
+
msgstr "Copiez votre clé API ci-dessous :"
|
1045 |
+
|
1046 |
+
#: inc/functions/i18n.php:27
|
1047 |
+
msgid "Connect me"
|
1048 |
+
msgstr "Connectez-moi"
|
1049 |
+
|
1050 |
+
#: inc/functions/i18n.php:28
|
1051 |
+
msgid "Check in progress..."
|
1052 |
+
msgstr "Vérification en cours…"
|
1053 |
+
|
1054 |
+
#: inc/functions/i18n.php:30
|
1055 |
+
msgid ""
|
1056 |
+
"Your API key is valid. You can now configure the Imagify settings to optimize "
|
1057 |
+
"your images."
|
1058 |
+
msgstr ""
|
1059 |
+
"Votre clé API est valide. Vous pouvez maintenant configurer les réglages "
|
1060 |
+
"d’Imagify pour optimiser vos images."
|
1061 |
+
|
1062 |
+
#: inc/functions/i18n.php:32
|
1063 |
+
msgid "Cancel"
|
1064 |
+
msgstr ""
|
1065 |
+
|
1066 |
+
#: inc/functions/i18n.php:38
|
1067 |
+
msgid "Don't Need a Parachute?"
|
1068 |
+
msgstr "Pas besoin d’un parachute ?"
|
1069 |
+
|
1070 |
+
#: inc/functions/i18n.php:39
|
1071 |
+
msgid ""
|
1072 |
+
"If you keep this option deactivated, you won't be able to re-optimize your "
|
1073 |
+
"images to another compression level and restore your original images in case "
|
1074 |
+
"of need."
|
1075 |
+
msgstr ""
|
1076 |
+
"Si vous gardez cette option désactivée, vous ne serez pas en mesure de "
|
1077 |
+
"réoptimiser vos images à un autre niveau de compression et de restaurer vos "
|
1078 |
+
"images originales en cas de besoin."
|
1079 |
+
|
1080 |
+
#: inc/functions/i18n.php:55
|
1081 |
+
msgid "Original Image"
|
1082 |
+
msgstr "Image d’origine"
|
1083 |
+
|
1084 |
+
#: inc/functions/i18n.php:56
|
1085 |
+
msgid "Optimized Image"
|
1086 |
+
msgstr "Image optimisée"
|
1087 |
+
|
1088 |
+
#: inc/functions/i18n.php:70
|
1089 |
+
msgid "Please wait..."
|
1090 |
+
msgstr "Un peu d’attente…"
|
1091 |
+
|
1092 |
+
#: inc/functions/i18n.php:71
|
1093 |
+
msgid ""
|
1094 |
+
"We are trying to get your unoptimized images, it may take time depending on "
|
1095 |
+
"the number of images."
|
1096 |
+
msgstr ""
|
1097 |
+
"Nous sommes en train de récupérer vos images non-optimisées, cela peut prendre "
|
1098 |
+
"du temps en fonction du nombre d’images."
|
1099 |
+
|
1100 |
+
#: inc/functions/i18n.php:73
|
1101 |
+
msgid "Oops, There is something wrong!"
|
1102 |
+
msgstr "Oups, une erreur est survenue !"
|
1103 |
+
|
1104 |
+
#: inc/functions/i18n.php:74
|
1105 |
+
msgid ""
|
1106 |
+
"An unknow error occurred when we tried to get all your unoptimized images. Try "
|
1107 |
+
"again and if the issue still persist, please contact us!"
|
1108 |
+
msgstr ""
|
1109 |
+
"Une erreur inconnue est survenue lorsque nous avons essayé d’obtenir toutes "
|
1110 |
+
"vos images non optimisées. Essayez encore et si le problème persiste, "
|
1111 |
+
"contactez-nous !"
|
1112 |
+
|
1113 |
+
#: inc/functions/i18n.php:78
|
1114 |
+
msgid "Error"
|
1115 |
+
msgstr "Erreur"
|
1116 |
+
|
1117 |
+
#: inc/functions/i18n.php:81
|
1118 |
+
msgid "Hold on!"
|
1119 |
+
msgstr "Halte là !"
|
1120 |
+
|
1121 |
+
#: inc/functions/i18n.php:82
|
1122 |
+
msgid "All your images have been optimized by Imagify. Congratulations!"
|
1123 |
+
msgstr "Toutes vos images ont été optimisées par Imagify. Félicitations !"
|
1124 |
+
|
1125 |
+
#: inc/functions/i18n.php:84
|
1126 |
+
#, php-format
|
1127 |
+
msgid ""
|
1128 |
+
"Discover @imagify, the new compression tool to optimize your images for free. "
|
1129 |
+
"I saved %1$s out of %2$s!"
|
1130 |
+
msgstr ""
|
1131 |
+
"Découvrez @imagify, le nouvel outil de compression pour optimiser vos images. "
|
1132 |
+
"J’ai optimisé %1$s sur %2$s !"
|
1133 |
+
|
1134 |
+
#: inc/functions/i18n.php:88
|
1135 |
+
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
1136 |
+
msgstr ""
|
1137 |
+
"Imagify travaille encore. Êtes-vous sûr(e) de vouloir quitter cette page ?"
|
1138 |
+
|
1139 |
+
#: inc/functions/i18n.php:97
|
1140 |
+
msgid "F j, Y"
|
1141 |
+
msgstr ""
|
1142 |
+
|
1143 |
+
#: inc/functions/process.php:41
|
1144 |
msgid ""
|
1145 |
"Sorry, our servers are temporarily unaccessible. Please, try again in a couple "
|
1146 |
"of minutes."
|
1148 |
"Désolé, nos serveurs sont temporairement inaccessibles. Nous vous recommandons "
|
1149 |
"de ré-essayer dans quelques minutes."
|
1150 |
|
1151 |
+
#: inc/functions/process.php:47
|
1152 |
msgid "External HTTP requests are blocked"
|
1153 |
msgstr "Les requêtes HTTP externes sont bloquées"
|
1154 |
|
1155 |
+
#: inc/functions/process.php:53
|
1156 |
msgid "File path is empty"
|
1157 |
msgstr "Le chemin du fichier est vide"
|
1158 |
|
1159 |
+
#: inc/functions/process.php:59
|
1160 |
#, php-format
|
1161 |
msgid "Could not find %s"
|
1162 |
msgstr "Impossible de trouver %s"
|
1163 |
|
1164 |
+
#: inc/functions/process.php:64
|
1165 |
#, php-format
|
1166 |
msgid "%s is not writable"
|
1167 |
msgstr "%s n’est pas accessible en écriture"
|
1168 |
|
1169 |
+
#: inc/functions/process.php:73
|
1170 |
#, php-format
|
1171 |
msgid "Skipped (%s), image not found."
|
1172 |
msgstr "Ignoré (%s), image introuvable."
|
1177 |
|
1178 |
#. Description of the plugin/theme
|
1179 |
msgid ""
|
1180 |
+
"Dramaticaly reduce image file sizes without losing quality, make your website "
|
1181 |
"load faster, boost your SEO and save money on your bandwith using Imagify, the "
|
1182 |
"new most advanced image optimization tool."
|
1183 |
msgstr ""
|
|
|
|
|
|
|
|
|
1184 |
|
1185 |
#. Author of the plugin/theme
|
1186 |
msgid "WP Media"
|
1190 |
msgid "http://wp-media.me"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#~ msgid ""
|
1194 |
+
#~ "All images greater than %s%% will be optimized when using a paying monthly "
|
1195 |
+
#~ "plan."
|
1196 |
+
#~ msgstr ""
|
1197 |
+
#~ "Toutes les images de plus de %s %% seront optimisées lors de l'utilisation "
|
1198 |
+
#~ "d'un abonnement mensuel payant."
|
1199 |
+
|
1200 |
+
#~ msgid "You optimized %s of images on your website"
|
1201 |
+
#~ msgstr "Vous avez optimisé %s des images de votre site"
|
1202 |
+
|
1203 |
+
#~ msgid ""
|
1204 |
+
#~ "Images greater than 5 MB will be optimized when using a paying monthly plan."
|
1205 |
+
#~ msgstr ""
|
1206 |
+
#~ "Les images supérieures à 5 Mo seront optimisées lors de l'utilisation d'un "
|
1207 |
+
#~ "forfait mensuel payant."
|
1208 |
+
|
1209 |
+
#~ msgid "Your default setting:"
|
1210 |
+
#~ msgstr "Votre réglage par défaut :"
|
1211 |
+
|
1212 |
+
#~ msgid ""
|
1213 |
+
#~ "All images which are over to %s could be optimized using the pro version."
|
1214 |
+
#~ msgstr ""
|
1215 |
+
#~ "Toutes les images qui font plus de %s pourront être optimisées avec la "
|
1216 |
+
#~ "version pro."
|
1217 |
+
|
1218 |
+
#~ msgid ""
|
1219 |
+
#~ "Dramaticaly reduce image file sizes without loosing quality, make your "
|
1220 |
+
#~ "website load faster, boost your SEO and save money on your bandwith using "
|
1221 |
+
#~ "Imagify, the new most advanced image optimization tool."
|
1222 |
+
#~ msgstr ""
|
1223 |
+
#~ "Réduisez drastiquement le poids de vos images sans perte de qualité, "
|
1224 |
+
#~ "accélérez la rapidité de votre site, boostez votre SEO et économisez de "
|
1225 |
+
#~ "l’argent sur votre bande passante en utilisant Imagify, le nouvel outil le "
|
1226 |
+
#~ "plus avancé d’optimisation des images."
|
1227 |
+
|
1228 |
#~ msgid ""
|
1229 |
#~ "%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and "
|
1230 |
#~ "improved your website's by reducing your images size."
|
languages/imagify-it_IT.mo
CHANGED
Binary file
|
languages/imagify-it_IT.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Imagify\n"
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: it\n"
|
@@ -20,23 +20,36 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
|
23 |
-
#: inc/
|
24 |
-
#: inc/
|
25 |
-
#: inc/functions/admin-ui.php:
|
26 |
-
#: inc/functions/
|
27 |
-
msgid "Optimizing..."
|
28 |
-
msgstr "Ottimizzando…"
|
29 |
-
|
30 |
-
#: inc/admin/ajax.php:118 inc/admin/enqueue.php:163 inc/admin/enqueue.php:187
|
31 |
-
#: inc/admin/meta-boxes.php:34 inc/functions/admin-ui.php:181
|
32 |
msgid "Optimize"
|
33 |
msgstr "Ottimizza"
|
34 |
|
35 |
-
#: inc/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
msgid "Oops, It's almost over!"
|
37 |
msgstr "Ops, quasi finito!"
|
38 |
|
39 |
-
#: inc/admin/ajax.php:
|
40 |
#, php-format
|
41 |
msgid ""
|
42 |
"You have almost used all your credit.%sDon't forget to upgrade your "
|
@@ -45,17 +58,17 @@ msgstr ""
|
|
45 |
"Hai usato quasi tutto il tuo credito.%sNon dimenticare di aggiornare il tuo "
|
46 |
"abbonamento per continuare a ottimizzare le tue immagini."
|
47 |
|
48 |
-
#: inc/admin/ajax.php:
|
49 |
msgid "View My Subscription"
|
50 |
msgstr "Vedere il mio abbonamento"
|
51 |
|
52 |
-
#: inc/admin/ajax.php:
|
53 |
-
#: inc/
|
54 |
msgid "Oops, It's Over!"
|
55 |
msgstr "Ops, finito!"
|
56 |
|
57 |
-
#: inc/admin/ajax.php:
|
58 |
-
#: inc/
|
59 |
#, php-format
|
60 |
msgid ""
|
61 |
"You have consumed all your credit for this month. You will have <strong>%s "
|
@@ -64,232 +77,54 @@ msgstr ""
|
|
64 |
"Hai consumato tutto il tuo credito per questo mese. Avrai di nuovo <strong>"
|
65 |
"%s il %s</strong>."
|
66 |
|
67 |
-
#: inc/admin/ajax.php:
|
68 |
msgid "Upgrade My Subscription"
|
69 |
msgstr "Aggiornare il mio abbonamento"
|
70 |
|
71 |
-
#: inc/admin/ajax.php:
|
72 |
msgid "Account status"
|
73 |
msgstr "Stato del mio account"
|
74 |
|
75 |
-
#: inc/admin/ajax.php:
|
76 |
msgid "Your subscription:"
|
77 |
msgstr "Il tuo abbonamento:"
|
78 |
|
79 |
-
#: inc/admin/ajax.php:
|
80 |
#, php-format
|
81 |
msgid "You have %s space credit left"
|
82 |
msgstr "Ti rimangono %s di spazio"
|
83 |
|
84 |
-
#: inc/admin/ajax.php:
|
85 |
msgid "View my subscription"
|
86 |
msgstr "Vedere il mio abbonamento"
|
87 |
|
88 |
-
#: inc/admin/
|
89 |
-
msgid "Let's get you started!"
|
90 |
-
msgstr "Iniziamo!"
|
91 |
-
|
92 |
-
#: inc/admin/enqueue.php:122
|
93 |
-
msgid "Enter your email to get an API key:"
|
94 |
-
msgstr "Inserisci la tua email per ottenere una chiave API:"
|
95 |
-
|
96 |
-
#: inc/admin/enqueue.php:123
|
97 |
-
msgid "Sign Up"
|
98 |
-
msgstr "Registrati"
|
99 |
-
|
100 |
-
#: inc/admin/enqueue.php:124
|
101 |
-
msgid "You need to specify an email!"
|
102 |
-
msgstr "È necessario specificare un indirizzo email!"
|
103 |
-
|
104 |
-
#: inc/admin/enqueue.php:125 inc/admin/enqueue.php:131
|
105 |
-
msgid "Congratulations!"
|
106 |
-
msgstr "Congratulazioni!"
|
107 |
-
|
108 |
-
#: inc/admin/enqueue.php:126
|
109 |
-
msgid ""
|
110 |
-
"Your account has been succesfully created. Please check your mailbox, you "
|
111 |
-
"are going to receive an email with API key."
|
112 |
-
msgstr ""
|
113 |
-
"Il tuo account è stato creato con successo. Per favore controlla la tua "
|
114 |
-
"casella email, stai per ricevere un messaggio con la chiave API."
|
115 |
-
|
116 |
-
#: inc/admin/enqueue.php:127
|
117 |
-
msgid "Connect to Imagify!"
|
118 |
-
msgstr "Connettiti a Imagify!"
|
119 |
-
|
120 |
-
#: inc/admin/enqueue.php:128
|
121 |
-
msgid "Paste your API key below:"
|
122 |
-
msgstr "Incolla qui sotto la chiave API:"
|
123 |
-
|
124 |
-
#: inc/admin/enqueue.php:129
|
125 |
-
msgid "Connect me"
|
126 |
-
msgstr "Connettimi"
|
127 |
-
|
128 |
-
#: inc/admin/enqueue.php:130
|
129 |
-
msgid "Check in progress..."
|
130 |
-
msgstr "Verifica in corso…"
|
131 |
-
|
132 |
-
#: inc/admin/enqueue.php:132
|
133 |
-
msgid ""
|
134 |
-
"Your API key is valid. You can now configure the Imagify settings to "
|
135 |
-
"optimize your images."
|
136 |
-
msgstr ""
|
137 |
-
"La tua chiave API è valida. Ora puoi configurare le impostazioni di Imagify "
|
138 |
-
"per ottimizzare le tue immagini."
|
139 |
-
|
140 |
-
#: inc/admin/enqueue.php:133 inc/admin/ui/options.php:85
|
141 |
-
msgid "Your API key is valid."
|
142 |
-
msgstr "La tua chiave API è valida."
|
143 |
-
|
144 |
-
#: inc/admin/enqueue.php:150
|
145 |
-
msgid "Don't Need a Parachute?"
|
146 |
-
msgstr "Non hai bisogno di un paracadute?"
|
147 |
-
|
148 |
-
#: inc/admin/enqueue.php:151
|
149 |
-
msgid ""
|
150 |
-
"If you keep this option deactivated, you won't be able to re-optimize your "
|
151 |
-
"images to another compression level and restore your original images in case "
|
152 |
-
"of need."
|
153 |
-
msgstr ""
|
154 |
-
"Se mantieni questa opzione disattivata, non potrai ri-ottimizzare le "
|
155 |
-
"immagini a un altro livello di compressione o ripristinare le originali in "
|
156 |
-
"caso di necessità."
|
157 |
-
|
158 |
-
#: inc/admin/enqueue.php:164 inc/functions/admin-ui.php:75
|
159 |
-
msgid "Restore Original"
|
160 |
-
msgstr "Ripristina originale"
|
161 |
-
|
162 |
-
#: inc/admin/enqueue.php:181
|
163 |
-
msgid "Original Image"
|
164 |
-
msgstr "Immagine originale"
|
165 |
-
|
166 |
-
#: inc/admin/enqueue.php:182
|
167 |
-
msgid "Optimized Image"
|
168 |
-
msgstr "Immagine ottimizzata"
|
169 |
-
|
170 |
-
#: inc/admin/enqueue.php:183 inc/admin/media.php:61
|
171 |
msgid "Compare Original VS Optimized"
|
172 |
msgstr "Confronta originale VS ottimizzata"
|
173 |
|
174 |
-
#: inc/admin/enqueue.php:184 inc/admin/ui/options.php:360
|
175 |
-
#: inc/admin/ui/options.php:482
|
176 |
-
msgid "Close"
|
177 |
-
msgstr "Chiudi"
|
178 |
-
|
179 |
-
#: inc/admin/enqueue.php:185 inc/admin/ui/options.php:413
|
180 |
-
#: inc/admin/ui/options.php:423 inc/admin/ui/options.php:443
|
181 |
-
#: inc/admin/ui/options.php:464
|
182 |
-
msgid "File Size:"
|
183 |
-
msgstr "Dimensione del file:"
|
184 |
-
|
185 |
-
#: inc/admin/enqueue.php:186 inc/admin/ui/options.php:427
|
186 |
-
#: inc/admin/ui/options.php:447 inc/admin/ui/options.php:468
|
187 |
-
#: inc/functions/admin-ui.php:44
|
188 |
-
msgid "Original Saving:"
|
189 |
-
msgstr "Risparmio originale:"
|
190 |
-
|
191 |
-
#: inc/admin/enqueue.php:202
|
192 |
-
msgid "Please wait..."
|
193 |
-
msgstr "Attendere per favore…"
|
194 |
-
|
195 |
-
#: inc/admin/enqueue.php:203
|
196 |
-
msgid ""
|
197 |
-
"We are trying to get your unoptimized images, it may take time depending on "
|
198 |
-
"the number of images."
|
199 |
-
msgstr ""
|
200 |
-
"Stiamo cercando di ottenere le immagini non ottimizzate, il che potrebbe "
|
201 |
-
"richiedere del tempo in base al numero di immagini."
|
202 |
-
|
203 |
-
#: inc/admin/enqueue.php:205
|
204 |
-
msgid "Oops, There is something wrong!"
|
205 |
-
msgstr "Ups, qualcosa è andato storto!"
|
206 |
-
|
207 |
-
#: inc/admin/enqueue.php:206
|
208 |
-
msgid ""
|
209 |
-
"An unknow error occurred when we tried to get all your unoptimized images. "
|
210 |
-
"Try again and if the issue still persist, please contact us!"
|
211 |
-
msgstr ""
|
212 |
-
"C’è stato un errore inaspettato mentre cercavamo di raccogliere tutte le tue "
|
213 |
-
"immagini non ottimizzate. Prova di nuovo e, se il problema persiste, "
|
214 |
-
"contattaci per favore!"
|
215 |
-
|
216 |
-
#: inc/admin/enqueue.php:208 inc/admin/ui/bulk.php:264 inc/admin/upload.php:38
|
217 |
-
msgid "Optimized"
|
218 |
-
msgstr "Ottimizzato"
|
219 |
-
|
220 |
-
#: inc/admin/enqueue.php:209 inc/admin/upload.php:39
|
221 |
-
msgid "Unoptimized"
|
222 |
-
msgstr "Non ottimizzato"
|
223 |
-
|
224 |
-
#: inc/admin/enqueue.php:210
|
225 |
-
msgid "Error"
|
226 |
-
msgstr "Errore"
|
227 |
-
|
228 |
-
#: inc/admin/enqueue.php:213
|
229 |
-
msgid "Hold on!"
|
230 |
-
msgstr "Resisti!"
|
231 |
-
|
232 |
-
#: inc/admin/enqueue.php:214
|
233 |
-
msgid "All your images have been optimized by Imagify. Congratulations!"
|
234 |
-
msgstr ""
|
235 |
-
"Tutte le tue immagini sono state ottimizzate da Imagify. Congratulazioni!"
|
236 |
-
|
237 |
-
#: inc/admin/enqueue.php:216
|
238 |
-
#, php-format
|
239 |
-
msgid ""
|
240 |
-
"Discover @imagify, the new compression tool to optimize your images for "
|
241 |
-
"free. I saved %1$s out of %2$s!"
|
242 |
-
msgstr ""
|
243 |
-
"Scopri @imagify, il nuovo strumento di compressione per ottimizzare le tue "
|
244 |
-
"immagini gratuitamente. Ho risparmiato %1$s di %2$s!"
|
245 |
-
|
246 |
-
#: inc/admin/enqueue.php:220
|
247 |
-
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
248 |
-
msgstr ""
|
249 |
-
"Imagify sta ancora lavorando. Sei sicuro di voler abbandonare la pagina?"
|
250 |
-
|
251 |
-
#: inc/admin/enqueue.php:225 inc/admin/enqueue.php:228
|
252 |
-
#: inc/admin/ui/notices.php:253
|
253 |
-
#, php-format
|
254 |
-
msgid ""
|
255 |
-
"To continue to optimize your images, log in to your Imagify account to %sbuy "
|
256 |
-
"a pack or subscribe to a plan%s."
|
257 |
-
msgstr ""
|
258 |
-
"Per continuare a ottimizzare le tue immagini, entra nel tuo account Imagify "
|
259 |
-
"per %scomprare un pack o sottoscrivere un abbonamento %s."
|
260 |
-
|
261 |
-
#: inc/admin/enqueue.php:228
|
262 |
-
msgid "F j, Y"
|
263 |
-
msgstr "F j, Y"
|
264 |
-
|
265 |
-
#: inc/admin/menu.php:24 inc/admin/plugins.php:13 inc/admin/ui/bulk.php:79
|
266 |
-
#: inc/common/admin-bar.php:39
|
267 |
-
msgid "Bulk Optimization"
|
268 |
-
msgstr "Ottimizzazione massiva"
|
269 |
-
|
270 |
#. Plugin Name of the plugin/theme
|
271 |
#: inc/admin/meta-boxes.php:17 inc/admin/meta-boxes.php:24
|
272 |
-
#: inc/admin/upload.php:
|
273 |
msgid "Imagify"
|
274 |
msgstr "Imagify"
|
275 |
|
276 |
-
#: inc/admin/meta-boxes.php:19 inc/functions/admin-ui.php:
|
277 |
msgid "Invalid API key"
|
278 |
msgstr "Chiave API non valida"
|
279 |
|
280 |
-
#: inc/admin/meta-boxes.php:21 inc/functions/admin-ui.php:
|
281 |
msgid "Check your Settings"
|
282 |
msgstr "Verifica delle tue impostazioni"
|
283 |
|
284 |
-
#: inc/admin/options.php:
|
285 |
msgid "Cheatin’ uh?"
|
286 |
msgstr "Stai imbrogliando, vero?"
|
287 |
|
288 |
-
#: inc/admin/options.php:
|
289 |
msgid "<strong>ERROR</strong>: options page not found."
|
290 |
msgstr "<strong>Errore</strong>: pagina delle opzioni non trovata."
|
291 |
|
292 |
-
#: inc/admin/plugins.php:14 inc/admin/ui/options.php:
|
293 |
#: inc/common/admin-bar.php:30
|
294 |
msgid "Settings"
|
295 |
msgstr "Impostazioni"
|
@@ -302,11 +137,41 @@ msgstr "Aggiorna il tuo account per continuare a ottimizzare le immagini"
|
|
302 |
msgid "More info"
|
303 |
msgstr "Maggiori informazioni"
|
304 |
|
305 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
msgid "Information"
|
307 |
msgstr "Informazioni"
|
308 |
|
309 |
-
#: inc/admin/ui/bulk.php:
|
310 |
msgid ""
|
311 |
"Please be aware that optimizing a large number of images can take a while "
|
312 |
"depending on your server and network speed."
|
@@ -315,7 +180,7 @@ msgstr ""
|
|
315 |
"immagini può richiedere del tempo a seconda del tuo server e della velocità "
|
316 |
"di rete."
|
317 |
|
318 |
-
#: inc/admin/ui/bulk.php:
|
319 |
#, php-format
|
320 |
msgid ""
|
321 |
"If you have more than %s images, you will need to launch the bulk "
|
@@ -324,7 +189,7 @@ msgstr ""
|
|
324 |
"Se hai più di %s immagini, dovrai lanciare il processo di ottimizzazione "
|
325 |
"massivo varie volte."
|
326 |
|
327 |
-
#: inc/admin/ui/bulk.php:
|
328 |
msgid ""
|
329 |
"You must keep this page open while the bulk optimizaton is processing. If "
|
330 |
"you leave you can come back to continue where it left off."
|
@@ -333,141 +198,129 @@ msgstr ""
|
|
333 |
"massiva. Se la abbandoni, è possibile ritornarci e continuare da dove avevi "
|
334 |
"interrotto."
|
335 |
|
336 |
-
#: inc/admin/ui/bulk.php:
|
337 |
msgid "Select Your Compression Level"
|
338 |
msgstr "Seleziona il livello di compressione"
|
339 |
|
340 |
-
#: inc/admin/ui/bulk.php:
|
341 |
-
#: inc/admin/ui/options.php:
|
342 |
-
#: inc/admin/ui/options.php:
|
343 |
-
#: inc/admin/ui/options.php:
|
344 |
-
#: inc/
|
|
|
345 |
msgid "Ultra"
|
346 |
msgstr "Ultra"
|
347 |
|
348 |
-
#: inc/admin/ui/bulk.php:
|
349 |
-
#: inc/admin/ui/options.php:
|
350 |
-
#: inc/admin/ui/options.php:
|
351 |
-
#: inc/admin/ui/options.php:
|
352 |
-
#: inc/
|
|
|
353 |
msgid "Aggressive"
|
354 |
msgstr "Aggressivo"
|
355 |
|
356 |
-
#: inc/admin/ui/bulk.php:
|
357 |
-
#: inc/admin/ui/options.php:
|
358 |
-
#: inc/admin/ui/options.php:
|
359 |
-
#: inc/admin/ui/options.php:
|
360 |
-
#: inc/
|
|
|
361 |
msgid "Normal"
|
362 |
msgstr "Normale"
|
363 |
|
364 |
-
#: inc/admin/ui/bulk.php:
|
365 |
-
|
366 |
-
|
|
|
367 |
|
368 |
-
#: inc/admin/ui/bulk.php:
|
369 |
#, php-format
|
370 |
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
371 |
msgstr ""
|
372 |
"Non dimenticare di controllare %sle tue impostazioni%s prima "
|
373 |
"dell’ottimizzazione massiva."
|
374 |
|
375 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
376 |
msgid "Imagif'em all"
|
377 |
msgstr "Imagifica tutto!"
|
378 |
|
379 |
-
#: inc/admin/ui/bulk.php:
|
380 |
#, php-format
|
381 |
msgid ""
|
382 |
-
"All images
|
|
|
383 |
msgstr ""
|
384 |
-
"Tutte le immagini superiori a %s
|
385 |
-
"
|
386 |
-
|
387 |
-
#: inc/admin/ui/bulk.php:174
|
388 |
-
msgid "Overview"
|
389 |
-
msgstr "Sommario"
|
390 |
-
|
391 |
-
#: inc/admin/ui/bulk.php:184
|
392 |
-
msgid "Statistics"
|
393 |
-
msgstr "Statistiche"
|
394 |
-
|
395 |
-
#: inc/admin/ui/bulk.php:196
|
396 |
-
msgid "that's the number of images you optimized with Imagify"
|
397 |
-
msgstr "questo è il numero di immagini ottimizzate con Imagify"
|
398 |
|
399 |
-
#: inc/admin/ui/bulk.php:
|
400 |
-
msgid "Original size"
|
401 |
-
msgstr "Dimensione originale"
|
402 |
-
|
403 |
-
#: inc/admin/ui/bulk.php:206
|
404 |
-
msgid "Optimized size"
|
405 |
-
msgstr "Dimensione ottimizzata"
|
406 |
-
|
407 |
-
#: inc/admin/ui/bulk.php:217
|
408 |
-
#, php-format
|
409 |
-
msgid "that's the size you saved %sby using Imagify"
|
410 |
-
msgstr "questa è la dimensione che hai risparmiato %sutilizzando Imagify"
|
411 |
-
|
412 |
-
#: inc/admin/ui/bulk.php:237
|
413 |
msgid "Well done!"
|
414 |
msgstr "Ben fatto!"
|
415 |
|
416 |
-
#: inc/admin/ui/bulk.php:
|
417 |
#, php-format
|
418 |
msgid "you saved %1$s out of %2$s"
|
419 |
msgstr "hai risparmiato %1$s su %2$s"
|
420 |
|
421 |
-
#: inc/admin/ui/bulk.php:
|
422 |
msgid "Share your awesome result"
|
423 |
msgstr "Condividi questo impressionante risultato"
|
424 |
|
425 |
-
#: inc/admin/ui/bulk.php:
|
426 |
msgid "Compression process results"
|
427 |
msgstr "Risultati del processo di compressione"
|
428 |
|
429 |
-
#: inc/admin/ui/bulk.php:
|
430 |
msgid "Filename"
|
431 |
msgstr "Nome del file"
|
432 |
|
433 |
-
#: inc/admin/ui/bulk.php:
|
434 |
msgid "Status"
|
435 |
msgstr "Stato"
|
436 |
|
437 |
-
#: inc/admin/ui/bulk.php:
|
438 |
-
#: inc/admin/ui/options.php:
|
439 |
msgid "Original"
|
440 |
msgstr "Originale"
|
441 |
|
442 |
-
#: inc/admin/ui/bulk.php:
|
|
|
|
|
|
|
|
|
443 |
msgid "Percentage"
|
444 |
msgstr "Percentuale"
|
445 |
|
446 |
-
#: inc/admin/ui/bulk.php:
|
447 |
msgid "Thumbnails optimized"
|
448 |
msgstr "Miniature ottimizzate"
|
449 |
|
450 |
-
#: inc/admin/ui/bulk.php:
|
451 |
msgid "Overall saving"
|
452 |
msgstr "Risparmio complessivo"
|
453 |
|
454 |
-
#: inc/admin/ui/bulk.php:
|
455 |
msgid "file"
|
456 |
msgstr "file"
|
457 |
|
458 |
-
#: inc/admin/ui/bulk.php:
|
459 |
msgid "error"
|
460 |
msgstr "errore"
|
461 |
|
462 |
-
#: inc/admin/ui/bulk.php:
|
463 |
msgid "Total:"
|
464 |
msgstr "Totale:"
|
465 |
|
466 |
-
#: inc/admin/ui/bulk.php:
|
467 |
msgid "Gain:"
|
468 |
msgstr "Guadagno:"
|
469 |
|
470 |
-
#: inc/admin/ui/bulk.php:
|
471 |
#, php-format
|
472 |
msgid "%sStart the bulk optimization%s"
|
473 |
msgstr "%sInizia l’ottimizzazione massiva%s"
|
@@ -531,7 +384,7 @@ msgstr ""
|
|
531 |
msgid "Go to Settings"
|
532 |
msgstr "Vai alle impostazioni"
|
533 |
|
534 |
-
#: inc/admin/ui/notices.php:85 inc/admin/ui/options.php:
|
535 |
msgid "Your API key isn't valid!"
|
536 |
msgstr "La tua chiave API non è valida!"
|
537 |
|
@@ -596,16 +449,26 @@ msgstr ""
|
|
596 |
msgid "Switch to the List View"
|
597 |
msgstr "Passa a visualizzazione Lista"
|
598 |
|
599 |
-
#: inc/admin/ui/notices.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
600 |
msgid "Discover the best caching plugin to speed up your website."
|
601 |
msgstr "Scopri i migliori plugin di cache per velocizzare il tuo sito Web."
|
602 |
|
603 |
-
#: inc/admin/ui/notices.php:309 inc/admin/ui/options.php:
|
604 |
#, php-format
|
605 |
msgid "%sGet %s off%s with this coupon code:%s"
|
606 |
msgstr "Ottieni il %s%s%s di sconto usando questo coupon:%s"
|
607 |
|
608 |
-
#: inc/admin/ui/notices.php:318 inc/admin/ui/options.php:
|
609 |
msgid "Get WP Rocket now"
|
610 |
msgstr "Acquista WP Rocket!"
|
611 |
|
@@ -618,7 +481,7 @@ msgstr ""
|
|
618 |
"%1$sCongratulazioni!%2$s Hai ottimizzato %1$s%3$d immagini%2$s e velocizzato "
|
619 |
"così il tuo sito web."
|
620 |
|
621 |
-
#: inc/admin/ui/notices.php:356 inc/admin/ui/options.php:
|
622 |
#, php-format
|
623 |
msgid ""
|
624 |
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
@@ -627,61 +490,65 @@ msgstr ""
|
|
627 |
"%sTi piace questo plugin?%s Per favore, dedicaci pochi secondi per %sdargli "
|
628 |
"un voto su WordPress.org%s!"
|
629 |
|
630 |
-
#: inc/admin/ui/options.php:
|
631 |
msgid "Is your website too slow?"
|
632 |
msgstr "Il tuo sito web è troppo lento?"
|
633 |
|
634 |
-
#: inc/admin/ui/options.php:
|
635 |
msgid "API Key"
|
636 |
msgstr "Chiave API"
|
637 |
|
638 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
639 |
#, php-format
|
640 |
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
641 |
msgstr "Non hai ancora una chiave API? %sCreane una, è GRATIS%s."
|
642 |
|
643 |
-
#: inc/admin/ui/options.php:
|
644 |
msgid "Optimization Level"
|
645 |
msgstr "Livello di ottimizzazione"
|
646 |
|
647 |
-
#: inc/admin/ui/options.php:
|
648 |
msgid "More info?"
|
649 |
msgstr "Vuoi più informazioni?"
|
650 |
|
651 |
-
#: inc/admin/ui/options.php:
|
652 |
#, php-format
|
653 |
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
654 |
msgstr "Hai bisogno di aiuto per scegliere? %sProva il confronto visivo%s"
|
655 |
|
656 |
-
#: inc/admin/ui/options.php:
|
657 |
msgid "Auto-Optimize images on upload"
|
658 |
msgstr "Auto-ottimizza le immagini in fase di caricamento"
|
659 |
|
660 |
-
#: inc/admin/ui/options.php:
|
661 |
msgid "Automatically optimize every image you upload to WordPress."
|
662 |
msgstr "Ottimizza automaticamente ogni immagine che hai caricato in Wordpress."
|
663 |
|
664 |
-
#: inc/admin/ui/options.php:
|
665 |
msgid "Backup original images"
|
666 |
msgstr "Backup delle immagini originali"
|
667 |
|
668 |
-
#: inc/admin/ui/options.php:
|
669 |
msgid ""
|
670 |
"Keep your original images in a separate folder before optimization process."
|
671 |
msgstr ""
|
672 |
"Mantieni le tue immagini originali in una cartella separata prima del "
|
673 |
"processo di ottimizzazione."
|
674 |
|
675 |
-
#: inc/admin/ui/options.php:
|
676 |
msgid "Resize larger images"
|
677 |
msgstr "Ridimensiona le immagini più grandi"
|
678 |
|
679 |
-
#: inc/admin/ui/options.php:
|
680 |
#, php-format
|
681 |
msgid "to maximum %s pixels width"
|
682 |
msgstr "a un massimo di %s di larghezza"
|
683 |
|
684 |
-
#: inc/admin/ui/options.php:
|
685 |
#, php-format
|
686 |
msgid ""
|
687 |
"This option is recommended to reduce larger images. You can save up to 80%% "
|
@@ -693,11 +560,11 @@ msgstr ""
|
|
693 |
"dovrebbe essere inferiore a quella della tua miniatura più grande, che "
|
694 |
"attualmente è di %spx."
|
695 |
|
696 |
-
#: inc/admin/ui/options.php:
|
697 |
msgid "EXIF Data"
|
698 |
msgstr "Dati EXIF"
|
699 |
|
700 |
-
#: inc/admin/ui/options.php:
|
701 |
msgid ""
|
702 |
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
703 |
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
@@ -706,11 +573,11 @@ msgstr ""
|
|
706 |
"archiviate nelle tue immagini, come la velocità dell’otturatore, la "
|
707 |
"compensazione dell’esposizione, gli ISO, etc…"
|
708 |
|
709 |
-
#: inc/admin/ui/options.php:
|
710 |
msgid "Learn more"
|
711 |
msgstr "Maggiori informazioni"
|
712 |
|
713 |
-
#: inc/admin/ui/options.php:
|
714 |
msgid ""
|
715 |
"If you are a photographer, you may be interested in this option if you are "
|
716 |
"displaying on your pages some info like the model of your camera."
|
@@ -719,45 +586,49 @@ msgstr ""
|
|
719 |
"in cui voglia pubblicare sulle tue pagine informazioni come il modello della "
|
720 |
"tua macchina fotografica."
|
721 |
|
722 |
-
#: inc/admin/ui/options.php:
|
723 |
msgid "Files optimization"
|
724 |
msgstr "Ottimizzazione dei file"
|
725 |
|
726 |
-
#: inc/admin/ui/options.php:
|
727 |
msgid ""
|
728 |
"You can choose to compress different image sizes created by WordPress here."
|
729 |
msgstr ""
|
730 |
"Qui puoi scegliere di comprimere formati di immagine diversi creati con "
|
731 |
"WordPress."
|
732 |
|
733 |
-
#: inc/admin/ui/options.php:
|
734 |
#, php-format
|
735 |
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
736 |
msgstr ""
|
737 |
"La %sdimensione originale%s è %sautomaticamente ottimizzata%s da Imagify."
|
738 |
|
739 |
-
#: inc/admin/ui/options.php:
|
740 |
msgid ""
|
741 |
"Remember each additional image size will affect your Imagify monthly usage!"
|
742 |
msgstr ""
|
743 |
"Ricorda che ogni formato di immagine addizionale avrà un impatto sul tuo "
|
744 |
"utilizzo mensile di Imagify!"
|
745 |
|
746 |
-
#: inc/admin/ui/options.php:
|
747 |
msgid "Display options"
|
748 |
msgstr "Visualizza le opzioni"
|
749 |
|
750 |
-
#: inc/admin/ui/options.php:
|
751 |
msgid "Show Admin Bar menu"
|
752 |
msgstr "Mostra barra di amministrazione"
|
753 |
|
754 |
-
#: inc/admin/ui/options.php:
|
755 |
msgid "I want this awesome quick access menu on my admin bar."
|
756 |
msgstr ""
|
757 |
"Voglio questo fantastico menu di accesso veloce alla mia barra "
|
758 |
"amministrazione."
|
759 |
|
760 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
761 |
#, php-format
|
762 |
msgid ""
|
763 |
"Once your settings saved, optimize all your images by using the %sImagify "
|
@@ -766,11 +637,11 @@ msgstr ""
|
|
766 |
"Una volta che le tue impostazioni saranno salvate, ottimizza tutte le tue "
|
767 |
"immagini usando l’opzione di %sottimizzazione massiva di Imagify%s."
|
768 |
|
769 |
-
#: inc/admin/ui/options.php:
|
770 |
msgid "You can choose three levels of compression"
|
771 |
msgstr "Puoi scegliere tre livelli di compressione"
|
772 |
|
773 |
-
#: inc/admin/ui/options.php:
|
774 |
msgid ""
|
775 |
"This mode provides lossless optimization, your images will be optimized "
|
776 |
"without any visible change."
|
@@ -778,21 +649,21 @@ msgstr ""
|
|
778 |
"Questa modalità permette un’ottimizzazione senza perdite: le tue immagini "
|
779 |
"saranno ottimizzate senza alcun visibile cambiamento."
|
780 |
|
781 |
-
#: inc/admin/ui/options.php:
|
782 |
msgid ""
|
783 |
"If you want the perfect quality for your images, we recommend you that mode."
|
784 |
msgstr ""
|
785 |
"Se vuoi mantenere la perfetta qualità delle tue immagini, ti raccomandiamo "
|
786 |
"questa modalità."
|
787 |
|
788 |
-
#: inc/admin/ui/options.php:
|
789 |
msgid ""
|
790 |
"Note: the file size reduction will be less, compared to aggressive mode."
|
791 |
msgstr ""
|
792 |
"Nota: la riduzione della dimensione dell’immagine sarà inferiore rispetto "
|
793 |
"alla modalità aggressiva."
|
794 |
|
795 |
-
#: inc/admin/ui/options.php:
|
796 |
msgid ""
|
797 |
"This mode provides perfect optimization of your images without any "
|
798 |
"significant quality loss."
|
@@ -800,7 +671,7 @@ msgstr ""
|
|
800 |
"Questa modalità ottimizzerà perfettamente le tue immagini senza alcuna "
|
801 |
"significativa perdita di qualità."
|
802 |
|
803 |
-
#: inc/admin/ui/options.php:
|
804 |
msgid ""
|
805 |
"This will provide a drastic savings on the initial weight, with a small "
|
806 |
"reduction in image quality. Most of the time it's not even noticeable."
|
@@ -809,13 +680,13 @@ msgstr ""
|
|
809 |
"una piccola riduzione della sua qualità. La maggior parte delle volte non "
|
810 |
"sarà nemmeno percepibile."
|
811 |
|
812 |
-
#: inc/admin/ui/options.php:
|
813 |
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
814 |
msgstr ""
|
815 |
"Se vuoi la massima riduzione del peso, ti raccomandiamo di usare questa "
|
816 |
"modalità."
|
817 |
|
818 |
-
#: inc/admin/ui/options.php:
|
819 |
msgid ""
|
820 |
"This mode will apply all available optimizations for maximum image "
|
821 |
"compression."
|
@@ -823,7 +694,7 @@ msgstr ""
|
|
823 |
"Questa modalità si applicherà a tutte le ottimizzazioni disponibili, per una "
|
824 |
"massima compressione dell’immagine."
|
825 |
|
826 |
-
#: inc/admin/ui/options.php:
|
827 |
msgid ""
|
828 |
"This will provide a huge savings on the initial weight. Sometimes the image "
|
829 |
"quality could be degraded a little."
|
@@ -831,7 +702,7 @@ msgstr ""
|
|
831 |
"Questo permetterà un enorme risparmio sul peso iniziale dell’immagine. A "
|
832 |
"volte la qualità dell’immagine potrebbe abbassarsi leggermente."
|
833 |
|
834 |
-
#: inc/admin/ui/options.php:
|
835 |
msgid ""
|
836 |
"If you want the maximum weight reduction, and you agree to lose some quality "
|
837 |
"on the images we recommend using this mode."
|
@@ -839,41 +710,62 @@ msgstr ""
|
|
839 |
"Se vuoi la massima riduzione del peso dell’immagine e accetti di abbassarne "
|
840 |
"un po’ la qualità, ti raccomandiamo di usare questa modalità."
|
841 |
|
842 |
-
#: inc/admin/ui/options.php:
|
|
|
|
|
|
|
|
|
|
|
843 |
#, php-format
|
844 |
msgid "I want to compare%s and%s"
|
845 |
msgstr "Voglio confrontare%s e %s"
|
846 |
|
847 |
-
#: inc/admin/ui/options.php:
|
848 |
#, php-format
|
849 |
msgid "Original photography about %s"
|
850 |
msgstr "Fotografia originale di %s"
|
851 |
|
852 |
-
#: inc/admin/ui/options.php:
|
853 |
-
#: inc/admin/ui/options.php:
|
854 |
#, php-format
|
855 |
msgid "Optimized photography about %s"
|
856 |
msgstr "Fotografia ottimizzata di %s"
|
857 |
|
858 |
-
#: inc/admin/ui/options.php:
|
859 |
-
#: inc/admin/ui/options.php:
|
860 |
-
#: inc/functions/admin-ui.php:
|
861 |
msgid "Level:"
|
862 |
msgstr "Livello:"
|
863 |
|
864 |
-
#: inc/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
865 |
msgid "Errors"
|
866 |
msgstr "Errori"
|
867 |
|
868 |
-
#: inc/admin/upload.php:
|
869 |
msgid "Filter by status"
|
870 |
msgstr "Filtra per stato"
|
871 |
|
872 |
-
#: inc/admin/upload.php:
|
873 |
msgid "All images"
|
874 |
msgstr "Tutte le immagini"
|
875 |
|
876 |
-
#: inc/classes/class-attachment.php:
|
877 |
msgid ""
|
878 |
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
879 |
"you want to optimize it."
|
@@ -890,50 +782,385 @@ msgstr "Dai un voto a Imagify su %s"
|
|
890 |
msgid "Loading..."
|
891 |
msgstr "In caricamento …"
|
892 |
|
893 |
-
#: inc/functions/admin-ui.php:
|
894 |
msgid "New Filesize:"
|
895 |
msgstr "Nuova dimensione del file:"
|
896 |
|
897 |
-
#: inc/functions/admin-ui.php:
|
898 |
msgid "Close details"
|
899 |
msgstr "Chiudi dettagli"
|
900 |
|
901 |
-
#: inc/functions/admin-ui.php:
|
902 |
msgid "View details"
|
903 |
msgstr "Visualizza dettagli"
|
904 |
|
905 |
-
#: inc/functions/admin-ui.php:
|
906 |
msgid "Original Filesize:"
|
907 |
msgstr "Dimensione originale del file:"
|
908 |
|
909 |
-
#: inc/functions/admin-ui.php:
|
910 |
msgid "Thumbnails Optimized:"
|
911 |
msgstr "Miniature ottimizzate:"
|
912 |
|
913 |
-
#: inc/functions/admin-ui.php:
|
914 |
msgid "Overall Saving:"
|
915 |
msgstr "Risparmio totale:"
|
916 |
|
917 |
-
#: inc/functions/admin-ui.php:
|
918 |
msgid "Restoring..."
|
919 |
msgstr "Ripristino…"
|
920 |
|
921 |
-
#: inc/functions/admin-ui.php:
|
922 |
msgid "Try again"
|
923 |
msgstr "Prova di nuovo"
|
924 |
|
925 |
-
#: inc/functions/admin-ui.php:
|
926 |
-
#: inc/functions/admin-ui.php:
|
927 |
#, php-format
|
928 |
msgid "Re-Optimize to %s"
|
929 |
msgstr "Ri-ottimizza a %s"
|
930 |
|
931 |
-
#: inc/functions/admin-ui.php:
|
932 |
#, php-format
|
933 |
msgid "%s can't be optimized"
|
934 |
msgstr "%s non ottimizzabile"
|
935 |
|
936 |
-
#: inc/functions/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
937 |
msgid ""
|
938 |
"Sorry, our servers are temporarily unaccessible. Please, try again in a "
|
939 |
"couple of minutes."
|
@@ -941,25 +1168,25 @@ msgstr ""
|
|
941 |
"Ci scusiamo, i nostri server sono temporalmente inaccessibili. Per favore, "
|
942 |
"riprova fra qualche minuto."
|
943 |
|
944 |
-
#: inc/functions/process.php:
|
945 |
msgid "External HTTP requests are blocked"
|
946 |
msgstr "Le richieste HTTP esterne sono bloccate"
|
947 |
|
948 |
-
#: inc/functions/process.php:
|
949 |
msgid "File path is empty"
|
950 |
msgstr "Il percorso del file è vuoto"
|
951 |
|
952 |
-
#: inc/functions/process.php:
|
953 |
#, php-format
|
954 |
msgid "Could not find %s"
|
955 |
msgstr "Impossibile trovare %s"
|
956 |
|
957 |
-
#: inc/functions/process.php:
|
958 |
#, php-format
|
959 |
msgid "%s is not writable"
|
960 |
msgstr "%s non è riscrivibile"
|
961 |
|
962 |
-
#: inc/functions/process.php:
|
963 |
#, php-format
|
964 |
msgid "Skipped (%s), image not found."
|
965 |
msgstr "Abbiamo saltato (%s), immagine non trovata."
|
@@ -970,14 +1197,10 @@ msgstr ""
|
|
970 |
|
971 |
#. Description of the plugin/theme
|
972 |
msgid ""
|
973 |
-
"Dramaticaly reduce image file sizes without
|
974 |
"website load faster, boost your SEO and save money on your bandwith using "
|
975 |
"Imagify, the new most advanced image optimization tool."
|
976 |
msgstr ""
|
977 |
-
"Riduci drasticamente la dimensione dei file immagine senza perdite di "
|
978 |
-
"qualità, velocizza il caricamento del tuo sito web, dai una spinta al tuo "
|
979 |
-
"SEO e risparmia sulla tua larghezza di banda…tutto grazie a Imagify, lo "
|
980 |
-
"strumento più avanzato per l’ottimizzazione di immagini."
|
981 |
|
982 |
#. Author of the plugin/theme
|
983 |
msgid "WP Media"
|
@@ -987,6 +1210,25 @@ msgstr ""
|
|
987 |
msgid "http://wp-media.me"
|
988 |
msgstr ""
|
989 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
990 |
#~ msgid ""
|
991 |
#~ "%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and "
|
992 |
#~ "improved your website's by reducing your images size."
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Imagify\n"
|
4 |
+
"POT-Creation-Date: 2016-04-19 16:27+0200\n"
|
5 |
+
"PO-Revision-Date: 2016-04-19 16:28+0200\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"Language: it\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
|
23 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:20
|
24 |
+
#: inc/admin/ajax.php:123 inc/admin/meta-boxes.php:34
|
25 |
+
#: inc/functions/admin-ui.php:212 inc/functions/i18n.php:46
|
26 |
+
#: inc/functions/i18n.php:61
|
|
|
|
|
|
|
|
|
|
|
27 |
msgid "Optimize"
|
28 |
msgstr "Ottimizza"
|
29 |
|
30 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php:21
|
31 |
+
#: inc/functions/admin-ui.php:80 inc/functions/i18n.php:47
|
32 |
+
msgid "Restore Original"
|
33 |
+
msgstr "Ripristina originale"
|
34 |
+
|
35 |
+
#: inc/3rd-party/nextgen-gallery/inc/admin/menu.php:16 inc/admin/menu.php:24
|
36 |
+
#: inc/admin/plugins.php:13 inc/admin/ui/bulk.php:81
|
37 |
+
#: inc/common/admin-bar.php:39
|
38 |
+
msgid "Bulk Optimization"
|
39 |
+
msgstr "Ottimizzazione massiva"
|
40 |
+
|
41 |
+
#: inc/admin/ajax.php:123 inc/admin/meta-boxes.php:29
|
42 |
+
#: inc/functions/admin-ui.php:121 inc/functions/admin-ui.php:153
|
43 |
+
#: inc/functions/admin-ui.php:159 inc/functions/admin-ui.php:165
|
44 |
+
#: inc/functions/admin-ui.php:202 inc/functions/admin-ui.php:212
|
45 |
+
msgid "Optimizing..."
|
46 |
+
msgstr "Ottimizzando…"
|
47 |
+
|
48 |
+
#: inc/admin/ajax.php:503
|
49 |
msgid "Oops, It's almost over!"
|
50 |
msgstr "Ops, quasi finito!"
|
51 |
|
52 |
+
#: inc/admin/ajax.php:504
|
53 |
#, php-format
|
54 |
msgid ""
|
55 |
"You have almost used all your credit.%sDon't forget to upgrade your "
|
58 |
"Hai usato quasi tutto il tuo credito.%sNon dimenticare di aggiornare il tuo "
|
59 |
"abbonamento per continuare a ottimizzare le tue immagini."
|
60 |
|
61 |
+
#: inc/admin/ajax.php:505 inc/admin/ui/bulk.php:23
|
62 |
msgid "View My Subscription"
|
63 |
msgstr "Vedere il mio abbonamento"
|
64 |
|
65 |
+
#: inc/admin/ajax.php:513 inc/admin/ui/notices.php:251
|
66 |
+
#: inc/functions/i18n.php:80
|
67 |
msgid "Oops, It's Over!"
|
68 |
msgstr "Ops, finito!"
|
69 |
|
70 |
+
#: inc/admin/ajax.php:514 inc/admin/ui/notices.php:253
|
71 |
+
#: inc/functions/i18n.php:97
|
72 |
#, php-format
|
73 |
msgid ""
|
74 |
"You have consumed all your credit for this month. You will have <strong>%s "
|
77 |
"Hai consumato tutto il tuo credito per questo mese. Avrai di nuovo <strong>"
|
78 |
"%s il %s</strong>."
|
79 |
|
80 |
+
#: inc/admin/ajax.php:515
|
81 |
msgid "Upgrade My Subscription"
|
82 |
msgstr "Aggiornare il mio abbonamento"
|
83 |
|
84 |
+
#: inc/admin/ajax.php:534 inc/admin/ui/bulk.php:17
|
85 |
msgid "Account status"
|
86 |
msgstr "Stato del mio account"
|
87 |
|
88 |
+
#: inc/admin/ajax.php:535 inc/admin/ui/bulk.php:18
|
89 |
msgid "Your subscription:"
|
90 |
msgstr "Il tuo abbonamento:"
|
91 |
|
92 |
+
#: inc/admin/ajax.php:543 inc/admin/ui/bulk.php:48
|
93 |
#, php-format
|
94 |
msgid "You have %s space credit left"
|
95 |
msgstr "Ti rimangono %s di spazio"
|
96 |
|
97 |
+
#: inc/admin/ajax.php:555
|
98 |
msgid "View my subscription"
|
99 |
msgstr "Vedere il mio abbonamento"
|
100 |
|
101 |
+
#: inc/admin/media.php:63 inc/functions/i18n.php:57
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
msgid "Compare Original VS Optimized"
|
103 |
msgstr "Confronta originale VS ottimizzata"
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
#. Plugin Name of the plugin/theme
|
106 |
#: inc/admin/meta-boxes.php:17 inc/admin/meta-boxes.php:24
|
107 |
+
#: inc/admin/upload.php:12
|
108 |
msgid "Imagify"
|
109 |
msgstr "Imagify"
|
110 |
|
111 |
+
#: inc/admin/meta-boxes.php:19 inc/functions/admin-ui.php:195
|
112 |
msgid "Invalid API key"
|
113 |
msgstr "Chiave API non valida"
|
114 |
|
115 |
+
#: inc/admin/meta-boxes.php:21 inc/functions/admin-ui.php:197
|
116 |
msgid "Check your Settings"
|
117 |
msgstr "Verifica delle tue impostazioni"
|
118 |
|
119 |
+
#: inc/admin/options.php:120
|
120 |
msgid "Cheatin’ uh?"
|
121 |
msgstr "Stai imbrogliando, vero?"
|
122 |
|
123 |
+
#: inc/admin/options.php:128
|
124 |
msgid "<strong>ERROR</strong>: options page not found."
|
125 |
msgstr "<strong>Errore</strong>: pagina delle opzioni non trovata."
|
126 |
|
127 |
+
#: inc/admin/plugins.php:14 inc/admin/ui/options.php:74
|
128 |
#: inc/common/admin-bar.php:30
|
129 |
msgid "Settings"
|
130 |
msgstr "Impostazioni"
|
137 |
msgid "More info"
|
138 |
msgstr "Maggiori informazioni"
|
139 |
|
140 |
+
#: inc/admin/ui/bulk.php:91
|
141 |
+
msgid "Overview"
|
142 |
+
msgstr "Sommario"
|
143 |
+
|
144 |
+
#: inc/admin/ui/bulk.php:99
|
145 |
+
#, php-format
|
146 |
+
msgid "You optimized %s images of your website"
|
147 |
+
msgstr "Hai ottimizzato il %s di immagini del tuo sito"
|
148 |
+
|
149 |
+
#: inc/admin/ui/bulk.php:103
|
150 |
+
msgid "Statistics"
|
151 |
+
msgstr "Statistiche"
|
152 |
+
|
153 |
+
#: inc/admin/ui/bulk.php:115
|
154 |
+
msgid "that's the number of images you optimized with Imagify"
|
155 |
+
msgstr "questo è il numero di immagini ottimizzate con Imagify"
|
156 |
+
|
157 |
+
#: inc/admin/ui/bulk.php:120
|
158 |
+
msgid "Original size"
|
159 |
+
msgstr "Dimensione originale"
|
160 |
+
|
161 |
+
#: inc/admin/ui/bulk.php:125
|
162 |
+
msgid "Optimized size"
|
163 |
+
msgstr "Dimensione ottimizzata"
|
164 |
+
|
165 |
+
#: inc/admin/ui/bulk.php:136
|
166 |
+
#, php-format
|
167 |
+
msgid "that's the size you saved %sby using Imagify"
|
168 |
+
msgstr "questa è la dimensione che hai risparmiato %sutilizzando Imagify"
|
169 |
+
|
170 |
+
#: inc/admin/ui/bulk.php:142
|
171 |
msgid "Information"
|
172 |
msgstr "Informazioni"
|
173 |
|
174 |
+
#: inc/admin/ui/bulk.php:146
|
175 |
msgid ""
|
176 |
"Please be aware that optimizing a large number of images can take a while "
|
177 |
"depending on your server and network speed."
|
180 |
"immagini può richiedere del tempo a seconda del tuo server e della velocità "
|
181 |
"di rete."
|
182 |
|
183 |
+
#: inc/admin/ui/bulk.php:149
|
184 |
#, php-format
|
185 |
msgid ""
|
186 |
"If you have more than %s images, you will need to launch the bulk "
|
189 |
"Se hai più di %s immagini, dovrai lanciare il processo di ottimizzazione "
|
190 |
"massivo varie volte."
|
191 |
|
192 |
+
#: inc/admin/ui/bulk.php:153
|
193 |
msgid ""
|
194 |
"You must keep this page open while the bulk optimizaton is processing. If "
|
195 |
"you leave you can come back to continue where it left off."
|
198 |
"massiva. Se la abbandoni, è possibile ritornarci e continuare da dove avevi "
|
199 |
"interrotto."
|
200 |
|
201 |
+
#: inc/admin/ui/bulk.php:164
|
202 |
msgid "Select Your Compression Level"
|
203 |
msgstr "Seleziona il livello di compressione"
|
204 |
|
205 |
+
#: inc/admin/ui/bulk.php:166 inc/admin/ui/bulk.php:192
|
206 |
+
#: inc/admin/ui/options.php:136 inc/admin/ui/options.php:365
|
207 |
+
#: inc/admin/ui/options.php:404 inc/admin/ui/options.php:421
|
208 |
+
#: inc/admin/ui/options.php:481
|
209 |
+
#: inc/classes/abstracts/abstract-attachment.php:114
|
210 |
+
#: inc/functions/admin-ui.php:153
|
211 |
msgid "Ultra"
|
212 |
msgstr "Ultra"
|
213 |
|
214 |
+
#: inc/admin/ui/bulk.php:169 inc/admin/ui/bulk.php:187
|
215 |
+
#: inc/admin/ui/options.php:131 inc/admin/ui/options.php:352
|
216 |
+
#: inc/admin/ui/options.php:403 inc/admin/ui/options.php:416
|
217 |
+
#: inc/admin/ui/options.php:460
|
218 |
+
#: inc/classes/abstracts/abstract-attachment.php:117
|
219 |
+
#: inc/functions/admin-ui.php:159
|
220 |
msgid "Aggressive"
|
221 |
msgstr "Aggressivo"
|
222 |
|
223 |
+
#: inc/admin/ui/bulk.php:172 inc/admin/ui/bulk.php:182
|
224 |
+
#: inc/admin/ui/options.php:126 inc/admin/ui/options.php:339
|
225 |
+
#: inc/admin/ui/options.php:402 inc/admin/ui/options.php:411
|
226 |
+
#: inc/admin/ui/options.php:440
|
227 |
+
#: inc/classes/abstracts/abstract-attachment.php:120
|
228 |
+
#: inc/functions/admin-ui.php:165
|
229 |
msgid "Normal"
|
230 |
msgstr "Normale"
|
231 |
|
232 |
+
#: inc/admin/ui/bulk.php:176
|
233 |
+
#, php-format
|
234 |
+
msgid "Your default setting: %s"
|
235 |
+
msgstr "Le tue impostazioni di base: %s"
|
236 |
|
237 |
+
#: inc/admin/ui/bulk.php:201
|
238 |
#, php-format
|
239 |
msgid "Don't forget to check %syour settings%s before bulk optimization."
|
240 |
msgstr ""
|
241 |
"Non dimenticare di controllare %sle tue impostazioni%s prima "
|
242 |
"dell’ottimizzazione massiva."
|
243 |
|
244 |
+
#: inc/admin/ui/bulk.php:208
|
245 |
+
msgid "Let's go!"
|
246 |
+
msgstr "Si parte!"
|
247 |
+
|
248 |
+
#: inc/admin/ui/bulk.php:215
|
249 |
msgid "Imagif'em all"
|
250 |
msgstr "Imagifica tutto!"
|
251 |
|
252 |
+
#: inc/admin/ui/bulk.php:220
|
253 |
#, php-format
|
254 |
msgid ""
|
255 |
+
"All images greater than %s will be optimized when using a paying monthly "
|
256 |
+
"plan."
|
257 |
msgstr ""
|
258 |
+
"Tutte le immagini superiori a %s verranno ottimizzate usando il piano "
|
259 |
+
"mensile a pagamento."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
|
261 |
+
#: inc/admin/ui/bulk.php:239
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
msgid "Well done!"
|
263 |
msgstr "Ben fatto!"
|
264 |
|
265 |
+
#: inc/admin/ui/bulk.php:240
|
266 |
#, php-format
|
267 |
msgid "you saved %1$s out of %2$s"
|
268 |
msgstr "hai risparmiato %1$s su %2$s"
|
269 |
|
270 |
+
#: inc/admin/ui/bulk.php:245
|
271 |
msgid "Share your awesome result"
|
272 |
msgstr "Condividi questo impressionante risultato"
|
273 |
|
274 |
+
#: inc/admin/ui/bulk.php:260
|
275 |
msgid "Compression process results"
|
276 |
msgstr "Risultati del processo di compressione"
|
277 |
|
278 |
+
#: inc/admin/ui/bulk.php:263
|
279 |
msgid "Filename"
|
280 |
msgstr "Nome del file"
|
281 |
|
282 |
+
#: inc/admin/ui/bulk.php:264
|
283 |
msgid "Status"
|
284 |
msgstr "Stato"
|
285 |
|
286 |
+
#: inc/admin/ui/bulk.php:265 inc/admin/ui/options.php:401
|
287 |
+
#: inc/admin/ui/options.php:406 inc/admin/ui/options.php:430
|
288 |
msgid "Original"
|
289 |
msgstr "Originale"
|
290 |
|
291 |
+
#: inc/admin/ui/bulk.php:266 inc/admin/upload.php:41 inc/functions/i18n.php:76
|
292 |
+
msgid "Optimized"
|
293 |
+
msgstr "Ottimizzato"
|
294 |
+
|
295 |
+
#: inc/admin/ui/bulk.php:267
|
296 |
msgid "Percentage"
|
297 |
msgstr "Percentuale"
|
298 |
|
299 |
+
#: inc/admin/ui/bulk.php:268
|
300 |
msgid "Thumbnails optimized"
|
301 |
msgstr "Miniature ottimizzate"
|
302 |
|
303 |
+
#: inc/admin/ui/bulk.php:269
|
304 |
msgid "Overall saving"
|
305 |
msgstr "Risparmio complessivo"
|
306 |
|
307 |
+
#: inc/admin/ui/bulk.php:274
|
308 |
msgid "file"
|
309 |
msgstr "file"
|
310 |
|
311 |
+
#: inc/admin/ui/bulk.php:275
|
312 |
msgid "error"
|
313 |
msgstr "errore"
|
314 |
|
315 |
+
#: inc/admin/ui/bulk.php:276
|
316 |
msgid "Total:"
|
317 |
msgstr "Totale:"
|
318 |
|
319 |
+
#: inc/admin/ui/bulk.php:277
|
320 |
msgid "Gain:"
|
321 |
msgstr "Guadagno:"
|
322 |
|
323 |
+
#: inc/admin/ui/bulk.php:294
|
324 |
#, php-format
|
325 |
msgid "%sStart the bulk optimization%s"
|
326 |
msgstr "%sInizia l’ottimizzazione massiva%s"
|
384 |
msgid "Go to Settings"
|
385 |
msgstr "Vai alle impostazioni"
|
386 |
|
387 |
+
#: inc/admin/ui/notices.php:85 inc/admin/ui/options.php:97
|
388 |
msgid "Your API key isn't valid!"
|
389 |
msgstr "La tua chiave API non è valida!"
|
390 |
|
449 |
msgid "Switch to the List View"
|
450 |
msgstr "Passa a visualizzazione Lista"
|
451 |
|
452 |
+
#: inc/admin/ui/notices.php:253 inc/functions/i18n.php:94
|
453 |
+
#: inc/functions/i18n.php:97
|
454 |
+
#, php-format
|
455 |
+
msgid ""
|
456 |
+
"To continue to optimize your images, log in to your Imagify account to %sbuy "
|
457 |
+
"a pack or subscribe to a plan%s."
|
458 |
+
msgstr ""
|
459 |
+
"Per continuare a ottimizzare le tue immagini, entra nel tuo account Imagify "
|
460 |
+
"per %scomprare un pack o sottoscrivere un abbonamento %s."
|
461 |
+
|
462 |
+
#: inc/admin/ui/notices.php:306 inc/admin/ui/options.php:28
|
463 |
msgid "Discover the best caching plugin to speed up your website."
|
464 |
msgstr "Scopri i migliori plugin di cache per velocizzare il tuo sito Web."
|
465 |
|
466 |
+
#: inc/admin/ui/notices.php:309 inc/admin/ui/options.php:36
|
467 |
#, php-format
|
468 |
msgid "%sGet %s off%s with this coupon code:%s"
|
469 |
msgstr "Ottieni il %s%s%s di sconto usando questo coupon:%s"
|
470 |
|
471 |
+
#: inc/admin/ui/notices.php:318 inc/admin/ui/options.php:41
|
472 |
msgid "Get WP Rocket now"
|
473 |
msgstr "Acquista WP Rocket!"
|
474 |
|
481 |
"%1$sCongratulazioni!%2$s Hai ottimizzato %1$s%3$d immagini%2$s e velocizzato "
|
482 |
"così il tuo sito web."
|
483 |
|
484 |
+
#: inc/admin/ui/notices.php:356 inc/admin/ui/options.php:59
|
485 |
#, php-format
|
486 |
msgid ""
|
487 |
"%sDo you like this plugin?%s Please take a few seconds to %srate it on "
|
490 |
"%sTi piace questo plugin?%s Per favore, dedicaci pochi secondi per %sdargli "
|
491 |
"un voto su WordPress.org%s!"
|
492 |
|
493 |
+
#: inc/admin/ui/options.php:22
|
494 |
msgid "Is your website too slow?"
|
495 |
msgstr "Il tuo sito web è troppo lento?"
|
496 |
|
497 |
+
#: inc/admin/ui/options.php:84
|
498 |
msgid "API Key"
|
499 |
msgstr "Chiave API"
|
500 |
|
501 |
+
#: inc/admin/ui/options.php:91 inc/functions/i18n.php:31
|
502 |
+
msgid "Your API key is valid."
|
503 |
+
msgstr "La tua chiave API è valida."
|
504 |
+
|
505 |
+
#: inc/admin/ui/options.php:104
|
506 |
#, php-format
|
507 |
msgid "Don't have an API Key yet? %sCreate one, it's FREE%s."
|
508 |
msgstr "Non hai ancora una chiave API? %sCreane una, è GRATIS%s."
|
509 |
|
510 |
+
#: inc/admin/ui/options.php:121
|
511 |
msgid "Optimization Level"
|
512 |
msgstr "Livello di ottimizzazione"
|
513 |
|
514 |
+
#: inc/admin/ui/options.php:141
|
515 |
msgid "More info?"
|
516 |
msgstr "Vuoi più informazioni?"
|
517 |
|
518 |
+
#: inc/admin/ui/options.php:148
|
519 |
#, php-format
|
520 |
msgid "Need help to choose? %sTry the Visual Comparison%s"
|
521 |
msgstr "Hai bisogno di aiuto per scegliere? %sProva il confronto visivo%s"
|
522 |
|
523 |
+
#: inc/admin/ui/options.php:157 inc/admin/ui/options.php:161
|
524 |
msgid "Auto-Optimize images on upload"
|
525 |
msgstr "Auto-ottimizza le immagini in fase di caricamento"
|
526 |
|
527 |
+
#: inc/admin/ui/options.php:165
|
528 |
msgid "Automatically optimize every image you upload to WordPress."
|
529 |
msgstr "Ottimizza automaticamente ogni immagine che hai caricato in Wordpress."
|
530 |
|
531 |
+
#: inc/admin/ui/options.php:170 inc/admin/ui/options.php:173
|
532 |
msgid "Backup original images"
|
533 |
msgstr "Backup delle immagini originali"
|
534 |
|
535 |
+
#: inc/admin/ui/options.php:177
|
536 |
msgid ""
|
537 |
"Keep your original images in a separate folder before optimization process."
|
538 |
msgstr ""
|
539 |
"Mantieni le tue immagini originali in una cartella separata prima del "
|
540 |
"processo di ottimizzazione."
|
541 |
|
542 |
+
#: inc/admin/ui/options.php:182 inc/admin/ui/options.php:185
|
543 |
msgid "Resize larger images"
|
544 |
msgstr "Ridimensiona le immagini più grandi"
|
545 |
|
546 |
+
#: inc/admin/ui/options.php:191
|
547 |
#, php-format
|
548 |
msgid "to maximum %s pixels width"
|
549 |
msgstr "a un massimo di %s di larghezza"
|
550 |
|
551 |
+
#: inc/admin/ui/options.php:202
|
552 |
#, php-format
|
553 |
msgid ""
|
554 |
"This option is recommended to reduce larger images. You can save up to 80%% "
|
560 |
"dovrebbe essere inferiore a quella della tua miniatura più grande, che "
|
561 |
"attualmente è di %spx."
|
562 |
|
563 |
+
#: inc/admin/ui/options.php:209 inc/admin/ui/options.php:212
|
564 |
msgid "EXIF Data"
|
565 |
msgstr "Dati EXIF"
|
566 |
|
567 |
+
#: inc/admin/ui/options.php:216
|
568 |
msgid ""
|
569 |
"Keep all EXIF data from your images. EXIF are informations stored in your "
|
570 |
"pictures like shutter speed, exposure compensation, ISO, etc..."
|
573 |
"archiviate nelle tue immagini, come la velocità dell’otturatore, la "
|
574 |
"compensazione dell’esposizione, gli ISO, etc…"
|
575 |
|
576 |
+
#: inc/admin/ui/options.php:217
|
577 |
msgid "Learn more"
|
578 |
msgstr "Maggiori informazioni"
|
579 |
|
580 |
+
#: inc/admin/ui/options.php:219
|
581 |
msgid ""
|
582 |
"If you are a photographer, you may be interested in this option if you are "
|
583 |
"displaying on your pages some info like the model of your camera."
|
586 |
"in cui voglia pubblicare sulle tue pagine informazioni come il modello della "
|
587 |
"tua macchina fotografica."
|
588 |
|
589 |
+
#: inc/admin/ui/options.php:228
|
590 |
msgid "Files optimization"
|
591 |
msgstr "Ottimizzazione dei file"
|
592 |
|
593 |
+
#: inc/admin/ui/options.php:231
|
594 |
msgid ""
|
595 |
"You can choose to compress different image sizes created by WordPress here."
|
596 |
msgstr ""
|
597 |
"Qui puoi scegliere di comprimere formati di immagine diversi creati con "
|
598 |
"WordPress."
|
599 |
|
600 |
+
#: inc/admin/ui/options.php:233
|
601 |
#, php-format
|
602 |
msgid "The %soriginal size%s is %sautomatically optimized%s by Imagify."
|
603 |
msgstr ""
|
604 |
"La %sdimensione originale%s è %sautomaticamente ottimizzata%s da Imagify."
|
605 |
|
606 |
+
#: inc/admin/ui/options.php:236
|
607 |
msgid ""
|
608 |
"Remember each additional image size will affect your Imagify monthly usage!"
|
609 |
msgstr ""
|
610 |
"Ricorda che ogni formato di immagine addizionale avrà un impatto sul tuo "
|
611 |
"utilizzo mensile di Imagify!"
|
612 |
|
613 |
+
#: inc/admin/ui/options.php:289
|
614 |
msgid "Display options"
|
615 |
msgstr "Visualizza le opzioni"
|
616 |
|
617 |
+
#: inc/admin/ui/options.php:294 inc/admin/ui/options.php:299
|
618 |
msgid "Show Admin Bar menu"
|
619 |
msgstr "Mostra barra di amministrazione"
|
620 |
|
621 |
+
#: inc/admin/ui/options.php:300
|
622 |
msgid "I want this awesome quick access menu on my admin bar."
|
623 |
msgstr ""
|
624 |
"Voglio questo fantastico menu di accesso veloce alla mia barra "
|
625 |
"amministrazione."
|
626 |
|
627 |
+
#: inc/admin/ui/options.php:319
|
628 |
+
msgid "Save & Go to Bulk Optimizer"
|
629 |
+
msgstr "Salva & Procedi con l'ottimizzazione massiva"
|
630 |
+
|
631 |
+
#: inc/admin/ui/options.php:328
|
632 |
#, php-format
|
633 |
msgid ""
|
634 |
"Once your settings saved, optimize all your images by using the %sImagify "
|
637 |
"Una volta che le tue impostazioni saranno salvate, ottimizza tutte le tue "
|
638 |
"immagini usando l’opzione di %sottimizzazione massiva di Imagify%s."
|
639 |
|
640 |
+
#: inc/admin/ui/options.php:336
|
641 |
msgid "You can choose three levels of compression"
|
642 |
msgstr "Puoi scegliere tre livelli di compressione"
|
643 |
|
644 |
+
#: inc/admin/ui/options.php:341
|
645 |
msgid ""
|
646 |
"This mode provides lossless optimization, your images will be optimized "
|
647 |
"without any visible change."
|
649 |
"Questa modalità permette un’ottimizzazione senza perdite: le tue immagini "
|
650 |
"saranno ottimizzate senza alcun visibile cambiamento."
|
651 |
|
652 |
+
#: inc/admin/ui/options.php:344
|
653 |
msgid ""
|
654 |
"If you want the perfect quality for your images, we recommend you that mode."
|
655 |
msgstr ""
|
656 |
"Se vuoi mantenere la perfetta qualità delle tue immagini, ti raccomandiamo "
|
657 |
"questa modalità."
|
658 |
|
659 |
+
#: inc/admin/ui/options.php:347
|
660 |
msgid ""
|
661 |
"Note: the file size reduction will be less, compared to aggressive mode."
|
662 |
msgstr ""
|
663 |
"Nota: la riduzione della dimensione dell’immagine sarà inferiore rispetto "
|
664 |
"alla modalità aggressiva."
|
665 |
|
666 |
+
#: inc/admin/ui/options.php:354
|
667 |
msgid ""
|
668 |
"This mode provides perfect optimization of your images without any "
|
669 |
"significant quality loss."
|
671 |
"Questa modalità ottimizzerà perfettamente le tue immagini senza alcuna "
|
672 |
"significativa perdita di qualità."
|
673 |
|
674 |
+
#: inc/admin/ui/options.php:357
|
675 |
msgid ""
|
676 |
"This will provide a drastic savings on the initial weight, with a small "
|
677 |
"reduction in image quality. Most of the time it's not even noticeable."
|
680 |
"una piccola riduzione della sua qualità. La maggior parte delle volte non "
|
681 |
"sarà nemmeno percepibile."
|
682 |
|
683 |
+
#: inc/admin/ui/options.php:360
|
684 |
msgid "If you want the maximum weight reduction, we recommend using this mode."
|
685 |
msgstr ""
|
686 |
"Se vuoi la massima riduzione del peso, ti raccomandiamo di usare questa "
|
687 |
"modalità."
|
688 |
|
689 |
+
#: inc/admin/ui/options.php:367
|
690 |
msgid ""
|
691 |
"This mode will apply all available optimizations for maximum image "
|
692 |
"compression."
|
694 |
"Questa modalità si applicherà a tutte le ottimizzazioni disponibili, per una "
|
695 |
"massima compressione dell’immagine."
|
696 |
|
697 |
+
#: inc/admin/ui/options.php:370
|
698 |
msgid ""
|
699 |
"This will provide a huge savings on the initial weight. Sometimes the image "
|
700 |
"quality could be degraded a little."
|
702 |
"Questo permetterà un enorme risparmio sul peso iniziale dell’immagine. A "
|
703 |
"volte la qualità dell’immagine potrebbe abbassarsi leggermente."
|
704 |
|
705 |
+
#: inc/admin/ui/options.php:373
|
706 |
msgid ""
|
707 |
"If you want the maximum weight reduction, and you agree to lose some quality "
|
708 |
"on the images we recommend using this mode."
|
710 |
"Se vuoi la massima riduzione del peso dell’immagine e accetti di abbassarne "
|
711 |
"un po’ la qualità, ti raccomandiamo di usare questa modalità."
|
712 |
|
713 |
+
#: inc/admin/ui/options.php:380 inc/admin/ui/options.php:502
|
714 |
+
#: inc/functions/admin-ui.php:659 inc/functions/i18n.php:58
|
715 |
+
msgid "Close"
|
716 |
+
msgstr "Chiudi"
|
717 |
+
|
718 |
+
#: inc/admin/ui/options.php:392
|
719 |
#, php-format
|
720 |
msgid "I want to compare%s and%s"
|
721 |
msgstr "Voglio confrontare%s e %s"
|
722 |
|
723 |
+
#: inc/admin/ui/options.php:409
|
724 |
#, php-format
|
725 |
msgid "Original photography about %s"
|
726 |
msgstr "Fotografia originale di %s"
|
727 |
|
728 |
+
#: inc/admin/ui/options.php:414 inc/admin/ui/options.php:419
|
729 |
+
#: inc/admin/ui/options.php:424
|
730 |
#, php-format
|
731 |
msgid "Optimized photography about %s"
|
732 |
msgstr "Fotografia ottimizzata di %s"
|
733 |
|
734 |
+
#: inc/admin/ui/options.php:429 inc/admin/ui/options.php:439
|
735 |
+
#: inc/admin/ui/options.php:459 inc/admin/ui/options.php:480
|
736 |
+
#: inc/functions/admin-ui.php:59
|
737 |
msgid "Level:"
|
738 |
msgstr "Livello:"
|
739 |
|
740 |
+
#: inc/admin/ui/options.php:433 inc/admin/ui/options.php:443
|
741 |
+
#: inc/admin/ui/options.php:463 inc/admin/ui/options.php:484
|
742 |
+
#: inc/functions/i18n.php:59
|
743 |
+
msgid "File Size:"
|
744 |
+
msgstr "Dimensione del file:"
|
745 |
+
|
746 |
+
#: inc/admin/ui/options.php:447 inc/admin/ui/options.php:467
|
747 |
+
#: inc/admin/ui/options.php:488 inc/functions/admin-ui.php:45
|
748 |
+
#: inc/functions/i18n.php:60
|
749 |
+
msgid "Original Saving:"
|
750 |
+
msgstr "Risparmio originale:"
|
751 |
+
|
752 |
+
#: inc/admin/upload.php:42 inc/functions/i18n.php:77
|
753 |
+
msgid "Unoptimized"
|
754 |
+
msgstr "Non ottimizzato"
|
755 |
+
|
756 |
+
#: inc/admin/upload.php:43
|
757 |
msgid "Errors"
|
758 |
msgstr "Errori"
|
759 |
|
760 |
+
#: inc/admin/upload.php:46
|
761 |
msgid "Filter by status"
|
762 |
msgstr "Filtra per stato"
|
763 |
|
764 |
+
#: inc/admin/upload.php:49
|
765 |
msgid "All images"
|
766 |
msgstr "Tutte le immagini"
|
767 |
|
768 |
+
#: inc/classes/class-attachment.php:266
|
769 |
msgid ""
|
770 |
"This size isn't authorized to be optimized. Update your Imagify settings if "
|
771 |
"you want to optimize it."
|
782 |
msgid "Loading..."
|
783 |
msgstr "In caricamento …"
|
784 |
|
785 |
+
#: inc/functions/admin-ui.php:36
|
786 |
msgid "New Filesize:"
|
787 |
msgstr "Nuova dimensione del file:"
|
788 |
|
789 |
+
#: inc/functions/admin-ui.php:52
|
790 |
msgid "Close details"
|
791 |
msgstr "Chiudi dettagli"
|
792 |
|
793 |
+
#: inc/functions/admin-ui.php:52
|
794 |
msgid "View details"
|
795 |
msgstr "Visualizza dettagli"
|
796 |
|
797 |
+
#: inc/functions/admin-ui.php:56
|
798 |
msgid "Original Filesize:"
|
799 |
msgstr "Dimensione originale del file:"
|
800 |
|
801 |
+
#: inc/functions/admin-ui.php:62
|
802 |
msgid "Thumbnails Optimized:"
|
803 |
msgstr "Miniature ottimizzate:"
|
804 |
|
805 |
+
#: inc/functions/admin-ui.php:63
|
806 |
msgid "Overall Saving:"
|
807 |
msgstr "Risparmio totale:"
|
808 |
|
809 |
+
#: inc/functions/admin-ui.php:80
|
810 |
msgid "Restoring..."
|
811 |
msgstr "Ripristino…"
|
812 |
|
813 |
+
#: inc/functions/admin-ui.php:121
|
814 |
msgid "Try again"
|
815 |
msgstr "Prova di nuovo"
|
816 |
|
817 |
+
#: inc/functions/admin-ui.php:153 inc/functions/admin-ui.php:159
|
818 |
+
#: inc/functions/admin-ui.php:165
|
819 |
#, php-format
|
820 |
msgid "Re-Optimize to %s"
|
821 |
msgstr "Ri-ottimizza a %s"
|
822 |
|
823 |
+
#: inc/functions/admin-ui.php:189
|
824 |
#, php-format
|
825 |
msgid "%s can't be optimized"
|
826 |
msgstr "%s non ottimizzabile"
|
827 |
|
828 |
+
#: inc/functions/admin-ui.php:237
|
829 |
+
msgid "What plan do I need?"
|
830 |
+
msgstr ""
|
831 |
+
|
832 |
+
#: inc/functions/admin-ui.php:241
|
833 |
+
msgid "You're new to Imagify?"
|
834 |
+
msgstr ""
|
835 |
+
|
836 |
+
#: inc/functions/admin-ui.php:242
|
837 |
+
msgid ""
|
838 |
+
"Let us help you by analyzing your existing images and determinate the best "
|
839 |
+
"plan for you"
|
840 |
+
msgstr ""
|
841 |
+
|
842 |
+
#: inc/functions/admin-ui.php:277
|
843 |
+
msgid "Choose Plan"
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
+
#: inc/functions/admin-ui.php:278
|
847 |
+
msgid "Payment Info"
|
848 |
+
msgstr ""
|
849 |
+
|
850 |
+
#: inc/functions/admin-ui.php:283
|
851 |
+
msgid "We analysed your images"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: inc/functions/admin-ui.php:289
|
855 |
+
#, php-format
|
856 |
+
msgid "You have %s images"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: inc/functions/admin-ui.php:295
|
860 |
+
#, php-format
|
861 |
+
msgid "You actually have %s of images in your library."
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: inc/functions/admin-ui.php:299
|
865 |
+
#, php-format
|
866 |
+
msgid "You upload around %s of images per month."
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: inc/functions/admin-ui.php:306
|
870 |
+
msgid "We recommend you this plan"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: inc/functions/admin-ui.php:311
|
874 |
+
msgid "Subscribe a monthly plan"
|
875 |
+
msgstr ""
|
876 |
+
|
877 |
+
#: inc/functions/admin-ui.php:312
|
878 |
+
msgid "Subscribe a yearly plan"
|
879 |
+
msgstr ""
|
880 |
+
|
881 |
+
#: inc/functions/admin-ui.php:316 inc/functions/admin-ui.php:452
|
882 |
+
#: inc/functions/admin-ui.php:620
|
883 |
+
msgid "Monthly"
|
884 |
+
msgstr ""
|
885 |
+
|
886 |
+
#: inc/functions/admin-ui.php:319 inc/functions/admin-ui.php:455
|
887 |
+
#: inc/functions/admin-ui.php:623
|
888 |
+
msgid "Yearly"
|
889 |
+
msgstr ""
|
890 |
+
|
891 |
+
#: inc/functions/admin-ui.php:319 inc/functions/admin-ui.php:455
|
892 |
+
#: inc/functions/admin-ui.php:623
|
893 |
+
msgid "2 months free"
|
894 |
+
msgstr ""
|
895 |
+
|
896 |
+
#: inc/functions/admin-ui.php:330 inc/functions/admin-ui.php:349
|
897 |
+
#: inc/functions/admin-ui.php:465 inc/functions/admin-ui.php:475
|
898 |
+
msgid "/month"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: inc/functions/admin-ui.php:332 inc/functions/admin-ui.php:380
|
902 |
+
#: inc/functions/admin-ui.php:467 inc/functions/admin-ui.php:518
|
903 |
+
#, php-format
|
904 |
+
msgid "approx: %s images"
|
905 |
+
msgstr ""
|
906 |
+
|
907 |
+
#: inc/functions/admin-ui.php:353 inc/functions/admin-ui.php:481
|
908 |
+
#, php-format
|
909 |
+
msgid ""
|
910 |
+
"%s per<br>\n"
|
911 |
+
"additionnal Gb"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: inc/functions/admin-ui.php:358 inc/functions/admin-ui.php:393
|
915 |
+
#: inc/functions/admin-ui.php:577 inc/functions/admin-ui.php:598
|
916 |
+
msgid "Choose another plan"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: inc/functions/admin-ui.php:368
|
920 |
+
msgid "Optimize the images you already have, buy a one-time plan"
|
921 |
+
msgstr ""
|
922 |
+
|
923 |
+
#: inc/functions/admin-ui.php:404
|
924 |
+
msgid "Checkout"
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: inc/functions/admin-ui.php:408
|
928 |
+
msgid ""
|
929 |
+
"Monthly plans comes with credits which is renewed every months. The billing "
|
930 |
+
"happens automatically each month or year depending the billing period you "
|
931 |
+
"choose."
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: inc/functions/admin-ui.php:432
|
935 |
+
msgid "Monthly Plans"
|
936 |
+
msgstr ""
|
937 |
+
|
938 |
+
#: inc/functions/admin-ui.php:437
|
939 |
+
msgid "One Time Plans"
|
940 |
+
msgstr ""
|
941 |
+
|
942 |
+
#: inc/functions/admin-ui.php:447
|
943 |
+
msgid ""
|
944 |
+
"Monthly plans come with credits which is renewed every months. The billing "
|
945 |
+
"happens automatically each month or year depending the billing period you "
|
946 |
+
"choose."
|
947 |
+
msgstr ""
|
948 |
+
|
949 |
+
#: inc/functions/admin-ui.php:479 inc/functions/admin-ui.php:526
|
950 |
+
msgid "we recommend for you"
|
951 |
+
msgstr ""
|
952 |
+
|
953 |
+
#: inc/functions/admin-ui.php:487 inc/functions/admin-ui.php:530
|
954 |
+
msgid "Choose plan"
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: inc/functions/admin-ui.php:495
|
958 |
+
msgid "Need more?"
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: inc/functions/admin-ui.php:496
|
962 |
+
msgid "for special needs"
|
963 |
+
msgstr ""
|
964 |
+
|
965 |
+
#: inc/functions/admin-ui.php:500
|
966 |
+
msgid "Contact Us"
|
967 |
+
msgstr ""
|
968 |
+
|
969 |
+
#: inc/functions/admin-ui.php:507
|
970 |
+
msgid ""
|
971 |
+
"One time plans are useful if you have a lots of existing images which need "
|
972 |
+
"to be optimized. You can use it for bulk optimizing all your past images. "
|
973 |
+
"You will pay only once."
|
974 |
+
msgstr ""
|
975 |
+
|
976 |
+
#: inc/functions/admin-ui.php:560
|
977 |
+
msgid "Your order"
|
978 |
+
msgstr ""
|
979 |
+
|
980 |
+
#: inc/functions/admin-ui.php:565
|
981 |
+
#, php-format
|
982 |
+
msgid "%scancel%sYou just removed %s"
|
983 |
+
msgstr ""
|
984 |
+
|
985 |
+
#: inc/functions/admin-ui.php:573 inc/functions/admin-ui.php:594
|
986 |
+
msgid "Remove this item"
|
987 |
+
msgstr ""
|
988 |
+
|
989 |
+
#: inc/functions/admin-ui.php:580
|
990 |
+
#, php-format
|
991 |
+
msgid "%s per month"
|
992 |
+
msgstr ""
|
993 |
+
|
994 |
+
#: inc/functions/admin-ui.php:601
|
995 |
+
#, php-format
|
996 |
+
msgid "one time %s"
|
997 |
+
msgstr ""
|
998 |
+
|
999 |
+
#: inc/functions/admin-ui.php:614
|
1000 |
+
#, php-format
|
1001 |
+
msgid ""
|
1002 |
+
"Switch to yearly subscription and <br><strong class=\"imagify-dark\">save %s "
|
1003 |
+
"per year!</strong>"
|
1004 |
+
msgstr ""
|
1005 |
+
|
1006 |
+
#: inc/functions/admin-ui.php:615
|
1007 |
+
#, php-format
|
1008 |
+
msgid ""
|
1009 |
+
"Perfect!<br>You're <strong class=\"imagify-dark\">saving %s per year!</"
|
1010 |
+
"strong>"
|
1011 |
+
msgstr ""
|
1012 |
+
|
1013 |
+
#: inc/functions/admin-ui.php:654
|
1014 |
+
msgid "Thank you for being awesome!"
|
1015 |
+
msgstr ""
|
1016 |
+
|
1017 |
+
#: inc/functions/admin-ui.php:665
|
1018 |
+
msgid "What do our user think about Imagify"
|
1019 |
+
msgstr ""
|
1020 |
+
|
1021 |
+
#: inc/functions/admin-ui.php:699
|
1022 |
+
msgid "Secure Credit Card Payment"
|
1023 |
+
msgstr ""
|
1024 |
+
|
1025 |
+
#: inc/functions/admin-ui.php:700
|
1026 |
+
msgid "This is secure 128-bits SSL encrypted payment"
|
1027 |
+
msgstr ""
|
1028 |
+
|
1029 |
+
#: inc/functions/i18n.php:19
|
1030 |
+
msgid "Let's get you started!"
|
1031 |
+
msgstr "Iniziamo!"
|
1032 |
+
|
1033 |
+
#: inc/functions/i18n.php:20
|
1034 |
+
msgid "Enter your email to get an API key:"
|
1035 |
+
msgstr "Inserisci la tua email per ottenere una chiave API:"
|
1036 |
+
|
1037 |
+
#: inc/functions/i18n.php:21
|
1038 |
+
msgid "Sign Up"
|
1039 |
+
msgstr "Registrati"
|
1040 |
+
|
1041 |
+
#: inc/functions/i18n.php:22
|
1042 |
+
msgid "You need to specify an email!"
|
1043 |
+
msgstr "È necessario specificare un indirizzo email!"
|
1044 |
+
|
1045 |
+
#: inc/functions/i18n.php:23 inc/functions/i18n.php:29
|
1046 |
+
msgid "Congratulations!"
|
1047 |
+
msgstr "Congratulazioni!"
|
1048 |
+
|
1049 |
+
#: inc/functions/i18n.php:24
|
1050 |
+
msgid ""
|
1051 |
+
"Your account has been succesfully created. Please check your mailbox, you "
|
1052 |
+
"are going to receive an email with API key."
|
1053 |
+
msgstr ""
|
1054 |
+
"Il tuo account è stato creato con successo. Per favore controlla la tua "
|
1055 |
+
"casella email, stai per ricevere un messaggio con la chiave API."
|
1056 |
+
|
1057 |
+
#: inc/functions/i18n.php:25
|
1058 |
+
msgid "Connect to Imagify!"
|
1059 |
+
msgstr "Connettiti a Imagify!"
|
1060 |
+
|
1061 |
+
#: inc/functions/i18n.php:26
|
1062 |
+
msgid "Paste your API key below:"
|
1063 |
+
msgstr "Incolla qui sotto la chiave API:"
|
1064 |
+
|
1065 |
+
#: inc/functions/i18n.php:27
|
1066 |
+
msgid "Connect me"
|
1067 |
+
msgstr "Connettimi"
|
1068 |
+
|
1069 |
+
#: inc/functions/i18n.php:28
|
1070 |
+
msgid "Check in progress..."
|
1071 |
+
msgstr "Verifica in corso…"
|
1072 |
+
|
1073 |
+
#: inc/functions/i18n.php:30
|
1074 |
+
msgid ""
|
1075 |
+
"Your API key is valid. You can now configure the Imagify settings to "
|
1076 |
+
"optimize your images."
|
1077 |
+
msgstr ""
|
1078 |
+
"La tua chiave API è valida. Ora puoi configurare le impostazioni di Imagify "
|
1079 |
+
"per ottimizzare le tue immagini."
|
1080 |
+
|
1081 |
+
#: inc/functions/i18n.php:32
|
1082 |
+
msgid "Cancel"
|
1083 |
+
msgstr ""
|
1084 |
+
|
1085 |
+
#: inc/functions/i18n.php:38
|
1086 |
+
msgid "Don't Need a Parachute?"
|
1087 |
+
msgstr "Non hai bisogno di un paracadute?"
|
1088 |
+
|
1089 |
+
#: inc/functions/i18n.php:39
|
1090 |
+
msgid ""
|
1091 |
+
"If you keep this option deactivated, you won't be able to re-optimize your "
|
1092 |
+
"images to another compression level and restore your original images in case "
|
1093 |
+
"of need."
|
1094 |
+
msgstr ""
|
1095 |
+
"Se mantieni questa opzione disattivata, non potrai ri-ottimizzare le "
|
1096 |
+
"immagini a un altro livello di compressione o ripristinare le originali in "
|
1097 |
+
"caso di necessità."
|
1098 |
+
|
1099 |
+
#: inc/functions/i18n.php:55
|
1100 |
+
msgid "Original Image"
|
1101 |
+
msgstr "Immagine originale"
|
1102 |
+
|
1103 |
+
#: inc/functions/i18n.php:56
|
1104 |
+
msgid "Optimized Image"
|
1105 |
+
msgstr "Immagine ottimizzata"
|
1106 |
+
|
1107 |
+
#: inc/functions/i18n.php:70
|
1108 |
+
msgid "Please wait..."
|
1109 |
+
msgstr "Attendere per favore…"
|
1110 |
+
|
1111 |
+
#: inc/functions/i18n.php:71
|
1112 |
+
msgid ""
|
1113 |
+
"We are trying to get your unoptimized images, it may take time depending on "
|
1114 |
+
"the number of images."
|
1115 |
+
msgstr ""
|
1116 |
+
"Stiamo cercando di ottenere le immagini non ottimizzate, il che potrebbe "
|
1117 |
+
"richiedere del tempo in base al numero di immagini."
|
1118 |
+
|
1119 |
+
#: inc/functions/i18n.php:73
|
1120 |
+
msgid "Oops, There is something wrong!"
|
1121 |
+
msgstr "Ups, qualcosa è andato storto!"
|
1122 |
+
|
1123 |
+
#: inc/functions/i18n.php:74
|
1124 |
+
msgid ""
|
1125 |
+
"An unknow error occurred when we tried to get all your unoptimized images. "
|
1126 |
+
"Try again and if the issue still persist, please contact us!"
|
1127 |
+
msgstr ""
|
1128 |
+
"C’è stato un errore inaspettato mentre cercavamo di raccogliere tutte le tue "
|
1129 |
+
"immagini non ottimizzate. Prova di nuovo e, se il problema persiste, "
|
1130 |
+
"contattaci per favore!"
|
1131 |
+
|
1132 |
+
#: inc/functions/i18n.php:78
|
1133 |
+
msgid "Error"
|
1134 |
+
msgstr "Errore"
|
1135 |
+
|
1136 |
+
#: inc/functions/i18n.php:81
|
1137 |
+
msgid "Hold on!"
|
1138 |
+
msgstr "Resisti!"
|
1139 |
+
|
1140 |
+
#: inc/functions/i18n.php:82
|
1141 |
+
msgid "All your images have been optimized by Imagify. Congratulations!"
|
1142 |
+
msgstr ""
|
1143 |
+
"Tutte le tue immagini sono state ottimizzate da Imagify. Congratulazioni!"
|
1144 |
+
|
1145 |
+
#: inc/functions/i18n.php:84
|
1146 |
+
#, php-format
|
1147 |
+
msgid ""
|
1148 |
+
"Discover @imagify, the new compression tool to optimize your images for "
|
1149 |
+
"free. I saved %1$s out of %2$s!"
|
1150 |
+
msgstr ""
|
1151 |
+
"Scopri @imagify, il nuovo strumento di compressione per ottimizzare le tue "
|
1152 |
+
"immagini gratuitamente. Ho risparmiato %1$s di %2$s!"
|
1153 |
+
|
1154 |
+
#: inc/functions/i18n.php:88
|
1155 |
+
msgid "Imagify is still processing. Are you sure you want to leave this page?"
|
1156 |
+
msgstr ""
|
1157 |
+
"Imagify sta ancora lavorando. Sei sicuro di voler abbandonare la pagina?"
|
1158 |
+
|
1159 |
+
#: inc/functions/i18n.php:97
|
1160 |
+
msgid "F j, Y"
|
1161 |
+
msgstr "F j, Y"
|
1162 |
+
|
1163 |
+
#: inc/functions/process.php:41
|
1164 |
msgid ""
|
1165 |
"Sorry, our servers are temporarily unaccessible. Please, try again in a "
|
1166 |
"couple of minutes."
|
1168 |
"Ci scusiamo, i nostri server sono temporalmente inaccessibili. Per favore, "
|
1169 |
"riprova fra qualche minuto."
|
1170 |
|
1171 |
+
#: inc/functions/process.php:47
|
1172 |
msgid "External HTTP requests are blocked"
|
1173 |
msgstr "Le richieste HTTP esterne sono bloccate"
|
1174 |
|
1175 |
+
#: inc/functions/process.php:53
|
1176 |
msgid "File path is empty"
|
1177 |
msgstr "Il percorso del file è vuoto"
|
1178 |
|
1179 |
+
#: inc/functions/process.php:59
|
1180 |
#, php-format
|
1181 |
msgid "Could not find %s"
|
1182 |
msgstr "Impossibile trovare %s"
|
1183 |
|
1184 |
+
#: inc/functions/process.php:64
|
1185 |
#, php-format
|
1186 |
msgid "%s is not writable"
|
1187 |
msgstr "%s non è riscrivibile"
|
1188 |
|
1189 |
+
#: inc/functions/process.php:73
|
1190 |
#, php-format
|
1191 |
msgid "Skipped (%s), image not found."
|
1192 |
msgstr "Abbiamo saltato (%s), immagine non trovata."
|
1197 |
|
1198 |
#. Description of the plugin/theme
|
1199 |
msgid ""
|
1200 |
+
"Dramaticaly reduce image file sizes without losing quality, make your "
|
1201 |
"website load faster, boost your SEO and save money on your bandwith using "
|
1202 |
"Imagify, the new most advanced image optimization tool."
|
1203 |
msgstr ""
|
|
|
|
|
|
|
|
|
1204 |
|
1205 |
#. Author of the plugin/theme
|
1206 |
msgid "WP Media"
|
1210 |
msgid "http://wp-media.me"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#~ msgid "Your default setting:"
|
1214 |
+
#~ msgstr "Impostazioni standard:"
|
1215 |
+
|
1216 |
+
#~ msgid ""
|
1217 |
+
#~ "All images which are over to %s could be optimized using the pro version."
|
1218 |
+
#~ msgstr ""
|
1219 |
+
#~ "Tutte le immagini superiori a %s potrebbero essere ottimizzate "
|
1220 |
+
#~ "utilizzando la versione pro."
|
1221 |
+
|
1222 |
+
#~ msgid ""
|
1223 |
+
#~ "Dramaticaly reduce image file sizes without loosing quality, make your "
|
1224 |
+
#~ "website load faster, boost your SEO and save money on your bandwith using "
|
1225 |
+
#~ "Imagify, the new most advanced image optimization tool."
|
1226 |
+
#~ msgstr ""
|
1227 |
+
#~ "Riduci drasticamente la dimensione dei file immagine senza perdite di "
|
1228 |
+
#~ "qualità, velocizza il caricamento del tuo sito web, dai una spinta al tuo "
|
1229 |
+
#~ "SEO e risparmia sulla tua larghezza di banda…tutto grazie a Imagify, lo "
|
1230 |
+
#~ "strumento più avanzato per l’ottimizzazione di immagini."
|
1231 |
+
|
1232 |
#~ msgid ""
|
1233 |
#~ "%1$sCongratulations%2$s, you have optimized %1$s%3$d images%2$s and "
|
1234 |
#~ "improved your website's by reducing your images size."
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: wp_media
|
|
3 |
Tags: compress image, images, performance, optimization, photos, upload, resize, gif, png, jpg, reduce image size, retina
|
4 |
Requires at least: 3.7.0
|
5 |
Tested up to: 4.5
|
6 |
-
Stable tag: 1.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -14,7 +14,9 @@ Dramatically reduce image file sizes without losing quality, make your website l
|
|
14 |
Speed up your website with lighter images without losing quality.
|
15 |
|
16 |
Imagify is the most advanced image compression tool, you can now use this power directly in WordPress.
|
17 |
-
After enabling it all your images including thumbnails and retina images from WP Retina x2
|
|
|
|
|
18 |
|
19 |
= What is Image Compression? =
|
20 |
|
@@ -134,6 +136,14 @@ When the plugin is disabled, your existing images remain optimized. Backups of t
|
|
134 |
|
135 |
== Changelog ==
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
= 1.4.7 =
|
138 |
* Bug Fix
|
139 |
* Fix issue between Bulk Optimization & WP Engine. The query to get unoptimized images is limited to 2500 images to be able to use the Bulk Optimization on this hosting.
|
3 |
Tags: compress image, images, performance, optimization, photos, upload, resize, gif, png, jpg, reduce image size, retina
|
4 |
Requires at least: 3.7.0
|
5 |
Tested up to: 4.5
|
6 |
+
Stable tag: 1.5
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
14 |
Speed up your website with lighter images without losing quality.
|
15 |
|
16 |
Imagify is the most advanced image compression tool, you can now use this power directly in WordPress.
|
17 |
+
After enabling it all your images including thumbnails and retina images from WP Retina x2 will be automatically optimized on the fly when you will add in into WordPress.
|
18 |
+
|
19 |
+
WooCommerce and NextGen Gallery compatible.
|
20 |
|
21 |
= What is Image Compression? =
|
22 |
|
136 |
|
137 |
== Changelog ==
|
138 |
|
139 |
+
= 1.5 =
|
140 |
+
|
141 |
+
* NEW Features:
|
142 |
+
* NextGen Gallery compatibility - Optimize all your images uploaded with NextGen Gallery
|
143 |
+
* Asynchronous Optimization - No more latency when you upload new images, Imagify will optimize them in background!
|
144 |
+
* Interface:
|
145 |
+
* Bulk Optimization: Improvements for a better experience
|
146 |
+
|
147 |
= 1.4.7 =
|
148 |
* Bug Fix
|
149 |
* Fix issue between Bulk Optimization & WP Engine. The query to get unoptimized images is limited to 2500 images to be able to use the Bulk Optimization on this hosting.
|
uninstall.php
CHANGED
@@ -11,7 +11,14 @@ delete_site_transient( 'imagify_bulk_optimization_level' );
|
|
11 |
delete_site_transient( 'imagify_large_library' );
|
12 |
|
13 |
global $wpdb;
|
|
|
14 |
$wpdb->query( 'DELETE from ' . $wpdb->options . ' WHERE option_name LIKE "_transient_imagify-async-in-progress-%"' );
|
15 |
|
|
|
|
|
|
|
16 |
// Delete all user meta related to Imagify
|
17 |
delete_metadata( 'user', '', '_imagify_ignore_notices', '', true );
|
|
|
|
|
|
11 |
delete_site_transient( 'imagify_large_library' );
|
12 |
|
13 |
global $wpdb;
|
14 |
+
// WP transients
|
15 |
$wpdb->query( 'DELETE from ' . $wpdb->options . ' WHERE option_name LIKE "_transient_imagify-async-in-progress-%"' );
|
16 |
|
17 |
+
// NextGen Gallery transients
|
18 |
+
$wpdb->query( 'DELETE from ' . $wpdb->options . ' WHERE option_name LIKE "_transient_imagify-ngg-async-in-progress-%"' );
|
19 |
+
|
20 |
// Delete all user meta related to Imagify
|
21 |
delete_metadata( 'user', '', '_imagify_ignore_notices', '', true );
|
22 |
+
|
23 |
+
// Drop the tables
|
24 |
+
$wpdb->query( "DROP TABLE IF EXISTS $wpdb->ngg_imagify_data" );
|