Version Description
- 04.04.2017 =
- Fixed: Hyperlinks in image descriptions
- Fixed: WordPress SEO sitemap image count
- Fixed: Removed id parameter in shortcodes
- Fixed: Fatal error in Freemius code
Download this release
Release Info
Developer | photocrati |
Plugin | NextGEN Gallery – WordPress Gallery Plugin |
Version | 2.2.2 |
Comparing to | |
See all releases |
Code changes from version 2.2.1 to 2.2.2
- changelog.txt +6 -0
- freemius/LICENSE.txt +0 -0
- freemius/assets/css/admin/account.css +1 -1
- freemius/assets/css/admin/account.min.css +1 -1
- freemius/assets/css/admin/common.css +1 -1
- freemius/assets/css/admin/common.min.css +1 -1
- freemius/assets/css/admin/dialog-boxes.css +1 -1
- freemius/assets/css/admin/dialog-boxes.min.css +1 -1
- freemius/assets/scss/_mixins.scss +11 -0
- freemius/assets/scss/admin/_modal-common.scss +2 -0
- freemius/assets/scss/admin/account.scss +66 -0
- freemius/assets/scss/admin/common.scss +20 -0
- freemius/config.php +132 -60
- freemius/includes/class-freemius-abstract.php +86 -12
- freemius/includes/class-freemius.php +1293 -371
- freemius/includes/class-fs-api.php +83 -7
- freemius/includes/class-fs-logger.php +27 -1
- freemius/includes/entities/class-fs-billing.php +95 -0
- freemius/includes/entities/class-fs-plugin.php +4 -0
- freemius/includes/entities/class-fs-site.php +21 -0
- freemius/includes/fs-core-functions.php +56 -14
- freemius/includes/fs-essential-functions.php +23 -5
- freemius/includes/fs-plugin-info-dialog.php +3 -3
- freemius/includes/i18n.php +353 -209
- freemius/includes/managers/class-fs-admin-menu-manager.php +23 -1
- freemius/includes/managers/class-fs-admin-notice-manager.php +3 -0
- freemius/includes/sdk/Exceptions/ArgumentNotExistException.php +4 -1
- freemius/includes/sdk/Exceptions/EmptyArgumentException.php +4 -1
- freemius/includes/sdk/Exceptions/Exception.php +66 -67
- freemius/includes/sdk/Exceptions/InvalidArgumentException.php +3 -1
- freemius/includes/sdk/Exceptions/OAuthException.php +7 -7
- freemius/includes/sdk/Freemius.php +15 -8
- freemius/includes/sdk/FreemiusBase.php +14 -4
- freemius/includes/supplements/fs-essential-functions-1.1.7.1.php +4 -2
- freemius/languages/freemius-da_DK.mo +0 -0
- freemius/languages/freemius-da_DK.po +1661 -0
- freemius/languages/freemius-en.mo +0 -0
- freemius/languages/freemius-en.po +430 -304
- freemius/languages/freemius-he.mo +0 -0
- freemius/languages/freemius-he.po +1661 -0
- freemius/languages/freemius-it_IT.mo +0 -0
- freemius/languages/freemius-it_IT.po +465 -318
- freemius/languages/freemius.pot +427 -301
- freemius/start.php +3 -7
- freemius/templates/account.php +32 -7
- freemius/templates/add-trial-to-pricing.php +31 -0
- freemius/templates/billing.php +401 -4
- freemius/templates/checkout.php +32 -54
- freemius/templates/connect.php +74 -18
- freemius/templates/debug.php +76 -5
- freemius/templates/debug/logger.php +2 -2
- freemius/templates/forms/deactivation/form.php +2 -1
- freemius/templates/forms/deactivation/retry-skip.php +1 -1
- freemius/templates/forms/license-activation.php +9 -26
- freemius/templates/forms/optout.php +211 -0
- freemius/templates/forms/resend-key.php +1 -1
- freemius/templates/forms/trial-start.php +174 -0
- freemius/templates/plugin-icon.php +54 -23
- freemius/templates/pricing.php +21 -10
- nggallery.php +3 -3
- products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js +3 -1
- products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js +1 -1
- products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po +2 -2
- products/photocrati_nextgen/modules/i18n/lang/nggallery.po +2 -2
- products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php +1 -1
- products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php +2 -2
- products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php +59 -5
- readme.txt +8 -2
changelog.txt
CHANGED
@@ -1,6 +1,12 @@
|
|
1 |
NextGEN Gallery
|
2 |
by Imagely
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
= V2.2.1 - 03.13.2017 =
|
5 |
* NEW: Template mechanism for all display types
|
6 |
* NEW: Review notices
|
1 |
NextGEN Gallery
|
2 |
by Imagely
|
3 |
|
4 |
+
= V2.2.2 - 04.04.2017 =
|
5 |
+
* Fixed: Hyperlinks in image descriptions
|
6 |
+
* Fixed: WordPress SEO sitemap image count
|
7 |
+
* Fixed: Removed id parameter in shortcodes
|
8 |
+
* Fixed: Fatal error in Freemius code
|
9 |
+
|
10 |
= V2.2.1 - 03.13.2017 =
|
11 |
* NEW: Template mechanism for all display types
|
12 |
* NEW: Review notices
|
freemius/LICENSE.txt
CHANGED
File without changes
|
freemius/assets/css/admin/account.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .button i.dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}
|
1 |
+
#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .button i.dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:bold}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
|
freemius/assets/css/admin/account.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#fs_account .fs-header-actions li form,.fs-key-value-table form{display:inline-block}#fs_addons td:last-child,#fs_addons th:last-child,.fs-key-value-table tr td.fs-right,.fs-key-value-table tr td:first-child{text-align:right}#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .button i.dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{color:#0073AA;font-size:16px;background:0 0}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}.fs-key-value-table input[type=text]{width:100%;font-weight:700}label.fs-tag{color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:700}#fs_addons th{font-weight:700}
|
1 |
+
#fs_account .fs-header-actions li form,.fs-key-value-table form{display:inline-block}#fs_addons td:last-child,#fs_addons th:last-child,.fs-key-value-table tr td.fs-right,.fs-key-value-table tr td:first-child{text-align:right}#fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .button i.dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{color:#0073AA;font-size:16px;background:0 0}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}.fs-key-value-table input[type=text]{width:100%;font-weight:700}label.fs-tag{color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:700}#fs_addons th,#fs_billing_address span{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:0 0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:0 0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
|
freemius/assets/css/admin/common.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;box-shadow:0px 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}
|
1 |
+
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;box-shadow:0px 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}
|
freemius/assets/css/admin/common.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2!important;background-color:#f2fcff!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:700;cursor:auto}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;box-shadow:0 2px 2px rgba(6,113,6,.3);opacity:.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:500px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}
|
1 |
+
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2!important;background-color:#f2fcff!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:700;cursor:auto}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;box-shadow:0 2px 2px rgba(6,113,6,.3);opacity:.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:500px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}
|
freemius/assets/css/admin/dialog-boxes.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{margin-top:2px}}
|
2 |
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{margin-top:2px}}
|
2 |
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}
|
freemius/assets/css/admin/dialog-boxes.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,.6)}.fs-modal .fs-modal-dialog{background:0 0;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key,.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{width:100%}@media (max-width:650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:700;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:700;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width:650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width:650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{margin-top:2px}}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,.6)}.fs-modal .fs-modal-dialog{background:0 0;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key,.fs-modal.fs-modal-license-key-resend .fs-modal-body input.email-address{width:100%}@media (max-width:650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:700;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:700;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width:650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:right;margin-left:7px}@media (max-width:650px){.fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{margin-top:2px}}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}
|
freemius/assets/scss/_mixins.scss
CHANGED
@@ -213,4 +213,15 @@ $useIEFilters: 0;
|
|
213 |
display: table;
|
214 |
clear: both;
|
215 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
}
|
213 |
display: table;
|
214 |
clear: both;
|
215 |
}
|
216 |
+
}
|
217 |
+
|
218 |
+
// Placeholder text
|
219 |
+
@mixin placeholder($color: $input-color-placeholder) {
|
220 |
+
// Firefox
|
221 |
+
&::-moz-placeholder {
|
222 |
+
color: $color;
|
223 |
+
opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
|
224 |
+
}
|
225 |
+
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
|
226 |
+
&::-webkit-input-placeholder { color: $color; } // Safari and Chrome
|
227 |
}
|
freemius/assets/scss/admin/_modal-common.scss
CHANGED
@@ -58,6 +58,7 @@
|
|
58 |
background: #fbfbfb;
|
59 |
padding: 15px 20px;
|
60 |
position: relative;
|
|
|
61 |
// z-index: 2;
|
62 |
|
63 |
h4 {
|
@@ -98,6 +99,7 @@
|
|
98 |
|
99 |
h2 {
|
100 |
font-size: 20px;
|
|
|
101 |
}
|
102 |
|
103 |
> div {
|
58 |
background: #fbfbfb;
|
59 |
padding: 15px 20px;
|
60 |
position: relative;
|
61 |
+
margin-bottom: -10px;
|
62 |
// z-index: 2;
|
63 |
|
64 |
h4 {
|
99 |
|
100 |
h2 {
|
101 |
font-size: 20px;
|
102 |
+
line-height: 1.5em;
|
103 |
}
|
104 |
|
105 |
> div {
|
freemius/assets/scss/admin/account.scss
CHANGED
@@ -1,3 +1,5 @@
|
|
|
|
|
|
1 |
#fs_account
|
2 |
{
|
3 |
.postbox,
|
@@ -166,6 +168,10 @@ label.fs-tag
|
|
166 |
vertical-align: middle;
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
169 |
td:first-child,
|
170 |
th:first-child
|
171 |
{
|
@@ -181,4 +187,64 @@ label.fs-tag
|
|
181 |
{
|
182 |
font-weight: bold;
|
183 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
1 |
+
@import "../start";
|
2 |
+
|
3 |
#fs_account
|
4 |
{
|
5 |
.postbox,
|
168 |
vertical-align: middle;
|
169 |
}
|
170 |
|
171 |
+
thead {
|
172 |
+
white-space: nowrap;
|
173 |
+
}
|
174 |
+
|
175 |
td:first-child,
|
176 |
th:first-child
|
177 |
{
|
187 |
{
|
188 |
font-weight: bold;
|
189 |
}
|
190 |
+
}
|
191 |
+
|
192 |
+
#fs_billing_address {
|
193 |
+
width: 100%;
|
194 |
+
|
195 |
+
tr {
|
196 |
+
td {
|
197 |
+
width: 50%;
|
198 |
+
padding: 5px;
|
199 |
+
}
|
200 |
+
|
201 |
+
&:first-of-type {
|
202 |
+
td {
|
203 |
+
padding-top: 0;
|
204 |
+
}
|
205 |
+
}
|
206 |
+
}
|
207 |
+
|
208 |
+
@mixin read-mode {
|
209 |
+
border-color: transparent;
|
210 |
+
color: #777;
|
211 |
+
border-bottom: 1px dashed #ccc;
|
212 |
+
padding-left: 0;
|
213 |
+
background: none;
|
214 |
+
}
|
215 |
+
|
216 |
+
span {
|
217 |
+
font-weight: bold;
|
218 |
+
}
|
219 |
+
|
220 |
+
input, select {
|
221 |
+
@include placeholder(transparent);
|
222 |
+
|
223 |
+
display: block;
|
224 |
+
width: 100%;
|
225 |
+
margin-top: 5px;
|
226 |
+
|
227 |
+
&.fs-read-mode {
|
228 |
+
@include read-mode();
|
229 |
+
}
|
230 |
+
}
|
231 |
+
|
232 |
+
|
233 |
+
&.fs-read-mode {
|
234 |
+
td span {
|
235 |
+
display: none;
|
236 |
+
}
|
237 |
+
|
238 |
+
input, select
|
239 |
+
{
|
240 |
+
@include read-mode();
|
241 |
+
@include placeholder(#ccc);
|
242 |
+
}
|
243 |
+
}
|
244 |
+
|
245 |
+
|
246 |
+
button {
|
247 |
+
display: block;
|
248 |
+
width: 100%;
|
249 |
+
}
|
250 |
}
|
freemius/assets/scss/admin/common.scss
CHANGED
@@ -137,4 +137,24 @@ span.fs-submenu-item.fs-sub:before
|
|
137 |
// Add small RTL arrow.
|
138 |
content: '\21B2';
|
139 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
137 |
// Add small RTL arrow.
|
138 |
content: '\21B2';
|
139 |
}
|
140 |
+
}
|
141 |
+
|
142 |
+
.fs-submenu-item
|
143 |
+
{
|
144 |
+
&.pricing
|
145 |
+
{
|
146 |
+
&.upgrade-mode
|
147 |
+
{
|
148 |
+
color: greenyellow;
|
149 |
+
}
|
150 |
+
|
151 |
+
&.trial-mode
|
152 |
+
{
|
153 |
+
color: #83e2ff;
|
154 |
+
}
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
#adminmenu .update-plugins.fs-trial {
|
159 |
+
background-color: #00b9eb;
|
160 |
}
|
freemius/config.php
CHANGED
@@ -10,14 +10,17 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
|
|
|
|
|
14 |
if ( ! defined( 'WP_FS__DEV_MODE' ) ) {
|
15 |
define( 'WP_FS__DEV_MODE', false );
|
16 |
}
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
21 |
if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY' ) ) {
|
22 |
define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY', false );
|
23 |
}
|
@@ -40,6 +43,8 @@
|
|
40 |
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', true );
|
41 |
}
|
42 |
|
|
|
|
|
43 |
if ( ! defined( 'WP_FS__SIMULATE_FREEMIUS_OFF' ) ) {
|
44 |
define( 'WP_FS__SIMULATE_FREEMIUS_OFF', false );
|
45 |
}
|
@@ -87,18 +92,36 @@
|
|
87 |
}
|
88 |
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
define( 'WP_FS__DIR', dirname( __FILE__ ) );
|
94 |
-
define( 'WP_FS__DIR_INCLUDES', WP_FS__DIR . '/includes' );
|
95 |
-
define( 'WP_FS__DIR_TEMPLATES', WP_FS__DIR . '/templates' );
|
96 |
-
define( 'WP_FS__DIR_ASSETS', WP_FS__DIR . '/assets' );
|
97 |
-
define( 'WP_FS__DIR_CSS', WP_FS__DIR_ASSETS . '/css' );
|
98 |
-
define( 'WP_FS__DIR_JS', WP_FS__DIR_ASSETS . '/js' );
|
99 |
-
define( 'WP_FS__DIR_IMG', WP_FS__DIR_ASSETS . '/img' );
|
100 |
-
define( 'WP_FS__DIR_SDK', WP_FS__DIR_INCLUDES . '/sdk' );
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
/**
|
104 |
* Domain / URL / Address
|
@@ -117,42 +140,87 @@
|
|
117 |
define( 'WP_FS__TESTING_DOMAIN', 'fswp' );
|
118 |
}
|
119 |
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
}
|
126 |
|
127 |
-
|
128 |
-
define( 'WP_FS__REMOTE_ADDR', fs_get_ip() );
|
129 |
|
130 |
if ( ! defined( 'WP_FS__IS_PRODUCTION_MODE' ) ) {
|
131 |
// By default, run with Freemius production servers.
|
132 |
define( 'WP_FS__IS_PRODUCTION_MODE', true );
|
133 |
}
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
if ( defined( 'WP_FS__LOCALHOST_IP' ) ) {
|
138 |
-
define( 'WP_FS__IS_LOCALHOST', ( WP_FS__LOCALHOST_IP === WP_FS__REMOTE_ADDR ) );
|
139 |
-
} else {
|
140 |
-
define( 'WP_FS__IS_LOCALHOST', WP_FS__IS_HTTP_REQUEST &&
|
141 |
-
is_string( WP_FS__REMOTE_ADDR ) &&
|
142 |
-
( substr( WP_FS__REMOTE_ADDR, 0, 4 ) === '127.' ||
|
143 |
-
WP_FS__REMOTE_ADDR === '::1' )
|
144 |
-
);
|
145 |
}
|
146 |
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
|
150 |
// Set API address for local testing.
|
151 |
if ( ! WP_FS__IS_PRODUCTION_MODE ) {
|
152 |
-
|
153 |
-
|
|
|
|
|
|
|
|
|
154 |
}
|
155 |
|
|
|
|
|
156 |
define( 'WP_FS___OPTION_PREFIX', 'fs' . ( WP_FS__IS_PRODUCTION_MODE ? '' : '_dbg' ) . '_' );
|
157 |
|
158 |
if ( ! defined( 'WP_FS__ACCOUNTS_OPTION_NAME' ) ) {
|
@@ -163,17 +231,6 @@
|
|
163 |
}
|
164 |
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
165 |
|
166 |
-
define( 'WP_FS__IS_HTTPS', ( WP_FS__IS_HTTP_REQUEST &&
|
167 |
-
// Checks if CloudFlare's HTTPS (Flexible SSL support).
|
168 |
-
isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' === strtolower( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) ||
|
169 |
-
// Check if HTTPS request.
|
170 |
-
( isset( $_SERVER['HTTPS'] ) && 'on' == $_SERVER['HTTPS'] ) ||
|
171 |
-
( isset( $_SERVER['SERVER_PORT'] ) && 443 == $_SERVER['SERVER_PORT'] )
|
172 |
-
);
|
173 |
-
|
174 |
-
define( 'WP_FS__IS_POST_REQUEST', ( WP_FS__IS_HTTP_REQUEST &&
|
175 |
-
strtoupper( $_SERVER['REQUEST_METHOD'] ) == 'POST' ) );
|
176 |
-
|
177 |
/**
|
178 |
* Billing Frequencies
|
179 |
*/
|
@@ -191,14 +248,21 @@
|
|
191 |
/**
|
192 |
* Times in seconds
|
193 |
*/
|
194 |
-
|
195 |
-
|
|
|
|
|
|
|
|
|
196 |
// define( 'WP_FS__TIME_15_MIN_IN_SEC', 900 );
|
197 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
|
199 |
-
/**
|
200 |
-
* Debugging
|
201 |
-
*/
|
202 |
if ( ! defined( 'WP_FS__DEBUG_SDK' ) ) {
|
203 |
$debug_mode = get_option( 'fs_debug_mode', null );
|
204 |
|
@@ -210,20 +274,28 @@
|
|
210 |
define( 'WP_FS__DEBUG_SDK', is_numeric( $debug_mode ) ? ( 0 < $debug_mode ) : WP_FS__DEV_MODE );
|
211 |
}
|
212 |
|
213 |
-
|
214 |
-
|
|
|
|
|
|
|
|
|
215 |
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
216 |
define( 'FS_API__LOGGER_ON', WP_FS__DEBUG_SDK );
|
217 |
}
|
218 |
|
219 |
if ( WP_FS__ECHO_DEBUG_SDK ) {
|
220 |
error_reporting( E_ALL );
|
221 |
-
ini_set( 'error_reporting', E_ALL );
|
222 |
-
ini_set( 'display_errors', true );
|
223 |
-
ini_set( 'html_errors', true );
|
224 |
}
|
225 |
|
|
|
226 |
|
227 |
-
|
228 |
-
|
229 |
-
|
|
|
|
|
|
|
|
|
|
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
if ( ! defined( 'WP_FS__SLUG' ) ) {
|
14 |
+
define( 'WP_FS__SLUG', 'freemius' );
|
15 |
+
}
|
16 |
if ( ! defined( 'WP_FS__DEV_MODE' ) ) {
|
17 |
define( 'WP_FS__DEV_MODE', false );
|
18 |
}
|
19 |
|
20 |
+
#--------------------------------------------------------------------------------
|
21 |
+
#region API Connectivity Issues Simulation
|
22 |
+
#--------------------------------------------------------------------------------
|
23 |
+
|
24 |
if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY' ) ) {
|
25 |
define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY', false );
|
26 |
}
|
43 |
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', true );
|
44 |
}
|
45 |
|
46 |
+
#endregion
|
47 |
+
|
48 |
if ( ! defined( 'WP_FS__SIMULATE_FREEMIUS_OFF' ) ) {
|
49 |
define( 'WP_FS__SIMULATE_FREEMIUS_OFF', false );
|
50 |
}
|
92 |
}
|
93 |
|
94 |
|
95 |
+
#--------------------------------------------------------------------------------
|
96 |
+
#region Directories
|
97 |
+
#--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
+
if ( ! defined( 'WP_FS__DIR' ) ) {
|
100 |
+
define( 'WP_FS__DIR', dirname( __FILE__ ) );
|
101 |
+
}
|
102 |
+
if ( ! defined( 'WP_FS__DIR_INCLUDES' ) ) {
|
103 |
+
define( 'WP_FS__DIR_INCLUDES', WP_FS__DIR . '/includes' );
|
104 |
+
}
|
105 |
+
if ( ! defined( 'WP_FS__DIR_TEMPLATES' ) ) {
|
106 |
+
define( 'WP_FS__DIR_TEMPLATES', WP_FS__DIR . '/templates' );
|
107 |
+
}
|
108 |
+
if ( ! defined( 'WP_FS__DIR_ASSETS' ) ) {
|
109 |
+
define( 'WP_FS__DIR_ASSETS', WP_FS__DIR . '/assets' );
|
110 |
+
}
|
111 |
+
if ( ! defined( 'WP_FS__DIR_CSS' ) ) {
|
112 |
+
define( 'WP_FS__DIR_CSS', WP_FS__DIR_ASSETS . '/css' );
|
113 |
+
}
|
114 |
+
if ( ! defined( 'WP_FS__DIR_JS' ) ) {
|
115 |
+
define( 'WP_FS__DIR_JS', WP_FS__DIR_ASSETS . '/js' );
|
116 |
+
}
|
117 |
+
if ( ! defined( 'WP_FS__DIR_IMG' ) ) {
|
118 |
+
define( 'WP_FS__DIR_IMG', WP_FS__DIR_ASSETS . '/img' );
|
119 |
+
}
|
120 |
+
if ( ! defined( 'WP_FS__DIR_SDK' ) ) {
|
121 |
+
define( 'WP_FS__DIR_SDK', WP_FS__DIR_INCLUDES . '/sdk' );
|
122 |
+
}
|
123 |
+
|
124 |
+
#endregion
|
125 |
|
126 |
/**
|
127 |
* Domain / URL / Address
|
140 |
define( 'WP_FS__TESTING_DOMAIN', 'fswp' );
|
141 |
}
|
142 |
|
143 |
+
#--------------------------------------------------------------------------------
|
144 |
+
#region HTTP
|
145 |
+
#--------------------------------------------------------------------------------
|
146 |
+
|
147 |
+
if ( ! defined( 'WP_FS__IS_HTTP_REQUEST' ) ) {
|
148 |
+
define( 'WP_FS__IS_HTTP_REQUEST', isset( $_SERVER['HTTP_HOST'] ) );
|
149 |
}
|
150 |
+
|
151 |
+
if ( ! defined( 'WP_FS__IS_HTTPS' ) ) {
|
152 |
+
define( 'WP_FS__IS_HTTPS', ( WP_FS__IS_HTTP_REQUEST &&
|
153 |
+
// Checks if CloudFlare's HTTPS (Flexible SSL support).
|
154 |
+
isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) &&
|
155 |
+
'https' === strtolower( $_SERVER['HTTP_X_FORWARDED_PROTO'] )
|
156 |
+
) ||
|
157 |
+
// Check if HTTPS request.
|
158 |
+
( isset( $_SERVER['HTTPS'] ) && 'on' == $_SERVER['HTTPS'] ) ||
|
159 |
+
( isset( $_SERVER['SERVER_PORT'] ) && 443 == $_SERVER['SERVER_PORT'] )
|
160 |
+
);
|
161 |
+
}
|
162 |
+
|
163 |
+
if ( ! defined( 'WP_FS__IS_POST_REQUEST' ) ) {
|
164 |
+
define( 'WP_FS__IS_POST_REQUEST', ( WP_FS__IS_HTTP_REQUEST &&
|
165 |
+
strtoupper( $_SERVER['REQUEST_METHOD'] ) == 'POST' ) );
|
166 |
+
}
|
167 |
+
|
168 |
+
if ( ! defined( 'WP_FS__REMOTE_ADDR' ) ) {
|
169 |
+
define( 'WP_FS__REMOTE_ADDR', fs_get_ip() );
|
170 |
+
}
|
171 |
+
|
172 |
+
if ( ! defined( 'WP_FS__IS_LOCALHOST' ) ) {
|
173 |
+
if ( defined( 'WP_FS__LOCALHOST_IP' ) ) {
|
174 |
+
define( 'WP_FS__IS_LOCALHOST', ( WP_FS__LOCALHOST_IP === WP_FS__REMOTE_ADDR ) );
|
175 |
+
} else {
|
176 |
+
define( 'WP_FS__IS_LOCALHOST', WP_FS__IS_HTTP_REQUEST &&
|
177 |
+
is_string( WP_FS__REMOTE_ADDR ) &&
|
178 |
+
( substr( WP_FS__REMOTE_ADDR, 0, 4 ) === '127.' ||
|
179 |
+
WP_FS__REMOTE_ADDR === '::1' )
|
180 |
+
);
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
+
if ( ! defined( 'WP_FS__IS_LOCALHOST_FOR_SERVER' ) ) {
|
185 |
+
define( 'WP_FS__IS_LOCALHOST_FOR_SERVER', ( ! WP_FS__IS_HTTP_REQUEST ||
|
186 |
+
false !== strpos( $_SERVER['HTTP_HOST'], 'localhost' ) ) );
|
187 |
}
|
188 |
|
189 |
+
#endregion
|
|
|
190 |
|
191 |
if ( ! defined( 'WP_FS__IS_PRODUCTION_MODE' ) ) {
|
192 |
// By default, run with Freemius production servers.
|
193 |
define( 'WP_FS__IS_PRODUCTION_MODE', true );
|
194 |
}
|
195 |
|
196 |
+
if ( ! defined( 'WP_FS__ADDRESS' ) ) {
|
197 |
+
define( 'WP_FS__ADDRESS', ( WP_FS__IS_PRODUCTION_MODE ? WP_FS__ADDRESS_PRODUCTION : WP_FS__ADDRESS_LOCALHOST ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
+
|
201 |
+
#--------------------------------------------------------------------------------
|
202 |
+
#region API
|
203 |
+
#--------------------------------------------------------------------------------
|
204 |
+
|
205 |
+
if ( ! defined( 'WP_FS__API_ADDRESS_LOCALHOST' ) ) {
|
206 |
+
define( 'WP_FS__API_ADDRESS_LOCALHOST', 'http://api.freemius:8080' );
|
207 |
+
}
|
208 |
+
if ( ! defined( 'WP_FS__API_SANDBOX_ADDRESS_LOCALHOST' ) ) {
|
209 |
+
define( 'WP_FS__API_SANDBOX_ADDRESS_LOCALHOST', 'http://sandbox-api.freemius:8080' );
|
210 |
+
}
|
211 |
|
212 |
// Set API address for local testing.
|
213 |
if ( ! WP_FS__IS_PRODUCTION_MODE ) {
|
214 |
+
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
215 |
+
define( 'FS_API__ADDRESS', WP_FS__API_ADDRESS_LOCALHOST );
|
216 |
+
}
|
217 |
+
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
218 |
+
define( 'FS_API__SANDBOX_ADDRESS', WP_FS__API_SANDBOX_ADDRESS_LOCALHOST );
|
219 |
+
}
|
220 |
}
|
221 |
|
222 |
+
#endregion
|
223 |
+
|
224 |
define( 'WP_FS___OPTION_PREFIX', 'fs' . ( WP_FS__IS_PRODUCTION_MODE ? '' : '_dbg' ) . '_' );
|
225 |
|
226 |
if ( ! defined( 'WP_FS__ACCOUNTS_OPTION_NAME' ) ) {
|
231 |
}
|
232 |
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
/**
|
235 |
* Billing Frequencies
|
236 |
*/
|
248 |
/**
|
249 |
* Times in seconds
|
250 |
*/
|
251 |
+
if ( ! defined( 'WP_FS__TIME_5_MIN_IN_SEC' ) ) {
|
252 |
+
define( 'WP_FS__TIME_5_MIN_IN_SEC', 300 );
|
253 |
+
}
|
254 |
+
if ( ! defined( 'WP_FS__TIME_10_MIN_IN_SEC' ) ) {
|
255 |
+
define( 'WP_FS__TIME_10_MIN_IN_SEC', 600 );
|
256 |
+
}
|
257 |
// define( 'WP_FS__TIME_15_MIN_IN_SEC', 900 );
|
258 |
+
if ( ! defined( 'WP_FS__TIME_24_HOURS_IN_SEC' ) ) {
|
259 |
+
define( 'WP_FS__TIME_24_HOURS_IN_SEC', 86400 );
|
260 |
+
}
|
261 |
+
|
262 |
+
#--------------------------------------------------------------------------------
|
263 |
+
#region Debugging
|
264 |
+
#--------------------------------------------------------------------------------
|
265 |
|
|
|
|
|
|
|
266 |
if ( ! defined( 'WP_FS__DEBUG_SDK' ) ) {
|
267 |
$debug_mode = get_option( 'fs_debug_mode', null );
|
268 |
|
274 |
define( 'WP_FS__DEBUG_SDK', is_numeric( $debug_mode ) ? ( 0 < $debug_mode ) : WP_FS__DEV_MODE );
|
275 |
}
|
276 |
|
277 |
+
if ( ! defined( 'WP_FS__ECHO_DEBUG_SDK' ) ) {
|
278 |
+
define( 'WP_FS__ECHO_DEBUG_SDK', WP_FS__DEV_MODE && ! empty( $_GET['fs_dbg_echo'] ) );
|
279 |
+
}
|
280 |
+
if ( ! defined( 'WP_FS__LOG_DATETIME_FORMAT' ) ) {
|
281 |
+
define( 'WP_FS__LOG_DATETIME_FORMAT', 'Y-m-d H:i:s' );
|
282 |
+
}
|
283 |
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
284 |
define( 'FS_API__LOGGER_ON', WP_FS__DEBUG_SDK );
|
285 |
}
|
286 |
|
287 |
if ( WP_FS__ECHO_DEBUG_SDK ) {
|
288 |
error_reporting( E_ALL );
|
|
|
|
|
|
|
289 |
}
|
290 |
|
291 |
+
#endregion
|
292 |
|
293 |
+
if ( ! defined( 'WP_FS__SCRIPT_START_TIME' ) ) {
|
294 |
+
define( 'WP_FS__SCRIPT_START_TIME', time() );
|
295 |
+
}
|
296 |
+
if ( ! defined( 'WP_FS__DEFAULT_PRIORITY' ) ) {
|
297 |
+
define( 'WP_FS__DEFAULT_PRIORITY', 10 );
|
298 |
+
}
|
299 |
+
if ( ! defined( 'WP_FS__LOWEST_PRIORITY' ) ) {
|
300 |
+
define( 'WP_FS__LOWEST_PRIORITY', 999999999 );
|
301 |
+
}
|
freemius/includes/class-freemius-abstract.php
CHANGED
@@ -22,7 +22,9 @@
|
|
22 |
*/
|
23 |
abstract class Freemius_Abstract {
|
24 |
|
25 |
-
|
|
|
|
|
26 |
|
27 |
/**
|
28 |
* Check if user registered with Freemius by connecting his account.
|
@@ -50,9 +52,73 @@
|
|
50 |
*/
|
51 |
abstract function is_activation_mode();
|
52 |
|
53 |
-
#endregion
|
54 |
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
/**
|
58 |
* Check if plugin must be WordPress.org compliant.
|
@@ -75,7 +141,7 @@
|
|
75 |
return ( $this->is_premium() || ! $this->is_org_repo_compliant() );
|
76 |
}
|
77 |
|
78 |
-
#endregion
|
79 |
|
80 |
/**
|
81 |
* Check if user in trial or in free plan (not paying).
|
@@ -119,7 +185,9 @@
|
|
119 |
*/
|
120 |
abstract function can_use_premium_code();
|
121 |
|
122 |
-
|
|
|
|
|
123 |
|
124 |
/**
|
125 |
* All logic wrapped in methods with "__premium_only()" suffix will be only
|
@@ -225,9 +293,11 @@
|
|
225 |
return $this->is_premium() && $this->can_use_premium_code();
|
226 |
}
|
227 |
|
228 |
-
#endregion
|
229 |
|
230 |
-
|
|
|
|
|
231 |
|
232 |
/**
|
233 |
* Check if the user in a trial.
|
@@ -247,9 +317,11 @@
|
|
247 |
*/
|
248 |
abstract function is_trial_utilized();
|
249 |
|
250 |
-
#endregion
|
251 |
|
252 |
-
|
|
|
|
|
253 |
|
254 |
/**
|
255 |
* Check if plugin using the free plan.
|
@@ -344,7 +416,7 @@
|
|
344 |
$this->has_free_plan();
|
345 |
}
|
346 |
|
347 |
-
#endregion
|
348 |
|
349 |
/**
|
350 |
* Check if running payments in sandbox mode.
|
@@ -407,7 +479,9 @@
|
|
407 |
*/
|
408 |
abstract function is_plugin_new_install();
|
409 |
|
410 |
-
|
|
|
|
|
411 |
|
412 |
/**
|
413 |
* Check if current user purchased any other plugins before.
|
@@ -449,5 +523,5 @@
|
|
449 |
*/
|
450 |
abstract function is_business();
|
451 |
|
452 |
-
#endregion
|
453 |
}
|
22 |
*/
|
23 |
abstract class Freemius_Abstract {
|
24 |
|
25 |
+
#----------------------------------------------------------------------------------
|
26 |
+
#region Identity
|
27 |
+
#----------------------------------------------------------------------------------
|
28 |
|
29 |
/**
|
30 |
* Check if user registered with Freemius by connecting his account.
|
52 |
*/
|
53 |
abstract function is_activation_mode();
|
54 |
|
55 |
+
#endregion
|
56 |
|
57 |
+
#----------------------------------------------------------------------------------
|
58 |
+
#region Usage Tracking
|
59 |
+
#----------------------------------------------------------------------------------
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Returns TRUE if the user opted-in and didn't disconnect (opt-out).
|
63 |
+
*
|
64 |
+
* @author Leo Fajardo (@leorw)
|
65 |
+
* @since 1.2.1.5
|
66 |
+
*
|
67 |
+
* @return bool
|
68 |
+
*/
|
69 |
+
abstract function is_tracking_allowed();
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Returns TRUE if the user never opted-in or manually opted-out.
|
73 |
+
*
|
74 |
+
* @author Vova Feldman (@svovaf)
|
75 |
+
* @since 1.2.1.5
|
76 |
+
*
|
77 |
+
* @return bool
|
78 |
+
*/
|
79 |
+
function is_tracking_prohibited() {
|
80 |
+
return ! $this->is_registered() || ! $this->is_tracking_allowed();
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Opt-out from usage tracking.
|
85 |
+
*
|
86 |
+
* Note: This will not delete the account information but will stop all tracking.
|
87 |
+
*
|
88 |
+
* Returns:
|
89 |
+
* 1. FALSE - If the user never opted-in.
|
90 |
+
* 2. TRUE - If successfully opted-out.
|
91 |
+
* 3. object - API Result on failure.
|
92 |
+
*
|
93 |
+
* @author Leo Fajardo (@leorw)
|
94 |
+
* @since 1.2.1.5
|
95 |
+
*
|
96 |
+
* @return bool|object
|
97 |
+
*/
|
98 |
+
abstract function stop_tracking();
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Opt-in back into usage tracking.
|
102 |
+
*
|
103 |
+
* Note: This will only work if the user opted-in previously.
|
104 |
+
*
|
105 |
+
* Returns:
|
106 |
+
* 1. FALSE - If the user never opted-in.
|
107 |
+
* 2. TRUE - If successfully opted-in back to usage tracking.
|
108 |
+
* 3. object - API result on failure.
|
109 |
+
*
|
110 |
+
* @author Leo Fajardo (@leorw)
|
111 |
+
* @since 1.2.1.5
|
112 |
+
*
|
113 |
+
* @return bool|object
|
114 |
+
*/
|
115 |
+
abstract function allow_tracking();
|
116 |
+
|
117 |
+
#endregion
|
118 |
+
|
119 |
+
#----------------------------------------------------------------------------------
|
120 |
+
#region Permissions
|
121 |
+
#----------------------------------------------------------------------------------
|
122 |
|
123 |
/**
|
124 |
* Check if plugin must be WordPress.org compliant.
|
141 |
return ( $this->is_premium() || ! $this->is_org_repo_compliant() );
|
142 |
}
|
143 |
|
144 |
+
#endregion
|
145 |
|
146 |
/**
|
147 |
* Check if user in trial or in free plan (not paying).
|
185 |
*/
|
186 |
abstract function can_use_premium_code();
|
187 |
|
188 |
+
#----------------------------------------------------------------------------------
|
189 |
+
#region Premium Only
|
190 |
+
#----------------------------------------------------------------------------------
|
191 |
|
192 |
/**
|
193 |
* All logic wrapped in methods with "__premium_only()" suffix will be only
|
293 |
return $this->is_premium() && $this->can_use_premium_code();
|
294 |
}
|
295 |
|
296 |
+
#endregion
|
297 |
|
298 |
+
#----------------------------------------------------------------------------------
|
299 |
+
#region Trial
|
300 |
+
#----------------------------------------------------------------------------------
|
301 |
|
302 |
/**
|
303 |
* Check if the user in a trial.
|
317 |
*/
|
318 |
abstract function is_trial_utilized();
|
319 |
|
320 |
+
#endregion
|
321 |
|
322 |
+
#----------------------------------------------------------------------------------
|
323 |
+
#region Plans
|
324 |
+
#----------------------------------------------------------------------------------
|
325 |
|
326 |
/**
|
327 |
* Check if plugin using the free plan.
|
416 |
$this->has_free_plan();
|
417 |
}
|
418 |
|
419 |
+
#endregion
|
420 |
|
421 |
/**
|
422 |
* Check if running payments in sandbox mode.
|
479 |
*/
|
480 |
abstract function is_plugin_new_install();
|
481 |
|
482 |
+
#----------------------------------------------------------------------------------
|
483 |
+
#region Marketing
|
484 |
+
#----------------------------------------------------------------------------------
|
485 |
|
486 |
/**
|
487 |
* Check if current user purchased any other plugins before.
|
523 |
*/
|
524 |
abstract function is_business();
|
525 |
|
526 |
+
#endregion
|
527 |
}
|
freemius/includes/class-freemius.php
CHANGED
@@ -114,6 +114,19 @@
|
|
114 |
*/
|
115 |
private $_has_paid_plans;
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
/**
|
118 |
* @since 1.0.7
|
119 |
* @var bool Hints the SDK if the plugin is WordPress.org compliant.
|
@@ -227,7 +240,8 @@
|
|
227 |
*/
|
228 |
private static $_instances = array();
|
229 |
|
230 |
-
|
|
|
231 |
const REASON_NO_LONGER_NEEDED = 1;
|
232 |
const REASON_FOUND_A_BETTER_PLUGIN = 2;
|
233 |
const REASON_NEEDED_FOR_A_SHORT_PERIOD = 3;
|
@@ -244,6 +258,8 @@
|
|
244 |
const REASON_DIDNT_WORK_AS_EXPECTED = 14;
|
245 |
const REASON_TEMPORARY_DEACTIVATION = 15;
|
246 |
|
|
|
|
|
247 |
/* Ctor
|
248 |
------------------------------------------------------------------------------------------------------------------*/
|
249 |
|
@@ -447,12 +463,25 @@
|
|
447 |
* @since 1.0.9
|
448 |
*/
|
449 |
private function _register_hooks() {
|
|
|
|
|
450 |
if ( is_admin() ) {
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
|
457 |
/**
|
458 |
* Part of the mechanism to identify new plugin install vs. plugin update.
|
@@ -481,9 +510,29 @@
|
|
481 |
|
482 |
add_action( 'init', array( &$this, '_redirect_on_clicked_menu_link' ), WP_FS__LOWEST_PRIORITY );
|
483 |
|
|
|
|
|
|
|
|
|
|
|
484 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
485 |
|
486 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
}
|
488 |
|
489 |
/**
|
@@ -514,11 +563,15 @@
|
|
514 |
return;
|
515 |
}
|
516 |
|
|
|
|
|
517 |
// Store cached path (2nd layer cache).
|
518 |
-
$
|
519 |
|
520 |
// Clear cached path.
|
521 |
-
unset( $
|
|
|
|
|
522 |
}
|
523 |
|
524 |
/**
|
@@ -527,21 +580,6 @@
|
|
527 |
*/
|
528 |
private function _register_account_hooks() {
|
529 |
if ( is_admin() ) {
|
530 |
-
if ( ! $this->is_ajax() ) {
|
531 |
-
if ( $this->apply_filters( 'show_trial', true ) && $this->has_trial_plan() ) {
|
532 |
-
$last_time_trial_promotion_shown = $this->_storage->get( 'trial_promotion_shown', false );
|
533 |
-
if ( ! $this->_site->is_trial_utilized() &&
|
534 |
-
(
|
535 |
-
// Show promotion if never shown it yet and 24 hours after initial activation.
|
536 |
-
( false === $last_time_trial_promotion_shown && $this->_storage->activation_timestamp < ( time() - WP_FS__TIME_24_HOURS_IN_SEC ) ) ||
|
537 |
-
// Show promotion in every 30 days.
|
538 |
-
( is_numeric( $last_time_trial_promotion_shown ) && 30 * WP_FS__TIME_24_HOURS_IN_SEC < time() - $last_time_trial_promotion_shown ) )
|
539 |
-
) {
|
540 |
-
$this->add_action( 'after_init_plugin_registered', array( &$this, '_add_trial_notice' ) );
|
541 |
-
}
|
542 |
-
}
|
543 |
-
}
|
544 |
-
|
545 |
// If user is paying or in trial and have the free version installed,
|
546 |
// assume that the deactivation is for the upgrade process.
|
547 |
if ( ! $this->is_paying_or_trial() || $this->is_premium() ) {
|
@@ -550,8 +588,7 @@
|
|
550 |
array( &$this, '_submit_uninstall_reason_action' )
|
551 |
);
|
552 |
|
553 |
-
|
554 |
-
if ( 'plugins.php' === $pagenow ) {
|
555 |
add_action( 'admin_footer', array( &$this, '_add_deactivation_feedback_dialog_box' ) );
|
556 |
}
|
557 |
}
|
@@ -579,7 +616,8 @@
|
|
579 |
private function _find_caller_plugin_file( $is_init = false ) {
|
580 |
// Try to load the cached value of the file path.
|
581 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
582 |
-
|
|
|
583 |
return $this->_storage->plugin_main_file->path;
|
584 |
}
|
585 |
}
|
@@ -627,7 +665,9 @@
|
|
627 |
}
|
628 |
|
629 |
|
630 |
-
|
|
|
|
|
631 |
|
632 |
/**
|
633 |
* Displays a confirmation and feedback dialog box when the user clicks on the "Deactivate" link on the plugins
|
@@ -873,9 +913,11 @@
|
|
873 |
exit;
|
874 |
}
|
875 |
|
876 |
-
#endregion
|
877 |
|
878 |
-
|
|
|
|
|
879 |
|
880 |
/**
|
881 |
* Main singleton instance.
|
@@ -1164,6 +1206,10 @@
|
|
1164 |
self::$_statics_loaded = true;
|
1165 |
}
|
1166 |
|
|
|
|
|
|
|
|
|
1167 |
/**
|
1168 |
* Load framework's text domain.
|
1169 |
*
|
@@ -1186,7 +1232,11 @@
|
|
1186 |
// @todo Load for themes.
|
1187 |
}
|
1188 |
|
1189 |
-
#
|
|
|
|
|
|
|
|
|
1190 |
|
1191 |
/**
|
1192 |
* @author Vova Feldman (@svovaf)
|
@@ -1247,10 +1297,22 @@
|
|
1247 |
if ( fs_request_is_action( 'restart_freemius' ) ) {
|
1248 |
check_admin_referer( 'restart_freemius' );
|
1249 |
|
|
|
1250 |
self::$_accounts->clear( true );
|
1251 |
|
|
|
|
|
|
|
|
|
1252 |
|
1253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1254 |
}
|
1255 |
}
|
1256 |
|
@@ -1282,9 +1344,11 @@
|
|
1282 |
fs_require_once_template( 'debug.php', $vars );
|
1283 |
}
|
1284 |
|
1285 |
-
#endregion
|
1286 |
|
1287 |
-
|
|
|
|
|
1288 |
|
1289 |
/**
|
1290 |
* Check if Freemius should be turned on for the current plugin install.
|
@@ -1427,8 +1491,11 @@
|
|
1427 |
$this->_has_api_connection = $this->_storage->connectivity_test['is_connected'];
|
1428 |
/**
|
1429 |
* @since 1.1.6 During dev mode, if there's connectivity - turn Freemius on regardless the configuration.
|
|
|
|
|
1430 |
*/
|
1431 |
$this->_is_on = $this->_storage->connectivity_test['is_active'] ||
|
|
|
1432 |
( WP_FS__DEV_MODE && $this->_has_api_connection && ! WP_FS__SIMULATE_FREEMIUS_OFF );
|
1433 |
|
1434 |
return $this->_has_api_connection;
|
@@ -1565,8 +1632,8 @@
|
|
1565 |
* @param bool $is_first_failure
|
1566 |
*/
|
1567 |
function _add_connectivity_issue_message( $api_result, $is_first_failure = true ) {
|
1568 |
-
if ( $this->_enable_anonymous ) {
|
1569 |
-
// Don't add message if can run anonymously.
|
1570 |
return;
|
1571 |
}
|
1572 |
|
@@ -1879,9 +1946,11 @@
|
|
1879 |
fs_require_once_template( 'firewall-issues-js.php', $params );
|
1880 |
}
|
1881 |
|
1882 |
-
#endregion
|
1883 |
|
1884 |
-
|
|
|
|
|
1885 |
|
1886 |
/**
|
1887 |
* Generates and sends an HTML email with customizable sections.
|
@@ -2030,9 +2099,11 @@
|
|
2030 |
return $sections;
|
2031 |
}
|
2032 |
|
2033 |
-
#endregion
|
2034 |
|
2035 |
-
|
|
|
|
|
2036 |
|
2037 |
/**
|
2038 |
* Init plugin's Freemius instance.
|
@@ -2086,7 +2157,7 @@
|
|
2086 |
if ( $this->_admin_notices->has_sticky( 'failed_connect_api_first' ) ||
|
2087 |
$this->_admin_notices->has_sticky( 'failed_connect_api' )
|
2088 |
) {
|
2089 |
-
if ( ! $this->_enable_anonymous ) {
|
2090 |
// If anonymous mode is disabled, add firewall admin-notice message.
|
2091 |
add_action( 'admin_footer', array( 'Freemius', '_add_firewall_issues_javascript' ) );
|
2092 |
|
@@ -2138,7 +2209,7 @@
|
|
2138 |
*
|
2139 |
*/
|
2140 |
if ( $this->is_registered() ) {
|
2141 |
-
if ( ! $this->is_sync_cron_on() ) {
|
2142 |
$this->schedule_sync_cron();
|
2143 |
}
|
2144 |
}
|
@@ -2167,8 +2238,7 @@
|
|
2167 |
}
|
2168 |
|
2169 |
if ( $this->is_user_in_admin() ) {
|
2170 |
-
|
2171 |
-
if ( 'plugins.php' === $pagenow ) {
|
2172 |
$this->hook_plugin_action_links();
|
2173 |
}
|
2174 |
|
@@ -2269,26 +2339,168 @@
|
|
2269 |
$this->do_action( 'after_init_addon_pending_activations' );
|
2270 |
}
|
2271 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2272 |
|
2273 |
-
|
2274 |
-
if ( $this->has_paid_plan() ) {
|
2275 |
-
global $pagenow;
|
2276 |
-
if ( 'plugins.php' === $pagenow ) {
|
2277 |
-
/**
|
2278 |
-
* @since 1.2.0 Add license action link only on plugins page.
|
2279 |
-
*/
|
2280 |
-
$this->_add_license_action_link();
|
2281 |
-
$this->_require_license_activation_dialog();
|
2282 |
-
}
|
2283 |
|
2284 |
-
|
2285 |
-
|
2286 |
-
|
2287 |
-
|
2288 |
-
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2292 |
}
|
2293 |
}
|
2294 |
|
@@ -2323,7 +2535,7 @@
|
|
2323 |
$parent_id = $this->get_numeric_option( $plugin_info['parent'], 'id', null );
|
2324 |
// $parent_slug = $this->get_option( $plugin_info['parent'], 'slug', null );
|
2325 |
// $parent_public_key = $this->get_option( $plugin_info['parent'], 'public_key', null );
|
2326 |
-
$parent_name = $this->get_option( $plugin_info['parent'], 'name', null );
|
2327 |
}
|
2328 |
|
2329 |
if ( false === $id ) {
|
@@ -2382,6 +2594,17 @@
|
|
2382 |
$this->_anonymous_mode = $this->get_bool_option( $plugin_info, 'anonymous_mode', false );
|
2383 |
}
|
2384 |
$this->_permissions = $this->get_option( $plugin_info, 'permissions', array() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2385 |
}
|
2386 |
|
2387 |
/**
|
@@ -2503,11 +2726,9 @@
|
|
2503 |
function _plugin_code_type_changed() {
|
2504 |
$this->_logger->entrance();
|
2505 |
|
2506 |
-
// Schedule code type changes event.
|
2507 |
-
// $this->sync_install();
|
2508 |
-
$this->schedule_install_sync();
|
2509 |
-
|
2510 |
if ( $this->is_premium() ) {
|
|
|
|
|
2511 |
// Activated premium code.
|
2512 |
$this->do_action( 'after_premium_version_activation' );
|
2513 |
|
@@ -2516,6 +2737,7 @@
|
|
2516 |
'trial_started',
|
2517 |
'plan_upgraded',
|
2518 |
'plan_changed',
|
|
|
2519 |
) );
|
2520 |
|
2521 |
$this->_admin_notices->add_sticky(
|
@@ -2542,6 +2764,9 @@
|
|
2542 |
}
|
2543 |
}
|
2544 |
|
|
|
|
|
|
|
2545 |
/**
|
2546 |
* Unregister the uninstall hook for the other version of the plugin (with different code type) to avoid
|
2547 |
* triggering a fatal error when uninstalling that plugin. For example, after deactivating the "free" version
|
@@ -2559,9 +2784,11 @@
|
|
2559 |
$this->_storage->prev_is_premium = $this->_plugin->is_premium;
|
2560 |
}
|
2561 |
|
2562 |
-
#endregion
|
2563 |
|
2564 |
-
|
|
|
|
|
2565 |
|
2566 |
/**
|
2567 |
* Check if add-on installed and activated on site.
|
@@ -2758,8 +2985,8 @@
|
|
2758 |
$this->_parent->_admin_notices->add_sticky(
|
2759 |
sprintf(
|
2760 |
__fs( ( $is_after_trial_cancel ?
|
2761 |
-
|
2762 |
-
|
2763 |
$this->_parent->_slug
|
2764 |
),
|
2765 |
'<b>' . $this->_plugin->title . '</b>'
|
@@ -2781,9 +3008,11 @@
|
|
2781 |
return false;
|
2782 |
}
|
2783 |
|
2784 |
-
#endregion
|
2785 |
|
2786 |
-
|
|
|
|
|
2787 |
|
2788 |
/**
|
2789 |
* Set Freemius into sandbox mode for debugging.
|
@@ -2812,7 +3041,7 @@
|
|
2812 |
return ( ! $this->is_live() ) || isset( $this->_plugin->secret_key );
|
2813 |
}
|
2814 |
|
2815 |
-
#endregion
|
2816 |
|
2817 |
/**
|
2818 |
* Check if running test vs. live plugin.
|
@@ -2877,7 +3106,9 @@
|
|
2877 |
return $this->_is_org_compliant;
|
2878 |
}
|
2879 |
|
2880 |
-
|
|
|
|
|
2881 |
|
2882 |
/**
|
2883 |
* @author Vova Feldman (@svovaf)
|
@@ -3061,7 +3292,9 @@
|
|
3061 |
|
3062 |
#endregion Daily Sync Cron ------------------------------------------------------------------
|
3063 |
|
3064 |
-
|
|
|
|
|
3065 |
|
3066 |
/**
|
3067 |
* @author Vova Feldman (@svovaf)
|
@@ -3186,8 +3419,9 @@
|
|
3186 |
* @since 1.0.7
|
3187 |
*
|
3188 |
* @param bool|string $email
|
|
|
3189 |
*/
|
3190 |
-
function _add_pending_activation_notice( $email = false ) {
|
3191 |
if ( ! is_string( $email ) ) {
|
3192 |
$current_user = self::_get_current_wp_user();
|
3193 |
$email = $current_user->user_email;
|
@@ -3197,7 +3431,8 @@
|
|
3197 |
sprintf(
|
3198 |
__fs( 'pending-activation-message', $this->_slug ),
|
3199 |
'<b>' . $this->get_plugin_name() . '</b>',
|
3200 |
-
'<b>' . $email . '</b>'
|
|
|
3201 |
),
|
3202 |
'activation_pending',
|
3203 |
'Thanks!'
|
@@ -3244,9 +3479,7 @@
|
|
3244 |
|
3245 |
$this->skip_connection();
|
3246 |
|
3247 |
-
|
3248 |
-
exit();
|
3249 |
-
}
|
3250 |
}
|
3251 |
|
3252 |
if ( ! $this->is_addon() && ! $this->is_registered() && ! $this->is_anonymous() ) {
|
@@ -3335,11 +3568,11 @@
|
|
3335 |
jQuery(document).ready(function ($) {
|
3336 |
if ('undefined' !== typeof(jQuery().pointer)) {
|
3337 |
|
3338 |
-
var element = <?php echo $this->apply_filters('optin_pointer_element', '$("#non_existing_element");') ?>;
|
3339 |
|
3340 |
if (element.length > 0) {
|
3341 |
var optin = $(element).pointer($.extend(true, {}, {
|
3342 |
-
content : <?php echo json_encode($pointer_content) ?>,
|
3343 |
position : {
|
3344 |
edge : 'left',
|
3345 |
align: 'center'
|
@@ -3349,10 +3582,10 @@
|
|
3349 |
return '';
|
3350 |
},
|
3351 |
pointerWidth: 482
|
3352 |
-
}, <?php echo $this->apply_filters('optin_pointer_options_json', '{}') ?>));
|
3353 |
|
3354 |
<?php
|
3355 |
-
echo $this->apply_filters('optin_pointer_execute', "
|
3356 |
|
3357 |
optin.pointer('open');
|
3358 |
|
@@ -3361,12 +3594,12 @@
|
|
3361 |
.parents('.wp-pointer.wp-pointer-top')
|
3362 |
.addClass('fs-opt-in-pointer');
|
3363 |
|
3364 |
-
", 'element', 'optin') ?>
|
3365 |
}
|
3366 |
}
|
3367 |
});
|
3368 |
// ]]></script>
|
3369 |
-
|
3370 |
}
|
3371 |
|
3372 |
/**
|
@@ -3482,6 +3715,18 @@
|
|
3482 |
$this->_storage->is_plugin_new_install;
|
3483 |
}
|
3484 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3485 |
/**
|
3486 |
* Plugin activated hook.
|
3487 |
*
|
@@ -3503,17 +3748,32 @@
|
|
3503 |
FS_Api::clear_cache();
|
3504 |
|
3505 |
if ( $this->is_registered() ) {
|
|
|
|
|
3506 |
// Schedule re-activation event and sync.
|
3507 |
// $this->sync_install( array(), true );
|
3508 |
$this->schedule_install_sync();
|
3509 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3510 |
/**
|
3511 |
-
*
|
|
|
|
|
|
|
3512 |
*/
|
3513 |
-
if (
|
3514 |
-
|
3515 |
-
|
3516 |
|
|
|
|
|
3517 |
$this->_admin_notices->add(
|
3518 |
sprintf( __fs( 'successful-version-upgrade-message', $this->_slug ), sprintf( '<b>%s</b>', $this->_plugin->title ) ),
|
3519 |
__fs( 'woot', $this->_slug ) . '!'
|
@@ -3724,9 +3984,7 @@
|
|
3724 |
|
3725 |
$this->reset_anonymous_mode();
|
3726 |
|
3727 |
-
|
3728 |
-
exit();
|
3729 |
-
}
|
3730 |
}
|
3731 |
|
3732 |
/**
|
@@ -4052,11 +4310,13 @@
|
|
4052 |
'language' => get_bloginfo( 'language' ),
|
4053 |
'charset' => get_bloginfo( 'charset' ),
|
4054 |
'platform_version' => get_bloginfo( 'version' ),
|
|
|
4055 |
'programming_language_version' => phpversion(),
|
4056 |
'title' => get_bloginfo( 'name' ),
|
4057 |
'url' => get_site_url(),
|
4058 |
// Special params.
|
4059 |
'is_active' => true,
|
|
|
4060 |
'is_uninstalled' => false,
|
4061 |
), $override );
|
4062 |
}
|
@@ -4086,7 +4346,7 @@
|
|
4086 |
|
4087 |
foreach ( $check_properties as $p => $v ) {
|
4088 |
if ( property_exists( $this->_site, $p ) ) {
|
4089 |
-
if ( ! empty( $this->_site->{$p} ) &&
|
4090 |
$this->_site->{$p} != $v
|
4091 |
) {
|
4092 |
$this->_site->{$p} = $v;
|
@@ -4122,7 +4382,7 @@
|
|
4122 |
// Send updated values to FS.
|
4123 |
$site = $this->get_api_site_scope()->call( '/', 'put', $params );
|
4124 |
|
4125 |
-
if (
|
4126 |
// I successfully sent install update, clear scheduled sync if exist.
|
4127 |
$this->clear_install_sync_cron();
|
4128 |
}
|
@@ -4141,8 +4401,6 @@
|
|
4141 |
*
|
4142 |
* @param string[] string $override
|
4143 |
* @param bool $flush
|
4144 |
-
*
|
4145 |
-
* @return false|object|string
|
4146 |
*/
|
4147 |
private function sync_install( $override = array(), $flush = false ) {
|
4148 |
$this->_logger->entrance();
|
@@ -4154,7 +4412,7 @@
|
|
4154 |
return;
|
4155 |
}
|
4156 |
|
4157 |
-
if ( $this->
|
4158 |
// Failed to sync, don't update locally.
|
4159 |
return;
|
4160 |
}
|
@@ -4345,7 +4603,9 @@
|
|
4345 |
}
|
4346 |
}
|
4347 |
|
4348 |
-
|
|
|
|
|
4349 |
|
4350 |
/**
|
4351 |
* Load WordPress core plugin.php essential module.
|
@@ -4355,6 +4615,8 @@
|
|
4355 |
*/
|
4356 |
private static function require_plugin_essentials() {
|
4357 |
if ( ! function_exists( 'get_plugins' ) ) {
|
|
|
|
|
4358 |
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
4359 |
}
|
4360 |
}
|
@@ -4419,6 +4681,28 @@
|
|
4419 |
return $this->_plugin->id;
|
4420 |
}
|
4421 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4422 |
/**
|
4423 |
* @author Vova Feldman (@svovaf)
|
4424 |
* @since 1.0.1
|
@@ -4643,7 +4927,7 @@
|
|
4643 |
* @author Vova Feldman (@svovaf)
|
4644 |
* @since 1.0.6
|
4645 |
*
|
4646 |
-
* @return FS_Plugin[]
|
4647 |
*/
|
4648 |
private static function get_all_addons() {
|
4649 |
$addons = self::$_accounts->get_option( 'addons', array() );
|
@@ -4682,6 +4966,18 @@
|
|
4682 |
return is_object( $this->_user );
|
4683 |
}
|
4684 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4685 |
/**
|
4686 |
* @author Vova Feldman (@svovaf)
|
4687 |
* @since 1.0.4
|
@@ -4720,16 +5016,18 @@
|
|
4720 |
*
|
4721 |
* @since 1.1.7.3 If not yet loaded, fetch data from the API.
|
4722 |
*
|
|
|
|
|
4723 |
* @return FS_Plugin[]|false
|
4724 |
*/
|
4725 |
-
function get_addons() {
|
4726 |
$this->_logger->entrance();
|
4727 |
|
4728 |
if ( ! $this->_has_addons ) {
|
4729 |
return false;
|
4730 |
}
|
4731 |
|
4732 |
-
$addons = $this->_sync_addons();
|
4733 |
|
4734 |
return ( ! is_array( $addons ) || empty( $addons ) ) ?
|
4735 |
false :
|
@@ -4807,12 +5105,14 @@
|
|
4807 |
*
|
4808 |
* @param string $slug
|
4809 |
*
|
|
|
|
|
4810 |
* @return FS_Plugin|false
|
4811 |
*/
|
4812 |
-
function get_addon_by_slug( $slug ) {
|
4813 |
$this->_logger->entrance();
|
4814 |
|
4815 |
-
$addons = $this->get_addons();
|
4816 |
|
4817 |
if ( is_array( $addons ) ) {
|
4818 |
foreach ( $addons as $addon ) {
|
@@ -4825,7 +5125,9 @@
|
|
4825 |
return false;
|
4826 |
}
|
4827 |
|
4828 |
-
|
|
|
|
|
4829 |
|
4830 |
/**
|
4831 |
* Check if running premium plugin code.
|
@@ -4867,10 +5169,12 @@
|
|
4867 |
* @author Vova Feldman (@svovaf)
|
4868 |
* @since 1.0.9
|
4869 |
*
|
4870 |
-
* @return FS_Plugin_Plan
|
4871 |
*/
|
4872 |
function get_plan() {
|
4873 |
-
return is_object( $this->_site->plan ) ?
|
|
|
|
|
4874 |
}
|
4875 |
|
4876 |
/**
|
@@ -5018,7 +5322,7 @@
|
|
5018 |
* @author Vova Feldman (@svovaf)
|
5019 |
* @since 1.0.5
|
5020 |
*
|
5021 |
-
* @return FS_Plugin_License
|
5022 |
*/
|
5023 |
function _get_available_premium_license() {
|
5024 |
$this->_logger->entrance();
|
@@ -5048,7 +5352,8 @@
|
|
5048 |
*/
|
5049 |
function _sync_plans() {
|
5050 |
$plans = $this->_fetch_plugin_plans();
|
5051 |
-
|
|
|
5052 |
$this->_plans = $plans;
|
5053 |
$this->_store_plans();
|
5054 |
}
|
@@ -5064,7 +5369,7 @@
|
|
5064 |
*
|
5065 |
* @param number $id
|
5066 |
*
|
5067 |
-
* @return FS_Plugin_Plan
|
5068 |
*/
|
5069 |
function _get_plan_by_id( $id ) {
|
5070 |
$this->_logger->entrance();
|
@@ -5118,7 +5423,8 @@
|
|
5118 |
*/
|
5119 |
function _sync_licenses( $site_license_id = false ) {
|
5120 |
$licenses = $this->_fetch_licenses( false, $site_license_id );
|
5121 |
-
|
|
|
5122 |
$this->_licenses = $licenses;
|
5123 |
$this->_store_licenses();
|
5124 |
}
|
@@ -5137,7 +5443,7 @@
|
|
5137 |
*
|
5138 |
* @param number $id
|
5139 |
*
|
5140 |
-
* @return FS_Plugin_License
|
5141 |
*/
|
5142 |
function _get_license_by_id( $id ) {
|
5143 |
$this->_logger->entrance();
|
@@ -5362,6 +5668,17 @@
|
|
5362 |
*/
|
5363 |
function has_trial_plan() {
|
5364 |
if ( ! $this->is_registered() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5365 |
return false;
|
5366 |
}
|
5367 |
|
@@ -5379,9 +5696,7 @@
|
|
5379 |
* @return bool
|
5380 |
*/
|
5381 |
function has_free_plan() {
|
5382 |
-
return ! $this->
|
5383 |
-
! $this->is_only_premium() ||
|
5384 |
-
FS_Plan_Manager::instance()->has_free_plan( $this->_plans );
|
5385 |
}
|
5386 |
|
5387 |
/**
|
@@ -5401,30 +5716,56 @@
|
|
5401 |
fs_require_template( 'forms/resend-key.php', $vars );
|
5402 |
}
|
5403 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5404 |
/**
|
5405 |
* Prepare page to include all required UI and logic for the license activation dialog.
|
5406 |
*
|
5407 |
* @author Vova Feldman (@svovaf)
|
5408 |
* @since 1.2.0
|
5409 |
*/
|
5410 |
-
function
|
5411 |
-
if (
|
5412 |
-
|
5413 |
-
|
5414 |
-
|
5415 |
-
}
|
5416 |
|
5417 |
-
|
5418 |
-
|
5419 |
-
|
5420 |
-
|
5421 |
-
|
5422 |
-
|
5423 |
-
|
5424 |
-
|
5425 |
-
|
5426 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
5427 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
5428 |
}
|
5429 |
|
5430 |
/**
|
@@ -5438,26 +5779,33 @@
|
|
5438 |
exit;
|
5439 |
}
|
5440 |
|
5441 |
-
$slug
|
5442 |
-
$fs
|
5443 |
-
$error
|
|
|
5444 |
|
5445 |
if ( $this->is_registered() ) {
|
5446 |
$api = $fs->get_api_site_scope();
|
5447 |
-
$install = $api->call( '/', 'put',
|
5448 |
-
|
5449 |
-
|
5450 |
-
)
|
5451 |
-
);
|
5452 |
|
5453 |
if ( isset( $install->error ) ) {
|
5454 |
$error = $install->error->message;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5455 |
}
|
5456 |
} else {
|
5457 |
-
$
|
5458 |
|
5459 |
-
if ( isset( $
|
5460 |
-
$error = $
|
5461 |
}
|
5462 |
}
|
5463 |
|
@@ -5467,6 +5815,8 @@
|
|
5467 |
|
5468 |
if ( false !== $error ) {
|
5469 |
$result['error'] = $error;
|
|
|
|
|
5470 |
}
|
5471 |
|
5472 |
echo json_encode( $result );
|
@@ -5475,11 +5825,80 @@
|
|
5475 |
}
|
5476 |
|
5477 |
/**
|
5478 |
-
*
|
5479 |
-
*
|
|
|
|
|
5480 |
*/
|
5481 |
-
function
|
5482 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5483 |
exit;
|
5484 |
}
|
5485 |
|
@@ -5523,7 +5942,23 @@
|
|
5523 |
exit;
|
5524 |
}
|
5525 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5526 |
#region URL Generators
|
|
|
5527 |
|
5528 |
/**
|
5529 |
* Alias to pricing_url().
|
@@ -5904,7 +6339,7 @@
|
|
5904 |
self::require_pluggable_essentials();
|
5905 |
|
5906 |
return ( $add_action_nonce && is_string( $action ) ) ?
|
5907 |
-
|
5908 |
$this->_get_admin_page_url( 'account', $params );
|
5909 |
}
|
5910 |
|
@@ -6099,9 +6534,7 @@
|
|
6099 |
$this->_set_account( $user, $site, $plans );
|
6100 |
|
6101 |
// Reload the page with the keys.
|
6102 |
-
|
6103 |
-
exit();
|
6104 |
-
}
|
6105 |
}
|
6106 |
}
|
6107 |
|
@@ -6129,7 +6562,9 @@
|
|
6129 |
return false;
|
6130 |
}
|
6131 |
|
6132 |
-
|
|
|
|
|
6133 |
|
6134 |
/***
|
6135 |
* Load account information (user + site).
|
@@ -6171,7 +6606,7 @@
|
|
6171 |
// Load plans.
|
6172 |
$this->_plans = $plans[ $this->_slug ];
|
6173 |
if ( ! is_array( $this->_plans ) || empty( $this->_plans ) ) {
|
6174 |
-
$this->_sync_plans(
|
6175 |
} else {
|
6176 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
6177 |
if ( $this->_plans[ $i ] instanceof FS_Plugin_Plan ) {
|
@@ -6240,33 +6675,50 @@
|
|
6240 |
|
6241 |
$current_user = self::_get_current_wp_user();
|
6242 |
|
6243 |
-
$
|
6244 |
-
|
6245 |
-
|
6246 |
-
|
6247 |
-
'
|
6248 |
-
|
6249 |
-
'plugin_slug' => $this->_slug,
|
6250 |
-
'plugin_id' => $this->get_id(),
|
6251 |
-
'plugin_public_key' => $this->get_public_key(),
|
6252 |
-
'plugin_version' => $this->get_plugin_version(),
|
6253 |
-
'return_url' => wp_nonce_url( $this->_get_admin_page_url(
|
6254 |
'',
|
6255 |
-
array( 'fs_action' => $
|
6256 |
-
)
|
6257 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6258 |
'account',
|
6259 |
array( 'fs_action' => 'sync_user' )
|
6260 |
), 'sync_user' ),
|
6261 |
-
'site_uid'
|
6262 |
-
'site_url'
|
6263 |
-
'site_name'
|
6264 |
-
'platform_version'
|
6265 |
-
'
|
6266 |
-
'
|
6267 |
-
'
|
|
|
|
|
|
|
|
|
6268 |
);
|
6269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
6270 |
if ( WP_FS__SKIP_EMAIL_ACTIVATION && $this->has_secret_key() ) {
|
6271 |
// Even though rand() is known for its security issues,
|
6272 |
// the timestamp adds another layer of protection.
|
@@ -6286,6 +6738,9 @@
|
|
6286 |
}
|
6287 |
|
6288 |
/**
|
|
|
|
|
|
|
6289 |
* @author Vova Feldman (@svovaf)
|
6290 |
* @since 1.1.7.4
|
6291 |
*
|
@@ -6296,9 +6751,9 @@
|
|
6296 |
* @param bool $is_uninstall If "true", this means that the module is currently being uninstalled.
|
6297 |
* In this case, the user and site info will be sent to the server but no
|
6298 |
* data will be saved to the WP installation's database.
|
|
|
6299 |
*
|
6300 |
-
* @return
|
6301 |
-
*
|
6302 |
* @use WP_Error
|
6303 |
*/
|
6304 |
function opt_in(
|
@@ -6306,7 +6761,8 @@
|
|
6306 |
$first = false,
|
6307 |
$last = false,
|
6308 |
$license_key = false,
|
6309 |
-
$is_uninstall = false
|
|
|
6310 |
) {
|
6311 |
$this->_logger->entrance();
|
6312 |
|
@@ -6319,11 +6775,14 @@
|
|
6319 |
* @since 1.2.1 If activating with license key, ignore the context-user
|
6320 |
* since the user will be automatically loaded from the license.
|
6321 |
*/
|
6322 |
-
if (empty($license_key)) {
|
|
|
|
|
|
|
6323 |
if ( ! $is_uninstall ) {
|
6324 |
$fs_user = Freemius::_get_user_by_email( $email );
|
6325 |
if ( is_object( $fs_user ) && ! $this->is_pending_activation() ) {
|
6326 |
-
return $this->install_with_current_user( false );
|
6327 |
}
|
6328 |
}
|
6329 |
}
|
@@ -6341,8 +6800,12 @@
|
|
6341 |
|
6342 |
$params = $this->get_opt_in_params( $user_info );
|
6343 |
|
|
|
6344 |
if ( is_string( $license_key ) ) {
|
6345 |
-
$
|
|
|
|
|
|
|
6346 |
}
|
6347 |
|
6348 |
if ( $is_uninstall ) {
|
@@ -6368,26 +6831,40 @@
|
|
6368 |
if ( $response instanceof WP_Error ) {
|
6369 |
if ( 'https://' === substr( $url, 0, 8 ) &&
|
6370 |
isset( $response->errors ) &&
|
6371 |
-
isset( $response->errors['http_request_failed'] )
|
6372 |
-
false !== strpos( $response->errors['http_request_failed'][0], 'sslv3 alert handshake' )
|
6373 |
) {
|
6374 |
-
|
6375 |
-
$url = 'http://' . substr( $url, 8 );
|
6376 |
|
6377 |
-
|
6378 |
-
|
6379 |
-
'
|
6380 |
-
'timeout' => 15,
|
6381 |
-
) );
|
6382 |
-
}
|
6383 |
|
6384 |
-
|
6385 |
-
|
|
|
|
|
|
|
|
|
6386 |
}
|
6387 |
}
|
6388 |
|
6389 |
if ( is_wp_error( $response ) ) {
|
6390 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6391 |
}
|
6392 |
|
6393 |
// Module is being uninstalled, don't handle the returned data.
|
@@ -6401,15 +6878,25 @@
|
|
6401 |
return false;
|
6402 |
}
|
6403 |
|
6404 |
-
if (
|
6405 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6406 |
} else if ( isset( $decoded->pending_activation ) && $decoded->pending_activation ) {
|
6407 |
// Pending activation, add message.
|
6408 |
-
$this->set_pending_confirmation(
|
6409 |
-
|
6410 |
-
|
|
|
|
|
|
|
6411 |
} else if ( isset( $decoded->install_secret_key ) ) {
|
6412 |
-
$this->install_with_new_user(
|
6413 |
$decoded->user_id,
|
6414 |
$decoded->user_public_key,
|
6415 |
$decoded->user_secret_key,
|
@@ -6418,8 +6905,6 @@
|
|
6418 |
$decoded->install_secret_key,
|
6419 |
false
|
6420 |
);
|
6421 |
-
|
6422 |
-
return true;
|
6423 |
}
|
6424 |
|
6425 |
return $decoded;
|
@@ -6435,7 +6920,7 @@
|
|
6435 |
* @param FS_Site $site
|
6436 |
* @param bool $redirect
|
6437 |
*
|
6438 |
-
* @return
|
6439 |
*/
|
6440 |
function setup_account( FS_User $user, FS_Site $site, $redirect = true ) {
|
6441 |
$this->_user = $user;
|
@@ -6470,7 +6955,7 @@
|
|
6470 |
// Remove plugin from pending activation mode.
|
6471 |
unset( $this->_storage->is_pending_activation );
|
6472 |
|
6473 |
-
if ( ! $this->
|
6474 |
$this->_admin_notices->add_sticky(
|
6475 |
sprintf( __fs( 'plugin-x-activation-message', $this->_slug ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
6476 |
'activation_complete'
|
@@ -6478,15 +6963,30 @@
|
|
6478 |
}
|
6479 |
}
|
6480 |
|
6481 |
-
if ( $this->
|
6482 |
-
$this->
|
6483 |
-
|
6484 |
-
|
6485 |
-
|
6486 |
-
|
6487 |
-
|
6488 |
-
|
6489 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6490 |
}
|
6491 |
|
6492 |
$plugin_id = fs_request_get( 'plugin_id', false );
|
@@ -6496,14 +6996,12 @@
|
|
6496 |
$this->_storage->activation_timestamp = WP_FS__SCRIPT_START_TIME;
|
6497 |
}
|
6498 |
|
|
|
|
|
6499 |
if ( is_numeric( $plugin_id ) ) {
|
6500 |
if ( $plugin_id != $this->_plugin->id ) {
|
6501 |
// Add-on was installed - sync license right after install.
|
6502 |
-
|
6503 |
-
) {
|
6504 |
-
exit();
|
6505 |
-
}
|
6506 |
-
|
6507 |
}
|
6508 |
} else {
|
6509 |
/**
|
@@ -6515,10 +7013,17 @@
|
|
6515 |
}
|
6516 |
|
6517 |
// Reload the page with the keys.
|
6518 |
-
|
6519 |
-
|
6520 |
-
|
|
|
|
|
|
|
|
|
|
|
6521 |
}
|
|
|
|
|
6522 |
}
|
6523 |
|
6524 |
/**
|
@@ -6565,6 +7070,8 @@
|
|
6565 |
* @param string $install_public_key
|
6566 |
* @param string $install_secret_key
|
6567 |
* @param bool $redirect
|
|
|
|
|
6568 |
*/
|
6569 |
private function install_with_new_user(
|
6570 |
$user_id,
|
@@ -6595,26 +7102,49 @@
|
|
6595 |
$site = new FS_Site( $site_result );
|
6596 |
$this->_site = $site;
|
6597 |
|
6598 |
-
$this->setup_account( $this->_user, $this->_site, $redirect );
|
6599 |
}
|
6600 |
|
6601 |
/**
|
6602 |
* @author Vova Feldman (@svovaf)
|
6603 |
* @since 1.1.7.4
|
6604 |
*
|
6605 |
-
* @param bool $email
|
6606 |
-
* @param bool
|
|
|
|
|
|
|
|
|
6607 |
*/
|
6608 |
-
private function set_pending_confirmation(
|
|
|
|
|
|
|
|
|
|
|
6609 |
// Install must be activated via email since
|
6610 |
// user with the same email already exist.
|
6611 |
$this->_storage->is_pending_activation = true;
|
6612 |
-
$this->_add_pending_activation_notice( $email );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6613 |
|
6614 |
// Reload the page with with pending activation message.
|
6615 |
-
if ( $redirect
|
6616 |
-
|
6617 |
}
|
|
|
|
|
6618 |
}
|
6619 |
|
6620 |
/**
|
@@ -6633,7 +7163,13 @@
|
|
6633 |
if ( fs_request_is_action( $this->_slug . '_activate_existing' ) && fs_request_is_post() ) {
|
6634 |
// check_admin_referer( 'activate_existing_' . $this->_plugin->public_key );
|
6635 |
|
6636 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
6637 |
}
|
6638 |
}
|
6639 |
|
@@ -6642,11 +7178,18 @@
|
|
6642 |
* @author Vova Feldman (@svovaf)
|
6643 |
* @since 1.1.7.4
|
6644 |
*
|
6645 |
-
* @param bool $
|
|
|
|
|
6646 |
*
|
6647 |
-
* @return object
|
|
|
6648 |
*/
|
6649 |
-
private function install_with_current_user(
|
|
|
|
|
|
|
|
|
6650 |
// Get current logged WP user.
|
6651 |
$current_user = self::_get_current_wp_user();
|
6652 |
|
@@ -6660,24 +7203,30 @@
|
|
6660 |
'uid' => $this->get_anonymous_id(),
|
6661 |
);
|
6662 |
|
6663 |
-
/**
|
6664 |
-
* @author Vova Feldman (@svovaf)
|
6665 |
-
* @since 1.1.9 Add license key if given.
|
6666 |
-
*/
|
6667 |
-
$license_key = fs_request_get( 'license_secret_key' );
|
6668 |
-
|
6669 |
if ( ! empty( $license_key ) ) {
|
6670 |
-
$
|
|
|
|
|
|
|
6671 |
}
|
6672 |
|
|
|
|
|
6673 |
// Install the plugin.
|
6674 |
$install = $this->get_api_user_scope()->call(
|
6675 |
"/plugins/{$this->get_id()}/installs.json",
|
6676 |
'post',
|
6677 |
-
$
|
6678 |
);
|
6679 |
|
6680 |
-
if ( $this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6681 |
$this->_admin_notices->add(
|
6682 |
sprintf( __fs( 'could-not-activate-x', $this->_slug ), $this->get_plugin_name() ) . ' ' .
|
6683 |
__fs( 'contact-us-with-error-message', $this->_slug ) . ' ' . '<b>' . $install->error->message . '</b>',
|
@@ -6685,9 +7234,8 @@
|
|
6685 |
'error'
|
6686 |
);
|
6687 |
|
6688 |
-
if ( $redirect
|
6689 |
-
|
6690 |
-
exit();
|
6691 |
}
|
6692 |
|
6693 |
return $install;
|
@@ -6695,14 +7243,8 @@
|
|
6695 |
|
6696 |
$site = new FS_Site( $install );
|
6697 |
$this->_site = $site;
|
6698 |
-
// $this->_enrich_site_plan( false );
|
6699 |
-
|
6700 |
-
// $this->_set_account( $user, $site );
|
6701 |
-
// $this->_sync_plans();
|
6702 |
-
|
6703 |
-
$this->setup_account( $this->_user, $this->_site, $redirect );
|
6704 |
|
6705 |
-
return $
|
6706 |
}
|
6707 |
|
6708 |
/**
|
@@ -6761,9 +7303,11 @@
|
|
6761 |
$this->_activate_license( true );
|
6762 |
}
|
6763 |
|
6764 |
-
#endregion
|
6765 |
|
6766 |
-
|
|
|
|
|
6767 |
|
6768 |
private $_menu_items = array();
|
6769 |
|
@@ -6821,8 +7365,6 @@
|
|
6821 |
/**
|
6822 |
* @author Vova Feldman (@svovaf)
|
6823 |
* @since 1.0.1
|
6824 |
-
*
|
6825 |
-
* @return string
|
6826 |
*/
|
6827 |
function _redirect_on_clicked_menu_link() {
|
6828 |
$this->_logger->entrance();
|
@@ -6834,7 +7376,7 @@
|
|
6834 |
foreach ( $this->_menu_items as $priority => $items ) {
|
6835 |
foreach ( $items as $item ) {
|
6836 |
if ( isset( $item['url'] ) ) {
|
6837 |
-
if ( $page === strtolower( $item['menu_slug'] ) ) {
|
6838 |
$this->_logger->log( 'Redirecting to ' . $item['url'] );
|
6839 |
|
6840 |
fs_redirect( $item['url'] );
|
@@ -7015,16 +7557,32 @@
|
|
7015 |
// to support add-ons checkout but don't add the submenu item.
|
7016 |
// || (isset( $_GET['page'] ) && $this->_menu->get_slug( 'pricing' ) == $_GET['page']);
|
7017 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7018 |
// Add upgrade/pricing page.
|
7019 |
$this->add_submenu_item(
|
7020 |
-
|
7021 |
array( &$this, '_pricing_page_render' ),
|
7022 |
$this->get_plugin_name() . ' – ' . __fs( 'pricing', $this->_slug ),
|
7023 |
'manage_options',
|
7024 |
'pricing',
|
7025 |
'Freemius::_clean_admin_content_section',
|
7026 |
WP_FS__LOWEST_PRIORITY,
|
7027 |
-
$show_pricing
|
|
|
7028 |
);
|
7029 |
}
|
7030 |
}
|
@@ -7053,8 +7611,8 @@
|
|
7053 |
*/
|
7054 |
private function embed_submenu_items() {
|
7055 |
$item_template = $this->_menu->is_top_level() ?
|
7056 |
-
'<span class="fs-submenu-item">%s</span>' :
|
7057 |
-
'<span class="fs-submenu-item fs-sub">%s</span>';
|
7058 |
|
7059 |
$top_level_menu_capability = $this->get_top_level_menu_capability();
|
7060 |
|
@@ -7064,15 +7622,25 @@
|
|
7064 |
foreach ( $items as $item ) {
|
7065 |
$capability = ( ! empty( $item['capability'] ) ? $item['capability'] : $top_level_menu_capability );
|
7066 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7067 |
if ( ! isset( $item['url'] ) ) {
|
7068 |
$hook = add_submenu_page(
|
7069 |
$item['show_submenu'] ?
|
7070 |
$this->get_top_level_menu_slug() :
|
7071 |
null,
|
7072 |
$item['page_title'],
|
7073 |
-
|
7074 |
$capability,
|
7075 |
-
$
|
7076 |
$item['render_function']
|
7077 |
);
|
7078 |
|
@@ -7083,9 +7651,9 @@
|
|
7083 |
add_submenu_page(
|
7084 |
$this->get_top_level_menu_slug(),
|
7085 |
$item['page_title'],
|
7086 |
-
|
7087 |
$capability,
|
7088 |
-
$
|
7089 |
array( $this, '' )
|
7090 |
);
|
7091 |
}
|
@@ -7197,6 +7765,7 @@
|
|
7197 |
* @param bool|callable $before_render_function
|
7198 |
* @param int $priority
|
7199 |
* @param bool $show_submenu
|
|
|
7200 |
*/
|
7201 |
function add_submenu_item(
|
7202 |
$menu_title,
|
@@ -7206,7 +7775,8 @@
|
|
7206 |
$menu_slug = false,
|
7207 |
$before_render_function = false,
|
7208 |
$priority = WP_FS__DEFAULT_PRIORITY,
|
7209 |
-
$show_submenu = true
|
|
|
7210 |
) {
|
7211 |
$this->_logger->entrance( 'Title = ' . $menu_title );
|
7212 |
|
@@ -7222,7 +7792,8 @@
|
|
7222 |
$menu_slug,
|
7223 |
$before_render_function,
|
7224 |
$priority,
|
7225 |
-
$show_submenu
|
|
|
7226 |
);
|
7227 |
|
7228 |
return;
|
@@ -7237,10 +7808,11 @@
|
|
7237 |
'page_title' => is_string( $page_title ) ? $page_title : $menu_title,
|
7238 |
'menu_title' => $menu_title,
|
7239 |
'capability' => $capability,
|
7240 |
-
'menu_slug' =>
|
7241 |
'render_function' => $render_function,
|
7242 |
'before_render_function' => $before_render_function,
|
7243 |
'show_submenu' => $show_submenu,
|
|
|
7244 |
);
|
7245 |
}
|
7246 |
|
@@ -7287,7 +7859,7 @@
|
|
7287 |
$this->_menu_items[ $priority ][] = array(
|
7288 |
'menu_title' => $menu_title,
|
7289 |
'capability' => $capability,
|
7290 |
-
'menu_slug' =>
|
7291 |
'url' => $url,
|
7292 |
'page_title' => $menu_title,
|
7293 |
'render_function' => 'fs_dummy',
|
@@ -7377,11 +7949,62 @@
|
|
7377 |
* @param int $accepted_args
|
7378 |
*
|
7379 |
* @uses add_action()
|
|
|
|
|
7380 |
*/
|
7381 |
function add_ajax_action( $tag, $function_to_add, $priority = WP_FS__DEFAULT_PRIORITY, $accepted_args = 1 ) {
|
7382 |
$this->_logger->entrance( $tag );
|
7383 |
|
|
|
|
|
|
|
|
|
7384 |
add_action( $this->get_ajax_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7385 |
}
|
7386 |
|
7387 |
/**
|
@@ -7471,6 +8094,12 @@
|
|
7471 |
private function _store_site( $store = true ) {
|
7472 |
$this->_logger->entrance();
|
7473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7474 |
$encrypted_site = clone $this->_site;
|
7475 |
$encrypted_site->plan = $this->_encrypt_entity( $this->_site->plan );
|
7476 |
|
@@ -7542,6 +8171,12 @@
|
|
7542 |
private function _store_user( $store = true ) {
|
7543 |
$this->_logger->entrance();
|
7544 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7545 |
$users = self::get_all_users();
|
7546 |
$users[ $this->_user->id ] = $this->_user;
|
7547 |
self::$_accounts->set_option( 'users', $users, $store );
|
@@ -7705,9 +8340,7 @@
|
|
7705 |
* @link https://github.com/Freemius/wordpress-sdk/issues/6
|
7706 |
*/
|
7707 |
if ( ! $is_menu_item_account_visible ) {
|
7708 |
-
|
7709 |
-
exit();
|
7710 |
-
}
|
7711 |
}
|
7712 |
}
|
7713 |
}
|
@@ -7818,7 +8451,7 @@
|
|
7818 |
|
7819 |
$result = $api->get( '/plans.json', true );
|
7820 |
|
7821 |
-
if (
|
7822 |
for ( $i = 0, $len = count( $result->plans ); $i < $len; $i ++ ) {
|
7823 |
$result->plans[ $i ] = new FS_Plugin_Plan( $result->plans[ $i ] );
|
7824 |
}
|
@@ -7852,7 +8485,11 @@
|
|
7852 |
|
7853 |
$is_site_license_synced = false;
|
7854 |
|
7855 |
-
|
|
|
|
|
|
|
|
|
7856 |
for ( $i = 0, $len = count( $result->licenses ); $i < $len; $i ++ ) {
|
7857 |
$result->licenses[ $i ] = new FS_Plugin_License( $result->licenses[ $i ] );
|
7858 |
|
@@ -7862,6 +8499,9 @@
|
|
7862 |
}
|
7863 |
|
7864 |
$result = $result->licenses;
|
|
|
|
|
|
|
7865 |
}
|
7866 |
|
7867 |
if ( ! $is_site_license_synced ) {
|
@@ -7871,24 +8511,41 @@
|
|
7871 |
// Try to retrieve a foreign license that is linked to the install.
|
7872 |
$api_result = $api->call( '/licenses.json' );
|
7873 |
|
7874 |
-
if (
|
|
|
|
|
7875 |
$licenses = $api_result->licenses;
|
7876 |
|
7877 |
if ( ! empty( $licenses ) ) {
|
7878 |
$result[] = new FS_Plugin_License( $licenses[0] );
|
7879 |
}
|
|
|
|
|
7880 |
}
|
7881 |
} else if ( is_object( $this->_license ) ) {
|
7882 |
// Fetch foreign license by ID and license key.
|
7883 |
$license = $api->get( "/licenses/{$this->_license->id}.json?license_key=" .
|
7884 |
urlencode( $this->_license->secret_key ) );
|
7885 |
|
7886 |
-
if (
|
7887 |
$result[] = new FS_Plugin_License( $license );
|
|
|
|
|
7888 |
}
|
7889 |
}
|
7890 |
}
|
7891 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7892 |
return $result;
|
7893 |
}
|
7894 |
|
@@ -7922,6 +8579,25 @@
|
|
7922 |
return $result;
|
7923 |
}
|
7924 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7925 |
/**
|
7926 |
* @author Vova Feldman (@svovaf)
|
7927 |
* @since 1.0.4
|
@@ -8136,7 +8812,7 @@
|
|
8136 |
$licenses = $this->_fetch_licenses( $addon->id );
|
8137 |
|
8138 |
// Sync add-on licenses.
|
8139 |
-
if (
|
8140 |
$this->_update_licenses( $licenses, $addon->slug );
|
8141 |
|
8142 |
if ( ! $this->is_addon_installed( $addon->slug ) && FS_License_Manager::has_premium_license( $licenses ) ) {
|
@@ -8195,7 +8871,7 @@
|
|
8195 |
|
8196 |
$plan_change = 'none';
|
8197 |
|
8198 |
-
if ( $this->
|
8199 |
// Show API messages only if not background sync or if paying customer.
|
8200 |
if ( ! $background || $this->is_paying() ) {
|
8201 |
// Try to ping API to see if not blocked.
|
@@ -8512,19 +9188,19 @@
|
|
8512 |
$api = $this->get_api_site_scope();
|
8513 |
$license = $api->call( "/licenses/{$premium_license->id}.json", 'put', $api_request_params );
|
8514 |
|
8515 |
-
if ( $this->
|
8516 |
if ( ! $background ) {
|
8517 |
$this->_admin_notices->add( sprintf(
|
8518 |
-
|
8519 |
-
|
8520 |
-
|
8521 |
-
|
8522 |
-
|
8523 |
-
|
8524 |
-
|
8525 |
-
)
|
8526 |
)
|
8527 |
-
)
|
|
|
8528 |
__fs( 'hmm', $this->_slug ) . '...',
|
8529 |
'error'
|
8530 |
);
|
@@ -8537,7 +9213,7 @@
|
|
8537 |
|
8538 |
// Updated site plan.
|
8539 |
$site = $this->get_api_site_scope()->get( '/', true );
|
8540 |
-
if (
|
8541 |
$this->_site = new FS_Site( $site );
|
8542 |
}
|
8543 |
$this->_update_site_license( $premium_license );
|
@@ -8637,7 +9313,7 @@
|
|
8637 |
|
8638 |
$plan_downgraded = false;
|
8639 |
$plan = false;
|
8640 |
-
if (
|
8641 |
$prev_plan_id = $this->_site->plan->id;
|
8642 |
|
8643 |
// Update new site plan id.
|
@@ -8753,7 +9429,7 @@
|
|
8753 |
$api = $this->get_api_site_scope();
|
8754 |
$plan = $api->call( "plans/{$plan->id}/trials.json", 'post' );
|
8755 |
|
8756 |
-
if ( $this->
|
8757 |
// Some API error while trying to start the trial.
|
8758 |
$this->_admin_notices->add(
|
8759 |
__fs( 'unexpected-api-error', $this->_slug ) . ' ' . var_export( $plan, true ),
|
@@ -8796,7 +9472,7 @@
|
|
8796 |
|
8797 |
$trial_cancelled = false;
|
8798 |
|
8799 |
-
if (
|
8800 |
$prev_trial_ends = $this->_site->trial_ends;
|
8801 |
|
8802 |
if ( $this->is_paid_trial() ) {
|
@@ -8830,9 +9506,6 @@
|
|
8830 |
// Store site updates.
|
8831 |
$this->_store_site();
|
8832 |
|
8833 |
-
// Clear trial plan information.
|
8834 |
-
unset( $this->_storage->trial_plan );
|
8835 |
-
|
8836 |
if ( ! $this->is_addon() ||
|
8837 |
! $this->deactivate_premium_only_addon_without_license( true )
|
8838 |
) {
|
@@ -8840,6 +9513,9 @@
|
|
8840 |
sprintf( __fs( 'trial-cancel-message', $this->_slug ), $this->_storage->trial_plan->title )
|
8841 |
);
|
8842 |
}
|
|
|
|
|
|
|
8843 |
} else {
|
8844 |
$this->_admin_notices->add(
|
8845 |
__fs( 'trial-cancel-failure-message', $this->_slug ),
|
@@ -8936,7 +9612,9 @@
|
|
8936 |
return ( is_object( $tag ) && isset( $tag->version ) ) ? $tag : false;
|
8937 |
}
|
8938 |
|
8939 |
-
|
|
|
|
|
8940 |
|
8941 |
/**
|
8942 |
* Download latest plugin version, based on plan.
|
@@ -9112,7 +9790,9 @@
|
|
9112 |
$result = $api->get( '/addons.json?enriched=true', $flush );
|
9113 |
|
9114 |
$addons = array();
|
9115 |
-
if (
|
|
|
|
|
9116 |
for ( $i = 0, $len = count( $result->plugins ); $i < $len; $i ++ ) {
|
9117 |
$addons[ $i ] = new FS_Plugin( $result->plugins[ $i ] );
|
9118 |
}
|
@@ -9159,6 +9839,10 @@
|
|
9159 |
return $user;
|
9160 |
}
|
9161 |
|
|
|
|
|
|
|
|
|
9162 |
/**
|
9163 |
* @author Vova Feldman (@svovaf)
|
9164 |
* @since 1.1.1
|
@@ -9168,8 +9852,53 @@
|
|
9168 |
* @return bool Is API result contains an error.
|
9169 |
*/
|
9170 |
private function is_api_error( $result ) {
|
9171 |
-
return (
|
9172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9173 |
}
|
9174 |
|
9175 |
/**
|
@@ -9311,6 +10040,21 @@
|
|
9311 |
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
9312 |
}
|
9313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9314 |
/**
|
9315 |
* Get the URL of the page that should be loaded after the user connect or skip in the opt-in screen.
|
9316 |
*
|
@@ -9321,7 +10065,7 @@
|
|
9321 |
*
|
9322 |
* @return string
|
9323 |
*/
|
9324 |
-
|
9325 |
$first_time_path = $this->_menu->get_first_time_path();
|
9326 |
|
9327 |
return $this->apply_filters(
|
@@ -9358,17 +10102,13 @@
|
|
9358 |
$this->_site = null;
|
9359 |
$this->_user = null;
|
9360 |
|
9361 |
-
|
9362 |
-
exit();
|
9363 |
-
}
|
9364 |
} else {
|
9365 |
if ( $this->is_addon_activated( $plugin_id ) ) {
|
9366 |
$fs_addon = self::get_instance_by_id( $plugin_id );
|
9367 |
$fs_addon->delete_account_event();
|
9368 |
|
9369 |
-
|
9370 |
-
exit();
|
9371 |
-
}
|
9372 |
}
|
9373 |
}
|
9374 |
|
@@ -9376,7 +10116,13 @@
|
|
9376 |
|
9377 |
case 'downgrade_account':
|
9378 |
check_admin_referer( $action );
|
9379 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9380 |
|
9381 |
return;
|
9382 |
|
@@ -9584,7 +10330,8 @@
|
|
9584 |
|
9585 |
if ( $this->has_paid_plan() &&
|
9586 |
! $this->has_any_license() &&
|
9587 |
-
! $this->is_sync_executed()
|
|
|
9588 |
) {
|
9589 |
/**
|
9590 |
* If no licenses found and no sync job was executed during the last 24 hours,
|
@@ -9694,7 +10441,9 @@
|
|
9694 |
}
|
9695 |
}
|
9696 |
|
9697 |
-
|
|
|
|
|
9698 |
|
9699 |
/**
|
9700 |
* Render contact-us page.
|
@@ -9709,7 +10458,7 @@
|
|
9709 |
fs_require_once_template( 'contact.php', $vars );
|
9710 |
}
|
9711 |
|
9712 |
-
#endregion
|
9713 |
|
9714 |
/**
|
9715 |
* Hide all admin notices to prevent distractions.
|
@@ -9857,95 +10606,180 @@
|
|
9857 |
$this->_storage->has_trial_plan = FS_Plan_Manager::instance()->has_trial_plan( $plans );
|
9858 |
}
|
9859 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9860 |
/**
|
9861 |
* Show trial promotional notice (if any trial exist).
|
9862 |
*
|
9863 |
* @author Vova Feldman (@svovaf)
|
9864 |
* @since 1.0.9
|
|
|
|
|
9865 |
*/
|
9866 |
function _add_trial_notice() {
|
9867 |
-
|
9868 |
-
|
9869 |
-
return;
|
9870 |
}
|
9871 |
|
9872 |
-
|
9873 |
-
|
9874 |
-
return;
|
9875 |
}
|
9876 |
|
9877 |
// Check if trial message is already shown.
|
9878 |
if ( $this->_admin_notices->has_sticky( 'trial_promotion' ) ) {
|
9879 |
-
|
|
|
|
|
|
|
|
|
9880 |
}
|
9881 |
|
9882 |
-
|
9883 |
-
|
|
|
|
|
9884 |
|
9885 |
-
|
9886 |
-
|
9887 |
-
return;
|
9888 |
}
|
9889 |
|
9890 |
-
|
9891 |
-
|
9892 |
-
|
9893 |
-
|
9894 |
-
|
9895 |
-
|
9896 |
-
|
9897 |
-
|
9898 |
-
|
|
|
9899 |
|
|
|
|
|
|
|
|
|
|
|
9900 |
|
9901 |
-
|
|
|
|
|
|
|
9902 |
|
9903 |
-
|
9904 |
-
|
9905 |
-
|
9906 |
-
|
9907 |
-
|
9908 |
-
|
9909 |
-
|
9910 |
-
|
9911 |
-
}
|
9912 |
-
|
9913 |
-
|
9914 |
-
|
9915 |
-
|
9916 |
-
|
9917 |
-
|
9918 |
-
|
9919 |
-
|
9920 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9921 |
}
|
9922 |
|
9923 |
-
|
9924 |
-
|
9925 |
-
|
9926 |
-
|
9927 |
-
|
9928 |
-
|
9929 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9930 |
}
|
9931 |
|
9932 |
-
$message
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9933 |
|
9934 |
-
|
9935 |
-
|
|
|
9936 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
9937 |
-
$
|
9938 |
__fs( 'start-free-trial', $this->_slug )
|
9939 |
);
|
9940 |
|
9941 |
$this->_admin_notices->add_sticky(
|
9942 |
-
$this->apply_filters( 'trial_promotion_message', $message ),
|
9943 |
'trial_promotion',
|
9944 |
'',
|
9945 |
'promotion'
|
9946 |
);
|
9947 |
|
9948 |
$this->_storage->trial_promotion_shown = WP_FS__SCRIPT_START_TIME;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9949 |
}
|
9950 |
|
9951 |
/* Action Links
|
@@ -10053,6 +10887,11 @@
|
|
10053 |
return;
|
10054 |
}
|
10055 |
|
|
|
|
|
|
|
|
|
|
|
10056 |
$link_text = __fs(
|
10057 |
$this->is_free_plan() ? 'activate-license' : 'change-license',
|
10058 |
$this->_slug
|
@@ -10067,6 +10906,77 @@
|
|
10067 |
);
|
10068 |
}
|
10069 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10070 |
/**
|
10071 |
* Get the URL of the page that should be loaded right after the plugin activation.
|
10072 |
*
|
@@ -10117,7 +11027,6 @@
|
|
10117 |
|
10118 |
if ( is_string( $url ) ) {
|
10119 |
fs_redirect( $url );
|
10120 |
-
exit();
|
10121 |
}
|
10122 |
}
|
10123 |
|
@@ -10229,14 +11138,19 @@
|
|
10229 |
$plan_title = $this->_site->plan->title;
|
10230 |
}
|
10231 |
|
|
|
|
|
|
|
|
|
|
|
10232 |
return sprintf(
|
10233 |
-
' %s: <ol><li>%s.</li
|
10234 |
__fs( 'follow-steps-to-complete-upgrade', $this->_slug ),
|
10235 |
$this->_get_latest_download_link( sprintf(
|
10236 |
__fs( 'download-latest-x-version', $this->_slug ),
|
10237 |
$plan_title
|
10238 |
) ),
|
10239 |
-
|
10240 |
__fs( 'upload-and-activate', $this->_slug ),
|
10241 |
'//bit.ly/upload-wp-plugin',
|
10242 |
__fs( 'howto-upload-activate', $this->_slug )
|
@@ -10294,7 +11208,9 @@
|
|
10294 |
return $update;
|
10295 |
}
|
10296 |
|
10297 |
-
|
|
|
|
|
10298 |
|
10299 |
/**
|
10300 |
* Check if Freemius in SDK upgrade mode.
|
@@ -10315,8 +11231,6 @@
|
|
10315 |
*
|
10316 |
* @author Vova Feldman (@svovaf)
|
10317 |
* @since 1.0.9
|
10318 |
-
*
|
10319 |
-
* @return bool
|
10320 |
*/
|
10321 |
function set_sdk_upgrade_complete() {
|
10322 |
$this->_storage->sdk_upgrade_mode = false;
|
@@ -10348,9 +11262,11 @@
|
|
10348 |
$this->_storage->plugin_upgrade_mode = false;
|
10349 |
}
|
10350 |
|
10351 |
-
#endregion
|
10352 |
|
10353 |
-
|
|
|
|
|
10354 |
|
10355 |
/**
|
10356 |
* Check if specific permission requested.
|
@@ -10366,9 +11282,11 @@
|
|
10366 |
return isset( $this->_permissions[ $permission ] ) && ( true === $this->_permissions[ $permission ] );
|
10367 |
}
|
10368 |
|
10369 |
-
#endregion
|
10370 |
|
10371 |
-
|
|
|
|
|
10372 |
|
10373 |
/**
|
10374 |
* Check if current user purchased any other plugins before.
|
@@ -10380,6 +11298,7 @@
|
|
10380 |
*/
|
10381 |
function has_purchased_before() {
|
10382 |
// TODO: Implement has_purchased_before() method.
|
|
|
10383 |
}
|
10384 |
|
10385 |
/**
|
@@ -10392,6 +11311,7 @@
|
|
10392 |
*/
|
10393 |
function is_agency() {
|
10394 |
// TODO: Implement is_agency() method.
|
|
|
10395 |
}
|
10396 |
|
10397 |
/**
|
@@ -10404,6 +11324,7 @@
|
|
10404 |
*/
|
10405 |
function is_developer() {
|
10406 |
// TODO: Implement is_developer() method.
|
|
|
10407 |
}
|
10408 |
|
10409 |
/**
|
@@ -10416,7 +11337,8 @@
|
|
10416 |
*/
|
10417 |
function is_business() {
|
10418 |
// TODO: Implement is_business() method.
|
|
|
10419 |
}
|
10420 |
|
10421 |
-
#endregion
|
10422 |
-
}
|
114 |
*/
|
115 |
private $_has_paid_plans;
|
116 |
|
117 |
+
/**
|
118 |
+
* @since 1.2.1.5
|
119 |
+
* @var int Hints the SDK if the plugin offers a trial period. If negative, no trial, if zero - has a trial but
|
120 |
+
* without a specified period, if positive - the number of trial days.
|
121 |
+
*/
|
122 |
+
private $_trial_days = - 1;
|
123 |
+
|
124 |
+
/**
|
125 |
+
* @since 1.2.1.5
|
126 |
+
* @var bool Hints the SDK if the trial requires a payment method or not.
|
127 |
+
*/
|
128 |
+
private $_is_trial_require_payment = false;
|
129 |
+
|
130 |
/**
|
131 |
* @since 1.0.7
|
132 |
* @var bool Hints the SDK if the plugin is WordPress.org compliant.
|
240 |
*/
|
241 |
private static $_instances = array();
|
242 |
|
243 |
+
#region Uninstall Reasons IDs
|
244 |
+
|
245 |
const REASON_NO_LONGER_NEEDED = 1;
|
246 |
const REASON_FOUND_A_BETTER_PLUGIN = 2;
|
247 |
const REASON_NEEDED_FOR_A_SHORT_PERIOD = 3;
|
258 |
const REASON_DIDNT_WORK_AS_EXPECTED = 14;
|
259 |
const REASON_TEMPORARY_DEACTIVATION = 15;
|
260 |
|
261 |
+
#endregion
|
262 |
+
|
263 |
/* Ctor
|
264 |
------------------------------------------------------------------------------------------------------------------*/
|
265 |
|
463 |
* @since 1.0.9
|
464 |
*/
|
465 |
private function _register_hooks() {
|
466 |
+
$this->_logger->entrance();
|
467 |
+
|
468 |
if ( is_admin() ) {
|
469 |
+
$plugin_dir = dirname( $this->_plugin_dir_path ) . '/';
|
470 |
+
|
471 |
+
/**
|
472 |
+
* @since 1.2.2
|
473 |
+
*
|
474 |
+
* Hook to both free and premium version activations to support
|
475 |
+
* auto deactivation on the other version activation.
|
476 |
+
*/
|
477 |
+
register_activation_hook(
|
478 |
+
$plugin_dir . $this->_free_plugin_basename,
|
479 |
+
array( &$this, '_activate_plugin_event_hook' )
|
480 |
+
);
|
481 |
+
register_activation_hook(
|
482 |
+
$plugin_dir . $this->premium_plugin_basename(),
|
483 |
+
array( &$this, '_activate_plugin_event_hook' )
|
484 |
+
);
|
485 |
|
486 |
/**
|
487 |
* Part of the mechanism to identify new plugin install vs. plugin update.
|
510 |
|
511 |
add_action( 'init', array( &$this, '_redirect_on_clicked_menu_link' ), WP_FS__LOWEST_PRIORITY );
|
512 |
|
513 |
+
add_action( 'admin_init', array( &$this, '_add_tracking_links' ) );
|
514 |
+
add_action( 'admin_init', array( &$this, '_add_license_activation' ) );
|
515 |
+
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
516 |
+
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
517 |
+
|
518 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
519 |
|
520 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
521 |
+
|
522 |
+
add_action( 'admin_init', array( &$this, '_add_trial_notice' ) );
|
523 |
+
add_action( 'admin_init', array( &$this, '_enqueue_common_css' ) );
|
524 |
+
|
525 |
+
/**
|
526 |
+
* Handle request to reset anonymous mode for `get_reconnect_url()`.
|
527 |
+
*
|
528 |
+
* @author Vova Feldman (@svovaf)
|
529 |
+
* @since 1.2.1.5
|
530 |
+
*/
|
531 |
+
if ( fs_request_is_action( 'reset_anonymous_mode' ) &&
|
532 |
+
$this->_slug === fs_request_get( 'fs_slug' )
|
533 |
+
) {
|
534 |
+
add_action( 'admin_init', array( &$this, 'connect_again' ) );
|
535 |
+
}
|
536 |
}
|
537 |
|
538 |
/**
|
563 |
return;
|
564 |
}
|
565 |
|
566 |
+
$plugin_main_file = clone $this->_storage->plugin_main_file;
|
567 |
+
|
568 |
// Store cached path (2nd layer cache).
|
569 |
+
$plugin_main_file->prev_path = $plugin_main_file->path;
|
570 |
|
571 |
// Clear cached path.
|
572 |
+
unset( $plugin_main_file->path );
|
573 |
+
|
574 |
+
$this->_storage->plugin_main_file = $plugin_main_file;
|
575 |
}
|
576 |
|
577 |
/**
|
580 |
*/
|
581 |
private function _register_account_hooks() {
|
582 |
if ( is_admin() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
// If user is paying or in trial and have the free version installed,
|
584 |
// assume that the deactivation is for the upgrade process.
|
585 |
if ( ! $this->is_paying_or_trial() || $this->is_premium() ) {
|
588 |
array( &$this, '_submit_uninstall_reason_action' )
|
589 |
);
|
590 |
|
591 |
+
if ( $this->is_plugins_page() ) {
|
|
|
592 |
add_action( 'admin_footer', array( &$this, '_add_deactivation_feedback_dialog_box' ) );
|
593 |
}
|
594 |
}
|
616 |
private function _find_caller_plugin_file( $is_init = false ) {
|
617 |
// Try to load the cached value of the file path.
|
618 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
619 |
+
$plugin_main_file = $this->_storage->plugin_main_file;
|
620 |
+
if ( isset( $plugin_main_file->path ) && file_exists( $plugin_main_file->path ) ) {
|
621 |
return $this->_storage->plugin_main_file->path;
|
622 |
}
|
623 |
}
|
665 |
}
|
666 |
|
667 |
|
668 |
+
#----------------------------------------------------------------------------------
|
669 |
+
#region Deactivation Feedback Form
|
670 |
+
#----------------------------------------------------------------------------------
|
671 |
|
672 |
/**
|
673 |
* Displays a confirmation and feedback dialog box when the user clicks on the "Deactivate" link on the plugins
|
913 |
exit;
|
914 |
}
|
915 |
|
916 |
+
#endregion
|
917 |
|
918 |
+
#----------------------------------------------------------------------------------
|
919 |
+
#region Instance
|
920 |
+
#----------------------------------------------------------------------------------
|
921 |
|
922 |
/**
|
923 |
* Main singleton instance.
|
1206 |
self::$_statics_loaded = true;
|
1207 |
}
|
1208 |
|
1209 |
+
#----------------------------------------------------------------------------------
|
1210 |
+
#region Localization
|
1211 |
+
#----------------------------------------------------------------------------------
|
1212 |
+
|
1213 |
/**
|
1214 |
* Load framework's text domain.
|
1215 |
*
|
1232 |
// @todo Load for themes.
|
1233 |
}
|
1234 |
|
1235 |
+
#endregion
|
1236 |
+
|
1237 |
+
#----------------------------------------------------------------------------------
|
1238 |
+
#region Debugging
|
1239 |
+
#----------------------------------------------------------------------------------
|
1240 |
|
1241 |
/**
|
1242 |
* @author Vova Feldman (@svovaf)
|
1297 |
if ( fs_request_is_action( 'restart_freemius' ) ) {
|
1298 |
check_admin_referer( 'restart_freemius' );
|
1299 |
|
1300 |
+
// Clear accounts data.
|
1301 |
self::$_accounts->clear( true );
|
1302 |
|
1303 |
+
// Clear SDK reference cache.
|
1304 |
+
delete_option( 'fs_active_plugins' );
|
1305 |
+
} else if ( fs_request_is_action( 'simulate_trial' ) ) {
|
1306 |
+
check_admin_referer( 'simulate_trial' );
|
1307 |
|
1308 |
+
$slug = fs_request_get( 'slug' );
|
1309 |
+
|
1310 |
+
$fs = freemius( $slug );
|
1311 |
+
|
1312 |
+
// Update SDK install to at least 24 hours before.
|
1313 |
+
$fs->_storage->install_timestamp = ( time() - WP_FS__TIME_24_HOURS_IN_SEC );
|
1314 |
+
// Unset the trial shown timestamp.
|
1315 |
+
unset( $fs->_storage->trial_promotion_shown );
|
1316 |
}
|
1317 |
}
|
1318 |
|
1344 |
fs_require_once_template( 'debug.php', $vars );
|
1345 |
}
|
1346 |
|
1347 |
+
#endregion
|
1348 |
|
1349 |
+
#----------------------------------------------------------------------------------
|
1350 |
+
#region Connectivity Issues
|
1351 |
+
#----------------------------------------------------------------------------------
|
1352 |
|
1353 |
/**
|
1354 |
* Check if Freemius should be turned on for the current plugin install.
|
1491 |
$this->_has_api_connection = $this->_storage->connectivity_test['is_connected'];
|
1492 |
/**
|
1493 |
* @since 1.1.6 During dev mode, if there's connectivity - turn Freemius on regardless the configuration.
|
1494 |
+
*
|
1495 |
+
* @since 1.2.1.5 If the user running the premium version then ignore the 'is_active' flag and turn Freemius on to enable license key activation.
|
1496 |
*/
|
1497 |
$this->_is_on = $this->_storage->connectivity_test['is_active'] ||
|
1498 |
+
$this->is_premium() ||
|
1499 |
( WP_FS__DEV_MODE && $this->_has_api_connection && ! WP_FS__SIMULATE_FREEMIUS_OFF );
|
1500 |
|
1501 |
return $this->_has_api_connection;
|
1632 |
* @param bool $is_first_failure
|
1633 |
*/
|
1634 |
function _add_connectivity_issue_message( $api_result, $is_first_failure = true ) {
|
1635 |
+
if ( ! $this->is_premium() && $this->_enable_anonymous ) {
|
1636 |
+
// Don't add message if it's the free version and can run anonymously.
|
1637 |
return;
|
1638 |
}
|
1639 |
|
1946 |
fs_require_once_template( 'firewall-issues-js.php', $params );
|
1947 |
}
|
1948 |
|
1949 |
+
#endregion
|
1950 |
|
1951 |
+
#----------------------------------------------------------------------------------
|
1952 |
+
#region Email
|
1953 |
+
#----------------------------------------------------------------------------------
|
1954 |
|
1955 |
/**
|
1956 |
* Generates and sends an HTML email with customizable sections.
|
2099 |
return $sections;
|
2100 |
}
|
2101 |
|
2102 |
+
#endregion
|
2103 |
|
2104 |
+
#----------------------------------------------------------------------------------
|
2105 |
+
#region Initialization
|
2106 |
+
#----------------------------------------------------------------------------------
|
2107 |
|
2108 |
/**
|
2109 |
* Init plugin's Freemius instance.
|
2157 |
if ( $this->_admin_notices->has_sticky( 'failed_connect_api_first' ) ||
|
2158 |
$this->_admin_notices->has_sticky( 'failed_connect_api' )
|
2159 |
) {
|
2160 |
+
if ( ! $this->_enable_anonymous || $this->is_premium() ) {
|
2161 |
// If anonymous mode is disabled, add firewall admin-notice message.
|
2162 |
add_action( 'admin_footer', array( 'Freemius', '_add_firewall_issues_javascript' ) );
|
2163 |
|
2209 |
*
|
2210 |
*/
|
2211 |
if ( $this->is_registered() ) {
|
2212 |
+
if ( ! $this->is_sync_cron_on() && $this->is_tracking_allowed() ) {
|
2213 |
$this->schedule_sync_cron();
|
2214 |
}
|
2215 |
}
|
2238 |
}
|
2239 |
|
2240 |
if ( $this->is_user_in_admin() ) {
|
2241 |
+
if ( $this->is_plugins_page() ) {
|
|
|
2242 |
$this->hook_plugin_action_links();
|
2243 |
}
|
2244 |
|
2339 |
$this->do_action( 'after_init_addon_pending_activations' );
|
2340 |
}
|
2341 |
}
|
2342 |
+
}
|
2343 |
+
|
2344 |
+
/**
|
2345 |
+
* @author Leo Fajardo (@leorw)
|
2346 |
+
*
|
2347 |
+
* @since 1.2.1.5
|
2348 |
+
*/
|
2349 |
+
function _stop_tracking_callback() {
|
2350 |
+
$result = $this->stop_tracking();
|
2351 |
+
|
2352 |
+
if ( true === $result ) {
|
2353 |
+
$this->shoot_ajax_success();
|
2354 |
+
}
|
2355 |
|
2356 |
+
$this->_logger->api_error( $result );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2357 |
|
2358 |
+
$this->shoot_ajax_failure(
|
2359 |
+
__fs( 'unexpected-api-error', $this->_slug ) .
|
2360 |
+
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2361 |
+
$result->error->message :
|
2362 |
+
var_export( $result, true ) )
|
2363 |
+
);
|
2364 |
+
}
|
2365 |
+
|
2366 |
+
/**
|
2367 |
+
* @author Leo Fajardo (@leorw)
|
2368 |
+
* @since 1.2.1.5
|
2369 |
+
*/
|
2370 |
+
function _allow_tracking_callback() {
|
2371 |
+
$result = $this->allow_tracking();
|
2372 |
+
|
2373 |
+
if ( true === $result ) {
|
2374 |
+
$this->shoot_ajax_success();
|
2375 |
+
}
|
2376 |
+
|
2377 |
+
$this->_logger->api_error( $result );
|
2378 |
+
|
2379 |
+
$this->shoot_ajax_failure(
|
2380 |
+
__fs( 'unexpected-api-error', $this->_slug ) .
|
2381 |
+
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2382 |
+
$result->error->message :
|
2383 |
+
var_export( $result, true ) )
|
2384 |
+
);
|
2385 |
+
}
|
2386 |
+
|
2387 |
+
/**
|
2388 |
+
* Opt-out from usage tracking.
|
2389 |
+
*
|
2390 |
+
* Note: This will not delete the account information but will stop all tracking.
|
2391 |
+
*
|
2392 |
+
* Returns:
|
2393 |
+
* 1. FALSE - If the user never opted-in.
|
2394 |
+
* 2. TRUE - If successfully opted-out.
|
2395 |
+
* 3. object - API result on failure.
|
2396 |
+
*
|
2397 |
+
* @author Leo Fajardo (@leorw)
|
2398 |
+
* @since 1.2.1.5
|
2399 |
+
*
|
2400 |
+
* @return bool|object
|
2401 |
+
*/
|
2402 |
+
function stop_tracking() {
|
2403 |
+
$this->_logger->entrance();
|
2404 |
+
|
2405 |
+
if ( ! $this->is_registered() ) {
|
2406 |
+
// User never opted-in.
|
2407 |
+
return false;
|
2408 |
+
}
|
2409 |
+
|
2410 |
+
if ( $this->is_tracking_prohibited() ) {
|
2411 |
+
// Already disconnected.
|
2412 |
+
return true;
|
2413 |
+
}
|
2414 |
+
|
2415 |
+
// Send update to FS.
|
2416 |
+
$result = $this->get_api_site_scope()->call( '/?fields=is_disconnected', 'put', array(
|
2417 |
+
'is_disconnected' => true
|
2418 |
+
) );
|
2419 |
+
|
2420 |
+
if ( ! $this->is_api_result_entity( $result ) ||
|
2421 |
+
! isset( $result->is_disconnected ) ||
|
2422 |
+
! $result->is_disconnected
|
2423 |
+
) {
|
2424 |
+
$this->_logger->api_error( $result );
|
2425 |
+
|
2426 |
+
return $result;
|
2427 |
+
}
|
2428 |
+
|
2429 |
+
$this->_site->is_disconnected = $result->is_disconnected;
|
2430 |
+
$this->_store_site();
|
2431 |
+
|
2432 |
+
$this->clear_sync_cron();
|
2433 |
+
|
2434 |
+
// Successfully disconnected.
|
2435 |
+
return true;
|
2436 |
+
}
|
2437 |
+
|
2438 |
+
/**
|
2439 |
+
* Opt-in back into usage tracking.
|
2440 |
+
*
|
2441 |
+
* Note: This will only work if the user opted-in previously.
|
2442 |
+
*
|
2443 |
+
* Returns:
|
2444 |
+
* 1. FALSE - If the user never opted-in.
|
2445 |
+
* 2. TRUE - If successfully opted-in back to usage tracking.
|
2446 |
+
* 3. object - API result on failure.
|
2447 |
+
*
|
2448 |
+
* @author Leo Fajardo (@leorw)
|
2449 |
+
* @since 1.2.1.5
|
2450 |
+
*
|
2451 |
+
* @return bool|object
|
2452 |
+
*/
|
2453 |
+
function allow_tracking() {
|
2454 |
+
$this->_logger->entrance();
|
2455 |
+
|
2456 |
+
if ( ! $this->is_registered() ) {
|
2457 |
+
// User never opted-in.
|
2458 |
+
return false;
|
2459 |
+
}
|
2460 |
+
|
2461 |
+
if ( $this->is_tracking_allowed() ) {
|
2462 |
+
// Tracking already allowed.
|
2463 |
+
return true;
|
2464 |
+
}
|
2465 |
+
|
2466 |
+
$result = $this->get_api_site_scope()->call( '/?is_disconnected', 'put', array(
|
2467 |
+
'is_disconnected' => false
|
2468 |
+
) );
|
2469 |
+
|
2470 |
+
if ( ! $this->is_api_result_entity( $result ) ||
|
2471 |
+
! isset( $result->is_disconnected ) ||
|
2472 |
+
$result->is_disconnected
|
2473 |
+
) {
|
2474 |
+
$this->_logger->api_error( $result );
|
2475 |
+
|
2476 |
+
return $result;
|
2477 |
+
}
|
2478 |
+
|
2479 |
+
$this->_site->is_disconnected = $result->is_disconnected;
|
2480 |
+
$this->_store_site();
|
2481 |
+
|
2482 |
+
$this->schedule_sync_cron();
|
2483 |
+
|
2484 |
+
// Successfully reconnected.
|
2485 |
+
return true;
|
2486 |
+
}
|
2487 |
+
|
2488 |
+
/**
|
2489 |
+
* If user opted-in and later disabled usage-tracking,
|
2490 |
+
* re-allow tracking for licensing and updates.
|
2491 |
+
*
|
2492 |
+
* @author Leo Fajardo (@leorw)
|
2493 |
+
*
|
2494 |
+
* @since 1.2.1.5
|
2495 |
+
*/
|
2496 |
+
private function reconnect_locally() {
|
2497 |
+
$this->_logger->entrance();
|
2498 |
+
|
2499 |
+
if ( $this->is_tracking_prohibited() &&
|
2500 |
+
$this->is_registered()
|
2501 |
+
) {
|
2502 |
+
$this->_site->is_disconnected = false;
|
2503 |
+
$this->_store_site();
|
2504 |
}
|
2505 |
}
|
2506 |
|
2535 |
$parent_id = $this->get_numeric_option( $plugin_info['parent'], 'id', null );
|
2536 |
// $parent_slug = $this->get_option( $plugin_info['parent'], 'slug', null );
|
2537 |
// $parent_public_key = $this->get_option( $plugin_info['parent'], 'public_key', null );
|
2538 |
+
// $parent_name = $this->get_option( $plugin_info['parent'], 'name', null );
|
2539 |
}
|
2540 |
|
2541 |
if ( false === $id ) {
|
2594 |
$this->_anonymous_mode = $this->get_bool_option( $plugin_info, 'anonymous_mode', false );
|
2595 |
}
|
2596 |
$this->_permissions = $this->get_option( $plugin_info, 'permissions', array() );
|
2597 |
+
|
2598 |
+
if ( ! empty( $plugin_info['trial'] ) ) {
|
2599 |
+
$this->_trial_days = $this->get_numeric_option(
|
2600 |
+
$plugin_info['trial'],
|
2601 |
+
'days',
|
2602 |
+
// Default to 0 - trial without days specification.
|
2603 |
+
0
|
2604 |
+
);
|
2605 |
+
|
2606 |
+
$this->_is_trial_require_payment = $this->get_bool_option( $plugin_info['trial'], 'is_require_payment', false );
|
2607 |
+
}
|
2608 |
}
|
2609 |
|
2610 |
/**
|
2726 |
function _plugin_code_type_changed() {
|
2727 |
$this->_logger->entrance();
|
2728 |
|
|
|
|
|
|
|
|
|
2729 |
if ( $this->is_premium() ) {
|
2730 |
+
$this->reconnect_locally();
|
2731 |
+
|
2732 |
// Activated premium code.
|
2733 |
$this->do_action( 'after_premium_version_activation' );
|
2734 |
|
2737 |
'trial_started',
|
2738 |
'plan_upgraded',
|
2739 |
'plan_changed',
|
2740 |
+
'license_activated',
|
2741 |
) );
|
2742 |
|
2743 |
$this->_admin_notices->add_sticky(
|
2764 |
}
|
2765 |
}
|
2766 |
|
2767 |
+
// Schedule code type changes event.
|
2768 |
+
$this->schedule_install_sync();
|
2769 |
+
|
2770 |
/**
|
2771 |
* Unregister the uninstall hook for the other version of the plugin (with different code type) to avoid
|
2772 |
* triggering a fatal error when uninstalling that plugin. For example, after deactivating the "free" version
|
2784 |
$this->_storage->prev_is_premium = $this->_plugin->is_premium;
|
2785 |
}
|
2786 |
|
2787 |
+
#endregion
|
2788 |
|
2789 |
+
#----------------------------------------------------------------------------------
|
2790 |
+
#region Add-ons
|
2791 |
+
#----------------------------------------------------------------------------------
|
2792 |
|
2793 |
/**
|
2794 |
* Check if add-on installed and activated on site.
|
2985 |
$this->_parent->_admin_notices->add_sticky(
|
2986 |
sprintf(
|
2987 |
__fs( ( $is_after_trial_cancel ?
|
2988 |
+
'addon-trial-cancelled-message' :
|
2989 |
+
'addon-no-license-message' ),
|
2990 |
$this->_parent->_slug
|
2991 |
),
|
2992 |
'<b>' . $this->_plugin->title . '</b>'
|
3008 |
return false;
|
3009 |
}
|
3010 |
|
3011 |
+
#endregion
|
3012 |
|
3013 |
+
#----------------------------------------------------------------------------------
|
3014 |
+
#region Sandbox
|
3015 |
+
#----------------------------------------------------------------------------------
|
3016 |
|
3017 |
/**
|
3018 |
* Set Freemius into sandbox mode for debugging.
|
3041 |
return ( ! $this->is_live() ) || isset( $this->_plugin->secret_key );
|
3042 |
}
|
3043 |
|
3044 |
+
#endregion
|
3045 |
|
3046 |
/**
|
3047 |
* Check if running test vs. live plugin.
|
3106 |
return $this->_is_org_compliant;
|
3107 |
}
|
3108 |
|
3109 |
+
#----------------------------------------------------------------------------------
|
3110 |
+
#region Daily Sync Cron
|
3111 |
+
#----------------------------------------------------------------------------------
|
3112 |
|
3113 |
/**
|
3114 |
* @author Vova Feldman (@svovaf)
|
3292 |
|
3293 |
#endregion Daily Sync Cron ------------------------------------------------------------------
|
3294 |
|
3295 |
+
#----------------------------------------------------------------------------------
|
3296 |
+
#region Async Install Sync
|
3297 |
+
#----------------------------------------------------------------------------------
|
3298 |
|
3299 |
/**
|
3300 |
* @author Vova Feldman (@svovaf)
|
3419 |
* @since 1.0.7
|
3420 |
*
|
3421 |
* @param bool|string $email
|
3422 |
+
* @param bool $is_pending_trial Since 1.2.1.5
|
3423 |
*/
|
3424 |
+
function _add_pending_activation_notice( $email = false, $is_pending_trial = false ) {
|
3425 |
if ( ! is_string( $email ) ) {
|
3426 |
$current_user = self::_get_current_wp_user();
|
3427 |
$email = $current_user->user_email;
|
3431 |
sprintf(
|
3432 |
__fs( 'pending-activation-message', $this->_slug ),
|
3433 |
'<b>' . $this->get_plugin_name() . '</b>',
|
3434 |
+
'<b>' . $email . '</b>',
|
3435 |
+
__fs( $is_pending_trial ? 'start-the-trial' : 'complete-the-install', $this->_slug )
|
3436 |
),
|
3437 |
'activation_pending',
|
3438 |
'Thanks!'
|
3479 |
|
3480 |
$this->skip_connection();
|
3481 |
|
3482 |
+
fs_redirect( $this->get_after_activation_url( 'after_skip_url' ) );
|
|
|
|
|
3483 |
}
|
3484 |
|
3485 |
if ( ! $this->is_addon() && ! $this->is_registered() && ! $this->is_anonymous() ) {
|
3568 |
jQuery(document).ready(function ($) {
|
3569 |
if ('undefined' !== typeof(jQuery().pointer)) {
|
3570 |
|
3571 |
+
var element = <?php echo $this->apply_filters( 'optin_pointer_element', '$("#non_existing_element");' ) ?>;
|
3572 |
|
3573 |
if (element.length > 0) {
|
3574 |
var optin = $(element).pointer($.extend(true, {}, {
|
3575 |
+
content : <?php echo json_encode( $pointer_content ) ?>,
|
3576 |
position : {
|
3577 |
edge : 'left',
|
3578 |
align: 'center'
|
3582 |
return '';
|
3583 |
},
|
3584 |
pointerWidth: 482
|
3585 |
+
}, <?php echo $this->apply_filters( 'optin_pointer_options_json', '{}' ) ?>));
|
3586 |
|
3587 |
<?php
|
3588 |
+
echo $this->apply_filters( 'optin_pointer_execute', "
|
3589 |
|
3590 |
optin.pointer('open');
|
3591 |
|
3594 |
.parents('.wp-pointer.wp-pointer-top')
|
3595 |
.addClass('fs-opt-in-pointer');
|
3596 |
|
3597 |
+
", 'element', 'optin' ) ?>
|
3598 |
}
|
3599 |
}
|
3600 |
});
|
3601 |
// ]]></script>
|
3602 |
+
<?php
|
3603 |
}
|
3604 |
|
3605 |
/**
|
3715 |
$this->_storage->is_plugin_new_install;
|
3716 |
}
|
3717 |
|
3718 |
+
/**
|
3719 |
+
* Check if it's the first plugin release that is running Freemius.
|
3720 |
+
*
|
3721 |
+
* @author Vova Feldman (@svovaf)
|
3722 |
+
* @since 1.2.1.5
|
3723 |
+
*
|
3724 |
+
* @return bool
|
3725 |
+
*/
|
3726 |
+
function is_first_freemius_powered_version() {
|
3727 |
+
return empty( $this->_storage->plugin_last_version );
|
3728 |
+
}
|
3729 |
+
|
3730 |
/**
|
3731 |
* Plugin activated hook.
|
3732 |
*
|
3748 |
FS_Api::clear_cache();
|
3749 |
|
3750 |
if ( $this->is_registered() ) {
|
3751 |
+
$this->reconnect_locally();
|
3752 |
+
|
3753 |
// Schedule re-activation event and sync.
|
3754 |
// $this->sync_install( array(), true );
|
3755 |
$this->schedule_install_sync();
|
3756 |
|
3757 |
+
$is_premium_version_activation = ( current_filter() !== ( 'activate_' . $this->_free_plugin_basename ) );
|
3758 |
+
|
3759 |
+
// 1. If running in the activation of the FREE module, get the basename of the PREMIUM.
|
3760 |
+
// 2. If running in the activation of the PREMIUM module, get the basename of the FREE.
|
3761 |
+
$other_version_basename = $is_premium_version_activation ?
|
3762 |
+
$this->_free_plugin_basename :
|
3763 |
+
$this->premium_plugin_basename();
|
3764 |
+
|
3765 |
/**
|
3766 |
+
* If the other module version is activate, deactivate it.
|
3767 |
+
*
|
3768 |
+
* @author Leo Fajardo (@leorw)
|
3769 |
+
* @since 1.2.2
|
3770 |
*/
|
3771 |
+
if ( is_plugin_active( $other_version_basename ) ) {
|
3772 |
+
deactivate_plugins( $other_version_basename );
|
3773 |
+
}
|
3774 |
|
3775 |
+
// If activating the premium module version, add an admin noitce to congratulate for an upgrade completion.
|
3776 |
+
if ( $is_premium_version_activation ) {
|
3777 |
$this->_admin_notices->add(
|
3778 |
sprintf( __fs( 'successful-version-upgrade-message', $this->_slug ), sprintf( '<b>%s</b>', $this->_plugin->title ) ),
|
3779 |
__fs( 'woot', $this->_slug ) . '!'
|
3984 |
|
3985 |
$this->reset_anonymous_mode();
|
3986 |
|
3987 |
+
fs_redirect( $this->get_activation_url() );
|
|
|
|
|
3988 |
}
|
3989 |
|
3990 |
/**
|
4310 |
'language' => get_bloginfo( 'language' ),
|
4311 |
'charset' => get_bloginfo( 'charset' ),
|
4312 |
'platform_version' => get_bloginfo( 'version' ),
|
4313 |
+
'sdk_version' => $this->version,
|
4314 |
'programming_language_version' => phpversion(),
|
4315 |
'title' => get_bloginfo( 'name' ),
|
4316 |
'url' => get_site_url(),
|
4317 |
// Special params.
|
4318 |
'is_active' => true,
|
4319 |
+
'is_disconnected' => $this->is_tracking_prohibited(),
|
4320 |
'is_uninstalled' => false,
|
4321 |
), $override );
|
4322 |
}
|
4346 |
|
4347 |
foreach ( $check_properties as $p => $v ) {
|
4348 |
if ( property_exists( $this->_site, $p ) ) {
|
4349 |
+
if ( ( is_bool( $this->_site->{$p} ) || ! empty( $this->_site->{$p} ) ) &&
|
4350 |
$this->_site->{$p} != $v
|
4351 |
) {
|
4352 |
$this->_site->{$p} = $v;
|
4382 |
// Send updated values to FS.
|
4383 |
$site = $this->get_api_site_scope()->call( '/', 'put', $params );
|
4384 |
|
4385 |
+
if ( $this->is_api_result_entity( $site ) ) {
|
4386 |
// I successfully sent install update, clear scheduled sync if exist.
|
4387 |
$this->clear_install_sync_cron();
|
4388 |
}
|
4401 |
*
|
4402 |
* @param string[] string $override
|
4403 |
* @param bool $flush
|
|
|
|
|
4404 |
*/
|
4405 |
private function sync_install( $override = array(), $flush = false ) {
|
4406 |
$this->_logger->entrance();
|
4412 |
return;
|
4413 |
}
|
4414 |
|
4415 |
+
if ( ! $this->is_api_result_entity( $site ) ) {
|
4416 |
// Failed to sync, don't update locally.
|
4417 |
return;
|
4418 |
}
|
4603 |
}
|
4604 |
}
|
4605 |
|
4606 |
+
#----------------------------------------------------------------------------------
|
4607 |
+
#region Plugin Information
|
4608 |
+
#----------------------------------------------------------------------------------
|
4609 |
|
4610 |
/**
|
4611 |
* Load WordPress core plugin.php essential module.
|
4615 |
*/
|
4616 |
private static function require_plugin_essentials() {
|
4617 |
if ( ! function_exists( 'get_plugins' ) ) {
|
4618 |
+
self::$_static_logger->log( 'Including wp-admin/includes/plugin.php...' );
|
4619 |
+
|
4620 |
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
4621 |
}
|
4622 |
}
|
4681 |
return $this->_plugin->id;
|
4682 |
}
|
4683 |
|
4684 |
+
/**
|
4685 |
+
* @author Vova Feldman (@svovaf)
|
4686 |
+
* @since 1.2.1.5
|
4687 |
+
*
|
4688 |
+
* @return string Freemius SDK version
|
4689 |
+
*/
|
4690 |
+
function get_sdk_version() {
|
4691 |
+
return $this->version;
|
4692 |
+
}
|
4693 |
+
|
4694 |
+
/**
|
4695 |
+
* @author Vova Feldman (@svovaf)
|
4696 |
+
* @since 1.2.1.5
|
4697 |
+
*
|
4698 |
+
* @return number Parent plugin ID (if parent exist).
|
4699 |
+
*/
|
4700 |
+
function get_parent_id() {
|
4701 |
+
return $this->is_addon() ?
|
4702 |
+
$this->get_parent_instance()->get_id() :
|
4703 |
+
$this->_plugin->id;
|
4704 |
+
}
|
4705 |
+
|
4706 |
/**
|
4707 |
* @author Vova Feldman (@svovaf)
|
4708 |
* @since 1.0.1
|
4927 |
* @author Vova Feldman (@svovaf)
|
4928 |
* @since 1.0.6
|
4929 |
*
|
4930 |
+
* @return array<number,FS_Plugin[]>|false
|
4931 |
*/
|
4932 |
private static function get_all_addons() {
|
4933 |
$addons = self::$_accounts->get_option( 'addons', array() );
|
4966 |
return is_object( $this->_user );
|
4967 |
}
|
4968 |
|
4969 |
+
/**
|
4970 |
+
* Returns TRUE if the user opted-in and didn't disconnect (opt-out).
|
4971 |
+
*
|
4972 |
+
* @author Leo Fajardo (@leorw)
|
4973 |
+
* @since 1.2.1.5
|
4974 |
+
*
|
4975 |
+
* @return bool
|
4976 |
+
*/
|
4977 |
+
function is_tracking_allowed() {
|
4978 |
+
return ( is_object( $this->_site ) && true !== $this->_site->is_disconnected );
|
4979 |
+
}
|
4980 |
+
|
4981 |
/**
|
4982 |
* @author Vova Feldman (@svovaf)
|
4983 |
* @since 1.0.4
|
5016 |
*
|
5017 |
* @since 1.1.7.3 If not yet loaded, fetch data from the API.
|
5018 |
*
|
5019 |
+
* @param bool $flush
|
5020 |
+
*
|
5021 |
* @return FS_Plugin[]|false
|
5022 |
*/
|
5023 |
+
function get_addons( $flush = false ) {
|
5024 |
$this->_logger->entrance();
|
5025 |
|
5026 |
if ( ! $this->_has_addons ) {
|
5027 |
return false;
|
5028 |
}
|
5029 |
|
5030 |
+
$addons = $this->_sync_addons( $flush );
|
5031 |
|
5032 |
return ( ! is_array( $addons ) || empty( $addons ) ) ?
|
5033 |
false :
|
5105 |
*
|
5106 |
* @param string $slug
|
5107 |
*
|
5108 |
+
* @param bool $flush
|
5109 |
+
*
|
5110 |
* @return FS_Plugin|false
|
5111 |
*/
|
5112 |
+
function get_addon_by_slug( $slug, $flush = false ) {
|
5113 |
$this->_logger->entrance();
|
5114 |
|
5115 |
+
$addons = $this->get_addons( $flush );
|
5116 |
|
5117 |
if ( is_array( $addons ) ) {
|
5118 |
foreach ( $addons as $addon ) {
|
5125 |
return false;
|
5126 |
}
|
5127 |
|
5128 |
+
#----------------------------------------------------------------------------------
|
5129 |
+
#region Plans & Licensing
|
5130 |
+
#----------------------------------------------------------------------------------
|
5131 |
|
5132 |
/**
|
5133 |
* Check if running premium plugin code.
|
5169 |
* @author Vova Feldman (@svovaf)
|
5170 |
* @since 1.0.9
|
5171 |
*
|
5172 |
+
* @return FS_Plugin_Plan|false
|
5173 |
*/
|
5174 |
function get_plan() {
|
5175 |
+
return is_object( $this->_site->plan ) ?
|
5176 |
+
$this->_site->plan :
|
5177 |
+
false;
|
5178 |
}
|
5179 |
|
5180 |
/**
|
5322 |
* @author Vova Feldman (@svovaf)
|
5323 |
* @since 1.0.5
|
5324 |
*
|
5325 |
+
* @return FS_Plugin_License|false
|
5326 |
*/
|
5327 |
function _get_available_premium_license() {
|
5328 |
$this->_logger->entrance();
|
5352 |
*/
|
5353 |
function _sync_plans() {
|
5354 |
$plans = $this->_fetch_plugin_plans();
|
5355 |
+
|
5356 |
+
if ( $this->is_array_instanceof( $plans, 'FS_Plugin_Plan' ) ) {
|
5357 |
$this->_plans = $plans;
|
5358 |
$this->_store_plans();
|
5359 |
}
|
5369 |
*
|
5370 |
* @param number $id
|
5371 |
*
|
5372 |
+
* @return FS_Plugin_Plan|false
|
5373 |
*/
|
5374 |
function _get_plan_by_id( $id ) {
|
5375 |
$this->_logger->entrance();
|
5423 |
*/
|
5424 |
function _sync_licenses( $site_license_id = false ) {
|
5425 |
$licenses = $this->_fetch_licenses( false, $site_license_id );
|
5426 |
+
|
5427 |
+
if ( $this->is_array_instanceof( $licenses, 'FS_Plugin_License' ) ) {
|
5428 |
$this->_licenses = $licenses;
|
5429 |
$this->_store_licenses();
|
5430 |
}
|
5443 |
*
|
5444 |
* @param number $id
|
5445 |
*
|
5446 |
+
* @return FS_Plugin_License|false
|
5447 |
*/
|
5448 |
function _get_license_by_id( $id ) {
|
5449 |
$this->_logger->entrance();
|
5668 |
*/
|
5669 |
function has_trial_plan() {
|
5670 |
if ( ! $this->is_registered() ) {
|
5671 |
+
/**
|
5672 |
+
* @author Vova Feldman(@svovaf)
|
5673 |
+
* @since 1.2.1.5
|
5674 |
+
*
|
5675 |
+
* Allow setting a trial from the SDK without calling the API.
|
5676 |
+
* But, if the user did opt-in, continue using the real data from the API.
|
5677 |
+
*/
|
5678 |
+
if ( $this->_trial_days >= 0 ) {
|
5679 |
+
return true;
|
5680 |
+
}
|
5681 |
+
|
5682 |
return false;
|
5683 |
}
|
5684 |
|
5696 |
* @return bool
|
5697 |
*/
|
5698 |
function has_free_plan() {
|
5699 |
+
return ! $this->is_only_premium();
|
|
|
|
|
5700 |
}
|
5701 |
|
5702 |
/**
|
5716 |
fs_require_template( 'forms/resend-key.php', $vars );
|
5717 |
}
|
5718 |
|
5719 |
+
/**
|
5720 |
+
* Displays the opt-out dialog box when the user clicks on the "Opt Out" link on the "Plugins"
|
5721 |
+
* page.
|
5722 |
+
*
|
5723 |
+
* @author Leo Fajardo (@leorw)
|
5724 |
+
* @since 1.2.1.5
|
5725 |
+
*/
|
5726 |
+
function _add_optout_dialog() {
|
5727 |
+
$vars = array(
|
5728 |
+
'slug' => $this->_slug,
|
5729 |
+
);
|
5730 |
+
|
5731 |
+
fs_require_template( 'forms/optout.php', $vars );
|
5732 |
+
}
|
5733 |
+
|
5734 |
/**
|
5735 |
* Prepare page to include all required UI and logic for the license activation dialog.
|
5736 |
*
|
5737 |
* @author Vova Feldman (@svovaf)
|
5738 |
* @since 1.2.0
|
5739 |
*/
|
5740 |
+
function _add_license_activation() {
|
5741 |
+
if ( ! current_user_can( 'activate_plugins' ) ) {
|
5742 |
+
// Only admins can activate a license.
|
5743 |
+
return;
|
5744 |
+
}
|
|
|
5745 |
|
5746 |
+
if ( ! $this->has_paid_plan() ) {
|
5747 |
+
// Module doesn't have any paid plans.
|
5748 |
+
return;
|
5749 |
+
}
|
5750 |
+
|
5751 |
+
if ( ! $this->is_premium() ) {
|
5752 |
+
// Only add license activation logic to the premium version.
|
5753 |
+
return;
|
5754 |
+
}
|
5755 |
+
|
5756 |
+
// Add license activation link and AJAX request handler.
|
5757 |
+
if ( $this->is_plugins_page() ) {
|
5758 |
+
/**
|
5759 |
+
* @since 1.2.0 Add license action link only on plugins page.
|
5760 |
+
*/
|
5761 |
+
$this->_add_license_action_link();
|
5762 |
}
|
5763 |
+
|
5764 |
+
// Add license activation AJAX callback.
|
5765 |
+
$this->add_ajax_action( 'activate_license', array( &$this, '_activate_license_ajax_action' ) );
|
5766 |
+
|
5767 |
+
// Add resend license AJAX callback.
|
5768 |
+
$this->add_ajax_action( 'resend_license_key', array( &$this, '_resend_license_key_ajax_action' ) );
|
5769 |
}
|
5770 |
|
5771 |
/**
|
5779 |
exit;
|
5780 |
}
|
5781 |
|
5782 |
+
$slug = $_POST['slug'];
|
5783 |
+
$fs = ( ( $slug === $this->_slug ) ? $this : self::instance( $slug ) );
|
5784 |
+
$error = false;
|
5785 |
+
$next_page = false;
|
5786 |
|
5787 |
if ( $this->is_registered() ) {
|
5788 |
$api = $fs->get_api_site_scope();
|
5789 |
+
$install = $api->call( '/', 'put', array(
|
5790 |
+
'license_key' => $this->apply_filters( 'license_key', $license_key )
|
5791 |
+
) );
|
|
|
|
|
5792 |
|
5793 |
if ( isset( $install->error ) ) {
|
5794 |
$error = $install->error->message;
|
5795 |
+
} else {
|
5796 |
+
$fs = $this->is_addon() ?
|
5797 |
+
$this->get_parent_instance() :
|
5798 |
+
$this;
|
5799 |
+
|
5800 |
+
$next_page = $fs->_get_sync_license_url( $this->get_id(), true );
|
5801 |
+
|
5802 |
+
$this->reconnect_locally();
|
5803 |
}
|
5804 |
} else {
|
5805 |
+
$next_page = $this->opt_in( false, false, false, $license_key );
|
5806 |
|
5807 |
+
if ( isset( $next_page->error ) ) {
|
5808 |
+
$error = $next_page->error;
|
5809 |
}
|
5810 |
}
|
5811 |
|
5815 |
|
5816 |
if ( false !== $error ) {
|
5817 |
$result['error'] = $error;
|
5818 |
+
} else {
|
5819 |
+
$result['next_page'] = $next_page;
|
5820 |
}
|
5821 |
|
5822 |
echo json_encode( $result );
|
5825 |
}
|
5826 |
|
5827 |
/**
|
5828 |
+
* Billing update AJAX callback.
|
5829 |
+
*
|
5830 |
+
* @author Vova Feldman (@svovaf)
|
5831 |
+
* @since 1.2.1.5
|
5832 |
*/
|
5833 |
+
function _update_billing_ajax_action() {
|
5834 |
+
check_ajax_referer( $this->get_action_tag( 'update_billing' ), 'security' );
|
5835 |
+
|
5836 |
+
if ( ! current_user_can( 'activate_plugins' ) ) {
|
5837 |
+
// Only for admins.
|
5838 |
+
$this->shoot_ajax_failure();
|
5839 |
+
}
|
5840 |
+
|
5841 |
+
$billing = fs_request_get( 'billing' );
|
5842 |
+
|
5843 |
+
$api = $this->get_api_user_scope();
|
5844 |
+
$result = $api->call( '/billing.json', 'put', array_merge( $billing, array(
|
5845 |
+
'plugin_id' => $this->get_parent_id(),
|
5846 |
+
) ) );
|
5847 |
+
|
5848 |
+
if ( ! $this->is_api_result_entity( $result ) ) {
|
5849 |
+
$this->shoot_ajax_failure();
|
5850 |
+
}
|
5851 |
+
|
5852 |
+
// Purge cached billing.
|
5853 |
+
$this->get_api_user_scope()->purge_cache( 'billing.json' );
|
5854 |
+
|
5855 |
+
$this->shoot_ajax_success();
|
5856 |
+
}
|
5857 |
+
|
5858 |
+
/**
|
5859 |
+
* Trial start for anonymous users (AJAX callback).
|
5860 |
+
*
|
5861 |
+
* @author Vova Feldman (@svovaf)
|
5862 |
+
* @since 1.2.1.5
|
5863 |
+
*/
|
5864 |
+
function _start_trial_ajax_action() {
|
5865 |
+
check_ajax_referer( $this->get_action_tag( 'start_trial' ), 'security' );
|
5866 |
+
|
5867 |
+
if ( ! current_user_can( 'activate_plugins' ) ) {
|
5868 |
+
// Only for admins.
|
5869 |
+
$this->shoot_ajax_failure();
|
5870 |
+
}
|
5871 |
+
|
5872 |
+
$trial_data = fs_request_get( 'trial' );
|
5873 |
+
|
5874 |
+
$next_page = $this->opt_in(
|
5875 |
+
false,
|
5876 |
+
false,
|
5877 |
+
false,
|
5878 |
+
false,
|
5879 |
+
false,
|
5880 |
+
$trial_data['plan_id']
|
5881 |
+
);
|
5882 |
+
|
5883 |
+
if ( is_object( $next_page ) && $this->is_api_error( $next_page ) ) {
|
5884 |
+
$this->shoot_ajax_failure(
|
5885 |
+
isset( $next_page->error ) ?
|
5886 |
+
$next_page->error->message :
|
5887 |
+
var_export( $next_page, true )
|
5888 |
+
);
|
5889 |
+
}
|
5890 |
+
|
5891 |
+
$this->shoot_ajax_success( array(
|
5892 |
+
'next_page' => $next_page,
|
5893 |
+
) );
|
5894 |
+
}
|
5895 |
+
|
5896 |
+
/**
|
5897 |
+
* @author Leo Fajardo (@leorw)
|
5898 |
+
* @since 1.2.0
|
5899 |
+
*/
|
5900 |
+
function _resend_license_key_ajax_action() {
|
5901 |
+
if ( ! isset( $_POST['email'] ) ) {
|
5902 |
exit;
|
5903 |
}
|
5904 |
|
5942 |
exit;
|
5943 |
}
|
5944 |
|
5945 |
+
/**
|
5946 |
+
* Helper method to check if user in the plugins page.
|
5947 |
+
*
|
5948 |
+
* @author Vova Feldman (@svovaf)
|
5949 |
+
* @since 1.2.1.5
|
5950 |
+
*
|
5951 |
+
* @return bool
|
5952 |
+
*/
|
5953 |
+
private function is_plugins_page() {
|
5954 |
+
global $pagenow;
|
5955 |
+
|
5956 |
+
return ( 'plugins.php' === $pagenow );
|
5957 |
+
}
|
5958 |
+
|
5959 |
+
#----------------------------------------------------------------------------------
|
5960 |
#region URL Generators
|
5961 |
+
#----------------------------------------------------------------------------------
|
5962 |
|
5963 |
/**
|
5964 |
* Alias to pricing_url().
|
6339 |
self::require_pluggable_essentials();
|
6340 |
|
6341 |
return ( $add_action_nonce && is_string( $action ) ) ?
|
6342 |
+
fs_nonce_url( $this->_get_admin_page_url( 'account', $params ), $action ) :
|
6343 |
$this->_get_admin_page_url( 'account', $params );
|
6344 |
}
|
6345 |
|
6534 |
$this->_set_account( $user, $site, $plans );
|
6535 |
|
6536 |
// Reload the page with the keys.
|
6537 |
+
fs_redirect( $this->_get_admin_page_url() );
|
|
|
|
|
6538 |
}
|
6539 |
}
|
6540 |
|
6562 |
return false;
|
6563 |
}
|
6564 |
|
6565 |
+
#----------------------------------------------------------------------------------
|
6566 |
+
#region Account (Loading, Updates & Activation)
|
6567 |
+
#----------------------------------------------------------------------------------
|
6568 |
|
6569 |
/***
|
6570 |
* Load account information (user + site).
|
6606 |
// Load plans.
|
6607 |
$this->_plans = $plans[ $this->_slug ];
|
6608 |
if ( ! is_array( $this->_plans ) || empty( $this->_plans ) ) {
|
6609 |
+
$this->_sync_plans();
|
6610 |
} else {
|
6611 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
6612 |
if ( $this->_plans[ $i ] instanceof FS_Plugin_Plan ) {
|
6675 |
|
6676 |
$current_user = self::_get_current_wp_user();
|
6677 |
|
6678 |
+
$activation_action = $this->_slug . '_activate_new';
|
6679 |
+
$return_url = $this->is_anonymous() ?
|
6680 |
+
// If skipped already, then return to the account page.
|
6681 |
+
$this->get_account_url( $activation_action, array(), false ) :
|
6682 |
+
// Return to the module's main page.
|
6683 |
+
$this->_get_admin_page_url(
|
|
|
|
|
|
|
|
|
|
|
6684 |
'',
|
6685 |
+
array( 'fs_action' => $activation_action )
|
6686 |
+
);
|
6687 |
+
|
6688 |
+
$params = array(
|
6689 |
+
'user_firstname' => $current_user->user_firstname,
|
6690 |
+
'user_lastname' => $current_user->user_lastname,
|
6691 |
+
'user_nickname' => $current_user->user_nicename,
|
6692 |
+
'user_email' => $current_user->user_email,
|
6693 |
+
'user_ip' => WP_FS__REMOTE_ADDR,
|
6694 |
+
'plugin_slug' => $this->_slug,
|
6695 |
+
'plugin_id' => $this->get_id(),
|
6696 |
+
'plugin_public_key' => $this->get_public_key(),
|
6697 |
+
'plugin_version' => $this->get_plugin_version(),
|
6698 |
+
'return_url' => fs_nonce_url( $return_url, $activation_action ),
|
6699 |
+
'account_url' => fs_nonce_url( $this->_get_admin_page_url(
|
6700 |
'account',
|
6701 |
array( 'fs_action' => 'sync_user' )
|
6702 |
), 'sync_user' ),
|
6703 |
+
'site_uid' => $this->get_anonymous_id(),
|
6704 |
+
'site_url' => get_site_url(),
|
6705 |
+
'site_name' => get_bloginfo( 'name' ),
|
6706 |
+
'platform_version' => get_bloginfo( 'version' ),
|
6707 |
+
'sdk_version' => $this->version,
|
6708 |
+
'programming_language_version' => phpversion(),
|
6709 |
+
'language' => get_bloginfo( 'language' ),
|
6710 |
+
'charset' => get_bloginfo( 'charset' ),
|
6711 |
+
'is_premium' => $this->is_premium(),
|
6712 |
+
'is_active' => true,
|
6713 |
+
'is_uninstalled' => false,
|
6714 |
);
|
6715 |
|
6716 |
+
if ( $this->is_pending_activation() &&
|
6717 |
+
! empty( $this->_storage->pending_license_key )
|
6718 |
+
) {
|
6719 |
+
$params['license_key'] = $this->_storage->pending_license_key;
|
6720 |
+
}
|
6721 |
+
|
6722 |
if ( WP_FS__SKIP_EMAIL_ACTIVATION && $this->has_secret_key() ) {
|
6723 |
// Even though rand() is known for its security issues,
|
6724 |
// the timestamp adds another layer of protection.
|
6738 |
}
|
6739 |
|
6740 |
/**
|
6741 |
+
* 1. If successful opt-in or pending activation returns the next page that the user should be redirected to.
|
6742 |
+
* 2. If there was an API error, return the API result.
|
6743 |
+
*
|
6744 |
* @author Vova Feldman (@svovaf)
|
6745 |
* @since 1.1.7.4
|
6746 |
*
|
6751 |
* @param bool $is_uninstall If "true", this means that the module is currently being uninstalled.
|
6752 |
* In this case, the user and site info will be sent to the server but no
|
6753 |
* data will be saved to the WP installation's database.
|
6754 |
+
* @param number|bool $trial_plan_id
|
6755 |
*
|
6756 |
+
* @return string|object
|
|
|
6757 |
* @use WP_Error
|
6758 |
*/
|
6759 |
function opt_in(
|
6761 |
$first = false,
|
6762 |
$last = false,
|
6763 |
$license_key = false,
|
6764 |
+
$is_uninstall = false,
|
6765 |
+
$trial_plan_id = false
|
6766 |
) {
|
6767 |
$this->_logger->entrance();
|
6768 |
|
6775 |
* @since 1.2.1 If activating with license key, ignore the context-user
|
6776 |
* since the user will be automatically loaded from the license.
|
6777 |
*/
|
6778 |
+
if ( empty( $license_key ) ) {
|
6779 |
+
// Clean up pending license if opt-ing in again.
|
6780 |
+
$this->_storage->remove( 'pending_license_key' );
|
6781 |
+
|
6782 |
if ( ! $is_uninstall ) {
|
6783 |
$fs_user = Freemius::_get_user_by_email( $email );
|
6784 |
if ( is_object( $fs_user ) && ! $this->is_pending_activation() ) {
|
6785 |
+
return $this->install_with_current_user( false, $trial_plan_id );
|
6786 |
}
|
6787 |
}
|
6788 |
}
|
6800 |
|
6801 |
$params = $this->get_opt_in_params( $user_info );
|
6802 |
|
6803 |
+
$filtered_license_key = false;
|
6804 |
if ( is_string( $license_key ) ) {
|
6805 |
+
$filtered_license_key = $this->apply_filters( 'license_key', $license_key );
|
6806 |
+
$params['license_key'] = $filtered_license_key;
|
6807 |
+
} else if ( FS_Plugin_Plan::is_valid_id( $trial_plan_id ) ) {
|
6808 |
+
$params['trial_plan_id'] = $trial_plan_id;
|
6809 |
}
|
6810 |
|
6811 |
if ( $is_uninstall ) {
|
6831 |
if ( $response instanceof WP_Error ) {
|
6832 |
if ( 'https://' === substr( $url, 0, 8 ) &&
|
6833 |
isset( $response->errors ) &&
|
6834 |
+
isset( $response->errors['http_request_failed'] )
|
|
|
6835 |
) {
|
6836 |
+
$http_error = strtolower( $response->errors['http_request_failed'][0] );
|
|
|
6837 |
|
6838 |
+
if ( false !== strpos( $http_error, 'ssl' ) ) {
|
6839 |
+
// Failed due to old version of cURL or Open SSL (SSLv3 is not supported by CloudFlare).
|
6840 |
+
$url = 'http://' . substr( $url, 8 );
|
|
|
|
|
|
|
6841 |
|
6842 |
+
$response = wp_remote_post( $url, array(
|
6843 |
+
'method' => 'POST',
|
6844 |
+
'body' => $params,
|
6845 |
+
'timeout' => 15,
|
6846 |
+
) );
|
6847 |
+
}
|
6848 |
}
|
6849 |
}
|
6850 |
|
6851 |
if ( is_wp_error( $response ) ) {
|
6852 |
+
/**
|
6853 |
+
* @var WP_Error $response
|
6854 |
+
*/
|
6855 |
+
$result = new stdClass();
|
6856 |
+
|
6857 |
+
$error_code = $response->get_error_code();
|
6858 |
+
$error_type = str_replace( ' ', '', ucwords( str_replace( '_', ' ', $error_code ) ) );
|
6859 |
+
|
6860 |
+
$result->error = (object) array(
|
6861 |
+
'type' => $error_type,
|
6862 |
+
'message' => $response->get_error_message(),
|
6863 |
+
'code' => $error_code,
|
6864 |
+
'http' => 402
|
6865 |
+
);
|
6866 |
+
|
6867 |
+
return $result;
|
6868 |
}
|
6869 |
|
6870 |
// Module is being uninstalled, don't handle the returned data.
|
6878 |
return false;
|
6879 |
}
|
6880 |
|
6881 |
+
if ( ! $this->is_api_result_object( $decoded ) ) {
|
6882 |
+
if ( ! empty( $params['license_key'] ) ) {
|
6883 |
+
// Pass the fully entered license key to the failure handler.
|
6884 |
+
$params['license_key'] = $license_key;
|
6885 |
+
}
|
6886 |
+
|
6887 |
+
return $is_uninstall ?
|
6888 |
+
$decoded :
|
6889 |
+
$this->apply_filters( 'after_install_failure', $decoded, $params );
|
6890 |
} else if ( isset( $decoded->pending_activation ) && $decoded->pending_activation ) {
|
6891 |
// Pending activation, add message.
|
6892 |
+
return $this->set_pending_confirmation(
|
6893 |
+
true,
|
6894 |
+
false,
|
6895 |
+
$filtered_license_key,
|
6896 |
+
! empty( $params['trial_plan_id'] )
|
6897 |
+
);
|
6898 |
} else if ( isset( $decoded->install_secret_key ) ) {
|
6899 |
+
return $this->install_with_new_user(
|
6900 |
$decoded->user_id,
|
6901 |
$decoded->user_public_key,
|
6902 |
$decoded->user_secret_key,
|
6905 |
$decoded->install_secret_key,
|
6906 |
false
|
6907 |
);
|
|
|
|
|
6908 |
}
|
6909 |
|
6910 |
return $decoded;
|
6920 |
* @param FS_Site $site
|
6921 |
* @param bool $redirect
|
6922 |
*
|
6923 |
+
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
6924 |
*/
|
6925 |
function setup_account( FS_User $user, FS_Site $site, $redirect = true ) {
|
6926 |
$this->_user = $user;
|
6955 |
// Remove plugin from pending activation mode.
|
6956 |
unset( $this->_storage->is_pending_activation );
|
6957 |
|
6958 |
+
if ( ! $this->is_paying_or_trial() ) {
|
6959 |
$this->_admin_notices->add_sticky(
|
6960 |
sprintf( __fs( 'plugin-x-activation-message', $this->_slug ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
6961 |
'activation_complete'
|
6963 |
}
|
6964 |
}
|
6965 |
|
6966 |
+
if ( $this->is_paying_or_trial() && ! $this->is_premium() ) {
|
6967 |
+
if ( $this->is_paying() ) {
|
6968 |
+
$this->_admin_notices->add_sticky(
|
6969 |
+
sprintf(
|
6970 |
+
__fs( 'activation-with-plan-x-message', $this->_slug ),
|
6971 |
+
$this->_site->plan->title
|
6972 |
+
) . $this->get_complete_upgrade_instructions(),
|
6973 |
+
'plan_upgraded',
|
6974 |
+
__fs( 'yee-haw', $this->_slug ) . '!'
|
6975 |
+
);
|
6976 |
+
} else {
|
6977 |
+
$this->_admin_notices->add_sticky(
|
6978 |
+
sprintf(
|
6979 |
+
__fs( 'trial-started-message', $this->_slug ),
|
6980 |
+
'<i>' . $this->get_plugin_name() . '</i>'
|
6981 |
+
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
6982 |
+
'trial_started',
|
6983 |
+
__fs( 'yee-haw', $this->_slug ) . '!'
|
6984 |
+
);
|
6985 |
+
}
|
6986 |
+
|
6987 |
+
$this->_admin_notices->remove_sticky( array(
|
6988 |
+
'trial_promotion',
|
6989 |
+
) );
|
6990 |
}
|
6991 |
|
6992 |
$plugin_id = fs_request_get( 'plugin_id', false );
|
6996 |
$this->_storage->activation_timestamp = WP_FS__SCRIPT_START_TIME;
|
6997 |
}
|
6998 |
|
6999 |
+
$next_page = '';
|
7000 |
+
|
7001 |
if ( is_numeric( $plugin_id ) ) {
|
7002 |
if ( $plugin_id != $this->_plugin->id ) {
|
7003 |
// Add-on was installed - sync license right after install.
|
7004 |
+
$next_page = $this->_get_sync_license_url( $plugin_id );
|
|
|
|
|
|
|
|
|
7005 |
}
|
7006 |
} else {
|
7007 |
/**
|
7013 |
}
|
7014 |
|
7015 |
// Reload the page with the keys.
|
7016 |
+
$next_page = $this->is_anonymous() ?
|
7017 |
+
// If user previously skipped, redirect to account page.
|
7018 |
+
$this->get_account_url() :
|
7019 |
+
$this->get_after_activation_url( 'after_connect_url' );
|
7020 |
+
}
|
7021 |
+
|
7022 |
+
if ( ! empty( $next_page ) && $redirect ) {
|
7023 |
+
fs_redirect( $next_page );
|
7024 |
}
|
7025 |
+
|
7026 |
+
return $next_page;
|
7027 |
}
|
7028 |
|
7029 |
/**
|
7070 |
* @param string $install_public_key
|
7071 |
* @param string $install_secret_key
|
7072 |
* @param bool $redirect
|
7073 |
+
*
|
7074 |
+
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7075 |
*/
|
7076 |
private function install_with_new_user(
|
7077 |
$user_id,
|
7102 |
$site = new FS_Site( $site_result );
|
7103 |
$this->_site = $site;
|
7104 |
|
7105 |
+
return $this->setup_account( $this->_user, $this->_site, $redirect );
|
7106 |
}
|
7107 |
|
7108 |
/**
|
7109 |
* @author Vova Feldman (@svovaf)
|
7110 |
* @since 1.1.7.4
|
7111 |
*
|
7112 |
+
* @param string|bool $email
|
7113 |
+
* @param bool $redirect
|
7114 |
+
* @param string|bool $license_key Since 1.2.1.5
|
7115 |
+
* @param bool $is_pending_trial Since 1.2.1.5
|
7116 |
+
*
|
7117 |
+
* @return string Since 1.2.1.5 if $redirect is `false`, return the pending activation page.
|
7118 |
*/
|
7119 |
+
private function set_pending_confirmation(
|
7120 |
+
$email = false,
|
7121 |
+
$redirect = true,
|
7122 |
+
$license_key = false,
|
7123 |
+
$is_pending_trial = false
|
7124 |
+
) {
|
7125 |
// Install must be activated via email since
|
7126 |
// user with the same email already exist.
|
7127 |
$this->_storage->is_pending_activation = true;
|
7128 |
+
$this->_add_pending_activation_notice( $email, $is_pending_trial );
|
7129 |
+
|
7130 |
+
if ( ! empty( $license_key ) ) {
|
7131 |
+
$this->_storage->pending_license_key = $license_key;
|
7132 |
+
}
|
7133 |
+
|
7134 |
+
// Remove the opt-in sticky notice.
|
7135 |
+
$this->_admin_notices->remove_sticky( array(
|
7136 |
+
'connect_account',
|
7137 |
+
'trial_promotion',
|
7138 |
+
) );
|
7139 |
+
|
7140 |
+
$next_page = $this->get_after_activation_url( 'after_pending_connect_url' );
|
7141 |
|
7142 |
// Reload the page with with pending activation message.
|
7143 |
+
if ( $redirect ) {
|
7144 |
+
fs_redirect( $next_page );
|
7145 |
}
|
7146 |
+
|
7147 |
+
return $next_page;
|
7148 |
}
|
7149 |
|
7150 |
/**
|
7163 |
if ( fs_request_is_action( $this->_slug . '_activate_existing' ) && fs_request_is_post() ) {
|
7164 |
// check_admin_referer( 'activate_existing_' . $this->_plugin->public_key );
|
7165 |
|
7166 |
+
/**
|
7167 |
+
* @author Vova Feldman (@svovaf)
|
7168 |
+
* @since 1.1.9 Add license key if given.
|
7169 |
+
*/
|
7170 |
+
$license_key = fs_request_get( 'license_secret_key' );
|
7171 |
+
|
7172 |
+
$this->install_with_current_user( $license_key );
|
7173 |
}
|
7174 |
}
|
7175 |
|
7178 |
* @author Vova Feldman (@svovaf)
|
7179 |
* @since 1.1.7.4
|
7180 |
*
|
7181 |
+
* @param string|bool $license_key
|
7182 |
+
* @param number|bool $trial_plan_id
|
7183 |
+
* @param bool $redirect
|
7184 |
*
|
7185 |
+
* @return string|object If redirect is `false`, returns the next page the user should be redirected to, or the
|
7186 |
+
* API error object if failed to install.
|
7187 |
*/
|
7188 |
+
private function install_with_current_user(
|
7189 |
+
$license_key = false,
|
7190 |
+
$trial_plan_id = false,
|
7191 |
+
$redirect = true
|
7192 |
+
) {
|
7193 |
// Get current logged WP user.
|
7194 |
$current_user = self::_get_current_wp_user();
|
7195 |
|
7203 |
'uid' => $this->get_anonymous_id(),
|
7204 |
);
|
7205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7206 |
if ( ! empty( $license_key ) ) {
|
7207 |
+
$filtered_license_key = $this->apply_filters( 'license_key', $license_key );
|
7208 |
+
$extra_install_params['license_key'] = $filtered_license_key;
|
7209 |
+
} else if ( FS_Plugin_Plan::is_valid_id( $trial_plan_id ) ) {
|
7210 |
+
$extra_install_params['trial_plan_id'] = $trial_plan_id;
|
7211 |
}
|
7212 |
|
7213 |
+
$args = $this->get_install_data_for_api( $extra_install_params, false, false );
|
7214 |
+
|
7215 |
// Install the plugin.
|
7216 |
$install = $this->get_api_user_scope()->call(
|
7217 |
"/plugins/{$this->get_id()}/installs.json",
|
7218 |
'post',
|
7219 |
+
$args
|
7220 |
);
|
7221 |
|
7222 |
+
if ( ! $this->is_api_result_entity( $install ) ) {
|
7223 |
+
if ( ! empty( $args['license_key'] ) ) {
|
7224 |
+
// Pass full the fully entered license key to the failure handler.
|
7225 |
+
$args['license_key'] = $license_key;
|
7226 |
+
}
|
7227 |
+
|
7228 |
+
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
7229 |
+
|
7230 |
$this->_admin_notices->add(
|
7231 |
sprintf( __fs( 'could-not-activate-x', $this->_slug ), $this->get_plugin_name() ) . ' ' .
|
7232 |
__fs( 'contact-us-with-error-message', $this->_slug ) . ' ' . '<b>' . $install->error->message . '</b>',
|
7234 |
'error'
|
7235 |
);
|
7236 |
|
7237 |
+
if ( $redirect ) {
|
7238 |
+
fs_redirect( $this->get_activation_url( array( 'error' => $install->error->message ) ) );
|
|
|
7239 |
}
|
7240 |
|
7241 |
return $install;
|
7243 |
|
7244 |
$site = new FS_Site( $install );
|
7245 |
$this->_site = $site;
|
|
|
|
|
|
|
|
|
|
|
|
|
7246 |
|
7247 |
+
return $this->setup_account( $this->_user, $this->_site, $redirect );
|
7248 |
}
|
7249 |
|
7250 |
/**
|
7303 |
$this->_activate_license( true );
|
7304 |
}
|
7305 |
|
7306 |
+
#endregion
|
7307 |
|
7308 |
+
#----------------------------------------------------------------------------------
|
7309 |
+
#region Admin Menu Items
|
7310 |
+
#----------------------------------------------------------------------------------
|
7311 |
|
7312 |
private $_menu_items = array();
|
7313 |
|
7365 |
/**
|
7366 |
* @author Vova Feldman (@svovaf)
|
7367 |
* @since 1.0.1
|
|
|
|
|
7368 |
*/
|
7369 |
function _redirect_on_clicked_menu_link() {
|
7370 |
$this->_logger->entrance();
|
7376 |
foreach ( $this->_menu_items as $priority => $items ) {
|
7377 |
foreach ( $items as $item ) {
|
7378 |
if ( isset( $item['url'] ) ) {
|
7379 |
+
if ( $page === $this->_menu->get_slug( strtolower( $item['menu_slug'] ) ) ) {
|
7380 |
$this->_logger->log( 'Redirecting to ' . $item['url'] );
|
7381 |
|
7382 |
fs_redirect( $item['url'] );
|
7557 |
// to support add-ons checkout but don't add the submenu item.
|
7558 |
// || (isset( $_GET['page'] ) && $this->_menu->get_slug( 'pricing' ) == $_GET['page']);
|
7559 |
|
7560 |
+
$pricing_cta_slug = 'upgrade';
|
7561 |
+
$pricing_class = 'upgrade-mode';
|
7562 |
+
if ( $show_pricing ) {
|
7563 |
+
if ( $this->_admin_notices->has_sticky( 'trial_promotion' ) &&
|
7564 |
+
! $this->is_paying_or_trial()
|
7565 |
+
) {
|
7566 |
+
// If running a trial promotion, modify the pricing to load the trial.
|
7567 |
+
$pricing_cta_slug = 'start-trial';
|
7568 |
+
$pricing_class = 'trial-mode';
|
7569 |
+
} else if ( $this->is_paying() ) {
|
7570 |
+
$pricing_cta_slug = 'pricing';
|
7571 |
+
$pricing_class = '';
|
7572 |
+
}
|
7573 |
+
}
|
7574 |
+
|
7575 |
// Add upgrade/pricing page.
|
7576 |
$this->add_submenu_item(
|
7577 |
+
__fs( $pricing_cta_slug, $this->_slug ) . ' ➤',
|
7578 |
array( &$this, '_pricing_page_render' ),
|
7579 |
$this->get_plugin_name() . ' – ' . __fs( 'pricing', $this->_slug ),
|
7580 |
'manage_options',
|
7581 |
'pricing',
|
7582 |
'Freemius::_clean_admin_content_section',
|
7583 |
WP_FS__LOWEST_PRIORITY,
|
7584 |
+
$show_pricing,
|
7585 |
+
$pricing_class
|
7586 |
);
|
7587 |
}
|
7588 |
}
|
7611 |
*/
|
7612 |
private function embed_submenu_items() {
|
7613 |
$item_template = $this->_menu->is_top_level() ?
|
7614 |
+
'<span class="fs-submenu-item %s %s %s">%s</span>' :
|
7615 |
+
'<span class="fs-submenu-item fs-sub %s %s %s">%s</span>';
|
7616 |
|
7617 |
$top_level_menu_capability = $this->get_top_level_menu_capability();
|
7618 |
|
7622 |
foreach ( $items as $item ) {
|
7623 |
$capability = ( ! empty( $item['capability'] ) ? $item['capability'] : $top_level_menu_capability );
|
7624 |
|
7625 |
+
$menu_item = sprintf(
|
7626 |
+
$item_template,
|
7627 |
+
$this->_slug,
|
7628 |
+
$item['menu_slug'],
|
7629 |
+
! empty( $item['class'] ) ? $item['class'] : '',
|
7630 |
+
$item['menu_title']
|
7631 |
+
);
|
7632 |
+
|
7633 |
+
$menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
|
7634 |
+
|
7635 |
if ( ! isset( $item['url'] ) ) {
|
7636 |
$hook = add_submenu_page(
|
7637 |
$item['show_submenu'] ?
|
7638 |
$this->get_top_level_menu_slug() :
|
7639 |
null,
|
7640 |
$item['page_title'],
|
7641 |
+
$menu_item,
|
7642 |
$capability,
|
7643 |
+
$menu_slug,
|
7644 |
$item['render_function']
|
7645 |
);
|
7646 |
|
7651 |
add_submenu_page(
|
7652 |
$this->get_top_level_menu_slug(),
|
7653 |
$item['page_title'],
|
7654 |
+
$menu_item,
|
7655 |
$capability,
|
7656 |
+
$menu_slug,
|
7657 |
array( $this, '' )
|
7658 |
);
|
7659 |
}
|
7765 |
* @param bool|callable $before_render_function
|
7766 |
* @param int $priority
|
7767 |
* @param bool $show_submenu
|
7768 |
+
* @param string $class Since 1.2.1.5 can add custom classes to menu items.
|
7769 |
*/
|
7770 |
function add_submenu_item(
|
7771 |
$menu_title,
|
7775 |
$menu_slug = false,
|
7776 |
$before_render_function = false,
|
7777 |
$priority = WP_FS__DEFAULT_PRIORITY,
|
7778 |
+
$show_submenu = true,
|
7779 |
+
$class = ''
|
7780 |
) {
|
7781 |
$this->_logger->entrance( 'Title = ' . $menu_title );
|
7782 |
|
7792 |
$menu_slug,
|
7793 |
$before_render_function,
|
7794 |
$priority,
|
7795 |
+
$show_submenu,
|
7796 |
+
$class
|
7797 |
);
|
7798 |
|
7799 |
return;
|
7808 |
'page_title' => is_string( $page_title ) ? $page_title : $menu_title,
|
7809 |
'menu_title' => $menu_title,
|
7810 |
'capability' => $capability,
|
7811 |
+
'menu_slug' => is_string( $menu_slug ) ? $menu_slug : strtolower( $menu_title ),
|
7812 |
'render_function' => $render_function,
|
7813 |
'before_render_function' => $before_render_function,
|
7814 |
'show_submenu' => $show_submenu,
|
7815 |
+
'class' => $class,
|
7816 |
);
|
7817 |
}
|
7818 |
|
7859 |
$this->_menu_items[ $priority ][] = array(
|
7860 |
'menu_title' => $menu_title,
|
7861 |
'capability' => $capability,
|
7862 |
+
'menu_slug' => is_string( $menu_slug ) ? $menu_slug : strtolower( $menu_title ),
|
7863 |
'url' => $url,
|
7864 |
'page_title' => $menu_title,
|
7865 |
'render_function' => 'fs_dummy',
|
7949 |
* @param int $accepted_args
|
7950 |
*
|
7951 |
* @uses add_action()
|
7952 |
+
*
|
7953 |
+
* @return bool True if action added, false if no need to add the action since the AJAX call isn't matching.
|
7954 |
*/
|
7955 |
function add_ajax_action( $tag, $function_to_add, $priority = WP_FS__DEFAULT_PRIORITY, $accepted_args = 1 ) {
|
7956 |
$this->_logger->entrance( $tag );
|
7957 |
|
7958 |
+
if ( ! $this->is_ajax_action( $tag ) ) {
|
7959 |
+
return false;
|
7960 |
+
}
|
7961 |
+
|
7962 |
add_action( $this->get_ajax_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
|
7963 |
+
|
7964 |
+
$this->_logger->info( "$tag AJAX callback action added." );
|
7965 |
+
|
7966 |
+
return true;
|
7967 |
+
}
|
7968 |
+
|
7969 |
+
/**
|
7970 |
+
* Send a JSON response back to an Ajax request.
|
7971 |
+
*
|
7972 |
+
* @author Vova Feldman (@svovaf)
|
7973 |
+
* @since 1.2.1.5
|
7974 |
+
*
|
7975 |
+
* @param mixed $response
|
7976 |
+
*/
|
7977 |
+
function shoot_ajax_response( $response ) {
|
7978 |
+
wp_send_json( $response );
|
7979 |
+
}
|
7980 |
+
|
7981 |
+
/**
|
7982 |
+
* Send a JSON response back to an Ajax request, indicating success.
|
7983 |
+
*
|
7984 |
+
* @author Vova Feldman (@svovaf)
|
7985 |
+
* @since 1.2.1.5
|
7986 |
+
*
|
7987 |
+
* @param mixed $data Data to encode as JSON, then print and exit.
|
7988 |
+
*/
|
7989 |
+
function shoot_ajax_success( $data = null ) {
|
7990 |
+
wp_send_json_success( $data );
|
7991 |
+
}
|
7992 |
+
|
7993 |
+
/**
|
7994 |
+
* Send a JSON response back to an Ajax request, indicating failure.
|
7995 |
+
*
|
7996 |
+
* @author Vova Feldman (@svovaf)
|
7997 |
+
* @since 1.2.1.5
|
7998 |
+
*
|
7999 |
+
* @param mixed $error Optional error message.
|
8000 |
+
*/
|
8001 |
+
function shoot_ajax_failure( $error = '' ) {
|
8002 |
+
$result = array( 'success' => false );
|
8003 |
+
if ( ! empty( $error ) ) {
|
8004 |
+
$result['error'] = $error;
|
8005 |
+
}
|
8006 |
+
|
8007 |
+
wp_send_json( $result );
|
8008 |
}
|
8009 |
|
8010 |
/**
|
8094 |
private function _store_site( $store = true ) {
|
8095 |
$this->_logger->entrance();
|
8096 |
|
8097 |
+
if ( empty( $this->_site->id ) ) {
|
8098 |
+
$this->_logger->error( "Empty install ID, can't store site." );
|
8099 |
+
|
8100 |
+
return;
|
8101 |
+
}
|
8102 |
+
|
8103 |
$encrypted_site = clone $this->_site;
|
8104 |
$encrypted_site->plan = $this->_encrypt_entity( $this->_site->plan );
|
8105 |
|
8171 |
private function _store_user( $store = true ) {
|
8172 |
$this->_logger->entrance();
|
8173 |
|
8174 |
+
if ( empty( $this->_user->id ) ) {
|
8175 |
+
$this->_logger->error( "Empty user ID, can't store user." );
|
8176 |
+
|
8177 |
+
return;
|
8178 |
+
}
|
8179 |
+
|
8180 |
$users = self::get_all_users();
|
8181 |
$users[ $this->_user->id ] = $this->_user;
|
8182 |
self::$_accounts->set_option( 'users', $users, $store );
|
8340 |
* @link https://github.com/Freemius/wordpress-sdk/issues/6
|
8341 |
*/
|
8342 |
if ( ! $is_menu_item_account_visible ) {
|
8343 |
+
fs_redirect( $this->_get_admin_page_url() );
|
|
|
|
|
8344 |
}
|
8345 |
}
|
8346 |
}
|
8451 |
|
8452 |
$result = $api->get( '/plans.json', true );
|
8453 |
|
8454 |
+
if ( $this->is_api_result_object( $result, 'plans' ) && is_array( $result->plans ) ) {
|
8455 |
for ( $i = 0, $len = count( $result->plans ); $i < $len; $i ++ ) {
|
8456 |
$result->plans[ $i ] = new FS_Plugin_Plan( $result->plans[ $i ] );
|
8457 |
}
|
8485 |
|
8486 |
$is_site_license_synced = false;
|
8487 |
|
8488 |
+
$api_errors = array();
|
8489 |
+
|
8490 |
+
if ( $this->is_api_result_object( $result, 'licenses' ) &&
|
8491 |
+
is_array( $result->licenses )
|
8492 |
+
) {
|
8493 |
for ( $i = 0, $len = count( $result->licenses ); $i < $len; $i ++ ) {
|
8494 |
$result->licenses[ $i ] = new FS_Plugin_License( $result->licenses[ $i ] );
|
8495 |
|
8499 |
}
|
8500 |
|
8501 |
$result = $result->licenses;
|
8502 |
+
} else {
|
8503 |
+
$api_errors[] = $result;
|
8504 |
+
$result = array();
|
8505 |
}
|
8506 |
|
8507 |
if ( ! $is_site_license_synced ) {
|
8511 |
// Try to retrieve a foreign license that is linked to the install.
|
8512 |
$api_result = $api->call( '/licenses.json' );
|
8513 |
|
8514 |
+
if ( $this->is_api_result_object( $api_result, 'licenses' ) &&
|
8515 |
+
is_array( $api_result->licenses )
|
8516 |
+
) {
|
8517 |
$licenses = $api_result->licenses;
|
8518 |
|
8519 |
if ( ! empty( $licenses ) ) {
|
8520 |
$result[] = new FS_Plugin_License( $licenses[0] );
|
8521 |
}
|
8522 |
+
} else {
|
8523 |
+
$api_errors[] = $api_result;
|
8524 |
}
|
8525 |
} else if ( is_object( $this->_license ) ) {
|
8526 |
// Fetch foreign license by ID and license key.
|
8527 |
$license = $api->get( "/licenses/{$this->_license->id}.json?license_key=" .
|
8528 |
urlencode( $this->_license->secret_key ) );
|
8529 |
|
8530 |
+
if ( $this->is_api_result_entity( $license ) ) {
|
8531 |
$result[] = new FS_Plugin_License( $license );
|
8532 |
+
} else {
|
8533 |
+
$api_errors[] = $license;
|
8534 |
}
|
8535 |
}
|
8536 |
}
|
8537 |
|
8538 |
+
if ( is_array( $result ) && 0 < count( $result ) ) {
|
8539 |
+
// If found at least one license, return license collection even if there are errors.
|
8540 |
+
return $result;
|
8541 |
+
}
|
8542 |
+
|
8543 |
+
if ( ! empty( $api_errors ) ) {
|
8544 |
+
// If found any errors and no licenses, return first error.
|
8545 |
+
return $api_errors[0];
|
8546 |
+
}
|
8547 |
+
|
8548 |
+
// Fallback to empty licenses list.
|
8549 |
return $result;
|
8550 |
}
|
8551 |
|
8579 |
return $result;
|
8580 |
}
|
8581 |
|
8582 |
+
/**
|
8583 |
+
* @author Vova Feldman (@svovaf)
|
8584 |
+
* @since 1.2.1.5
|
8585 |
+
* @uses FS_Api
|
8586 |
+
*
|
8587 |
+
* @return \FS_Billing|mixed
|
8588 |
+
*/
|
8589 |
+
function _fetch_billing() {
|
8590 |
+
require_once WP_FS__DIR_INCLUDES . '/entities/class-fs-billing.php';
|
8591 |
+
|
8592 |
+
$billing = $this->get_api_user_scope()->call( 'billing.json' );
|
8593 |
+
|
8594 |
+
if ( $this->is_api_result_entity( $billing ) ) {
|
8595 |
+
$billing = new FS_Billing( $billing );
|
8596 |
+
}
|
8597 |
+
|
8598 |
+
return $billing;
|
8599 |
+
}
|
8600 |
+
|
8601 |
/**
|
8602 |
* @author Vova Feldman (@svovaf)
|
8603 |
* @since 1.0.4
|
8812 |
$licenses = $this->_fetch_licenses( $addon->id );
|
8813 |
|
8814 |
// Sync add-on licenses.
|
8815 |
+
if ( $this->is_array_instanceof( $licenses, 'FS_Plugin_License' ) ) {
|
8816 |
$this->_update_licenses( $licenses, $addon->slug );
|
8817 |
|
8818 |
if ( ! $this->is_addon_installed( $addon->slug ) && FS_License_Manager::has_premium_license( $licenses ) ) {
|
8871 |
|
8872 |
$plan_change = 'none';
|
8873 |
|
8874 |
+
if ( ! $this->is_api_result_entity( $site ) ) {
|
8875 |
// Show API messages only if not background sync or if paying customer.
|
8876 |
if ( ! $background || $this->is_paying() ) {
|
8877 |
// Try to ping API to see if not blocked.
|
9188 |
$api = $this->get_api_site_scope();
|
9189 |
$license = $api->call( "/licenses/{$premium_license->id}.json", 'put', $api_request_params );
|
9190 |
|
9191 |
+
if ( ! $this->is_api_result_entity( $license ) ) {
|
9192 |
if ( ! $background ) {
|
9193 |
$this->_admin_notices->add( sprintf(
|
9194 |
+
'%s %s',
|
9195 |
+
__fs( 'license-activation-failed-message', $this->_slug ),
|
9196 |
+
( is_object( $license ) && isset( $license->error ) ?
|
9197 |
+
$license->error->message :
|
9198 |
+
sprintf( '%s<br><code>%s</code>',
|
9199 |
+
__fs( 'server-error-message', $this->_slug ),
|
9200 |
+
var_export( $license, true )
|
|
|
9201 |
)
|
9202 |
+
)
|
9203 |
+
),
|
9204 |
__fs( 'hmm', $this->_slug ) . '...',
|
9205 |
'error'
|
9206 |
);
|
9213 |
|
9214 |
// Updated site plan.
|
9215 |
$site = $this->get_api_site_scope()->get( '/', true );
|
9216 |
+
if ( $this->is_api_result_entity( $site ) ) {
|
9217 |
$this->_site = new FS_Site( $site );
|
9218 |
}
|
9219 |
$this->_update_site_license( $premium_license );
|
9313 |
|
9314 |
$plan_downgraded = false;
|
9315 |
$plan = false;
|
9316 |
+
if ( $this->is_api_result_entity( $site ) ) {
|
9317 |
$prev_plan_id = $this->_site->plan->id;
|
9318 |
|
9319 |
// Update new site plan id.
|
9429 |
$api = $this->get_api_site_scope();
|
9430 |
$plan = $api->call( "plans/{$plan->id}/trials.json", 'post' );
|
9431 |
|
9432 |
+
if ( ! $this->is_api_result_entity( $plan ) ) {
|
9433 |
// Some API error while trying to start the trial.
|
9434 |
$this->_admin_notices->add(
|
9435 |
__fs( 'unexpected-api-error', $this->_slug ) . ' ' . var_export( $plan, true ),
|
9472 |
|
9473 |
$trial_cancelled = false;
|
9474 |
|
9475 |
+
if ( $this->is_api_result_entity( $site ) ) {
|
9476 |
$prev_trial_ends = $this->_site->trial_ends;
|
9477 |
|
9478 |
if ( $this->is_paid_trial() ) {
|
9506 |
// Store site updates.
|
9507 |
$this->_store_site();
|
9508 |
|
|
|
|
|
|
|
9509 |
if ( ! $this->is_addon() ||
|
9510 |
! $this->deactivate_premium_only_addon_without_license( true )
|
9511 |
) {
|
9513 |
sprintf( __fs( 'trial-cancel-message', $this->_slug ), $this->_storage->trial_plan->title )
|
9514 |
);
|
9515 |
}
|
9516 |
+
|
9517 |
+
// Clear trial plan information.
|
9518 |
+
unset( $this->_storage->trial_plan );
|
9519 |
} else {
|
9520 |
$this->_admin_notices->add(
|
9521 |
__fs( 'trial-cancel-failure-message', $this->_slug ),
|
9612 |
return ( is_object( $tag ) && isset( $tag->version ) ) ? $tag : false;
|
9613 |
}
|
9614 |
|
9615 |
+
#----------------------------------------------------------------------------------
|
9616 |
+
#region Download Plugin
|
9617 |
+
#----------------------------------------------------------------------------------
|
9618 |
|
9619 |
/**
|
9620 |
* Download latest plugin version, based on plan.
|
9790 |
$result = $api->get( '/addons.json?enriched=true', $flush );
|
9791 |
|
9792 |
$addons = array();
|
9793 |
+
if ( $this->is_api_result_object( $result, 'plugins' ) &&
|
9794 |
+
is_array( $result->plugins )
|
9795 |
+
) {
|
9796 |
for ( $i = 0, $len = count( $result->plugins ); $i < $len; $i ++ ) {
|
9797 |
$addons[ $i ] = new FS_Plugin( $result->plugins[ $i ] );
|
9798 |
}
|
9839 |
return $user;
|
9840 |
}
|
9841 |
|
9842 |
+
#----------------------------------------------------------------------------------
|
9843 |
+
#region API Error Handling
|
9844 |
+
#----------------------------------------------------------------------------------
|
9845 |
+
|
9846 |
/**
|
9847 |
* @author Vova Feldman (@svovaf)
|
9848 |
* @since 1.1.1
|
9852 |
* @return bool Is API result contains an error.
|
9853 |
*/
|
9854 |
private function is_api_error( $result ) {
|
9855 |
+
return FS_Api::is_api_error( $result );
|
9856 |
+
}
|
9857 |
+
|
9858 |
+
/**
|
9859 |
+
* Checks if given API result is a non-empty and not an error object.
|
9860 |
+
*
|
9861 |
+
* @author Vova Feldman (@svovaf)
|
9862 |
+
* @since 1.2.1.5
|
9863 |
+
*
|
9864 |
+
* @param mixed $result
|
9865 |
+
* @param string|null $required_property Optional property we want to verify that is set.
|
9866 |
+
*
|
9867 |
+
* @return bool
|
9868 |
+
*/
|
9869 |
+
function is_api_result_object( $result, $required_property = null ) {
|
9870 |
+
return FS_Api::is_api_result_object( $result, $required_property );
|
9871 |
+
}
|
9872 |
+
|
9873 |
+
/**
|
9874 |
+
* Checks if given API result is a non-empty entity object with non-empty ID.
|
9875 |
+
*
|
9876 |
+
* @author Vova Feldman (@svovaf)
|
9877 |
+
* @since 1.2.1.5
|
9878 |
+
*
|
9879 |
+
* @param mixed $result
|
9880 |
+
*
|
9881 |
+
* @return bool
|
9882 |
+
*/
|
9883 |
+
private function is_api_result_entity( $result ) {
|
9884 |
+
return FS_Api::is_api_result_entity( $result );
|
9885 |
+
}
|
9886 |
+
|
9887 |
+
#endregion
|
9888 |
+
|
9889 |
+
/**
|
9890 |
+
* Make sure a given argument is an array of a specific type.
|
9891 |
+
*
|
9892 |
+
* @author Vova Feldman (@svovaf)
|
9893 |
+
* @since 1.2.1.5
|
9894 |
+
*
|
9895 |
+
* @param mixed $array
|
9896 |
+
* @param string $class
|
9897 |
+
*
|
9898 |
+
* @return bool
|
9899 |
+
*/
|
9900 |
+
private function is_array_instanceof( $array, $class ) {
|
9901 |
+
return ( is_array( $array ) && ( empty( $array ) || $array[0] instanceof $class ) );
|
9902 |
}
|
9903 |
|
9904 |
/**
|
10040 |
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
10041 |
}
|
10042 |
|
10043 |
+
/**
|
10044 |
+
* @author Vova Feldman (@svovaf)
|
10045 |
+
* @since 1.2.1.5
|
10046 |
+
*
|
10047 |
+
* @param array $params
|
10048 |
+
*
|
10049 |
+
* @return string
|
10050 |
+
*/
|
10051 |
+
function get_reconnect_url( $params = array() ) {
|
10052 |
+
$params['fs_action'] = 'reset_anonymous_mode';
|
10053 |
+
$params['fs_slug'] = $this->_slug;
|
10054 |
+
|
10055 |
+
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
10056 |
+
}
|
10057 |
+
|
10058 |
/**
|
10059 |
* Get the URL of the page that should be loaded after the user connect or skip in the opt-in screen.
|
10060 |
*
|
10065 |
*
|
10066 |
* @return string
|
10067 |
*/
|
10068 |
+
function get_after_activation_url( $filter ) {
|
10069 |
$first_time_path = $this->_menu->get_first_time_path();
|
10070 |
|
10071 |
return $this->apply_filters(
|
10102 |
$this->_site = null;
|
10103 |
$this->_user = null;
|
10104 |
|
10105 |
+
fs_redirect( $this->get_activation_url() );
|
|
|
|
|
10106 |
} else {
|
10107 |
if ( $this->is_addon_activated( $plugin_id ) ) {
|
10108 |
$fs_addon = self::get_instance_by_id( $plugin_id );
|
10109 |
$fs_addon->delete_account_event();
|
10110 |
|
10111 |
+
fs_redirect( $this->_get_admin_page_url( 'account' ) );
|
|
|
|
|
10112 |
}
|
10113 |
}
|
10114 |
|
10116 |
|
10117 |
case 'downgrade_account':
|
10118 |
check_admin_referer( $action );
|
10119 |
+
|
10120 |
+
if ( $plugin_id == $this->get_id() ) {
|
10121 |
+
$this->_downgrade_site();
|
10122 |
+
} else if ( $this->is_addon_activated( $plugin_id ) ) {
|
10123 |
+
$fs_addon = self::get_instance_by_id( $plugin_id );
|
10124 |
+
$fs_addon->_downgrade_site();
|
10125 |
+
}
|
10126 |
|
10127 |
return;
|
10128 |
|
10330 |
|
10331 |
if ( $this->has_paid_plan() &&
|
10332 |
! $this->has_any_license() &&
|
10333 |
+
! $this->is_sync_executed() &&
|
10334 |
+
$this->is_tracking_allowed()
|
10335 |
) {
|
10336 |
/**
|
10337 |
* If no licenses found and no sync job was executed during the last 24 hours,
|
10441 |
}
|
10442 |
}
|
10443 |
|
10444 |
+
#----------------------------------------------------------------------------------
|
10445 |
+
#region Contact Us
|
10446 |
+
#----------------------------------------------------------------------------------
|
10447 |
|
10448 |
/**
|
10449 |
* Render contact-us page.
|
10458 |
fs_require_once_template( 'contact.php', $vars );
|
10459 |
}
|
10460 |
|
10461 |
+
#endregion ------------------------------------------------------------------------
|
10462 |
|
10463 |
/**
|
10464 |
* Hide all admin notices to prevent distractions.
|
10606 |
$this->_storage->has_trial_plan = FS_Plan_Manager::instance()->has_trial_plan( $plans );
|
10607 |
}
|
10608 |
|
10609 |
+
/**
|
10610 |
+
* During trial promotion the "upgrade" submenu item turns to
|
10611 |
+
* "start trial" to encourage the trial. Since we want to keep
|
10612 |
+
* the same menu item handler and there's no robust way to
|
10613 |
+
* add new arguments to the menu item link's querystring,
|
10614 |
+
* use JavaScript to find the menu item and update the href of
|
10615 |
+
* the link.
|
10616 |
+
*
|
10617 |
+
* @author Vova Feldman (@svovaf)
|
10618 |
+
* @since 1.2.1.5
|
10619 |
+
*/
|
10620 |
+
function _fix_start_trial_menu_item_url() {
|
10621 |
+
$template_args = array( 'slug' => $this->_slug );
|
10622 |
+
fs_require_template( 'add-trial-to-pricing.php', $template_args );
|
10623 |
+
}
|
10624 |
+
|
10625 |
/**
|
10626 |
* Show trial promotional notice (if any trial exist).
|
10627 |
*
|
10628 |
* @author Vova Feldman (@svovaf)
|
10629 |
* @since 1.0.9
|
10630 |
+
*
|
10631 |
+
* @return bool If trial notice added.
|
10632 |
*/
|
10633 |
function _add_trial_notice() {
|
10634 |
+
if ( ! current_user_can( 'activate_plugins' ) ) {
|
10635 |
+
return false;
|
|
|
10636 |
}
|
10637 |
|
10638 |
+
if ( ! $this->is_user_in_admin() ) {
|
10639 |
+
return false;
|
|
|
10640 |
}
|
10641 |
|
10642 |
// Check if trial message is already shown.
|
10643 |
if ( $this->_admin_notices->has_sticky( 'trial_promotion' ) ) {
|
10644 |
+
add_action( 'admin_footer', array( &$this, '_fix_start_trial_menu_item_url' ) );
|
10645 |
+
|
10646 |
+
$this->_menu->add_counter_to_menu_item( 1, 'fs-trial' );
|
10647 |
+
|
10648 |
+
return false;
|
10649 |
}
|
10650 |
|
10651 |
+
if ( $this->is_premium() && ! WP_FS__DEV_MODE ) {
|
10652 |
+
// Don't show trial if running the premium code, unless running in DEV mode.
|
10653 |
+
return false;
|
10654 |
+
}
|
10655 |
|
10656 |
+
if ( ! $this->has_trial_plan() ) {
|
10657 |
+
// No plans with trial.
|
10658 |
+
return false;
|
10659 |
}
|
10660 |
|
10661 |
+
if ( ! $this->apply_filters( 'show_trial', true ) ) {
|
10662 |
+
// Developer explicitly asked not to show the trial promo.
|
10663 |
+
return false;
|
10664 |
+
}
|
10665 |
+
|
10666 |
+
if ( $this->is_registered() ) {
|
10667 |
+
// Check if trial already utilized.
|
10668 |
+
if ( $this->_site->is_trial_utilized() ) {
|
10669 |
+
return false;
|
10670 |
+
}
|
10671 |
|
10672 |
+
if ( $this->is_paying_or_trial() ) {
|
10673 |
+
// Don't show trial if paying or already in trial.
|
10674 |
+
return false;
|
10675 |
+
}
|
10676 |
+
}
|
10677 |
|
10678 |
+
if ( $this->is_activation_mode() || $this->is_pending_activation() ) {
|
10679 |
+
// If not yet opted-in/skipped, or pending activation, don't show trial.
|
10680 |
+
return false;
|
10681 |
+
}
|
10682 |
|
10683 |
+
$last_time_trial_promotion_shown = $this->_storage->get( 'trial_promotion_shown', false );
|
10684 |
+
$was_promotion_shown_before = ( false !== $last_time_trial_promotion_shown );
|
10685 |
+
|
10686 |
+
// Show promotion if never shown before and 24 hours after initial activation with FS.
|
10687 |
+
if ( ! $was_promotion_shown_before &&
|
10688 |
+
$this->_storage->install_timestamp > ( time() - WP_FS__TIME_24_HOURS_IN_SEC )
|
10689 |
+
) {
|
10690 |
+
return false;
|
10691 |
+
}
|
10692 |
+
|
10693 |
+
// OR if promotion was shown before, try showing it every 30 days.
|
10694 |
+
if ( $was_promotion_shown_before &&
|
10695 |
+
30 * WP_FS__TIME_24_HOURS_IN_SEC > time() - $last_time_trial_promotion_shown
|
10696 |
+
) {
|
10697 |
+
return false;
|
10698 |
+
}
|
10699 |
+
|
10700 |
+
$trial_period = $this->_trial_days;
|
10701 |
+
$require_payment = $this->_is_trial_require_payment;
|
10702 |
+
$trial_url = $this->get_trial_url();
|
10703 |
+
$plans_string = strtolower( __fs( 'awesome', $this->_slug ) );
|
10704 |
+
|
10705 |
+
if ( $this->is_registered() ) {
|
10706 |
+
// If opted-in, override trial with up to date data from API.
|
10707 |
+
$trial_plans = FS_Plan_Manager::instance()->get_trial_plans( $this->_plans );
|
10708 |
+
$trial_plans_count = count( $trial_plans );
|
10709 |
+
|
10710 |
+
if ( 0 === $trial_plans_count ) {
|
10711 |
+
// If there's no plans with a trial just exit.
|
10712 |
+
return false;
|
10713 |
}
|
10714 |
|
10715 |
+
/**
|
10716 |
+
* @var FS_Plugin_Plan $paid_plan
|
10717 |
+
*/
|
10718 |
+
$paid_plan = $trial_plans[0];
|
10719 |
+
$require_payment = $paid_plan->is_require_subscription;
|
10720 |
+
$trial_period = $paid_plan->trial_period;
|
10721 |
+
|
10722 |
+
$total_paid_plans = count( $this->_plans ) - ( FS_Plan_Manager::instance()->has_free_plan( $this->_plans ) ? 1 : 0 );
|
10723 |
+
|
10724 |
+
if ( $total_paid_plans !== $trial_plans_count ) {
|
10725 |
+
// Not all paid plans have a trial - generate a string of those that have it.
|
10726 |
+
for ( $i = 0; $i < $trial_plans_count; $i ++ ) {
|
10727 |
+
$plans_string .= sprintf(
|
10728 |
+
'<a href="%s">%s</a>',
|
10729 |
+
$trial_url,
|
10730 |
+
$trial_plans[ $i ]->title
|
10731 |
+
);
|
10732 |
+
|
10733 |
+
if ( $i < $trial_plans_count - 2 ) {
|
10734 |
+
$plans_string .= ', ';
|
10735 |
+
} else if ( $i == $trial_plans_count - 2 ) {
|
10736 |
+
$plans_string .= ' and ';
|
10737 |
+
}
|
10738 |
+
}
|
10739 |
+
}
|
10740 |
}
|
10741 |
|
10742 |
+
$message = sprintf(
|
10743 |
+
__fs( 'hey', $this->_slug ) . '! ' . __fs( 'trial-x-promotion-message', $this->_slug ),
|
10744 |
+
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
10745 |
+
$plans_string,
|
10746 |
+
$trial_period
|
10747 |
+
);
|
10748 |
+
|
10749 |
+
// "No Credit-Card Required" or "No Commitment for N Days".
|
10750 |
+
$cc_string = $require_payment ?
|
10751 |
+
sprintf( __fs( 'no-commitment-for-x-days', $this->_slug ), $trial_period ) :
|
10752 |
+
__fs( 'no-cc-required', $this->_slug ) . '!';
|
10753 |
|
10754 |
+
|
10755 |
+
// Start trial button.
|
10756 |
+
$button = ' ' . sprintf(
|
10757 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
10758 |
+
$trial_url,
|
10759 |
__fs( 'start-free-trial', $this->_slug )
|
10760 |
);
|
10761 |
|
10762 |
$this->_admin_notices->add_sticky(
|
10763 |
+
$this->apply_filters( 'trial_promotion_message', "{$message} {$cc_string} {$button}" ),
|
10764 |
'trial_promotion',
|
10765 |
'',
|
10766 |
'promotion'
|
10767 |
);
|
10768 |
|
10769 |
$this->_storage->trial_promotion_shown = WP_FS__SCRIPT_START_TIME;
|
10770 |
+
|
10771 |
+
return true;
|
10772 |
+
}
|
10773 |
+
|
10774 |
+
/**
|
10775 |
+
* @author Vova Feldman (@svovaf)
|
10776 |
+
* @since 1.2.1.5
|
10777 |
+
*/
|
10778 |
+
function _enqueue_common_css() {
|
10779 |
+
if ( $this->has_paid_plan() && ! $this->is_paying() ) {
|
10780 |
+
// Add basic CSS for admin-notices and menu-item colors.
|
10781 |
+
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
10782 |
+
}
|
10783 |
}
|
10784 |
|
10785 |
/* Action Links
|
10887 |
return;
|
10888 |
}
|
10889 |
|
10890 |
+
if ( ! $this->is_ajax() ) {
|
10891 |
+
// Inject license activation dialog UI and client side code.
|
10892 |
+
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
10893 |
+
}
|
10894 |
+
|
10895 |
$link_text = __fs(
|
10896 |
$this->is_free_plan() ? 'activate-license' : 'change-license',
|
10897 |
$this->_slug
|
10906 |
);
|
10907 |
}
|
10908 |
|
10909 |
+
/**
|
10910 |
+
* Adds "Opt in" or "Opt out" link to the main "Plugins" page link actions collection.
|
10911 |
+
*
|
10912 |
+
* @author Leo Fajardo (@leorw)
|
10913 |
+
* @since 1.2.1.5
|
10914 |
+
*/
|
10915 |
+
function _add_tracking_links() {
|
10916 |
+
if ( ! current_user_can( 'activate_plugins' ) ) {
|
10917 |
+
return;
|
10918 |
+
}
|
10919 |
+
|
10920 |
+
$this->_logger->entrance();
|
10921 |
+
|
10922 |
+
if ( ! $this->is_enable_anonymous() ) {
|
10923 |
+
// Don't allow to opt-out if anonymous mode is disabled.
|
10924 |
+
return;
|
10925 |
+
}
|
10926 |
+
|
10927 |
+
if ( ! $this->is_free_plan() ) {
|
10928 |
+
// Don't allow to opt-out if running in paid plan.
|
10929 |
+
return;
|
10930 |
+
}
|
10931 |
+
|
10932 |
+
if ( $this->add_ajax_action( 'stop_tracking', array( &$this, '_stop_tracking_callback' ) ) ) {
|
10933 |
+
return;
|
10934 |
+
}
|
10935 |
+
|
10936 |
+
if ( $this->add_ajax_action( 'allow_tracking', array( &$this, '_allow_tracking_callback' ) ) ) {
|
10937 |
+
return;
|
10938 |
+
}
|
10939 |
+
|
10940 |
+
if ( fs_request_is_action_secure( $this->_slug . '_reconnect' ) ) {
|
10941 |
+
if ( ! $this->is_registered() && $this->is_anonymous() ) {
|
10942 |
+
$this->connect_again();
|
10943 |
+
|
10944 |
+
return;
|
10945 |
+
}
|
10946 |
+
}
|
10947 |
+
|
10948 |
+
$url = '#';
|
10949 |
+
|
10950 |
+
if ( $this->is_registered() ) {
|
10951 |
+
if ( $this->is_tracking_allowed() ) {
|
10952 |
+
$link_text_id = 'opt-out';
|
10953 |
+
} else {
|
10954 |
+
$link_text_id = 'opt-in';
|
10955 |
+
}
|
10956 |
+
|
10957 |
+
add_action( 'admin_footer', array( &$this, '_add_optout_dialog' ) );
|
10958 |
+
} else {
|
10959 |
+
$link_text_id = 'opt-in';
|
10960 |
+
|
10961 |
+
$params = ! $this->is_anonymous() ?
|
10962 |
+
array() :
|
10963 |
+
array(
|
10964 |
+
'nonce' => wp_create_nonce( $this->_slug . '_reconnect' ),
|
10965 |
+
'fs_action' => ( $this->_slug . '_reconnect' ),
|
10966 |
+
);
|
10967 |
+
|
10968 |
+
$url = $this->get_activation_url( $params );
|
10969 |
+
}
|
10970 |
+
|
10971 |
+
$this->add_plugin_action_link(
|
10972 |
+
__fs( $link_text_id, $this->_slug ),
|
10973 |
+
$url,
|
10974 |
+
false,
|
10975 |
+
13,
|
10976 |
+
"opt-in-or-opt-out {$this->_slug}"
|
10977 |
+
);
|
10978 |
+
}
|
10979 |
+
|
10980 |
/**
|
10981 |
* Get the URL of the page that should be loaded right after the plugin activation.
|
10982 |
*
|
11027 |
|
11028 |
if ( is_string( $url ) ) {
|
11029 |
fs_redirect( $url );
|
|
|
11030 |
}
|
11031 |
}
|
11032 |
|
11138 |
$plan_title = $this->_site->plan->title;
|
11139 |
}
|
11140 |
|
11141 |
+
// @since 1.2.1.5 The free version is auto deactivated.
|
11142 |
+
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
11143 |
+
( '<li>' . __fs( 'deactivate-free-version', $this->_slug ) . '.</li>' ) :
|
11144 |
+
'';
|
11145 |
+
|
11146 |
return sprintf(
|
11147 |
+
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
11148 |
__fs( 'follow-steps-to-complete-upgrade', $this->_slug ),
|
11149 |
$this->_get_latest_download_link( sprintf(
|
11150 |
__fs( 'download-latest-x-version', $this->_slug ),
|
11151 |
$plan_title
|
11152 |
) ),
|
11153 |
+
$deactivation_step,
|
11154 |
__fs( 'upload-and-activate', $this->_slug ),
|
11155 |
'//bit.ly/upload-wp-plugin',
|
11156 |
__fs( 'howto-upload-activate', $this->_slug )
|
11208 |
return $update;
|
11209 |
}
|
11210 |
|
11211 |
+
#----------------------------------------------------------------------------------
|
11212 |
+
#region Versioning
|
11213 |
+
#----------------------------------------------------------------------------------
|
11214 |
|
11215 |
/**
|
11216 |
* Check if Freemius in SDK upgrade mode.
|
11231 |
*
|
11232 |
* @author Vova Feldman (@svovaf)
|
11233 |
* @since 1.0.9
|
|
|
|
|
11234 |
*/
|
11235 |
function set_sdk_upgrade_complete() {
|
11236 |
$this->_storage->sdk_upgrade_mode = false;
|
11262 |
$this->_storage->plugin_upgrade_mode = false;
|
11263 |
}
|
11264 |
|
11265 |
+
#endregion
|
11266 |
|
11267 |
+
#----------------------------------------------------------------------------------
|
11268 |
+
#region Permissions
|
11269 |
+
#----------------------------------------------------------------------------------
|
11270 |
|
11271 |
/**
|
11272 |
* Check if specific permission requested.
|
11282 |
return isset( $this->_permissions[ $permission ] ) && ( true === $this->_permissions[ $permission ] );
|
11283 |
}
|
11284 |
|
11285 |
+
#endregion
|
11286 |
|
11287 |
+
#----------------------------------------------------------------------------------
|
11288 |
+
#region Marketing
|
11289 |
+
#----------------------------------------------------------------------------------
|
11290 |
|
11291 |
/**
|
11292 |
* Check if current user purchased any other plugins before.
|
11298 |
*/
|
11299 |
function has_purchased_before() {
|
11300 |
// TODO: Implement has_purchased_before() method.
|
11301 |
+
throw new Exception( 'not implemented' );
|
11302 |
}
|
11303 |
|
11304 |
/**
|
11311 |
*/
|
11312 |
function is_agency() {
|
11313 |
// TODO: Implement is_agency() method.
|
11314 |
+
throw new Exception( 'not implemented' );
|
11315 |
}
|
11316 |
|
11317 |
/**
|
11324 |
*/
|
11325 |
function is_developer() {
|
11326 |
// TODO: Implement is_developer() method.
|
11327 |
+
throw new Exception( 'not implemented' );
|
11328 |
}
|
11329 |
|
11330 |
/**
|
11337 |
*/
|
11338 |
function is_business() {
|
11339 |
// TODO: Implement is_business() method.
|
11340 |
+
throw new Exception( 'not implemented' );
|
11341 |
}
|
11342 |
|
11343 |
+
#endregion
|
11344 |
+
}
|
freemius/includes/class-fs-api.php
CHANGED
@@ -180,9 +180,9 @@
|
|
180 |
}
|
181 |
}
|
182 |
|
183 |
-
if (
|
184 |
// Log API errors.
|
185 |
-
$this->_logger->
|
186 |
}
|
187 |
|
188 |
return $result;
|
@@ -243,6 +243,10 @@
|
|
243 |
// If there was an error during a newer data fetch,
|
244 |
// fallback to older data version.
|
245 |
$result = $cached_result;
|
|
|
|
|
|
|
|
|
246 |
} else {
|
247 |
// If no older data version, return result without
|
248 |
// caching the error.
|
@@ -253,6 +257,8 @@
|
|
253 |
self::$_cache->set( $cache_key, $result, $expiration );
|
254 |
|
255 |
$cached_result = $result;
|
|
|
|
|
256 |
}
|
257 |
|
258 |
return $cached_result;
|
@@ -270,13 +276,30 @@
|
|
270 |
*
|
271 |
* @return bool
|
272 |
*/
|
273 |
-
function is_cached( $path, $method = 'GET', $params = array() )
|
274 |
-
{
|
275 |
$cache_key = $this->get_cache_key( $path, $method, $params );
|
276 |
|
277 |
return self::$_cache->has_valid( $cache_key );
|
278 |
}
|
279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
/**
|
281 |
* @param string $path
|
282 |
* @param string $method
|
@@ -289,7 +312,7 @@
|
|
289 |
$canonized = $this->_api->CanonizePath( $path );
|
290 |
// $exploded = explode('/', $canonized);
|
291 |
// return $method . '_' . array_pop($exploded) . '_' . md5($canonized . json_encode($params));
|
292 |
-
return strtolower($method . ':' . $canonized) . ( ! empty( $params ) ? '#' . md5( json_encode( $params ) ) : '' );
|
293 |
}
|
294 |
|
295 |
/**
|
@@ -361,7 +384,7 @@
|
|
361 |
*/
|
362 |
private function get_temporary_unavailable_error() {
|
363 |
return (object) array(
|
364 |
-
'error' => array(
|
365 |
'type' => 'TemporaryUnavailable',
|
366 |
'message' => 'API is temporary unavailable, please retry in ' . ( self::$_cache->get_record_expiration( 'ping_test' ) - WP_FS__SCRIPT_START_TIME ) . ' sec.',
|
367 |
'code' => 'temporary_unavailable',
|
@@ -477,6 +500,59 @@
|
|
477 |
self::_init();
|
478 |
|
479 |
self::$_cache = FS_Cache_Manager::get_manager( WP_FS__API_CACHE_OPTION_NAME );
|
480 |
-
self::$_cache->clear(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
482 |
}
|
180 |
}
|
181 |
}
|
182 |
|
183 |
+
if ( $this->_logger->is_on() && self::is_api_error( $result ) ) {
|
184 |
// Log API errors.
|
185 |
+
$this->_logger->api_error( $result );
|
186 |
}
|
187 |
|
188 |
return $result;
|
243 |
// If there was an error during a newer data fetch,
|
244 |
// fallback to older data version.
|
245 |
$result = $cached_result;
|
246 |
+
|
247 |
+
if ( $this->_logger->is_on() ) {
|
248 |
+
$this->_logger->warn( 'Fallback to cached API result: ' . var_export( $cached_result, true ) );
|
249 |
+
}
|
250 |
} else {
|
251 |
// If no older data version, return result without
|
252 |
// caching the error.
|
257 |
self::$_cache->set( $cache_key, $result, $expiration );
|
258 |
|
259 |
$cached_result = $result;
|
260 |
+
} else {
|
261 |
+
$this->_logger->log( 'Using cached API result.' );
|
262 |
}
|
263 |
|
264 |
return $cached_result;
|
276 |
*
|
277 |
* @return bool
|
278 |
*/
|
279 |
+
function is_cached( $path, $method = 'GET', $params = array() ) {
|
|
|
280 |
$cache_key = $this->get_cache_key( $path, $method, $params );
|
281 |
|
282 |
return self::$_cache->has_valid( $cache_key );
|
283 |
}
|
284 |
|
285 |
+
/**
|
286 |
+
* Invalidate a cached version of the API request.
|
287 |
+
*
|
288 |
+
* @author Vova Feldman (@svovaf)
|
289 |
+
* @since 1.2.1.5
|
290 |
+
*
|
291 |
+
* @param string $path
|
292 |
+
* @param string $method
|
293 |
+
* @param array $params
|
294 |
+
*/
|
295 |
+
function purge_cache( $path, $method = 'GET', $params = array() ) {
|
296 |
+
$this->_logger->entrance( "{$method}:{$path}" );
|
297 |
+
|
298 |
+
$cache_key = $this->get_cache_key( $path, $method, $params );
|
299 |
+
|
300 |
+
self::$_cache->purge( $cache_key );
|
301 |
+
}
|
302 |
+
|
303 |
/**
|
304 |
* @param string $path
|
305 |
* @param string $method
|
312 |
$canonized = $this->_api->CanonizePath( $path );
|
313 |
// $exploded = explode('/', $canonized);
|
314 |
// return $method . '_' . array_pop($exploded) . '_' . md5($canonized . json_encode($params));
|
315 |
+
return strtolower( $method . ':' . $canonized ) . ( ! empty( $params ) ? '#' . md5( json_encode( $params ) ) : '' );
|
316 |
}
|
317 |
|
318 |
/**
|
384 |
*/
|
385 |
private function get_temporary_unavailable_error() {
|
386 |
return (object) array(
|
387 |
+
'error' => (object) array(
|
388 |
'type' => 'TemporaryUnavailable',
|
389 |
'message' => 'API is temporary unavailable, please retry in ' . ( self::$_cache->get_record_expiration( 'ping_test' ) - WP_FS__SCRIPT_START_TIME ) . ' sec.',
|
390 |
'code' => 'temporary_unavailable',
|
500 |
self::_init();
|
501 |
|
502 |
self::$_cache = FS_Cache_Manager::get_manager( WP_FS__API_CACHE_OPTION_NAME );
|
503 |
+
self::$_cache->clear();
|
504 |
+
}
|
505 |
+
|
506 |
+
#----------------------------------------------------------------------------------
|
507 |
+
#region Error Handling
|
508 |
+
#----------------------------------------------------------------------------------
|
509 |
+
|
510 |
+
/**
|
511 |
+
* @author Vova Feldman (@svovaf)
|
512 |
+
* @since 1.2.1.5
|
513 |
+
*
|
514 |
+
* @param mixed $result
|
515 |
+
*
|
516 |
+
* @return bool Is API result contains an error.
|
517 |
+
*/
|
518 |
+
static function is_api_error( $result ) {
|
519 |
+
return ( is_object( $result ) && isset( $result->error ) ) ||
|
520 |
+
is_string( $result );
|
521 |
+
}
|
522 |
+
|
523 |
+
/**
|
524 |
+
* Checks if given API result is a non-empty and not an error object.
|
525 |
+
*
|
526 |
+
* @author Vova Feldman (@svovaf)
|
527 |
+
* @since 1.2.1.5
|
528 |
+
*
|
529 |
+
* @param mixed $result
|
530 |
+
* @param string|null $required_property Optional property we want to verify that is set.
|
531 |
+
*
|
532 |
+
* @return bool
|
533 |
+
*/
|
534 |
+
static function is_api_result_object( $result, $required_property = null ) {
|
535 |
+
return (
|
536 |
+
is_object( $result ) &&
|
537 |
+
! isset( $result->error ) &&
|
538 |
+
( empty( $required_property ) || isset( $result->{$required_property} ) )
|
539 |
+
);
|
540 |
}
|
541 |
+
|
542 |
+
/**
|
543 |
+
* Checks if given API result is a non-empty entity object with non-empty ID.
|
544 |
+
*
|
545 |
+
* @author Vova Feldman (@svovaf)
|
546 |
+
* @since 1.2.1.5
|
547 |
+
*
|
548 |
+
* @param mixed $result
|
549 |
+
*
|
550 |
+
* @return bool
|
551 |
+
*/
|
552 |
+
static function is_api_result_entity( $result ) {
|
553 |
+
return self::is_api_result_object( $result, 'id' ) &&
|
554 |
+
FS_Entity::is_valid_id( $result->id );
|
555 |
+
}
|
556 |
+
|
557 |
+
#endregion
|
558 |
}
|
freemius/includes/class-fs-logger.php
CHANGED
@@ -138,6 +138,32 @@
|
|
138 |
$this->_log( $message, 'error', $wrapper );
|
139 |
}
|
140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
function entrance( $message = '', $wrapper = false ) {
|
142 |
$msg = 'Entrance' . ( empty( $message ) ? '' : ' > ' ) . $message;
|
143 |
|
@@ -155,7 +181,7 @@
|
|
155 |
}
|
156 |
|
157 |
private static function format_html( $log ) {
|
158 |
-
return '<div style="font-size:
|
159 |
}
|
160 |
|
161 |
static function dump() {
|
138 |
$this->_log( $message, 'error', $wrapper );
|
139 |
}
|
140 |
|
141 |
+
/**
|
142 |
+
* Log API error.
|
143 |
+
*
|
144 |
+
* @author Vova Feldman (@svovaf)
|
145 |
+
* @since 1.2.1.5
|
146 |
+
*
|
147 |
+
* @param mixed $api_result
|
148 |
+
* @param bool $wrapper
|
149 |
+
*/
|
150 |
+
function api_error( $api_result, $wrapper = false ) {
|
151 |
+
$message = '';
|
152 |
+
if ( is_object( $api_result ) && isset( $api_result->error ) ) {
|
153 |
+
$message = $api_result->error->message;
|
154 |
+
} else if ( is_object( $api_result ) ) {
|
155 |
+
$message = var_export( $api_result, true );
|
156 |
+
} else if ( is_string( $api_result ) ) {
|
157 |
+
$message = $api_result;
|
158 |
+
} else if ( empty( $api_result ) ) {
|
159 |
+
$message = 'Empty API result.';
|
160 |
+
}
|
161 |
+
|
162 |
+
$message = 'API Error: ' . $message;
|
163 |
+
|
164 |
+
$this->_log( $message, 'error', $wrapper );
|
165 |
+
}
|
166 |
+
|
167 |
function entrance( $message = '', $wrapper = false ) {
|
168 |
$msg = 'Entrance' . ( empty( $message ) ? '' : ' > ' ) . $message;
|
169 |
|
181 |
}
|
182 |
|
183 |
private static function format_html( $log ) {
|
184 |
+
return '<div style="font-size: 13px; font-family: monospace; color: #7da767; padding: 8px 3px; background: #000; border-bottom: 1px solid #555;">[' . $log['cnt'] . '] [' . $log['logger']->_id . '] [' . $log['type'] . '] <b><code style="color: #c4b1e0;">' . $log['function'] . '</code> >> <b style="color: #f59330;">' . esc_html($log['msg']) . '</b></b>' . ( isset( $log['file'] ) ? ' (' . substr( $log['file'], $log['logger']->_file_start ) . ' ' . $log['line'] . ')' : '' ) . ' [' . $log['timestamp'] . ']</div>';
|
185 |
}
|
186 |
|
187 |
static function dump() {
|
freemius/includes/entities/class-fs-billing.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius for EDD Add-On
|
4 |
+
* @copyright Copyright (c) 2016, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.0.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class FS_Billing extends FS_Entity {
|
14 |
+
|
15 |
+
#region Properties
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var int
|
19 |
+
*/
|
20 |
+
public $entity_id;
|
21 |
+
/**
|
22 |
+
* @var string (Enum) Linked entity type. One of: developer, plugin, user, install
|
23 |
+
*/
|
24 |
+
public $entity_type;
|
25 |
+
/**
|
26 |
+
* @var string
|
27 |
+
*/
|
28 |
+
public $business_name;
|
29 |
+
/**
|
30 |
+
* @var string
|
31 |
+
*/
|
32 |
+
public $first;
|
33 |
+
/**
|
34 |
+
* @var string
|
35 |
+
*/
|
36 |
+
public $last;
|
37 |
+
/**
|
38 |
+
* @var string
|
39 |
+
*/
|
40 |
+
public $email;
|
41 |
+
/**
|
42 |
+
* @var string
|
43 |
+
*/
|
44 |
+
public $phone;
|
45 |
+
/**
|
46 |
+
* @var string
|
47 |
+
*/
|
48 |
+
public $website;
|
49 |
+
/**
|
50 |
+
* @var string Tax or VAT ID.
|
51 |
+
*/
|
52 |
+
public $tax_id;
|
53 |
+
/**
|
54 |
+
* @var string
|
55 |
+
*/
|
56 |
+
public $address_street;
|
57 |
+
/**
|
58 |
+
* @var string
|
59 |
+
*/
|
60 |
+
public $address_apt;
|
61 |
+
/**
|
62 |
+
* @var string
|
63 |
+
*/
|
64 |
+
public $address_city;
|
65 |
+
/**
|
66 |
+
* @var string
|
67 |
+
*/
|
68 |
+
public $address_country;
|
69 |
+
/**
|
70 |
+
* @var string Two chars country code.
|
71 |
+
*/
|
72 |
+
public $address_country_code;
|
73 |
+
/**
|
74 |
+
* @var string
|
75 |
+
*/
|
76 |
+
public $address_state;
|
77 |
+
/**
|
78 |
+
* @var number Numeric ZIP code (cab be with leading zeros).
|
79 |
+
*/
|
80 |
+
public $address_zip;
|
81 |
+
|
82 |
+
#endregion Properties
|
83 |
+
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @param object|bool $event
|
87 |
+
*/
|
88 |
+
function __construct( $event = false ) {
|
89 |
+
parent::__construct( $event );
|
90 |
+
}
|
91 |
+
|
92 |
+
static function get_type() {
|
93 |
+
return 'billing';
|
94 |
+
}
|
95 |
+
}
|
freemius/includes/entities/class-fs-plugin.php
CHANGED
@@ -24,6 +24,10 @@
|
|
24 |
* @var string
|
25 |
*/
|
26 |
public $slug;
|
|
|
|
|
|
|
|
|
27 |
|
28 |
#region Install Specific Properties
|
29 |
|
24 |
* @var string
|
25 |
*/
|
26 |
public $slug;
|
27 |
+
/**
|
28 |
+
* @var string 'plugin' or 'theme'
|
29 |
+
*/
|
30 |
+
public $type;
|
31 |
|
32 |
#region Install Specific Properties
|
33 |
|
freemius/includes/entities/class-fs-site.php
CHANGED
@@ -51,6 +51,15 @@
|
|
51 |
* @var string Platform version (e.g WordPress version).
|
52 |
*/
|
53 |
public $platform_version;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
/**
|
55 |
* @var string Programming language version (e.g PHP version).
|
56 |
*/
|
@@ -77,6 +86,14 @@
|
|
77 |
* @var bool
|
78 |
*/
|
79 |
public $is_premium = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
/**
|
82 |
* @param stdClass|bool $site
|
@@ -89,6 +106,10 @@
|
|
89 |
if ( is_object( $site ) ) {
|
90 |
$this->plan->id = $site->plan_id;
|
91 |
}
|
|
|
|
|
|
|
|
|
92 |
}
|
93 |
|
94 |
static function get_type() {
|
51 |
* @var string Platform version (e.g WordPress version).
|
52 |
*/
|
53 |
public $platform_version;
|
54 |
+
/**
|
55 |
+
* Freemius SDK version
|
56 |
+
*
|
57 |
+
* @author Leo Fajardo (@leorw)
|
58 |
+
* @since 1.2.2
|
59 |
+
*
|
60 |
+
* @var string SDK version (e.g.: 1.2.2)
|
61 |
+
*/
|
62 |
+
public $sdk_version;
|
63 |
/**
|
64 |
* @var string Programming language version (e.g PHP version).
|
65 |
*/
|
86 |
* @var bool
|
87 |
*/
|
88 |
public $is_premium = false;
|
89 |
+
/**
|
90 |
+
* @author Leo Fajardo (@leorw)
|
91 |
+
*
|
92 |
+
* @since 1.2.1.5
|
93 |
+
*
|
94 |
+
* @var bool
|
95 |
+
*/
|
96 |
+
public $is_disconnected = false;
|
97 |
|
98 |
/**
|
99 |
* @param stdClass|bool $site
|
106 |
if ( is_object( $site ) ) {
|
107 |
$this->plan->id = $site->plan_id;
|
108 |
}
|
109 |
+
|
110 |
+
if ( ! is_bool( $this->is_disconnected ) ) {
|
111 |
+
$this->is_disconnected = false;
|
112 |
+
}
|
113 |
}
|
114 |
|
115 |
static function get_type() {
|
freemius/includes/fs-core-functions.php
CHANGED
@@ -19,14 +19,6 @@
|
|
19 |
}
|
20 |
}
|
21 |
|
22 |
-
if ( ! function_exists( 'starts_with' ) ) {
|
23 |
-
function starts_with( $haystack, $needle ) {
|
24 |
-
$length = strlen( $needle );
|
25 |
-
|
26 |
-
return ( substr( $haystack, 0, $length ) === $needle );
|
27 |
-
}
|
28 |
-
}
|
29 |
-
|
30 |
/* Url.
|
31 |
--------------------------------------------------------------------------------------------*/
|
32 |
function fs_get_url_daily_cache_killer() {
|
@@ -64,7 +56,7 @@
|
|
64 |
ob_start();
|
65 |
|
66 |
$VARS = &$params;
|
67 |
-
|
68 |
|
69 |
return ob_get_clean();
|
70 |
}
|
@@ -158,6 +150,40 @@
|
|
158 |
return ( strtolower( $action ) === fs_get_action( $action_key ) );
|
159 |
}
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
function fs_is_plugin_page( $menu_slug ) {
|
162 |
return ( is_admin() && $_REQUEST['page'] === $menu_slug );
|
163 |
}
|
@@ -287,9 +313,26 @@
|
|
287 |
|
288 |
set_error_handler('fs_error_handler');*/
|
289 |
|
290 |
-
|
291 |
-
|
292 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
}
|
294 |
|
295 |
if ( ! function_exists( 'fs_starts_with' ) ) {
|
@@ -373,7 +416,7 @@
|
|
373 |
|
374 |
// Skip ignore params.
|
375 |
if ( in_array( $lower_param, $ignore_params ) ||
|
376 |
-
( false !== $params_prefix &&
|
377 |
) {
|
378 |
continue;
|
379 |
}
|
@@ -460,4 +503,3 @@
|
|
460 |
// If both have priority return the winner.
|
461 |
return ( $a['priority'] < $b['priority'] ) ? - 1 : 1;
|
462 |
}
|
463 |
-
|
19 |
}
|
20 |
}
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
/* Url.
|
23 |
--------------------------------------------------------------------------------------------*/
|
24 |
function fs_get_url_daily_cache_killer() {
|
56 |
ob_start();
|
57 |
|
58 |
$VARS = &$params;
|
59 |
+
require( fs_get_template_path( $path ) );
|
60 |
|
61 |
return ob_get_clean();
|
62 |
}
|
150 |
return ( strtolower( $action ) === fs_get_action( $action_key ) );
|
151 |
}
|
152 |
|
153 |
+
/**
|
154 |
+
* @author Vova Feldman (@svovaf)
|
155 |
+
* @since 1.0.0
|
156 |
+
*
|
157 |
+
* @since 1.2.1.5 Allow nonce verification.
|
158 |
+
*
|
159 |
+
* @param string $action
|
160 |
+
* @param string $action_key
|
161 |
+
* @param string $nonce_key
|
162 |
+
*
|
163 |
+
* @return bool
|
164 |
+
*/
|
165 |
+
function fs_request_is_action_secure(
|
166 |
+
$action,
|
167 |
+
$action_key = 'action',
|
168 |
+
$nonce_key = 'nonce'
|
169 |
+
) {
|
170 |
+
if ( strtolower( $action ) !== fs_get_action( $action_key ) ) {
|
171 |
+
return false;
|
172 |
+
}
|
173 |
+
|
174 |
+
$nonce = ! empty( $_REQUEST[ $nonce_key ] ) ?
|
175 |
+
$_REQUEST[ $nonce_key ] :
|
176 |
+
'';
|
177 |
+
|
178 |
+
if ( empty( $nonce ) ||
|
179 |
+
( false === wp_verify_nonce( $nonce, $action ) )
|
180 |
+
) {
|
181 |
+
return false;
|
182 |
+
}
|
183 |
+
|
184 |
+
return true;
|
185 |
+
}
|
186 |
+
|
187 |
function fs_is_plugin_page( $menu_slug ) {
|
188 |
return ( is_admin() && $_REQUEST['page'] === $menu_slug );
|
189 |
}
|
313 |
|
314 |
set_error_handler('fs_error_handler');*/
|
315 |
|
316 |
+
if ( ! function_exists( 'fs_nonce_url' ) ) {
|
317 |
+
/**
|
318 |
+
* Retrieve URL with nonce added to URL query.
|
319 |
+
*
|
320 |
+
* Originally was using `wp_nonce_url()` but the new version
|
321 |
+
* changed the return value to escaped URL, that's not the expected
|
322 |
+
* behaviour.
|
323 |
+
*
|
324 |
+
* @author Vova Feldman (@svovaf)
|
325 |
+
* @since ~1.1.3
|
326 |
+
*
|
327 |
+
* @param string $actionurl URL to add nonce action.
|
328 |
+
* @param int|string $action Optional. Nonce action name. Default -1.
|
329 |
+
* @param string $name Optional. Nonce name. Default '_wpnonce'.
|
330 |
+
*
|
331 |
+
* @return string Escaped URL with nonce action added.
|
332 |
+
*/
|
333 |
+
function fs_nonce_url( $actionurl, $action = - 1, $name = '_wpnonce' ) {
|
334 |
+
return add_query_arg( $name, wp_create_nonce( $action ), $actionurl );
|
335 |
+
}
|
336 |
}
|
337 |
|
338 |
if ( ! function_exists( 'fs_starts_with' ) ) {
|
416 |
|
417 |
// Skip ignore params.
|
418 |
if ( in_array( $lower_param, $ignore_params ) ||
|
419 |
+
( false !== $params_prefix && fs_starts_with( $lower_param, $params_prefix ) )
|
420 |
) {
|
421 |
continue;
|
422 |
}
|
503 |
// If both have priority return the winner.
|
504 |
return ( $a['priority'] < $b['priority'] ) ? - 1 : 1;
|
505 |
}
|
|
freemius/includes/fs-essential-functions.php
CHANGED
@@ -41,15 +41,29 @@
|
|
41 |
* @since 1.5.1
|
42 |
* @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
|
43 |
*
|
44 |
-
* @param string $location The path to redirect to
|
45 |
-
* @param
|
|
|
46 |
*
|
47 |
* @return bool False if $location is not set
|
48 |
*/
|
49 |
-
function fs_redirect( $location, $status = 302 ) {
|
50 |
global $is_IIS;
|
51 |
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
return false;
|
54 |
}
|
55 |
|
@@ -69,6 +83,10 @@
|
|
69 |
header( "Location: $location" );
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
72 |
return true;
|
73 |
}
|
74 |
|
@@ -407,7 +425,7 @@
|
|
407 |
$args = func_get_args();
|
408 |
|
409 |
return call_user_func_array( 'apply_filters', array_merge(
|
410 |
-
array(
|
411 |
array_slice( $args, 2 ) )
|
412 |
);
|
413 |
}
|
41 |
* @since 1.5.1
|
42 |
* @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
|
43 |
*
|
44 |
+
* @param string $location The path to redirect to.
|
45 |
+
* @param bool $exit If true, exit after redirect (Since 1.2.1.5).
|
46 |
+
* @param int $status Status code to use.
|
47 |
*
|
48 |
* @return bool False if $location is not set
|
49 |
*/
|
50 |
+
function fs_redirect( $location, $exit = true, $status = 302 ) {
|
51 |
global $is_IIS;
|
52 |
|
53 |
+
$file = '';
|
54 |
+
$line = '';
|
55 |
+
if ( headers_sent($file, $line) ) {
|
56 |
+
if ( WP_FS__DEBUG_SDK && class_exists( 'FS_Admin_Notice_Manager' ) ) {
|
57 |
+
$notices = FS_Admin_Notice_Manager::instance( 'global' );
|
58 |
+
|
59 |
+
$notices->add( "Freemius failed to redirect the page because the headers have been already sent from line <b><code>{$line}</code></b> in file <b><code>{$file}</code></b>. If it's unexpected, it usually happens due to invalid space and/or EOL character(s).", 'Oops...', 'error' );
|
60 |
+
}
|
61 |
+
|
62 |
+
return false;
|
63 |
+
}
|
64 |
+
|
65 |
+
if ( defined( 'DOING_AJAX' ) ) {
|
66 |
+
// Don't redirect on AJAX calls.
|
67 |
return false;
|
68 |
}
|
69 |
|
83 |
header( "Location: $location" );
|
84 |
}
|
85 |
|
86 |
+
if ( $exit ) {
|
87 |
+
exit();
|
88 |
+
}
|
89 |
+
|
90 |
return true;
|
91 |
}
|
92 |
|
425 |
$args = func_get_args();
|
426 |
|
427 |
return call_user_func_array( 'apply_filters', array_merge(
|
428 |
+
array( "fs_{$tag}_{$slug}" ),
|
429 |
array_slice( $args, 2 ) )
|
430 |
);
|
431 |
}
|
freemius/includes/fs-plugin-info-dialog.php
CHANGED
@@ -74,7 +74,7 @@
|
|
74 |
}
|
75 |
|
76 |
// Find add-on by slug.
|
77 |
-
$selected_addon = $this->_fs->get_addon_by_slug($args->slug);
|
78 |
|
79 |
if ( false === $selected_addon ) {
|
80 |
return $data;
|
@@ -99,7 +99,7 @@
|
|
99 |
$has_pricing = false;
|
100 |
$has_features = false;
|
101 |
$plans = false;
|
102 |
-
$plans_result = $this->_fs->get_api_site_or_plugin_scope()->get( "/addons/{$selected_addon->id}/plans.json" );
|
103 |
if ( ! isset( $plans_result->error ) ) {
|
104 |
$plans = $plans_result->plans;
|
105 |
if ( is_array( $plans ) ) {
|
@@ -597,7 +597,7 @@
|
|
597 |
}
|
598 |
?>
|
599 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
600 |
-
data-pricing="<?php
|
601 |
<?php if ( $is_featured ) : ?>
|
602 |
<label>★ <?php _efs( 'best', $api->slug ) ?> ★</label>
|
603 |
<?php endif ?>
|
74 |
}
|
75 |
|
76 |
// Find add-on by slug.
|
77 |
+
$selected_addon = $this->_fs->get_addon_by_slug($args->slug, WP_FS__DEV_MODE);
|
78 |
|
79 |
if ( false === $selected_addon ) {
|
80 |
return $data;
|
99 |
$has_pricing = false;
|
100 |
$has_features = false;
|
101 |
$plans = false;
|
102 |
+
$plans_result = $this->_fs->get_api_site_or_plugin_scope()->get( "/addons/{$selected_addon->id}/plans.json?type=visible" );
|
103 |
if ( ! isset( $plans_result->error ) ) {
|
104 |
$plans = $plans_result->plans;
|
105 |
if ( is_array( $plans ) ) {
|
597 |
}
|
598 |
?>
|
599 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
600 |
+
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
601 |
<?php if ( $is_featured ) : ?>
|
602 |
<label>★ <?php _efs( 'best', $api->slug ) ?> ★</label>
|
603 |
<?php endif ?>
|
freemius/includes/i18n.php
CHANGED
@@ -32,191 +32,223 @@
|
|
32 |
global $fs_text;
|
33 |
|
34 |
$fs_text = array(
|
35 |
-
'account'
|
36 |
-
'addon'
|
37 |
-
'contact-us'
|
38 |
-
'contact-support'
|
39 |
-
'change-ownership'
|
40 |
-
'support'
|
41 |
-
'support-forum'
|
42 |
-
'add-ons'
|
43 |
-
'upgrade'
|
44 |
-
'awesome'
|
45 |
-
'pricing'
|
46 |
-
'price'
|
47 |
-
'unlimited-updates'
|
48 |
-
'downgrade'
|
49 |
-
'cancel-trial'
|
50 |
-
'free-trial'
|
51 |
-
'start-free-x'
|
52 |
-
'no-commitment-x'
|
53 |
-
'after-x-pay-as-little-y'
|
54 |
-
'details'
|
55 |
-
'account-details'
|
56 |
-
'delete'
|
57 |
-
'show'
|
58 |
-
'hide'
|
59 |
-
'edit'
|
60 |
-
'
|
61 |
-
'
|
62 |
-
'
|
63 |
-
'
|
64 |
-
'
|
65 |
-
'
|
66 |
-
'
|
67 |
-
'
|
68 |
-
'
|
69 |
-
'
|
70 |
-
'download-x-version
|
71 |
-
'download-
|
72 |
-
|
73 |
-
'
|
74 |
-
'
|
75 |
-
|
76 |
-
'
|
77 |
-
'
|
78 |
-
'
|
79 |
-
'
|
80 |
-
'
|
81 |
-
'license
|
82 |
-
'
|
83 |
-
'
|
84 |
-
'
|
85 |
-
'
|
86 |
-
'
|
87 |
-
'
|
88 |
-
|
89 |
-
'
|
90 |
-
|
91 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
#region Account
|
93 |
|
94 |
-
'expiration'
|
95 |
-
'license'
|
96 |
-
'not-verified'
|
97 |
-
'verify-email'
|
98 |
-
'expires-in'
|
99 |
-
'renews-in'
|
100 |
-
'no-expiration'
|
101 |
-
'expired'
|
102 |
-
'cancelled'
|
103 |
-
'in-x'
|
104 |
-
'x-ago'
|
105 |
-
'version'
|
106 |
-
'name'
|
107 |
-
'email'
|
108 |
-
'email-address'
|
109 |
-
'verified'
|
110 |
-
'plugin'
|
111 |
-
'plugins'
|
112 |
-
'themes'
|
113 |
-
'path'
|
114 |
-
'title'
|
115 |
-
'free-version'
|
116 |
-
'premium-version'
|
117 |
-
'slug'
|
118 |
-
'id'
|
119 |
-
'users'
|
120 |
-
'plugin-installs'
|
121 |
-
'sites'
|
122 |
-
'user-id'
|
123 |
-
'site-id'
|
124 |
-
'public-key'
|
125 |
-
'secret-key'
|
126 |
-
'no-secret'
|
127 |
-
'no-id'
|
128 |
-
'sync-license'
|
129 |
-
'sync'
|
130 |
-
'activate-license'
|
131 |
-
'activate-free-version'
|
132 |
-
'activate-license-message'
|
133 |
-
|
134 |
-
'
|
135 |
-
'
|
136 |
-
'
|
137 |
-
'
|
138 |
-
'
|
139 |
-
'
|
140 |
-
'
|
141 |
-
'
|
142 |
-
'
|
143 |
-
'
|
144 |
-
'
|
145 |
-
'install-
|
146 |
-
'
|
147 |
-
'
|
148 |
-
'
|
149 |
-
'x-
|
150 |
-
'
|
151 |
-
'
|
152 |
-
'
|
153 |
-
'
|
154 |
-
'
|
155 |
-
|
156 |
-
'
|
157 |
-
|
158 |
-
'
|
159 |
-
|
160 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
#endregion Account
|
162 |
|
163 |
'add-ons-for-x' => __( 'Add Ons for %s', 'freemius' ),
|
164 |
-
'add-ons-missing' => __( 'We could\'nt load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.',
|
|
|
165 |
#region Plugin Deactivation
|
166 |
'anonymous-feedback' => __( 'Anonymous feedback', 'freemius' ),
|
167 |
'quick-feedback' => __( 'Quick feedback', 'freemius' ),
|
168 |
-
'deactivation-share-reason' => __( 'If you have a moment, please let us know why you are deactivating',
|
|
|
169 |
'deactivation-modal-button-confirm' => __( 'Yes - Deactivate', 'freemius' ),
|
170 |
'deactivation-modal-button-submit' => __( 'Submit & Deactivate', 'freemius' ),
|
171 |
-
'
|
172 |
'reason-no-longer-needed' => __( 'I no longer need the plugin', 'freemius' ),
|
173 |
'reason-found-a-better-plugin' => __( 'I found a better plugin', 'freemius' ),
|
174 |
'reason-needed-for-a-short-period' => __( 'I only needed the plugin for a short period', 'freemius' ),
|
175 |
'reason-broke-my-site' => __( 'The plugin broke my site', 'freemius' ),
|
176 |
'reason-suddenly-stopped-working' => __( 'The plugin suddenly stopped working', 'freemius' ),
|
177 |
'reason-cant-pay-anymore' => __( "I can't pay for it anymore", 'freemius' ),
|
178 |
-
'reason-temporary-deactivation' => __( "It's a temporary deactivation. I'm just debugging an issue.",
|
179 |
-
|
|
|
|
|
180 |
'ask-for-reason-message' => __( 'Kindly tell us the reason so we can improve.', 'freemius' ),
|
181 |
'placeholder-plugin-name' => __( "What's the plugin's name?", 'freemius' ),
|
182 |
'placeholder-comfortable-price' => __( 'What price would you feel comfortable paying?', 'freemius' ),
|
183 |
'reason-couldnt-make-it-work' => __( "I couldn't understand how to make it work", 'freemius' ),
|
184 |
-
'reason-great-but-need-specific-feature' => __( "The plugin is great, but I need specific feature that you don't support",
|
|
|
185 |
'reason-not-working' => __( 'The plugin is not working', 'freemius' ),
|
186 |
'reason-not-what-i-was-looking-for' => __( "It's not what I was looking for", 'freemius' ),
|
187 |
'reason-didnt-work-as-expected' => __( "The plugin didn't work as expected", 'freemius' ),
|
188 |
'placeholder-feature' => __( 'What feature?', 'freemius' ),
|
189 |
-
'placeholder-share-what-didnt-work' => __( "Kindly share what didn't work so we can fix it for future users...",
|
|
|
190 |
'placeholder-what-youve-been-looking-for' => __( "What you've been looking for?", 'freemius' ),
|
191 |
'placeholder-what-did-you-expect' => __( "What did you expect?", 'freemius' ),
|
192 |
'reason-didnt-work' => __( "The plugin didn't work", 'freemius' ),
|
193 |
'reason-dont-like-to-share-my-information' => __( "I don't like to share my information with you", 'freemius' ),
|
194 |
-
'dont-have-to-share-any-data' => __( "You might have missed it, but you don't have to share any data and can just %s the opt-in.",
|
|
|
195 |
#endregion Plugin Deactivation
|
196 |
|
197 |
#region Connect
|
198 |
'hey-x' => _x( 'Hey %s,', 'greeting', 'freemius' ),
|
199 |
'thanks-x' => _x( 'Thanks %s!', 'a greeting. E.g. Thanks John!', 'freemius' ),
|
200 |
-
'connect-message' => __( '
|
201 |
-
|
202 |
-
'
|
203 |
-
|
204 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
'what-permissions' => __( 'What permissions are being granted?', 'freemius' ),
|
206 |
'permissions-profile' => __( 'Your Profile Overview', 'freemius' ),
|
207 |
'permissions-profile_desc' => __( 'Name and email address', 'freemius' ),
|
208 |
'permissions-site' => __( 'Your Site Overview', 'freemius' ),
|
209 |
-
'permissions-site_desc' => __( 'Site URL, WP version, PHP info, plugins & themes',
|
|
|
210 |
'permissions-events' => __( 'Current Plugin Events', 'freemius' ),
|
211 |
'permissions-events_desc' => __( 'Activation, deactivation and uninstall', 'freemius' ),
|
212 |
'permissions-plugins_themes' => __( 'Plugins & Themes', 'freemius' ),
|
213 |
'permissions-plugins_themes_desc' => __( 'Titles, versions and state.', 'freemius' ),
|
|
|
214 |
'permissions-newsletter' => __( 'Newsletter', 'freemius' ),
|
215 |
'permissions-newsletter_desc' => __( 'Updates, announcements, marketing, no spam', 'freemius' ),
|
216 |
'privacy-policy' => __( 'Privacy Policy', 'freemius' ),
|
217 |
'tos' => __( 'Terms of Service', 'freemius' ),
|
218 |
'activating' => _x( 'Activating', 'as activating plugin', 'freemius' ),
|
219 |
-
'sending-email' => _x( 'Sending email', 'as in the process of sending an email',
|
|
|
220 |
'opt-in-connect' => _x( 'Allow & Continue', 'button label', 'freemius' ),
|
221 |
'agree-activate-license' => _x( 'Agree & Activate License', 'button label', 'freemius' ),
|
222 |
'skip' => _x( 'Skip', 'verb', 'freemius' ),
|
@@ -228,8 +260,22 @@
|
|
228 |
'have-license-key' => __( 'Have a license key?', 'freemius' ),
|
229 |
'dont-have-license-key' => __( 'Don\'t have a license key?', 'freemius' ),
|
230 |
'cant-find-license-key' => __( "Can't find your license key?", 'freemius' ),
|
231 |
-
'email-not-found' => __( "We couldn't find your email address in the system, are you sure it's the right address?"
|
232 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
#endregion Connect
|
234 |
|
235 |
#region Screenshots
|
@@ -247,11 +293,13 @@
|
|
247 |
'blocked' => _x( 'Blocked', 'as connection blocked', 'freemius' ),
|
248 |
'api' => _x( 'API', 'as application program interface', 'freemius' ),
|
249 |
'sdk' => _x( 'SDK', 'as software development kit versions', 'freemius' ),
|
250 |
-
'sdk-versions' => _x( 'SDK Versions', 'as software development kit versions',
|
|
|
251 |
'plugin-path' => _x( 'Plugin Path', 'as plugin folder path', 'freemius' ),
|
252 |
'sdk-path' => _x( 'SDK Path', 'as sdk path', 'freemius' ),
|
253 |
'addons-of-x' => __( 'Add Ons of Plugin %s', 'freemius' ),
|
254 |
-
'delete-all-confirm' => __( 'Are you sure you want to delete all Freemius data?',
|
|
|
255 |
'actions' => __( 'Actions', 'freemius' ),
|
256 |
'delete-all-accounts' => __( 'Delete All Accounts', 'freemius' ),
|
257 |
'start-fresh' => __( 'Start Fresh', 'freemius' ),
|
@@ -264,117 +312,189 @@
|
|
264 |
#region Expressions
|
265 |
'congrats' => _x( 'Congrats', 'as congratulations', 'freemius' ),
|
266 |
'oops' => _x( 'Oops', 'exclamation', 'freemius' ),
|
267 |
-
'yee-haw' => _x( 'Yee-haw', 'interjection expressing joy or exuberance',
|
268 |
-
|
|
|
|
|
269 |
'right-on' => _x( 'Right on', 'a positive response', 'freemius' ),
|
270 |
-
'hmm' => _x( 'Hmm',
|
|
|
271 |
'ok' => __( 'O.K', 'freemius' ),
|
272 |
'hey' => _x( 'Hey', 'exclamation', 'freemius' ),
|
273 |
-
'heads-up' => _x( 'Heads up',
|
|
|
274 |
#endregion Expressions
|
275 |
|
276 |
#region Admin Notices
|
277 |
'you-have-latest' => __( 'Seems like you got the latest release.', 'freemius' ),
|
278 |
'you-are-good' => __( 'You are all good!', 'freemius' ),
|
279 |
-
'user-exist-message' => __( 'Sorry, we could not complete the email update. Another user with the same email is already registered.',
|
280 |
-
|
281 |
-
'
|
|
|
|
|
|
|
282 |
'name-updated-message' => __( 'Your name was successfully updated.', 'freemius' ),
|
283 |
'x-updated' => __( 'You have successfully updated your %s.', 'freemius' ),
|
284 |
'name-update-failed-message' => __( 'Please provide your full name.', 'freemius' ),
|
285 |
-
'verification-email-sent-message' => __( 'Verification mail was just sent to %s. If you can\'t find it after 5 min, please check your spam box.',
|
286 |
-
|
|
|
|
|
287 |
'no-cc-required' => __( 'No credit card required', 'freemius' ),
|
288 |
-
'premium-activated-message' => __( 'Premium plugin version was successfully activated.',
|
|
|
289 |
'successful-version-upgrade-message' => __( 'The upgrade of %s was successfully completed.', 'freemius' ),
|
290 |
-
'activation-with-plan-x-message' => __( 'Your account was successfully activated with the %s plan.',
|
|
|
291 |
'download-latest-x-version-now' => __( 'Download the latest %s version now', 'freemius' ),
|
292 |
-
'follow-steps-to-complete-upgrade' => __( 'Please follow these steps to complete the upgrade',
|
|
|
293 |
'download-latest-x-version' => __( 'Download the latest %s version', 'freemius' ),
|
|
|
294 |
'deactivate-free-version' => __( 'Deactivate the free version', 'freemius' ),
|
295 |
'upload-and-activate' => __( 'Upload and activate the downloaded version', 'freemius' ),
|
296 |
'howto-upload-activate' => __( 'How to upload and activate?', 'freemius' ),
|
297 |
-
'addon-successfully-purchased-message' => _x( '%s Add-on was successfully purchased.',
|
298 |
-
|
299 |
-
'
|
|
|
|
|
|
|
300 |
'plan-upgraded-message' => __( 'Your plan was successfully upgraded.', 'freemius' ),
|
301 |
'plan-changed-to-x-message' => __( 'Your plan was successfully changed to %s.', 'freemius' ),
|
302 |
-
'license-expired-blocking-message' => __( 'Your license has expired. You can still continue using the free plugin forever.',
|
303 |
-
|
|
|
|
|
304 |
'trial-started-message' => __( 'Your trial has been successfully started.', 'freemius' ),
|
305 |
'license-activated-message' => __( 'Your license was successfully activated.', 'freemius' ),
|
306 |
-
'no-active-license-message' => __( 'It looks like your site currently doesn\'t have an active license.',
|
307 |
-
|
308 |
-
'license-deactivation-
|
309 |
-
|
|
|
|
|
|
|
|
|
310 |
'server-error-message' => __( 'Error received from the server:', 'freemius' ),
|
311 |
-
'trial-expired-message' => __( 'Your trial has expired. You can still continue using all our free features.',
|
312 |
-
|
313 |
-
'plan-downgraded-
|
314 |
-
|
315 |
-
'
|
316 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
'please-download-x' => __( 'Please download %s.', 'freemius' ),
|
318 |
-
'latest-x-version' => _x( 'the latest %s version here',
|
319 |
-
|
|
|
|
|
320 |
'start-free-trial' => _x( 'Start free trial', 'call to action', 'freemius' ),
|
321 |
-
'trial
|
|
|
|
|
|
|
322 |
'trial-utilized' => __( 'You already utilized a trial before.', 'freemius' ),
|
323 |
-
'in-trial-mode' => __( 'You are already running the plugin in a trial mode.',
|
324 |
-
|
|
|
|
|
325 |
'plan-x-no-trial' => __( 'Plan %s does not support a trial period.', 'freemius' ),
|
326 |
-
'no-trials' => __( 'None of the plugin\'s plans supports a trial period.',
|
327 |
-
|
|
|
|
|
328 |
'no-commitment-for-x-days' => __( 'No commitment for %s days - cancel anytime!', 'freemius' ),
|
329 |
-
'license-expired-non-blocking-message' => __( 'Your license has expired. You can still continue using all the %s features, but you\'ll need to renew your license to continue getting updates and support.',
|
|
|
330 |
'could-not-activate-x' => __( 'Couldn\'t activate %s.', 'freemius' ),
|
331 |
'contact-us-with-error-message' => __( 'Please contact us with the following message:', 'freemius' ),
|
332 |
-
'plan-did-not-change-message' => __( 'It looks like you are still on the %s plan. If you did upgrade or change your plan, it\'s probably an issue on our side - sorry.',
|
|
|
333 |
'contact-us-here' => __( 'Please contact us here', 'freemius' ),
|
334 |
-
'plan-did-not-change-email-message' => __( 'I have upgraded my account but when I try to Sync the License, the plan remains %s.',
|
|
|
335 |
#endregion Admin Notices
|
336 |
#region Connectivity Issues
|
337 |
-
'connectivity-test-fails-message' => __( 'From unknown reason, the API connectivity test failed.',
|
338 |
-
|
339 |
-
'
|
340 |
-
|
341 |
-
'
|
342 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
'squid-no-clue-title' => __( 'I don\'t know what is Squid or ACL, help me!', 'freemius' ),
|
344 |
-
'squid-no-clue-desc' => __( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.',
|
|
|
345 |
'sysadmin-title' => __( 'I\'m a system administrator', 'freemius' ),
|
346 |
-
'squid-sysadmin-desc' => __( 'Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again.',
|
347 |
-
|
348 |
-
'curl-missing-no-clue-
|
349 |
-
|
350 |
-
'
|
351 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
'fix-issue-title' => __( 'Yes - I\'m giving you a chance to fix it', 'freemius' ),
|
353 |
-
'fix-issue-desc' => __( 'We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update.',
|
|
|
354 |
'install-previous-title' => __( 'Let\'s try your previous version', 'freemius' ),
|
355 |
-
'install-previous-desc' => __( 'Uninstall this version and install the previous one.',
|
|
|
356 |
'deactivate-plugin-title' => __( 'That\'s exhausting, please deactivate', 'freemius' ),
|
357 |
-
'deactivate-plugin-desc' => __( 'We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future.',
|
358 |
-
|
359 |
-
'
|
360 |
-
|
|
|
|
|
|
|
|
|
361 |
#endregion Connectivity Issues
|
362 |
#region Change Owner
|
363 |
-
'change-owner-request-sent-x' => __( 'Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder.',
|
364 |
-
|
|
|
|
|
365 |
'change-owner-request_candidate-confirmed' => __( '%s is the new owner of the account.', 'freemius' ),
|
366 |
#endregion Change Owner
|
367 |
-
'addon-x-cannot-run-without-y' => _x( '%s cannot run without %s.',
|
368 |
-
|
369 |
-
'
|
370 |
-
|
371 |
-
'
|
|
|
|
|
|
|
|
|
|
|
372 |
'paid-addon-not-deployed' => __( 'Paid add-on must be deployed to Freemius.', 'freemius' ),
|
|
|
373 |
#region Add-On Licensing
|
374 |
-
|
375 |
-
'addon-
|
376 |
-
|
|
|
|
|
|
|
|
|
377 |
#region Billing Cycles
|
|
|
378 |
'monthly' => _x( 'Monthly', 'as every month', 'freemius' ),
|
379 |
'mo' => _x( 'mo', 'as monthly period', 'freemius' ),
|
380 |
'annual' => _x( 'Annual', 'as once a year', 'freemius' ),
|
@@ -387,4 +507,28 @@
|
|
387 |
'save-x' => _x( 'Save %s', 'as a discount of $5 or 10%', 'freemius' ),
|
388 |
#endregion Billing Cycles
|
389 |
'view-details' => __( 'View details', 'freemius' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
390 |
);
|
32 |
global $fs_text;
|
33 |
|
34 |
$fs_text = array(
|
35 |
+
'account' => __( 'Account', 'freemius' ),
|
36 |
+
'addon' => __( 'Add On', 'freemius' ),
|
37 |
+
'contact-us' => __( 'Contact Us', 'freemius' ),
|
38 |
+
'contact-support' => __( 'Contact Support', 'freemius' ),
|
39 |
+
'change-ownership' => __( 'Change Ownership', 'freemius' ),
|
40 |
+
'support' => __( 'Support', 'freemius' ),
|
41 |
+
'support-forum' => __( 'Support Forum', 'freemius' ),
|
42 |
+
'add-ons' => __( 'Add Ons', 'freemius' ),
|
43 |
+
'upgrade' => _x( 'Upgrade', 'verb', 'freemius' ),
|
44 |
+
'awesome' => __( 'Awesome', 'freemius' ),
|
45 |
+
'pricing' => _x( 'Pricing', 'noun', 'freemius' ),
|
46 |
+
'price' => _x( 'Price', 'noun', 'freemius' ),
|
47 |
+
'unlimited-updates' => __( 'Unlimited Updates', 'freemius' ),
|
48 |
+
'downgrade' => _x( 'Downgrade', 'verb', 'freemius' ),
|
49 |
+
'cancel-trial' => __( 'Cancel Trial', 'freemius' ),
|
50 |
+
'free-trial' => __( 'Free Trial', 'freemius' ),
|
51 |
+
'start-free-x' => __( 'Start my free %s', 'freemius' ),
|
52 |
+
'no-commitment-x' => __( 'No commitment for %s - cancel anytime', 'freemius' ),
|
53 |
+
'after-x-pay-as-little-y' => __( 'After your free %s, pay as little as %s', 'freemius' ),
|
54 |
+
'details' => __( 'Details', 'freemius' ),
|
55 |
+
'account-details' => __( 'Account Details', 'freemius' ),
|
56 |
+
'delete' => _x( 'Delete', 'verb', 'freemius' ),
|
57 |
+
'show' => _x( 'Show', 'verb', 'freemius' ),
|
58 |
+
'hide' => _x( 'Hide', 'verb', 'freemius' ),
|
59 |
+
'edit' => _x( 'Edit', 'verb', 'freemius' ),
|
60 |
+
'update' => _x( 'Update', 'verb', 'freemius' ),
|
61 |
+
'date' => __( 'Date', 'freemius' ),
|
62 |
+
'amount' => __( 'Amount', 'freemius' ),
|
63 |
+
'invoice' => __( 'Invoice', 'freemius' ),
|
64 |
+
'billing' => __( 'Billing', 'freemius' ),
|
65 |
+
'payments' => __( 'Payments', 'freemius' ),
|
66 |
+
'delete-account' => __( 'Delete Account', 'freemius' ),
|
67 |
+
'dismiss' => _x( 'Dismiss', 'as close a window', 'freemius' ),
|
68 |
+
'plan' => _x( 'Plan', 'as product pricing plan', 'freemius' ),
|
69 |
+
'change-plan' => __( 'Change Plan', 'freemius' ),
|
70 |
+
'download-x-version' => _x( 'Download %s Version', 'as download professional version', 'freemius' ),
|
71 |
+
'download-x-version-now' => _x( 'Download %s version now', 'as download professional version now',
|
72 |
+
'freemius' ),
|
73 |
+
'download-latest' => _x( 'Download Latest', 'as download latest version', 'freemius' ),
|
74 |
+
'you-have-x-license' => _x( 'You have a %s license.', 'E.g. you have a professional license.',
|
75 |
+
'freemius' ),
|
76 |
+
'new' => __( 'New', 'freemius' ),
|
77 |
+
'free' => __( 'Free', 'freemius' ),
|
78 |
+
'trial' => _x( 'Trial', 'as trial plan', 'freemius' ),
|
79 |
+
'start-trial' => _x( 'Start Trial', 'as starting a trial plan', 'freemius' ),
|
80 |
+
'purchase' => _x( 'Purchase', 'verb', 'freemius' ),
|
81 |
+
'purchase-license' => __( 'Purchase License', 'freemius' ),
|
82 |
+
'buy' => _x( 'Buy', 'verb', 'freemius' ),
|
83 |
+
'buy-license' => __( 'Buy License', 'freemius' ),
|
84 |
+
'license-single-site' => __( 'Single Site License', 'freemius' ),
|
85 |
+
'license-unlimited' => __( 'Unlimited Licenses', 'freemius' ),
|
86 |
+
'license-x-sites' => __( 'Up to %s Sites', 'freemius' ),
|
87 |
+
'renew-license-now' => __( '%sRenew your license now%s to access version %s features and support.',
|
88 |
+
'freemius' ),
|
89 |
+
'ask-for-upgrade-email-address' => __( "Enter the email address you've used for the upgrade below and we will resend you the license key.",
|
90 |
+
'freemius' ),
|
91 |
+
'x-plan' => _x( '%s Plan', 'e.g. Professional Plan', 'freemius' ),
|
92 |
+
'you-are-step-away' => __( 'You are just one step away - %s', 'freemius' ),
|
93 |
+
'activate-x-now' => _x( 'Complete "%s" Activation Now',
|
94 |
+
'%s - plugin name. As complete "Jetpack" activation now', 'freemius' ),
|
95 |
+
'few-plugin-tweaks' => __( 'We made a few tweaks to the plugin, %s', 'freemius' ),
|
96 |
+
'optin-x-now' => __( 'Opt-in to make "%s" Better!', 'freemius' ),
|
97 |
+
'error' => __( 'Error', 'freemius' ),
|
98 |
+
'failed-finding-main-path' => __( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.',
|
99 |
+
'freemius' ),
|
100 |
#region Account
|
101 |
|
102 |
+
'expiration' => _x( 'Expiration', 'as expiration date', 'freemius' ),
|
103 |
+
'license' => _x( 'License', 'as software license', 'freemius' ),
|
104 |
+
'not-verified' => __( 'not verified', 'freemius' ),
|
105 |
+
'verify-email' => __( 'Verify Email', 'freemius' ),
|
106 |
+
'expires-in' => _x( 'Expires in %s', 'e.g. expires in 2 months', 'freemius' ),
|
107 |
+
'renews-in' => _x( 'Auto renews in %s', 'e.g. auto renews in 2 months', 'freemius' ),
|
108 |
+
'no-expiration' => __( 'No expiration', 'freemius' ),
|
109 |
+
'expired' => __( 'Expired', 'freemius' ),
|
110 |
+
'cancelled' => __( 'Cancelled', 'freemius' ),
|
111 |
+
'in-x' => _x( 'In %s', 'e.g. In 2 hours', 'freemius' ),
|
112 |
+
'x-ago' => _x( '%s ago', 'e.g. 2 min ago', 'freemius' ),
|
113 |
+
'version' => _x( 'Version', 'as plugin version', 'freemius' ),
|
114 |
+
'name' => __( 'Name', 'freemius' ),
|
115 |
+
'email' => __( 'Email', 'freemius' ),
|
116 |
+
'email-address' => __( 'Email address', 'freemius' ),
|
117 |
+
'verified' => __( 'Verified', 'freemius' ),
|
118 |
+
'plugin' => __( 'Plugin', 'freemius' ),
|
119 |
+
'plugins' => __( 'Plugins', 'freemius' ),
|
120 |
+
'themes' => __( 'Themes', 'freemius' ),
|
121 |
+
'path' => _x( 'Path', 'as file/folder path', 'freemius' ),
|
122 |
+
'title' => __( 'Title', 'freemius' ),
|
123 |
+
'free-version' => __( 'Free version', 'freemius' ),
|
124 |
+
'premium-version' => __( 'Premium version', 'freemius' ),
|
125 |
+
'slug' => _x( 'Slug', 'as WP plugin slug', 'freemius' ),
|
126 |
+
'id' => __( 'ID', 'freemius' ),
|
127 |
+
'users' => __( 'Users', 'freemius' ),
|
128 |
+
'plugin-installs' => __( 'Plugin Installs', 'freemius' ),
|
129 |
+
'sites' => _x( 'Sites', 'like websites', 'freemius' ),
|
130 |
+
'user-id' => __( 'User ID', 'freemius' ),
|
131 |
+
'site-id' => __( 'Site ID', 'freemius' ),
|
132 |
+
'public-key' => __( 'Public Key', 'freemius' ),
|
133 |
+
'secret-key' => __( 'Secret Key', 'freemius' ),
|
134 |
+
'no-secret' => _x( 'No Secret', 'as secret encryption key missing', 'freemius' ),
|
135 |
+
'no-id' => __( 'No ID', 'freemius' ),
|
136 |
+
'sync-license' => _x( 'Sync License', 'as synchronize license', 'freemius' ),
|
137 |
+
'sync' => _x( 'Sync', 'as synchronize', 'freemius' ),
|
138 |
+
'activate-license' => __( 'Activate License', 'freemius' ),
|
139 |
+
'activate-free-version' => __( 'Activate Free Version', 'freemius' ),
|
140 |
+
'activate-license-message' => __( 'Please enter the license key that you received in the email right after the purchase:',
|
141 |
+
'freemius' ),
|
142 |
+
'activating-license' => __( 'Activating license...', 'freemius' ),
|
143 |
+
'change-license' => __( 'Change License', 'freemius' ),
|
144 |
+
'update-license' => __( 'Update License', 'freemius' ),
|
145 |
+
'deactivate-license' => __( 'Deactivate License', 'freemius' ),
|
146 |
+
'activate' => __( 'Activate', 'freemius' ),
|
147 |
+
'deactivate' => __( 'Deactivate', 'freemius' ),
|
148 |
+
'skip-deactivate' => __( 'Skip & Deactivate', 'freemius' ),
|
149 |
+
'no-deactivate' => __( 'No - just deactivate', 'freemius' ),
|
150 |
+
'yes-do-your-thing' => __( 'Yes - do your thing', 'freemius' ),
|
151 |
+
'active' => _x( 'Active', 'active mode', 'freemius' ),
|
152 |
+
'is-active' => _x( 'Is Active', 'is active mode?', 'freemius' ),
|
153 |
+
'install-now' => __( 'Install Now', 'freemius' ),
|
154 |
+
'install-update-now' => __( 'Install Update Now', 'freemius' ),
|
155 |
+
'more-information-about-x' => __( 'More information about %s', 'freemius' ),
|
156 |
+
'localhost' => __( 'Localhost', 'freemius' ),
|
157 |
+
'activate-x-plan' => _x( 'Activate %s Plan', 'as activate Professional plan', 'freemius' ),
|
158 |
+
'x-left' => _x( '%s left', 'as 5 licenses left', 'freemius' ),
|
159 |
+
'last-license' => __( 'Last license', 'freemius' ),
|
160 |
+
'what-is-your-x' => __( 'What is your %s?', 'freemius' ),
|
161 |
+
'activate-this-addon' => __( 'Activate this add-on', 'freemius' ),
|
162 |
+
'deactivate-license-confirm' => __( 'Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?',
|
163 |
+
'freemius' ),
|
164 |
+
'delete-account-x-confirm' => __( 'Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the "Cancel" button, and first "Downgrade" your account. Are you sure you would like to continue with the deletion?',
|
165 |
+
'freemius' ),
|
166 |
+
'delete-account-confirm' => __( 'Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?',
|
167 |
+
'freemius' ),
|
168 |
+
'downgrade-x-confirm' => __( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.',
|
169 |
+
'freemius' ),
|
170 |
+
'cancel-trial-confirm' => __( 'Cancelling the trial will immediately block access to all premium features. Are you sure?',
|
171 |
+
'freemius' ),
|
172 |
+
'after-downgrade-non-blocking' => __( 'You can still enjoy all %s features but you will not have access to plugin updates and support.',
|
173 |
+
'freemius' ),
|
174 |
+
'after-downgrade-blocking' => __( 'Once your license expire you can still use the Free version but you will NOT have access to the %s features.',
|
175 |
+
'freemius' ),
|
176 |
+
'proceed-confirmation' => __( 'Are you sure you want to proceed?', 'freemius' ),
|
177 |
#endregion Account
|
178 |
|
179 |
'add-ons-for-x' => __( 'Add Ons for %s', 'freemius' ),
|
180 |
+
'add-ons-missing' => __( 'We could\'nt load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.',
|
181 |
+
'freemius' ),
|
182 |
#region Plugin Deactivation
|
183 |
'anonymous-feedback' => __( 'Anonymous feedback', 'freemius' ),
|
184 |
'quick-feedback' => __( 'Quick feedback', 'freemius' ),
|
185 |
+
'deactivation-share-reason' => __( 'If you have a moment, please let us know why you are deactivating',
|
186 |
+
'freemius' ),
|
187 |
'deactivation-modal-button-confirm' => __( 'Yes - Deactivate', 'freemius' ),
|
188 |
'deactivation-modal-button-submit' => __( 'Submit & Deactivate', 'freemius' ),
|
189 |
+
'cancel' => __( 'Cancel', 'freemius' ),
|
190 |
'reason-no-longer-needed' => __( 'I no longer need the plugin', 'freemius' ),
|
191 |
'reason-found-a-better-plugin' => __( 'I found a better plugin', 'freemius' ),
|
192 |
'reason-needed-for-a-short-period' => __( 'I only needed the plugin for a short period', 'freemius' ),
|
193 |
'reason-broke-my-site' => __( 'The plugin broke my site', 'freemius' ),
|
194 |
'reason-suddenly-stopped-working' => __( 'The plugin suddenly stopped working', 'freemius' ),
|
195 |
'reason-cant-pay-anymore' => __( "I can't pay for it anymore", 'freemius' ),
|
196 |
+
'reason-temporary-deactivation' => __( "It's a temporary deactivation. I'm just debugging an issue.",
|
197 |
+
'freemius' ),
|
198 |
+
'reason-other' => _x( 'Other',
|
199 |
+
'the text of the "other" reason for deactivating the plugin that is shown in the modal box.', 'freemius' ),
|
200 |
'ask-for-reason-message' => __( 'Kindly tell us the reason so we can improve.', 'freemius' ),
|
201 |
'placeholder-plugin-name' => __( "What's the plugin's name?", 'freemius' ),
|
202 |
'placeholder-comfortable-price' => __( 'What price would you feel comfortable paying?', 'freemius' ),
|
203 |
'reason-couldnt-make-it-work' => __( "I couldn't understand how to make it work", 'freemius' ),
|
204 |
+
'reason-great-but-need-specific-feature' => __( "The plugin is great, but I need specific feature that you don't support",
|
205 |
+
'freemius' ),
|
206 |
'reason-not-working' => __( 'The plugin is not working', 'freemius' ),
|
207 |
'reason-not-what-i-was-looking-for' => __( "It's not what I was looking for", 'freemius' ),
|
208 |
'reason-didnt-work-as-expected' => __( "The plugin didn't work as expected", 'freemius' ),
|
209 |
'placeholder-feature' => __( 'What feature?', 'freemius' ),
|
210 |
+
'placeholder-share-what-didnt-work' => __( "Kindly share what didn't work so we can fix it for future users...",
|
211 |
+
'freemius' ),
|
212 |
'placeholder-what-youve-been-looking-for' => __( "What you've been looking for?", 'freemius' ),
|
213 |
'placeholder-what-did-you-expect' => __( "What did you expect?", 'freemius' ),
|
214 |
'reason-didnt-work' => __( "The plugin didn't work", 'freemius' ),
|
215 |
'reason-dont-like-to-share-my-information' => __( "I don't like to share my information with you", 'freemius' ),
|
216 |
+
'dont-have-to-share-any-data' => __( "You might have missed it, but you don't have to share any data and can just %s the opt-in.",
|
217 |
+
'freemius' ),
|
218 |
#endregion Plugin Deactivation
|
219 |
|
220 |
#region Connect
|
221 |
'hey-x' => _x( 'Hey %s,', 'greeting', 'freemius' ),
|
222 |
'thanks-x' => _x( 'Thanks %s!', 'a greeting. E.g. Thanks John!', 'freemius' ),
|
223 |
+
'connect-message' => __( 'Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s.',
|
224 |
+
'freemius' ),
|
225 |
+
'connect-message_on-update' => __( 'Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that\'s okay! %1$s will still work just fine.',
|
226 |
+
'freemius' ),
|
227 |
+
'pending-activation-message' => __( 'You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s.', 'freemius' ),
|
228 |
+
'complete-the-install' => __( 'complete the install', 'freemius' ),
|
229 |
+
'start-the-trial' => __( 'start the trial', 'freemius' ),
|
230 |
+
'thanks-for-purchasing' => __( 'Thanks for purchasing %s! To get started, please enter your license key:',
|
231 |
+
'freemius' ),
|
232 |
+
'license-sync-disclaimer' => __( 'The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license.',
|
233 |
+
'freemius' ),
|
234 |
'what-permissions' => __( 'What permissions are being granted?', 'freemius' ),
|
235 |
'permissions-profile' => __( 'Your Profile Overview', 'freemius' ),
|
236 |
'permissions-profile_desc' => __( 'Name and email address', 'freemius' ),
|
237 |
'permissions-site' => __( 'Your Site Overview', 'freemius' ),
|
238 |
+
'permissions-site_desc' => __( 'Site URL, WP version, PHP info, plugins & themes',
|
239 |
+
'freemius' ),
|
240 |
'permissions-events' => __( 'Current Plugin Events', 'freemius' ),
|
241 |
'permissions-events_desc' => __( 'Activation, deactivation and uninstall', 'freemius' ),
|
242 |
'permissions-plugins_themes' => __( 'Plugins & Themes', 'freemius' ),
|
243 |
'permissions-plugins_themes_desc' => __( 'Titles, versions and state.', 'freemius' ),
|
244 |
+
'permissions-admin-notices' => __( 'Admin Notices', 'freemius' ),
|
245 |
'permissions-newsletter' => __( 'Newsletter', 'freemius' ),
|
246 |
'permissions-newsletter_desc' => __( 'Updates, announcements, marketing, no spam', 'freemius' ),
|
247 |
'privacy-policy' => __( 'Privacy Policy', 'freemius' ),
|
248 |
'tos' => __( 'Terms of Service', 'freemius' ),
|
249 |
'activating' => _x( 'Activating', 'as activating plugin', 'freemius' ),
|
250 |
+
'sending-email' => _x( 'Sending email', 'as in the process of sending an email',
|
251 |
+
'freemius' ),
|
252 |
'opt-in-connect' => _x( 'Allow & Continue', 'button label', 'freemius' ),
|
253 |
'agree-activate-license' => _x( 'Agree & Activate License', 'button label', 'freemius' ),
|
254 |
'skip' => _x( 'Skip', 'verb', 'freemius' ),
|
260 |
'have-license-key' => __( 'Have a license key?', 'freemius' ),
|
261 |
'dont-have-license-key' => __( 'Don\'t have a license key?', 'freemius' ),
|
262 |
'cant-find-license-key' => __( "Can't find your license key?", 'freemius' ),
|
263 |
+
'email-not-found' => __( "We couldn't find your email address in the system, are you sure it's the right address?",
|
264 |
+
'freemius' ),
|
265 |
+
'no-active-licenses' => __( "We can't see any active licenses associated with that email address, are you sure it's the right address?",
|
266 |
+
'freemius' ),
|
267 |
+
'opt-in' => __( 'Opt In', 'freemius' ),
|
268 |
+
'opt-out' => __( 'Opt Out', 'freemius' ),
|
269 |
+
'opt-out-cancel' => __( 'On second thought - I want to continue helping',
|
270 |
+
'freemius' ),
|
271 |
+
'opting-out' => __( 'Opting out...', 'freemius' ),
|
272 |
+
'opting-in' => __( 'Opting in...', 'freemius' ),
|
273 |
+
'opt-out-message-appreciation' => __( 'We appreciate your help in making the %s better by letting us track some usage data.',
|
274 |
+
'freemius' ),
|
275 |
+
'opt-out-message-usage-tracking' => __( "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking.",
|
276 |
+
'freemius' ),
|
277 |
+
'opt-out-message-clicking-opt-out' => __( 'By clicking "Opt Out", we will no longer be sending any data from %s to %s.',
|
278 |
+
'freemius' ),
|
279 |
#endregion Connect
|
280 |
|
281 |
#region Screenshots
|
293 |
'blocked' => _x( 'Blocked', 'as connection blocked', 'freemius' ),
|
294 |
'api' => _x( 'API', 'as application program interface', 'freemius' ),
|
295 |
'sdk' => _x( 'SDK', 'as software development kit versions', 'freemius' ),
|
296 |
+
'sdk-versions' => _x( 'SDK Versions', 'as software development kit versions',
|
297 |
+
'freemius' ),
|
298 |
'plugin-path' => _x( 'Plugin Path', 'as plugin folder path', 'freemius' ),
|
299 |
'sdk-path' => _x( 'SDK Path', 'as sdk path', 'freemius' ),
|
300 |
'addons-of-x' => __( 'Add Ons of Plugin %s', 'freemius' ),
|
301 |
+
'delete-all-confirm' => __( 'Are you sure you want to delete all Freemius data?',
|
302 |
+
'freemius' ),
|
303 |
'actions' => __( 'Actions', 'freemius' ),
|
304 |
'delete-all-accounts' => __( 'Delete All Accounts', 'freemius' ),
|
305 |
'start-fresh' => __( 'Start Fresh', 'freemius' ),
|
312 |
#region Expressions
|
313 |
'congrats' => _x( 'Congrats', 'as congratulations', 'freemius' ),
|
314 |
'oops' => _x( 'Oops', 'exclamation', 'freemius' ),
|
315 |
+
'yee-haw' => _x( 'Yee-haw', 'interjection expressing joy or exuberance',
|
316 |
+
'freemius' ),
|
317 |
+
'woot' => _x( 'W00t',
|
318 |
+
'(especially in electronic communication) used to express elation, enthusiasm, or triumph.', 'freemius' ),
|
319 |
'right-on' => _x( 'Right on', 'a positive response', 'freemius' ),
|
320 |
+
'hmm' => _x( 'Hmm',
|
321 |
+
'something somebody says when they are thinking about what you have just said. ', 'freemius' ),
|
322 |
'ok' => __( 'O.K', 'freemius' ),
|
323 |
'hey' => _x( 'Hey', 'exclamation', 'freemius' ),
|
324 |
+
'heads-up' => _x( 'Heads up',
|
325 |
+
'advance notice of something that will need attention.', 'freemius' ),
|
326 |
#endregion Expressions
|
327 |
|
328 |
#region Admin Notices
|
329 |
'you-have-latest' => __( 'Seems like you got the latest release.', 'freemius' ),
|
330 |
'you-are-good' => __( 'You are all good!', 'freemius' ),
|
331 |
+
'user-exist-message' => __( 'Sorry, we could not complete the email update. Another user with the same email is already registered.',
|
332 |
+
'freemius' ),
|
333 |
+
'user-exist-message_ownership' => __( 'If you would like to give up the ownership of the plugin\'s account to %s click the Change Ownership button.',
|
334 |
+
'freemius' ),
|
335 |
+
'email-updated-message' => __( 'Your email was successfully updated. You should receive an email with confirmation instructions in few moments.',
|
336 |
+
'freemius' ),
|
337 |
'name-updated-message' => __( 'Your name was successfully updated.', 'freemius' ),
|
338 |
'x-updated' => __( 'You have successfully updated your %s.', 'freemius' ),
|
339 |
'name-update-failed-message' => __( 'Please provide your full name.', 'freemius' ),
|
340 |
+
'verification-email-sent-message' => __( 'Verification mail was just sent to %s. If you can\'t find it after 5 min, please check your spam box.',
|
341 |
+
'freemius' ),
|
342 |
+
'addons-info-external-message' => __( 'Just letting you know that the add-ons information of %s is being pulled from an external server.',
|
343 |
+
'freemius' ),
|
344 |
'no-cc-required' => __( 'No credit card required', 'freemius' ),
|
345 |
+
'premium-activated-message' => __( 'Premium plugin version was successfully activated.',
|
346 |
+
'freemius' ),
|
347 |
'successful-version-upgrade-message' => __( 'The upgrade of %s was successfully completed.', 'freemius' ),
|
348 |
+
'activation-with-plan-x-message' => __( 'Your account was successfully activated with the %s plan.',
|
349 |
+
'freemius' ),
|
350 |
'download-latest-x-version-now' => __( 'Download the latest %s version now', 'freemius' ),
|
351 |
+
'follow-steps-to-complete-upgrade' => __( 'Please follow these steps to complete the upgrade',
|
352 |
+
'freemius' ),
|
353 |
'download-latest-x-version' => __( 'Download the latest %s version', 'freemius' ),
|
354 |
+
'download-latest-version' => __( 'Download the latest version', 'freemius' ),
|
355 |
'deactivate-free-version' => __( 'Deactivate the free version', 'freemius' ),
|
356 |
'upload-and-activate' => __( 'Upload and activate the downloaded version', 'freemius' ),
|
357 |
'howto-upload-activate' => __( 'How to upload and activate?', 'freemius' ),
|
358 |
+
'addon-successfully-purchased-message' => _x( '%s Add-on was successfully purchased.',
|
359 |
+
'%s - product name, e.g. Facebook add-on was successfully...', 'freemius' ),
|
360 |
+
'addon-successfully-upgraded-message' => __( 'Your %s Add-on plan was successfully upgraded.',
|
361 |
+
'freemius' ),
|
362 |
+
'email-verified-message' => __( 'Your email has been successfully verified - you are AWESOME!',
|
363 |
+
'freemius' ),
|
364 |
'plan-upgraded-message' => __( 'Your plan was successfully upgraded.', 'freemius' ),
|
365 |
'plan-changed-to-x-message' => __( 'Your plan was successfully changed to %s.', 'freemius' ),
|
366 |
+
'license-expired-blocking-message' => __( 'Your license has expired. You can still continue using the free plugin forever.',
|
367 |
+
'freemius' ),
|
368 |
+
'license-cancelled' => __( 'Your license has been cancelled. If you think it\'s a mistake, please contact support.',
|
369 |
+
'freemius' ),
|
370 |
'trial-started-message' => __( 'Your trial has been successfully started.', 'freemius' ),
|
371 |
'license-activated-message' => __( 'Your license was successfully activated.', 'freemius' ),
|
372 |
+
'no-active-license-message' => __( 'It looks like your site currently doesn\'t have an active license.',
|
373 |
+
'freemius' ),
|
374 |
+
'license-deactivation-message' => __( 'Your license was successfully deactivated, you are back to the %s plan.',
|
375 |
+
'freemius' ),
|
376 |
+
'license-deactivation-failed-message' => __( 'It looks like the license deactivation failed.',
|
377 |
+
'freemius' ),
|
378 |
+
'license-activation-failed-message' => __( 'It looks like the license could not be activated.',
|
379 |
+
'freemius' ),
|
380 |
'server-error-message' => __( 'Error received from the server:', 'freemius' ),
|
381 |
+
'trial-expired-message' => __( 'Your trial has expired. You can still continue using all our free features.',
|
382 |
+
'freemius' ),
|
383 |
+
'plan-x-downgraded-message' => __( 'Your plan was successfully downgraded. Your %s plan license will expire in %s.',
|
384 |
+
'freemius' ),
|
385 |
+
'plan-downgraded-failure-message' => __( 'Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes.',
|
386 |
+
'freemius' ),
|
387 |
+
'trial-cancel-no-trial-message' => __( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)',
|
388 |
+
'freemius' ),
|
389 |
+
'trial-cancel-message' => __( 'Your %s free trial was successfully cancelled.',
|
390 |
+
'freemius' ),
|
391 |
+
'version-x-released' => _x( 'Version %s was released.', '%s - numeric version number',
|
392 |
+
'freemius' ),
|
393 |
'please-download-x' => __( 'Please download %s.', 'freemius' ),
|
394 |
+
'latest-x-version' => _x( 'the latest %s version here',
|
395 |
+
'%s - plan name, as the latest professional version here', 'freemius' ),
|
396 |
+
'trial-x-promotion-message' => __( 'How do you like %s so far? Test all our %s premium features with a %d-day free trial.',
|
397 |
+
'freemius' ),
|
398 |
'start-free-trial' => _x( 'Start free trial', 'call to action', 'freemius' ),
|
399 |
+
'starting-trial' => __( 'Starting trial', 'freemius' ),
|
400 |
+
'please-wait' => __( 'Please wait', 'freemius' ),
|
401 |
+
'trial-cancel-failure-message' => __( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.',
|
402 |
+
'freemius' ),
|
403 |
'trial-utilized' => __( 'You already utilized a trial before.', 'freemius' ),
|
404 |
+
'in-trial-mode' => __( 'You are already running the plugin in a trial mode.',
|
405 |
+
'freemius' ),
|
406 |
+
'trial-plan-x-not-exist' => __( 'Plan %s do not exist, therefore, can\'t start a trial.',
|
407 |
+
'freemius' ),
|
408 |
'plan-x-no-trial' => __( 'Plan %s does not support a trial period.', 'freemius' ),
|
409 |
+
'no-trials' => __( 'None of the plugin\'s plans supports a trial period.',
|
410 |
+
'freemius' ),
|
411 |
+
'unexpected-api-error' => __( 'Unexpected API error. Please contact the plugin\'s author with the following error.',
|
412 |
+
'freemius' ),
|
413 |
'no-commitment-for-x-days' => __( 'No commitment for %s days - cancel anytime!', 'freemius' ),
|
414 |
+
'license-expired-non-blocking-message' => __( 'Your license has expired. You can still continue using all the %s features, but you\'ll need to renew your license to continue getting updates and support.',
|
415 |
+
'freemius' ),
|
416 |
'could-not-activate-x' => __( 'Couldn\'t activate %s.', 'freemius' ),
|
417 |
'contact-us-with-error-message' => __( 'Please contact us with the following message:', 'freemius' ),
|
418 |
+
'plan-did-not-change-message' => __( 'It looks like you are still on the %s plan. If you did upgrade or change your plan, it\'s probably an issue on our side - sorry.',
|
419 |
+
'freemius' ),
|
420 |
'contact-us-here' => __( 'Please contact us here', 'freemius' ),
|
421 |
+
'plan-did-not-change-email-message' => __( 'I have upgraded my account but when I try to Sync the License, the plan remains %s.',
|
422 |
+
'freemius' ),
|
423 |
#endregion Admin Notices
|
424 |
#region Connectivity Issues
|
425 |
+
'connectivity-test-fails-message' => __( 'From unknown reason, the API connectivity test failed.',
|
426 |
+
'freemius' ),
|
427 |
+
'connectivity-test-maybe-temporary' => __( 'It\'s probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?',
|
428 |
+
'freemius' ),
|
429 |
+
'curl-missing-message' => __( 'We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server.',
|
430 |
+
'freemius' ),
|
431 |
+
'cloudflare-blocks-connection-message' => __( 'From unknown reason, CloudFlare, the firewall we use, blocks the connection.',
|
432 |
+
'freemius' ),
|
433 |
+
'x-requires-access-to-api' => _x( '%s requires an access to our API.',
|
434 |
+
'as pluginX requires an access to our API', 'freemius' ),
|
435 |
+
'squid-blocks-connection-message' => __( 'It looks like your server is using Squid ACL (access control lists), which blocks the connection.',
|
436 |
+
'freemius' ),
|
437 |
'squid-no-clue-title' => __( 'I don\'t know what is Squid or ACL, help me!', 'freemius' ),
|
438 |
+
'squid-no-clue-desc' => __( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.',
|
439 |
+
'freemius' ),
|
440 |
'sysadmin-title' => __( 'I\'m a system administrator', 'freemius' ),
|
441 |
+
'squid-sysadmin-desc' => __( 'Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again.',
|
442 |
+
'freemius' ),
|
443 |
+
'curl-missing-no-clue-title' => __( 'I don\'t know what is cURL or how to install it, help me!',
|
444 |
+
'freemius' ),
|
445 |
+
'curl-missing-no-clue-desc' => __( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.',
|
446 |
+
'freemius' ),
|
447 |
+
'curl-missing-sysadmin-desc' => __( 'Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use \'phpinfo()\'. Once activated, deactivate the plugin and reactivate it back again.',
|
448 |
+
'freemius' ),
|
449 |
+
'happy-to-resolve-issue-asap' => __( 'We are sure it\'s an issue on our side and more than happy to resolve it for you ASAP if you give us a chance.',
|
450 |
+
'freemius' ),
|
451 |
+
'contact-support-before-deactivation' => __( 'Sorry for the inconvenience and we are here to help if you give us a chance.',
|
452 |
+
'freemius' ),
|
453 |
'fix-issue-title' => __( 'Yes - I\'m giving you a chance to fix it', 'freemius' ),
|
454 |
+
'fix-issue-desc' => __( 'We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update.',
|
455 |
+
'freemius' ),
|
456 |
'install-previous-title' => __( 'Let\'s try your previous version', 'freemius' ),
|
457 |
+
'install-previous-desc' => __( 'Uninstall this version and install the previous one.',
|
458 |
+
'freemius' ),
|
459 |
'deactivate-plugin-title' => __( 'That\'s exhausting, please deactivate', 'freemius' ),
|
460 |
+
'deactivate-plugin-desc' => __( 'We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future.',
|
461 |
+
'freemius' ),
|
462 |
+
'fix-request-sent-message' => __( 'Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience.',
|
463 |
+
'freemius' ),
|
464 |
+
'server-blocking-access' => _x( 'Your server is blocking the access to Freemius\' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s',
|
465 |
+
'%1s - plugin title, %2s - API domain', 'freemius' ),
|
466 |
+
'wrong-authentication-param-message' => __( 'It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again.',
|
467 |
+
'freemius' ),
|
468 |
#endregion Connectivity Issues
|
469 |
#region Change Owner
|
470 |
+
'change-owner-request-sent-x' => __( 'Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder.',
|
471 |
+
'freemius' ),
|
472 |
+
'change-owner-request_owner-confirmed' => __( 'Thanks for confirming the ownership change. An email was just sent to %s for final approval.',
|
473 |
+
'freemius' ),
|
474 |
'change-owner-request_candidate-confirmed' => __( '%s is the new owner of the account.', 'freemius' ),
|
475 |
#endregion Change Owner
|
476 |
+
'addon-x-cannot-run-without-y' => _x( '%s cannot run without %s.',
|
477 |
+
'addonX cannot run without pluginY', 'freemius' ),
|
478 |
+
'addon-x-cannot-run-without-parent' => _x( '%s cannot run without the plugin.', 'addonX cannot run...',
|
479 |
+
'freemius' ),
|
480 |
+
'plugin-x-activation-message' => _x( '%s activation was successfully completed.',
|
481 |
+
'pluginX activation was successfully...', 'freemius' ),
|
482 |
+
'features-and-pricing' => _x( 'Features & Pricing', 'Plugin installer section title',
|
483 |
+
'freemius' ),
|
484 |
+
'free-addon-not-deployed' => __( 'Add-on must be deployed to WordPress.org or Freemius.',
|
485 |
+
'freemius' ),
|
486 |
'paid-addon-not-deployed' => __( 'Paid add-on must be deployed to Freemius.', 'freemius' ),
|
487 |
+
#--------------------------------------------------------------------------------
|
488 |
#region Add-On Licensing
|
489 |
+
#--------------------------------------------------------------------------------
|
490 |
+
'addon-no-license-message' => __( '%s is a premium only add-on. You have to purchase a license first before activating the plugin.',
|
491 |
+
'freemius' ),
|
492 |
+
'addon-trial-cancelled-message' => __( '%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you\'ll have to purchase a license.',
|
493 |
+
'freemius' ),
|
494 |
+
#endregion
|
495 |
+
#--------------------------------------------------------------------------------
|
496 |
#region Billing Cycles
|
497 |
+
#--------------------------------------------------------------------------------
|
498 |
'monthly' => _x( 'Monthly', 'as every month', 'freemius' ),
|
499 |
'mo' => _x( 'mo', 'as monthly period', 'freemius' ),
|
500 |
'annual' => _x( 'Annual', 'as once a year', 'freemius' ),
|
507 |
'save-x' => _x( 'Save %s', 'as a discount of $5 or 10%', 'freemius' ),
|
508 |
#endregion Billing Cycles
|
509 |
'view-details' => __( 'View details', 'freemius' ),
|
510 |
+
#--------------------------------------------------------------------------------
|
511 |
+
#region Trial
|
512 |
+
#--------------------------------------------------------------------------------
|
513 |
+
'approve-start-trial' => _x( 'Approve & Start Trial', 'button label', 'freemius' ),
|
514 |
+
/* translators: %1$s: Number of trial days; %2$s: Plan name; */
|
515 |
+
'start-trial-prompt-header' => __( 'You are 1-click away from starting your %1$s-day free trial of the %2$s plan.', 'freemius' ),
|
516 |
+
/* translators: %s: Link to freemius.com */
|
517 |
+
'start-trial-prompt-message' => __( 'For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial.', 'freemius' ),
|
518 |
+
|
519 |
+
#endregion
|
520 |
+
#--------------------------------------------------------------------------------
|
521 |
+
#region Billing Details
|
522 |
+
#--------------------------------------------------------------------------------
|
523 |
+
'business-name' => __( 'Business name', 'freemius' ),
|
524 |
+
'tax-vat-id' => __( 'Tax / VAT ID', 'freemius' ),
|
525 |
+
'address-line-n' => __( 'Address Line %d', 'freemius' ),
|
526 |
+
'country' => __( 'Country', 'freemius' ),
|
527 |
+
'select-country' => __( 'Select Country', 'freemius' ),
|
528 |
+
'city' => __( 'City', 'freemius' ),
|
529 |
+
'town' => __( 'Town', 'freemius' ),
|
530 |
+
'state' => __( 'State', 'freemius' ),
|
531 |
+
'province' => __( 'Province', 'freemius' ),
|
532 |
+
'zip-postal-code' => __( 'ZIP / Postal Code', 'freemius' ),
|
533 |
+
#endregion
|
534 |
);
|
freemius/includes/managers/class-fs-admin-menu-manager.php
CHANGED
@@ -502,7 +502,6 @@
|
|
502 |
}
|
503 |
|
504 |
/**
|
505 |
-
*
|
506 |
* @author Vova Feldman (@svovaf)
|
507 |
* @since 1.1.4
|
508 |
*
|
@@ -545,5 +544,28 @@
|
|
545 |
return $hookname;
|
546 |
}
|
547 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
#endregion Top level menu Override
|
549 |
}
|
502 |
}
|
503 |
|
504 |
/**
|
|
|
505 |
* @author Vova Feldman (@svovaf)
|
506 |
* @since 1.1.4
|
507 |
*
|
544 |
return $hookname;
|
545 |
}
|
546 |
|
547 |
+
/**
|
548 |
+
* Adds a counter to the module's top level menu item.
|
549 |
+
*
|
550 |
+
* @author Vova Feldman (@svovaf)
|
551 |
+
* @since 1.2.1.5
|
552 |
+
*
|
553 |
+
* @param int $counter
|
554 |
+
* @param string $class
|
555 |
+
*/
|
556 |
+
function add_counter_to_menu_item( $counter = 1, $class = '' ) {
|
557 |
+
global $menu;
|
558 |
+
|
559 |
+
// Find main menu item.
|
560 |
+
$found_menu = $this->find_top_level_menu();
|
561 |
+
|
562 |
+
if ( false === $menu ) {
|
563 |
+
return;
|
564 |
+
}
|
565 |
+
|
566 |
+
// Override menu label.
|
567 |
+
$menu[ $found_menu['position'] ][0] = $found_menu['menu'][0] . ' <span class="update-plugins ' . $class . ' count-' . $counter . '"><span>' . $counter . '</span></span>';
|
568 |
+
}
|
569 |
+
|
570 |
#endregion Top level menu Override
|
571 |
}
|
freemius/includes/managers/class-fs-admin-notice-manager.php
CHANGED
@@ -279,6 +279,9 @@
|
|
279 |
* @param bool $all_admin
|
280 |
*/
|
281 |
function add_sticky( $message, $id, $title = '', $type = 'success', $all_admin = false ) {
|
|
|
|
|
|
|
282 |
$this->add( $message, $title, $type, true, $all_admin, $id );
|
283 |
}
|
284 |
|
279 |
* @param bool $all_admin
|
280 |
*/
|
281 |
function add_sticky( $message, $id, $title = '', $type = 'success', $all_admin = false ) {
|
282 |
+
$message = fs_apply_filter( $this->_slug, "sticky_message_{$id}", $message );
|
283 |
+
$title = fs_apply_filter( $this->_slug, "sticky_title_{$id}", $title );
|
284 |
+
|
285 |
$this->add( $message, $title, $type, true, $all_admin, $id );
|
286 |
}
|
287 |
|
freemius/includes/sdk/Exceptions/ArgumentNotExistException.php
CHANGED
@@ -3,4 +3,7 @@
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
-
|
|
|
|
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
+
if ( ! class_exists( 'Freemius_ArgumentNotExistException' ) ) {
|
7 |
+
class Freemius_ArgumentNotExistException extends Freemius_InvalidArgumentException {
|
8 |
+
}
|
9 |
+
}
|
freemius/includes/sdk/Exceptions/EmptyArgumentException.php
CHANGED
@@ -3,4 +3,7 @@
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
-
|
|
|
|
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
+
if ( ! class_exists( 'Freemius_EmptyArgumentException' ) ) {
|
7 |
+
class Freemius_EmptyArgumentException extends Freemius_InvalidArgumentException {
|
8 |
+
}
|
9 |
+
}
|
freemius/includes/sdk/Exceptions/Exception.php
CHANGED
@@ -1,75 +1,74 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Make a new API Exception with the given result.
|
14 |
-
*
|
15 |
-
* @param array $result The result from the API server.
|
16 |
-
*/
|
17 |
-
public function __construct($result)
|
18 |
-
{
|
19 |
-
$this->_result = $result;
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
$code = $result['error']['code'];
|
29 |
-
if (isset($result['error']['message']))
|
30 |
-
$message = $result['error']['message'];
|
31 |
-
if (isset($result['error']['type']))
|
32 |
-
$type = $result['error']['type'];
|
33 |
-
}
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
parent::__construct($message, is_numeric($code) ? $code : 0);
|
39 |
-
}
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
return $this->_code;
|
54 |
-
}
|
55 |
-
|
56 |
-
public function getType()
|
57 |
-
{
|
58 |
-
return $this->_type;
|
59 |
-
}
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
*
|
64 |
-
* @return string The string representation of the error
|
65 |
-
*/
|
66 |
-
public function __toString()
|
67 |
-
{
|
68 |
-
$str = $this->getType() . ': ';
|
69 |
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
/**
|
4 |
+
* Thrown when an API call returns an exception.
|
5 |
+
*
|
6 |
+
*/
|
7 |
+
class Freemius_Exception extends Exception {
|
8 |
+
protected $_result;
|
9 |
+
protected $_type;
|
10 |
+
protected $_code;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
+
/**
|
13 |
+
* Make a new API Exception with the given result.
|
14 |
+
*
|
15 |
+
* @param array $result The result from the API server.
|
16 |
+
*/
|
17 |
+
public function __construct( $result ) {
|
18 |
+
$this->_result = $result;
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
+
$code = 0;
|
21 |
+
$message = 'Unknown error, please check GetResult().';
|
22 |
+
$type = '';
|
|
|
|
|
23 |
|
24 |
+
if ( isset( $result['error'] ) && is_array( $result['error'] ) ) {
|
25 |
+
if ( isset( $result['error']['code'] ) ) {
|
26 |
+
$code = $result['error']['code'];
|
27 |
+
}
|
28 |
+
if ( isset( $result['error']['message'] ) ) {
|
29 |
+
$message = $result['error']['message'];
|
30 |
+
}
|
31 |
+
if ( isset( $result['error']['type'] ) ) {
|
32 |
+
$type = $result['error']['type'];
|
33 |
+
}
|
34 |
+
}
|
35 |
|
36 |
+
$this->_type = $type;
|
37 |
+
$this->_code = $code;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
+
parent::__construct( $message, is_numeric( $code ) ? $code : 0 );
|
40 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
+
/**
|
43 |
+
* Return the associated result object returned by the API server.
|
44 |
+
*
|
45 |
+
* @return array The result from the API server
|
46 |
+
*/
|
47 |
+
public function getResult() {
|
48 |
+
return $this->_result;
|
49 |
+
}
|
50 |
|
51 |
+
public function getStringCode() {
|
52 |
+
return $this->_code;
|
53 |
+
}
|
54 |
+
|
55 |
+
public function getType() {
|
56 |
+
return $this->_type;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* To make debugging easier.
|
61 |
+
*
|
62 |
+
* @return string The string representation of the error
|
63 |
+
*/
|
64 |
+
public function __toString() {
|
65 |
+
$str = $this->getType() . ': ';
|
66 |
+
|
67 |
+
if ( $this->code != 0 ) {
|
68 |
+
$str .= $this->getStringCode() . ': ';
|
69 |
+
}
|
70 |
+
|
71 |
+
return $str . $this->getMessage();
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
freemius/includes/sdk/Exceptions/InvalidArgumentException.php
CHANGED
@@ -3,4 +3,6 @@
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
-
|
|
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
7 |
+
class Freemius_InvalidArgumentException extends Freemius_Exception { }
|
8 |
+
}
|
freemius/includes/sdk/Exceptions/OAuthException.php
CHANGED
@@ -3,10 +3,10 @@
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
+
if ( ! class_exists( 'Freemius_OAuthException' ) ) {
|
7 |
+
class Freemius_OAuthException extends Freemius_Exception {
|
8 |
+
public function __construct( $pResult ) {
|
9 |
+
parent::__construct( $pResult );
|
10 |
+
}
|
11 |
+
}
|
12 |
+
}
|
freemius/includes/sdk/Freemius.php
CHANGED
@@ -17,7 +17,9 @@
|
|
17 |
|
18 |
require_once( dirname( __FILE__ ) . '/FreemiusBase.php' );
|
19 |
|
20 |
-
|
|
|
|
|
21 |
|
22 |
if ( ! defined( 'FS_SDK__SIMULATE_NO_CURL' ) ) {
|
23 |
define( 'FS_SDK__SIMULATE_NO_CURL', false );
|
@@ -31,7 +33,9 @@
|
|
31 |
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
32 |
}
|
33 |
|
34 |
-
|
|
|
|
|
35 |
|
36 |
if ( ! FS_SDK__HAS_CURL ) {
|
37 |
$curl_version = array( 'version' => '7.0.0' );
|
@@ -39,7 +43,9 @@
|
|
39 |
$curl_version = curl_version();
|
40 |
}
|
41 |
|
42 |
-
|
|
|
|
|
43 |
|
44 |
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
45 |
define( 'FS_API__LOGGER_ON', false );
|
@@ -52,6 +58,10 @@
|
|
52 |
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
55 |
class Freemius_Api extends Freemius_Api_Base {
|
56 |
private static $_logger = array();
|
57 |
|
@@ -312,12 +322,9 @@
|
|
312 |
CURLOPT_RETURNTRANSFER => true,
|
313 |
CURLOPT_TIMEOUT => 60,
|
314 |
CURLOPT_USERAGENT => FS_SDK__USER_AGENT,
|
|
|
315 |
);
|
316 |
|
317 |
-
if ( ! isset( $opts[ CURLOPT_HTTPHEADER ] ) || ! is_array( $opts[ CURLOPT_HTTPHEADER ] ) ) {
|
318 |
-
$opts[ CURLOPT_HTTPHEADER ] = array();
|
319 |
-
}
|
320 |
-
|
321 |
if ( 'POST' === $pMethod || 'PUT' === $pMethod ) {
|
322 |
if ( is_array( $pParams ) && 0 < count( $pParams ) ) {
|
323 |
$opts[ CURLOPT_HTTPHEADER ][] = 'Content-Type: application/json';
|
@@ -328,7 +335,7 @@
|
|
328 |
$opts[ CURLOPT_RETURNTRANSFER ] = true;
|
329 |
}
|
330 |
|
331 |
-
$request_url =
|
332 |
|
333 |
$opts[ CURLOPT_URL ] = $request_url;
|
334 |
$opts[ CURLOPT_CUSTOMREQUEST ] = $pMethod;
|
17 |
|
18 |
require_once( dirname( __FILE__ ) . '/FreemiusBase.php' );
|
19 |
|
20 |
+
if ( ! defined( 'FS_SDK__USER_AGENT' ) ) {
|
21 |
+
define( 'FS_SDK__USER_AGENT', 'fs-php-' . Freemius_Api_Base::VERSION );
|
22 |
+
}
|
23 |
|
24 |
if ( ! defined( 'FS_SDK__SIMULATE_NO_CURL' ) ) {
|
25 |
define( 'FS_SDK__SIMULATE_NO_CURL', false );
|
33 |
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
34 |
}
|
35 |
|
36 |
+
if ( ! defined( 'FS_SDK__HAS_CURL' ) ) {
|
37 |
+
define( 'FS_SDK__HAS_CURL', ! FS_SDK__SIMULATE_NO_CURL && function_exists( 'curl_version' ) );
|
38 |
+
}
|
39 |
|
40 |
if ( ! FS_SDK__HAS_CURL ) {
|
41 |
$curl_version = array( 'version' => '7.0.0' );
|
43 |
$curl_version = curl_version();
|
44 |
}
|
45 |
|
46 |
+
if ( ! defined( 'FS_API__PROTOCOL' ) ) {
|
47 |
+
define( 'FS_API__PROTOCOL', version_compare( $curl_version['version'], '7.37', '>=' ) ? 'https' : 'http' );
|
48 |
+
}
|
49 |
|
50 |
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
51 |
define( 'FS_API__LOGGER_ON', false );
|
58 |
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
59 |
}
|
60 |
|
61 |
+
if ( class_exists( 'Freemius_Api' ) ) {
|
62 |
+
return;
|
63 |
+
}
|
64 |
+
|
65 |
class Freemius_Api extends Freemius_Api_Base {
|
66 |
private static $_logger = array();
|
67 |
|
322 |
CURLOPT_RETURNTRANSFER => true,
|
323 |
CURLOPT_TIMEOUT => 60,
|
324 |
CURLOPT_USERAGENT => FS_SDK__USER_AGENT,
|
325 |
+
CURLOPT_HTTPHEADER => array(),
|
326 |
);
|
327 |
|
|
|
|
|
|
|
|
|
328 |
if ( 'POST' === $pMethod || 'PUT' === $pMethod ) {
|
329 |
if ( is_array( $pParams ) && 0 < count( $pParams ) ) {
|
330 |
$opts[ CURLOPT_HTTPHEADER ][] = 'Content-Type: application/json';
|
335 |
$opts[ CURLOPT_RETURNTRANSFER ] = true;
|
336 |
}
|
337 |
|
338 |
+
$request_url = self::GetUrl( $pCanonizedPath, $pIsSandbox );
|
339 |
|
340 |
$opts[ CURLOPT_URL ] = $request_url;
|
341 |
$opts[ CURLOPT_CUSTOMREQUEST ] = $pMethod;
|
freemius/includes/sdk/FreemiusBase.php
CHANGED
@@ -15,9 +15,15 @@
|
|
15 |
* under the License.
|
16 |
*/
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
if ( ! function_exists( 'json_decode' ) ) {
|
23 |
throw new Exception( 'Freemius needs the JSON PHP extension.' );
|
@@ -36,6 +42,10 @@
|
|
36 |
require_once FS_SDK__EXCEPTIONS_PATH . $e . '.php';
|
37 |
}
|
38 |
|
|
|
|
|
|
|
|
|
39 |
abstract class Freemius_Api_Base {
|
40 |
const VERSION = '1.0.4';
|
41 |
const FORMAT = 'json';
|
@@ -47,7 +57,7 @@
|
|
47 |
protected $_isSandbox;
|
48 |
|
49 |
/**
|
50 |
-
* @param string $pScope 'app', 'developer', 'user' or 'install'.
|
51 |
* @param number $pID Element's id.
|
52 |
* @param string $pPublic Public key.
|
53 |
* @param string $pSecret Element's secret key.
|
15 |
* under the License.
|
16 |
*/
|
17 |
|
18 |
+
if ( ! defined( 'FS_API__VERSION' ) ) {
|
19 |
+
define( 'FS_API__VERSION', '1' );
|
20 |
+
}
|
21 |
+
if ( ! defined( 'FS_SDK__PATH' ) ) {
|
22 |
+
define( 'FS_SDK__PATH', dirname( __FILE__ ) );
|
23 |
+
}
|
24 |
+
if ( ! defined( 'FS_SDK__EXCEPTIONS_PATH' ) ) {
|
25 |
+
define( 'FS_SDK__EXCEPTIONS_PATH', FS_SDK__PATH . '/Exceptions/' );
|
26 |
+
}
|
27 |
|
28 |
if ( ! function_exists( 'json_decode' ) ) {
|
29 |
throw new Exception( 'Freemius needs the JSON PHP extension.' );
|
42 |
require_once FS_SDK__EXCEPTIONS_PATH . $e . '.php';
|
43 |
}
|
44 |
|
45 |
+
if ( class_exists( 'Freemius_Api_Base' ) ) {
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
|
49 |
abstract class Freemius_Api_Base {
|
50 |
const VERSION = '1.0.4';
|
51 |
const FORMAT = 'json';
|
57 |
protected $_isSandbox;
|
58 |
|
59 |
/**
|
60 |
+
* @param string $pScope 'app', 'developer', 'plugin', 'user' or 'install'.
|
61 |
* @param number $pID Element's id.
|
62 |
* @param string $pPublic Public key.
|
63 |
* @param string $pSecret Element's secret key.
|
freemius/includes/supplements/fs-essential-functions-1.1.7.1.php
CHANGED
@@ -37,9 +37,11 @@
|
|
37 |
// Get active plugin's main files real full names (might be symlinks).
|
38 |
foreach ( $all_plugins as $relative_path => &$data ) {
|
39 |
if ( 0 === strpos( $file_real_path, fs_normalize_path( dirname( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ) ) ) ) {
|
40 |
-
|
|
|
|
|
41 |
}
|
42 |
}
|
43 |
|
44 |
return null;
|
45 |
-
}
|
37 |
// Get active plugin's main files real full names (might be symlinks).
|
38 |
foreach ( $all_plugins as $relative_path => &$data ) {
|
39 |
if ( 0 === strpos( $file_real_path, fs_normalize_path( dirname( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ) ) ) ) {
|
40 |
+
if ( '.' !== dirname( trailingslashit( $relative_path ) ) ) {
|
41 |
+
return $relative_path;
|
42 |
+
}
|
43 |
}
|
44 |
}
|
45 |
|
46 |
return null;
|
47 |
+
}
|
freemius/languages/freemius-da_DK.mo
ADDED
Binary file
|
freemius/languages/freemius-da_DK.po
ADDED
@@ -0,0 +1,1661 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 freemius
|
2 |
+
# This file is distributed under the same license as the freemius package.
|
3 |
+
# Translators:
|
4 |
+
# Joachim Jensen <jv@intox.dk>, 2016
|
5 |
+
msgid ""
|
6 |
+
msgstr ""
|
7 |
+
"Project-Id-Version: WordPress SDK\n"
|
8 |
+
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
+
"PO-Revision-Date: 2016-12-07 01:29+0000\n"
|
10 |
+
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
11 |
+
"Language-Team: Danish (Denmark) (http://www.transifex.com/freemius/wordpress-sdk/language/da_DK/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: da_DK\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"X-Poedit-Basepath: ..\n"
|
18 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
19 |
+
"X-Poedit-SearchPath-0: .\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
21 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
+
|
23 |
+
#: includes/i18n.php41, includes/i18n.php:55
|
24 |
+
msgid "Yes - I'm in!"
|
25 |
+
msgstr "Ja - jeg er med!"
|
26 |
+
|
27 |
+
#: includes/i18n.php43, includes/i18n.php:57
|
28 |
+
msgid "Not today"
|
29 |
+
msgstr "Ikke i dag"
|
30 |
+
|
31 |
+
#: includes/i18n.php:69
|
32 |
+
msgid "Account"
|
33 |
+
msgstr "Konto"
|
34 |
+
|
35 |
+
#: includes/i18n.php:71
|
36 |
+
msgid "Add On"
|
37 |
+
msgstr "Tilføjelse"
|
38 |
+
|
39 |
+
#: includes/i18n.php:73
|
40 |
+
msgid "Contact Us"
|
41 |
+
msgstr "Kontakt os"
|
42 |
+
|
43 |
+
#: includes/i18n.php:75
|
44 |
+
msgid "Contact Support"
|
45 |
+
msgstr "Kontakt support"
|
46 |
+
|
47 |
+
#: includes/i18n.php:77
|
48 |
+
msgid "Change Ownership"
|
49 |
+
msgstr "Skift ejerskab"
|
50 |
+
|
51 |
+
#: includes/i18n.php:79
|
52 |
+
msgid "Support"
|
53 |
+
msgstr "Support"
|
54 |
+
|
55 |
+
#: includes/i18n.php:81
|
56 |
+
msgid "Support Forum"
|
57 |
+
msgstr "Supportforum"
|
58 |
+
|
59 |
+
#: includes/i18n.php:83
|
60 |
+
msgid "Add Ons"
|
61 |
+
msgstr "Tilføjelser"
|
62 |
+
|
63 |
+
#: includes/i18n.php:85
|
64 |
+
msgctxt "verb"
|
65 |
+
msgid "Upgrade"
|
66 |
+
msgstr "Opgrader"
|
67 |
+
|
68 |
+
#: includes/i18n.php:87
|
69 |
+
msgid "Awesome"
|
70 |
+
msgstr "Sejt"
|
71 |
+
|
72 |
+
#: includes/i18n.php:89
|
73 |
+
msgctxt "noun"
|
74 |
+
msgid "Pricing"
|
75 |
+
msgstr "Priser"
|
76 |
+
|
77 |
+
#: includes/i18n.php:91
|
78 |
+
msgctxt "noun"
|
79 |
+
msgid "Price"
|
80 |
+
msgstr "Pris"
|
81 |
+
|
82 |
+
#: includes/i18n.php:93
|
83 |
+
msgid "Unlimited Updates"
|
84 |
+
msgstr "Ubegrænsede opdateringer"
|
85 |
+
|
86 |
+
#: includes/i18n.php:95
|
87 |
+
msgctxt "verb"
|
88 |
+
msgid "Downgrade"
|
89 |
+
msgstr "Nedgrader"
|
90 |
+
|
91 |
+
#: includes/i18n.php:97
|
92 |
+
msgid "Cancel Trial"
|
93 |
+
msgstr "Annuller prøveperiode"
|
94 |
+
|
95 |
+
#: includes/i18n.php:99
|
96 |
+
msgid "Free Trial"
|
97 |
+
msgstr "Gratis prøveperiode"
|
98 |
+
|
99 |
+
#: includes/i18n.php:101
|
100 |
+
msgid "Start my free %s"
|
101 |
+
msgstr "Start min gratis %s"
|
102 |
+
|
103 |
+
#: includes/i18n.php:103
|
104 |
+
msgid "No commitment for %s - cancel anytime"
|
105 |
+
msgstr "Ingen bindinger ved %s - annuller når som helst"
|
106 |
+
|
107 |
+
#: includes/i18n.php:105
|
108 |
+
msgid "After your free %s, pay as little as %s"
|
109 |
+
msgstr "Efter din gratis %s er prisen kun %s"
|
110 |
+
|
111 |
+
#: includes/i18n.php:107
|
112 |
+
msgid "Details"
|
113 |
+
msgstr "Detaljer"
|
114 |
+
|
115 |
+
#: includes/i18n.php:109
|
116 |
+
msgid "Account Details"
|
117 |
+
msgstr "Kontodetaljer"
|
118 |
+
|
119 |
+
#: includes/i18n.php:111
|
120 |
+
msgctxt "verb"
|
121 |
+
msgid "Delete"
|
122 |
+
msgstr "Slet"
|
123 |
+
|
124 |
+
#: includes/i18n.php:113
|
125 |
+
msgctxt "verb"
|
126 |
+
msgid "Show"
|
127 |
+
msgstr "Vis"
|
128 |
+
|
129 |
+
#: includes/i18n.php:115
|
130 |
+
msgctxt "verb"
|
131 |
+
msgid "Hide"
|
132 |
+
msgstr "Skjul"
|
133 |
+
|
134 |
+
#: includes/i18n.php:117
|
135 |
+
msgctxt "verb"
|
136 |
+
msgid "Edit"
|
137 |
+
msgstr "Rediger"
|
138 |
+
|
139 |
+
#: includes/i18n.php:119
|
140 |
+
msgctxt "verb"
|
141 |
+
msgid "Update"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: includes/i18n.php:121
|
145 |
+
msgid "Date"
|
146 |
+
msgstr "Dato"
|
147 |
+
|
148 |
+
#: includes/i18n.php:123
|
149 |
+
msgid "Amount"
|
150 |
+
msgstr "Beløb"
|
151 |
+
|
152 |
+
#: includes/i18n.php:125
|
153 |
+
msgid "Invoice"
|
154 |
+
msgstr "Faktura"
|
155 |
+
|
156 |
+
#: includes/i18n.php:127
|
157 |
+
msgid "Billing"
|
158 |
+
msgstr "Betaling"
|
159 |
+
|
160 |
+
#: includes/i18n.php:129
|
161 |
+
msgid "Payments"
|
162 |
+
msgstr "Betalinger"
|
163 |
+
|
164 |
+
#: includes/i18n.php:131
|
165 |
+
msgid "Delete Account"
|
166 |
+
msgstr "Slet konto"
|
167 |
+
|
168 |
+
#: includes/i18n.php:133
|
169 |
+
msgctxt "as close a window"
|
170 |
+
msgid "Dismiss"
|
171 |
+
msgstr "Fjern"
|
172 |
+
|
173 |
+
#: includes/i18n.php:135
|
174 |
+
msgctxt "as product pricing plan"
|
175 |
+
msgid "Plan"
|
176 |
+
msgstr "Plan"
|
177 |
+
|
178 |
+
#: includes/i18n.php:137
|
179 |
+
msgid "Change Plan"
|
180 |
+
msgstr "Skift plan"
|
181 |
+
|
182 |
+
#: includes/i18n.php:139
|
183 |
+
msgctxt "as download professional version"
|
184 |
+
msgid "Download %s Version"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: includes/i18n.php:141
|
188 |
+
msgctxt "as download professional version now"
|
189 |
+
msgid "Download %s version now"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
#: includes/i18n.php:145
|
193 |
+
msgctxt "as download latest version"
|
194 |
+
msgid "Download Latest"
|
195 |
+
msgstr "Download seneste"
|
196 |
+
|
197 |
+
#: includes/i18n.php:147
|
198 |
+
msgctxt "E.g. you have a professional license."
|
199 |
+
msgid "You have a %s license."
|
200 |
+
msgstr "Du har en %s licens."
|
201 |
+
|
202 |
+
#: includes/i18n.php:151
|
203 |
+
msgid "New"
|
204 |
+
msgstr "Ny"
|
205 |
+
|
206 |
+
#: includes/i18n.php:153
|
207 |
+
msgid "Free"
|
208 |
+
msgstr "Gratis"
|
209 |
+
|
210 |
+
#: includes/i18n.php:155
|
211 |
+
msgctxt "as trial plan"
|
212 |
+
msgid "Trial"
|
213 |
+
msgstr "Prøveperiode"
|
214 |
+
|
215 |
+
#: includes/i18n.php:157
|
216 |
+
msgctxt "as starting a trial plan"
|
217 |
+
msgid "Start Trial"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: includes/i18n.php:159
|
221 |
+
msgctxt "verb"
|
222 |
+
msgid "Purchase"
|
223 |
+
msgstr "Køb"
|
224 |
+
|
225 |
+
#: includes/i18n.php:161
|
226 |
+
msgid "Purchase License"
|
227 |
+
msgstr "Køb licens"
|
228 |
+
|
229 |
+
#: includes/i18n.php:163
|
230 |
+
msgctxt "verb"
|
231 |
+
msgid "Buy"
|
232 |
+
msgstr "Køb"
|
233 |
+
|
234 |
+
#: includes/i18n.php:165
|
235 |
+
msgid "Buy License"
|
236 |
+
msgstr "Køb licens"
|
237 |
+
|
238 |
+
#: includes/i18n.php:167
|
239 |
+
msgid "Single Site License"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: includes/i18n.php:169
|
243 |
+
msgid "Unlimited Licenses"
|
244 |
+
msgstr "Ubegrænsede licenser"
|
245 |
+
|
246 |
+
#: includes/i18n.php:171
|
247 |
+
msgid "Up to %s Sites"
|
248 |
+
msgstr "Op til %s websteder"
|
249 |
+
|
250 |
+
#: includes/i18n.php:173
|
251 |
+
msgid "%sRenew your license now%s to access version %s features and support."
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: includes/i18n.php:177
|
255 |
+
msgid ""
|
256 |
+
"Enter the email address you've used for the upgrade below and we will resend"
|
257 |
+
" you the license key."
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
#: includes/i18n.php:181
|
261 |
+
msgctxt "e.g. Professional Plan"
|
262 |
+
msgid "%s Plan"
|
263 |
+
msgstr "%s Plan"
|
264 |
+
|
265 |
+
#: includes/i18n.php:183
|
266 |
+
msgid "You are just one step away - %s"
|
267 |
+
msgstr "Du mangler kun ét skridt - %s"
|
268 |
+
|
269 |
+
#: includes/i18n.php:185
|
270 |
+
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
271 |
+
msgid "Complete \"%s\" Activation Now"
|
272 |
+
msgstr "Færdiggør aktivering af \"%s\" nu"
|
273 |
+
|
274 |
+
#: includes/i18n.php:189
|
275 |
+
msgid "We made a few tweaks to the plugin, %s"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: includes/i18n.php:191
|
279 |
+
msgid "Opt-in to make \"%s\" Better!"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: includes/i18n.php:193
|
283 |
+
msgid "Error"
|
284 |
+
msgstr "Fejl"
|
285 |
+
|
286 |
+
#: includes/i18n.php:195
|
287 |
+
msgid ""
|
288 |
+
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
289 |
+
"sdk@freemius.com with the current error."
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: includes/i18n.php:203
|
293 |
+
msgctxt "as expiration date"
|
294 |
+
msgid "Expiration"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: includes/i18n.php:205
|
298 |
+
msgctxt "as software license"
|
299 |
+
msgid "License"
|
300 |
+
msgstr "Licens"
|
301 |
+
|
302 |
+
#: includes/i18n.php:207
|
303 |
+
msgid "not verified"
|
304 |
+
msgstr "ikke verificeret"
|
305 |
+
|
306 |
+
#: includes/i18n.php:209
|
307 |
+
msgid "Verify Email"
|
308 |
+
msgstr "Verificer e-mail"
|
309 |
+
|
310 |
+
#: includes/i18n.php:211
|
311 |
+
msgctxt "e.g. expires in 2 months"
|
312 |
+
msgid "Expires in %s"
|
313 |
+
msgstr "Udløber om %s"
|
314 |
+
|
315 |
+
#: includes/i18n.php:213
|
316 |
+
msgctxt "e.g. auto renews in 2 months"
|
317 |
+
msgid "Auto renews in %s"
|
318 |
+
msgstr ""
|
319 |
+
|
320 |
+
#: includes/i18n.php:215
|
321 |
+
msgid "No expiration"
|
322 |
+
msgstr "Udløber ikke"
|
323 |
+
|
324 |
+
#: includes/i18n.php:217
|
325 |
+
msgid "Expired"
|
326 |
+
msgstr "Udløbet"
|
327 |
+
|
328 |
+
#: includes/i18n.php:219
|
329 |
+
msgid "Cancelled"
|
330 |
+
msgstr "Annulleret"
|
331 |
+
|
332 |
+
#: includes/i18n.php:221
|
333 |
+
msgctxt "e.g. In 2 hours"
|
334 |
+
msgid "In %s"
|
335 |
+
msgstr "Om %s"
|
336 |
+
|
337 |
+
#: includes/i18n.php:223
|
338 |
+
msgctxt "e.g. 2 min ago"
|
339 |
+
msgid "%s ago"
|
340 |
+
msgstr "%s siden"
|
341 |
+
|
342 |
+
#: includes/i18n.php:225
|
343 |
+
msgctxt "as plugin version"
|
344 |
+
msgid "Version"
|
345 |
+
msgstr "Version"
|
346 |
+
|
347 |
+
#: includes/i18n.php:227
|
348 |
+
msgid "Name"
|
349 |
+
msgstr "Navn"
|
350 |
+
|
351 |
+
#: includes/i18n.php:229
|
352 |
+
msgid "Email"
|
353 |
+
msgstr "E-mail"
|
354 |
+
|
355 |
+
#: includes/i18n.php:231
|
356 |
+
msgid "Email address"
|
357 |
+
msgstr "E-mailadresse"
|
358 |
+
|
359 |
+
#: includes/i18n.php:233
|
360 |
+
msgid "Verified"
|
361 |
+
msgstr "Verificeret"
|
362 |
+
|
363 |
+
#: includes/i18n.php:235
|
364 |
+
msgid "Plugin"
|
365 |
+
msgstr "Plugin"
|
366 |
+
|
367 |
+
#: includes/i18n.php:237
|
368 |
+
msgid "Plugins"
|
369 |
+
msgstr "Plugins"
|
370 |
+
|
371 |
+
#: includes/i18n.php:239
|
372 |
+
msgid "Themes"
|
373 |
+
msgstr "Temaer"
|
374 |
+
|
375 |
+
#: includes/i18n.php:241
|
376 |
+
msgctxt "as file/folder path"
|
377 |
+
msgid "Path"
|
378 |
+
msgstr "Sti"
|
379 |
+
|
380 |
+
#: includes/i18n.php:243
|
381 |
+
msgid "Title"
|
382 |
+
msgstr "Titel"
|
383 |
+
|
384 |
+
#: includes/i18n.php:245
|
385 |
+
msgid "Free version"
|
386 |
+
msgstr "Gratis version"
|
387 |
+
|
388 |
+
#: includes/i18n.php:247
|
389 |
+
msgid "Premium version"
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: includes/i18n.php:249
|
393 |
+
msgctxt "as WP plugin slug"
|
394 |
+
msgid "Slug"
|
395 |
+
msgstr "Kortnavn"
|
396 |
+
|
397 |
+
#: includes/i18n.php:251
|
398 |
+
msgid "ID"
|
399 |
+
msgstr "ID"
|
400 |
+
|
401 |
+
#: includes/i18n.php:253
|
402 |
+
msgid "Users"
|
403 |
+
msgstr "Brugere"
|
404 |
+
|
405 |
+
#: includes/i18n.php:255
|
406 |
+
msgid "Plugin Installs"
|
407 |
+
msgstr "Plugin-installationer"
|
408 |
+
|
409 |
+
#: includes/i18n.php:257
|
410 |
+
msgctxt "like websites"
|
411 |
+
msgid "Sites"
|
412 |
+
msgstr "Websteder"
|
413 |
+
|
414 |
+
#: includes/i18n.php:259
|
415 |
+
msgid "User ID"
|
416 |
+
msgstr "Bruger-ID"
|
417 |
+
|
418 |
+
#: includes/i18n.php:261
|
419 |
+
msgid "Site ID"
|
420 |
+
msgstr "Websteds-ID"
|
421 |
+
|
422 |
+
#: includes/i18n.php:263
|
423 |
+
msgid "Public Key"
|
424 |
+
msgstr "Offentlig nøgle"
|
425 |
+
|
426 |
+
#: includes/i18n.php:265
|
427 |
+
msgid "Secret Key"
|
428 |
+
msgstr "Privat nøgle"
|
429 |
+
|
430 |
+
#: includes/i18n.php:267
|
431 |
+
msgctxt "as secret encryption key missing"
|
432 |
+
msgid "No Secret"
|
433 |
+
msgstr "Ingen privat nøgle"
|
434 |
+
|
435 |
+
#: includes/i18n.php:269
|
436 |
+
msgid "No ID"
|
437 |
+
msgstr "Intet ID"
|
438 |
+
|
439 |
+
#: includes/i18n.php:271
|
440 |
+
msgctxt "as synchronize license"
|
441 |
+
msgid "Sync License"
|
442 |
+
msgstr "Synkroniser licens"
|
443 |
+
|
444 |
+
#: includes/i18n.php:273
|
445 |
+
msgctxt "as synchronize"
|
446 |
+
msgid "Sync"
|
447 |
+
msgstr "Synkroniser"
|
448 |
+
|
449 |
+
#: includes/i18n.php:275
|
450 |
+
msgid "Activate License"
|
451 |
+
msgstr "Aktiver licens"
|
452 |
+
|
453 |
+
#: includes/i18n.php:277
|
454 |
+
msgid "Activate Free Version"
|
455 |
+
msgstr "Aktiver gratis version"
|
456 |
+
|
457 |
+
#: includes/i18n.php:279
|
458 |
+
msgid ""
|
459 |
+
"Please enter the license key that you received in the email right after the "
|
460 |
+
"purchase:"
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: includes/i18n.php:283
|
464 |
+
msgid "Activating license..."
|
465 |
+
msgstr "Aktiverer licens..."
|
466 |
+
|
467 |
+
#: includes/i18n.php:285
|
468 |
+
msgid "Change License"
|
469 |
+
msgstr "Skift licens"
|
470 |
+
|
471 |
+
#: includes/i18n.php:287
|
472 |
+
msgid "Update License"
|
473 |
+
msgstr "Opdater licens"
|
474 |
+
|
475 |
+
#: includes/i18n.php:289
|
476 |
+
msgid "Deactivate License"
|
477 |
+
msgstr "Deaktiver licens"
|
478 |
+
|
479 |
+
#: includes/i18n.php:291
|
480 |
+
msgid "Activate"
|
481 |
+
msgstr "Aktiver"
|
482 |
+
|
483 |
+
#: includes/i18n.php:293
|
484 |
+
msgid "Deactivate"
|
485 |
+
msgstr "Deaktiver"
|
486 |
+
|
487 |
+
#: includes/i18n.php:295
|
488 |
+
msgid "Skip & Deactivate"
|
489 |
+
msgstr "Spring over & deaktiver"
|
490 |
+
|
491 |
+
#: includes/i18n.php:297
|
492 |
+
msgid "No - just deactivate"
|
493 |
+
msgstr "Nej - bare deaktiver"
|
494 |
+
|
495 |
+
#: includes/i18n.php:299
|
496 |
+
msgid "Yes - do your thing"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: includes/i18n.php:301
|
500 |
+
msgctxt "active mode"
|
501 |
+
msgid "Active"
|
502 |
+
msgstr "Aktiv"
|
503 |
+
|
504 |
+
#: includes/i18n.php:303
|
505 |
+
msgctxt "is active mode?"
|
506 |
+
msgid "Is Active"
|
507 |
+
msgstr "Er aktiv"
|
508 |
+
|
509 |
+
#: includes/i18n.php:305
|
510 |
+
msgid "Install Now"
|
511 |
+
msgstr "Installer nu"
|
512 |
+
|
513 |
+
#: includes/i18n.php:307
|
514 |
+
msgid "Install Update Now"
|
515 |
+
msgstr "Installer opdatering nu"
|
516 |
+
|
517 |
+
#: includes/i18n.php:309
|
518 |
+
msgid "More information about %s"
|
519 |
+
msgstr "Mere information om %s"
|
520 |
+
|
521 |
+
#: includes/i18n.php:311
|
522 |
+
msgid "Localhost"
|
523 |
+
msgstr "Localhost"
|
524 |
+
|
525 |
+
#: includes/i18n.php:313
|
526 |
+
msgctxt "as activate Professional plan"
|
527 |
+
msgid "Activate %s Plan"
|
528 |
+
msgstr "Aktiver plan %s"
|
529 |
+
|
530 |
+
#: includes/i18n.php:315
|
531 |
+
msgctxt "as 5 licenses left"
|
532 |
+
msgid "%s left"
|
533 |
+
msgstr "%s tilbage"
|
534 |
+
|
535 |
+
#: includes/i18n.php:317
|
536 |
+
msgid "Last license"
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: includes/i18n.php:319
|
540 |
+
msgid "What is your %s?"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: includes/i18n.php:321
|
544 |
+
msgid "Activate this add-on"
|
545 |
+
msgstr "Aktiver denne tilføjelse"
|
546 |
+
|
547 |
+
#: includes/i18n.php:323
|
548 |
+
msgid ""
|
549 |
+
"Deactivating your license will block all premium features, but will enable "
|
550 |
+
"you to activate the license on another site. Are you sure you want to "
|
551 |
+
"proceed?"
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: includes/i18n.php:327
|
555 |
+
msgid ""
|
556 |
+
"Deleting the account will automatically deactivate your %s plan license so "
|
557 |
+
"you can use it on other sites. If you want to terminate the recurring "
|
558 |
+
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
559 |
+
"account. Are you sure you would like to continue with the deletion?"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: includes/i18n.php:331
|
563 |
+
msgid ""
|
564 |
+
"Deletion is not temporary. Only delete if you no longer want to use this "
|
565 |
+
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
+
msgstr ""
|
567 |
+
|
568 |
+
#: includes/i18n.php:335
|
569 |
+
msgid ""
|
570 |
+
"Downgrading your plan will immediately stop all future recurring payments "
|
571 |
+
"and your %s plan license will expire in %s."
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: includes/i18n.php:339
|
575 |
+
msgid ""
|
576 |
+
"Cancelling the trial will immediately block access to all premium features. "
|
577 |
+
"Are you sure?"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: includes/i18n.php:343
|
581 |
+
msgid ""
|
582 |
+
"You can still enjoy all %s features but you will not have access to plugin "
|
583 |
+
"updates and support."
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: includes/i18n.php:347
|
587 |
+
msgid ""
|
588 |
+
"Once your license expire you can still use the Free version but you will NOT"
|
589 |
+
" have access to the %s features."
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: includes/i18n.php:351
|
593 |
+
msgid "Are you sure you want to proceed?"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: includes/i18n.php:357
|
597 |
+
msgid "Add Ons for %s"
|
598 |
+
msgstr "Tilføjelser til %s"
|
599 |
+
|
600 |
+
#: includes/i18n.php:359
|
601 |
+
msgid ""
|
602 |
+
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
603 |
+
"please try to come back in few minutes."
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: includes/i18n.php:365
|
607 |
+
msgid "Anonymous feedback"
|
608 |
+
msgstr "Anonym feedback"
|
609 |
+
|
610 |
+
#: includes/i18n.php:367
|
611 |
+
msgid "Quick feedback"
|
612 |
+
msgstr "Hurtig feedback"
|
613 |
+
|
614 |
+
#: includes/i18n.php:369
|
615 |
+
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: includes/i18n.php:373
|
619 |
+
msgid "Yes - Deactivate"
|
620 |
+
msgstr "Ja - deaktiver"
|
621 |
+
|
622 |
+
#: includes/i18n.php:375
|
623 |
+
msgid "Submit & Deactivate"
|
624 |
+
msgstr "Send & deaktiver"
|
625 |
+
|
626 |
+
#: includes/i18n.php:377
|
627 |
+
msgid "Cancel"
|
628 |
+
msgstr "Annuller"
|
629 |
+
|
630 |
+
#: includes/i18n.php:379
|
631 |
+
msgid "I no longer need the plugin"
|
632 |
+
msgstr ""
|
633 |
+
|
634 |
+
#: includes/i18n.php:381
|
635 |
+
msgid "I found a better plugin"
|
636 |
+
msgstr "Jeg har fundet et bedre plugin"
|
637 |
+
|
638 |
+
#: includes/i18n.php:383
|
639 |
+
msgid "I only needed the plugin for a short period"
|
640 |
+
msgstr ""
|
641 |
+
|
642 |
+
#: includes/i18n.php:385
|
643 |
+
msgid "The plugin broke my site"
|
644 |
+
msgstr "Pluginnet ødelagde mit websted"
|
645 |
+
|
646 |
+
#: includes/i18n.php:387
|
647 |
+
msgid "The plugin suddenly stopped working"
|
648 |
+
msgstr "Pluginnet virker ikke længere"
|
649 |
+
|
650 |
+
#: includes/i18n.php:389
|
651 |
+
msgid "I can't pay for it anymore"
|
652 |
+
msgstr "Jeg kan ikke længere betale for det"
|
653 |
+
|
654 |
+
#: includes/i18n.php:391
|
655 |
+
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
+
msgstr ""
|
657 |
+
|
658 |
+
#: includes/i18n.php:395
|
659 |
+
msgctxt ""
|
660 |
+
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
661 |
+
"in the modal box."
|
662 |
+
msgid "Other"
|
663 |
+
msgstr "Andet"
|
664 |
+
|
665 |
+
#: includes/i18n.php:399
|
666 |
+
msgid "Kindly tell us the reason so we can improve."
|
667 |
+
msgstr ""
|
668 |
+
|
669 |
+
#: includes/i18n.php:401
|
670 |
+
msgid "What's the plugin's name?"
|
671 |
+
msgstr ""
|
672 |
+
|
673 |
+
#: includes/i18n.php:403
|
674 |
+
msgid "What price would you feel comfortable paying?"
|
675 |
+
msgstr ""
|
676 |
+
|
677 |
+
#: includes/i18n.php:405
|
678 |
+
msgid "I couldn't understand how to make it work"
|
679 |
+
msgstr ""
|
680 |
+
|
681 |
+
#: includes/i18n.php:407
|
682 |
+
msgid ""
|
683 |
+
"The plugin is great, but I need specific feature that you don't support"
|
684 |
+
msgstr ""
|
685 |
+
|
686 |
+
#: includes/i18n.php:411
|
687 |
+
msgid "The plugin is not working"
|
688 |
+
msgstr "Pluginnet virker ikke"
|
689 |
+
|
690 |
+
#: includes/i18n.php:413
|
691 |
+
msgid "It's not what I was looking for"
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: includes/i18n.php:415
|
695 |
+
msgid "The plugin didn't work as expected"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: includes/i18n.php:417
|
699 |
+
msgid "What feature?"
|
700 |
+
msgstr ""
|
701 |
+
|
702 |
+
#: includes/i18n.php:419
|
703 |
+
msgid "Kindly share what didn't work so we can fix it for future users..."
|
704 |
+
msgstr ""
|
705 |
+
|
706 |
+
#: includes/i18n.php:423
|
707 |
+
msgid "What you've been looking for?"
|
708 |
+
msgstr ""
|
709 |
+
|
710 |
+
#: includes/i18n.php:425
|
711 |
+
msgid "What did you expect?"
|
712 |
+
msgstr "Hvad forventede du?"
|
713 |
+
|
714 |
+
#: includes/i18n.php:427
|
715 |
+
msgid "The plugin didn't work"
|
716 |
+
msgstr "Pluginnet virkede ikke"
|
717 |
+
|
718 |
+
#: includes/i18n.php:429
|
719 |
+
msgid "I don't like to share my information with you"
|
720 |
+
msgstr ""
|
721 |
+
|
722 |
+
#: includes/i18n.php:431
|
723 |
+
msgid ""
|
724 |
+
"You might have missed it, but you don't have to share any data and can just "
|
725 |
+
"%s the opt-in."
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: includes/i18n.php:441
|
729 |
+
msgctxt "greeting"
|
730 |
+
msgid "Hey %s,"
|
731 |
+
msgstr "Hey %s,"
|
732 |
+
|
733 |
+
#: includes/i18n.php:443
|
734 |
+
msgctxt "a greeting. E.g. Thanks John!"
|
735 |
+
msgid "Thanks %s!"
|
736 |
+
msgstr "Tak %s!"
|
737 |
+
|
738 |
+
#: includes/i18n.php:445
|
739 |
+
msgid ""
|
740 |
+
"Never miss an important update - opt-in to our security and feature updates "
|
741 |
+
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
742 |
+
msgstr ""
|
743 |
+
|
744 |
+
#: includes/i18n.php:449
|
745 |
+
msgid ""
|
746 |
+
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
747 |
+
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
748 |
+
"work just fine."
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: includes/i18n.php:453
|
752 |
+
msgid ""
|
753 |
+
"You should receive an activation email for %s to your mailbox at %s. Please "
|
754 |
+
"make sure you click the activation button in that email to %s."
|
755 |
+
msgstr ""
|
756 |
+
|
757 |
+
#: includes/i18n.php:455
|
758 |
+
msgid "complete the install"
|
759 |
+
msgstr ""
|
760 |
+
|
761 |
+
#: includes/i18n.php:457
|
762 |
+
msgid "start the trial"
|
763 |
+
msgstr ""
|
764 |
+
|
765 |
+
#: includes/i18n.php:459
|
766 |
+
msgid ""
|
767 |
+
"Thanks for purchasing %s! To get started, please enter your license key:"
|
768 |
+
msgstr ""
|
769 |
+
|
770 |
+
#: includes/i18n.php:463
|
771 |
+
msgid ""
|
772 |
+
"The plugin will be periodically sending data to %s to check for plugin "
|
773 |
+
"updates and verify the validity of your license."
|
774 |
+
msgstr ""
|
775 |
+
|
776 |
+
#: includes/i18n.php:467
|
777 |
+
msgid "What permissions are being granted?"
|
778 |
+
msgstr "Hvilke tilladelser bliver givet?"
|
779 |
+
|
780 |
+
#: includes/i18n.php:469
|
781 |
+
msgid "Your Profile Overview"
|
782 |
+
msgstr "Overblik af din profil"
|
783 |
+
|
784 |
+
#: includes/i18n.php:471
|
785 |
+
msgid "Name and email address"
|
786 |
+
msgstr "Navn og e-mailadresse"
|
787 |
+
|
788 |
+
#: includes/i18n.php:473
|
789 |
+
msgid "Your Site Overview"
|
790 |
+
msgstr "Overblik af dit websted"
|
791 |
+
|
792 |
+
#: includes/i18n.php:475
|
793 |
+
msgid "Site URL, WP version, PHP info, plugins & themes"
|
794 |
+
msgstr ""
|
795 |
+
|
796 |
+
#: includes/i18n.php:479
|
797 |
+
msgid "Current Plugin Events"
|
798 |
+
msgstr "Nuværende plugin-begivenheder"
|
799 |
+
|
800 |
+
#: includes/i18n.php:481
|
801 |
+
msgid "Activation, deactivation and uninstall"
|
802 |
+
msgstr "Aktivering, deaktivering og afinstallering"
|
803 |
+
|
804 |
+
#: includes/i18n.php:483
|
805 |
+
msgid "Plugins & Themes"
|
806 |
+
msgstr "Plugins & Temaer"
|
807 |
+
|
808 |
+
#: includes/i18n.php:485
|
809 |
+
msgid "Titles, versions and state."
|
810 |
+
msgstr "Titler, versioner og tilstand."
|
811 |
+
|
812 |
+
#: includes/i18n.php:487
|
813 |
+
msgid "Admin Notices"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: includes/i18n.php:489
|
817 |
+
msgid "Newsletter"
|
818 |
+
msgstr "Nyhedsbrev"
|
819 |
+
|
820 |
+
#: includes/i18n.php:491
|
821 |
+
msgid "Updates, announcements, marketing, no spam"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: includes/i18n.php:493
|
825 |
+
msgid "Privacy Policy"
|
826 |
+
msgstr "Privatlivspolitik"
|
827 |
+
|
828 |
+
#: includes/i18n.php:495
|
829 |
+
msgid "Terms of Service"
|
830 |
+
msgstr "Servicevilkår"
|
831 |
+
|
832 |
+
#: includes/i18n.php:497
|
833 |
+
msgctxt "as activating plugin"
|
834 |
+
msgid "Activating"
|
835 |
+
msgstr "Aktiverer"
|
836 |
+
|
837 |
+
#: includes/i18n.php:499
|
838 |
+
msgctxt "as in the process of sending an email"
|
839 |
+
msgid "Sending email"
|
840 |
+
msgstr "Sender e-mail"
|
841 |
+
|
842 |
+
#: includes/i18n.php:503
|
843 |
+
msgctxt "button label"
|
844 |
+
msgid "Allow & Continue"
|
845 |
+
msgstr "Tillad & Fortsæt"
|
846 |
+
|
847 |
+
#: includes/i18n.php:505
|
848 |
+
msgctxt "button label"
|
849 |
+
msgid "Agree & Activate License"
|
850 |
+
msgstr "Accepter & aktiver licens"
|
851 |
+
|
852 |
+
#: includes/i18n.php:507
|
853 |
+
msgctxt "verb"
|
854 |
+
msgid "Skip"
|
855 |
+
msgstr "Spring over"
|
856 |
+
|
857 |
+
#: includes/i18n.php:509
|
858 |
+
msgid "Click here to use the plugin anonymously"
|
859 |
+
msgstr "Klik her for at benytte pluginnet anonymt"
|
860 |
+
|
861 |
+
#: includes/i18n.php:511
|
862 |
+
msgid "Re-send activation email"
|
863 |
+
msgstr "Gensend e-mail om aktivering"
|
864 |
+
|
865 |
+
#: includes/i18n.php:513
|
866 |
+
msgid "License key"
|
867 |
+
msgstr "Licensnøgle"
|
868 |
+
|
869 |
+
#: includes/i18n.php:515
|
870 |
+
msgid "Send License Key"
|
871 |
+
msgstr "Send licensnøgle"
|
872 |
+
|
873 |
+
#: includes/i18n.php:517
|
874 |
+
msgid "Sending license key"
|
875 |
+
msgstr "Sender licensnøgle"
|
876 |
+
|
877 |
+
#: includes/i18n.php:519
|
878 |
+
msgid "Have a license key?"
|
879 |
+
msgstr "Har du en licensnøgle?"
|
880 |
+
|
881 |
+
#: includes/i18n.php:521
|
882 |
+
msgid "Don't have a license key?"
|
883 |
+
msgstr "Har du ikke en licensnøgle?"
|
884 |
+
|
885 |
+
#: includes/i18n.php:523
|
886 |
+
msgid "Can't find your license key?"
|
887 |
+
msgstr "Kan du ikke finde din licensnøgle?"
|
888 |
+
|
889 |
+
#: includes/i18n.php:525
|
890 |
+
msgid ""
|
891 |
+
"We couldn't find your email address in the system, are you sure it's the "
|
892 |
+
"right address?"
|
893 |
+
msgstr ""
|
894 |
+
|
895 |
+
#: includes/i18n.php:529
|
896 |
+
msgid ""
|
897 |
+
"We can't see any active licenses associated with that email address, are you"
|
898 |
+
" sure it's the right address?"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: includes/i18n.php:533
|
902 |
+
msgid "Opt In"
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: includes/i18n.php:535
|
906 |
+
msgid "Opt Out"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: includes/i18n.php:537
|
910 |
+
msgid "On second thought - I want to continue helping"
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: includes/i18n.php:541
|
914 |
+
msgid "Opting out..."
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: includes/i18n.php:543
|
918 |
+
msgid "Opting in..."
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: includes/i18n.php:545
|
922 |
+
msgid ""
|
923 |
+
"We appreciate your help in making the %s better by letting us track some "
|
924 |
+
"usage data."
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: includes/i18n.php:549
|
928 |
+
msgid ""
|
929 |
+
"Usage tracking is done in the name of making %s better. Making a better user"
|
930 |
+
" experience, prioritizing new features, and more good things. We'd really "
|
931 |
+
"appreciate if you'll reconsider letting us continue with the tracking."
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: includes/i18n.php:553
|
935 |
+
msgid ""
|
936 |
+
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
937 |
+
"%s."
|
938 |
+
msgstr ""
|
939 |
+
|
940 |
+
#: includes/i18n.php:563
|
941 |
+
msgid "Screenshots"
|
942 |
+
msgstr "Skærmbilleder"
|
943 |
+
|
944 |
+
#: includes/i18n.php:565
|
945 |
+
msgid "Click to view full-size screenshot %d"
|
946 |
+
msgstr ""
|
947 |
+
|
948 |
+
#: includes/i18n.php:573
|
949 |
+
msgid "Freemius Debug"
|
950 |
+
msgstr "Freemius Debug"
|
951 |
+
|
952 |
+
#: includes/i18n.php:575
|
953 |
+
msgctxt "as turned on"
|
954 |
+
msgid "On"
|
955 |
+
msgstr "Til"
|
956 |
+
|
957 |
+
#: includes/i18n.php:577
|
958 |
+
msgctxt "as turned off"
|
959 |
+
msgid "Off"
|
960 |
+
msgstr "Fra"
|
961 |
+
|
962 |
+
#: includes/i18n.php:579
|
963 |
+
msgctxt "as code debugging"
|
964 |
+
msgid "Debugging"
|
965 |
+
msgstr "Fejlfinding"
|
966 |
+
|
967 |
+
#: includes/i18n.php:581
|
968 |
+
msgid "Freemius State"
|
969 |
+
msgstr "Freemius tilstand"
|
970 |
+
|
971 |
+
#: includes/i18n.php:583
|
972 |
+
msgctxt "as connection was successful"
|
973 |
+
msgid "Connected"
|
974 |
+
msgstr "Forbundet"
|
975 |
+
|
976 |
+
#: includes/i18n.php:585
|
977 |
+
msgctxt "as connection blocked"
|
978 |
+
msgid "Blocked"
|
979 |
+
msgstr "Blokeret"
|
980 |
+
|
981 |
+
#: includes/i18n.php:587
|
982 |
+
msgctxt "as application program interface"
|
983 |
+
msgid "API"
|
984 |
+
msgstr "API"
|
985 |
+
|
986 |
+
#: includes/i18n.php:589
|
987 |
+
msgctxt "as software development kit versions"
|
988 |
+
msgid "SDK"
|
989 |
+
msgstr "SDK"
|
990 |
+
|
991 |
+
#: includes/i18n.php:591
|
992 |
+
msgctxt "as software development kit versions"
|
993 |
+
msgid "SDK Versions"
|
994 |
+
msgstr "SDK-versioner"
|
995 |
+
|
996 |
+
#: includes/i18n.php:595
|
997 |
+
msgctxt "as plugin folder path"
|
998 |
+
msgid "Plugin Path"
|
999 |
+
msgstr "Plugin-sti"
|
1000 |
+
|
1001 |
+
#: includes/i18n.php:597
|
1002 |
+
msgctxt "as sdk path"
|
1003 |
+
msgid "SDK Path"
|
1004 |
+
msgstr "SDK-sti"
|
1005 |
+
|
1006 |
+
#: includes/i18n.php:599
|
1007 |
+
msgid "Add Ons of Plugin %s"
|
1008 |
+
msgstr "Tilføjelser til plugin %s"
|
1009 |
+
|
1010 |
+
#: includes/i18n.php:601
|
1011 |
+
msgid "Are you sure you want to delete all Freemius data?"
|
1012 |
+
msgstr ""
|
1013 |
+
|
1014 |
+
#: includes/i18n.php:605
|
1015 |
+
msgid "Actions"
|
1016 |
+
msgstr "Handlinger"
|
1017 |
+
|
1018 |
+
#: includes/i18n.php:607
|
1019 |
+
msgid "Delete All Accounts"
|
1020 |
+
msgstr "Slet alle konti"
|
1021 |
+
|
1022 |
+
#: includes/i18n.php:609
|
1023 |
+
msgid "Start Fresh"
|
1024 |
+
msgstr "Start forfra"
|
1025 |
+
|
1026 |
+
#: includes/i18n.php:611
|
1027 |
+
msgid "Clear API Cache"
|
1028 |
+
msgstr "Ryd API-cache"
|
1029 |
+
|
1030 |
+
#: includes/i18n.php:613
|
1031 |
+
msgid "Sync Data From Server"
|
1032 |
+
msgstr "Synkroniser data fra server"
|
1033 |
+
|
1034 |
+
#: includes/i18n.php:615
|
1035 |
+
msgid "Scheduled Crons"
|
1036 |
+
msgstr "Planlagte cron jobs"
|
1037 |
+
|
1038 |
+
#: includes/i18n.php:617
|
1039 |
+
msgid "Plugins & Themes Sync"
|
1040 |
+
msgstr "Synkronisering af plugins og temaer"
|
1041 |
+
|
1042 |
+
#: includes/i18n.php:625
|
1043 |
+
msgctxt "as congratulations"
|
1044 |
+
msgid "Congrats"
|
1045 |
+
msgstr "Tillykke"
|
1046 |
+
|
1047 |
+
#: includes/i18n.php:627
|
1048 |
+
msgctxt "exclamation"
|
1049 |
+
msgid "Oops"
|
1050 |
+
msgstr "Ups"
|
1051 |
+
|
1052 |
+
#: includes/i18n.php:629
|
1053 |
+
msgctxt "interjection expressing joy or exuberance"
|
1054 |
+
msgid "Yee-haw"
|
1055 |
+
msgstr ""
|
1056 |
+
|
1057 |
+
#: includes/i18n.php:633
|
1058 |
+
msgctxt ""
|
1059 |
+
"(especially in electronic communication) used to express elation, "
|
1060 |
+
"enthusiasm, or triumph."
|
1061 |
+
msgid "W00t"
|
1062 |
+
msgstr ""
|
1063 |
+
|
1064 |
+
#: includes/i18n.php:637
|
1065 |
+
msgctxt "a positive response"
|
1066 |
+
msgid "Right on"
|
1067 |
+
msgstr "Sådan"
|
1068 |
+
|
1069 |
+
#: includes/i18n.php:639
|
1070 |
+
msgctxt ""
|
1071 |
+
"something somebody says when they are thinking about what you have just "
|
1072 |
+
"said. "
|
1073 |
+
msgid "Hmm"
|
1074 |
+
msgstr "Hmm"
|
1075 |
+
|
1076 |
+
#: includes/i18n.php:643
|
1077 |
+
msgid "O.K"
|
1078 |
+
msgstr "O.K"
|
1079 |
+
|
1080 |
+
#: includes/i18n.php:645
|
1081 |
+
msgctxt "exclamation"
|
1082 |
+
msgid "Hey"
|
1083 |
+
msgstr "Hey"
|
1084 |
+
|
1085 |
+
#: includes/i18n.php:647
|
1086 |
+
msgctxt "advance notice of something that will need attention."
|
1087 |
+
msgid "Heads up"
|
1088 |
+
msgstr "Se her"
|
1089 |
+
|
1090 |
+
#: includes/i18n.php:657
|
1091 |
+
msgid "Seems like you got the latest release."
|
1092 |
+
msgstr ""
|
1093 |
+
|
1094 |
+
#: includes/i18n.php:659
|
1095 |
+
msgid "You are all good!"
|
1096 |
+
msgstr "Det var det!"
|
1097 |
+
|
1098 |
+
#: includes/i18n.php:661
|
1099 |
+
msgid ""
|
1100 |
+
"Sorry, we could not complete the email update. Another user with the same "
|
1101 |
+
"email is already registered."
|
1102 |
+
msgstr ""
|
1103 |
+
|
1104 |
+
#: includes/i18n.php:665
|
1105 |
+
msgid ""
|
1106 |
+
"If you would like to give up the ownership of the plugin's account to %s "
|
1107 |
+
"click the Change Ownership button."
|
1108 |
+
msgstr ""
|
1109 |
+
|
1110 |
+
#: includes/i18n.php:669
|
1111 |
+
msgid ""
|
1112 |
+
"Your email was successfully updated. You should receive an email with "
|
1113 |
+
"confirmation instructions in few moments."
|
1114 |
+
msgstr ""
|
1115 |
+
|
1116 |
+
#: includes/i18n.php:673
|
1117 |
+
msgid "Your name was successfully updated."
|
1118 |
+
msgstr "Dit navn er blevet opdateret."
|
1119 |
+
|
1120 |
+
#: includes/i18n.php:675
|
1121 |
+
msgid "You have successfully updated your %s."
|
1122 |
+
msgstr "Opdatering af %s blev gennemført."
|
1123 |
+
|
1124 |
+
#: includes/i18n.php:677
|
1125 |
+
msgid "Please provide your full name."
|
1126 |
+
msgstr "Indtast venligst dit fulde navn."
|
1127 |
+
|
1128 |
+
#: includes/i18n.php:679
|
1129 |
+
msgid ""
|
1130 |
+
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1131 |
+
"please check your spam box."
|
1132 |
+
msgstr ""
|
1133 |
+
|
1134 |
+
#: includes/i18n.php:683
|
1135 |
+
msgid ""
|
1136 |
+
"Just letting you know that the add-ons information of %s is being pulled "
|
1137 |
+
"from an external server."
|
1138 |
+
msgstr ""
|
1139 |
+
|
1140 |
+
#: includes/i18n.php:687
|
1141 |
+
msgid "No credit card required"
|
1142 |
+
msgstr "Betalingskort ikke påkrævet"
|
1143 |
+
|
1144 |
+
#: includes/i18n.php:689
|
1145 |
+
msgid "Premium plugin version was successfully activated."
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: includes/i18n.php:693
|
1149 |
+
msgid "The upgrade of %s was successfully completed."
|
1150 |
+
msgstr ""
|
1151 |
+
|
1152 |
+
#: includes/i18n.php:695
|
1153 |
+
msgid "Your account was successfully activated with the %s plan."
|
1154 |
+
msgstr ""
|
1155 |
+
|
1156 |
+
#: includes/i18n.php:699
|
1157 |
+
msgid "Download the latest %s version now"
|
1158 |
+
msgstr "Download den seneste version af %s nu"
|
1159 |
+
|
1160 |
+
#: includes/i18n.php:701
|
1161 |
+
msgid "Please follow these steps to complete the upgrade"
|
1162 |
+
msgstr ""
|
1163 |
+
|
1164 |
+
#: includes/i18n.php:705
|
1165 |
+
msgid "Download the latest %s version"
|
1166 |
+
msgstr "Download den seneste version af %s"
|
1167 |
+
|
1168 |
+
#: includes/i18n.php:707
|
1169 |
+
msgid "Deactivate the free version"
|
1170 |
+
msgstr "Deaktiver den gratis version"
|
1171 |
+
|
1172 |
+
#: includes/i18n.php:709
|
1173 |
+
msgid "Upload and activate the downloaded version"
|
1174 |
+
msgstr "Upload og aktiver den downloadede version"
|
1175 |
+
|
1176 |
+
#: includes/i18n.php:711
|
1177 |
+
msgid "How to upload and activate?"
|
1178 |
+
msgstr "Upload og aktivering, hvordan?"
|
1179 |
+
|
1180 |
+
#: includes/i18n.php:713
|
1181 |
+
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1182 |
+
msgid "%s Add-on was successfully purchased."
|
1183 |
+
msgstr "Betalingen for tilføjelsen %s blev gennemført."
|
1184 |
+
|
1185 |
+
#: includes/i18n.php:717
|
1186 |
+
msgid "Your %s Add-on plan was successfully upgraded."
|
1187 |
+
msgstr ""
|
1188 |
+
|
1189 |
+
#: includes/i18n.php:721
|
1190 |
+
msgid "Your email has been successfully verified - you are AWESOME!"
|
1191 |
+
msgstr ""
|
1192 |
+
|
1193 |
+
#: includes/i18n.php:725
|
1194 |
+
msgid "Your plan was successfully upgraded."
|
1195 |
+
msgstr "Din plan er blevet opgraderet."
|
1196 |
+
|
1197 |
+
#: includes/i18n.php:727
|
1198 |
+
msgid "Your plan was successfully changed to %s."
|
1199 |
+
msgstr "Din plan er blevet ændret til %s."
|
1200 |
+
|
1201 |
+
#: includes/i18n.php:729
|
1202 |
+
msgid ""
|
1203 |
+
"Your license has expired. You can still continue using the free plugin "
|
1204 |
+
"forever."
|
1205 |
+
msgstr ""
|
1206 |
+
|
1207 |
+
#: includes/i18n.php:733
|
1208 |
+
msgid ""
|
1209 |
+
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1210 |
+
" support."
|
1211 |
+
msgstr ""
|
1212 |
+
|
1213 |
+
#: includes/i18n.php:737
|
1214 |
+
msgid "Your trial has been successfully started."
|
1215 |
+
msgstr "Din prøveperiode er begyndt."
|
1216 |
+
|
1217 |
+
#: includes/i18n.php:739
|
1218 |
+
msgid "Your license was successfully activated."
|
1219 |
+
msgstr "Din licens er blevet aktiveret."
|
1220 |
+
|
1221 |
+
#: includes/i18n.php:741
|
1222 |
+
msgid "It looks like your site currently doesn't have an active license."
|
1223 |
+
msgstr "Det ser ud til, at dit websted endnu ikke har en aktiv licens."
|
1224 |
+
|
1225 |
+
#: includes/i18n.php:745
|
1226 |
+
msgid ""
|
1227 |
+
"Your license was successfully deactivated, you are back to the %s plan."
|
1228 |
+
msgstr ""
|
1229 |
+
|
1230 |
+
#: includes/i18n.php:749
|
1231 |
+
msgid "It looks like the license deactivation failed."
|
1232 |
+
msgstr "Det ser ud til, at licens-deaktiveringen mislykkedes."
|
1233 |
+
|
1234 |
+
#: includes/i18n.php:753
|
1235 |
+
msgid "It looks like the license could not be activated."
|
1236 |
+
msgstr "Det ser ud til, at licensen ikke kunne aktiveres."
|
1237 |
+
|
1238 |
+
#: includes/i18n.php:757
|
1239 |
+
msgid "Error received from the server:"
|
1240 |
+
msgstr "Fejl modtager fra serveren:"
|
1241 |
+
|
1242 |
+
#: includes/i18n.php:759
|
1243 |
+
msgid ""
|
1244 |
+
"Your trial has expired. You can still continue using all our free features."
|
1245 |
+
msgstr "Din prøveperiode er udløbet. Du kan fortsat bruge alle vores gratis funktioner."
|
1246 |
+
|
1247 |
+
#: includes/i18n.php:763
|
1248 |
+
msgid ""
|
1249 |
+
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1250 |
+
"%s."
|
1251 |
+
msgstr ""
|
1252 |
+
|
1253 |
+
#: includes/i18n.php:767
|
1254 |
+
msgid ""
|
1255 |
+
"Seems like we are having some temporary issue with your plan downgrade. "
|
1256 |
+
"Please try again in few minutes."
|
1257 |
+
msgstr ""
|
1258 |
+
|
1259 |
+
#: includes/i18n.php:771
|
1260 |
+
msgid ""
|
1261 |
+
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1262 |
+
" :)"
|
1263 |
+
msgstr ""
|
1264 |
+
|
1265 |
+
#: includes/i18n.php:775
|
1266 |
+
msgid "Your %s free trial was successfully cancelled."
|
1267 |
+
msgstr ""
|
1268 |
+
|
1269 |
+
#: includes/i18n.php:779
|
1270 |
+
msgctxt "%s - numeric version number"
|
1271 |
+
msgid "Version %s was released."
|
1272 |
+
msgstr "Version %s er blevet udgivet."
|
1273 |
+
|
1274 |
+
#: includes/i18n.php:783
|
1275 |
+
msgid "Please download %s."
|
1276 |
+
msgstr "Download venligst %s."
|
1277 |
+
|
1278 |
+
#: includes/i18n.php:785
|
1279 |
+
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
+
msgid "the latest %s version here"
|
1281 |
+
msgstr "den seneste version af %s her"
|
1282 |
+
|
1283 |
+
#: includes/i18n.php:789
|
1284 |
+
msgid ""
|
1285 |
+
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1286 |
+
"free trial."
|
1287 |
+
msgstr ""
|
1288 |
+
|
1289 |
+
#: includes/i18n.php:793
|
1290 |
+
msgctxt "call to action"
|
1291 |
+
msgid "Start free trial"
|
1292 |
+
msgstr "Start gratis prøveperiode"
|
1293 |
+
|
1294 |
+
#: includes/i18n.php:795
|
1295 |
+
msgid "Starting trial"
|
1296 |
+
msgstr ""
|
1297 |
+
|
1298 |
+
#: includes/i18n.php:797
|
1299 |
+
msgid "Please wait"
|
1300 |
+
msgstr ""
|
1301 |
+
|
1302 |
+
#: includes/i18n.php:799
|
1303 |
+
msgid ""
|
1304 |
+
"Seems like we are having some temporary issue with your trial cancellation. "
|
1305 |
+
"Please try again in few minutes."
|
1306 |
+
msgstr ""
|
1307 |
+
|
1308 |
+
#: includes/i18n.php:803
|
1309 |
+
msgid "You already utilized a trial before."
|
1310 |
+
msgstr "Du har allerede brugt din prøveperiode."
|
1311 |
+
|
1312 |
+
#: includes/i18n.php:805
|
1313 |
+
msgid "You are already running the plugin in a trial mode."
|
1314 |
+
msgstr ""
|
1315 |
+
|
1316 |
+
#: includes/i18n.php:809
|
1317 |
+
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
+
msgstr ""
|
1319 |
+
|
1320 |
+
#: includes/i18n.php:813
|
1321 |
+
msgid "Plan %s does not support a trial period."
|
1322 |
+
msgstr "Plan %s understøtter ikke en prøveperiode."
|
1323 |
+
|
1324 |
+
#: includes/i18n.php:815
|
1325 |
+
msgid "None of the plugin's plans supports a trial period."
|
1326 |
+
msgstr ""
|
1327 |
+
|
1328 |
+
#: includes/i18n.php:819
|
1329 |
+
msgid ""
|
1330 |
+
"Unexpected API error. Please contact the plugin's author with the following "
|
1331 |
+
"error."
|
1332 |
+
msgstr ""
|
1333 |
+
|
1334 |
+
#: includes/i18n.php:823
|
1335 |
+
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
+
msgstr "Ingen bindinger i %s dage - annuller når som helst!"
|
1337 |
+
|
1338 |
+
#: includes/i18n.php:825
|
1339 |
+
msgid ""
|
1340 |
+
"Your license has expired. You can still continue using all the %s features, "
|
1341 |
+
"but you'll need to renew your license to continue getting updates and "
|
1342 |
+
"support."
|
1343 |
+
msgstr ""
|
1344 |
+
|
1345 |
+
#: includes/i18n.php:829
|
1346 |
+
msgid "Couldn't activate %s."
|
1347 |
+
msgstr "Kunne ikke aktivere %s."
|
1348 |
+
|
1349 |
+
#: includes/i18n.php:831
|
1350 |
+
msgid "Please contact us with the following message:"
|
1351 |
+
msgstr "Kontakt os venligst med følgende besked:"
|
1352 |
+
|
1353 |
+
#: includes/i18n.php:833
|
1354 |
+
msgid ""
|
1355 |
+
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1356 |
+
"your plan, it's probably an issue on our side - sorry."
|
1357 |
+
msgstr ""
|
1358 |
+
|
1359 |
+
#: includes/i18n.php:837
|
1360 |
+
msgid "Please contact us here"
|
1361 |
+
msgstr "Kontakt os her"
|
1362 |
+
|
1363 |
+
#: includes/i18n.php:839
|
1364 |
+
msgid ""
|
1365 |
+
"I have upgraded my account but when I try to Sync the License, the plan "
|
1366 |
+
"remains %s."
|
1367 |
+
msgstr ""
|
1368 |
+
|
1369 |
+
#: includes/i18n.php:847
|
1370 |
+
msgid "From unknown reason, the API connectivity test failed."
|
1371 |
+
msgstr ""
|
1372 |
+
|
1373 |
+
#: includes/i18n.php:851
|
1374 |
+
msgid ""
|
1375 |
+
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1376 |
+
"permission, would it be o.k to run another connectivity test?"
|
1377 |
+
msgstr ""
|
1378 |
+
|
1379 |
+
#: includes/i18n.php:855
|
1380 |
+
msgid ""
|
1381 |
+
"We use PHP cURL library for the API calls, which is a very common library "
|
1382 |
+
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1383 |
+
"on your server."
|
1384 |
+
msgstr ""
|
1385 |
+
|
1386 |
+
#: includes/i18n.php:859
|
1387 |
+
msgid ""
|
1388 |
+
"From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1389 |
+
msgstr ""
|
1390 |
+
|
1391 |
+
#: includes/i18n.php:863
|
1392 |
+
msgctxt "as pluginX requires an access to our API"
|
1393 |
+
msgid "%s requires an access to our API."
|
1394 |
+
msgstr ""
|
1395 |
+
|
1396 |
+
#: includes/i18n.php:867
|
1397 |
+
msgid ""
|
1398 |
+
"It looks like your server is using Squid ACL (access control lists), which "
|
1399 |
+
"blocks the connection."
|
1400 |
+
msgstr ""
|
1401 |
+
|
1402 |
+
#: includes/i18n.php:871
|
1403 |
+
msgid "I don't know what is Squid or ACL, help me!"
|
1404 |
+
msgstr ""
|
1405 |
+
|
1406 |
+
#: includes/i18n.php873, includes/i18n.php:887
|
1407 |
+
msgid ""
|
1408 |
+
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1409 |
+
"will get a follow-up email to %s once we have an update."
|
1410 |
+
msgstr ""
|
1411 |
+
|
1412 |
+
#: includes/i18n.php:877
|
1413 |
+
msgid "I'm a system administrator"
|
1414 |
+
msgstr "Jeg er en system-administrator"
|
1415 |
+
|
1416 |
+
#: includes/i18n.php:879
|
1417 |
+
msgid ""
|
1418 |
+
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1419 |
+
" the plugin and activate it again."
|
1420 |
+
msgstr ""
|
1421 |
+
|
1422 |
+
#: includes/i18n.php:883
|
1423 |
+
msgid "I don't know what is cURL or how to install it, help me!"
|
1424 |
+
msgstr ""
|
1425 |
+
|
1426 |
+
#: includes/i18n.php:891
|
1427 |
+
msgid ""
|
1428 |
+
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1429 |
+
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1430 |
+
"the plugin and reactivate it back again."
|
1431 |
+
msgstr ""
|
1432 |
+
|
1433 |
+
#: includes/i18n.php:895
|
1434 |
+
msgid ""
|
1435 |
+
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1436 |
+
"you ASAP if you give us a chance."
|
1437 |
+
msgstr ""
|
1438 |
+
|
1439 |
+
#: includes/i18n.php:899
|
1440 |
+
msgid ""
|
1441 |
+
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1442 |
+
msgstr ""
|
1443 |
+
|
1444 |
+
#: includes/i18n.php:903
|
1445 |
+
msgid "Yes - I'm giving you a chance to fix it"
|
1446 |
+
msgstr "Ja - jeg giver jer en chance for at rette det"
|
1447 |
+
|
1448 |
+
#: includes/i18n.php:905
|
1449 |
+
msgid ""
|
1450 |
+
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1451 |
+
"You will get a follow-up email to %s once we have an update."
|
1452 |
+
msgstr ""
|
1453 |
+
|
1454 |
+
#: includes/i18n.php:909
|
1455 |
+
msgid "Let's try your previous version"
|
1456 |
+
msgstr "Lad os prøve din forrige version"
|
1457 |
+
|
1458 |
+
#: includes/i18n.php:911
|
1459 |
+
msgid "Uninstall this version and install the previous one."
|
1460 |
+
msgstr "Afinstaller denne version og installer den forrige."
|
1461 |
+
|
1462 |
+
#: includes/i18n.php:915
|
1463 |
+
msgid "That's exhausting, please deactivate"
|
1464 |
+
msgstr ""
|
1465 |
+
|
1466 |
+
#: includes/i18n.php:917
|
1467 |
+
msgid ""
|
1468 |
+
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1469 |
+
" to see you again in the future."
|
1470 |
+
msgstr ""
|
1471 |
+
|
1472 |
+
#: includes/i18n.php:921
|
1473 |
+
msgid ""
|
1474 |
+
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1475 |
+
"technical staff. We will get back to you as soon as we have an update to %s."
|
1476 |
+
" Appreciate your patience."
|
1477 |
+
msgstr ""
|
1478 |
+
|
1479 |
+
#: includes/i18n.php:925
|
1480 |
+
msgctxt "%1s - plugin title, %2s - API domain"
|
1481 |
+
msgid ""
|
1482 |
+
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1483 |
+
"%1s synchronization. Please contact your host to whitelist %2s"
|
1484 |
+
msgstr ""
|
1485 |
+
|
1486 |
+
#: includes/i18n.php:929
|
1487 |
+
msgid ""
|
1488 |
+
"It seems like one of the authentication parameters is wrong. Update your "
|
1489 |
+
"Public Key, Secret Key & User ID, and try again."
|
1490 |
+
msgstr ""
|
1491 |
+
|
1492 |
+
#: includes/i18n.php:937
|
1493 |
+
msgid ""
|
1494 |
+
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1495 |
+
" ownership change. From security reasons, you must confirm the change within"
|
1496 |
+
" the next 15 min. If you cannot find the email, please check your spam "
|
1497 |
+
"folder."
|
1498 |
+
msgstr ""
|
1499 |
+
|
1500 |
+
#: includes/i18n.php:941
|
1501 |
+
msgid ""
|
1502 |
+
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1503 |
+
" final approval."
|
1504 |
+
msgstr ""
|
1505 |
+
|
1506 |
+
#: includes/i18n.php:945
|
1507 |
+
msgid "%s is the new owner of the account."
|
1508 |
+
msgstr "%s er den nye ejer af kontoen."
|
1509 |
+
|
1510 |
+
#: includes/i18n.php:949
|
1511 |
+
msgctxt "addonX cannot run without pluginY"
|
1512 |
+
msgid "%s cannot run without %s."
|
1513 |
+
msgstr "%s virker ikke uden %s."
|
1514 |
+
|
1515 |
+
#: includes/i18n.php:953
|
1516 |
+
msgctxt "addonX cannot run..."
|
1517 |
+
msgid "%s cannot run without the plugin."
|
1518 |
+
msgstr "%s virker ikke uden pluginnet."
|
1519 |
+
|
1520 |
+
#: includes/i18n.php:957
|
1521 |
+
msgctxt "pluginX activation was successfully..."
|
1522 |
+
msgid "%s activation was successfully completed."
|
1523 |
+
msgstr "Aktivering af %s blev gennemført."
|
1524 |
+
|
1525 |
+
#: includes/i18n.php:961
|
1526 |
+
msgctxt "Plugin installer section title"
|
1527 |
+
msgid "Features & Pricing"
|
1528 |
+
msgstr "Funktioner og priser"
|
1529 |
+
|
1530 |
+
#: includes/i18n.php:965
|
1531 |
+
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1532 |
+
msgstr ""
|
1533 |
+
|
1534 |
+
#: includes/i18n.php:969
|
1535 |
+
msgid "Paid add-on must be deployed to Freemius."
|
1536 |
+
msgstr ""
|
1537 |
+
|
1538 |
+
#: includes/i18n.php:977
|
1539 |
+
msgid ""
|
1540 |
+
"%s is a premium only add-on. You have to purchase a license first before "
|
1541 |
+
"activating the plugin."
|
1542 |
+
msgstr ""
|
1543 |
+
|
1544 |
+
#: includes/i18n.php:981
|
1545 |
+
msgid ""
|
1546 |
+
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1547 |
+
"it was automatically deactivated. If you like to use it in the future, "
|
1548 |
+
"you'll have to purchase a license."
|
1549 |
+
msgstr ""
|
1550 |
+
|
1551 |
+
#: includes/i18n.php:993
|
1552 |
+
msgctxt "as every month"
|
1553 |
+
msgid "Monthly"
|
1554 |
+
msgstr "Månedligt"
|
1555 |
+
|
1556 |
+
#: includes/i18n.php:995
|
1557 |
+
msgctxt "as monthly period"
|
1558 |
+
msgid "mo"
|
1559 |
+
msgstr "md"
|
1560 |
+
|
1561 |
+
#: includes/i18n.php:997
|
1562 |
+
msgctxt "as once a year"
|
1563 |
+
msgid "Annual"
|
1564 |
+
msgstr "Årligt"
|
1565 |
+
|
1566 |
+
#: includes/i18n.php:999
|
1567 |
+
msgctxt "as once a year"
|
1568 |
+
msgid "Annually"
|
1569 |
+
msgstr "Årligt"
|
1570 |
+
|
1571 |
+
#: includes/i18n.php:1001
|
1572 |
+
msgctxt "as once a year"
|
1573 |
+
msgid "Once"
|
1574 |
+
msgstr "Engangsbeløb"
|
1575 |
+
|
1576 |
+
#: includes/i18n.php:1003
|
1577 |
+
msgctxt "as annual period"
|
1578 |
+
msgid "year"
|
1579 |
+
msgstr "år"
|
1580 |
+
|
1581 |
+
#: includes/i18n.php:1005
|
1582 |
+
msgid "Lifetime"
|
1583 |
+
msgstr ""
|
1584 |
+
|
1585 |
+
#: includes/i18n.php:1007
|
1586 |
+
msgctxt "e.g. the best product"
|
1587 |
+
msgid "Best"
|
1588 |
+
msgstr "Bedste"
|
1589 |
+
|
1590 |
+
#: includes/i18n.php:1009
|
1591 |
+
msgctxt "e.g. billed monthly"
|
1592 |
+
msgid "Billed %s"
|
1593 |
+
msgstr ""
|
1594 |
+
|
1595 |
+
#: includes/i18n.php:1011
|
1596 |
+
msgctxt "as a discount of $5 or 10%"
|
1597 |
+
msgid "Save %s"
|
1598 |
+
msgstr "Spar %s"
|
1599 |
+
|
1600 |
+
#: includes/i18n.php:1015
|
1601 |
+
msgid "View details"
|
1602 |
+
msgstr "Vis detaljer"
|
1603 |
+
|
1604 |
+
#: includes/i18n.php:1023
|
1605 |
+
msgctxt "button label"
|
1606 |
+
msgid "Approve & Start Trial"
|
1607 |
+
msgstr ""
|
1608 |
+
|
1609 |
+
#: includes/i18n.php:1027
|
1610 |
+
msgid ""
|
1611 |
+
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1612 |
+
"plan."
|
1613 |
+
msgstr ""
|
1614 |
+
|
1615 |
+
#: includes/i18n.php:1031
|
1616 |
+
msgid ""
|
1617 |
+
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1618 |
+
"we ask that you opt-in with your user and non-sensitive site information, "
|
1619 |
+
"allowing the plugin to periodically send data to %s to check for version "
|
1620 |
+
"updates and to validate your trial."
|
1621 |
+
msgstr ""
|
1622 |
+
|
1623 |
+
#: includes/i18n.php:1043
|
1624 |
+
msgid "Business name"
|
1625 |
+
msgstr ""
|
1626 |
+
|
1627 |
+
#: includes/i18n.php:1045
|
1628 |
+
msgid "Tax / VAT ID"
|
1629 |
+
msgstr ""
|
1630 |
+
|
1631 |
+
#: includes/i18n.php:1047
|
1632 |
+
msgid "Address Line %d"
|
1633 |
+
msgstr ""
|
1634 |
+
|
1635 |
+
#: includes/i18n.php:1049
|
1636 |
+
msgid "Country"
|
1637 |
+
msgstr ""
|
1638 |
+
|
1639 |
+
#: includes/i18n.php:1051
|
1640 |
+
msgid "Select Country"
|
1641 |
+
msgstr ""
|
1642 |
+
|
1643 |
+
#: includes/i18n.php:1053
|
1644 |
+
msgid "City"
|
1645 |
+
msgstr ""
|
1646 |
+
|
1647 |
+
#: includes/i18n.php:1055
|
1648 |
+
msgid "Town"
|
1649 |
+
msgstr ""
|
1650 |
+
|
1651 |
+
#: includes/i18n.php:1057
|
1652 |
+
msgid "State"
|
1653 |
+
msgstr ""
|
1654 |
+
|
1655 |
+
#: includes/i18n.php:1059
|
1656 |
+
msgid "Province"
|
1657 |
+
msgstr ""
|
1658 |
+
|
1659 |
+
#: includes/i18n.php:1061
|
1660 |
+
msgid "ZIP / Postal Code"
|
1661 |
+
msgstr ""
|
freemius/languages/freemius-en.mo
CHANGED
Binary file
|
freemius/languages/freemius-en.po
CHANGED
@@ -130,1267 +130,1393 @@ msgid "Edit"
|
|
130 |
msgstr "Edit"
|
131 |
|
132 |
#: includes/i18n.php:119
|
|
|
|
|
|
|
|
|
|
|
133 |
msgid "Date"
|
134 |
msgstr "Date"
|
135 |
|
136 |
-
#: includes/i18n.php:
|
137 |
msgid "Amount"
|
138 |
msgstr "Amount"
|
139 |
|
140 |
-
#: includes/i18n.php:
|
141 |
msgid "Invoice"
|
142 |
msgstr "Invoice"
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Billing"
|
146 |
msgstr "Billing"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Payments"
|
150 |
msgstr "Payments"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Delete Account"
|
154 |
msgstr "Delete Account"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgctxt "as close a window"
|
158 |
msgid "Dismiss"
|
159 |
msgstr "Dismiss"
|
160 |
|
161 |
-
#: includes/i18n.php:
|
162 |
msgctxt "as product pricing plan"
|
163 |
msgid "Plan"
|
164 |
msgstr "Plan"
|
165 |
|
166 |
-
#: includes/i18n.php:
|
167 |
msgid "Change Plan"
|
168 |
msgstr "Change Plan"
|
169 |
|
170 |
-
#: includes/i18n.php:
|
171 |
msgctxt "as download professional version"
|
172 |
msgid "Download %s Version"
|
173 |
msgstr "Download %s Version"
|
174 |
|
175 |
-
#: includes/i18n.php:
|
176 |
msgctxt "as download professional version now"
|
177 |
msgid "Download %s version now"
|
178 |
msgstr "Download %s version now"
|
179 |
|
180 |
-
#: includes/i18n.php:
|
181 |
msgctxt "as download latest version"
|
182 |
msgid "Download Latest"
|
183 |
msgstr "Download Latest"
|
184 |
|
185 |
-
#: includes/i18n.php:
|
186 |
msgctxt "E.g. you have a professional license."
|
187 |
msgid "You have a %s license."
|
188 |
msgstr "You have a %s license."
|
189 |
|
190 |
-
#: includes/i18n.php:
|
191 |
msgid "New"
|
192 |
msgstr "New"
|
193 |
|
194 |
-
#: includes/i18n.php:
|
195 |
msgid "Free"
|
196 |
msgstr "Free"
|
197 |
|
198 |
-
#: includes/i18n.php:
|
199 |
msgctxt "as trial plan"
|
200 |
msgid "Trial"
|
201 |
msgstr "Trial"
|
202 |
|
203 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
204 |
msgctxt "verb"
|
205 |
msgid "Purchase"
|
206 |
msgstr "Purchase"
|
207 |
|
208 |
-
#: includes/i18n.php:
|
209 |
msgid "Purchase License"
|
210 |
msgstr "Purchase License"
|
211 |
|
212 |
-
#: includes/i18n.php:
|
213 |
msgctxt "verb"
|
214 |
msgid "Buy"
|
215 |
msgstr "Buy"
|
216 |
|
217 |
-
#: includes/i18n.php:
|
218 |
msgid "Buy License"
|
219 |
msgstr "Buy License"
|
220 |
|
221 |
-
#: includes/i18n.php:
|
222 |
msgid "Single Site License"
|
223 |
msgstr "Single Site License"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Unlimited Licenses"
|
227 |
msgstr "Unlimited Licenses"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgid "Up to %s Sites"
|
231 |
msgstr "Up to %s Sites"
|
232 |
|
233 |
-
#: includes/i18n.php:
|
234 |
msgid "%sRenew your license now%s to access version %s features and support."
|
235 |
msgstr "%sRenew your license now%s to access version %s features and support."
|
236 |
|
237 |
-
#: includes/i18n.php:
|
238 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
239 |
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
240 |
|
241 |
-
#: includes/i18n.php:
|
242 |
msgctxt "e.g. Professional Plan"
|
243 |
msgid "%s Plan"
|
244 |
msgstr "%s Plan"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "You are just one step away - %s"
|
248 |
msgstr "You are just one step away - %s"
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
252 |
msgid "Complete \"%s\" Activation Now"
|
253 |
msgstr "Complete \"%s\" Activation Now"
|
254 |
|
255 |
-
#: includes/i18n.php:
|
256 |
msgid "We made a few tweaks to the plugin, %s"
|
257 |
msgstr "We made a few tweaks to the plugin, %s"
|
258 |
|
259 |
-
#: includes/i18n.php:
|
260 |
msgid "Opt-in to make \"%s\" Better!"
|
261 |
msgstr "Opt-in to make \"%s\" Better!"
|
262 |
|
263 |
-
#: includes/i18n.php:
|
264 |
msgid "Error"
|
265 |
msgstr "Error"
|
266 |
|
267 |
-
#: includes/i18n.php:
|
268 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
269 |
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
270 |
|
271 |
-
#: includes/i18n.php:
|
272 |
msgctxt "as expiration date"
|
273 |
msgid "Expiration"
|
274 |
msgstr "Expiration"
|
275 |
|
276 |
-
#: includes/i18n.php:
|
277 |
msgctxt "as software license"
|
278 |
msgid "License"
|
279 |
msgstr "License"
|
280 |
|
281 |
-
#: includes/i18n.php:
|
282 |
msgid "not verified"
|
283 |
msgstr "not verified"
|
284 |
|
285 |
-
#: includes/i18n.php:
|
286 |
msgid "Verify Email"
|
287 |
msgstr "Verify Email"
|
288 |
|
289 |
-
#: includes/i18n.php:
|
290 |
msgctxt "e.g. expires in 2 months"
|
291 |
msgid "Expires in %s"
|
292 |
msgstr "Expires in %s"
|
293 |
|
294 |
-
#: includes/i18n.php:
|
295 |
msgctxt "e.g. auto renews in 2 months"
|
296 |
msgid "Auto renews in %s"
|
297 |
msgstr "Auto renews in %s"
|
298 |
|
299 |
-
#: includes/i18n.php:
|
300 |
msgid "No expiration"
|
301 |
msgstr "No expiration"
|
302 |
|
303 |
-
#: includes/i18n.php:
|
304 |
msgid "Expired"
|
305 |
msgstr "Expired"
|
306 |
|
307 |
-
#: includes/i18n.php:
|
308 |
msgid "Cancelled"
|
309 |
msgstr "Cancelled"
|
310 |
|
311 |
-
#: includes/i18n.php:
|
312 |
msgctxt "e.g. In 2 hours"
|
313 |
msgid "In %s"
|
314 |
msgstr "In %s"
|
315 |
|
316 |
-
#: includes/i18n.php:
|
317 |
msgctxt "e.g. 2 min ago"
|
318 |
msgid "%s ago"
|
319 |
msgstr "%s ago"
|
320 |
|
321 |
-
#: includes/i18n.php:
|
322 |
msgctxt "as plugin version"
|
323 |
msgid "Version"
|
324 |
msgstr "Version"
|
325 |
|
326 |
-
#: includes/i18n.php:
|
327 |
msgid "Name"
|
328 |
msgstr "Name"
|
329 |
|
330 |
-
#: includes/i18n.php:
|
331 |
msgid "Email"
|
332 |
msgstr "Email"
|
333 |
|
334 |
-
#: includes/i18n.php:
|
335 |
msgid "Email address"
|
336 |
msgstr "Email address"
|
337 |
|
338 |
-
#: includes/i18n.php:
|
339 |
msgid "Verified"
|
340 |
msgstr "Verified"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
343 |
msgid "Plugin"
|
344 |
msgstr "Plugin"
|
345 |
|
346 |
-
#: includes/i18n.php:
|
347 |
msgid "Plugins"
|
348 |
msgstr "Plugins"
|
349 |
|
350 |
-
#: includes/i18n.php:
|
351 |
msgid "Themes"
|
352 |
msgstr "Themes"
|
353 |
|
354 |
-
#: includes/i18n.php:
|
355 |
msgctxt "as file/folder path"
|
356 |
msgid "Path"
|
357 |
msgstr "Path"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Title"
|
361 |
msgstr "Title"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
364 |
msgid "Free version"
|
365 |
msgstr "Free version"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Premium version"
|
369 |
msgstr "Premium version"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
372 |
msgctxt "as WP plugin slug"
|
373 |
msgid "Slug"
|
374 |
msgstr "Slug"
|
375 |
|
376 |
-
#: includes/i18n.php:
|
377 |
msgid "ID"
|
378 |
msgstr "ID"
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Users"
|
382 |
msgstr "Users"
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Plugin Installs"
|
386 |
msgstr "Plugin Installs"
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgctxt "like websites"
|
390 |
msgid "Sites"
|
391 |
msgstr "Sites"
|
392 |
|
393 |
-
#: includes/i18n.php:
|
394 |
msgid "User ID"
|
395 |
msgstr "User ID"
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "Site ID"
|
399 |
msgstr "Site ID"
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Public Key"
|
403 |
msgstr "Public Key"
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Secret Key"
|
407 |
msgstr "Secret Key"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
410 |
msgctxt "as secret encryption key missing"
|
411 |
msgid "No Secret"
|
412 |
msgstr "No Secret"
|
413 |
|
414 |
-
#: includes/i18n.php:
|
415 |
msgid "No ID"
|
416 |
msgstr "No ID"
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgctxt "as synchronize license"
|
420 |
msgid "Sync License"
|
421 |
msgstr "Sync License"
|
422 |
|
423 |
-
#: includes/i18n.php:
|
424 |
msgctxt "as synchronize"
|
425 |
msgid "Sync"
|
426 |
msgstr "Sync"
|
427 |
|
428 |
-
#: includes/i18n.php:
|
429 |
msgid "Activate License"
|
430 |
msgstr "Activate License"
|
431 |
|
432 |
-
#: includes/i18n.php:
|
433 |
msgid "Activate Free Version"
|
434 |
msgstr "Activate Free Version"
|
435 |
|
436 |
-
#: includes/i18n.php:
|
437 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
438 |
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
439 |
|
440 |
-
#: includes/i18n.php:
|
441 |
msgid "Activating license..."
|
442 |
msgstr "Activating license..."
|
443 |
|
444 |
-
#: includes/i18n.php:
|
445 |
msgid "Change License"
|
446 |
msgstr "Change License"
|
447 |
|
448 |
-
#: includes/i18n.php:
|
449 |
msgid "Update License"
|
450 |
msgstr "Update License"
|
451 |
|
452 |
-
#: includes/i18n.php:
|
453 |
msgid "Deactivate License"
|
454 |
msgstr "Deactivate License"
|
455 |
|
456 |
-
#: includes/i18n.php:
|
457 |
msgid "Activate"
|
458 |
msgstr "Activate"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgid "Deactivate"
|
462 |
msgstr "Deactivate"
|
463 |
|
464 |
-
#: includes/i18n.php:
|
465 |
msgid "Skip & Deactivate"
|
466 |
msgstr "Skip & Deactivate"
|
467 |
|
468 |
-
#: includes/i18n.php:
|
469 |
msgid "No - just deactivate"
|
470 |
msgstr "No - just deactivate"
|
471 |
|
472 |
-
#: includes/i18n.php:
|
473 |
msgid "Yes - do your thing"
|
474 |
msgstr "Yes - do your thing"
|
475 |
|
476 |
-
#: includes/i18n.php:
|
477 |
msgctxt "active mode"
|
478 |
msgid "Active"
|
479 |
msgstr "Active"
|
480 |
|
481 |
-
#: includes/i18n.php:
|
482 |
msgctxt "is active mode?"
|
483 |
msgid "Is Active"
|
484 |
msgstr "Is Active"
|
485 |
|
486 |
-
#: includes/i18n.php:
|
487 |
msgid "Install Now"
|
488 |
msgstr "Install Now"
|
489 |
|
490 |
-
#: includes/i18n.php:
|
491 |
msgid "Install Update Now"
|
492 |
msgstr "Install Update Now"
|
493 |
|
494 |
-
#: includes/i18n.php:
|
495 |
msgid "More information about %s"
|
496 |
msgstr "More information about %s"
|
497 |
|
498 |
-
#: includes/i18n.php:
|
499 |
msgid "Localhost"
|
500 |
msgstr "Localhost"
|
501 |
|
502 |
-
#: includes/i18n.php:
|
503 |
msgctxt "as activate Professional plan"
|
504 |
msgid "Activate %s Plan"
|
505 |
msgstr "Activate %s Plan"
|
506 |
|
507 |
-
#: includes/i18n.php:
|
508 |
msgctxt "as 5 licenses left"
|
509 |
msgid "%s left"
|
510 |
msgstr "%s left"
|
511 |
|
512 |
-
#: includes/i18n.php:
|
513 |
msgid "Last license"
|
514 |
msgstr "Last license"
|
515 |
|
516 |
-
#: includes/i18n.php:
|
517 |
msgid "What is your %s?"
|
518 |
msgstr "What is your %s?"
|
519 |
|
520 |
-
#: includes/i18n.php:
|
521 |
msgid "Activate this add-on"
|
522 |
msgstr "Activate this add-on"
|
523 |
|
524 |
-
#: includes/i18n.php:
|
525 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
526 |
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
527 |
|
528 |
-
#: includes/i18n.php:
|
529 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
530 |
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
531 |
|
532 |
-
#: includes/i18n.php:
|
533 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
534 |
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
535 |
|
536 |
-
#: includes/i18n.php:
|
537 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
538 |
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
539 |
|
540 |
-
#: includes/i18n.php:
|
541 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
542 |
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
543 |
|
544 |
-
#: includes/i18n.php:
|
545 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
546 |
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
547 |
|
548 |
-
#: includes/i18n.php:
|
549 |
msgid "Once your license expire you can still use the Free version but you will NOT have access to the %s features."
|
550 |
msgstr "Once your license expire you can still use the Free version but you will NOT have access to the %s features."
|
551 |
|
552 |
-
#: includes/i18n.php:
|
553 |
msgid "Are you sure you want to proceed?"
|
554 |
msgstr "Are you sure you want to proceed?"
|
555 |
|
556 |
-
#: includes/i18n.php:
|
557 |
msgid "Add Ons for %s"
|
558 |
msgstr "Add Ons for %s"
|
559 |
|
560 |
-
#: includes/i18n.php:
|
561 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
562 |
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
563 |
|
564 |
-
#: includes/i18n.php:
|
565 |
msgid "Anonymous feedback"
|
566 |
msgstr "Anonymous feedback"
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
msgid "Quick feedback"
|
570 |
msgstr "Quick feedback"
|
571 |
|
572 |
-
#: includes/i18n.php:
|
573 |
msgid "If you have a moment, please let us know why you are deactivating"
|
574 |
msgstr "If you have a moment, please let us know why you are deactivating"
|
575 |
|
576 |
-
#: includes/i18n.php:
|
577 |
msgid "Yes - Deactivate"
|
578 |
msgstr "Yes - Deactivate"
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
msgid "Submit & Deactivate"
|
582 |
msgstr "Submit & Deactivate"
|
583 |
|
584 |
-
#: includes/i18n.php:
|
585 |
-
msgctxt "the text of the cancel button of the plugin deactivation dialog box."
|
586 |
msgid "Cancel"
|
587 |
msgstr "Cancel"
|
588 |
|
589 |
-
#: includes/i18n.php:
|
590 |
msgid "I no longer need the plugin"
|
591 |
msgstr "I no longer need the plugin"
|
592 |
|
593 |
-
#: includes/i18n.php:
|
594 |
msgid "I found a better plugin"
|
595 |
msgstr "I found a better plugin"
|
596 |
|
597 |
-
#: includes/i18n.php:
|
598 |
msgid "I only needed the plugin for a short period"
|
599 |
msgstr "I only needed the plugin for a short period"
|
600 |
|
601 |
-
#: includes/i18n.php:
|
602 |
msgid "The plugin broke my site"
|
603 |
msgstr "The plugin broke my site"
|
604 |
|
605 |
-
#: includes/i18n.php:
|
606 |
msgid "The plugin suddenly stopped working"
|
607 |
msgstr "The plugin suddenly stopped working"
|
608 |
|
609 |
-
#: includes/i18n.php:
|
610 |
msgid "I can't pay for it anymore"
|
611 |
msgstr "I can't pay for it anymore"
|
612 |
|
613 |
-
#: includes/i18n.php:
|
614 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
615 |
msgstr "It's a temporary deactivation. I'm just debugging an issue."
|
616 |
|
617 |
-
#: includes/i18n.php:
|
618 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
619 |
msgid "Other"
|
620 |
msgstr "Other"
|
621 |
|
622 |
-
#: includes/i18n.php:
|
623 |
msgid "Kindly tell us the reason so we can improve."
|
624 |
msgstr "Kindly tell us the reason so we can improve."
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "What's the plugin's name?"
|
628 |
msgstr "What's the plugin's name?"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "What price would you feel comfortable paying?"
|
632 |
msgstr "What price would you feel comfortable paying?"
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "I couldn't understand how to make it work"
|
636 |
msgstr "I couldn't understand how to make it work"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
640 |
msgstr "The plugin is great, but I need specific feature that you don't support"
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "The plugin is not working"
|
644 |
msgstr "The plugin is not working"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "It's not what I was looking for"
|
648 |
msgstr "It's not what I was looking for"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "The plugin didn't work as expected"
|
652 |
msgstr "The plugin didn't work as expected"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "What feature?"
|
656 |
msgstr "What feature?"
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
660 |
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "What you've been looking for?"
|
664 |
msgstr "What you've been looking for?"
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "What did you expect?"
|
668 |
msgstr "What did you expect?"
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid "The plugin didn't work"
|
672 |
msgstr "The plugin didn't work"
|
673 |
|
674 |
-
#: includes/i18n.php:
|
675 |
msgid "I don't like to share my information with you"
|
676 |
msgstr "I don't like to share my information with you"
|
677 |
|
678 |
-
#: includes/i18n.php:
|
679 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
680 |
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
681 |
|
682 |
-
#: includes/i18n.php:
|
683 |
msgctxt "greeting"
|
684 |
msgid "Hey %s,"
|
685 |
msgstr "Hey %s,"
|
686 |
|
687 |
-
#: includes/i18n.php:
|
688 |
msgctxt "a greeting. E.g. Thanks John!"
|
689 |
msgid "Thanks %s!"
|
690 |
msgstr "Thanks %s!"
|
691 |
|
692 |
-
#: includes/i18n.php:
|
693 |
-
msgid "
|
694 |
-
msgstr "
|
695 |
|
696 |
-
#: includes/i18n.php:
|
697 |
-
msgid "Please help us improve %
|
698 |
-
msgstr "Please help us improve %
|
699 |
|
700 |
-
#: includes/i18n.php:
|
701 |
-
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to
|
702 |
-
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to
|
703 |
|
704 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
706 |
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
707 |
|
708 |
-
#: includes/i18n.php:
|
709 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
710 |
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
711 |
|
712 |
-
#: includes/i18n.php:
|
713 |
msgid "What permissions are being granted?"
|
714 |
msgstr "What permissions are being granted?"
|
715 |
|
716 |
-
#: includes/i18n.php:
|
717 |
msgid "Your Profile Overview"
|
718 |
msgstr "Your Profile Overview"
|
719 |
|
720 |
-
#: includes/i18n.php:
|
721 |
msgid "Name and email address"
|
722 |
msgstr "Name and email address"
|
723 |
|
724 |
-
#: includes/i18n.php:
|
725 |
msgid "Your Site Overview"
|
726 |
msgstr "Your Site Overview"
|
727 |
|
728 |
-
#: includes/i18n.php:
|
729 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
730 |
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
731 |
|
732 |
-
#: includes/i18n.php:
|
733 |
msgid "Current Plugin Events"
|
734 |
msgstr "Current Plugin Events"
|
735 |
|
736 |
-
#: includes/i18n.php:
|
737 |
msgid "Activation, deactivation and uninstall"
|
738 |
msgstr "Activation, deactivation and uninstall"
|
739 |
|
740 |
-
#: includes/i18n.php:
|
741 |
msgid "Plugins & Themes"
|
742 |
msgstr "Plugins & Themes"
|
743 |
|
744 |
-
#: includes/i18n.php:
|
745 |
msgid "Titles, versions and state."
|
746 |
msgstr "Titles, versions and state."
|
747 |
|
748 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
749 |
msgid "Newsletter"
|
750 |
msgstr "Newsletter"
|
751 |
|
752 |
-
#: includes/i18n.php:
|
753 |
msgid "Updates, announcements, marketing, no spam"
|
754 |
msgstr "Updates, announcements, marketing, no spam"
|
755 |
|
756 |
-
#: includes/i18n.php:
|
757 |
msgid "Privacy Policy"
|
758 |
msgstr "Privacy Policy"
|
759 |
|
760 |
-
#: includes/i18n.php:
|
761 |
msgid "Terms of Service"
|
762 |
msgstr "Terms of Service"
|
763 |
|
764 |
-
#: includes/i18n.php:
|
765 |
msgctxt "as activating plugin"
|
766 |
msgid "Activating"
|
767 |
msgstr "Activating"
|
768 |
|
769 |
-
#: includes/i18n.php:
|
770 |
msgctxt "as in the process of sending an email"
|
771 |
msgid "Sending email"
|
772 |
msgstr "Sending email"
|
773 |
|
774 |
-
#: includes/i18n.php:
|
775 |
msgctxt "button label"
|
776 |
msgid "Allow & Continue"
|
777 |
msgstr "Allow & Continue"
|
778 |
|
779 |
-
#: includes/i18n.php:
|
780 |
msgctxt "button label"
|
781 |
msgid "Agree & Activate License"
|
782 |
msgstr "Agree & Activate License"
|
783 |
|
784 |
-
#: includes/i18n.php:
|
785 |
msgctxt "verb"
|
786 |
msgid "Skip"
|
787 |
msgstr "Skip"
|
788 |
|
789 |
-
#: includes/i18n.php:
|
790 |
msgid "Click here to use the plugin anonymously"
|
791 |
msgstr "Click here to use the plugin anonymously"
|
792 |
|
793 |
-
#: includes/i18n.php:
|
794 |
msgid "Re-send activation email"
|
795 |
msgstr "Re-send activation email"
|
796 |
|
797 |
-
#: includes/i18n.php:
|
798 |
msgid "License key"
|
799 |
msgstr "License key"
|
800 |
|
801 |
-
#: includes/i18n.php:
|
802 |
msgid "Send License Key"
|
803 |
msgstr "Send License Key"
|
804 |
|
805 |
-
#: includes/i18n.php:
|
806 |
msgid "Sending license key"
|
807 |
msgstr "Sending license key"
|
808 |
|
809 |
-
#: includes/i18n.php:
|
810 |
msgid "Have a license key?"
|
811 |
msgstr "Have a license key?"
|
812 |
|
813 |
-
#: includes/i18n.php:
|
814 |
msgid "Don't have a license key?"
|
815 |
msgstr "Don't have a license key?"
|
816 |
|
817 |
-
#: includes/i18n.php:
|
818 |
msgid "Can't find your license key?"
|
819 |
msgstr "Can't find your license key?"
|
820 |
|
821 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
822 |
msgid "Screenshots"
|
823 |
msgstr "Screenshots"
|
824 |
|
825 |
-
#: includes/i18n.php:
|
826 |
msgid "Click to view full-size screenshot %d"
|
827 |
msgstr "Click to view full-size screenshot %d"
|
828 |
|
829 |
-
#: includes/i18n.php:
|
830 |
msgid "Freemius Debug"
|
831 |
msgstr "Freemius Debug"
|
832 |
|
833 |
-
#: includes/i18n.php:
|
834 |
msgctxt "as turned on"
|
835 |
msgid "On"
|
836 |
msgstr "On"
|
837 |
|
838 |
-
#: includes/i18n.php:
|
839 |
msgctxt "as turned off"
|
840 |
msgid "Off"
|
841 |
msgstr "Off"
|
842 |
|
843 |
-
#: includes/i18n.php:
|
844 |
msgctxt "as code debugging"
|
845 |
msgid "Debugging"
|
846 |
msgstr "Debugging"
|
847 |
|
848 |
-
#: includes/i18n.php:
|
849 |
msgid "Freemius State"
|
850 |
msgstr "Freemius State"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "as connection was successful"
|
854 |
msgid "Connected"
|
855 |
msgstr "Connected"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgctxt "as connection blocked"
|
859 |
msgid "Blocked"
|
860 |
msgstr "Blocked"
|
861 |
|
862 |
-
#: includes/i18n.php:
|
863 |
msgctxt "as application program interface"
|
864 |
msgid "API"
|
865 |
msgstr "API"
|
866 |
|
867 |
-
#: includes/i18n.php:
|
868 |
msgctxt "as software development kit versions"
|
869 |
msgid "SDK"
|
870 |
msgstr "SDK"
|
871 |
|
872 |
-
#: includes/i18n.php:
|
873 |
msgctxt "as software development kit versions"
|
874 |
msgid "SDK Versions"
|
875 |
msgstr "SDK Versions"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgctxt "as plugin folder path"
|
879 |
msgid "Plugin Path"
|
880 |
msgstr "Plugin Path"
|
881 |
|
882 |
-
#: includes/i18n.php:
|
883 |
msgctxt "as sdk path"
|
884 |
msgid "SDK Path"
|
885 |
msgstr "SDK Path"
|
886 |
|
887 |
-
#: includes/i18n.php:
|
888 |
msgid "Add Ons of Plugin %s"
|
889 |
msgstr "Add Ons of Plugin %s"
|
890 |
|
891 |
-
#: includes/i18n.php:
|
892 |
msgid "Are you sure you want to delete all Freemius data?"
|
893 |
msgstr "Are you sure you want to delete all Freemius data?"
|
894 |
|
895 |
-
#: includes/i18n.php:
|
896 |
msgid "Actions"
|
897 |
msgstr "Actions"
|
898 |
|
899 |
-
#: includes/i18n.php:
|
900 |
msgid "Delete All Accounts"
|
901 |
msgstr "Delete All Accounts"
|
902 |
|
903 |
-
#: includes/i18n.php:
|
904 |
msgid "Start Fresh"
|
905 |
msgstr "Start Fresh"
|
906 |
|
907 |
-
#: includes/i18n.php:
|
908 |
msgid "Clear API Cache"
|
909 |
msgstr "Clear API Cache"
|
910 |
|
911 |
-
#: includes/i18n.php:
|
912 |
msgid "Sync Data From Server"
|
913 |
msgstr "Sync Data From Server"
|
914 |
|
915 |
-
#: includes/i18n.php:
|
916 |
msgid "Scheduled Crons"
|
917 |
msgstr "Scheduled Crons"
|
918 |
|
919 |
-
#: includes/i18n.php:
|
920 |
msgid "Plugins & Themes Sync"
|
921 |
msgstr "Plugins & Themes Sync"
|
922 |
|
923 |
-
#: includes/i18n.php:
|
924 |
msgctxt "as congratulations"
|
925 |
msgid "Congrats"
|
926 |
msgstr "Congrats"
|
927 |
|
928 |
-
#: includes/i18n.php:
|
929 |
msgctxt "exclamation"
|
930 |
msgid "Oops"
|
931 |
msgstr "Oops"
|
932 |
|
933 |
-
#: includes/i18n.php:
|
934 |
msgctxt "interjection expressing joy or exuberance"
|
935 |
msgid "Yee-haw"
|
936 |
msgstr "Yee-haw"
|
937 |
|
938 |
-
#: includes/i18n.php:
|
939 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
940 |
msgid "W00t"
|
941 |
msgstr "W00t"
|
942 |
|
943 |
-
#: includes/i18n.php:
|
944 |
msgctxt "a positive response"
|
945 |
msgid "Right on"
|
946 |
msgstr "Right on"
|
947 |
|
948 |
-
#: includes/i18n.php:
|
949 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
950 |
msgid "Hmm"
|
951 |
msgstr "Hmm"
|
952 |
|
953 |
-
#: includes/i18n.php:
|
954 |
msgid "O.K"
|
955 |
msgstr "O.K"
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgctxt "exclamation"
|
959 |
msgid "Hey"
|
960 |
msgstr "Hey"
|
961 |
|
962 |
-
#: includes/i18n.php:
|
963 |
msgctxt "advance notice of something that will need attention."
|
964 |
msgid "Heads up"
|
965 |
msgstr "Heads up"
|
966 |
|
967 |
-
#: includes/i18n.php:
|
968 |
msgid "Seems like you got the latest release."
|
969 |
msgstr "Seems like you got the latest release."
|
970 |
|
971 |
-
#: includes/i18n.php:
|
972 |
msgid "You are all good!"
|
973 |
msgstr "You are all good!"
|
974 |
|
975 |
-
#: includes/i18n.php:
|
976 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
977 |
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
978 |
|
979 |
-
#: includes/i18n.php:
|
980 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
981 |
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
982 |
|
983 |
-
#: includes/i18n.php:
|
984 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
985 |
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
986 |
|
987 |
-
#: includes/i18n.php:
|
988 |
msgid "Your name was successfully updated."
|
989 |
msgstr "Your name was successfully updated."
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgid "You have successfully updated your %s."
|
993 |
msgstr "You have successfully updated your %s."
|
994 |
|
995 |
-
#: includes/i18n.php:
|
996 |
msgid "Please provide your full name."
|
997 |
msgstr "Please provide your full name."
|
998 |
|
999 |
-
#: includes/i18n.php:
|
1000 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1001 |
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1002 |
|
1003 |
-
#: includes/i18n.php:
|
1004 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1005 |
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1006 |
|
1007 |
-
#: includes/i18n.php:
|
1008 |
msgid "No credit card required"
|
1009 |
msgstr "No credit card required"
|
1010 |
|
1011 |
-
#: includes/i18n.php:
|
1012 |
msgid "Premium plugin version was successfully activated."
|
1013 |
msgstr "Premium plugin version was successfully activated."
|
1014 |
|
1015 |
-
#: includes/i18n.php:
|
1016 |
msgid "The upgrade of %s was successfully completed."
|
1017 |
msgstr "The upgrade of %s was successfully completed."
|
1018 |
|
1019 |
-
#: includes/i18n.php:
|
1020 |
msgid "Your account was successfully activated with the %s plan."
|
1021 |
msgstr "Your account was successfully activated with the %s plan."
|
1022 |
|
1023 |
-
#: includes/i18n.php:
|
1024 |
msgid "Download the latest %s version now"
|
1025 |
msgstr "Download the latest %s version now"
|
1026 |
|
1027 |
-
#: includes/i18n.php:
|
1028 |
msgid "Please follow these steps to complete the upgrade"
|
1029 |
msgstr "Please follow these steps to complete the upgrade"
|
1030 |
|
1031 |
-
#: includes/i18n.php:
|
1032 |
msgid "Download the latest %s version"
|
1033 |
msgstr "Download the latest %s version"
|
1034 |
|
1035 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1036 |
msgid "Deactivate the free version"
|
1037 |
msgstr "Deactivate the free version"
|
1038 |
|
1039 |
-
#: includes/i18n.php:
|
1040 |
msgid "Upload and activate the downloaded version"
|
1041 |
msgstr "Upload and activate the downloaded version"
|
1042 |
|
1043 |
-
#: includes/i18n.php:
|
1044 |
msgid "How to upload and activate?"
|
1045 |
msgstr "How to upload and activate?"
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1049 |
msgid "%s Add-on was successfully purchased."
|
1050 |
msgstr "%s Add-on was successfully purchased."
|
1051 |
|
1052 |
-
#: includes/i18n.php:
|
1053 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1054 |
msgstr "Your %s Add-on plan was successfully upgraded."
|
1055 |
|
1056 |
-
#: includes/i18n.php:
|
1057 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1058 |
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1059 |
|
1060 |
-
#: includes/i18n.php:
|
1061 |
msgid "Your plan was successfully upgraded."
|
1062 |
msgstr "Your plan was successfully upgraded."
|
1063 |
|
1064 |
-
#: includes/i18n.php:
|
1065 |
msgid "Your plan was successfully changed to %s."
|
1066 |
msgstr "Your plan was successfully changed to %s."
|
1067 |
|
1068 |
-
#: includes/i18n.php:
|
1069 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1070 |
msgstr "Your license has expired. You can still continue using the free plugin forever."
|
1071 |
|
1072 |
-
#: includes/i18n.php:
|
1073 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1074 |
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1075 |
|
1076 |
-
#: includes/i18n.php:
|
1077 |
msgid "Your trial has been successfully started."
|
1078 |
msgstr "Your trial has been successfully started."
|
1079 |
|
1080 |
-
#: includes/i18n.php:
|
1081 |
msgid "Your license was successfully activated."
|
1082 |
msgstr "Your license was successfully activated."
|
1083 |
|
1084 |
-
#: includes/i18n.php:
|
1085 |
msgid "It looks like your site currently doesn't have an active license."
|
1086 |
msgstr "It looks like your site currently doesn't have an active license."
|
1087 |
|
1088 |
-
#: includes/i18n.php:
|
1089 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1090 |
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
1091 |
|
1092 |
-
#: includes/i18n.php:
|
1093 |
msgid "It looks like the license deactivation failed."
|
1094 |
msgstr "It looks like the license deactivation failed."
|
1095 |
|
1096 |
-
#: includes/i18n.php:
|
1097 |
msgid "It looks like the license could not be activated."
|
1098 |
msgstr "It looks like the license could not be activated."
|
1099 |
|
1100 |
-
#: includes/i18n.php:
|
1101 |
msgid "Error received from the server:"
|
1102 |
msgstr "Error received from the server:"
|
1103 |
|
1104 |
-
#: includes/i18n.php:
|
1105 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1106 |
msgstr "Your trial has expired. You can still continue using all our free features."
|
1107 |
|
1108 |
-
#: includes/i18n.php:
|
1109 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1110 |
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1111 |
|
1112 |
-
#: includes/i18n.php:
|
1113 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1114 |
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1115 |
|
1116 |
-
#: includes/i18n.php:
|
1117 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1118 |
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1119 |
|
1120 |
-
#: includes/i18n.php:
|
1121 |
msgid "Your %s free trial was successfully cancelled."
|
1122 |
msgstr "Your %s free trial was successfully cancelled."
|
1123 |
|
1124 |
-
#: includes/i18n.php:
|
1125 |
msgctxt "%s - numeric version number"
|
1126 |
msgid "Version %s was released."
|
1127 |
msgstr "Version %s was released."
|
1128 |
|
1129 |
-
#: includes/i18n.php:
|
1130 |
msgid "Please download %s."
|
1131 |
msgstr "Please download %s."
|
1132 |
|
1133 |
-
#: includes/i18n.php:
|
1134 |
msgctxt "%s - plan name, as the latest professional version here"
|
1135 |
msgid "the latest %s version here"
|
1136 |
msgstr "the latest %s version here"
|
1137 |
|
1138 |
-
#: includes/i18n.php:
|
1139 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1140 |
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1141 |
|
1142 |
-
#: includes/i18n.php:
|
1143 |
msgctxt "call to action"
|
1144 |
msgid "Start free trial"
|
1145 |
msgstr "Start free trial"
|
1146 |
|
1147 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1148 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1149 |
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1150 |
|
1151 |
-
#: includes/i18n.php:
|
1152 |
msgid "You already utilized a trial before."
|
1153 |
msgstr "You already utilized a trial before."
|
1154 |
|
1155 |
-
#: includes/i18n.php:
|
1156 |
msgid "You are already running the plugin in a trial mode."
|
1157 |
msgstr "You are already running the plugin in a trial mode."
|
1158 |
|
1159 |
-
#: includes/i18n.php:
|
1160 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1161 |
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
1162 |
|
1163 |
-
#: includes/i18n.php:
|
1164 |
msgid "Plan %s does not support a trial period."
|
1165 |
msgstr "Plan %s does not support a trial period."
|
1166 |
|
1167 |
-
#: includes/i18n.php:
|
1168 |
msgid "None of the plugin's plans supports a trial period."
|
1169 |
msgstr "None of the plugin's plans supports a trial period."
|
1170 |
|
1171 |
-
#: includes/i18n.php:
|
1172 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1173 |
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
1174 |
|
1175 |
-
#: includes/i18n.php:
|
1176 |
msgid "No commitment for %s days - cancel anytime!"
|
1177 |
msgstr "No commitment for %s days - cancel anytime!"
|
1178 |
|
1179 |
-
#: includes/i18n.php:
|
1180 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1181 |
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1182 |
|
1183 |
-
#: includes/i18n.php:
|
1184 |
msgid "Couldn't activate %s."
|
1185 |
msgstr "Couldn't activate %s."
|
1186 |
|
1187 |
-
#: includes/i18n.php:
|
1188 |
msgid "Please contact us with the following message:"
|
1189 |
msgstr "Please contact us with the following message:"
|
1190 |
|
1191 |
-
#: includes/i18n.php:
|
1192 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1193 |
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1194 |
|
1195 |
-
#: includes/i18n.php:
|
1196 |
msgid "Please contact us here"
|
1197 |
msgstr "Please contact us here"
|
1198 |
|
1199 |
-
#: includes/i18n.php:
|
1200 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1201 |
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1202 |
|
1203 |
-
#: includes/i18n.php:
|
1204 |
msgid "From unknown reason, the API connectivity test failed."
|
1205 |
msgstr "From unknown reason, the API connectivity test failed."
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1209 |
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1210 |
|
1211 |
-
#: includes/i18n.php:
|
1212 |
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1213 |
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1214 |
|
1215 |
-
#: includes/i18n.php:
|
1216 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1217 |
msgstr "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1218 |
|
1219 |
-
#: includes/i18n.php:
|
1220 |
msgctxt "as pluginX requires an access to our API"
|
1221 |
msgid "%s requires an access to our API."
|
1222 |
msgstr "%s requires an access to our API."
|
1223 |
|
1224 |
-
#: includes/i18n.php:
|
1225 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1226 |
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1227 |
|
1228 |
-
#: includes/i18n.php:
|
1229 |
msgid "I don't know what is Squid or ACL, help me!"
|
1230 |
msgstr "I don't know what is Squid or ACL, help me!"
|
1231 |
|
1232 |
-
#: includes/i18n.php:
|
1233 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1234 |
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1235 |
|
1236 |
-
#: includes/i18n.php:
|
1237 |
msgid "I'm a system administrator"
|
1238 |
msgstr "I'm a system administrator"
|
1239 |
|
1240 |
-
#: includes/i18n.php:
|
1241 |
msgid "Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again."
|
1242 |
msgstr "Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again."
|
1243 |
|
1244 |
-
#: includes/i18n.php:
|
1245 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1246 |
msgstr "I don't know what is cURL or how to install it, help me!"
|
1247 |
|
1248 |
-
#: includes/i18n.php:
|
1249 |
msgid "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1250 |
msgstr "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1251 |
|
1252 |
-
#: includes/i18n.php:
|
1253 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1254 |
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1255 |
|
1256 |
-
#: includes/i18n.php:
|
1257 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1258 |
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1259 |
|
1260 |
-
#: includes/i18n.php:
|
1261 |
msgid "Yes - I'm giving you a chance to fix it"
|
1262 |
msgstr "Yes - I'm giving you a chance to fix it"
|
1263 |
|
1264 |
-
#: includes/i18n.php:
|
1265 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1266 |
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1267 |
|
1268 |
-
#: includes/i18n.php:
|
1269 |
msgid "Let's try your previous version"
|
1270 |
msgstr "Let's try your previous version"
|
1271 |
|
1272 |
-
#: includes/i18n.php:
|
1273 |
msgid "Uninstall this version and install the previous one."
|
1274 |
msgstr "Uninstall this version and install the previous one."
|
1275 |
|
1276 |
-
#: includes/i18n.php:
|
1277 |
msgid "That's exhausting, please deactivate"
|
1278 |
msgstr "That's exhausting, please deactivate"
|
1279 |
|
1280 |
-
#: includes/i18n.php:
|
1281 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1282 |
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1283 |
|
1284 |
-
#: includes/i18n.php:
|
1285 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1286 |
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1287 |
|
1288 |
-
#: includes/i18n.php:
|
1289 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1290 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1291 |
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1292 |
|
1293 |
-
#: includes/i18n.php:
|
1294 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1295 |
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1296 |
|
1297 |
-
#: includes/i18n.php:
|
1298 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1299 |
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1300 |
|
1301 |
-
#: includes/i18n.php:
|
1302 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1303 |
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1304 |
|
1305 |
-
#: includes/i18n.php:
|
1306 |
msgid "%s is the new owner of the account."
|
1307 |
msgstr "%s is the new owner of the account."
|
1308 |
|
1309 |
-
#: includes/i18n.php:
|
1310 |
msgctxt "addonX cannot run without pluginY"
|
1311 |
msgid "%s cannot run without %s."
|
1312 |
msgstr "%s cannot run without %s."
|
1313 |
|
1314 |
-
#: includes/i18n.php:
|
1315 |
msgctxt "addonX cannot run..."
|
1316 |
msgid "%s cannot run without the plugin."
|
1317 |
msgstr "%s cannot run without the plugin."
|
1318 |
|
1319 |
-
#: includes/i18n.php:
|
1320 |
msgctxt "pluginX activation was successfully..."
|
1321 |
msgid "%s activation was successfully completed."
|
1322 |
msgstr "%s activation was successfully completed."
|
1323 |
|
1324 |
-
#: includes/i18n.php:
|
1325 |
msgctxt "Plugin installer section title"
|
1326 |
msgid "Features & Pricing"
|
1327 |
msgstr "Features & Pricing"
|
1328 |
|
1329 |
-
#: includes/i18n.php:
|
1330 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1331 |
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1332 |
|
1333 |
-
#: includes/i18n.php:
|
1334 |
msgid "Paid add-on must be deployed to Freemius."
|
1335 |
msgstr "Paid add-on must be deployed to Freemius."
|
1336 |
|
1337 |
-
#: includes/i18n.php:
|
1338 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1339 |
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1340 |
|
1341 |
-
#: includes/i18n.php:
|
1342 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1343 |
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgctxt "as every month"
|
1347 |
msgid "Monthly"
|
1348 |
msgstr "Monthly"
|
1349 |
|
1350 |
-
#: includes/i18n.php:
|
1351 |
msgctxt "as monthly period"
|
1352 |
msgid "mo"
|
1353 |
msgstr "mo"
|
1354 |
|
1355 |
-
#: includes/i18n.php:
|
1356 |
msgctxt "as once a year"
|
1357 |
msgid "Annual"
|
1358 |
msgstr "Annual"
|
1359 |
|
1360 |
-
#: includes/i18n.php:
|
1361 |
msgctxt "as once a year"
|
1362 |
msgid "Annually"
|
1363 |
msgstr "Annually"
|
1364 |
|
1365 |
-
#: includes/i18n.php:
|
1366 |
msgctxt "as once a year"
|
1367 |
msgid "Once"
|
1368 |
msgstr "Once"
|
1369 |
|
1370 |
-
#: includes/i18n.php:
|
1371 |
msgctxt "as annual period"
|
1372 |
msgid "year"
|
1373 |
msgstr "year"
|
1374 |
|
1375 |
-
#: includes/i18n.php:
|
1376 |
msgid "Lifetime"
|
1377 |
msgstr "Lifetime"
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
msgctxt "e.g. the best product"
|
1381 |
msgid "Best"
|
1382 |
msgstr "Best"
|
1383 |
|
1384 |
-
#: includes/i18n.php:
|
1385 |
msgctxt "e.g. billed monthly"
|
1386 |
msgid "Billed %s"
|
1387 |
msgstr "Billed %s"
|
1388 |
|
1389 |
-
#: includes/i18n.php:
|
1390 |
msgctxt "as a discount of $5 or 10%"
|
1391 |
msgid "Save %s"
|
1392 |
msgstr "Save %s"
|
1393 |
|
1394 |
-
#: includes/i18n.php:
|
1395 |
msgid "View details"
|
1396 |
msgstr "View details"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
msgstr "Edit"
|
131 |
|
132 |
#: includes/i18n.php:119
|
133 |
+
msgctxt "verb"
|
134 |
+
msgid "Update"
|
135 |
+
msgstr "Update"
|
136 |
+
|
137 |
+
#: includes/i18n.php:121
|
138 |
msgid "Date"
|
139 |
msgstr "Date"
|
140 |
|
141 |
+
#: includes/i18n.php:123
|
142 |
msgid "Amount"
|
143 |
msgstr "Amount"
|
144 |
|
145 |
+
#: includes/i18n.php:125
|
146 |
msgid "Invoice"
|
147 |
msgstr "Invoice"
|
148 |
|
149 |
+
#: includes/i18n.php:127
|
150 |
msgid "Billing"
|
151 |
msgstr "Billing"
|
152 |
|
153 |
+
#: includes/i18n.php:129
|
154 |
msgid "Payments"
|
155 |
msgstr "Payments"
|
156 |
|
157 |
+
#: includes/i18n.php:131
|
158 |
msgid "Delete Account"
|
159 |
msgstr "Delete Account"
|
160 |
|
161 |
+
#: includes/i18n.php:133
|
162 |
msgctxt "as close a window"
|
163 |
msgid "Dismiss"
|
164 |
msgstr "Dismiss"
|
165 |
|
166 |
+
#: includes/i18n.php:135
|
167 |
msgctxt "as product pricing plan"
|
168 |
msgid "Plan"
|
169 |
msgstr "Plan"
|
170 |
|
171 |
+
#: includes/i18n.php:137
|
172 |
msgid "Change Plan"
|
173 |
msgstr "Change Plan"
|
174 |
|
175 |
+
#: includes/i18n.php:139
|
176 |
msgctxt "as download professional version"
|
177 |
msgid "Download %s Version"
|
178 |
msgstr "Download %s Version"
|
179 |
|
180 |
+
#: includes/i18n.php:141
|
181 |
msgctxt "as download professional version now"
|
182 |
msgid "Download %s version now"
|
183 |
msgstr "Download %s version now"
|
184 |
|
185 |
+
#: includes/i18n.php:145
|
186 |
msgctxt "as download latest version"
|
187 |
msgid "Download Latest"
|
188 |
msgstr "Download Latest"
|
189 |
|
190 |
+
#: includes/i18n.php:147
|
191 |
msgctxt "E.g. you have a professional license."
|
192 |
msgid "You have a %s license."
|
193 |
msgstr "You have a %s license."
|
194 |
|
195 |
+
#: includes/i18n.php:151
|
196 |
msgid "New"
|
197 |
msgstr "New"
|
198 |
|
199 |
+
#: includes/i18n.php:153
|
200 |
msgid "Free"
|
201 |
msgstr "Free"
|
202 |
|
203 |
+
#: includes/i18n.php:155
|
204 |
msgctxt "as trial plan"
|
205 |
msgid "Trial"
|
206 |
msgstr "Trial"
|
207 |
|
208 |
+
#: includes/i18n.php:157
|
209 |
+
msgctxt "as starting a trial plan"
|
210 |
+
msgid "Start Trial"
|
211 |
+
msgstr "Start Trial"
|
212 |
+
|
213 |
+
#: includes/i18n.php:159
|
214 |
msgctxt "verb"
|
215 |
msgid "Purchase"
|
216 |
msgstr "Purchase"
|
217 |
|
218 |
+
#: includes/i18n.php:161
|
219 |
msgid "Purchase License"
|
220 |
msgstr "Purchase License"
|
221 |
|
222 |
+
#: includes/i18n.php:163
|
223 |
msgctxt "verb"
|
224 |
msgid "Buy"
|
225 |
msgstr "Buy"
|
226 |
|
227 |
+
#: includes/i18n.php:165
|
228 |
msgid "Buy License"
|
229 |
msgstr "Buy License"
|
230 |
|
231 |
+
#: includes/i18n.php:167
|
232 |
msgid "Single Site License"
|
233 |
msgstr "Single Site License"
|
234 |
|
235 |
+
#: includes/i18n.php:169
|
236 |
msgid "Unlimited Licenses"
|
237 |
msgstr "Unlimited Licenses"
|
238 |
|
239 |
+
#: includes/i18n.php:171
|
240 |
msgid "Up to %s Sites"
|
241 |
msgstr "Up to %s Sites"
|
242 |
|
243 |
+
#: includes/i18n.php:173
|
244 |
msgid "%sRenew your license now%s to access version %s features and support."
|
245 |
msgstr "%sRenew your license now%s to access version %s features and support."
|
246 |
|
247 |
+
#: includes/i18n.php:177
|
248 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
249 |
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
250 |
|
251 |
+
#: includes/i18n.php:181
|
252 |
msgctxt "e.g. Professional Plan"
|
253 |
msgid "%s Plan"
|
254 |
msgstr "%s Plan"
|
255 |
|
256 |
+
#: includes/i18n.php:183
|
257 |
msgid "You are just one step away - %s"
|
258 |
msgstr "You are just one step away - %s"
|
259 |
|
260 |
+
#: includes/i18n.php:185
|
261 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
262 |
msgid "Complete \"%s\" Activation Now"
|
263 |
msgstr "Complete \"%s\" Activation Now"
|
264 |
|
265 |
+
#: includes/i18n.php:189
|
266 |
msgid "We made a few tweaks to the plugin, %s"
|
267 |
msgstr "We made a few tweaks to the plugin, %s"
|
268 |
|
269 |
+
#: includes/i18n.php:191
|
270 |
msgid "Opt-in to make \"%s\" Better!"
|
271 |
msgstr "Opt-in to make \"%s\" Better!"
|
272 |
|
273 |
+
#: includes/i18n.php:193
|
274 |
msgid "Error"
|
275 |
msgstr "Error"
|
276 |
|
277 |
+
#: includes/i18n.php:195
|
278 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
279 |
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
280 |
|
281 |
+
#: includes/i18n.php:203
|
282 |
msgctxt "as expiration date"
|
283 |
msgid "Expiration"
|
284 |
msgstr "Expiration"
|
285 |
|
286 |
+
#: includes/i18n.php:205
|
287 |
msgctxt "as software license"
|
288 |
msgid "License"
|
289 |
msgstr "License"
|
290 |
|
291 |
+
#: includes/i18n.php:207
|
292 |
msgid "not verified"
|
293 |
msgstr "not verified"
|
294 |
|
295 |
+
#: includes/i18n.php:209
|
296 |
msgid "Verify Email"
|
297 |
msgstr "Verify Email"
|
298 |
|
299 |
+
#: includes/i18n.php:211
|
300 |
msgctxt "e.g. expires in 2 months"
|
301 |
msgid "Expires in %s"
|
302 |
msgstr "Expires in %s"
|
303 |
|
304 |
+
#: includes/i18n.php:213
|
305 |
msgctxt "e.g. auto renews in 2 months"
|
306 |
msgid "Auto renews in %s"
|
307 |
msgstr "Auto renews in %s"
|
308 |
|
309 |
+
#: includes/i18n.php:215
|
310 |
msgid "No expiration"
|
311 |
msgstr "No expiration"
|
312 |
|
313 |
+
#: includes/i18n.php:217
|
314 |
msgid "Expired"
|
315 |
msgstr "Expired"
|
316 |
|
317 |
+
#: includes/i18n.php:219
|
318 |
msgid "Cancelled"
|
319 |
msgstr "Cancelled"
|
320 |
|
321 |
+
#: includes/i18n.php:221
|
322 |
msgctxt "e.g. In 2 hours"
|
323 |
msgid "In %s"
|
324 |
msgstr "In %s"
|
325 |
|
326 |
+
#: includes/i18n.php:223
|
327 |
msgctxt "e.g. 2 min ago"
|
328 |
msgid "%s ago"
|
329 |
msgstr "%s ago"
|
330 |
|
331 |
+
#: includes/i18n.php:225
|
332 |
msgctxt "as plugin version"
|
333 |
msgid "Version"
|
334 |
msgstr "Version"
|
335 |
|
336 |
+
#: includes/i18n.php:227
|
337 |
msgid "Name"
|
338 |
msgstr "Name"
|
339 |
|
340 |
+
#: includes/i18n.php:229
|
341 |
msgid "Email"
|
342 |
msgstr "Email"
|
343 |
|
344 |
+
#: includes/i18n.php:231
|
345 |
msgid "Email address"
|
346 |
msgstr "Email address"
|
347 |
|
348 |
+
#: includes/i18n.php:233
|
349 |
msgid "Verified"
|
350 |
msgstr "Verified"
|
351 |
|
352 |
+
#: includes/i18n.php:235
|
353 |
msgid "Plugin"
|
354 |
msgstr "Plugin"
|
355 |
|
356 |
+
#: includes/i18n.php:237
|
357 |
msgid "Plugins"
|
358 |
msgstr "Plugins"
|
359 |
|
360 |
+
#: includes/i18n.php:239
|
361 |
msgid "Themes"
|
362 |
msgstr "Themes"
|
363 |
|
364 |
+
#: includes/i18n.php:241
|
365 |
msgctxt "as file/folder path"
|
366 |
msgid "Path"
|
367 |
msgstr "Path"
|
368 |
|
369 |
+
#: includes/i18n.php:243
|
370 |
msgid "Title"
|
371 |
msgstr "Title"
|
372 |
|
373 |
+
#: includes/i18n.php:245
|
374 |
msgid "Free version"
|
375 |
msgstr "Free version"
|
376 |
|
377 |
+
#: includes/i18n.php:247
|
378 |
msgid "Premium version"
|
379 |
msgstr "Premium version"
|
380 |
|
381 |
+
#: includes/i18n.php:249
|
382 |
msgctxt "as WP plugin slug"
|
383 |
msgid "Slug"
|
384 |
msgstr "Slug"
|
385 |
|
386 |
+
#: includes/i18n.php:251
|
387 |
msgid "ID"
|
388 |
msgstr "ID"
|
389 |
|
390 |
+
#: includes/i18n.php:253
|
391 |
msgid "Users"
|
392 |
msgstr "Users"
|
393 |
|
394 |
+
#: includes/i18n.php:255
|
395 |
msgid "Plugin Installs"
|
396 |
msgstr "Plugin Installs"
|
397 |
|
398 |
+
#: includes/i18n.php:257
|
399 |
msgctxt "like websites"
|
400 |
msgid "Sites"
|
401 |
msgstr "Sites"
|
402 |
|
403 |
+
#: includes/i18n.php:259
|
404 |
msgid "User ID"
|
405 |
msgstr "User ID"
|
406 |
|
407 |
+
#: includes/i18n.php:261
|
408 |
msgid "Site ID"
|
409 |
msgstr "Site ID"
|
410 |
|
411 |
+
#: includes/i18n.php:263
|
412 |
msgid "Public Key"
|
413 |
msgstr "Public Key"
|
414 |
|
415 |
+
#: includes/i18n.php:265
|
416 |
msgid "Secret Key"
|
417 |
msgstr "Secret Key"
|
418 |
|
419 |
+
#: includes/i18n.php:267
|
420 |
msgctxt "as secret encryption key missing"
|
421 |
msgid "No Secret"
|
422 |
msgstr "No Secret"
|
423 |
|
424 |
+
#: includes/i18n.php:269
|
425 |
msgid "No ID"
|
426 |
msgstr "No ID"
|
427 |
|
428 |
+
#: includes/i18n.php:271
|
429 |
msgctxt "as synchronize license"
|
430 |
msgid "Sync License"
|
431 |
msgstr "Sync License"
|
432 |
|
433 |
+
#: includes/i18n.php:273
|
434 |
msgctxt "as synchronize"
|
435 |
msgid "Sync"
|
436 |
msgstr "Sync"
|
437 |
|
438 |
+
#: includes/i18n.php:275
|
439 |
msgid "Activate License"
|
440 |
msgstr "Activate License"
|
441 |
|
442 |
+
#: includes/i18n.php:277
|
443 |
msgid "Activate Free Version"
|
444 |
msgstr "Activate Free Version"
|
445 |
|
446 |
+
#: includes/i18n.php:279
|
447 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
448 |
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
449 |
|
450 |
+
#: includes/i18n.php:283
|
451 |
msgid "Activating license..."
|
452 |
msgstr "Activating license..."
|
453 |
|
454 |
+
#: includes/i18n.php:285
|
455 |
msgid "Change License"
|
456 |
msgstr "Change License"
|
457 |
|
458 |
+
#: includes/i18n.php:287
|
459 |
msgid "Update License"
|
460 |
msgstr "Update License"
|
461 |
|
462 |
+
#: includes/i18n.php:289
|
463 |
msgid "Deactivate License"
|
464 |
msgstr "Deactivate License"
|
465 |
|
466 |
+
#: includes/i18n.php:291
|
467 |
msgid "Activate"
|
468 |
msgstr "Activate"
|
469 |
|
470 |
+
#: includes/i18n.php:293
|
471 |
msgid "Deactivate"
|
472 |
msgstr "Deactivate"
|
473 |
|
474 |
+
#: includes/i18n.php:295
|
475 |
msgid "Skip & Deactivate"
|
476 |
msgstr "Skip & Deactivate"
|
477 |
|
478 |
+
#: includes/i18n.php:297
|
479 |
msgid "No - just deactivate"
|
480 |
msgstr "No - just deactivate"
|
481 |
|
482 |
+
#: includes/i18n.php:299
|
483 |
msgid "Yes - do your thing"
|
484 |
msgstr "Yes - do your thing"
|
485 |
|
486 |
+
#: includes/i18n.php:301
|
487 |
msgctxt "active mode"
|
488 |
msgid "Active"
|
489 |
msgstr "Active"
|
490 |
|
491 |
+
#: includes/i18n.php:303
|
492 |
msgctxt "is active mode?"
|
493 |
msgid "Is Active"
|
494 |
msgstr "Is Active"
|
495 |
|
496 |
+
#: includes/i18n.php:305
|
497 |
msgid "Install Now"
|
498 |
msgstr "Install Now"
|
499 |
|
500 |
+
#: includes/i18n.php:307
|
501 |
msgid "Install Update Now"
|
502 |
msgstr "Install Update Now"
|
503 |
|
504 |
+
#: includes/i18n.php:309
|
505 |
msgid "More information about %s"
|
506 |
msgstr "More information about %s"
|
507 |
|
508 |
+
#: includes/i18n.php:311
|
509 |
msgid "Localhost"
|
510 |
msgstr "Localhost"
|
511 |
|
512 |
+
#: includes/i18n.php:313
|
513 |
msgctxt "as activate Professional plan"
|
514 |
msgid "Activate %s Plan"
|
515 |
msgstr "Activate %s Plan"
|
516 |
|
517 |
+
#: includes/i18n.php:315
|
518 |
msgctxt "as 5 licenses left"
|
519 |
msgid "%s left"
|
520 |
msgstr "%s left"
|
521 |
|
522 |
+
#: includes/i18n.php:317
|
523 |
msgid "Last license"
|
524 |
msgstr "Last license"
|
525 |
|
526 |
+
#: includes/i18n.php:319
|
527 |
msgid "What is your %s?"
|
528 |
msgstr "What is your %s?"
|
529 |
|
530 |
+
#: includes/i18n.php:321
|
531 |
msgid "Activate this add-on"
|
532 |
msgstr "Activate this add-on"
|
533 |
|
534 |
+
#: includes/i18n.php:323
|
535 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
536 |
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
537 |
|
538 |
+
#: includes/i18n.php:327
|
539 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
540 |
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
541 |
|
542 |
+
#: includes/i18n.php:331
|
543 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
544 |
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
545 |
|
546 |
+
#: includes/i18n.php:335
|
547 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
548 |
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
549 |
|
550 |
+
#: includes/i18n.php:339
|
551 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
552 |
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
553 |
|
554 |
+
#: includes/i18n.php:343
|
555 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
556 |
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
557 |
|
558 |
+
#: includes/i18n.php:347
|
559 |
msgid "Once your license expire you can still use the Free version but you will NOT have access to the %s features."
|
560 |
msgstr "Once your license expire you can still use the Free version but you will NOT have access to the %s features."
|
561 |
|
562 |
+
#: includes/i18n.php:351
|
563 |
msgid "Are you sure you want to proceed?"
|
564 |
msgstr "Are you sure you want to proceed?"
|
565 |
|
566 |
+
#: includes/i18n.php:357
|
567 |
msgid "Add Ons for %s"
|
568 |
msgstr "Add Ons for %s"
|
569 |
|
570 |
+
#: includes/i18n.php:359
|
571 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
572 |
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
573 |
|
574 |
+
#: includes/i18n.php:365
|
575 |
msgid "Anonymous feedback"
|
576 |
msgstr "Anonymous feedback"
|
577 |
|
578 |
+
#: includes/i18n.php:367
|
579 |
msgid "Quick feedback"
|
580 |
msgstr "Quick feedback"
|
581 |
|
582 |
+
#: includes/i18n.php:369
|
583 |
msgid "If you have a moment, please let us know why you are deactivating"
|
584 |
msgstr "If you have a moment, please let us know why you are deactivating"
|
585 |
|
586 |
+
#: includes/i18n.php:373
|
587 |
msgid "Yes - Deactivate"
|
588 |
msgstr "Yes - Deactivate"
|
589 |
|
590 |
+
#: includes/i18n.php:375
|
591 |
msgid "Submit & Deactivate"
|
592 |
msgstr "Submit & Deactivate"
|
593 |
|
594 |
+
#: includes/i18n.php:377
|
|
|
595 |
msgid "Cancel"
|
596 |
msgstr "Cancel"
|
597 |
|
598 |
+
#: includes/i18n.php:379
|
599 |
msgid "I no longer need the plugin"
|
600 |
msgstr "I no longer need the plugin"
|
601 |
|
602 |
+
#: includes/i18n.php:381
|
603 |
msgid "I found a better plugin"
|
604 |
msgstr "I found a better plugin"
|
605 |
|
606 |
+
#: includes/i18n.php:383
|
607 |
msgid "I only needed the plugin for a short period"
|
608 |
msgstr "I only needed the plugin for a short period"
|
609 |
|
610 |
+
#: includes/i18n.php:385
|
611 |
msgid "The plugin broke my site"
|
612 |
msgstr "The plugin broke my site"
|
613 |
|
614 |
+
#: includes/i18n.php:387
|
615 |
msgid "The plugin suddenly stopped working"
|
616 |
msgstr "The plugin suddenly stopped working"
|
617 |
|
618 |
+
#: includes/i18n.php:389
|
619 |
msgid "I can't pay for it anymore"
|
620 |
msgstr "I can't pay for it anymore"
|
621 |
|
622 |
+
#: includes/i18n.php:391
|
623 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
624 |
msgstr "It's a temporary deactivation. I'm just debugging an issue."
|
625 |
|
626 |
+
#: includes/i18n.php:395
|
627 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
628 |
msgid "Other"
|
629 |
msgstr "Other"
|
630 |
|
631 |
+
#: includes/i18n.php:399
|
632 |
msgid "Kindly tell us the reason so we can improve."
|
633 |
msgstr "Kindly tell us the reason so we can improve."
|
634 |
|
635 |
+
#: includes/i18n.php:401
|
636 |
msgid "What's the plugin's name?"
|
637 |
msgstr "What's the plugin's name?"
|
638 |
|
639 |
+
#: includes/i18n.php:403
|
640 |
msgid "What price would you feel comfortable paying?"
|
641 |
msgstr "What price would you feel comfortable paying?"
|
642 |
|
643 |
+
#: includes/i18n.php:405
|
644 |
msgid "I couldn't understand how to make it work"
|
645 |
msgstr "I couldn't understand how to make it work"
|
646 |
|
647 |
+
#: includes/i18n.php:407
|
648 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
649 |
msgstr "The plugin is great, but I need specific feature that you don't support"
|
650 |
|
651 |
+
#: includes/i18n.php:411
|
652 |
msgid "The plugin is not working"
|
653 |
msgstr "The plugin is not working"
|
654 |
|
655 |
+
#: includes/i18n.php:413
|
656 |
msgid "It's not what I was looking for"
|
657 |
msgstr "It's not what I was looking for"
|
658 |
|
659 |
+
#: includes/i18n.php:415
|
660 |
msgid "The plugin didn't work as expected"
|
661 |
msgstr "The plugin didn't work as expected"
|
662 |
|
663 |
+
#: includes/i18n.php:417
|
664 |
msgid "What feature?"
|
665 |
msgstr "What feature?"
|
666 |
|
667 |
+
#: includes/i18n.php:419
|
668 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
669 |
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
670 |
|
671 |
+
#: includes/i18n.php:423
|
672 |
msgid "What you've been looking for?"
|
673 |
msgstr "What you've been looking for?"
|
674 |
|
675 |
+
#: includes/i18n.php:425
|
676 |
msgid "What did you expect?"
|
677 |
msgstr "What did you expect?"
|
678 |
|
679 |
+
#: includes/i18n.php:427
|
680 |
msgid "The plugin didn't work"
|
681 |
msgstr "The plugin didn't work"
|
682 |
|
683 |
+
#: includes/i18n.php:429
|
684 |
msgid "I don't like to share my information with you"
|
685 |
msgstr "I don't like to share my information with you"
|
686 |
|
687 |
+
#: includes/i18n.php:431
|
688 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
689 |
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
690 |
|
691 |
+
#: includes/i18n.php:441
|
692 |
msgctxt "greeting"
|
693 |
msgid "Hey %s,"
|
694 |
msgstr "Hey %s,"
|
695 |
|
696 |
+
#: includes/i18n.php:443
|
697 |
msgctxt "a greeting. E.g. Thanks John!"
|
698 |
msgid "Thanks %s!"
|
699 |
msgstr "Thanks %s!"
|
700 |
|
701 |
+
#: includes/i18n.php:445
|
702 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
703 |
+
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
704 |
|
705 |
+
#: includes/i18n.php:449
|
706 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
707 |
+
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
708 |
|
709 |
+
#: includes/i18n.php:453
|
710 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
711 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
712 |
|
713 |
+
#: includes/i18n.php:455
|
714 |
+
msgid "complete the install"
|
715 |
+
msgstr "complete the install"
|
716 |
+
|
717 |
+
#: includes/i18n.php:457
|
718 |
+
msgid "start the trial"
|
719 |
+
msgstr "start the trial"
|
720 |
+
|
721 |
+
#: includes/i18n.php:459
|
722 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
723 |
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
724 |
|
725 |
+
#: includes/i18n.php:463
|
726 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
727 |
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
728 |
|
729 |
+
#: includes/i18n.php:467
|
730 |
msgid "What permissions are being granted?"
|
731 |
msgstr "What permissions are being granted?"
|
732 |
|
733 |
+
#: includes/i18n.php:469
|
734 |
msgid "Your Profile Overview"
|
735 |
msgstr "Your Profile Overview"
|
736 |
|
737 |
+
#: includes/i18n.php:471
|
738 |
msgid "Name and email address"
|
739 |
msgstr "Name and email address"
|
740 |
|
741 |
+
#: includes/i18n.php:473
|
742 |
msgid "Your Site Overview"
|
743 |
msgstr "Your Site Overview"
|
744 |
|
745 |
+
#: includes/i18n.php:475
|
746 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
747 |
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
748 |
|
749 |
+
#: includes/i18n.php:479
|
750 |
msgid "Current Plugin Events"
|
751 |
msgstr "Current Plugin Events"
|
752 |
|
753 |
+
#: includes/i18n.php:481
|
754 |
msgid "Activation, deactivation and uninstall"
|
755 |
msgstr "Activation, deactivation and uninstall"
|
756 |
|
757 |
+
#: includes/i18n.php:483
|
758 |
msgid "Plugins & Themes"
|
759 |
msgstr "Plugins & Themes"
|
760 |
|
761 |
+
#: includes/i18n.php:485
|
762 |
msgid "Titles, versions and state."
|
763 |
msgstr "Titles, versions and state."
|
764 |
|
765 |
+
#: includes/i18n.php:487
|
766 |
+
msgid "Admin Notices"
|
767 |
+
msgstr "Admin Notices"
|
768 |
+
|
769 |
+
#: includes/i18n.php:489
|
770 |
msgid "Newsletter"
|
771 |
msgstr "Newsletter"
|
772 |
|
773 |
+
#: includes/i18n.php:491
|
774 |
msgid "Updates, announcements, marketing, no spam"
|
775 |
msgstr "Updates, announcements, marketing, no spam"
|
776 |
|
777 |
+
#: includes/i18n.php:493
|
778 |
msgid "Privacy Policy"
|
779 |
msgstr "Privacy Policy"
|
780 |
|
781 |
+
#: includes/i18n.php:495
|
782 |
msgid "Terms of Service"
|
783 |
msgstr "Terms of Service"
|
784 |
|
785 |
+
#: includes/i18n.php:497
|
786 |
msgctxt "as activating plugin"
|
787 |
msgid "Activating"
|
788 |
msgstr "Activating"
|
789 |
|
790 |
+
#: includes/i18n.php:499
|
791 |
msgctxt "as in the process of sending an email"
|
792 |
msgid "Sending email"
|
793 |
msgstr "Sending email"
|
794 |
|
795 |
+
#: includes/i18n.php:503
|
796 |
msgctxt "button label"
|
797 |
msgid "Allow & Continue"
|
798 |
msgstr "Allow & Continue"
|
799 |
|
800 |
+
#: includes/i18n.php:505
|
801 |
msgctxt "button label"
|
802 |
msgid "Agree & Activate License"
|
803 |
msgstr "Agree & Activate License"
|
804 |
|
805 |
+
#: includes/i18n.php:507
|
806 |
msgctxt "verb"
|
807 |
msgid "Skip"
|
808 |
msgstr "Skip"
|
809 |
|
810 |
+
#: includes/i18n.php:509
|
811 |
msgid "Click here to use the plugin anonymously"
|
812 |
msgstr "Click here to use the plugin anonymously"
|
813 |
|
814 |
+
#: includes/i18n.php:511
|
815 |
msgid "Re-send activation email"
|
816 |
msgstr "Re-send activation email"
|
817 |
|
818 |
+
#: includes/i18n.php:513
|
819 |
msgid "License key"
|
820 |
msgstr "License key"
|
821 |
|
822 |
+
#: includes/i18n.php:515
|
823 |
msgid "Send License Key"
|
824 |
msgstr "Send License Key"
|
825 |
|
826 |
+
#: includes/i18n.php:517
|
827 |
msgid "Sending license key"
|
828 |
msgstr "Sending license key"
|
829 |
|
830 |
+
#: includes/i18n.php:519
|
831 |
msgid "Have a license key?"
|
832 |
msgstr "Have a license key?"
|
833 |
|
834 |
+
#: includes/i18n.php:521
|
835 |
msgid "Don't have a license key?"
|
836 |
msgstr "Don't have a license key?"
|
837 |
|
838 |
+
#: includes/i18n.php:523
|
839 |
msgid "Can't find your license key?"
|
840 |
msgstr "Can't find your license key?"
|
841 |
|
842 |
+
#: includes/i18n.php:525
|
843 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
844 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
845 |
+
|
846 |
+
#: includes/i18n.php:529
|
847 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
848 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
849 |
+
|
850 |
+
#: includes/i18n.php:533
|
851 |
+
msgid "Opt In"
|
852 |
+
msgstr "Opt In"
|
853 |
+
|
854 |
+
#: includes/i18n.php:535
|
855 |
+
msgid "Opt Out"
|
856 |
+
msgstr "Opt Out"
|
857 |
+
|
858 |
+
#: includes/i18n.php:537
|
859 |
+
msgid "On second thought - I want to continue helping"
|
860 |
+
msgstr "On second thought - I want to continue helping"
|
861 |
+
|
862 |
+
#: includes/i18n.php:541
|
863 |
+
msgid "Opting out..."
|
864 |
+
msgstr "Opting out..."
|
865 |
+
|
866 |
+
#: includes/i18n.php:543
|
867 |
+
msgid "Opting in..."
|
868 |
+
msgstr "Opting in..."
|
869 |
+
|
870 |
+
#: includes/i18n.php:545
|
871 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
872 |
+
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
873 |
+
|
874 |
+
#: includes/i18n.php:549
|
875 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
876 |
+
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
877 |
+
|
878 |
+
#: includes/i18n.php:553
|
879 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
880 |
+
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
881 |
+
|
882 |
+
#: includes/i18n.php:563
|
883 |
msgid "Screenshots"
|
884 |
msgstr "Screenshots"
|
885 |
|
886 |
+
#: includes/i18n.php:565
|
887 |
msgid "Click to view full-size screenshot %d"
|
888 |
msgstr "Click to view full-size screenshot %d"
|
889 |
|
890 |
+
#: includes/i18n.php:573
|
891 |
msgid "Freemius Debug"
|
892 |
msgstr "Freemius Debug"
|
893 |
|
894 |
+
#: includes/i18n.php:575
|
895 |
msgctxt "as turned on"
|
896 |
msgid "On"
|
897 |
msgstr "On"
|
898 |
|
899 |
+
#: includes/i18n.php:577
|
900 |
msgctxt "as turned off"
|
901 |
msgid "Off"
|
902 |
msgstr "Off"
|
903 |
|
904 |
+
#: includes/i18n.php:579
|
905 |
msgctxt "as code debugging"
|
906 |
msgid "Debugging"
|
907 |
msgstr "Debugging"
|
908 |
|
909 |
+
#: includes/i18n.php:581
|
910 |
msgid "Freemius State"
|
911 |
msgstr "Freemius State"
|
912 |
|
913 |
+
#: includes/i18n.php:583
|
914 |
msgctxt "as connection was successful"
|
915 |
msgid "Connected"
|
916 |
msgstr "Connected"
|
917 |
|
918 |
+
#: includes/i18n.php:585
|
919 |
msgctxt "as connection blocked"
|
920 |
msgid "Blocked"
|
921 |
msgstr "Blocked"
|
922 |
|
923 |
+
#: includes/i18n.php:587
|
924 |
msgctxt "as application program interface"
|
925 |
msgid "API"
|
926 |
msgstr "API"
|
927 |
|
928 |
+
#: includes/i18n.php:589
|
929 |
msgctxt "as software development kit versions"
|
930 |
msgid "SDK"
|
931 |
msgstr "SDK"
|
932 |
|
933 |
+
#: includes/i18n.php:591
|
934 |
msgctxt "as software development kit versions"
|
935 |
msgid "SDK Versions"
|
936 |
msgstr "SDK Versions"
|
937 |
|
938 |
+
#: includes/i18n.php:595
|
939 |
msgctxt "as plugin folder path"
|
940 |
msgid "Plugin Path"
|
941 |
msgstr "Plugin Path"
|
942 |
|
943 |
+
#: includes/i18n.php:597
|
944 |
msgctxt "as sdk path"
|
945 |
msgid "SDK Path"
|
946 |
msgstr "SDK Path"
|
947 |
|
948 |
+
#: includes/i18n.php:599
|
949 |
msgid "Add Ons of Plugin %s"
|
950 |
msgstr "Add Ons of Plugin %s"
|
951 |
|
952 |
+
#: includes/i18n.php:601
|
953 |
msgid "Are you sure you want to delete all Freemius data?"
|
954 |
msgstr "Are you sure you want to delete all Freemius data?"
|
955 |
|
956 |
+
#: includes/i18n.php:605
|
957 |
msgid "Actions"
|
958 |
msgstr "Actions"
|
959 |
|
960 |
+
#: includes/i18n.php:607
|
961 |
msgid "Delete All Accounts"
|
962 |
msgstr "Delete All Accounts"
|
963 |
|
964 |
+
#: includes/i18n.php:609
|
965 |
msgid "Start Fresh"
|
966 |
msgstr "Start Fresh"
|
967 |
|
968 |
+
#: includes/i18n.php:611
|
969 |
msgid "Clear API Cache"
|
970 |
msgstr "Clear API Cache"
|
971 |
|
972 |
+
#: includes/i18n.php:613
|
973 |
msgid "Sync Data From Server"
|
974 |
msgstr "Sync Data From Server"
|
975 |
|
976 |
+
#: includes/i18n.php:615
|
977 |
msgid "Scheduled Crons"
|
978 |
msgstr "Scheduled Crons"
|
979 |
|
980 |
+
#: includes/i18n.php:617
|
981 |
msgid "Plugins & Themes Sync"
|
982 |
msgstr "Plugins & Themes Sync"
|
983 |
|
984 |
+
#: includes/i18n.php:625
|
985 |
msgctxt "as congratulations"
|
986 |
msgid "Congrats"
|
987 |
msgstr "Congrats"
|
988 |
|
989 |
+
#: includes/i18n.php:627
|
990 |
msgctxt "exclamation"
|
991 |
msgid "Oops"
|
992 |
msgstr "Oops"
|
993 |
|
994 |
+
#: includes/i18n.php:629
|
995 |
msgctxt "interjection expressing joy or exuberance"
|
996 |
msgid "Yee-haw"
|
997 |
msgstr "Yee-haw"
|
998 |
|
999 |
+
#: includes/i18n.php:633
|
1000 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1001 |
msgid "W00t"
|
1002 |
msgstr "W00t"
|
1003 |
|
1004 |
+
#: includes/i18n.php:637
|
1005 |
msgctxt "a positive response"
|
1006 |
msgid "Right on"
|
1007 |
msgstr "Right on"
|
1008 |
|
1009 |
+
#: includes/i18n.php:639
|
1010 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1011 |
msgid "Hmm"
|
1012 |
msgstr "Hmm"
|
1013 |
|
1014 |
+
#: includes/i18n.php:643
|
1015 |
msgid "O.K"
|
1016 |
msgstr "O.K"
|
1017 |
|
1018 |
+
#: includes/i18n.php:645
|
1019 |
msgctxt "exclamation"
|
1020 |
msgid "Hey"
|
1021 |
msgstr "Hey"
|
1022 |
|
1023 |
+
#: includes/i18n.php:647
|
1024 |
msgctxt "advance notice of something that will need attention."
|
1025 |
msgid "Heads up"
|
1026 |
msgstr "Heads up"
|
1027 |
|
1028 |
+
#: includes/i18n.php:657
|
1029 |
msgid "Seems like you got the latest release."
|
1030 |
msgstr "Seems like you got the latest release."
|
1031 |
|
1032 |
+
#: includes/i18n.php:659
|
1033 |
msgid "You are all good!"
|
1034 |
msgstr "You are all good!"
|
1035 |
|
1036 |
+
#: includes/i18n.php:661
|
1037 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1038 |
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1039 |
|
1040 |
+
#: includes/i18n.php:665
|
1041 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1042 |
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1043 |
|
1044 |
+
#: includes/i18n.php:669
|
1045 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1046 |
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1047 |
|
1048 |
+
#: includes/i18n.php:673
|
1049 |
msgid "Your name was successfully updated."
|
1050 |
msgstr "Your name was successfully updated."
|
1051 |
|
1052 |
+
#: includes/i18n.php:675
|
1053 |
msgid "You have successfully updated your %s."
|
1054 |
msgstr "You have successfully updated your %s."
|
1055 |
|
1056 |
+
#: includes/i18n.php:677
|
1057 |
msgid "Please provide your full name."
|
1058 |
msgstr "Please provide your full name."
|
1059 |
|
1060 |
+
#: includes/i18n.php:679
|
1061 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1062 |
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1063 |
|
1064 |
+
#: includes/i18n.php:683
|
1065 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1066 |
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1067 |
|
1068 |
+
#: includes/i18n.php:687
|
1069 |
msgid "No credit card required"
|
1070 |
msgstr "No credit card required"
|
1071 |
|
1072 |
+
#: includes/i18n.php:689
|
1073 |
msgid "Premium plugin version was successfully activated."
|
1074 |
msgstr "Premium plugin version was successfully activated."
|
1075 |
|
1076 |
+
#: includes/i18n.php:693
|
1077 |
msgid "The upgrade of %s was successfully completed."
|
1078 |
msgstr "The upgrade of %s was successfully completed."
|
1079 |
|
1080 |
+
#: includes/i18n.php:695
|
1081 |
msgid "Your account was successfully activated with the %s plan."
|
1082 |
msgstr "Your account was successfully activated with the %s plan."
|
1083 |
|
1084 |
+
#: includes/i18n.php:699
|
1085 |
msgid "Download the latest %s version now"
|
1086 |
msgstr "Download the latest %s version now"
|
1087 |
|
1088 |
+
#: includes/i18n.php:701
|
1089 |
msgid "Please follow these steps to complete the upgrade"
|
1090 |
msgstr "Please follow these steps to complete the upgrade"
|
1091 |
|
1092 |
+
#: includes/i18n.php:705
|
1093 |
msgid "Download the latest %s version"
|
1094 |
msgstr "Download the latest %s version"
|
1095 |
|
1096 |
+
#: includes/i18n.php:707
|
1097 |
+
msgid "Download the latest version"
|
1098 |
+
msgstr "Download the latest version"
|
1099 |
+
|
1100 |
+
#: includes/i18n.php:709
|
1101 |
msgid "Deactivate the free version"
|
1102 |
msgstr "Deactivate the free version"
|
1103 |
|
1104 |
+
#: includes/i18n.php:711
|
1105 |
msgid "Upload and activate the downloaded version"
|
1106 |
msgstr "Upload and activate the downloaded version"
|
1107 |
|
1108 |
+
#: includes/i18n.php:713
|
1109 |
msgid "How to upload and activate?"
|
1110 |
msgstr "How to upload and activate?"
|
1111 |
|
1112 |
+
#: includes/i18n.php:715
|
1113 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1114 |
msgid "%s Add-on was successfully purchased."
|
1115 |
msgstr "%s Add-on was successfully purchased."
|
1116 |
|
1117 |
+
#: includes/i18n.php:719
|
1118 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1119 |
msgstr "Your %s Add-on plan was successfully upgraded."
|
1120 |
|
1121 |
+
#: includes/i18n.php:723
|
1122 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1123 |
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1124 |
|
1125 |
+
#: includes/i18n.php:727
|
1126 |
msgid "Your plan was successfully upgraded."
|
1127 |
msgstr "Your plan was successfully upgraded."
|
1128 |
|
1129 |
+
#: includes/i18n.php:729
|
1130 |
msgid "Your plan was successfully changed to %s."
|
1131 |
msgstr "Your plan was successfully changed to %s."
|
1132 |
|
1133 |
+
#: includes/i18n.php:731
|
1134 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1135 |
msgstr "Your license has expired. You can still continue using the free plugin forever."
|
1136 |
|
1137 |
+
#: includes/i18n.php:735
|
1138 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1139 |
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1140 |
|
1141 |
+
#: includes/i18n.php:739
|
1142 |
msgid "Your trial has been successfully started."
|
1143 |
msgstr "Your trial has been successfully started."
|
1144 |
|
1145 |
+
#: includes/i18n.php:741
|
1146 |
msgid "Your license was successfully activated."
|
1147 |
msgstr "Your license was successfully activated."
|
1148 |
|
1149 |
+
#: includes/i18n.php:743
|
1150 |
msgid "It looks like your site currently doesn't have an active license."
|
1151 |
msgstr "It looks like your site currently doesn't have an active license."
|
1152 |
|
1153 |
+
#: includes/i18n.php:747
|
1154 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1155 |
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
1156 |
|
1157 |
+
#: includes/i18n.php:751
|
1158 |
msgid "It looks like the license deactivation failed."
|
1159 |
msgstr "It looks like the license deactivation failed."
|
1160 |
|
1161 |
+
#: includes/i18n.php:755
|
1162 |
msgid "It looks like the license could not be activated."
|
1163 |
msgstr "It looks like the license could not be activated."
|
1164 |
|
1165 |
+
#: includes/i18n.php:759
|
1166 |
msgid "Error received from the server:"
|
1167 |
msgstr "Error received from the server:"
|
1168 |
|
1169 |
+
#: includes/i18n.php:761
|
1170 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1171 |
msgstr "Your trial has expired. You can still continue using all our free features."
|
1172 |
|
1173 |
+
#: includes/i18n.php:765
|
1174 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1175 |
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1176 |
|
1177 |
+
#: includes/i18n.php:769
|
1178 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1179 |
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1180 |
|
1181 |
+
#: includes/i18n.php:773
|
1182 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1183 |
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1184 |
|
1185 |
+
#: includes/i18n.php:777
|
1186 |
msgid "Your %s free trial was successfully cancelled."
|
1187 |
msgstr "Your %s free trial was successfully cancelled."
|
1188 |
|
1189 |
+
#: includes/i18n.php:781
|
1190 |
msgctxt "%s - numeric version number"
|
1191 |
msgid "Version %s was released."
|
1192 |
msgstr "Version %s was released."
|
1193 |
|
1194 |
+
#: includes/i18n.php:785
|
1195 |
msgid "Please download %s."
|
1196 |
msgstr "Please download %s."
|
1197 |
|
1198 |
+
#: includes/i18n.php:787
|
1199 |
msgctxt "%s - plan name, as the latest professional version here"
|
1200 |
msgid "the latest %s version here"
|
1201 |
msgstr "the latest %s version here"
|
1202 |
|
1203 |
+
#: includes/i18n.php:791
|
1204 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1205 |
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1206 |
|
1207 |
+
#: includes/i18n.php:795
|
1208 |
msgctxt "call to action"
|
1209 |
msgid "Start free trial"
|
1210 |
msgstr "Start free trial"
|
1211 |
|
1212 |
+
#: includes/i18n.php:797
|
1213 |
+
msgid "Starting trial"
|
1214 |
+
msgstr "Starting trial"
|
1215 |
+
|
1216 |
+
#: includes/i18n.php:799
|
1217 |
+
msgid "Please wait"
|
1218 |
+
msgstr "Please wait"
|
1219 |
+
|
1220 |
+
#: includes/i18n.php:801
|
1221 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1222 |
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1223 |
|
1224 |
+
#: includes/i18n.php:805
|
1225 |
msgid "You already utilized a trial before."
|
1226 |
msgstr "You already utilized a trial before."
|
1227 |
|
1228 |
+
#: includes/i18n.php:807
|
1229 |
msgid "You are already running the plugin in a trial mode."
|
1230 |
msgstr "You are already running the plugin in a trial mode."
|
1231 |
|
1232 |
+
#: includes/i18n.php:811
|
1233 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1234 |
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
1235 |
|
1236 |
+
#: includes/i18n.php:815
|
1237 |
msgid "Plan %s does not support a trial period."
|
1238 |
msgstr "Plan %s does not support a trial period."
|
1239 |
|
1240 |
+
#: includes/i18n.php:817
|
1241 |
msgid "None of the plugin's plans supports a trial period."
|
1242 |
msgstr "None of the plugin's plans supports a trial period."
|
1243 |
|
1244 |
+
#: includes/i18n.php:821
|
1245 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1246 |
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
1247 |
|
1248 |
+
#: includes/i18n.php:825
|
1249 |
msgid "No commitment for %s days - cancel anytime!"
|
1250 |
msgstr "No commitment for %s days - cancel anytime!"
|
1251 |
|
1252 |
+
#: includes/i18n.php:827
|
1253 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1254 |
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1255 |
|
1256 |
+
#: includes/i18n.php:831
|
1257 |
msgid "Couldn't activate %s."
|
1258 |
msgstr "Couldn't activate %s."
|
1259 |
|
1260 |
+
#: includes/i18n.php:833
|
1261 |
msgid "Please contact us with the following message:"
|
1262 |
msgstr "Please contact us with the following message:"
|
1263 |
|
1264 |
+
#: includes/i18n.php:835
|
1265 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1266 |
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1267 |
|
1268 |
+
#: includes/i18n.php:839
|
1269 |
msgid "Please contact us here"
|
1270 |
msgstr "Please contact us here"
|
1271 |
|
1272 |
+
#: includes/i18n.php:841
|
1273 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1274 |
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1275 |
|
1276 |
+
#: includes/i18n.php:849
|
1277 |
msgid "From unknown reason, the API connectivity test failed."
|
1278 |
msgstr "From unknown reason, the API connectivity test failed."
|
1279 |
|
1280 |
+
#: includes/i18n.php:853
|
1281 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1282 |
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1283 |
|
1284 |
+
#: includes/i18n.php:857
|
1285 |
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1286 |
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1287 |
|
1288 |
+
#: includes/i18n.php:861
|
1289 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1290 |
msgstr "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1291 |
|
1292 |
+
#: includes/i18n.php:865
|
1293 |
msgctxt "as pluginX requires an access to our API"
|
1294 |
msgid "%s requires an access to our API."
|
1295 |
msgstr "%s requires an access to our API."
|
1296 |
|
1297 |
+
#: includes/i18n.php:869
|
1298 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1299 |
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1300 |
|
1301 |
+
#: includes/i18n.php:873
|
1302 |
msgid "I don't know what is Squid or ACL, help me!"
|
1303 |
msgstr "I don't know what is Squid or ACL, help me!"
|
1304 |
|
1305 |
+
#: includes/i18n.php:875, includes/i18n.php:889
|
1306 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1307 |
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1308 |
|
1309 |
+
#: includes/i18n.php:879
|
1310 |
msgid "I'm a system administrator"
|
1311 |
msgstr "I'm a system administrator"
|
1312 |
|
1313 |
+
#: includes/i18n.php:881
|
1314 |
msgid "Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again."
|
1315 |
msgstr "Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again."
|
1316 |
|
1317 |
+
#: includes/i18n.php:885
|
1318 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1319 |
msgstr "I don't know what is cURL or how to install it, help me!"
|
1320 |
|
1321 |
+
#: includes/i18n.php:893
|
1322 |
msgid "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1323 |
msgstr "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1324 |
|
1325 |
+
#: includes/i18n.php:897
|
1326 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1327 |
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1328 |
|
1329 |
+
#: includes/i18n.php:901
|
1330 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1331 |
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1332 |
|
1333 |
+
#: includes/i18n.php:905
|
1334 |
msgid "Yes - I'm giving you a chance to fix it"
|
1335 |
msgstr "Yes - I'm giving you a chance to fix it"
|
1336 |
|
1337 |
+
#: includes/i18n.php:907
|
1338 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1339 |
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1340 |
|
1341 |
+
#: includes/i18n.php:911
|
1342 |
msgid "Let's try your previous version"
|
1343 |
msgstr "Let's try your previous version"
|
1344 |
|
1345 |
+
#: includes/i18n.php:913
|
1346 |
msgid "Uninstall this version and install the previous one."
|
1347 |
msgstr "Uninstall this version and install the previous one."
|
1348 |
|
1349 |
+
#: includes/i18n.php:917
|
1350 |
msgid "That's exhausting, please deactivate"
|
1351 |
msgstr "That's exhausting, please deactivate"
|
1352 |
|
1353 |
+
#: includes/i18n.php:919
|
1354 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1355 |
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1356 |
|
1357 |
+
#: includes/i18n.php:923
|
1358 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1359 |
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1360 |
|
1361 |
+
#: includes/i18n.php:927
|
1362 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1363 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1364 |
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1365 |
|
1366 |
+
#: includes/i18n.php:931
|
1367 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1368 |
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1369 |
|
1370 |
+
#: includes/i18n.php:939
|
1371 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1372 |
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1373 |
|
1374 |
+
#: includes/i18n.php:943
|
1375 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1376 |
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1377 |
|
1378 |
+
#: includes/i18n.php:947
|
1379 |
msgid "%s is the new owner of the account."
|
1380 |
msgstr "%s is the new owner of the account."
|
1381 |
|
1382 |
+
#: includes/i18n.php:951
|
1383 |
msgctxt "addonX cannot run without pluginY"
|
1384 |
msgid "%s cannot run without %s."
|
1385 |
msgstr "%s cannot run without %s."
|
1386 |
|
1387 |
+
#: includes/i18n.php:955
|
1388 |
msgctxt "addonX cannot run..."
|
1389 |
msgid "%s cannot run without the plugin."
|
1390 |
msgstr "%s cannot run without the plugin."
|
1391 |
|
1392 |
+
#: includes/i18n.php:959
|
1393 |
msgctxt "pluginX activation was successfully..."
|
1394 |
msgid "%s activation was successfully completed."
|
1395 |
msgstr "%s activation was successfully completed."
|
1396 |
|
1397 |
+
#: includes/i18n.php:963
|
1398 |
msgctxt "Plugin installer section title"
|
1399 |
msgid "Features & Pricing"
|
1400 |
msgstr "Features & Pricing"
|
1401 |
|
1402 |
+
#: includes/i18n.php:967
|
1403 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1404 |
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1405 |
|
1406 |
+
#: includes/i18n.php:971
|
1407 |
msgid "Paid add-on must be deployed to Freemius."
|
1408 |
msgstr "Paid add-on must be deployed to Freemius."
|
1409 |
|
1410 |
+
#: includes/i18n.php:979
|
1411 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1412 |
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1413 |
|
1414 |
+
#: includes/i18n.php:983
|
1415 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1416 |
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1417 |
|
1418 |
+
#: includes/i18n.php:995
|
1419 |
msgctxt "as every month"
|
1420 |
msgid "Monthly"
|
1421 |
msgstr "Monthly"
|
1422 |
|
1423 |
+
#: includes/i18n.php:997
|
1424 |
msgctxt "as monthly period"
|
1425 |
msgid "mo"
|
1426 |
msgstr "mo"
|
1427 |
|
1428 |
+
#: includes/i18n.php:999
|
1429 |
msgctxt "as once a year"
|
1430 |
msgid "Annual"
|
1431 |
msgstr "Annual"
|
1432 |
|
1433 |
+
#: includes/i18n.php:1001
|
1434 |
msgctxt "as once a year"
|
1435 |
msgid "Annually"
|
1436 |
msgstr "Annually"
|
1437 |
|
1438 |
+
#: includes/i18n.php:1003
|
1439 |
msgctxt "as once a year"
|
1440 |
msgid "Once"
|
1441 |
msgstr "Once"
|
1442 |
|
1443 |
+
#: includes/i18n.php:1005
|
1444 |
msgctxt "as annual period"
|
1445 |
msgid "year"
|
1446 |
msgstr "year"
|
1447 |
|
1448 |
+
#: includes/i18n.php:1007
|
1449 |
msgid "Lifetime"
|
1450 |
msgstr "Lifetime"
|
1451 |
|
1452 |
+
#: includes/i18n.php:1009
|
1453 |
msgctxt "e.g. the best product"
|
1454 |
msgid "Best"
|
1455 |
msgstr "Best"
|
1456 |
|
1457 |
+
#: includes/i18n.php:1011
|
1458 |
msgctxt "e.g. billed monthly"
|
1459 |
msgid "Billed %s"
|
1460 |
msgstr "Billed %s"
|
1461 |
|
1462 |
+
#: includes/i18n.php:1013
|
1463 |
msgctxt "as a discount of $5 or 10%"
|
1464 |
msgid "Save %s"
|
1465 |
msgstr "Save %s"
|
1466 |
|
1467 |
+
#: includes/i18n.php:1017
|
1468 |
msgid "View details"
|
1469 |
msgstr "View details"
|
1470 |
+
|
1471 |
+
#: includes/i18n.php:1025
|
1472 |
+
msgctxt "button label"
|
1473 |
+
msgid "Approve & Start Trial"
|
1474 |
+
msgstr "Approve & Start Trial"
|
1475 |
+
|
1476 |
+
#: includes/i18n.php:1029
|
1477 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1478 |
+
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1479 |
+
|
1480 |
+
#: includes/i18n.php:1033
|
1481 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1482 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1483 |
+
|
1484 |
+
#: includes/i18n.php:1045
|
1485 |
+
msgid "Business name"
|
1486 |
+
msgstr "Business name"
|
1487 |
+
|
1488 |
+
#: includes/i18n.php:1047
|
1489 |
+
msgid "Tax / VAT ID"
|
1490 |
+
msgstr "Tax / VAT ID"
|
1491 |
+
|
1492 |
+
#: includes/i18n.php:1049
|
1493 |
+
msgid "Address Line %d"
|
1494 |
+
msgstr "Address Line %d"
|
1495 |
+
|
1496 |
+
#: includes/i18n.php:1051
|
1497 |
+
msgid "Country"
|
1498 |
+
msgstr "Country"
|
1499 |
+
|
1500 |
+
#: includes/i18n.php:1053
|
1501 |
+
msgid "Select Country"
|
1502 |
+
msgstr "Select Country"
|
1503 |
+
|
1504 |
+
#: includes/i18n.php:1055
|
1505 |
+
msgid "City"
|
1506 |
+
msgstr "City"
|
1507 |
+
|
1508 |
+
#: includes/i18n.php:1057
|
1509 |
+
msgid "Town"
|
1510 |
+
msgstr "Town"
|
1511 |
+
|
1512 |
+
#: includes/i18n.php:1059
|
1513 |
+
msgid "State"
|
1514 |
+
msgstr "State"
|
1515 |
+
|
1516 |
+
#: includes/i18n.php:1061
|
1517 |
+
msgid "Province"
|
1518 |
+
msgstr "Province"
|
1519 |
+
|
1520 |
+
#: includes/i18n.php:1063
|
1521 |
+
msgid "ZIP / Postal Code"
|
1522 |
+
msgstr "ZIP / Postal Code"
|
freemius/languages/freemius-he.mo
ADDED
Binary file
|
freemius/languages/freemius-he.po
ADDED
@@ -0,0 +1,1661 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 freemius
|
2 |
+
# This file is distributed under the same license as the freemius package.
|
3 |
+
# Translators:
|
4 |
+
# Vova Feldman <vova@freemius.com>, 2016
|
5 |
+
msgid ""
|
6 |
+
msgstr ""
|
7 |
+
"Project-Id-Version: WordPress SDK\n"
|
8 |
+
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
+
"PO-Revision-Date: 2016-12-07 01:29+0000\n"
|
10 |
+
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
11 |
+
"Language-Team: Hebrew (http://www.transifex.com/freemius/wordpress-sdk/language/he/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: he\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"X-Poedit-Basepath: ..\n"
|
18 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
19 |
+
"X-Poedit-SearchPath-0: .\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
21 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
+
|
23 |
+
#: includes/i18n.php41, includes/i18n.php:55
|
24 |
+
msgid "Yes - I'm in!"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: includes/i18n.php43, includes/i18n.php:57
|
28 |
+
msgid "Not today"
|
29 |
+
msgstr "לא היום"
|
30 |
+
|
31 |
+
#: includes/i18n.php:69
|
32 |
+
msgid "Account"
|
33 |
+
msgstr "חשבון"
|
34 |
+
|
35 |
+
#: includes/i18n.php:71
|
36 |
+
msgid "Add On"
|
37 |
+
msgstr "תוסף"
|
38 |
+
|
39 |
+
#: includes/i18n.php:73
|
40 |
+
msgid "Contact Us"
|
41 |
+
msgstr "יצירת קשר"
|
42 |
+
|
43 |
+
#: includes/i18n.php:75
|
44 |
+
msgid "Contact Support"
|
45 |
+
msgstr "צור קשר"
|
46 |
+
|
47 |
+
#: includes/i18n.php:77
|
48 |
+
msgid "Change Ownership"
|
49 |
+
msgstr "עדכון בעלות"
|
50 |
+
|
51 |
+
#: includes/i18n.php:79
|
52 |
+
msgid "Support"
|
53 |
+
msgstr "תמיכה"
|
54 |
+
|
55 |
+
#: includes/i18n.php:81
|
56 |
+
msgid "Support Forum"
|
57 |
+
msgstr "פורום תמיכה"
|
58 |
+
|
59 |
+
#: includes/i18n.php:83
|
60 |
+
msgid "Add Ons"
|
61 |
+
msgstr "תוספים"
|
62 |
+
|
63 |
+
#: includes/i18n.php:85
|
64 |
+
msgctxt "verb"
|
65 |
+
msgid "Upgrade"
|
66 |
+
msgstr "שדרג"
|
67 |
+
|
68 |
+
#: includes/i18n.php:87
|
69 |
+
msgid "Awesome"
|
70 |
+
msgstr "אדיר"
|
71 |
+
|
72 |
+
#: includes/i18n.php:89
|
73 |
+
msgctxt "noun"
|
74 |
+
msgid "Pricing"
|
75 |
+
msgstr "מחירון"
|
76 |
+
|
77 |
+
#: includes/i18n.php:91
|
78 |
+
msgctxt "noun"
|
79 |
+
msgid "Price"
|
80 |
+
msgstr "מחיר"
|
81 |
+
|
82 |
+
#: includes/i18n.php:93
|
83 |
+
msgid "Unlimited Updates"
|
84 |
+
msgstr "עדכונים ללא הגבלה"
|
85 |
+
|
86 |
+
#: includes/i18n.php:95
|
87 |
+
msgctxt "verb"
|
88 |
+
msgid "Downgrade"
|
89 |
+
msgstr "שנמך"
|
90 |
+
|
91 |
+
#: includes/i18n.php:97
|
92 |
+
msgid "Cancel Trial"
|
93 |
+
msgstr "ביט"
|
94 |
+
|
95 |
+
#: includes/i18n.php:99
|
96 |
+
msgid "Free Trial"
|
97 |
+
msgstr "ניסיון חינם"
|
98 |
+
|
99 |
+
#: includes/i18n.php:101
|
100 |
+
msgid "Start my free %s"
|
101 |
+
msgstr "התחל את %s הניסיון שלי"
|
102 |
+
|
103 |
+
#: includes/i18n.php:103
|
104 |
+
msgid "No commitment for %s - cancel anytime"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: includes/i18n.php:105
|
108 |
+
msgid "After your free %s, pay as little as %s"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: includes/i18n.php:107
|
112 |
+
msgid "Details"
|
113 |
+
msgstr "פרטים"
|
114 |
+
|
115 |
+
#: includes/i18n.php:109
|
116 |
+
msgid "Account Details"
|
117 |
+
msgstr "פרטי חשבון"
|
118 |
+
|
119 |
+
#: includes/i18n.php:111
|
120 |
+
msgctxt "verb"
|
121 |
+
msgid "Delete"
|
122 |
+
msgstr "מחק"
|
123 |
+
|
124 |
+
#: includes/i18n.php:113
|
125 |
+
msgctxt "verb"
|
126 |
+
msgid "Show"
|
127 |
+
msgstr "הצג"
|
128 |
+
|
129 |
+
#: includes/i18n.php:115
|
130 |
+
msgctxt "verb"
|
131 |
+
msgid "Hide"
|
132 |
+
msgstr "הסתר"
|
133 |
+
|
134 |
+
#: includes/i18n.php:117
|
135 |
+
msgctxt "verb"
|
136 |
+
msgid "Edit"
|
137 |
+
msgstr "ערוך"
|
138 |
+
|
139 |
+
#: includes/i18n.php:119
|
140 |
+
msgctxt "verb"
|
141 |
+
msgid "Update"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: includes/i18n.php:121
|
145 |
+
msgid "Date"
|
146 |
+
msgstr "תאריך"
|
147 |
+
|
148 |
+
#: includes/i18n.php:123
|
149 |
+
msgid "Amount"
|
150 |
+
msgstr "סכום"
|
151 |
+
|
152 |
+
#: includes/i18n.php:125
|
153 |
+
msgid "Invoice"
|
154 |
+
msgstr "חשבונית"
|
155 |
+
|
156 |
+
#: includes/i18n.php:127
|
157 |
+
msgid "Billing"
|
158 |
+
msgstr "בילינג"
|
159 |
+
|
160 |
+
#: includes/i18n.php:129
|
161 |
+
msgid "Payments"
|
162 |
+
msgstr "תשלומים"
|
163 |
+
|
164 |
+
#: includes/i18n.php:131
|
165 |
+
msgid "Delete Account"
|
166 |
+
msgstr "מחיקת חשבון"
|
167 |
+
|
168 |
+
#: includes/i18n.php:133
|
169 |
+
msgctxt "as close a window"
|
170 |
+
msgid "Dismiss"
|
171 |
+
msgstr "סגירה"
|
172 |
+
|
173 |
+
#: includes/i18n.php:135
|
174 |
+
msgctxt "as product pricing plan"
|
175 |
+
msgid "Plan"
|
176 |
+
msgstr "חבילה"
|
177 |
+
|
178 |
+
#: includes/i18n.php:137
|
179 |
+
msgid "Change Plan"
|
180 |
+
msgstr "שינוי חבילה"
|
181 |
+
|
182 |
+
#: includes/i18n.php:139
|
183 |
+
msgctxt "as download professional version"
|
184 |
+
msgid "Download %s Version"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: includes/i18n.php:141
|
188 |
+
msgctxt "as download professional version now"
|
189 |
+
msgid "Download %s version now"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
#: includes/i18n.php:145
|
193 |
+
msgctxt "as download latest version"
|
194 |
+
msgid "Download Latest"
|
195 |
+
msgstr "הורד גרסה אחרונה"
|
196 |
+
|
197 |
+
#: includes/i18n.php:147
|
198 |
+
msgctxt "E.g. you have a professional license."
|
199 |
+
msgid "You have a %s license."
|
200 |
+
msgstr ""
|
201 |
+
|
202 |
+
#: includes/i18n.php:151
|
203 |
+
msgid "New"
|
204 |
+
msgstr "חדש"
|
205 |
+
|
206 |
+
#: includes/i18n.php:153
|
207 |
+
msgid "Free"
|
208 |
+
msgstr "חינם"
|
209 |
+
|
210 |
+
#: includes/i18n.php:155
|
211 |
+
msgctxt "as trial plan"
|
212 |
+
msgid "Trial"
|
213 |
+
msgstr "ניסיון"
|
214 |
+
|
215 |
+
#: includes/i18n.php:157
|
216 |
+
msgctxt "as starting a trial plan"
|
217 |
+
msgid "Start Trial"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: includes/i18n.php:159
|
221 |
+
msgctxt "verb"
|
222 |
+
msgid "Purchase"
|
223 |
+
msgstr "רכישה"
|
224 |
+
|
225 |
+
#: includes/i18n.php:161
|
226 |
+
msgid "Purchase License"
|
227 |
+
msgstr "קניית רישיון"
|
228 |
+
|
229 |
+
#: includes/i18n.php:163
|
230 |
+
msgctxt "verb"
|
231 |
+
msgid "Buy"
|
232 |
+
msgstr "קנייה"
|
233 |
+
|
234 |
+
#: includes/i18n.php:165
|
235 |
+
msgid "Buy License"
|
236 |
+
msgstr "קניית רישיון"
|
237 |
+
|
238 |
+
#: includes/i18n.php:167
|
239 |
+
msgid "Single Site License"
|
240 |
+
msgstr "רשיון לאתר אחד"
|
241 |
+
|
242 |
+
#: includes/i18n.php:169
|
243 |
+
msgid "Unlimited Licenses"
|
244 |
+
msgstr "רשיונות ללא הגבלה"
|
245 |
+
|
246 |
+
#: includes/i18n.php:171
|
247 |
+
msgid "Up to %s Sites"
|
248 |
+
msgstr "עד %s אתרים"
|
249 |
+
|
250 |
+
#: includes/i18n.php:173
|
251 |
+
msgid "%sRenew your license now%s to access version %s features and support."
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: includes/i18n.php:177
|
255 |
+
msgid ""
|
256 |
+
"Enter the email address you've used for the upgrade below and we will resend"
|
257 |
+
" you the license key."
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
#: includes/i18n.php:181
|
261 |
+
msgctxt "e.g. Professional Plan"
|
262 |
+
msgid "%s Plan"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: includes/i18n.php:183
|
266 |
+
msgid "You are just one step away - %s"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: includes/i18n.php:185
|
270 |
+
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
271 |
+
msgid "Complete \"%s\" Activation Now"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: includes/i18n.php:189
|
275 |
+
msgid "We made a few tweaks to the plugin, %s"
|
276 |
+
msgstr "ביצענו מספר שינויים לתוסף, %s"
|
277 |
+
|
278 |
+
#: includes/i18n.php:191
|
279 |
+
msgid "Opt-in to make \"%s\" Better!"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: includes/i18n.php:193
|
283 |
+
msgid "Error"
|
284 |
+
msgstr "שגיאה"
|
285 |
+
|
286 |
+
#: includes/i18n.php:195
|
287 |
+
msgid ""
|
288 |
+
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
289 |
+
"sdk@freemius.com with the current error."
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: includes/i18n.php:203
|
293 |
+
msgctxt "as expiration date"
|
294 |
+
msgid "Expiration"
|
295 |
+
msgstr "תפוגה"
|
296 |
+
|
297 |
+
#: includes/i18n.php:205
|
298 |
+
msgctxt "as software license"
|
299 |
+
msgid "License"
|
300 |
+
msgstr "רישיון"
|
301 |
+
|
302 |
+
#: includes/i18n.php:207
|
303 |
+
msgid "not verified"
|
304 |
+
msgstr "לא מאומת"
|
305 |
+
|
306 |
+
#: includes/i18n.php:209
|
307 |
+
msgid "Verify Email"
|
308 |
+
msgstr "אמת כתובת דוא\"ל"
|
309 |
+
|
310 |
+
#: includes/i18n.php:211
|
311 |
+
msgctxt "e.g. expires in 2 months"
|
312 |
+
msgid "Expires in %s"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: includes/i18n.php:213
|
316 |
+
msgctxt "e.g. auto renews in 2 months"
|
317 |
+
msgid "Auto renews in %s"
|
318 |
+
msgstr ""
|
319 |
+
|
320 |
+
#: includes/i18n.php:215
|
321 |
+
msgid "No expiration"
|
322 |
+
msgstr "ללא תפוגה"
|
323 |
+
|
324 |
+
#: includes/i18n.php:217
|
325 |
+
msgid "Expired"
|
326 |
+
msgstr "פג תוקף"
|
327 |
+
|
328 |
+
#: includes/i18n.php:219
|
329 |
+
msgid "Cancelled"
|
330 |
+
msgstr "בוטל"
|
331 |
+
|
332 |
+
#: includes/i18n.php:221
|
333 |
+
msgctxt "e.g. In 2 hours"
|
334 |
+
msgid "In %s"
|
335 |
+
msgstr "בעוד %s"
|
336 |
+
|
337 |
+
#: includes/i18n.php:223
|
338 |
+
msgctxt "e.g. 2 min ago"
|
339 |
+
msgid "%s ago"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: includes/i18n.php:225
|
343 |
+
msgctxt "as plugin version"
|
344 |
+
msgid "Version"
|
345 |
+
msgstr "גרסה"
|
346 |
+
|
347 |
+
#: includes/i18n.php:227
|
348 |
+
msgid "Name"
|
349 |
+
msgstr "שם"
|
350 |
+
|
351 |
+
#: includes/i18n.php:229
|
352 |
+
msgid "Email"
|
353 |
+
msgstr "דוא\"ל"
|
354 |
+
|
355 |
+
#: includes/i18n.php:231
|
356 |
+
msgid "Email address"
|
357 |
+
msgstr "כתובת דוא\"ל"
|
358 |
+
|
359 |
+
#: includes/i18n.php:233
|
360 |
+
msgid "Verified"
|
361 |
+
msgstr "מאומת"
|
362 |
+
|
363 |
+
#: includes/i18n.php:235
|
364 |
+
msgid "Plugin"
|
365 |
+
msgstr "תוסף"
|
366 |
+
|
367 |
+
#: includes/i18n.php:237
|
368 |
+
msgid "Plugins"
|
369 |
+
msgstr "תוספים"
|
370 |
+
|
371 |
+
#: includes/i18n.php:239
|
372 |
+
msgid "Themes"
|
373 |
+
msgstr "תבניות"
|
374 |
+
|
375 |
+
#: includes/i18n.php:241
|
376 |
+
msgctxt "as file/folder path"
|
377 |
+
msgid "Path"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: includes/i18n.php:243
|
381 |
+
msgid "Title"
|
382 |
+
msgstr "כותרת"
|
383 |
+
|
384 |
+
#: includes/i18n.php:245
|
385 |
+
msgid "Free version"
|
386 |
+
msgstr "גירסה חינאמית"
|
387 |
+
|
388 |
+
#: includes/i18n.php:247
|
389 |
+
msgid "Premium version"
|
390 |
+
msgstr "גירסת פרימיום"
|
391 |
+
|
392 |
+
#: includes/i18n.php:249
|
393 |
+
msgctxt "as WP plugin slug"
|
394 |
+
msgid "Slug"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: includes/i18n.php:251
|
398 |
+
msgid "ID"
|
399 |
+
msgstr "מזהה"
|
400 |
+
|
401 |
+
#: includes/i18n.php:253
|
402 |
+
msgid "Users"
|
403 |
+
msgstr "משתמשים"
|
404 |
+
|
405 |
+
#: includes/i18n.php:255
|
406 |
+
msgid "Plugin Installs"
|
407 |
+
msgstr "התקנות תוסף"
|
408 |
+
|
409 |
+
#: includes/i18n.php:257
|
410 |
+
msgctxt "like websites"
|
411 |
+
msgid "Sites"
|
412 |
+
msgstr "אתרים"
|
413 |
+
|
414 |
+
#: includes/i18n.php:259
|
415 |
+
msgid "User ID"
|
416 |
+
msgstr "מזהה משתמש"
|
417 |
+
|
418 |
+
#: includes/i18n.php:261
|
419 |
+
msgid "Site ID"
|
420 |
+
msgstr "מזהה אתר"
|
421 |
+
|
422 |
+
#: includes/i18n.php:263
|
423 |
+
msgid "Public Key"
|
424 |
+
msgstr "מפתח פומבי"
|
425 |
+
|
426 |
+
#: includes/i18n.php:265
|
427 |
+
msgid "Secret Key"
|
428 |
+
msgstr "מפתח סודי"
|
429 |
+
|
430 |
+
#: includes/i18n.php:267
|
431 |
+
msgctxt "as secret encryption key missing"
|
432 |
+
msgid "No Secret"
|
433 |
+
msgstr "אין מפתח סודי"
|
434 |
+
|
435 |
+
#: includes/i18n.php:269
|
436 |
+
msgid "No ID"
|
437 |
+
msgstr "אין מזהה"
|
438 |
+
|
439 |
+
#: includes/i18n.php:271
|
440 |
+
msgctxt "as synchronize license"
|
441 |
+
msgid "Sync License"
|
442 |
+
msgstr "סינכרן רישיון"
|
443 |
+
|
444 |
+
#: includes/i18n.php:273
|
445 |
+
msgctxt "as synchronize"
|
446 |
+
msgid "Sync"
|
447 |
+
msgstr "סינכרון"
|
448 |
+
|
449 |
+
#: includes/i18n.php:275
|
450 |
+
msgid "Activate License"
|
451 |
+
msgstr "הפעלת רישיון"
|
452 |
+
|
453 |
+
#: includes/i18n.php:277
|
454 |
+
msgid "Activate Free Version"
|
455 |
+
msgstr "הפעלת גירסה חינאמית"
|
456 |
+
|
457 |
+
#: includes/i18n.php:279
|
458 |
+
msgid ""
|
459 |
+
"Please enter the license key that you received in the email right after the "
|
460 |
+
"purchase:"
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: includes/i18n.php:283
|
464 |
+
msgid "Activating license..."
|
465 |
+
msgstr "מפעיל רישיון..."
|
466 |
+
|
467 |
+
#: includes/i18n.php:285
|
468 |
+
msgid "Change License"
|
469 |
+
msgstr "שינוי רישיון"
|
470 |
+
|
471 |
+
#: includes/i18n.php:287
|
472 |
+
msgid "Update License"
|
473 |
+
msgstr "עדכון רישיון"
|
474 |
+
|
475 |
+
#: includes/i18n.php:289
|
476 |
+
msgid "Deactivate License"
|
477 |
+
msgstr "שיחרור רישיון"
|
478 |
+
|
479 |
+
#: includes/i18n.php:291
|
480 |
+
msgid "Activate"
|
481 |
+
msgstr "הפעלה"
|
482 |
+
|
483 |
+
#: includes/i18n.php:293
|
484 |
+
msgid "Deactivate"
|
485 |
+
msgstr "כיבוי"
|
486 |
+
|
487 |
+
#: includes/i18n.php:295
|
488 |
+
msgid "Skip & Deactivate"
|
489 |
+
msgstr "דלג והמשך כיבוי"
|
490 |
+
|
491 |
+
#: includes/i18n.php:297
|
492 |
+
msgid "No - just deactivate"
|
493 |
+
msgstr "לא - פשוט כבה"
|
494 |
+
|
495 |
+
#: includes/i18n.php:299
|
496 |
+
msgid "Yes - do your thing"
|
497 |
+
msgstr "כן - בצעו את מה שצריך"
|
498 |
+
|
499 |
+
#: includes/i18n.php:301
|
500 |
+
msgctxt "active mode"
|
501 |
+
msgid "Active"
|
502 |
+
msgstr "מופעל"
|
503 |
+
|
504 |
+
#: includes/i18n.php:303
|
505 |
+
msgctxt "is active mode?"
|
506 |
+
msgid "Is Active"
|
507 |
+
msgstr "האם פעיל"
|
508 |
+
|
509 |
+
#: includes/i18n.php:305
|
510 |
+
msgid "Install Now"
|
511 |
+
msgstr "התקן עכשיו"
|
512 |
+
|
513 |
+
#: includes/i18n.php:307
|
514 |
+
msgid "Install Update Now"
|
515 |
+
msgstr "התקן עדכון במיידי"
|
516 |
+
|
517 |
+
#: includes/i18n.php:309
|
518 |
+
msgid "More information about %s"
|
519 |
+
msgstr ""
|
520 |
+
|
521 |
+
#: includes/i18n.php:311
|
522 |
+
msgid "Localhost"
|
523 |
+
msgstr "שרת לוקאלי"
|
524 |
+
|
525 |
+
#: includes/i18n.php:313
|
526 |
+
msgctxt "as activate Professional plan"
|
527 |
+
msgid "Activate %s Plan"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: includes/i18n.php:315
|
531 |
+
msgctxt "as 5 licenses left"
|
532 |
+
msgid "%s left"
|
533 |
+
msgstr "נשארו %s"
|
534 |
+
|
535 |
+
#: includes/i18n.php:317
|
536 |
+
msgid "Last license"
|
537 |
+
msgstr "רישיון אחרון"
|
538 |
+
|
539 |
+
#: includes/i18n.php:319
|
540 |
+
msgid "What is your %s?"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: includes/i18n.php:321
|
544 |
+
msgid "Activate this add-on"
|
545 |
+
msgstr "הפעל את התוסף"
|
546 |
+
|
547 |
+
#: includes/i18n.php:323
|
548 |
+
msgid ""
|
549 |
+
"Deactivating your license will block all premium features, but will enable "
|
550 |
+
"you to activate the license on another site. Are you sure you want to "
|
551 |
+
"proceed?"
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: includes/i18n.php:327
|
555 |
+
msgid ""
|
556 |
+
"Deleting the account will automatically deactivate your %s plan license so "
|
557 |
+
"you can use it on other sites. If you want to terminate the recurring "
|
558 |
+
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
559 |
+
"account. Are you sure you would like to continue with the deletion?"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: includes/i18n.php:331
|
563 |
+
msgid ""
|
564 |
+
"Deletion is not temporary. Only delete if you no longer want to use this "
|
565 |
+
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
+
msgstr ""
|
567 |
+
|
568 |
+
#: includes/i18n.php:335
|
569 |
+
msgid ""
|
570 |
+
"Downgrading your plan will immediately stop all future recurring payments "
|
571 |
+
"and your %s plan license will expire in %s."
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: includes/i18n.php:339
|
575 |
+
msgid ""
|
576 |
+
"Cancelling the trial will immediately block access to all premium features. "
|
577 |
+
"Are you sure?"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: includes/i18n.php:343
|
581 |
+
msgid ""
|
582 |
+
"You can still enjoy all %s features but you will not have access to plugin "
|
583 |
+
"updates and support."
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: includes/i18n.php:347
|
587 |
+
msgid ""
|
588 |
+
"Once your license expire you can still use the Free version but you will NOT"
|
589 |
+
" have access to the %s features."
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: includes/i18n.php:351
|
593 |
+
msgid "Are you sure you want to proceed?"
|
594 |
+
msgstr "האם את/ה בטוח רוצה להמשיך?"
|
595 |
+
|
596 |
+
#: includes/i18n.php:357
|
597 |
+
msgid "Add Ons for %s"
|
598 |
+
msgstr ""
|
599 |
+
|
600 |
+
#: includes/i18n.php:359
|
601 |
+
msgid ""
|
602 |
+
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
603 |
+
"please try to come back in few minutes."
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: includes/i18n.php:365
|
607 |
+
msgid "Anonymous feedback"
|
608 |
+
msgstr "פידבק אנונימי"
|
609 |
+
|
610 |
+
#: includes/i18n.php:367
|
611 |
+
msgid "Quick feedback"
|
612 |
+
msgstr "פידבק זריז"
|
613 |
+
|
614 |
+
#: includes/i18n.php:369
|
615 |
+
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: includes/i18n.php:373
|
619 |
+
msgid "Yes - Deactivate"
|
620 |
+
msgstr "כן - "
|
621 |
+
|
622 |
+
#: includes/i18n.php:375
|
623 |
+
msgid "Submit & Deactivate"
|
624 |
+
msgstr "שלח וכבה"
|
625 |
+
|
626 |
+
#: includes/i18n.php:377
|
627 |
+
msgid "Cancel"
|
628 |
+
msgstr "בטל"
|
629 |
+
|
630 |
+
#: includes/i18n.php:379
|
631 |
+
msgid "I no longer need the plugin"
|
632 |
+
msgstr "אין לי צורך יותר בתוסף"
|
633 |
+
|
634 |
+
#: includes/i18n.php:381
|
635 |
+
msgid "I found a better plugin"
|
636 |
+
msgstr "מצאתי תוסף טוב יותר"
|
637 |
+
|
638 |
+
#: includes/i18n.php:383
|
639 |
+
msgid "I only needed the plugin for a short period"
|
640 |
+
msgstr "השתמשתי בתוסף לתקופה קצרה"
|
641 |
+
|
642 |
+
#: includes/i18n.php:385
|
643 |
+
msgid "The plugin broke my site"
|
644 |
+
msgstr "התוסף הרס לי את האתר"
|
645 |
+
|
646 |
+
#: includes/i18n.php:387
|
647 |
+
msgid "The plugin suddenly stopped working"
|
648 |
+
msgstr "התוסף לפתע הפסיק לעבוד"
|
649 |
+
|
650 |
+
#: includes/i18n.php:389
|
651 |
+
msgid "I can't pay for it anymore"
|
652 |
+
msgstr "אני לא יכול/ה להמשיך לשלם על זה"
|
653 |
+
|
654 |
+
#: includes/i18n.php:391
|
655 |
+
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
+
msgstr "כיבוי זמני לשם דיבאג."
|
657 |
+
|
658 |
+
#: includes/i18n.php:395
|
659 |
+
msgctxt ""
|
660 |
+
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
661 |
+
"in the modal box."
|
662 |
+
msgid "Other"
|
663 |
+
msgstr "אחר"
|
664 |
+
|
665 |
+
#: includes/i18n.php:399
|
666 |
+
msgid "Kindly tell us the reason so we can improve."
|
667 |
+
msgstr "אנא שתף את הסיבה כדי שנוכל להשתפר."
|
668 |
+
|
669 |
+
#: includes/i18n.php:401
|
670 |
+
msgid "What's the plugin's name?"
|
671 |
+
msgstr "מהו שם התוסף?"
|
672 |
+
|
673 |
+
#: includes/i18n.php:403
|
674 |
+
msgid "What price would you feel comfortable paying?"
|
675 |
+
msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
|
676 |
+
|
677 |
+
#: includes/i18n.php:405
|
678 |
+
msgid "I couldn't understand how to make it work"
|
679 |
+
msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
|
680 |
+
|
681 |
+
#: includes/i18n.php:407
|
682 |
+
msgid ""
|
683 |
+
"The plugin is great, but I need specific feature that you don't support"
|
684 |
+
msgstr "התוסף מעולה, אבל אני צריכ\\ה פיצ'ר ספציפי שלא נתמך"
|
685 |
+
|
686 |
+
#: includes/i18n.php:411
|
687 |
+
msgid "The plugin is not working"
|
688 |
+
msgstr "התוסף לא עובד"
|
689 |
+
|
690 |
+
#: includes/i18n.php:413
|
691 |
+
msgid "It's not what I was looking for"
|
692 |
+
msgstr "חיפשתי משהו אחר"
|
693 |
+
|
694 |
+
#: includes/i18n.php:415
|
695 |
+
msgid "The plugin didn't work as expected"
|
696 |
+
msgstr "התוסף לא עבד כמצופה"
|
697 |
+
|
698 |
+
#: includes/i18n.php:417
|
699 |
+
msgid "What feature?"
|
700 |
+
msgstr "איזה פיטצ'ר?"
|
701 |
+
|
702 |
+
#: includes/i18n.php:419
|
703 |
+
msgid "Kindly share what didn't work so we can fix it for future users..."
|
704 |
+
msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
|
705 |
+
|
706 |
+
#: includes/i18n.php:423
|
707 |
+
msgid "What you've been looking for?"
|
708 |
+
msgstr "מה חיפשת?"
|
709 |
+
|
710 |
+
#: includes/i18n.php:425
|
711 |
+
msgid "What did you expect?"
|
712 |
+
msgstr "למה ציפית?"
|
713 |
+
|
714 |
+
#: includes/i18n.php:427
|
715 |
+
msgid "The plugin didn't work"
|
716 |
+
msgstr "התוסף לא עבד"
|
717 |
+
|
718 |
+
#: includes/i18n.php:429
|
719 |
+
msgid "I don't like to share my information with you"
|
720 |
+
msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
|
721 |
+
|
722 |
+
#: includes/i18n.php:431
|
723 |
+
msgid ""
|
724 |
+
"You might have missed it, but you don't have to share any data and can just "
|
725 |
+
"%s the opt-in."
|
726 |
+
msgstr "אולי פספסת את זה אבל אינך חייב\\ת לשתף כל מידע איתנו, ביכולתך %s על שיתוף המידע."
|
727 |
+
|
728 |
+
#: includes/i18n.php:441
|
729 |
+
msgctxt "greeting"
|
730 |
+
msgid "Hey %s,"
|
731 |
+
msgstr "היי %s,"
|
732 |
+
|
733 |
+
#: includes/i18n.php:443
|
734 |
+
msgctxt "a greeting. E.g. Thanks John!"
|
735 |
+
msgid "Thanks %s!"
|
736 |
+
msgstr "תודה %s!"
|
737 |
+
|
738 |
+
#: includes/i18n.php:445
|
739 |
+
msgid ""
|
740 |
+
"Never miss an important update - opt-in to our security and feature updates "
|
741 |
+
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
742 |
+
msgstr ""
|
743 |
+
|
744 |
+
#: includes/i18n.php:449
|
745 |
+
msgid ""
|
746 |
+
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
747 |
+
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
748 |
+
"work just fine."
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: includes/i18n.php:453
|
752 |
+
msgid ""
|
753 |
+
"You should receive an activation email for %s to your mailbox at %s. Please "
|
754 |
+
"make sure you click the activation button in that email to %s."
|
755 |
+
msgstr ""
|
756 |
+
|
757 |
+
#: includes/i18n.php:455
|
758 |
+
msgid "complete the install"
|
759 |
+
msgstr ""
|
760 |
+
|
761 |
+
#: includes/i18n.php:457
|
762 |
+
msgid "start the trial"
|
763 |
+
msgstr ""
|
764 |
+
|
765 |
+
#: includes/i18n.php:459
|
766 |
+
msgid ""
|
767 |
+
"Thanks for purchasing %s! To get started, please enter your license key:"
|
768 |
+
msgstr ""
|
769 |
+
|
770 |
+
#: includes/i18n.php:463
|
771 |
+
msgid ""
|
772 |
+
"The plugin will be periodically sending data to %s to check for plugin "
|
773 |
+
"updates and verify the validity of your license."
|
774 |
+
msgstr ""
|
775 |
+
|
776 |
+
#: includes/i18n.php:467
|
777 |
+
msgid "What permissions are being granted?"
|
778 |
+
msgstr "מהן ההרשאות המוענקות?"
|
779 |
+
|
780 |
+
#: includes/i18n.php:469
|
781 |
+
msgid "Your Profile Overview"
|
782 |
+
msgstr "פרטים כלליים על הפרופיל"
|
783 |
+
|
784 |
+
#: includes/i18n.php:471
|
785 |
+
msgid "Name and email address"
|
786 |
+
msgstr "שם וכתובת דו\"אל"
|
787 |
+
|
788 |
+
#: includes/i18n.php:473
|
789 |
+
msgid "Your Site Overview"
|
790 |
+
msgstr "פרטים כלליים על האתר"
|
791 |
+
|
792 |
+
#: includes/i18n.php:475
|
793 |
+
msgid "Site URL, WP version, PHP info, plugins & themes"
|
794 |
+
msgstr "כתובת אתר, גרסת וורדפרס, פרטי PHP, תוספים ותבניות"
|
795 |
+
|
796 |
+
#: includes/i18n.php:479
|
797 |
+
msgid "Current Plugin Events"
|
798 |
+
msgstr "שינויי מצב בתוסף הנוכחי"
|
799 |
+
|
800 |
+
#: includes/i18n.php:481
|
801 |
+
msgid "Activation, deactivation and uninstall"
|
802 |
+
msgstr "הפעלה, כיבוי והסרה"
|
803 |
+
|
804 |
+
#: includes/i18n.php:483
|
805 |
+
msgid "Plugins & Themes"
|
806 |
+
msgstr "תוספים ותבניות"
|
807 |
+
|
808 |
+
#: includes/i18n.php:485
|
809 |
+
msgid "Titles, versions and state."
|
810 |
+
msgstr "שמות, גרסאות וסטאטוס."
|
811 |
+
|
812 |
+
#: includes/i18n.php:487
|
813 |
+
msgid "Admin Notices"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: includes/i18n.php:489
|
817 |
+
msgid "Newsletter"
|
818 |
+
msgstr "ניוסלטר"
|
819 |
+
|
820 |
+
#: includes/i18n.php:491
|
821 |
+
msgid "Updates, announcements, marketing, no spam"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: includes/i18n.php:493
|
825 |
+
msgid "Privacy Policy"
|
826 |
+
msgstr "מדיניות פרטיות"
|
827 |
+
|
828 |
+
#: includes/i18n.php:495
|
829 |
+
msgid "Terms of Service"
|
830 |
+
msgstr "תנאי השירות"
|
831 |
+
|
832 |
+
#: includes/i18n.php:497
|
833 |
+
msgctxt "as activating plugin"
|
834 |
+
msgid "Activating"
|
835 |
+
msgstr "מפעיל"
|
836 |
+
|
837 |
+
#: includes/i18n.php:499
|
838 |
+
msgctxt "as in the process of sending an email"
|
839 |
+
msgid "Sending email"
|
840 |
+
msgstr "שולח דוא\"ל"
|
841 |
+
|
842 |
+
#: includes/i18n.php:503
|
843 |
+
msgctxt "button label"
|
844 |
+
msgid "Allow & Continue"
|
845 |
+
msgstr "אפשר\\י והמשכ\\י"
|
846 |
+
|
847 |
+
#: includes/i18n.php:505
|
848 |
+
msgctxt "button label"
|
849 |
+
msgid "Agree & Activate License"
|
850 |
+
msgstr "הסכמה והפעלת רישיון"
|
851 |
+
|
852 |
+
#: includes/i18n.php:507
|
853 |
+
msgctxt "verb"
|
854 |
+
msgid "Skip"
|
855 |
+
msgstr "דלג"
|
856 |
+
|
857 |
+
#: includes/i18n.php:509
|
858 |
+
msgid "Click here to use the plugin anonymously"
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: includes/i18n.php:511
|
862 |
+
msgid "Re-send activation email"
|
863 |
+
msgstr "שליחה חוזרת של מייל האקטיבציה"
|
864 |
+
|
865 |
+
#: includes/i18n.php:513
|
866 |
+
msgid "License key"
|
867 |
+
msgstr "מפתח רישיון"
|
868 |
+
|
869 |
+
#: includes/i18n.php:515
|
870 |
+
msgid "Send License Key"
|
871 |
+
msgstr "שליחת מפתח רישיון"
|
872 |
+
|
873 |
+
#: includes/i18n.php:517
|
874 |
+
msgid "Sending license key"
|
875 |
+
msgstr "שולח מפתח רישיון"
|
876 |
+
|
877 |
+
#: includes/i18n.php:519
|
878 |
+
msgid "Have a license key?"
|
879 |
+
msgstr "האם ברשותך רישיון?"
|
880 |
+
|
881 |
+
#: includes/i18n.php:521
|
882 |
+
msgid "Don't have a license key?"
|
883 |
+
msgstr "האם אין ברשותך מפתח רישיון?"
|
884 |
+
|
885 |
+
#: includes/i18n.php:523
|
886 |
+
msgid "Can't find your license key?"
|
887 |
+
msgstr "האם אינך מוצא את מפתח הרישיון?"
|
888 |
+
|
889 |
+
#: includes/i18n.php:525
|
890 |
+
msgid ""
|
891 |
+
"We couldn't find your email address in the system, are you sure it's the "
|
892 |
+
"right address?"
|
893 |
+
msgstr ""
|
894 |
+
|
895 |
+
#: includes/i18n.php:529
|
896 |
+
msgid ""
|
897 |
+
"We can't see any active licenses associated with that email address, are you"
|
898 |
+
" sure it's the right address?"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: includes/i18n.php:533
|
902 |
+
msgid "Opt In"
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: includes/i18n.php:535
|
906 |
+
msgid "Opt Out"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: includes/i18n.php:537
|
910 |
+
msgid "On second thought - I want to continue helping"
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: includes/i18n.php:541
|
914 |
+
msgid "Opting out..."
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: includes/i18n.php:543
|
918 |
+
msgid "Opting in..."
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: includes/i18n.php:545
|
922 |
+
msgid ""
|
923 |
+
"We appreciate your help in making the %s better by letting us track some "
|
924 |
+
"usage data."
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: includes/i18n.php:549
|
928 |
+
msgid ""
|
929 |
+
"Usage tracking is done in the name of making %s better. Making a better user"
|
930 |
+
" experience, prioritizing new features, and more good things. We'd really "
|
931 |
+
"appreciate if you'll reconsider letting us continue with the tracking."
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: includes/i18n.php:553
|
935 |
+
msgid ""
|
936 |
+
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
937 |
+
"%s."
|
938 |
+
msgstr ""
|
939 |
+
|
940 |
+
#: includes/i18n.php:563
|
941 |
+
msgid "Screenshots"
|
942 |
+
msgstr "צילומי מסך"
|
943 |
+
|
944 |
+
#: includes/i18n.php:565
|
945 |
+
msgid "Click to view full-size screenshot %d"
|
946 |
+
msgstr ""
|
947 |
+
|
948 |
+
#: includes/i18n.php:573
|
949 |
+
msgid "Freemius Debug"
|
950 |
+
msgstr ""
|
951 |
+
|
952 |
+
#: includes/i18n.php:575
|
953 |
+
msgctxt "as turned on"
|
954 |
+
msgid "On"
|
955 |
+
msgstr "דלוק"
|
956 |
+
|
957 |
+
#: includes/i18n.php:577
|
958 |
+
msgctxt "as turned off"
|
959 |
+
msgid "Off"
|
960 |
+
msgstr "כבוי"
|
961 |
+
|
962 |
+
#: includes/i18n.php:579
|
963 |
+
msgctxt "as code debugging"
|
964 |
+
msgid "Debugging"
|
965 |
+
msgstr "דיבוג"
|
966 |
+
|
967 |
+
#: includes/i18n.php:581
|
968 |
+
msgid "Freemius State"
|
969 |
+
msgstr ""
|
970 |
+
|
971 |
+
#: includes/i18n.php:583
|
972 |
+
msgctxt "as connection was successful"
|
973 |
+
msgid "Connected"
|
974 |
+
msgstr "מחובר"
|
975 |
+
|
976 |
+
#: includes/i18n.php:585
|
977 |
+
msgctxt "as connection blocked"
|
978 |
+
msgid "Blocked"
|
979 |
+
msgstr "חסום"
|
980 |
+
|
981 |
+
#: includes/i18n.php:587
|
982 |
+
msgctxt "as application program interface"
|
983 |
+
msgid "API"
|
984 |
+
msgstr "API"
|
985 |
+
|
986 |
+
#: includes/i18n.php:589
|
987 |
+
msgctxt "as software development kit versions"
|
988 |
+
msgid "SDK"
|
989 |
+
msgstr "SDK"
|
990 |
+
|
991 |
+
#: includes/i18n.php:591
|
992 |
+
msgctxt "as software development kit versions"
|
993 |
+
msgid "SDK Versions"
|
994 |
+
msgstr "גרסאות SDK"
|
995 |
+
|
996 |
+
#: includes/i18n.php:595
|
997 |
+
msgctxt "as plugin folder path"
|
998 |
+
msgid "Plugin Path"
|
999 |
+
msgstr ""
|
1000 |
+
|
1001 |
+
#: includes/i18n.php:597
|
1002 |
+
msgctxt "as sdk path"
|
1003 |
+
msgid "SDK Path"
|
1004 |
+
msgstr "מיקום SDK"
|
1005 |
+
|
1006 |
+
#: includes/i18n.php:599
|
1007 |
+
msgid "Add Ons of Plugin %s"
|
1008 |
+
msgstr ""
|
1009 |
+
|
1010 |
+
#: includes/i18n.php:601
|
1011 |
+
msgid "Are you sure you want to delete all Freemius data?"
|
1012 |
+
msgstr ""
|
1013 |
+
|
1014 |
+
#: includes/i18n.php:605
|
1015 |
+
msgid "Actions"
|
1016 |
+
msgstr "פעולות"
|
1017 |
+
|
1018 |
+
#: includes/i18n.php:607
|
1019 |
+
msgid "Delete All Accounts"
|
1020 |
+
msgstr "מחיקת כל החשבונות"
|
1021 |
+
|
1022 |
+
#: includes/i18n.php:609
|
1023 |
+
msgid "Start Fresh"
|
1024 |
+
msgstr "התחל מחדש"
|
1025 |
+
|
1026 |
+
#: includes/i18n.php:611
|
1027 |
+
msgid "Clear API Cache"
|
1028 |
+
msgstr "ניקוי מטמון ה-API"
|
1029 |
+
|
1030 |
+
#: includes/i18n.php:613
|
1031 |
+
msgid "Sync Data From Server"
|
1032 |
+
msgstr "סנכרון מידע מהשרת"
|
1033 |
+
|
1034 |
+
#: includes/i18n.php:615
|
1035 |
+
msgid "Scheduled Crons"
|
1036 |
+
msgstr ""
|
1037 |
+
|
1038 |
+
#: includes/i18n.php:617
|
1039 |
+
msgid "Plugins & Themes Sync"
|
1040 |
+
msgstr ""
|
1041 |
+
|
1042 |
+
#: includes/i18n.php:625
|
1043 |
+
msgctxt "as congratulations"
|
1044 |
+
msgid "Congrats"
|
1045 |
+
msgstr "מזל טוב"
|
1046 |
+
|
1047 |
+
#: includes/i18n.php:627
|
1048 |
+
msgctxt "exclamation"
|
1049 |
+
msgid "Oops"
|
1050 |
+
msgstr "אופס"
|
1051 |
+
|
1052 |
+
#: includes/i18n.php:629
|
1053 |
+
msgctxt "interjection expressing joy or exuberance"
|
1054 |
+
msgid "Yee-haw"
|
1055 |
+
msgstr ""
|
1056 |
+
|
1057 |
+
#: includes/i18n.php:633
|
1058 |
+
msgctxt ""
|
1059 |
+
"(especially in electronic communication) used to express elation, "
|
1060 |
+
"enthusiasm, or triumph."
|
1061 |
+
msgid "W00t"
|
1062 |
+
msgstr ""
|
1063 |
+
|
1064 |
+
#: includes/i18n.php:637
|
1065 |
+
msgctxt "a positive response"
|
1066 |
+
msgid "Right on"
|
1067 |
+
msgstr ""
|
1068 |
+
|
1069 |
+
#: includes/i18n.php:639
|
1070 |
+
msgctxt ""
|
1071 |
+
"something somebody says when they are thinking about what you have just "
|
1072 |
+
"said. "
|
1073 |
+
msgid "Hmm"
|
1074 |
+
msgstr "הממ"
|
1075 |
+
|
1076 |
+
#: includes/i18n.php:643
|
1077 |
+
msgid "O.K"
|
1078 |
+
msgstr "אוקיי"
|
1079 |
+
|
1080 |
+
#: includes/i18n.php:645
|
1081 |
+
msgctxt "exclamation"
|
1082 |
+
msgid "Hey"
|
1083 |
+
msgstr "היי"
|
1084 |
+
|
1085 |
+
#: includes/i18n.php:647
|
1086 |
+
msgctxt "advance notice of something that will need attention."
|
1087 |
+
msgid "Heads up"
|
1088 |
+
msgstr "לתשמות לבך"
|
1089 |
+
|
1090 |
+
#: includes/i18n.php:657
|
1091 |
+
msgid "Seems like you got the latest release."
|
1092 |
+
msgstr ""
|
1093 |
+
|
1094 |
+
#: includes/i18n.php:659
|
1095 |
+
msgid "You are all good!"
|
1096 |
+
msgstr "את\\ה מסודר!"
|
1097 |
+
|
1098 |
+
#: includes/i18n.php:661
|
1099 |
+
msgid ""
|
1100 |
+
"Sorry, we could not complete the email update. Another user with the same "
|
1101 |
+
"email is already registered."
|
1102 |
+
msgstr ""
|
1103 |
+
|
1104 |
+
#: includes/i18n.php:665
|
1105 |
+
msgid ""
|
1106 |
+
"If you would like to give up the ownership of the plugin's account to %s "
|
1107 |
+
"click the Change Ownership button."
|
1108 |
+
msgstr ""
|
1109 |
+
|
1110 |
+
#: includes/i18n.php:669
|
1111 |
+
msgid ""
|
1112 |
+
"Your email was successfully updated. You should receive an email with "
|
1113 |
+
"confirmation instructions in few moments."
|
1114 |
+
msgstr ""
|
1115 |
+
|
1116 |
+
#: includes/i18n.php:673
|
1117 |
+
msgid "Your name was successfully updated."
|
1118 |
+
msgstr "שמך עודכן בהצלחה."
|
1119 |
+
|
1120 |
+
#: includes/i18n.php:675
|
1121 |
+
msgid "You have successfully updated your %s."
|
1122 |
+
msgstr ""
|
1123 |
+
|
1124 |
+
#: includes/i18n.php:677
|
1125 |
+
msgid "Please provide your full name."
|
1126 |
+
msgstr "נא למלא את שמך המלא."
|
1127 |
+
|
1128 |
+
#: includes/i18n.php:679
|
1129 |
+
msgid ""
|
1130 |
+
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1131 |
+
"please check your spam box."
|
1132 |
+
msgstr ""
|
1133 |
+
|
1134 |
+
#: includes/i18n.php:683
|
1135 |
+
msgid ""
|
1136 |
+
"Just letting you know that the add-ons information of %s is being pulled "
|
1137 |
+
"from an external server."
|
1138 |
+
msgstr ""
|
1139 |
+
|
1140 |
+
#: includes/i18n.php:687
|
1141 |
+
msgid "No credit card required"
|
1142 |
+
msgstr "לא נדרש כרטיס אשראי"
|
1143 |
+
|
1144 |
+
#: includes/i18n.php:689
|
1145 |
+
msgid "Premium plugin version was successfully activated."
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: includes/i18n.php:693
|
1149 |
+
msgid "The upgrade of %s was successfully completed."
|
1150 |
+
msgstr ""
|
1151 |
+
|
1152 |
+
#: includes/i18n.php:695
|
1153 |
+
msgid "Your account was successfully activated with the %s plan."
|
1154 |
+
msgstr "חשבונך הופעל בהצלחה עם חבילת ה-%s."
|
1155 |
+
|
1156 |
+
#: includes/i18n.php:699
|
1157 |
+
msgid "Download the latest %s version now"
|
1158 |
+
msgstr "הורדת גרסת ה-%s העדכנית - עכשיו"
|
1159 |
+
|
1160 |
+
#: includes/i18n.php:701
|
1161 |
+
msgid "Please follow these steps to complete the upgrade"
|
1162 |
+
msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
|
1163 |
+
|
1164 |
+
#: includes/i18n.php:705
|
1165 |
+
msgid "Download the latest %s version"
|
1166 |
+
msgstr "הורד\\י את גרסת ה-%s העדכנית"
|
1167 |
+
|
1168 |
+
#: includes/i18n.php:707
|
1169 |
+
msgid "Deactivate the free version"
|
1170 |
+
msgstr "כבה\\י את הגרסה החינאמית"
|
1171 |
+
|
1172 |
+
#: includes/i18n.php:709
|
1173 |
+
msgid "Upload and activate the downloaded version"
|
1174 |
+
msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
|
1175 |
+
|
1176 |
+
#: includes/i18n.php:711
|
1177 |
+
msgid "How to upload and activate?"
|
1178 |
+
msgstr "איך להעלות ולהפעיל?"
|
1179 |
+
|
1180 |
+
#: includes/i18n.php:713
|
1181 |
+
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1182 |
+
msgid "%s Add-on was successfully purchased."
|
1183 |
+
msgstr ""
|
1184 |
+
|
1185 |
+
#: includes/i18n.php:717
|
1186 |
+
msgid "Your %s Add-on plan was successfully upgraded."
|
1187 |
+
msgstr ""
|
1188 |
+
|
1189 |
+
#: includes/i18n.php:721
|
1190 |
+
msgid "Your email has been successfully verified - you are AWESOME!"
|
1191 |
+
msgstr ""
|
1192 |
+
|
1193 |
+
#: includes/i18n.php:725
|
1194 |
+
msgid "Your plan was successfully upgraded."
|
1195 |
+
msgstr "החבילה הופעלה בהצלחה."
|
1196 |
+
|
1197 |
+
#: includes/i18n.php:727
|
1198 |
+
msgid "Your plan was successfully changed to %s."
|
1199 |
+
msgstr ""
|
1200 |
+
|
1201 |
+
#: includes/i18n.php:729
|
1202 |
+
msgid ""
|
1203 |
+
"Your license has expired. You can still continue using the free plugin "
|
1204 |
+
"forever."
|
1205 |
+
msgstr "פג תוקפו של הרישיון. עדיין ניתן להמשיך להשתמש בגרסה החינאמית של התוסף ללא מגבלת זמן."
|
1206 |
+
|
1207 |
+
#: includes/i18n.php:733
|
1208 |
+
msgid ""
|
1209 |
+
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1210 |
+
" support."
|
1211 |
+
msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
|
1212 |
+
|
1213 |
+
#: includes/i18n.php:737
|
1214 |
+
msgid "Your trial has been successfully started."
|
1215 |
+
msgstr "הניסיון שלך הופעל בהצלחה."
|
1216 |
+
|
1217 |
+
#: includes/i18n.php:739
|
1218 |
+
msgid "Your license was successfully activated."
|
1219 |
+
msgstr "הרישיון הופעל בהצלחה."
|
1220 |
+
|
1221 |
+
#: includes/i18n.php:741
|
1222 |
+
msgid "It looks like your site currently doesn't have an active license."
|
1223 |
+
msgstr "נראה לאתר עדיין אין רישיון פעיל."
|
1224 |
+
|
1225 |
+
#: includes/i18n.php:745
|
1226 |
+
msgid ""
|
1227 |
+
"Your license was successfully deactivated, you are back to the %s plan."
|
1228 |
+
msgstr "רישיונך נותק בהצלחה, חזרת לחבילת ה-%s"
|
1229 |
+
|
1230 |
+
#: includes/i18n.php:749
|
1231 |
+
msgid "It looks like the license deactivation failed."
|
1232 |
+
msgstr "נראה שניתוק הרישיון נכשל."
|
1233 |
+
|
1234 |
+
#: includes/i18n.php:753
|
1235 |
+
msgid "It looks like the license could not be activated."
|
1236 |
+
msgstr "נראה שלא ניתן להפעיל את הרישיון."
|
1237 |
+
|
1238 |
+
#: includes/i18n.php:757
|
1239 |
+
msgid "Error received from the server:"
|
1240 |
+
msgstr "הוחזרה שגיאה מהשרת:"
|
1241 |
+
|
1242 |
+
#: includes/i18n.php:759
|
1243 |
+
msgid ""
|
1244 |
+
"Your trial has expired. You can still continue using all our free features."
|
1245 |
+
msgstr "תקופת הניסיון נגמרה. ביכולתך להמשיך להשתמש בכל הפיטצ'רים החינאמיים."
|
1246 |
+
|
1247 |
+
#: includes/i18n.php:763
|
1248 |
+
msgid ""
|
1249 |
+
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1250 |
+
"%s."
|
1251 |
+
msgstr ""
|
1252 |
+
|
1253 |
+
#: includes/i18n.php:767
|
1254 |
+
msgid ""
|
1255 |
+
"Seems like we are having some temporary issue with your plan downgrade. "
|
1256 |
+
"Please try again in few minutes."
|
1257 |
+
msgstr ""
|
1258 |
+
|
1259 |
+
#: includes/i18n.php:771
|
1260 |
+
msgid ""
|
1261 |
+
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1262 |
+
" :)"
|
1263 |
+
msgstr ""
|
1264 |
+
|
1265 |
+
#: includes/i18n.php:775
|
1266 |
+
msgid "Your %s free trial was successfully cancelled."
|
1267 |
+
msgstr ""
|
1268 |
+
|
1269 |
+
#: includes/i18n.php:779
|
1270 |
+
msgctxt "%s - numeric version number"
|
1271 |
+
msgid "Version %s was released."
|
1272 |
+
msgstr "גרסה %s הושקה."
|
1273 |
+
|
1274 |
+
#: includes/i18n.php:783
|
1275 |
+
msgid "Please download %s."
|
1276 |
+
msgstr ""
|
1277 |
+
|
1278 |
+
#: includes/i18n.php:785
|
1279 |
+
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
+
msgid "the latest %s version here"
|
1281 |
+
msgstr "גרסת ה-%s האחרונה כאן"
|
1282 |
+
|
1283 |
+
#: includes/i18n.php:789
|
1284 |
+
msgid ""
|
1285 |
+
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1286 |
+
"free trial."
|
1287 |
+
msgstr ""
|
1288 |
+
|
1289 |
+
#: includes/i18n.php:793
|
1290 |
+
msgctxt "call to action"
|
1291 |
+
msgid "Start free trial"
|
1292 |
+
msgstr "התחלת ניסיון חינם"
|
1293 |
+
|
1294 |
+
#: includes/i18n.php:795
|
1295 |
+
msgid "Starting trial"
|
1296 |
+
msgstr ""
|
1297 |
+
|
1298 |
+
#: includes/i18n.php:797
|
1299 |
+
msgid "Please wait"
|
1300 |
+
msgstr ""
|
1301 |
+
|
1302 |
+
#: includes/i18n.php:799
|
1303 |
+
msgid ""
|
1304 |
+
"Seems like we are having some temporary issue with your trial cancellation. "
|
1305 |
+
"Please try again in few minutes."
|
1306 |
+
msgstr ""
|
1307 |
+
|
1308 |
+
#: includes/i18n.php:803
|
1309 |
+
msgid "You already utilized a trial before."
|
1310 |
+
msgstr "הניסיון כבר נוצל בעבר."
|
1311 |
+
|
1312 |
+
#: includes/i18n.php:805
|
1313 |
+
msgid "You are already running the plugin in a trial mode."
|
1314 |
+
msgstr "התוסף כבר עכשיו בתקופת ניסיון."
|
1315 |
+
|
1316 |
+
#: includes/i18n.php:809
|
1317 |
+
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
+
msgstr ""
|
1319 |
+
|
1320 |
+
#: includes/i18n.php:813
|
1321 |
+
msgid "Plan %s does not support a trial period."
|
1322 |
+
msgstr ""
|
1323 |
+
|
1324 |
+
#: includes/i18n.php:815
|
1325 |
+
msgid "None of the plugin's plans supports a trial period."
|
1326 |
+
msgstr "אף אחת מחבילות התוסף מאפשרת תקופת ניסיון."
|
1327 |
+
|
1328 |
+
#: includes/i18n.php:819
|
1329 |
+
msgid ""
|
1330 |
+
"Unexpected API error. Please contact the plugin's author with the following "
|
1331 |
+
"error."
|
1332 |
+
msgstr "שגיאת API בלתי צפוייה. נא לפנות למפתח התוסף עם השגיאה הבאה."
|
1333 |
+
|
1334 |
+
#: includes/i18n.php:823
|
1335 |
+
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
+
msgstr ""
|
1337 |
+
|
1338 |
+
#: includes/i18n.php:825
|
1339 |
+
msgid ""
|
1340 |
+
"Your license has expired. You can still continue using all the %s features, "
|
1341 |
+
"but you'll need to renew your license to continue getting updates and "
|
1342 |
+
"support."
|
1343 |
+
msgstr ""
|
1344 |
+
|
1345 |
+
#: includes/i18n.php:829
|
1346 |
+
msgid "Couldn't activate %s."
|
1347 |
+
msgstr ""
|
1348 |
+
|
1349 |
+
#: includes/i18n.php:831
|
1350 |
+
msgid "Please contact us with the following message:"
|
1351 |
+
msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
|
1352 |
+
|
1353 |
+
#: includes/i18n.php:833
|
1354 |
+
msgid ""
|
1355 |
+
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1356 |
+
"your plan, it's probably an issue on our side - sorry."
|
1357 |
+
msgstr ""
|
1358 |
+
|
1359 |
+
#: includes/i18n.php:837
|
1360 |
+
msgid "Please contact us here"
|
1361 |
+
msgstr "אנא צור איתנו קשר כאן"
|
1362 |
+
|
1363 |
+
#: includes/i18n.php:839
|
1364 |
+
msgid ""
|
1365 |
+
"I have upgraded my account but when I try to Sync the License, the plan "
|
1366 |
+
"remains %s."
|
1367 |
+
msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s"
|
1368 |
+
|
1369 |
+
#: includes/i18n.php:847
|
1370 |
+
msgid "From unknown reason, the API connectivity test failed."
|
1371 |
+
msgstr "יש בעיית תקשורת ל-API מסיבה בלתי ברורה."
|
1372 |
+
|
1373 |
+
#: includes/i18n.php:851
|
1374 |
+
msgid ""
|
1375 |
+
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1376 |
+
"permission, would it be o.k to run another connectivity test?"
|
1377 |
+
msgstr "ככל הנראה זאת בעיה זמנית בצד שלנו. ברשותך, ורק כדי להיות בטוחים שזאת הבעיה, האם זה יהיה בסדר לבצע בדיקת תקשורת נוספת?"
|
1378 |
+
|
1379 |
+
#: includes/i18n.php:855
|
1380 |
+
msgid ""
|
1381 |
+
"We use PHP cURL library for the API calls, which is a very common library "
|
1382 |
+
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1383 |
+
"on your server."
|
1384 |
+
msgstr ""
|
1385 |
+
|
1386 |
+
#: includes/i18n.php:859
|
1387 |
+
msgid ""
|
1388 |
+
"From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1389 |
+
msgstr "מסיבה בלתי ברורה, CloudFlare, חומת האש שאנחנו משתמשים בה, חוסמת את התקשורת."
|
1390 |
+
|
1391 |
+
#: includes/i18n.php:863
|
1392 |
+
msgctxt "as pluginX requires an access to our API"
|
1393 |
+
msgid "%s requires an access to our API."
|
1394 |
+
msgstr "%s מחייב גישה ל-API שלנו."
|
1395 |
+
|
1396 |
+
#: includes/i18n.php:867
|
1397 |
+
msgid ""
|
1398 |
+
"It looks like your server is using Squid ACL (access control lists), which "
|
1399 |
+
"blocks the connection."
|
1400 |
+
msgstr ""
|
1401 |
+
|
1402 |
+
#: includes/i18n.php:871
|
1403 |
+
msgid "I don't know what is Squid or ACL, help me!"
|
1404 |
+
msgstr "אין לי מושג מה זה Squid או ACL - אשמח לעזרה!"
|
1405 |
+
|
1406 |
+
#: includes/i18n.php873, includes/i18n.php:887
|
1407 |
+
msgid ""
|
1408 |
+
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1409 |
+
"will get a follow-up email to %s once we have an update."
|
1410 |
+
msgstr ""
|
1411 |
+
|
1412 |
+
#: includes/i18n.php:877
|
1413 |
+
msgid "I'm a system administrator"
|
1414 |
+
msgstr ""
|
1415 |
+
|
1416 |
+
#: includes/i18n.php:879
|
1417 |
+
msgid ""
|
1418 |
+
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1419 |
+
" the plugin and activate it again."
|
1420 |
+
msgstr ""
|
1421 |
+
|
1422 |
+
#: includes/i18n.php:883
|
1423 |
+
msgid "I don't know what is cURL or how to install it, help me!"
|
1424 |
+
msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
|
1425 |
+
|
1426 |
+
#: includes/i18n.php:891
|
1427 |
+
msgid ""
|
1428 |
+
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1429 |
+
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1430 |
+
"the plugin and reactivate it back again."
|
1431 |
+
msgstr ""
|
1432 |
+
|
1433 |
+
#: includes/i18n.php:895
|
1434 |
+
msgid ""
|
1435 |
+
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1436 |
+
"you ASAP if you give us a chance."
|
1437 |
+
msgstr "זו בטח בעיה בצד שלנו ואנחנו נשמח לעזור כדי לפתור את העניין בהקדם האפשר, רק במידה ותאפשר\\י זאת."
|
1438 |
+
|
1439 |
+
#: includes/i18n.php:899
|
1440 |
+
msgid ""
|
1441 |
+
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1442 |
+
msgstr "מצטערים על חוסר הנעימות, אנחנו כאן כדי לעזור אם תאפשר\\י זאת."
|
1443 |
+
|
1444 |
+
#: includes/i18n.php:903
|
1445 |
+
msgid "Yes - I'm giving you a chance to fix it"
|
1446 |
+
msgstr "כן - אני נותן לך צ'אנס לתקן את זה"
|
1447 |
+
|
1448 |
+
#: includes/i18n.php:905
|
1449 |
+
msgid ""
|
1450 |
+
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1451 |
+
"You will get a follow-up email to %s once we have an update."
|
1452 |
+
msgstr ""
|
1453 |
+
|
1454 |
+
#: includes/i18n.php:909
|
1455 |
+
msgid "Let's try your previous version"
|
1456 |
+
msgstr "בוא ננסה את הגירסה הקודמת"
|
1457 |
+
|
1458 |
+
#: includes/i18n.php:911
|
1459 |
+
msgid "Uninstall this version and install the previous one."
|
1460 |
+
msgstr "הסר את הגרסה הנוכחית והתקן את הגרסה קודמת."
|
1461 |
+
|
1462 |
+
#: includes/i18n.php:915
|
1463 |
+
msgid "That's exhausting, please deactivate"
|
1464 |
+
msgstr "זה מתיש, אנא לכבות"
|
1465 |
+
|
1466 |
+
#: includes/i18n.php:917
|
1467 |
+
msgid ""
|
1468 |
+
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1469 |
+
" to see you again in the future."
|
1470 |
+
msgstr ""
|
1471 |
+
|
1472 |
+
#: includes/i18n.php:921
|
1473 |
+
msgid ""
|
1474 |
+
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1475 |
+
"technical staff. We will get back to you as soon as we have an update to %s."
|
1476 |
+
" Appreciate your patience."
|
1477 |
+
msgstr ""
|
1478 |
+
|
1479 |
+
#: includes/i18n.php:925
|
1480 |
+
msgctxt "%1s - plugin title, %2s - API domain"
|
1481 |
+
msgid ""
|
1482 |
+
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1483 |
+
"%1s synchronization. Please contact your host to whitelist %2s"
|
1484 |
+
msgstr ""
|
1485 |
+
|
1486 |
+
#: includes/i18n.php:929
|
1487 |
+
msgid ""
|
1488 |
+
"It seems like one of the authentication parameters is wrong. Update your "
|
1489 |
+
"Public Key, Secret Key & User ID, and try again."
|
1490 |
+
msgstr ""
|
1491 |
+
|
1492 |
+
#: includes/i18n.php:937
|
1493 |
+
msgid ""
|
1494 |
+
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1495 |
+
" ownership change. From security reasons, you must confirm the change within"
|
1496 |
+
" the next 15 min. If you cannot find the email, please check your spam "
|
1497 |
+
"folder."
|
1498 |
+
msgstr ""
|
1499 |
+
|
1500 |
+
#: includes/i18n.php:941
|
1501 |
+
msgid ""
|
1502 |
+
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1503 |
+
" final approval."
|
1504 |
+
msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
|
1505 |
+
|
1506 |
+
#: includes/i18n.php:945
|
1507 |
+
msgid "%s is the new owner of the account."
|
1508 |
+
msgstr "%s הינו הבעלים החד של חשבון זה."
|
1509 |
+
|
1510 |
+
#: includes/i18n.php:949
|
1511 |
+
msgctxt "addonX cannot run without pluginY"
|
1512 |
+
msgid "%s cannot run without %s."
|
1513 |
+
msgstr "%s לא יכול לעבוד ללא %s."
|
1514 |
+
|
1515 |
+
#: includes/i18n.php:953
|
1516 |
+
msgctxt "addonX cannot run..."
|
1517 |
+
msgid "%s cannot run without the plugin."
|
1518 |
+
msgstr ""
|
1519 |
+
|
1520 |
+
#: includes/i18n.php:957
|
1521 |
+
msgctxt "pluginX activation was successfully..."
|
1522 |
+
msgid "%s activation was successfully completed."
|
1523 |
+
msgstr ""
|
1524 |
+
|
1525 |
+
#: includes/i18n.php:961
|
1526 |
+
msgctxt "Plugin installer section title"
|
1527 |
+
msgid "Features & Pricing"
|
1528 |
+
msgstr "פיטצ'רים ומחירים"
|
1529 |
+
|
1530 |
+
#: includes/i18n.php:965
|
1531 |
+
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1532 |
+
msgstr ""
|
1533 |
+
|
1534 |
+
#: includes/i18n.php:969
|
1535 |
+
msgid "Paid add-on must be deployed to Freemius."
|
1536 |
+
msgstr ""
|
1537 |
+
|
1538 |
+
#: includes/i18n.php:977
|
1539 |
+
msgid ""
|
1540 |
+
"%s is a premium only add-on. You have to purchase a license first before "
|
1541 |
+
"activating the plugin."
|
1542 |
+
msgstr ""
|
1543 |
+
|
1544 |
+
#: includes/i18n.php:981
|
1545 |
+
msgid ""
|
1546 |
+
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1547 |
+
"it was automatically deactivated. If you like to use it in the future, "
|
1548 |
+
"you'll have to purchase a license."
|
1549 |
+
msgstr ""
|
1550 |
+
|
1551 |
+
#: includes/i18n.php:993
|
1552 |
+
msgctxt "as every month"
|
1553 |
+
msgid "Monthly"
|
1554 |
+
msgstr "חודשי"
|
1555 |
+
|
1556 |
+
#: includes/i18n.php:995
|
1557 |
+
msgctxt "as monthly period"
|
1558 |
+
msgid "mo"
|
1559 |
+
msgstr ""
|
1560 |
+
|
1561 |
+
#: includes/i18n.php:997
|
1562 |
+
msgctxt "as once a year"
|
1563 |
+
msgid "Annual"
|
1564 |
+
msgstr "שנתי"
|
1565 |
+
|
1566 |
+
#: includes/i18n.php:999
|
1567 |
+
msgctxt "as once a year"
|
1568 |
+
msgid "Annually"
|
1569 |
+
msgstr "שנתי"
|
1570 |
+
|
1571 |
+
#: includes/i18n.php:1001
|
1572 |
+
msgctxt "as once a year"
|
1573 |
+
msgid "Once"
|
1574 |
+
msgstr "פעם אחת"
|
1575 |
+
|
1576 |
+
#: includes/i18n.php:1003
|
1577 |
+
msgctxt "as annual period"
|
1578 |
+
msgid "year"
|
1579 |
+
msgstr "שנה"
|
1580 |
+
|
1581 |
+
#: includes/i18n.php:1005
|
1582 |
+
msgid "Lifetime"
|
1583 |
+
msgstr "לכל החיים"
|
1584 |
+
|
1585 |
+
#: includes/i18n.php:1007
|
1586 |
+
msgctxt "e.g. the best product"
|
1587 |
+
msgid "Best"
|
1588 |
+
msgstr "הכי טוב"
|
1589 |
+
|
1590 |
+
#: includes/i18n.php:1009
|
1591 |
+
msgctxt "e.g. billed monthly"
|
1592 |
+
msgid "Billed %s"
|
1593 |
+
msgstr "מחוייב על בסיס %s"
|
1594 |
+
|
1595 |
+
#: includes/i18n.php:1011
|
1596 |
+
msgctxt "as a discount of $5 or 10%"
|
1597 |
+
msgid "Save %s"
|
1598 |
+
msgstr "שמירת %s"
|
1599 |
+
|
1600 |
+
#: includes/i18n.php:1015
|
1601 |
+
msgid "View details"
|
1602 |
+
msgstr "פרטים נוספים"
|
1603 |
+
|
1604 |
+
#: includes/i18n.php:1023
|
1605 |
+
msgctxt "button label"
|
1606 |
+
msgid "Approve & Start Trial"
|
1607 |
+
msgstr ""
|
1608 |
+
|
1609 |
+
#: includes/i18n.php:1027
|
1610 |
+
msgid ""
|
1611 |
+
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1612 |
+
"plan."
|
1613 |
+
msgstr ""
|
1614 |
+
|
1615 |
+
#: includes/i18n.php:1031
|
1616 |
+
msgid ""
|
1617 |
+
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1618 |
+
"we ask that you opt-in with your user and non-sensitive site information, "
|
1619 |
+
"allowing the plugin to periodically send data to %s to check for version "
|
1620 |
+
"updates and to validate your trial."
|
1621 |
+
msgstr ""
|
1622 |
+
|
1623 |
+
#: includes/i18n.php:1043
|
1624 |
+
msgid "Business name"
|
1625 |
+
msgstr ""
|
1626 |
+
|
1627 |
+
#: includes/i18n.php:1045
|
1628 |
+
msgid "Tax / VAT ID"
|
1629 |
+
msgstr ""
|
1630 |
+
|
1631 |
+
#: includes/i18n.php:1047
|
1632 |
+
msgid "Address Line %d"
|
1633 |
+
msgstr ""
|
1634 |
+
|
1635 |
+
#: includes/i18n.php:1049
|
1636 |
+
msgid "Country"
|
1637 |
+
msgstr ""
|
1638 |
+
|
1639 |
+
#: includes/i18n.php:1051
|
1640 |
+
msgid "Select Country"
|
1641 |
+
msgstr ""
|
1642 |
+
|
1643 |
+
#: includes/i18n.php:1053
|
1644 |
+
msgid "City"
|
1645 |
+
msgstr ""
|
1646 |
+
|
1647 |
+
#: includes/i18n.php:1055
|
1648 |
+
msgid "Town"
|
1649 |
+
msgstr ""
|
1650 |
+
|
1651 |
+
#: includes/i18n.php:1057
|
1652 |
+
msgid "State"
|
1653 |
+
msgstr ""
|
1654 |
+
|
1655 |
+
#: includes/i18n.php:1059
|
1656 |
+
msgid "Province"
|
1657 |
+
msgstr ""
|
1658 |
+
|
1659 |
+
#: includes/i18n.php:1061
|
1660 |
+
msgid "ZIP / Postal Code"
|
1661 |
+
msgstr ""
|
freemius/languages/freemius-it_IT.mo
CHANGED
Binary file
|
freemius/languages/freemius-it_IT.po
CHANGED
@@ -1,23 +1,28 @@
|
|
1 |
-
#
|
|
|
2 |
# Translators:
|
3 |
-
#
|
4 |
# Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015
|
5 |
-
#
|
|
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
-
"Report-Msgid-Bugs-To: \n"
|
10 |
-
"
|
11 |
-
"
|
12 |
-
"Last-Translator: Alessandro Benassi <plasmax@gmail.com>\n"
|
13 |
"Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
|
|
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
-
"Content-Transfer-Encoding: \n"
|
16 |
"Language: it_IT\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
-
# Copyright (C) 2016 freemius
|
20 |
-
# This file is distributed under the same license as the freemius package.
|
21 |
#: includes/i18n.php41, includes/i18n.php:55
|
22 |
msgid "Yes - I'm in!"
|
23 |
msgstr "Sì, ci sto!"
|
@@ -135,411 +140,421 @@ msgid "Edit"
|
|
135 |
msgstr "Modifica"
|
136 |
|
137 |
#: includes/i18n.php:119
|
|
|
|
|
|
|
|
|
|
|
138 |
msgid "Date"
|
139 |
msgstr "Data"
|
140 |
|
141 |
-
#: includes/i18n.php:
|
142 |
msgid "Amount"
|
143 |
msgstr "Importo"
|
144 |
|
145 |
-
#: includes/i18n.php:
|
146 |
msgid "Invoice"
|
147 |
msgstr "Fattura"
|
148 |
|
149 |
-
#: includes/i18n.php:
|
150 |
msgid "Billing"
|
151 |
msgstr "Fatturazione"
|
152 |
|
153 |
-
#: includes/i18n.php:
|
154 |
msgid "Payments"
|
155 |
msgstr "Pagamenti"
|
156 |
|
157 |
-
#: includes/i18n.php:
|
158 |
msgid "Delete Account"
|
159 |
msgstr "Elimina Account"
|
160 |
|
161 |
-
#: includes/i18n.php:
|
162 |
msgctxt "as close a window"
|
163 |
msgid "Dismiss"
|
164 |
msgstr "Chiudi"
|
165 |
|
166 |
-
#: includes/i18n.php:
|
167 |
msgctxt "as product pricing plan"
|
168 |
msgid "Plan"
|
169 |
msgstr "Piano"
|
170 |
|
171 |
-
#: includes/i18n.php:
|
172 |
msgid "Change Plan"
|
173 |
msgstr "Cambia piano"
|
174 |
|
175 |
-
#: includes/i18n.php:
|
176 |
msgctxt "as download professional version"
|
177 |
msgid "Download %s Version"
|
178 |
msgstr "Scarica la versione %s"
|
179 |
|
180 |
-
#: includes/i18n.php:
|
181 |
msgctxt "as download professional version now"
|
182 |
msgid "Download %s version now"
|
183 |
msgstr "Scarica la versione %s ora"
|
184 |
|
185 |
-
#: includes/i18n.php:
|
186 |
msgctxt "as download latest version"
|
187 |
msgid "Download Latest"
|
188 |
msgstr "Scarica l'ultima versione"
|
189 |
|
190 |
-
#: includes/i18n.php:
|
191 |
msgctxt "E.g. you have a professional license."
|
192 |
msgid "You have a %s license."
|
193 |
msgstr "Hai la licenza %s."
|
194 |
|
195 |
-
#: includes/i18n.php:
|
196 |
msgid "New"
|
197 |
msgstr "Nuovo"
|
198 |
|
199 |
-
#: includes/i18n.php:
|
200 |
msgid "Free"
|
201 |
msgstr "Gratuito"
|
202 |
|
203 |
-
#: includes/i18n.php:
|
204 |
msgctxt "as trial plan"
|
205 |
msgid "Trial"
|
206 |
msgstr "Prova gratuita"
|
207 |
|
208 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
209 |
msgctxt "verb"
|
210 |
msgid "Purchase"
|
211 |
msgstr "Acquisto"
|
212 |
|
213 |
-
#: includes/i18n.php:
|
214 |
msgid "Purchase License"
|
215 |
msgstr "Acquista licenza"
|
216 |
|
217 |
-
#: includes/i18n.php:
|
218 |
msgctxt "verb"
|
219 |
msgid "Buy"
|
220 |
msgstr "Compra"
|
221 |
|
222 |
-
#: includes/i18n.php:
|
223 |
msgid "Buy License"
|
224 |
msgstr "Compra licenza"
|
225 |
|
226 |
-
#: includes/i18n.php:
|
227 |
msgid "Single Site License"
|
228 |
msgstr "Licenza per sito singolo"
|
229 |
|
230 |
-
#: includes/i18n.php:
|
231 |
msgid "Unlimited Licenses"
|
232 |
msgstr "Licenze illimitate"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Up to %s Sites"
|
236 |
msgstr "Fino a %s siti"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "%sRenew your license now%s to access version %s features and support."
|
240 |
msgstr "%sRinnova la tua licenza ora%s per accedere a funzionalità e supporto della versione %s."
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid ""
|
244 |
"Enter the email address you've used for the upgrade below and we will resend"
|
245 |
" you the license key."
|
246 |
msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
|
247 |
|
248 |
-
#: includes/i18n.php:
|
249 |
msgctxt "e.g. Professional Plan"
|
250 |
msgid "%s Plan"
|
251 |
msgstr "Piano %s"
|
252 |
|
253 |
-
#: includes/i18n.php:
|
254 |
msgid "You are just one step away - %s"
|
255 |
msgstr "Sei a un passo dalla fine - %s"
|
256 |
|
257 |
-
#: includes/i18n.php:
|
258 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
259 |
msgid "Complete \"%s\" Activation Now"
|
260 |
msgstr "Completa l'attivazione di \"%s\" ora"
|
261 |
|
262 |
-
#: includes/i18n.php:
|
263 |
msgid "We made a few tweaks to the plugin, %s"
|
264 |
msgstr "Abbiamo apportato alcune modifiche al plugin, %s"
|
265 |
|
266 |
-
#: includes/i18n.php:
|
267 |
msgid "Opt-in to make \"%s\" Better!"
|
268 |
msgstr "Contribuisci a rendere \"%s\" migliore!"
|
269 |
|
270 |
-
#: includes/i18n.php:
|
271 |
msgid "Error"
|
272 |
msgstr "Errore"
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid ""
|
276 |
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
277 |
"sdk@freemius.com with the current error."
|
278 |
msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
|
279 |
|
280 |
-
#: includes/i18n.php:
|
281 |
msgctxt "as expiration date"
|
282 |
msgid "Expiration"
|
283 |
msgstr "Scadenza"
|
284 |
|
285 |
-
#: includes/i18n.php:
|
286 |
msgctxt "as software license"
|
287 |
msgid "License"
|
288 |
msgstr "Licenza"
|
289 |
|
290 |
-
#: includes/i18n.php:
|
291 |
msgid "not verified"
|
292 |
msgstr "non verificato"
|
293 |
|
294 |
-
#: includes/i18n.php:
|
295 |
msgid "Verify Email"
|
296 |
msgstr "Verifica email"
|
297 |
|
298 |
-
#: includes/i18n.php:
|
299 |
msgctxt "e.g. expires in 2 months"
|
300 |
msgid "Expires in %s"
|
301 |
msgstr "Scade in %s"
|
302 |
|
303 |
-
#: includes/i18n.php:
|
304 |
msgctxt "e.g. auto renews in 2 months"
|
305 |
msgid "Auto renews in %s"
|
306 |
msgstr "Rinnovo automatico in %s"
|
307 |
|
308 |
-
#: includes/i18n.php:
|
309 |
msgid "No expiration"
|
310 |
msgstr "Nessuna scadenza"
|
311 |
|
312 |
-
#: includes/i18n.php:
|
313 |
msgid "Expired"
|
314 |
msgstr "Scaduto"
|
315 |
|
316 |
-
#: includes/i18n.php:
|
317 |
msgid "Cancelled"
|
318 |
msgstr "Annullato"
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgctxt "e.g. In 2 hours"
|
322 |
msgid "In %s"
|
323 |
msgstr "In %s"
|
324 |
|
325 |
-
#: includes/i18n.php:
|
326 |
msgctxt "e.g. 2 min ago"
|
327 |
msgid "%s ago"
|
328 |
msgstr "%s fa"
|
329 |
|
330 |
-
#: includes/i18n.php:
|
331 |
msgctxt "as plugin version"
|
332 |
msgid "Version"
|
333 |
msgstr "Versione"
|
334 |
|
335 |
-
#: includes/i18n.php:
|
336 |
msgid "Name"
|
337 |
msgstr "Nome"
|
338 |
|
339 |
-
#: includes/i18n.php:
|
340 |
msgid "Email"
|
341 |
msgstr "Email"
|
342 |
|
343 |
-
#: includes/i18n.php:
|
344 |
msgid "Email address"
|
345 |
msgstr "Indirizzo email"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Verified"
|
349 |
msgstr "Verificato"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Plugin"
|
353 |
msgstr "Plugin"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Plugins"
|
357 |
msgstr "Plugin"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Themes"
|
361 |
msgstr "Temi"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
364 |
msgctxt "as file/folder path"
|
365 |
msgid "Path"
|
366 |
msgstr "Percorso"
|
367 |
|
368 |
-
#: includes/i18n.php:
|
369 |
msgid "Title"
|
370 |
msgstr "Titolo"
|
371 |
|
372 |
-
#: includes/i18n.php:
|
373 |
msgid "Free version"
|
374 |
msgstr "Versione gratuita"
|
375 |
|
376 |
-
#: includes/i18n.php:
|
377 |
msgid "Premium version"
|
378 |
msgstr "Versione premium"
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgctxt "as WP plugin slug"
|
382 |
msgid "Slug"
|
383 |
msgstr "Slug"
|
384 |
|
385 |
-
#: includes/i18n.php:
|
386 |
msgid "ID"
|
387 |
msgstr "ID"
|
388 |
|
389 |
-
#: includes/i18n.php:
|
390 |
msgid "Users"
|
391 |
msgstr "Utenti"
|
392 |
|
393 |
-
#: includes/i18n.php:
|
394 |
msgid "Plugin Installs"
|
395 |
msgstr "Installazioni Plugin"
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgctxt "like websites"
|
399 |
msgid "Sites"
|
400 |
msgstr "Siti"
|
401 |
|
402 |
-
#: includes/i18n.php:
|
403 |
msgid "User ID"
|
404 |
msgstr "ID utente"
|
405 |
|
406 |
-
#: includes/i18n.php:
|
407 |
msgid "Site ID"
|
408 |
msgstr "ID del sito"
|
409 |
|
410 |
-
#: includes/i18n.php:
|
411 |
msgid "Public Key"
|
412 |
msgstr "Chiave pubblica"
|
413 |
|
414 |
-
#: includes/i18n.php:
|
415 |
msgid "Secret Key"
|
416 |
msgstr "Chiave segreta"
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgctxt "as secret encryption key missing"
|
420 |
msgid "No Secret"
|
421 |
msgstr "Nessuna chiave"
|
422 |
|
423 |
-
#: includes/i18n.php:
|
424 |
msgid "No ID"
|
425 |
msgstr "Nessun ID"
|
426 |
|
427 |
-
#: includes/i18n.php:
|
428 |
msgctxt "as synchronize license"
|
429 |
msgid "Sync License"
|
430 |
msgstr "Sincronizza la licenza"
|
431 |
|
432 |
-
#: includes/i18n.php:
|
433 |
msgctxt "as synchronize"
|
434 |
msgid "Sync"
|
435 |
msgstr "Sincronizza"
|
436 |
|
437 |
-
#: includes/i18n.php:
|
438 |
msgid "Activate License"
|
439 |
msgstr "Attiva licenza"
|
440 |
|
441 |
-
#: includes/i18n.php:
|
442 |
msgid "Activate Free Version"
|
443 |
msgstr "Attiva versione gratuita"
|
444 |
|
445 |
-
#: includes/i18n.php:
|
446 |
msgid ""
|
447 |
"Please enter the license key that you received in the email right after the "
|
448 |
"purchase:"
|
449 |
msgstr "Per favore inserisci la chiave di licenza che hai ricevuto via mail subito dopo l'acquisto:"
|
450 |
|
451 |
-
#: includes/i18n.php:
|
452 |
msgid "Activating license..."
|
453 |
msgstr "Sto attivando la licenza..."
|
454 |
|
455 |
-
#: includes/i18n.php:
|
456 |
msgid "Change License"
|
457 |
msgstr "Cambia licenza"
|
458 |
|
459 |
-
#: includes/i18n.php:
|
460 |
msgid "Update License"
|
461 |
msgstr "Aggiorna licenza"
|
462 |
|
463 |
-
#: includes/i18n.php:
|
464 |
msgid "Deactivate License"
|
465 |
msgstr "Disattiva licenza"
|
466 |
|
467 |
-
#: includes/i18n.php:
|
468 |
msgid "Activate"
|
469 |
msgstr "Attiva"
|
470 |
|
471 |
-
#: includes/i18n.php:
|
472 |
msgid "Deactivate"
|
473 |
msgstr "Disattiva"
|
474 |
|
475 |
-
#: includes/i18n.php:
|
476 |
msgid "Skip & Deactivate"
|
477 |
msgstr "Salta e disattiva"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "No - just deactivate"
|
481 |
msgstr "No - disattiva e basta"
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Yes - do your thing"
|
485 |
msgstr "Sì - fai pure"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgctxt "active mode"
|
489 |
msgid "Active"
|
490 |
msgstr "Attiva"
|
491 |
|
492 |
-
#: includes/i18n.php:
|
493 |
msgctxt "is active mode?"
|
494 |
msgid "Is Active"
|
495 |
msgstr "è attiva"
|
496 |
|
497 |
-
#: includes/i18n.php:
|
498 |
msgid "Install Now"
|
499 |
msgstr "Installa ora"
|
500 |
|
501 |
-
#: includes/i18n.php:
|
502 |
msgid "Install Update Now"
|
503 |
msgstr "Installa l'aggiornamento ora"
|
504 |
|
505 |
-
#: includes/i18n.php:
|
506 |
msgid "More information about %s"
|
507 |
msgstr "Ulteriori informazioni su %s"
|
508 |
|
509 |
-
#: includes/i18n.php:
|
510 |
msgid "Localhost"
|
511 |
msgstr "Localhost"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgctxt "as activate Professional plan"
|
515 |
msgid "Activate %s Plan"
|
516 |
msgstr "Attivare il piano %s"
|
517 |
|
518 |
-
#: includes/i18n.php:
|
519 |
msgctxt "as 5 licenses left"
|
520 |
msgid "%s left"
|
521 |
msgstr "%s rimanenti"
|
522 |
|
523 |
-
#: includes/i18n.php:
|
524 |
msgid "Last license"
|
525 |
msgstr "Ultima licenza"
|
526 |
|
527 |
-
#: includes/i18n.php:
|
528 |
msgid "What is your %s?"
|
529 |
msgstr "Qual è il tuo %s?"
|
530 |
|
531 |
-
#: includes/i18n.php:
|
532 |
msgid "Activate this add-on"
|
533 |
msgstr "Attivare questo addon"
|
534 |
|
535 |
-
#: includes/i18n.php:
|
536 |
msgid ""
|
537 |
"Deactivating your license will block all premium features, but will enable "
|
538 |
"you to activate the license on another site. Are you sure you want to "
|
539 |
"proceed?"
|
540 |
msgstr "La disattivazione della licenza bloccherà tutte le funzionalità premium, ma vi permetterà di attivare la licenza su un altro sito. Sei sicuro di voler procedere?"
|
541 |
|
542 |
-
#: includes/i18n.php:
|
543 |
msgid ""
|
544 |
"Deleting the account will automatically deactivate your %s plan license so "
|
545 |
"you can use it on other sites. If you want to terminate the recurring "
|
@@ -547,868 +562,941 @@ msgid ""
|
|
547 |
"account. Are you sure you would like to continue with the deletion?"
|
548 |
msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
|
549 |
|
550 |
-
#: includes/i18n.php:
|
551 |
msgid ""
|
552 |
"Deletion is not temporary. Only delete if you no longer want to use this "
|
553 |
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
554 |
msgstr "L'eliminazione non è temporanea. Cancella solo se non si desidera più utilizzare questo plugin. Sei sicuro di voler continuare con l'eliminazione?"
|
555 |
|
556 |
-
#: includes/i18n.php:
|
557 |
msgid ""
|
558 |
"Downgrading your plan will immediately stop all future recurring payments "
|
559 |
"and your %s plan license will expire in %s."
|
560 |
msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
|
561 |
|
562 |
-
#: includes/i18n.php:
|
563 |
msgid ""
|
564 |
"Cancelling the trial will immediately block access to all premium features. "
|
565 |
"Are you sure?"
|
566 |
msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
msgid ""
|
570 |
"You can still enjoy all %s features but you will not have access to plugin "
|
571 |
"updates and support."
|
572 |
msgstr "Puoi ancora sfruttare tutte le funzionalità di %s, ma non avrai accesso al supporto ed agli aggiornamenti del plugin."
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
msgid ""
|
576 |
"Once your license expire you can still use the Free version but you will NOT"
|
577 |
" have access to the %s features."
|
578 |
msgstr "Una volta scaduta la licenza, sarà possibile ancora utilizzare la versione gratuita ma non avrete accesso alle funzionalità di %s."
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
msgid "Are you sure you want to proceed?"
|
582 |
msgstr "Sei sicuro di voler procedere?"
|
583 |
|
584 |
-
#: includes/i18n.php:
|
585 |
msgid "Add Ons for %s"
|
586 |
msgstr "Add-on per %s"
|
587 |
|
588 |
-
#: includes/i18n.php:
|
589 |
msgid ""
|
590 |
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
591 |
"please try to come back in few minutes."
|
592 |
msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
|
593 |
|
594 |
-
#: includes/i18n.php:
|
595 |
msgid "Anonymous feedback"
|
596 |
msgstr "Feedback anonimo"
|
597 |
|
598 |
-
#: includes/i18n.php:
|
599 |
msgid "Quick feedback"
|
600 |
msgstr "Feedback veloce"
|
601 |
|
602 |
-
#: includes/i18n.php:
|
603 |
msgid "If you have a moment, please let us know why you are deactivating"
|
604 |
msgstr "Se hai un momento, potresti dirci perché lo hai disattivato?"
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
msgid "Yes - Deactivate"
|
608 |
msgstr "Si - Disattiva"
|
609 |
|
610 |
-
#: includes/i18n.php:
|
611 |
msgid "Submit & Deactivate"
|
612 |
msgstr "Invia & Disattiva"
|
613 |
|
614 |
-
#: includes/i18n.php:
|
615 |
-
msgctxt "the text of the cancel button of the plugin deactivation dialog box."
|
616 |
msgid "Cancel"
|
617 |
-
msgstr "
|
618 |
|
619 |
-
#: includes/i18n.php:
|
620 |
msgid "I no longer need the plugin"
|
621 |
msgstr "Non ho piú bisogno di questo plugin"
|
622 |
|
623 |
-
#: includes/i18n.php:
|
624 |
msgid "I found a better plugin"
|
625 |
msgstr "Ho trovato un plugin migliore"
|
626 |
|
627 |
-
#: includes/i18n.php:
|
628 |
msgid "I only needed the plugin for a short period"
|
629 |
msgstr "Avevo bisogno del plugin solo per un breve periodo"
|
630 |
|
631 |
-
#: includes/i18n.php:
|
632 |
msgid "The plugin broke my site"
|
633 |
msgstr "Il plugin ha causato problemi al mio sito"
|
634 |
|
635 |
-
#: includes/i18n.php:
|
636 |
msgid "The plugin suddenly stopped working"
|
637 |
msgstr "Il plugin ha smesso di funzionare"
|
638 |
|
639 |
-
#: includes/i18n.php:
|
640 |
msgid "I can't pay for it anymore"
|
641 |
msgstr "Non posso piú pagarlo"
|
642 |
|
643 |
-
#: includes/i18n.php:
|
644 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
645 |
msgstr "È una disattivazione temporanea. Sto solo cercando di risolvere un problema."
|
646 |
|
647 |
-
#: includes/i18n.php:
|
648 |
msgctxt ""
|
649 |
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
650 |
"in the modal box."
|
651 |
msgid "Other"
|
652 |
msgstr "Altro"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "Kindly tell us the reason so we can improve."
|
656 |
msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgid "What's the plugin's name?"
|
660 |
msgstr "Qual è il nome del plugin?"
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "What price would you feel comfortable paying?"
|
664 |
msgstr "Che prezzo ritieni opportuno pagare?"
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "I couldn't understand how to make it work"
|
668 |
msgstr "Non capisco come farlo funzionare"
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid ""
|
672 |
"The plugin is great, but I need specific feature that you don't support"
|
673 |
msgstr "Il plugin é ottimo ma ho bisogno di una funzionalitá specifica che non é supportata"
|
674 |
|
675 |
-
#: includes/i18n.php:
|
676 |
msgid "The plugin is not working"
|
677 |
msgstr "Il plugin non funziona"
|
678 |
|
679 |
-
#: includes/i18n.php:
|
680 |
msgid "It's not what I was looking for"
|
681 |
msgstr "Non é quello che stavo cercando"
|
682 |
|
683 |
-
#: includes/i18n.php:
|
684 |
msgid "The plugin didn't work as expected"
|
685 |
msgstr "Il plugin non funziona come mi aspettavo"
|
686 |
|
687 |
-
#: includes/i18n.php:
|
688 |
msgid "What feature?"
|
689 |
msgstr "Quale funzionalitá?"
|
690 |
|
691 |
-
#: includes/i18n.php:
|
692 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
693 |
msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
|
694 |
|
695 |
-
#: includes/i18n.php:
|
696 |
msgid "What you've been looking for?"
|
697 |
msgstr "Che cosa stai cercando?"
|
698 |
|
699 |
-
#: includes/i18n.php:
|
700 |
msgid "What did you expect?"
|
701 |
msgstr "Che cosa ti aspettavi?"
|
702 |
|
703 |
-
#: includes/i18n.php:
|
704 |
msgid "The plugin didn't work"
|
705 |
msgstr "Il plugin non funziona"
|
706 |
|
707 |
-
#: includes/i18n.php:
|
708 |
msgid "I don't like to share my information with you"
|
709 |
msgstr "Non voglio condividere i miei dati con te"
|
710 |
|
711 |
-
#: includes/i18n.php:
|
712 |
msgid ""
|
713 |
"You might have missed it, but you don't have to share any data and can just "
|
714 |
"%s the opt-in."
|
715 |
msgstr "Potresti non averci fatto caso, ma non sei obbligato a condividere i tuoi dati e puoi semplicemente %s la tua partecipazione."
|
716 |
|
717 |
-
#: includes/i18n.php:
|
718 |
msgctxt "greeting"
|
719 |
msgid "Hey %s,"
|
720 |
msgstr "Hey %s,"
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
msgctxt "a greeting. E.g. Thanks John!"
|
724 |
msgid "Thanks %s!"
|
725 |
msgstr "Grazie %s!"
|
726 |
|
727 |
-
#: includes/i18n.php:
|
728 |
msgid ""
|
729 |
-
"
|
730 |
-
"
|
731 |
-
msgstr "
|
732 |
|
733 |
-
#: includes/i18n.php:
|
734 |
msgid ""
|
735 |
-
"Please help us improve %
|
736 |
-
"%
|
737 |
"work just fine."
|
738 |
-
msgstr "
|
739 |
|
740 |
-
#: includes/i18n.php:
|
741 |
msgid ""
|
742 |
"You should receive an activation email for %s to your mailbox at %s. Please "
|
743 |
-
"make sure you click the activation button in that email to
|
744 |
-
"
|
745 |
-
msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per completare l'installazione."
|
746 |
|
747 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
748 |
msgid ""
|
749 |
"Thanks for purchasing %s! To get started, please enter your license key:"
|
750 |
msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
|
751 |
|
752 |
-
#: includes/i18n.php:
|
753 |
msgid ""
|
754 |
"The plugin will be periodically sending data to %s to check for plugin "
|
755 |
"updates and verify the validity of your license."
|
756 |
msgstr "Il plugin invierà dati periodicamente a %s per controllare l'esistenza di aggiornamenti e verificare la validità della tua licenza."
|
757 |
|
758 |
-
#: includes/i18n.php:
|
759 |
msgid "What permissions are being granted?"
|
760 |
msgstr "Quali autorizzazioni vengono concesse?"
|
761 |
|
762 |
-
#: includes/i18n.php:
|
763 |
msgid "Your Profile Overview"
|
764 |
msgstr "Panoramica del tuo profilo"
|
765 |
|
766 |
-
#: includes/i18n.php:
|
767 |
msgid "Name and email address"
|
768 |
msgstr "Nome ed indirizzo email"
|
769 |
|
770 |
-
#: includes/i18n.php:
|
771 |
msgid "Your Site Overview"
|
772 |
msgstr "Panoramica del tuo sito"
|
773 |
|
774 |
-
#: includes/i18n.php:
|
775 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
776 |
msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
|
777 |
|
778 |
-
#: includes/i18n.php:
|
779 |
msgid "Current Plugin Events"
|
780 |
msgstr "Eventi correnti del plugin"
|
781 |
|
782 |
-
#: includes/i18n.php:
|
783 |
msgid "Activation, deactivation and uninstall"
|
784 |
msgstr "Attiva, disattivazione e disinstallazione"
|
785 |
|
786 |
-
#: includes/i18n.php:
|
787 |
msgid "Plugins & Themes"
|
788 |
msgstr "Plugin e temi"
|
789 |
|
790 |
-
#: includes/i18n.php:
|
791 |
msgid "Titles, versions and state."
|
792 |
msgstr "Titoli, versioni e stato."
|
793 |
|
794 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
795 |
msgid "Newsletter"
|
796 |
msgstr "Newsletter"
|
797 |
|
798 |
-
#: includes/i18n.php:
|
799 |
msgid "Updates, announcements, marketing, no spam"
|
800 |
msgstr "Aggiornamenti, annunci, marketing, no spam"
|
801 |
|
802 |
-
#: includes/i18n.php:
|
803 |
msgid "Privacy Policy"
|
804 |
msgstr "Politica sulla privacy"
|
805 |
|
806 |
-
#: includes/i18n.php:
|
807 |
msgid "Terms of Service"
|
808 |
msgstr "Termini del Servizio"
|
809 |
|
810 |
-
#: includes/i18n.php:
|
811 |
msgctxt "as activating plugin"
|
812 |
msgid "Activating"
|
813 |
msgstr "Attivazione"
|
814 |
|
815 |
-
#: includes/i18n.php:
|
816 |
msgctxt "as in the process of sending an email"
|
817 |
msgid "Sending email"
|
818 |
msgstr "Invio email"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgctxt "button label"
|
822 |
msgid "Allow & Continue"
|
823 |
msgstr "Consenti & Continua"
|
824 |
|
825 |
-
#: includes/i18n.php:
|
826 |
msgctxt "button label"
|
827 |
msgid "Agree & Activate License"
|
828 |
msgstr "Accetta e attiva la licenza"
|
829 |
|
830 |
-
#: includes/i18n.php:
|
831 |
msgctxt "verb"
|
832 |
msgid "Skip"
|
833 |
msgstr "Salta"
|
834 |
|
835 |
-
#: includes/i18n.php:
|
836 |
msgid "Click here to use the plugin anonymously"
|
837 |
msgstr "Fai clic qui per usare il plugin anonimamente"
|
838 |
|
839 |
-
#: includes/i18n.php:
|
840 |
msgid "Re-send activation email"
|
841 |
msgstr "Invia nuovamente l'email di attivazione"
|
842 |
|
843 |
-
#: includes/i18n.php:
|
844 |
msgid "License key"
|
845 |
msgstr "Chiave di licenza"
|
846 |
|
847 |
-
#: includes/i18n.php:
|
848 |
msgid "Send License Key"
|
849 |
msgstr "Invia chiave di licenza"
|
850 |
|
851 |
-
#: includes/i18n.php:
|
852 |
msgid "Sending license key"
|
853 |
msgstr "Invio chiave di licenza"
|
854 |
|
855 |
-
#: includes/i18n.php:
|
856 |
msgid "Have a license key?"
|
857 |
msgstr "Hai una chiave di licenza?"
|
858 |
|
859 |
-
#: includes/i18n.php:
|
860 |
msgid "Don't have a license key?"
|
861 |
msgstr "Non hai una chiave di licenza?"
|
862 |
|
863 |
-
#: includes/i18n.php:
|
864 |
msgid "Can't find your license key?"
|
865 |
msgstr "Non trovi la tua chiave di licenza?"
|
866 |
|
867 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
868 |
msgid "Screenshots"
|
869 |
msgstr "Screenshots"
|
870 |
|
871 |
-
#: includes/i18n.php:
|
872 |
msgid "Click to view full-size screenshot %d"
|
873 |
msgstr "Fare clic per visualizzare lo screenshot in grandi dimensioni %d"
|
874 |
|
875 |
-
#: includes/i18n.php:
|
876 |
msgid "Freemius Debug"
|
877 |
msgstr "Debug Freemius"
|
878 |
|
879 |
-
#: includes/i18n.php:
|
880 |
msgctxt "as turned on"
|
881 |
msgid "On"
|
882 |
msgstr "Attivo"
|
883 |
|
884 |
-
#: includes/i18n.php:
|
885 |
msgctxt "as turned off"
|
886 |
msgid "Off"
|
887 |
msgstr "Non attivo"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
msgctxt "as code debugging"
|
891 |
msgid "Debugging"
|
892 |
msgstr "Debugging"
|
893 |
|
894 |
-
#: includes/i18n.php:
|
895 |
msgid "Freemius State"
|
896 |
msgstr "Stato di Freemius"
|
897 |
|
898 |
-
#: includes/i18n.php:
|
899 |
msgctxt "as connection was successful"
|
900 |
msgid "Connected"
|
901 |
msgstr "Connesso"
|
902 |
|
903 |
-
#: includes/i18n.php:
|
904 |
msgctxt "as connection blocked"
|
905 |
msgid "Blocked"
|
906 |
msgstr "Bloccato"
|
907 |
|
908 |
-
#: includes/i18n.php:
|
909 |
msgctxt "as application program interface"
|
910 |
msgid "API"
|
911 |
msgstr "API"
|
912 |
|
913 |
-
#: includes/i18n.php:
|
914 |
msgctxt "as software development kit versions"
|
915 |
msgid "SDK"
|
916 |
msgstr "SDK"
|
917 |
|
918 |
-
#: includes/i18n.php:
|
919 |
msgctxt "as software development kit versions"
|
920 |
msgid "SDK Versions"
|
921 |
msgstr "Versioni SDK"
|
922 |
|
923 |
-
#: includes/i18n.php:
|
924 |
msgctxt "as plugin folder path"
|
925 |
msgid "Plugin Path"
|
926 |
msgstr "Percorso del plugin"
|
927 |
|
928 |
-
#: includes/i18n.php:
|
929 |
msgctxt "as sdk path"
|
930 |
msgid "SDK Path"
|
931 |
msgstr "Percorso SDK"
|
932 |
|
933 |
-
#: includes/i18n.php:
|
934 |
msgid "Add Ons of Plugin %s"
|
935 |
msgstr "Add-on del Plugin %s"
|
936 |
|
937 |
-
#: includes/i18n.php:
|
938 |
msgid "Are you sure you want to delete all Freemius data?"
|
939 |
msgstr "Sei sicuro di voler eliminare tutti i dati di Freemius?"
|
940 |
|
941 |
-
#: includes/i18n.php:
|
942 |
msgid "Actions"
|
943 |
msgstr "Azioni"
|
944 |
|
945 |
-
#: includes/i18n.php:
|
946 |
msgid "Delete All Accounts"
|
947 |
msgstr "Eliminare tutti gli account"
|
948 |
|
949 |
-
#: includes/i18n.php:
|
950 |
msgid "Start Fresh"
|
951 |
msgstr "Inizia da capo"
|
952 |
|
953 |
-
#: includes/i18n.php:
|
954 |
msgid "Clear API Cache"
|
955 |
msgstr "Elimina cache API"
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgid "Sync Data From Server"
|
959 |
msgstr "Sincronizza i dati dal server"
|
960 |
|
961 |
-
#: includes/i18n.php:
|
962 |
msgid "Scheduled Crons"
|
963 |
msgstr "Azioni programmate"
|
964 |
|
965 |
-
#: includes/i18n.php:
|
966 |
msgid "Plugins & Themes Sync"
|
967 |
msgstr "Sincronizzazione plugin e temi"
|
968 |
|
969 |
-
#: includes/i18n.php:
|
970 |
msgctxt "as congratulations"
|
971 |
msgid "Congrats"
|
972 |
msgstr "Congratulazioni"
|
973 |
|
974 |
-
#: includes/i18n.php:
|
975 |
msgctxt "exclamation"
|
976 |
msgid "Oops"
|
977 |
msgstr "Ops"
|
978 |
|
979 |
-
#: includes/i18n.php:
|
980 |
msgctxt "interjection expressing joy or exuberance"
|
981 |
msgid "Yee-haw"
|
982 |
msgstr "Evvai"
|
983 |
|
984 |
-
#: includes/i18n.php:
|
985 |
msgctxt ""
|
986 |
"(especially in electronic communication) used to express elation, "
|
987 |
"enthusiasm, or triumph."
|
988 |
msgid "W00t"
|
989 |
msgstr "Forte"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "a positive response"
|
993 |
msgid "Right on"
|
994 |
msgstr "Sì"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt ""
|
998 |
"something somebody says when they are thinking about what you have just "
|
999 |
"said. "
|
1000 |
msgid "Hmm"
|
1001 |
msgstr "Uhm"
|
1002 |
|
1003 |
-
#: includes/i18n.php:
|
1004 |
msgid "O.K"
|
1005 |
msgstr "OK"
|
1006 |
|
1007 |
-
#: includes/i18n.php:
|
1008 |
msgctxt "exclamation"
|
1009 |
msgid "Hey"
|
1010 |
msgstr "Hey"
|
1011 |
|
1012 |
-
#: includes/i18n.php:
|
1013 |
msgctxt "advance notice of something that will need attention."
|
1014 |
msgid "Heads up"
|
1015 |
msgstr "Attenzione"
|
1016 |
|
1017 |
-
#: includes/i18n.php:
|
1018 |
msgid "Seems like you got the latest release."
|
1019 |
msgstr "Sembra che tu abbia la versione più recente."
|
1020 |
|
1021 |
-
#: includes/i18n.php:
|
1022 |
msgid "You are all good!"
|
1023 |
msgstr "Sei fantastico!"
|
1024 |
|
1025 |
-
#: includes/i18n.php:
|
1026 |
msgid ""
|
1027 |
"Sorry, we could not complete the email update. Another user with the same "
|
1028 |
"email is already registered."
|
1029 |
msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
|
1030 |
|
1031 |
-
#: includes/i18n.php:
|
1032 |
msgid ""
|
1033 |
"If you would like to give up the ownership of the plugin's account to %s "
|
1034 |
"click the Change Ownership button."
|
1035 |
msgstr "Se vuoi cedere la proprietá dell'account del plugin a %s clicca su Cambia Proprietà."
|
1036 |
|
1037 |
-
#: includes/i18n.php:
|
1038 |
msgid ""
|
1039 |
"Your email was successfully updated. You should receive an email with "
|
1040 |
"confirmation instructions in few moments."
|
1041 |
msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
|
1042 |
|
1043 |
-
#: includes/i18n.php:
|
1044 |
msgid "Your name was successfully updated."
|
1045 |
msgstr "Il tuo nome è stato aggiornato correttamente."
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgid "You have successfully updated your %s."
|
1049 |
msgstr "Hai aggiornato con successo il tuo %s."
|
1050 |
|
1051 |
-
#: includes/i18n.php:
|
1052 |
msgid "Please provide your full name."
|
1053 |
msgstr "Per favore inserisci il tuo nome completo."
|
1054 |
|
1055 |
-
#: includes/i18n.php:
|
1056 |
msgid ""
|
1057 |
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1058 |
"please check your spam box."
|
1059 |
msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
|
1060 |
|
1061 |
-
#: includes/i18n.php:
|
1062 |
msgid ""
|
1063 |
"Just letting you know that the add-ons information of %s is being pulled "
|
1064 |
"from an external server."
|
1065 |
msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
|
1066 |
|
1067 |
-
#: includes/i18n.php:
|
1068 |
msgid "No credit card required"
|
1069 |
msgstr "Nessuna carta di credito richiesta"
|
1070 |
|
1071 |
-
#: includes/i18n.php:
|
1072 |
msgid "Premium plugin version was successfully activated."
|
1073 |
msgstr "La versione Premium del plugin è stata attivata correttamente."
|
1074 |
|
1075 |
-
#: includes/i18n.php:
|
1076 |
msgid "The upgrade of %s was successfully completed."
|
1077 |
msgstr "L'aggiornamento di %s è stato completato con successo."
|
1078 |
|
1079 |
-
#: includes/i18n.php:
|
1080 |
msgid "Your account was successfully activated with the %s plan."
|
1081 |
msgstr "Il tuo account è stato attivato correttamente con il piano %s."
|
1082 |
|
1083 |
-
#: includes/i18n.php:
|
1084 |
msgid "Download the latest %s version now"
|
1085 |
msgstr "Scarica l'ultima versione di %s"
|
1086 |
|
1087 |
-
#: includes/i18n.php:
|
1088 |
msgid "Please follow these steps to complete the upgrade"
|
1089 |
msgstr "Segui i passi seguenti per completare l'aggiornamento"
|
1090 |
|
1091 |
-
#: includes/i18n.php:
|
1092 |
msgid "Download the latest %s version"
|
1093 |
msgstr "Scarica l'ultima versione di %s"
|
1094 |
|
1095 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1096 |
msgid "Deactivate the free version"
|
1097 |
msgstr "Disattiva la versione gratuita"
|
1098 |
|
1099 |
-
#: includes/i18n.php:
|
1100 |
msgid "Upload and activate the downloaded version"
|
1101 |
msgstr "Carica e attiva la versione scaricata"
|
1102 |
|
1103 |
-
#: includes/i18n.php:
|
1104 |
msgid "How to upload and activate?"
|
1105 |
msgstr "Come faccio a caricare ed attivare?"
|
1106 |
|
1107 |
-
#: includes/i18n.php:
|
1108 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1109 |
msgid "%s Add-on was successfully purchased."
|
1110 |
msgstr "L' add-on %s è stato acquistato con successo."
|
1111 |
|
1112 |
-
#: includes/i18n.php:
|
1113 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1114 |
msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
|
1115 |
|
1116 |
-
#: includes/i18n.php:
|
1117 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1118 |
msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
|
1119 |
|
1120 |
-
#: includes/i18n.php:
|
1121 |
msgid "Your plan was successfully upgraded."
|
1122 |
msgstr "Il piano è stato aggiornato con successo."
|
1123 |
|
1124 |
-
#: includes/i18n.php:
|
1125 |
msgid "Your plan was successfully changed to %s."
|
1126 |
msgstr "Il piano è stato cambiato con successo a %s."
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
msgid ""
|
1130 |
"Your license has expired. You can still continue using the free plugin "
|
1131 |
"forever."
|
1132 |
msgstr "La licenza è scaduta. È comunque possibile continuare ad utilizzare il plugin gratuito per sempre."
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
msgid ""
|
1136 |
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1137 |
" support."
|
1138 |
msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgid "Your trial has been successfully started."
|
1142 |
msgstr "La versione di prova è stata avviata correttamente."
|
1143 |
|
1144 |
-
#: includes/i18n.php:
|
1145 |
msgid "Your license was successfully activated."
|
1146 |
msgstr "La tua licenza è stata attivata correttamente."
|
1147 |
|
1148 |
-
#: includes/i18n.php:
|
1149 |
msgid "It looks like your site currently doesn't have an active license."
|
1150 |
msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid ""
|
1154 |
"Your license was successfully deactivated, you are back to the %s plan."
|
1155 |
msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
|
1156 |
|
1157 |
-
#: includes/i18n.php:
|
1158 |
msgid "It looks like the license deactivation failed."
|
1159 |
msgstr "Sembra che la disattivazione della licenza non sia riuscita."
|
1160 |
|
1161 |
-
#: includes/i18n.php:
|
1162 |
msgid "It looks like the license could not be activated."
|
1163 |
msgstr "Sembra che la licenza non possa essere attivata."
|
1164 |
|
1165 |
-
#: includes/i18n.php:
|
1166 |
msgid "Error received from the server:"
|
1167 |
msgstr "Errore ricevuto dal server:"
|
1168 |
|
1169 |
-
#: includes/i18n.php:
|
1170 |
msgid ""
|
1171 |
"Your trial has expired. You can still continue using all our free features."
|
1172 |
msgstr "La versione di prova è scaduta. Si può comunque continuare a utilizzare tutte le nostre funzioni gratuite."
|
1173 |
|
1174 |
-
#: includes/i18n.php:
|
1175 |
msgid ""
|
1176 |
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1177 |
"%s."
|
1178 |
msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
msgid ""
|
1182 |
"Seems like we are having some temporary issue with your plan downgrade. "
|
1183 |
"Please try again in few minutes."
|
1184 |
msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
msgid ""
|
1188 |
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1189 |
" :)"
|
1190 |
msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
|
1191 |
|
1192 |
-
#: includes/i18n.php:
|
1193 |
msgid "Your %s free trial was successfully cancelled."
|
1194 |
msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
|
1195 |
|
1196 |
-
#: includes/i18n.php:
|
1197 |
msgctxt "%s - numeric version number"
|
1198 |
msgid "Version %s was released."
|
1199 |
msgstr "La versione %s é stata rilasciata."
|
1200 |
|
1201 |
-
#: includes/i18n.php:
|
1202 |
msgid "Please download %s."
|
1203 |
msgstr "Scarica %s."
|
1204 |
|
1205 |
-
#: includes/i18n.php:
|
1206 |
msgctxt "%s - plan name, as the latest professional version here"
|
1207 |
msgid "the latest %s version here"
|
1208 |
msgstr "l'ultima versione %s é quì"
|
1209 |
|
1210 |
-
#: includes/i18n.php:
|
1211 |
msgid ""
|
1212 |
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1213 |
"free trial."
|
1214 |
msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
|
1215 |
|
1216 |
-
#: includes/i18n.php:
|
1217 |
msgctxt "call to action"
|
1218 |
msgid "Start free trial"
|
1219 |
msgstr "Inizia il periodo di prova gratuito"
|
1220 |
|
1221 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1222 |
msgid ""
|
1223 |
"Seems like we are having some temporary issue with your trial cancellation. "
|
1224 |
"Please try again in few minutes."
|
1225 |
msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
|
1226 |
|
1227 |
-
#: includes/i18n.php:
|
1228 |
msgid "You already utilized a trial before."
|
1229 |
msgstr "Hai già utilizzato una prova gratuita in passato."
|
1230 |
|
1231 |
-
#: includes/i18n.php:
|
1232 |
msgid "You are already running the plugin in a trial mode."
|
1233 |
msgstr "Stai già usando il plugin in modalità di prova gratuita."
|
1234 |
|
1235 |
-
#: includes/i18n.php:
|
1236 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1237 |
msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
|
1238 |
|
1239 |
-
#: includes/i18n.php:
|
1240 |
msgid "Plan %s does not support a trial period."
|
1241 |
msgstr "Il piano %s non supporta il periodo di prova."
|
1242 |
|
1243 |
-
#: includes/i18n.php:
|
1244 |
msgid "None of the plugin's plans supports a trial period."
|
1245 |
msgstr "Non esiste alcun piano del plugin che offra il periodo di prova."
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
msgid ""
|
1249 |
"Unexpected API error. Please contact the plugin's author with the following "
|
1250 |
"error."
|
1251 |
msgstr "Errore inaspettato dell'API. Per favore contatta l'autore del plugin riportando il seguente errore."
|
1252 |
|
1253 |
-
#: includes/i18n.php:
|
1254 |
msgid "No commitment for %s days - cancel anytime!"
|
1255 |
msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
|
1256 |
|
1257 |
-
#: includes/i18n.php:
|
1258 |
msgid ""
|
1259 |
"Your license has expired. You can still continue using all the %s features, "
|
1260 |
"but you'll need to renew your license to continue getting updates and "
|
1261 |
"support."
|
1262 |
msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
|
1263 |
|
1264 |
-
#: includes/i18n.php:
|
1265 |
msgid "Couldn't activate %s."
|
1266 |
msgstr "Non é stato possibile attivare %s."
|
1267 |
|
1268 |
-
#: includes/i18n.php:
|
1269 |
msgid "Please contact us with the following message:"
|
1270 |
msgstr "Contattaci con il seguente messaggio:"
|
1271 |
|
1272 |
-
#: includes/i18n.php:
|
1273 |
msgid ""
|
1274 |
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1275 |
"your plan, it's probably an issue on our side - sorry."
|
1276 |
msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
|
1277 |
|
1278 |
-
#: includes/i18n.php:
|
1279 |
msgid "Please contact us here"
|
1280 |
msgstr "Contattaci qui"
|
1281 |
|
1282 |
-
#: includes/i18n.php:
|
1283 |
msgid ""
|
1284 |
"I have upgraded my account but when I try to Sync the License, the plan "
|
1285 |
"remains %s."
|
1286 |
msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
|
1287 |
|
1288 |
-
#: includes/i18n.php:
|
1289 |
msgid "From unknown reason, the API connectivity test failed."
|
1290 |
msgstr "Il test di connettività dell'API ha fallito per motivi sconosciuti."
|
1291 |
|
1292 |
-
#: includes/i18n.php:
|
1293 |
msgid ""
|
1294 |
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1295 |
"permission, would it be o.k to run another connectivity test?"
|
1296 |
msgstr "Si tratta probabilmente di un problema nei nostri sistemi. Per esserne sicuri, potresti darci il permesso di effettuare un ulteriore test della connettività? "
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid ""
|
1300 |
"We use PHP cURL library for the API calls, which is a very common library "
|
1301 |
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1302 |
"on your server."
|
1303 |
msgstr "Utilizziamo la libreria PHP cURL per le chiamate alla nostra API. Questa libreria è molto comune ed è installata di base. Sfortunatamente cURL non è presente nel tuo server."
|
1304 |
|
1305 |
-
#: includes/i18n.php:
|
1306 |
msgid ""
|
1307 |
"From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1308 |
msgstr "Per un motivo sconosciuto, CloudFlare, il firewall che utilizziamo, blocca la connessione."
|
1309 |
|
1310 |
-
#: includes/i18n.php:
|
1311 |
msgctxt "as pluginX requires an access to our API"
|
1312 |
msgid "%s requires an access to our API."
|
1313 |
msgstr "%s richiede un accesso alla nostra API."
|
1314 |
|
1315 |
-
#: includes/i18n.php:
|
1316 |
msgid ""
|
1317 |
"It looks like your server is using Squid ACL (access control lists), which "
|
1318 |
"blocks the connection."
|
1319 |
msgstr "Sembra che il tuo server stia usando Squid ACL (lista per il controllo degli accessi) il quale blocca la connessione."
|
1320 |
|
1321 |
-
#: includes/i18n.php:
|
1322 |
msgid "I don't know what is Squid or ACL, help me!"
|
1323 |
msgstr "Non ho idea di cosa sia Squid o ACL, aiutami!"
|
1324 |
|
1325 |
-
#: includes/i18n.
|
1326 |
msgid ""
|
1327 |
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1328 |
"will get a follow-up email to %s once we have an update."
|
1329 |
msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
|
1330 |
|
1331 |
-
#: includes/i18n.php:
|
1332 |
msgid "I'm a system administrator"
|
1333 |
msgstr "Sono un sistemista"
|
1334 |
|
1335 |
-
#: includes/i18n.php:
|
1336 |
msgid ""
|
1337 |
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1338 |
" the plugin and activate it again."
|
1339 |
msgstr "Perfetto, aggiungi alla whitelist i seguenti domini: %s. Una volta che hai fatto, disattiva il plugin e attivalo di nuovo."
|
1340 |
|
1341 |
-
#: includes/i18n.php:
|
1342 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1343 |
msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid ""
|
1347 |
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1348 |
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1349 |
"the plugin and reactivate it back again."
|
1350 |
msgstr "Perfetto, installa cURL ed attivalo nel tuo file php.ini. Per essere sicuro di averlo attivato con successo, usa \"phpinfo()\". Una volta attivato disattva il plugin e attivalo di nuovo."
|
1351 |
|
1352 |
-
#: includes/i18n.php:
|
1353 |
msgid ""
|
1354 |
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1355 |
"you ASAP if you give us a chance."
|
1356 |
msgstr "Siamo sicuri che sia un nostro problema e siamo più che felici di risolverlo per te al più presto. Per poter procedere abbiamo bisogno del tuo consenso."
|
1357 |
|
1358 |
-
#: includes/i18n.php:
|
1359 |
msgid ""
|
1360 |
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1361 |
msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo permesso."
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
msgid "Yes - I'm giving you a chance to fix it"
|
1365 |
msgstr "Sì - sto dandovi la possibilità di risolvere il problema"
|
1366 |
|
1367 |
-
#: includes/i18n.php:
|
1368 |
msgid ""
|
1369 |
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1370 |
"You will get a follow-up email to %s once we have an update."
|
1371 |
msgstr "Faremo del nostro meglio per mettere il server in whitelist e risolvere il problema il prima possibile. Avrai un aggiornamento dello stato tramite email all'indirizzo %s."
|
1372 |
|
1373 |
-
#: includes/i18n.php:
|
1374 |
msgid "Let's try your previous version"
|
1375 |
msgstr "Proviamo con la versione precedente"
|
1376 |
|
1377 |
-
#: includes/i18n.php:
|
1378 |
msgid "Uninstall this version and install the previous one."
|
1379 |
msgstr "Disinstalla questa versione e installa quella precedente."
|
1380 |
|
1381 |
-
#: includes/i18n.php:
|
1382 |
msgid "That's exhausting, please deactivate"
|
1383 |
msgstr "È estenuante, disattivalo"
|
1384 |
|
1385 |
-
#: includes/i18n.php:
|
1386 |
msgid ""
|
1387 |
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1388 |
" to see you again in the future."
|
1389 |
msgstr "Capiamo la tua frustrazione e ci scusiamo per l'inconveniente. Speriamo di rivederti nuovamente in futuro."
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
1392 |
msgid ""
|
1393 |
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1394 |
"technical staff. We will get back to you as soon as we have an update to %s."
|
1395 |
" Appreciate your patience."
|
1396 |
msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
|
1397 |
|
1398 |
-
#: includes/i18n.php:
|
1399 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1400 |
msgid ""
|
1401 |
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1402 |
"%1s synchronization. Please contact your host to whitelist %2s"
|
1403 |
msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
|
1404 |
|
1405 |
-
#: includes/i18n.php:
|
1406 |
msgid ""
|
1407 |
"It seems like one of the authentication parameters is wrong. Update your "
|
1408 |
"Public Key, Secret Key & User ID, and try again."
|
1409 |
msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
|
1410 |
|
1411 |
-
#: includes/i18n.php:
|
1412 |
msgid ""
|
1413 |
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1414 |
" ownership change. From security reasons, you must confirm the change within"
|
@@ -1416,106 +1504,165 @@ msgid ""
|
|
1416 |
"folder."
|
1417 |
msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
|
1418 |
|
1419 |
-
#: includes/i18n.php:
|
1420 |
msgid ""
|
1421 |
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1422 |
" final approval."
|
1423 |
msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
|
1424 |
|
1425 |
-
#: includes/i18n.php:
|
1426 |
msgid "%s is the new owner of the account."
|
1427 |
msgstr "%s è il nuovo proprietario dell'account."
|
1428 |
|
1429 |
-
#: includes/i18n.php:
|
1430 |
msgctxt "addonX cannot run without pluginY"
|
1431 |
msgid "%s cannot run without %s."
|
1432 |
msgstr "%s non può funzionare senza %s."
|
1433 |
|
1434 |
-
#: includes/i18n.php:
|
1435 |
msgctxt "addonX cannot run..."
|
1436 |
msgid "%s cannot run without the plugin."
|
1437 |
msgstr "%s non può funzionare senza il plugin."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
msgctxt "pluginX activation was successfully..."
|
1441 |
msgid "%s activation was successfully completed."
|
1442 |
msgstr "%s è stato attivato con successo."
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgctxt "Plugin installer section title"
|
1446 |
msgid "Features & Pricing"
|
1447 |
msgstr "Caratteristiche & prezzi"
|
1448 |
|
1449 |
-
#: includes/i18n.php:
|
1450 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1451 |
msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
|
1452 |
|
1453 |
-
#: includes/i18n.php:
|
1454 |
msgid "Paid add-on must be deployed to Freemius."
|
1455 |
msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
|
1456 |
|
1457 |
-
#: includes/i18n.php:
|
1458 |
msgid ""
|
1459 |
"%s is a premium only add-on. You have to purchase a license first before "
|
1460 |
"activating the plugin."
|
1461 |
msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
|
1462 |
|
1463 |
-
#: includes/i18n.php:
|
1464 |
msgid ""
|
1465 |
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1466 |
"it was automatically deactivated. If you like to use it in the future, "
|
1467 |
"you'll have to purchase a license."
|
1468 |
msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
|
1469 |
|
1470 |
-
#: includes/i18n.php:
|
1471 |
msgctxt "as every month"
|
1472 |
msgid "Monthly"
|
1473 |
msgstr "Mensilmente"
|
1474 |
|
1475 |
-
#: includes/i18n.php:
|
1476 |
msgctxt "as monthly period"
|
1477 |
msgid "mo"
|
1478 |
msgstr "mese"
|
1479 |
|
1480 |
-
#: includes/i18n.php:
|
1481 |
msgctxt "as once a year"
|
1482 |
msgid "Annual"
|
1483 |
msgstr "Annuale"
|
1484 |
|
1485 |
-
#: includes/i18n.php:
|
1486 |
msgctxt "as once a year"
|
1487 |
msgid "Annually"
|
1488 |
msgstr "Annualmente"
|
1489 |
|
1490 |
-
#: includes/i18n.php:
|
1491 |
msgctxt "as once a year"
|
1492 |
msgid "Once"
|
1493 |
msgstr "Una volta"
|
1494 |
|
1495 |
-
#: includes/i18n.php:
|
1496 |
msgctxt "as annual period"
|
1497 |
msgid "year"
|
1498 |
msgstr "anno"
|
1499 |
|
1500 |
-
#: includes/i18n.php:
|
1501 |
msgid "Lifetime"
|
1502 |
msgstr "Tutta la vita"
|
1503 |
|
1504 |
-
#: includes/i18n.php:
|
1505 |
msgctxt "e.g. the best product"
|
1506 |
msgid "Best"
|
1507 |
msgstr "Migliore"
|
1508 |
|
1509 |
-
#: includes/i18n.php:
|
1510 |
msgctxt "e.g. billed monthly"
|
1511 |
msgid "Billed %s"
|
1512 |
msgstr "Fatturato %s"
|
1513 |
|
1514 |
-
#: includes/i18n.php:
|
1515 |
msgctxt "as a discount of $5 or 10%"
|
1516 |
msgid "Save %s"
|
1517 |
msgstr "Risparmia %s"
|
1518 |
|
1519 |
-
#: includes/i18n.php:
|
1520 |
msgid "View details"
|
1521 |
msgstr "Visualizza dettagli"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 freemius
|
2 |
+
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
+
# Pelly Benassi <plasmax@gmail.com>, 2016
|
5 |
# Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015
|
6 |
+
# Pelly Benassi <plasmax@gmail.com>, 2016
|
7 |
+
# Vova Feldman <vova@freemius.com>, 2015-2016
|
8 |
msgid ""
|
9 |
msgstr ""
|
10 |
"Project-Id-Version: WordPress SDK\n"
|
11 |
+
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
12 |
+
"PO-Revision-Date: 2016-12-12 02:13+0000\n"
|
13 |
+
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
14 |
"Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
|
15 |
+
"MIME-Version: 1.0\n"
|
16 |
"Content-Type: text/plain; charset=UTF-8\n"
|
17 |
+
"Content-Transfer-Encoding: 8bit\n"
|
18 |
"Language: it_IT\n"
|
19 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20 |
+
"X-Poedit-Basepath: ..\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
22 |
+
"X-Poedit-SearchPath-0: .\n"
|
23 |
+
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
24 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
25 |
|
|
|
|
|
26 |
#: includes/i18n.php41, includes/i18n.php:55
|
27 |
msgid "Yes - I'm in!"
|
28 |
msgstr "Sì, ci sto!"
|
140 |
msgstr "Modifica"
|
141 |
|
142 |
#: includes/i18n.php:119
|
143 |
+
msgctxt "verb"
|
144 |
+
msgid "Update"
|
145 |
+
msgstr "Aggiorna"
|
146 |
+
|
147 |
+
#: includes/i18n.php:121
|
148 |
msgid "Date"
|
149 |
msgstr "Data"
|
150 |
|
151 |
+
#: includes/i18n.php:123
|
152 |
msgid "Amount"
|
153 |
msgstr "Importo"
|
154 |
|
155 |
+
#: includes/i18n.php:125
|
156 |
msgid "Invoice"
|
157 |
msgstr "Fattura"
|
158 |
|
159 |
+
#: includes/i18n.php:127
|
160 |
msgid "Billing"
|
161 |
msgstr "Fatturazione"
|
162 |
|
163 |
+
#: includes/i18n.php:129
|
164 |
msgid "Payments"
|
165 |
msgstr "Pagamenti"
|
166 |
|
167 |
+
#: includes/i18n.php:131
|
168 |
msgid "Delete Account"
|
169 |
msgstr "Elimina Account"
|
170 |
|
171 |
+
#: includes/i18n.php:133
|
172 |
msgctxt "as close a window"
|
173 |
msgid "Dismiss"
|
174 |
msgstr "Chiudi"
|
175 |
|
176 |
+
#: includes/i18n.php:135
|
177 |
msgctxt "as product pricing plan"
|
178 |
msgid "Plan"
|
179 |
msgstr "Piano"
|
180 |
|
181 |
+
#: includes/i18n.php:137
|
182 |
msgid "Change Plan"
|
183 |
msgstr "Cambia piano"
|
184 |
|
185 |
+
#: includes/i18n.php:139
|
186 |
msgctxt "as download professional version"
|
187 |
msgid "Download %s Version"
|
188 |
msgstr "Scarica la versione %s"
|
189 |
|
190 |
+
#: includes/i18n.php:141
|
191 |
msgctxt "as download professional version now"
|
192 |
msgid "Download %s version now"
|
193 |
msgstr "Scarica la versione %s ora"
|
194 |
|
195 |
+
#: includes/i18n.php:145
|
196 |
msgctxt "as download latest version"
|
197 |
msgid "Download Latest"
|
198 |
msgstr "Scarica l'ultima versione"
|
199 |
|
200 |
+
#: includes/i18n.php:147
|
201 |
msgctxt "E.g. you have a professional license."
|
202 |
msgid "You have a %s license."
|
203 |
msgstr "Hai la licenza %s."
|
204 |
|
205 |
+
#: includes/i18n.php:151
|
206 |
msgid "New"
|
207 |
msgstr "Nuovo"
|
208 |
|
209 |
+
#: includes/i18n.php:153
|
210 |
msgid "Free"
|
211 |
msgstr "Gratuito"
|
212 |
|
213 |
+
#: includes/i18n.php:155
|
214 |
msgctxt "as trial plan"
|
215 |
msgid "Trial"
|
216 |
msgstr "Prova gratuita"
|
217 |
|
218 |
+
#: includes/i18n.php:157
|
219 |
+
msgctxt "as starting a trial plan"
|
220 |
+
msgid "Start Trial"
|
221 |
+
msgstr "Inizia il periodo di prova gratuito"
|
222 |
+
|
223 |
+
#: includes/i18n.php:159
|
224 |
msgctxt "verb"
|
225 |
msgid "Purchase"
|
226 |
msgstr "Acquisto"
|
227 |
|
228 |
+
#: includes/i18n.php:161
|
229 |
msgid "Purchase License"
|
230 |
msgstr "Acquista licenza"
|
231 |
|
232 |
+
#: includes/i18n.php:163
|
233 |
msgctxt "verb"
|
234 |
msgid "Buy"
|
235 |
msgstr "Compra"
|
236 |
|
237 |
+
#: includes/i18n.php:165
|
238 |
msgid "Buy License"
|
239 |
msgstr "Compra licenza"
|
240 |
|
241 |
+
#: includes/i18n.php:167
|
242 |
msgid "Single Site License"
|
243 |
msgstr "Licenza per sito singolo"
|
244 |
|
245 |
+
#: includes/i18n.php:169
|
246 |
msgid "Unlimited Licenses"
|
247 |
msgstr "Licenze illimitate"
|
248 |
|
249 |
+
#: includes/i18n.php:171
|
250 |
msgid "Up to %s Sites"
|
251 |
msgstr "Fino a %s siti"
|
252 |
|
253 |
+
#: includes/i18n.php:173
|
254 |
msgid "%sRenew your license now%s to access version %s features and support."
|
255 |
msgstr "%sRinnova la tua licenza ora%s per accedere a funzionalità e supporto della versione %s."
|
256 |
|
257 |
+
#: includes/i18n.php:177
|
258 |
msgid ""
|
259 |
"Enter the email address you've used for the upgrade below and we will resend"
|
260 |
" you the license key."
|
261 |
msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
|
262 |
|
263 |
+
#: includes/i18n.php:181
|
264 |
msgctxt "e.g. Professional Plan"
|
265 |
msgid "%s Plan"
|
266 |
msgstr "Piano %s"
|
267 |
|
268 |
+
#: includes/i18n.php:183
|
269 |
msgid "You are just one step away - %s"
|
270 |
msgstr "Sei a un passo dalla fine - %s"
|
271 |
|
272 |
+
#: includes/i18n.php:185
|
273 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
274 |
msgid "Complete \"%s\" Activation Now"
|
275 |
msgstr "Completa l'attivazione di \"%s\" ora"
|
276 |
|
277 |
+
#: includes/i18n.php:189
|
278 |
msgid "We made a few tweaks to the plugin, %s"
|
279 |
msgstr "Abbiamo apportato alcune modifiche al plugin, %s"
|
280 |
|
281 |
+
#: includes/i18n.php:191
|
282 |
msgid "Opt-in to make \"%s\" Better!"
|
283 |
msgstr "Contribuisci a rendere \"%s\" migliore!"
|
284 |
|
285 |
+
#: includes/i18n.php:193
|
286 |
msgid "Error"
|
287 |
msgstr "Errore"
|
288 |
|
289 |
+
#: includes/i18n.php:195
|
290 |
msgid ""
|
291 |
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
292 |
"sdk@freemius.com with the current error."
|
293 |
msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
|
294 |
|
295 |
+
#: includes/i18n.php:203
|
296 |
msgctxt "as expiration date"
|
297 |
msgid "Expiration"
|
298 |
msgstr "Scadenza"
|
299 |
|
300 |
+
#: includes/i18n.php:205
|
301 |
msgctxt "as software license"
|
302 |
msgid "License"
|
303 |
msgstr "Licenza"
|
304 |
|
305 |
+
#: includes/i18n.php:207
|
306 |
msgid "not verified"
|
307 |
msgstr "non verificato"
|
308 |
|
309 |
+
#: includes/i18n.php:209
|
310 |
msgid "Verify Email"
|
311 |
msgstr "Verifica email"
|
312 |
|
313 |
+
#: includes/i18n.php:211
|
314 |
msgctxt "e.g. expires in 2 months"
|
315 |
msgid "Expires in %s"
|
316 |
msgstr "Scade in %s"
|
317 |
|
318 |
+
#: includes/i18n.php:213
|
319 |
msgctxt "e.g. auto renews in 2 months"
|
320 |
msgid "Auto renews in %s"
|
321 |
msgstr "Rinnovo automatico in %s"
|
322 |
|
323 |
+
#: includes/i18n.php:215
|
324 |
msgid "No expiration"
|
325 |
msgstr "Nessuna scadenza"
|
326 |
|
327 |
+
#: includes/i18n.php:217
|
328 |
msgid "Expired"
|
329 |
msgstr "Scaduto"
|
330 |
|
331 |
+
#: includes/i18n.php:219
|
332 |
msgid "Cancelled"
|
333 |
msgstr "Annullato"
|
334 |
|
335 |
+
#: includes/i18n.php:221
|
336 |
msgctxt "e.g. In 2 hours"
|
337 |
msgid "In %s"
|
338 |
msgstr "In %s"
|
339 |
|
340 |
+
#: includes/i18n.php:223
|
341 |
msgctxt "e.g. 2 min ago"
|
342 |
msgid "%s ago"
|
343 |
msgstr "%s fa"
|
344 |
|
345 |
+
#: includes/i18n.php:225
|
346 |
msgctxt "as plugin version"
|
347 |
msgid "Version"
|
348 |
msgstr "Versione"
|
349 |
|
350 |
+
#: includes/i18n.php:227
|
351 |
msgid "Name"
|
352 |
msgstr "Nome"
|
353 |
|
354 |
+
#: includes/i18n.php:229
|
355 |
msgid "Email"
|
356 |
msgstr "Email"
|
357 |
|
358 |
+
#: includes/i18n.php:231
|
359 |
msgid "Email address"
|
360 |
msgstr "Indirizzo email"
|
361 |
|
362 |
+
#: includes/i18n.php:233
|
363 |
msgid "Verified"
|
364 |
msgstr "Verificato"
|
365 |
|
366 |
+
#: includes/i18n.php:235
|
367 |
msgid "Plugin"
|
368 |
msgstr "Plugin"
|
369 |
|
370 |
+
#: includes/i18n.php:237
|
371 |
msgid "Plugins"
|
372 |
msgstr "Plugin"
|
373 |
|
374 |
+
#: includes/i18n.php:239
|
375 |
msgid "Themes"
|
376 |
msgstr "Temi"
|
377 |
|
378 |
+
#: includes/i18n.php:241
|
379 |
msgctxt "as file/folder path"
|
380 |
msgid "Path"
|
381 |
msgstr "Percorso"
|
382 |
|
383 |
+
#: includes/i18n.php:243
|
384 |
msgid "Title"
|
385 |
msgstr "Titolo"
|
386 |
|
387 |
+
#: includes/i18n.php:245
|
388 |
msgid "Free version"
|
389 |
msgstr "Versione gratuita"
|
390 |
|
391 |
+
#: includes/i18n.php:247
|
392 |
msgid "Premium version"
|
393 |
msgstr "Versione premium"
|
394 |
|
395 |
+
#: includes/i18n.php:249
|
396 |
msgctxt "as WP plugin slug"
|
397 |
msgid "Slug"
|
398 |
msgstr "Slug"
|
399 |
|
400 |
+
#: includes/i18n.php:251
|
401 |
msgid "ID"
|
402 |
msgstr "ID"
|
403 |
|
404 |
+
#: includes/i18n.php:253
|
405 |
msgid "Users"
|
406 |
msgstr "Utenti"
|
407 |
|
408 |
+
#: includes/i18n.php:255
|
409 |
msgid "Plugin Installs"
|
410 |
msgstr "Installazioni Plugin"
|
411 |
|
412 |
+
#: includes/i18n.php:257
|
413 |
msgctxt "like websites"
|
414 |
msgid "Sites"
|
415 |
msgstr "Siti"
|
416 |
|
417 |
+
#: includes/i18n.php:259
|
418 |
msgid "User ID"
|
419 |
msgstr "ID utente"
|
420 |
|
421 |
+
#: includes/i18n.php:261
|
422 |
msgid "Site ID"
|
423 |
msgstr "ID del sito"
|
424 |
|
425 |
+
#: includes/i18n.php:263
|
426 |
msgid "Public Key"
|
427 |
msgstr "Chiave pubblica"
|
428 |
|
429 |
+
#: includes/i18n.php:265
|
430 |
msgid "Secret Key"
|
431 |
msgstr "Chiave segreta"
|
432 |
|
433 |
+
#: includes/i18n.php:267
|
434 |
msgctxt "as secret encryption key missing"
|
435 |
msgid "No Secret"
|
436 |
msgstr "Nessuna chiave"
|
437 |
|
438 |
+
#: includes/i18n.php:269
|
439 |
msgid "No ID"
|
440 |
msgstr "Nessun ID"
|
441 |
|
442 |
+
#: includes/i18n.php:271
|
443 |
msgctxt "as synchronize license"
|
444 |
msgid "Sync License"
|
445 |
msgstr "Sincronizza la licenza"
|
446 |
|
447 |
+
#: includes/i18n.php:273
|
448 |
msgctxt "as synchronize"
|
449 |
msgid "Sync"
|
450 |
msgstr "Sincronizza"
|
451 |
|
452 |
+
#: includes/i18n.php:275
|
453 |
msgid "Activate License"
|
454 |
msgstr "Attiva licenza"
|
455 |
|
456 |
+
#: includes/i18n.php:277
|
457 |
msgid "Activate Free Version"
|
458 |
msgstr "Attiva versione gratuita"
|
459 |
|
460 |
+
#: includes/i18n.php:279
|
461 |
msgid ""
|
462 |
"Please enter the license key that you received in the email right after the "
|
463 |
"purchase:"
|
464 |
msgstr "Per favore inserisci la chiave di licenza che hai ricevuto via mail subito dopo l'acquisto:"
|
465 |
|
466 |
+
#: includes/i18n.php:283
|
467 |
msgid "Activating license..."
|
468 |
msgstr "Sto attivando la licenza..."
|
469 |
|
470 |
+
#: includes/i18n.php:285
|
471 |
msgid "Change License"
|
472 |
msgstr "Cambia licenza"
|
473 |
|
474 |
+
#: includes/i18n.php:287
|
475 |
msgid "Update License"
|
476 |
msgstr "Aggiorna licenza"
|
477 |
|
478 |
+
#: includes/i18n.php:289
|
479 |
msgid "Deactivate License"
|
480 |
msgstr "Disattiva licenza"
|
481 |
|
482 |
+
#: includes/i18n.php:291
|
483 |
msgid "Activate"
|
484 |
msgstr "Attiva"
|
485 |
|
486 |
+
#: includes/i18n.php:293
|
487 |
msgid "Deactivate"
|
488 |
msgstr "Disattiva"
|
489 |
|
490 |
+
#: includes/i18n.php:295
|
491 |
msgid "Skip & Deactivate"
|
492 |
msgstr "Salta e disattiva"
|
493 |
|
494 |
+
#: includes/i18n.php:297
|
495 |
msgid "No - just deactivate"
|
496 |
msgstr "No - disattiva e basta"
|
497 |
|
498 |
+
#: includes/i18n.php:299
|
499 |
msgid "Yes - do your thing"
|
500 |
msgstr "Sì - fai pure"
|
501 |
|
502 |
+
#: includes/i18n.php:301
|
503 |
msgctxt "active mode"
|
504 |
msgid "Active"
|
505 |
msgstr "Attiva"
|
506 |
|
507 |
+
#: includes/i18n.php:303
|
508 |
msgctxt "is active mode?"
|
509 |
msgid "Is Active"
|
510 |
msgstr "è attiva"
|
511 |
|
512 |
+
#: includes/i18n.php:305
|
513 |
msgid "Install Now"
|
514 |
msgstr "Installa ora"
|
515 |
|
516 |
+
#: includes/i18n.php:307
|
517 |
msgid "Install Update Now"
|
518 |
msgstr "Installa l'aggiornamento ora"
|
519 |
|
520 |
+
#: includes/i18n.php:309
|
521 |
msgid "More information about %s"
|
522 |
msgstr "Ulteriori informazioni su %s"
|
523 |
|
524 |
+
#: includes/i18n.php:311
|
525 |
msgid "Localhost"
|
526 |
msgstr "Localhost"
|
527 |
|
528 |
+
#: includes/i18n.php:313
|
529 |
msgctxt "as activate Professional plan"
|
530 |
msgid "Activate %s Plan"
|
531 |
msgstr "Attivare il piano %s"
|
532 |
|
533 |
+
#: includes/i18n.php:315
|
534 |
msgctxt "as 5 licenses left"
|
535 |
msgid "%s left"
|
536 |
msgstr "%s rimanenti"
|
537 |
|
538 |
+
#: includes/i18n.php:317
|
539 |
msgid "Last license"
|
540 |
msgstr "Ultima licenza"
|
541 |
|
542 |
+
#: includes/i18n.php:319
|
543 |
msgid "What is your %s?"
|
544 |
msgstr "Qual è il tuo %s?"
|
545 |
|
546 |
+
#: includes/i18n.php:321
|
547 |
msgid "Activate this add-on"
|
548 |
msgstr "Attivare questo addon"
|
549 |
|
550 |
+
#: includes/i18n.php:323
|
551 |
msgid ""
|
552 |
"Deactivating your license will block all premium features, but will enable "
|
553 |
"you to activate the license on another site. Are you sure you want to "
|
554 |
"proceed?"
|
555 |
msgstr "La disattivazione della licenza bloccherà tutte le funzionalità premium, ma vi permetterà di attivare la licenza su un altro sito. Sei sicuro di voler procedere?"
|
556 |
|
557 |
+
#: includes/i18n.php:327
|
558 |
msgid ""
|
559 |
"Deleting the account will automatically deactivate your %s plan license so "
|
560 |
"you can use it on other sites. If you want to terminate the recurring "
|
562 |
"account. Are you sure you would like to continue with the deletion?"
|
563 |
msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
|
564 |
|
565 |
+
#: includes/i18n.php:331
|
566 |
msgid ""
|
567 |
"Deletion is not temporary. Only delete if you no longer want to use this "
|
568 |
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
569 |
msgstr "L'eliminazione non è temporanea. Cancella solo se non si desidera più utilizzare questo plugin. Sei sicuro di voler continuare con l'eliminazione?"
|
570 |
|
571 |
+
#: includes/i18n.php:335
|
572 |
msgid ""
|
573 |
"Downgrading your plan will immediately stop all future recurring payments "
|
574 |
"and your %s plan license will expire in %s."
|
575 |
msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
|
576 |
|
577 |
+
#: includes/i18n.php:339
|
578 |
msgid ""
|
579 |
"Cancelling the trial will immediately block access to all premium features. "
|
580 |
"Are you sure?"
|
581 |
msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
|
582 |
|
583 |
+
#: includes/i18n.php:343
|
584 |
msgid ""
|
585 |
"You can still enjoy all %s features but you will not have access to plugin "
|
586 |
"updates and support."
|
587 |
msgstr "Puoi ancora sfruttare tutte le funzionalità di %s, ma non avrai accesso al supporto ed agli aggiornamenti del plugin."
|
588 |
|
589 |
+
#: includes/i18n.php:347
|
590 |
msgid ""
|
591 |
"Once your license expire you can still use the Free version but you will NOT"
|
592 |
" have access to the %s features."
|
593 |
msgstr "Una volta scaduta la licenza, sarà possibile ancora utilizzare la versione gratuita ma non avrete accesso alle funzionalità di %s."
|
594 |
|
595 |
+
#: includes/i18n.php:351
|
596 |
msgid "Are you sure you want to proceed?"
|
597 |
msgstr "Sei sicuro di voler procedere?"
|
598 |
|
599 |
+
#: includes/i18n.php:357
|
600 |
msgid "Add Ons for %s"
|
601 |
msgstr "Add-on per %s"
|
602 |
|
603 |
+
#: includes/i18n.php:359
|
604 |
msgid ""
|
605 |
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
606 |
"please try to come back in few minutes."
|
607 |
msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
|
608 |
|
609 |
+
#: includes/i18n.php:365
|
610 |
msgid "Anonymous feedback"
|
611 |
msgstr "Feedback anonimo"
|
612 |
|
613 |
+
#: includes/i18n.php:367
|
614 |
msgid "Quick feedback"
|
615 |
msgstr "Feedback veloce"
|
616 |
|
617 |
+
#: includes/i18n.php:369
|
618 |
msgid "If you have a moment, please let us know why you are deactivating"
|
619 |
msgstr "Se hai un momento, potresti dirci perché lo hai disattivato?"
|
620 |
|
621 |
+
#: includes/i18n.php:373
|
622 |
msgid "Yes - Deactivate"
|
623 |
msgstr "Si - Disattiva"
|
624 |
|
625 |
+
#: includes/i18n.php:375
|
626 |
msgid "Submit & Deactivate"
|
627 |
msgstr "Invia & Disattiva"
|
628 |
|
629 |
+
#: includes/i18n.php:377
|
|
|
630 |
msgid "Cancel"
|
631 |
+
msgstr "Annulla"
|
632 |
|
633 |
+
#: includes/i18n.php:379
|
634 |
msgid "I no longer need the plugin"
|
635 |
msgstr "Non ho piú bisogno di questo plugin"
|
636 |
|
637 |
+
#: includes/i18n.php:381
|
638 |
msgid "I found a better plugin"
|
639 |
msgstr "Ho trovato un plugin migliore"
|
640 |
|
641 |
+
#: includes/i18n.php:383
|
642 |
msgid "I only needed the plugin for a short period"
|
643 |
msgstr "Avevo bisogno del plugin solo per un breve periodo"
|
644 |
|
645 |
+
#: includes/i18n.php:385
|
646 |
msgid "The plugin broke my site"
|
647 |
msgstr "Il plugin ha causato problemi al mio sito"
|
648 |
|
649 |
+
#: includes/i18n.php:387
|
650 |
msgid "The plugin suddenly stopped working"
|
651 |
msgstr "Il plugin ha smesso di funzionare"
|
652 |
|
653 |
+
#: includes/i18n.php:389
|
654 |
msgid "I can't pay for it anymore"
|
655 |
msgstr "Non posso piú pagarlo"
|
656 |
|
657 |
+
#: includes/i18n.php:391
|
658 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
659 |
msgstr "È una disattivazione temporanea. Sto solo cercando di risolvere un problema."
|
660 |
|
661 |
+
#: includes/i18n.php:395
|
662 |
msgctxt ""
|
663 |
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
664 |
"in the modal box."
|
665 |
msgid "Other"
|
666 |
msgstr "Altro"
|
667 |
|
668 |
+
#: includes/i18n.php:399
|
669 |
msgid "Kindly tell us the reason so we can improve."
|
670 |
msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
|
671 |
|
672 |
+
#: includes/i18n.php:401
|
673 |
msgid "What's the plugin's name?"
|
674 |
msgstr "Qual è il nome del plugin?"
|
675 |
|
676 |
+
#: includes/i18n.php:403
|
677 |
msgid "What price would you feel comfortable paying?"
|
678 |
msgstr "Che prezzo ritieni opportuno pagare?"
|
679 |
|
680 |
+
#: includes/i18n.php:405
|
681 |
msgid "I couldn't understand how to make it work"
|
682 |
msgstr "Non capisco come farlo funzionare"
|
683 |
|
684 |
+
#: includes/i18n.php:407
|
685 |
msgid ""
|
686 |
"The plugin is great, but I need specific feature that you don't support"
|
687 |
msgstr "Il plugin é ottimo ma ho bisogno di una funzionalitá specifica che non é supportata"
|
688 |
|
689 |
+
#: includes/i18n.php:411
|
690 |
msgid "The plugin is not working"
|
691 |
msgstr "Il plugin non funziona"
|
692 |
|
693 |
+
#: includes/i18n.php:413
|
694 |
msgid "It's not what I was looking for"
|
695 |
msgstr "Non é quello che stavo cercando"
|
696 |
|
697 |
+
#: includes/i18n.php:415
|
698 |
msgid "The plugin didn't work as expected"
|
699 |
msgstr "Il plugin non funziona come mi aspettavo"
|
700 |
|
701 |
+
#: includes/i18n.php:417
|
702 |
msgid "What feature?"
|
703 |
msgstr "Quale funzionalitá?"
|
704 |
|
705 |
+
#: includes/i18n.php:419
|
706 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
707 |
msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
|
708 |
|
709 |
+
#: includes/i18n.php:423
|
710 |
msgid "What you've been looking for?"
|
711 |
msgstr "Che cosa stai cercando?"
|
712 |
|
713 |
+
#: includes/i18n.php:425
|
714 |
msgid "What did you expect?"
|
715 |
msgstr "Che cosa ti aspettavi?"
|
716 |
|
717 |
+
#: includes/i18n.php:427
|
718 |
msgid "The plugin didn't work"
|
719 |
msgstr "Il plugin non funziona"
|
720 |
|
721 |
+
#: includes/i18n.php:429
|
722 |
msgid "I don't like to share my information with you"
|
723 |
msgstr "Non voglio condividere i miei dati con te"
|
724 |
|
725 |
+
#: includes/i18n.php:431
|
726 |
msgid ""
|
727 |
"You might have missed it, but you don't have to share any data and can just "
|
728 |
"%s the opt-in."
|
729 |
msgstr "Potresti non averci fatto caso, ma non sei obbligato a condividere i tuoi dati e puoi semplicemente %s la tua partecipazione."
|
730 |
|
731 |
+
#: includes/i18n.php:441
|
732 |
msgctxt "greeting"
|
733 |
msgid "Hey %s,"
|
734 |
msgstr "Hey %s,"
|
735 |
|
736 |
+
#: includes/i18n.php:443
|
737 |
msgctxt "a greeting. E.g. Thanks John!"
|
738 |
msgid "Thanks %s!"
|
739 |
msgstr "Grazie %s!"
|
740 |
|
741 |
+
#: includes/i18n.php:445
|
742 |
msgid ""
|
743 |
+
"Never miss an important update - opt-in to our security and feature updates "
|
744 |
+
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
745 |
+
msgstr "Non perdere nessun aggiornamento importante - iscriviti per ricevere notifiche su aggiornamenti relativi alla sicurezza e nuove versioni, oltre al tracciamento di diagnostica non sensibile con %4$s."
|
746 |
|
747 |
+
#: includes/i18n.php:449
|
748 |
msgid ""
|
749 |
+
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
750 |
+
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
751 |
"work just fine."
|
752 |
+
msgstr "Aiutaci a migliorare %1$s! Se ti iscrivi, alcuni dati riguardanti il tuo utilizzo di %1$s verranno inviati a %4$s. Se salti questo passaggio, non c'è problema! %1$s funzionerà ugualmente."
|
753 |
|
754 |
+
#: includes/i18n.php:453
|
755 |
msgid ""
|
756 |
"You should receive an activation email for %s to your mailbox at %s. Please "
|
757 |
+
"make sure you click the activation button in that email to %s."
|
758 |
+
msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per &s."
|
|
|
759 |
|
760 |
+
#: includes/i18n.php:455
|
761 |
+
msgid "complete the install"
|
762 |
+
msgstr "completa l'installazione"
|
763 |
+
|
764 |
+
#: includes/i18n.php:457
|
765 |
+
msgid "start the trial"
|
766 |
+
msgstr "Inizia il periodo di prova gratuito"
|
767 |
+
|
768 |
+
#: includes/i18n.php:459
|
769 |
msgid ""
|
770 |
"Thanks for purchasing %s! To get started, please enter your license key:"
|
771 |
msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
|
772 |
|
773 |
+
#: includes/i18n.php:463
|
774 |
msgid ""
|
775 |
"The plugin will be periodically sending data to %s to check for plugin "
|
776 |
"updates and verify the validity of your license."
|
777 |
msgstr "Il plugin invierà dati periodicamente a %s per controllare l'esistenza di aggiornamenti e verificare la validità della tua licenza."
|
778 |
|
779 |
+
#: includes/i18n.php:467
|
780 |
msgid "What permissions are being granted?"
|
781 |
msgstr "Quali autorizzazioni vengono concesse?"
|
782 |
|
783 |
+
#: includes/i18n.php:469
|
784 |
msgid "Your Profile Overview"
|
785 |
msgstr "Panoramica del tuo profilo"
|
786 |
|
787 |
+
#: includes/i18n.php:471
|
788 |
msgid "Name and email address"
|
789 |
msgstr "Nome ed indirizzo email"
|
790 |
|
791 |
+
#: includes/i18n.php:473
|
792 |
msgid "Your Site Overview"
|
793 |
msgstr "Panoramica del tuo sito"
|
794 |
|
795 |
+
#: includes/i18n.php:475
|
796 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
797 |
msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
|
798 |
|
799 |
+
#: includes/i18n.php:479
|
800 |
msgid "Current Plugin Events"
|
801 |
msgstr "Eventi correnti del plugin"
|
802 |
|
803 |
+
#: includes/i18n.php:481
|
804 |
msgid "Activation, deactivation and uninstall"
|
805 |
msgstr "Attiva, disattivazione e disinstallazione"
|
806 |
|
807 |
+
#: includes/i18n.php:483
|
808 |
msgid "Plugins & Themes"
|
809 |
msgstr "Plugin e temi"
|
810 |
|
811 |
+
#: includes/i18n.php:485
|
812 |
msgid "Titles, versions and state."
|
813 |
msgstr "Titoli, versioni e stato."
|
814 |
|
815 |
+
#: includes/i18n.php:487
|
816 |
+
msgid "Admin Notices"
|
817 |
+
msgstr "Avvisi amministratore"
|
818 |
+
|
819 |
+
#: includes/i18n.php:489
|
820 |
msgid "Newsletter"
|
821 |
msgstr "Newsletter"
|
822 |
|
823 |
+
#: includes/i18n.php:491
|
824 |
msgid "Updates, announcements, marketing, no spam"
|
825 |
msgstr "Aggiornamenti, annunci, marketing, no spam"
|
826 |
|
827 |
+
#: includes/i18n.php:493
|
828 |
msgid "Privacy Policy"
|
829 |
msgstr "Politica sulla privacy"
|
830 |
|
831 |
+
#: includes/i18n.php:495
|
832 |
msgid "Terms of Service"
|
833 |
msgstr "Termini del Servizio"
|
834 |
|
835 |
+
#: includes/i18n.php:497
|
836 |
msgctxt "as activating plugin"
|
837 |
msgid "Activating"
|
838 |
msgstr "Attivazione"
|
839 |
|
840 |
+
#: includes/i18n.php:499
|
841 |
msgctxt "as in the process of sending an email"
|
842 |
msgid "Sending email"
|
843 |
msgstr "Invio email"
|
844 |
|
845 |
+
#: includes/i18n.php:503
|
846 |
msgctxt "button label"
|
847 |
msgid "Allow & Continue"
|
848 |
msgstr "Consenti & Continua"
|
849 |
|
850 |
+
#: includes/i18n.php:505
|
851 |
msgctxt "button label"
|
852 |
msgid "Agree & Activate License"
|
853 |
msgstr "Accetta e attiva la licenza"
|
854 |
|
855 |
+
#: includes/i18n.php:507
|
856 |
msgctxt "verb"
|
857 |
msgid "Skip"
|
858 |
msgstr "Salta"
|
859 |
|
860 |
+
#: includes/i18n.php:509
|
861 |
msgid "Click here to use the plugin anonymously"
|
862 |
msgstr "Fai clic qui per usare il plugin anonimamente"
|
863 |
|
864 |
+
#: includes/i18n.php:511
|
865 |
msgid "Re-send activation email"
|
866 |
msgstr "Invia nuovamente l'email di attivazione"
|
867 |
|
868 |
+
#: includes/i18n.php:513
|
869 |
msgid "License key"
|
870 |
msgstr "Chiave di licenza"
|
871 |
|
872 |
+
#: includes/i18n.php:515
|
873 |
msgid "Send License Key"
|
874 |
msgstr "Invia chiave di licenza"
|
875 |
|
876 |
+
#: includes/i18n.php:517
|
877 |
msgid "Sending license key"
|
878 |
msgstr "Invio chiave di licenza"
|
879 |
|
880 |
+
#: includes/i18n.php:519
|
881 |
msgid "Have a license key?"
|
882 |
msgstr "Hai una chiave di licenza?"
|
883 |
|
884 |
+
#: includes/i18n.php:521
|
885 |
msgid "Don't have a license key?"
|
886 |
msgstr "Non hai una chiave di licenza?"
|
887 |
|
888 |
+
#: includes/i18n.php:523
|
889 |
msgid "Can't find your license key?"
|
890 |
msgstr "Non trovi la tua chiave di licenza?"
|
891 |
|
892 |
+
#: includes/i18n.php:525
|
893 |
+
msgid ""
|
894 |
+
"We couldn't find your email address in the system, are you sure it's the "
|
895 |
+
"right address?"
|
896 |
+
msgstr "Non siamo riusciti a trovare il tuo indirizzo email nel sistema, sei sicuro che sia l'indirizzo giusto?"
|
897 |
+
|
898 |
+
#: includes/i18n.php:529
|
899 |
+
msgid ""
|
900 |
+
"We can't see any active licenses associated with that email address, are you"
|
901 |
+
" sure it's the right address?"
|
902 |
+
msgstr "Non siamo riusciti a trovare alcuna licenza attiva associata al tuo indirizzo email, sei sicuro che sia l'indirizzo giusto?"
|
903 |
+
|
904 |
+
#: includes/i18n.php:533
|
905 |
+
msgid "Opt In"
|
906 |
+
msgstr "Iscriviti"
|
907 |
+
|
908 |
+
#: includes/i18n.php:535
|
909 |
+
msgid "Opt Out"
|
910 |
+
msgstr "Cancella iscrizione"
|
911 |
+
|
912 |
+
#: includes/i18n.php:537
|
913 |
+
msgid "On second thought - I want to continue helping"
|
914 |
+
msgstr "Ci ho ripensato, voglio continuare a fornire il mio aiuto"
|
915 |
+
|
916 |
+
#: includes/i18n.php:541
|
917 |
+
msgid "Opting out..."
|
918 |
+
msgstr "Cancellamento dell'iscrizione..."
|
919 |
+
|
920 |
+
#: includes/i18n.php:543
|
921 |
+
msgid "Opting in..."
|
922 |
+
msgstr "Iscrizione in corso..."
|
923 |
+
|
924 |
+
#: includes/i18n.php:545
|
925 |
+
msgid ""
|
926 |
+
"We appreciate your help in making the %s better by letting us track some "
|
927 |
+
"usage data."
|
928 |
+
msgstr "Ti ringraziamo per averci concesso di tracciare alcuni dati di utilizzo al fine di migliorare %s"
|
929 |
+
|
930 |
+
#: includes/i18n.php:549
|
931 |
+
msgid ""
|
932 |
+
"Usage tracking is done in the name of making %s better. Making a better user"
|
933 |
+
" experience, prioritizing new features, and more good things. We'd really "
|
934 |
+
"appreciate if you'll reconsider letting us continue with the tracking."
|
935 |
+
msgstr "Tracciamo l'utilizzo esclusivamente per rendere %s migliore, creando una migliore esperienza utente e dando priorità a nuove funzionalità, oltre a molte altre buone cose. Saremmo veramente felici di vederti cambiare idea e lasciarci continuare con il tracciamento."
|
936 |
+
|
937 |
+
#: includes/i18n.php:553
|
938 |
+
msgid ""
|
939 |
+
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
940 |
+
"%s."
|
941 |
+
msgstr "Cliccando su \"Cancella iscrizione\", non invieremo più nessuna informazione da %s a %s."
|
942 |
+
|
943 |
+
#: includes/i18n.php:563
|
944 |
msgid "Screenshots"
|
945 |
msgstr "Screenshots"
|
946 |
|
947 |
+
#: includes/i18n.php:565
|
948 |
msgid "Click to view full-size screenshot %d"
|
949 |
msgstr "Fare clic per visualizzare lo screenshot in grandi dimensioni %d"
|
950 |
|
951 |
+
#: includes/i18n.php:573
|
952 |
msgid "Freemius Debug"
|
953 |
msgstr "Debug Freemius"
|
954 |
|
955 |
+
#: includes/i18n.php:575
|
956 |
msgctxt "as turned on"
|
957 |
msgid "On"
|
958 |
msgstr "Attivo"
|
959 |
|
960 |
+
#: includes/i18n.php:577
|
961 |
msgctxt "as turned off"
|
962 |
msgid "Off"
|
963 |
msgstr "Non attivo"
|
964 |
|
965 |
+
#: includes/i18n.php:579
|
966 |
msgctxt "as code debugging"
|
967 |
msgid "Debugging"
|
968 |
msgstr "Debugging"
|
969 |
|
970 |
+
#: includes/i18n.php:581
|
971 |
msgid "Freemius State"
|
972 |
msgstr "Stato di Freemius"
|
973 |
|
974 |
+
#: includes/i18n.php:583
|
975 |
msgctxt "as connection was successful"
|
976 |
msgid "Connected"
|
977 |
msgstr "Connesso"
|
978 |
|
979 |
+
#: includes/i18n.php:585
|
980 |
msgctxt "as connection blocked"
|
981 |
msgid "Blocked"
|
982 |
msgstr "Bloccato"
|
983 |
|
984 |
+
#: includes/i18n.php:587
|
985 |
msgctxt "as application program interface"
|
986 |
msgid "API"
|
987 |
msgstr "API"
|
988 |
|
989 |
+
#: includes/i18n.php:589
|
990 |
msgctxt "as software development kit versions"
|
991 |
msgid "SDK"
|
992 |
msgstr "SDK"
|
993 |
|
994 |
+
#: includes/i18n.php:591
|
995 |
msgctxt "as software development kit versions"
|
996 |
msgid "SDK Versions"
|
997 |
msgstr "Versioni SDK"
|
998 |
|
999 |
+
#: includes/i18n.php:595
|
1000 |
msgctxt "as plugin folder path"
|
1001 |
msgid "Plugin Path"
|
1002 |
msgstr "Percorso del plugin"
|
1003 |
|
1004 |
+
#: includes/i18n.php:597
|
1005 |
msgctxt "as sdk path"
|
1006 |
msgid "SDK Path"
|
1007 |
msgstr "Percorso SDK"
|
1008 |
|
1009 |
+
#: includes/i18n.php:599
|
1010 |
msgid "Add Ons of Plugin %s"
|
1011 |
msgstr "Add-on del Plugin %s"
|
1012 |
|
1013 |
+
#: includes/i18n.php:601
|
1014 |
msgid "Are you sure you want to delete all Freemius data?"
|
1015 |
msgstr "Sei sicuro di voler eliminare tutti i dati di Freemius?"
|
1016 |
|
1017 |
+
#: includes/i18n.php:605
|
1018 |
msgid "Actions"
|
1019 |
msgstr "Azioni"
|
1020 |
|
1021 |
+
#: includes/i18n.php:607
|
1022 |
msgid "Delete All Accounts"
|
1023 |
msgstr "Eliminare tutti gli account"
|
1024 |
|
1025 |
+
#: includes/i18n.php:609
|
1026 |
msgid "Start Fresh"
|
1027 |
msgstr "Inizia da capo"
|
1028 |
|
1029 |
+
#: includes/i18n.php:611
|
1030 |
msgid "Clear API Cache"
|
1031 |
msgstr "Elimina cache API"
|
1032 |
|
1033 |
+
#: includes/i18n.php:613
|
1034 |
msgid "Sync Data From Server"
|
1035 |
msgstr "Sincronizza i dati dal server"
|
1036 |
|
1037 |
+
#: includes/i18n.php:615
|
1038 |
msgid "Scheduled Crons"
|
1039 |
msgstr "Azioni programmate"
|
1040 |
|
1041 |
+
#: includes/i18n.php:617
|
1042 |
msgid "Plugins & Themes Sync"
|
1043 |
msgstr "Sincronizzazione plugin e temi"
|
1044 |
|
1045 |
+
#: includes/i18n.php:625
|
1046 |
msgctxt "as congratulations"
|
1047 |
msgid "Congrats"
|
1048 |
msgstr "Congratulazioni"
|
1049 |
|
1050 |
+
#: includes/i18n.php:627
|
1051 |
msgctxt "exclamation"
|
1052 |
msgid "Oops"
|
1053 |
msgstr "Ops"
|
1054 |
|
1055 |
+
#: includes/i18n.php:629
|
1056 |
msgctxt "interjection expressing joy or exuberance"
|
1057 |
msgid "Yee-haw"
|
1058 |
msgstr "Evvai"
|
1059 |
|
1060 |
+
#: includes/i18n.php:633
|
1061 |
msgctxt ""
|
1062 |
"(especially in electronic communication) used to express elation, "
|
1063 |
"enthusiasm, or triumph."
|
1064 |
msgid "W00t"
|
1065 |
msgstr "Forte"
|
1066 |
|
1067 |
+
#: includes/i18n.php:637
|
1068 |
msgctxt "a positive response"
|
1069 |
msgid "Right on"
|
1070 |
msgstr "Sì"
|
1071 |
|
1072 |
+
#: includes/i18n.php:639
|
1073 |
msgctxt ""
|
1074 |
"something somebody says when they are thinking about what you have just "
|
1075 |
"said. "
|
1076 |
msgid "Hmm"
|
1077 |
msgstr "Uhm"
|
1078 |
|
1079 |
+
#: includes/i18n.php:643
|
1080 |
msgid "O.K"
|
1081 |
msgstr "OK"
|
1082 |
|
1083 |
+
#: includes/i18n.php:645
|
1084 |
msgctxt "exclamation"
|
1085 |
msgid "Hey"
|
1086 |
msgstr "Hey"
|
1087 |
|
1088 |
+
#: includes/i18n.php:647
|
1089 |
msgctxt "advance notice of something that will need attention."
|
1090 |
msgid "Heads up"
|
1091 |
msgstr "Attenzione"
|
1092 |
|
1093 |
+
#: includes/i18n.php:657
|
1094 |
msgid "Seems like you got the latest release."
|
1095 |
msgstr "Sembra che tu abbia la versione più recente."
|
1096 |
|
1097 |
+
#: includes/i18n.php:659
|
1098 |
msgid "You are all good!"
|
1099 |
msgstr "Sei fantastico!"
|
1100 |
|
1101 |
+
#: includes/i18n.php:661
|
1102 |
msgid ""
|
1103 |
"Sorry, we could not complete the email update. Another user with the same "
|
1104 |
"email is already registered."
|
1105 |
msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
|
1106 |
|
1107 |
+
#: includes/i18n.php:665
|
1108 |
msgid ""
|
1109 |
"If you would like to give up the ownership of the plugin's account to %s "
|
1110 |
"click the Change Ownership button."
|
1111 |
msgstr "Se vuoi cedere la proprietá dell'account del plugin a %s clicca su Cambia Proprietà."
|
1112 |
|
1113 |
+
#: includes/i18n.php:669
|
1114 |
msgid ""
|
1115 |
"Your email was successfully updated. You should receive an email with "
|
1116 |
"confirmation instructions in few moments."
|
1117 |
msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
|
1118 |
|
1119 |
+
#: includes/i18n.php:673
|
1120 |
msgid "Your name was successfully updated."
|
1121 |
msgstr "Il tuo nome è stato aggiornato correttamente."
|
1122 |
|
1123 |
+
#: includes/i18n.php:675
|
1124 |
msgid "You have successfully updated your %s."
|
1125 |
msgstr "Hai aggiornato con successo il tuo %s."
|
1126 |
|
1127 |
+
#: includes/i18n.php:677
|
1128 |
msgid "Please provide your full name."
|
1129 |
msgstr "Per favore inserisci il tuo nome completo."
|
1130 |
|
1131 |
+
#: includes/i18n.php:679
|
1132 |
msgid ""
|
1133 |
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1134 |
"please check your spam box."
|
1135 |
msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
|
1136 |
|
1137 |
+
#: includes/i18n.php:683
|
1138 |
msgid ""
|
1139 |
"Just letting you know that the add-ons information of %s is being pulled "
|
1140 |
"from an external server."
|
1141 |
msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
|
1142 |
|
1143 |
+
#: includes/i18n.php:687
|
1144 |
msgid "No credit card required"
|
1145 |
msgstr "Nessuna carta di credito richiesta"
|
1146 |
|
1147 |
+
#: includes/i18n.php:689
|
1148 |
msgid "Premium plugin version was successfully activated."
|
1149 |
msgstr "La versione Premium del plugin è stata attivata correttamente."
|
1150 |
|
1151 |
+
#: includes/i18n.php:693
|
1152 |
msgid "The upgrade of %s was successfully completed."
|
1153 |
msgstr "L'aggiornamento di %s è stato completato con successo."
|
1154 |
|
1155 |
+
#: includes/i18n.php:695
|
1156 |
msgid "Your account was successfully activated with the %s plan."
|
1157 |
msgstr "Il tuo account è stato attivato correttamente con il piano %s."
|
1158 |
|
1159 |
+
#: includes/i18n.php:699
|
1160 |
msgid "Download the latest %s version now"
|
1161 |
msgstr "Scarica l'ultima versione di %s"
|
1162 |
|
1163 |
+
#: includes/i18n.php:701
|
1164 |
msgid "Please follow these steps to complete the upgrade"
|
1165 |
msgstr "Segui i passi seguenti per completare l'aggiornamento"
|
1166 |
|
1167 |
+
#: includes/i18n.php:705
|
1168 |
msgid "Download the latest %s version"
|
1169 |
msgstr "Scarica l'ultima versione di %s"
|
1170 |
|
1171 |
+
#: includes/i18n.php:707
|
1172 |
+
msgid "Download the latest version"
|
1173 |
+
msgstr "Scarica l'ultima versione"
|
1174 |
+
|
1175 |
+
#: includes/i18n.php:709
|
1176 |
msgid "Deactivate the free version"
|
1177 |
msgstr "Disattiva la versione gratuita"
|
1178 |
|
1179 |
+
#: includes/i18n.php:711
|
1180 |
msgid "Upload and activate the downloaded version"
|
1181 |
msgstr "Carica e attiva la versione scaricata"
|
1182 |
|
1183 |
+
#: includes/i18n.php:713
|
1184 |
msgid "How to upload and activate?"
|
1185 |
msgstr "Come faccio a caricare ed attivare?"
|
1186 |
|
1187 |
+
#: includes/i18n.php:715
|
1188 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1189 |
msgid "%s Add-on was successfully purchased."
|
1190 |
msgstr "L' add-on %s è stato acquistato con successo."
|
1191 |
|
1192 |
+
#: includes/i18n.php:719
|
1193 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1194 |
msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
|
1195 |
|
1196 |
+
#: includes/i18n.php:723
|
1197 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1198 |
msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
|
1199 |
|
1200 |
+
#: includes/i18n.php:727
|
1201 |
msgid "Your plan was successfully upgraded."
|
1202 |
msgstr "Il piano è stato aggiornato con successo."
|
1203 |
|
1204 |
+
#: includes/i18n.php:729
|
1205 |
msgid "Your plan was successfully changed to %s."
|
1206 |
msgstr "Il piano è stato cambiato con successo a %s."
|
1207 |
|
1208 |
+
#: includes/i18n.php:731
|
1209 |
msgid ""
|
1210 |
"Your license has expired. You can still continue using the free plugin "
|
1211 |
"forever."
|
1212 |
msgstr "La licenza è scaduta. È comunque possibile continuare ad utilizzare il plugin gratuito per sempre."
|
1213 |
|
1214 |
+
#: includes/i18n.php:735
|
1215 |
msgid ""
|
1216 |
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1217 |
" support."
|
1218 |
msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
|
1219 |
|
1220 |
+
#: includes/i18n.php:739
|
1221 |
msgid "Your trial has been successfully started."
|
1222 |
msgstr "La versione di prova è stata avviata correttamente."
|
1223 |
|
1224 |
+
#: includes/i18n.php:741
|
1225 |
msgid "Your license was successfully activated."
|
1226 |
msgstr "La tua licenza è stata attivata correttamente."
|
1227 |
|
1228 |
+
#: includes/i18n.php:743
|
1229 |
msgid "It looks like your site currently doesn't have an active license."
|
1230 |
msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
|
1231 |
|
1232 |
+
#: includes/i18n.php:747
|
1233 |
msgid ""
|
1234 |
"Your license was successfully deactivated, you are back to the %s plan."
|
1235 |
msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
|
1236 |
|
1237 |
+
#: includes/i18n.php:751
|
1238 |
msgid "It looks like the license deactivation failed."
|
1239 |
msgstr "Sembra che la disattivazione della licenza non sia riuscita."
|
1240 |
|
1241 |
+
#: includes/i18n.php:755
|
1242 |
msgid "It looks like the license could not be activated."
|
1243 |
msgstr "Sembra che la licenza non possa essere attivata."
|
1244 |
|
1245 |
+
#: includes/i18n.php:759
|
1246 |
msgid "Error received from the server:"
|
1247 |
msgstr "Errore ricevuto dal server:"
|
1248 |
|
1249 |
+
#: includes/i18n.php:761
|
1250 |
msgid ""
|
1251 |
"Your trial has expired. You can still continue using all our free features."
|
1252 |
msgstr "La versione di prova è scaduta. Si può comunque continuare a utilizzare tutte le nostre funzioni gratuite."
|
1253 |
|
1254 |
+
#: includes/i18n.php:765
|
1255 |
msgid ""
|
1256 |
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1257 |
"%s."
|
1258 |
msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
|
1259 |
|
1260 |
+
#: includes/i18n.php:769
|
1261 |
msgid ""
|
1262 |
"Seems like we are having some temporary issue with your plan downgrade. "
|
1263 |
"Please try again in few minutes."
|
1264 |
msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
|
1265 |
|
1266 |
+
#: includes/i18n.php:773
|
1267 |
msgid ""
|
1268 |
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1269 |
" :)"
|
1270 |
msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
|
1271 |
|
1272 |
+
#: includes/i18n.php:777
|
1273 |
msgid "Your %s free trial was successfully cancelled."
|
1274 |
msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
|
1275 |
|
1276 |
+
#: includes/i18n.php:781
|
1277 |
msgctxt "%s - numeric version number"
|
1278 |
msgid "Version %s was released."
|
1279 |
msgstr "La versione %s é stata rilasciata."
|
1280 |
|
1281 |
+
#: includes/i18n.php:785
|
1282 |
msgid "Please download %s."
|
1283 |
msgstr "Scarica %s."
|
1284 |
|
1285 |
+
#: includes/i18n.php:787
|
1286 |
msgctxt "%s - plan name, as the latest professional version here"
|
1287 |
msgid "the latest %s version here"
|
1288 |
msgstr "l'ultima versione %s é quì"
|
1289 |
|
1290 |
+
#: includes/i18n.php:791
|
1291 |
msgid ""
|
1292 |
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1293 |
"free trial."
|
1294 |
msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
|
1295 |
|
1296 |
+
#: includes/i18n.php:795
|
1297 |
msgctxt "call to action"
|
1298 |
msgid "Start free trial"
|
1299 |
msgstr "Inizia il periodo di prova gratuito"
|
1300 |
|
1301 |
+
#: includes/i18n.php:797
|
1302 |
+
msgid "Starting trial"
|
1303 |
+
msgstr "Inizio del periodo di prova gratuito"
|
1304 |
+
|
1305 |
+
#: includes/i18n.php:799
|
1306 |
+
msgid "Please wait"
|
1307 |
+
msgstr "Attendere"
|
1308 |
+
|
1309 |
+
#: includes/i18n.php:801
|
1310 |
msgid ""
|
1311 |
"Seems like we are having some temporary issue with your trial cancellation. "
|
1312 |
"Please try again in few minutes."
|
1313 |
msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
|
1314 |
|
1315 |
+
#: includes/i18n.php:805
|
1316 |
msgid "You already utilized a trial before."
|
1317 |
msgstr "Hai già utilizzato una prova gratuita in passato."
|
1318 |
|
1319 |
+
#: includes/i18n.php:807
|
1320 |
msgid "You are already running the plugin in a trial mode."
|
1321 |
msgstr "Stai già usando il plugin in modalità di prova gratuita."
|
1322 |
|
1323 |
+
#: includes/i18n.php:811
|
1324 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1325 |
msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
|
1326 |
|
1327 |
+
#: includes/i18n.php:815
|
1328 |
msgid "Plan %s does not support a trial period."
|
1329 |
msgstr "Il piano %s non supporta il periodo di prova."
|
1330 |
|
1331 |
+
#: includes/i18n.php:817
|
1332 |
msgid "None of the plugin's plans supports a trial period."
|
1333 |
msgstr "Non esiste alcun piano del plugin che offra il periodo di prova."
|
1334 |
|
1335 |
+
#: includes/i18n.php:821
|
1336 |
msgid ""
|
1337 |
"Unexpected API error. Please contact the plugin's author with the following "
|
1338 |
"error."
|
1339 |
msgstr "Errore inaspettato dell'API. Per favore contatta l'autore del plugin riportando il seguente errore."
|
1340 |
|
1341 |
+
#: includes/i18n.php:825
|
1342 |
msgid "No commitment for %s days - cancel anytime!"
|
1343 |
msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
|
1344 |
|
1345 |
+
#: includes/i18n.php:827
|
1346 |
msgid ""
|
1347 |
"Your license has expired. You can still continue using all the %s features, "
|
1348 |
"but you'll need to renew your license to continue getting updates and "
|
1349 |
"support."
|
1350 |
msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
|
1351 |
|
1352 |
+
#: includes/i18n.php:831
|
1353 |
msgid "Couldn't activate %s."
|
1354 |
msgstr "Non é stato possibile attivare %s."
|
1355 |
|
1356 |
+
#: includes/i18n.php:833
|
1357 |
msgid "Please contact us with the following message:"
|
1358 |
msgstr "Contattaci con il seguente messaggio:"
|
1359 |
|
1360 |
+
#: includes/i18n.php:835
|
1361 |
msgid ""
|
1362 |
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1363 |
"your plan, it's probably an issue on our side - sorry."
|
1364 |
msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
|
1365 |
|
1366 |
+
#: includes/i18n.php:839
|
1367 |
msgid "Please contact us here"
|
1368 |
msgstr "Contattaci qui"
|
1369 |
|
1370 |
+
#: includes/i18n.php:841
|
1371 |
msgid ""
|
1372 |
"I have upgraded my account but when I try to Sync the License, the plan "
|
1373 |
"remains %s."
|
1374 |
msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
|
1375 |
|
1376 |
+
#: includes/i18n.php:849
|
1377 |
msgid "From unknown reason, the API connectivity test failed."
|
1378 |
msgstr "Il test di connettività dell'API ha fallito per motivi sconosciuti."
|
1379 |
|
1380 |
+
#: includes/i18n.php:853
|
1381 |
msgid ""
|
1382 |
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1383 |
"permission, would it be o.k to run another connectivity test?"
|
1384 |
msgstr "Si tratta probabilmente di un problema nei nostri sistemi. Per esserne sicuri, potresti darci il permesso di effettuare un ulteriore test della connettività? "
|
1385 |
|
1386 |
+
#: includes/i18n.php:857
|
1387 |
msgid ""
|
1388 |
"We use PHP cURL library for the API calls, which is a very common library "
|
1389 |
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1390 |
"on your server."
|
1391 |
msgstr "Utilizziamo la libreria PHP cURL per le chiamate alla nostra API. Questa libreria è molto comune ed è installata di base. Sfortunatamente cURL non è presente nel tuo server."
|
1392 |
|
1393 |
+
#: includes/i18n.php:861
|
1394 |
msgid ""
|
1395 |
"From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1396 |
msgstr "Per un motivo sconosciuto, CloudFlare, il firewall che utilizziamo, blocca la connessione."
|
1397 |
|
1398 |
+
#: includes/i18n.php:865
|
1399 |
msgctxt "as pluginX requires an access to our API"
|
1400 |
msgid "%s requires an access to our API."
|
1401 |
msgstr "%s richiede un accesso alla nostra API."
|
1402 |
|
1403 |
+
#: includes/i18n.php:869
|
1404 |
msgid ""
|
1405 |
"It looks like your server is using Squid ACL (access control lists), which "
|
1406 |
"blocks the connection."
|
1407 |
msgstr "Sembra che il tuo server stia usando Squid ACL (lista per il controllo degli accessi) il quale blocca la connessione."
|
1408 |
|
1409 |
+
#: includes/i18n.php:873
|
1410 |
msgid "I don't know what is Squid or ACL, help me!"
|
1411 |
msgstr "Non ho idea di cosa sia Squid o ACL, aiutami!"
|
1412 |
|
1413 |
+
#: includes/i18n.php875, includes/i18n.php:889
|
1414 |
msgid ""
|
1415 |
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1416 |
"will get a follow-up email to %s once we have an update."
|
1417 |
msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
|
1418 |
|
1419 |
+
#: includes/i18n.php:879
|
1420 |
msgid "I'm a system administrator"
|
1421 |
msgstr "Sono un sistemista"
|
1422 |
|
1423 |
+
#: includes/i18n.php:881
|
1424 |
msgid ""
|
1425 |
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1426 |
" the plugin and activate it again."
|
1427 |
msgstr "Perfetto, aggiungi alla whitelist i seguenti domini: %s. Una volta che hai fatto, disattiva il plugin e attivalo di nuovo."
|
1428 |
|
1429 |
+
#: includes/i18n.php:885
|
1430 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1431 |
msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
|
1432 |
|
1433 |
+
#: includes/i18n.php:893
|
1434 |
msgid ""
|
1435 |
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1436 |
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1437 |
"the plugin and reactivate it back again."
|
1438 |
msgstr "Perfetto, installa cURL ed attivalo nel tuo file php.ini. Per essere sicuro di averlo attivato con successo, usa \"phpinfo()\". Una volta attivato disattva il plugin e attivalo di nuovo."
|
1439 |
|
1440 |
+
#: includes/i18n.php:897
|
1441 |
msgid ""
|
1442 |
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1443 |
"you ASAP if you give us a chance."
|
1444 |
msgstr "Siamo sicuri che sia un nostro problema e siamo più che felici di risolverlo per te al più presto. Per poter procedere abbiamo bisogno del tuo consenso."
|
1445 |
|
1446 |
+
#: includes/i18n.php:901
|
1447 |
msgid ""
|
1448 |
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1449 |
msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo permesso."
|
1450 |
|
1451 |
+
#: includes/i18n.php:905
|
1452 |
msgid "Yes - I'm giving you a chance to fix it"
|
1453 |
msgstr "Sì - sto dandovi la possibilità di risolvere il problema"
|
1454 |
|
1455 |
+
#: includes/i18n.php:907
|
1456 |
msgid ""
|
1457 |
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1458 |
"You will get a follow-up email to %s once we have an update."
|
1459 |
msgstr "Faremo del nostro meglio per mettere il server in whitelist e risolvere il problema il prima possibile. Avrai un aggiornamento dello stato tramite email all'indirizzo %s."
|
1460 |
|
1461 |
+
#: includes/i18n.php:911
|
1462 |
msgid "Let's try your previous version"
|
1463 |
msgstr "Proviamo con la versione precedente"
|
1464 |
|
1465 |
+
#: includes/i18n.php:913
|
1466 |
msgid "Uninstall this version and install the previous one."
|
1467 |
msgstr "Disinstalla questa versione e installa quella precedente."
|
1468 |
|
1469 |
+
#: includes/i18n.php:917
|
1470 |
msgid "That's exhausting, please deactivate"
|
1471 |
msgstr "È estenuante, disattivalo"
|
1472 |
|
1473 |
+
#: includes/i18n.php:919
|
1474 |
msgid ""
|
1475 |
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1476 |
" to see you again in the future."
|
1477 |
msgstr "Capiamo la tua frustrazione e ci scusiamo per l'inconveniente. Speriamo di rivederti nuovamente in futuro."
|
1478 |
|
1479 |
+
#: includes/i18n.php:923
|
1480 |
msgid ""
|
1481 |
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1482 |
"technical staff. We will get back to you as soon as we have an update to %s."
|
1483 |
" Appreciate your patience."
|
1484 |
msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
|
1485 |
|
1486 |
+
#: includes/i18n.php:927
|
1487 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1488 |
msgid ""
|
1489 |
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1490 |
"%1s synchronization. Please contact your host to whitelist %2s"
|
1491 |
msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
|
1492 |
|
1493 |
+
#: includes/i18n.php:931
|
1494 |
msgid ""
|
1495 |
"It seems like one of the authentication parameters is wrong. Update your "
|
1496 |
"Public Key, Secret Key & User ID, and try again."
|
1497 |
msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
|
1498 |
|
1499 |
+
#: includes/i18n.php:939
|
1500 |
msgid ""
|
1501 |
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1502 |
" ownership change. From security reasons, you must confirm the change within"
|
1504 |
"folder."
|
1505 |
msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
|
1506 |
|
1507 |
+
#: includes/i18n.php:943
|
1508 |
msgid ""
|
1509 |
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1510 |
" final approval."
|
1511 |
msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
|
1512 |
|
1513 |
+
#: includes/i18n.php:947
|
1514 |
msgid "%s is the new owner of the account."
|
1515 |
msgstr "%s è il nuovo proprietario dell'account."
|
1516 |
|
1517 |
+
#: includes/i18n.php:951
|
1518 |
msgctxt "addonX cannot run without pluginY"
|
1519 |
msgid "%s cannot run without %s."
|
1520 |
msgstr "%s non può funzionare senza %s."
|
1521 |
|
1522 |
+
#: includes/i18n.php:955
|
1523 |
msgctxt "addonX cannot run..."
|
1524 |
msgid "%s cannot run without the plugin."
|
1525 |
msgstr "%s non può funzionare senza il plugin."
|
1526 |
|
1527 |
+
#: includes/i18n.php:959
|
1528 |
msgctxt "pluginX activation was successfully..."
|
1529 |
msgid "%s activation was successfully completed."
|
1530 |
msgstr "%s è stato attivato con successo."
|
1531 |
|
1532 |
+
#: includes/i18n.php:963
|
1533 |
msgctxt "Plugin installer section title"
|
1534 |
msgid "Features & Pricing"
|
1535 |
msgstr "Caratteristiche & prezzi"
|
1536 |
|
1537 |
+
#: includes/i18n.php:967
|
1538 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1539 |
msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
|
1540 |
|
1541 |
+
#: includes/i18n.php:971
|
1542 |
msgid "Paid add-on must be deployed to Freemius."
|
1543 |
msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
|
1544 |
|
1545 |
+
#: includes/i18n.php:979
|
1546 |
msgid ""
|
1547 |
"%s is a premium only add-on. You have to purchase a license first before "
|
1548 |
"activating the plugin."
|
1549 |
msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
|
1550 |
|
1551 |
+
#: includes/i18n.php:983
|
1552 |
msgid ""
|
1553 |
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1554 |
"it was automatically deactivated. If you like to use it in the future, "
|
1555 |
"you'll have to purchase a license."
|
1556 |
msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
|
1557 |
|
1558 |
+
#: includes/i18n.php:995
|
1559 |
msgctxt "as every month"
|
1560 |
msgid "Monthly"
|
1561 |
msgstr "Mensilmente"
|
1562 |
|
1563 |
+
#: includes/i18n.php:997
|
1564 |
msgctxt "as monthly period"
|
1565 |
msgid "mo"
|
1566 |
msgstr "mese"
|
1567 |
|
1568 |
+
#: includes/i18n.php:999
|
1569 |
msgctxt "as once a year"
|
1570 |
msgid "Annual"
|
1571 |
msgstr "Annuale"
|
1572 |
|
1573 |
+
#: includes/i18n.php:1001
|
1574 |
msgctxt "as once a year"
|
1575 |
msgid "Annually"
|
1576 |
msgstr "Annualmente"
|
1577 |
|
1578 |
+
#: includes/i18n.php:1003
|
1579 |
msgctxt "as once a year"
|
1580 |
msgid "Once"
|
1581 |
msgstr "Una volta"
|
1582 |
|
1583 |
+
#: includes/i18n.php:1005
|
1584 |
msgctxt "as annual period"
|
1585 |
msgid "year"
|
1586 |
msgstr "anno"
|
1587 |
|
1588 |
+
#: includes/i18n.php:1007
|
1589 |
msgid "Lifetime"
|
1590 |
msgstr "Tutta la vita"
|
1591 |
|
1592 |
+
#: includes/i18n.php:1009
|
1593 |
msgctxt "e.g. the best product"
|
1594 |
msgid "Best"
|
1595 |
msgstr "Migliore"
|
1596 |
|
1597 |
+
#: includes/i18n.php:1011
|
1598 |
msgctxt "e.g. billed monthly"
|
1599 |
msgid "Billed %s"
|
1600 |
msgstr "Fatturato %s"
|
1601 |
|
1602 |
+
#: includes/i18n.php:1013
|
1603 |
msgctxt "as a discount of $5 or 10%"
|
1604 |
msgid "Save %s"
|
1605 |
msgstr "Risparmia %s"
|
1606 |
|
1607 |
+
#: includes/i18n.php:1017
|
1608 |
msgid "View details"
|
1609 |
msgstr "Visualizza dettagli"
|
1610 |
+
|
1611 |
+
#: includes/i18n.php:1025
|
1612 |
+
msgctxt "button label"
|
1613 |
+
msgid "Approve & Start Trial"
|
1614 |
+
msgstr "Approva e inizia il periodo di prova gratuito"
|
1615 |
+
|
1616 |
+
#: includes/i18n.php:1029
|
1617 |
+
msgid ""
|
1618 |
+
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1619 |
+
"plan."
|
1620 |
+
msgstr "Sei a un clic di distanza dall'iniziare il tuo periodo di prova gratuito di %1$s giorni per il piano %2$s."
|
1621 |
+
|
1622 |
+
#: includes/i18n.php:1033
|
1623 |
+
msgid ""
|
1624 |
+
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1625 |
+
"we ask that you opt-in with your user and non-sensitive site information, "
|
1626 |
+
"allowing the plugin to periodically send data to %s to check for version "
|
1627 |
+
"updates and to validate your trial."
|
1628 |
+
msgstr "Per seguire le linee guida di WordPress, prima di iniziare il periodo di prova ti chiediamo di iscriverti con il tuo utente e i dati non sensibili inerenti al tuo sito, così da permettere periodicamente al plugin di inviare dati a %s per poter controllare la presenza di nuove versioni e convalidare il tuo periodo di prova gratuito."
|
1629 |
+
|
1630 |
+
#: includes/i18n.php:1045
|
1631 |
+
msgid "Business name"
|
1632 |
+
msgstr "Nome della compagnia"
|
1633 |
+
|
1634 |
+
#: includes/i18n.php:1047
|
1635 |
+
msgid "Tax / VAT ID"
|
1636 |
+
msgstr "Numero Partita Iva o VAT"
|
1637 |
+
|
1638 |
+
#: includes/i18n.php:1049
|
1639 |
+
msgid "Address Line %d"
|
1640 |
+
msgstr "Riga indirizzo %d"
|
1641 |
+
|
1642 |
+
#: includes/i18n.php:1051
|
1643 |
+
msgid "Country"
|
1644 |
+
msgstr "Nazione"
|
1645 |
+
|
1646 |
+
#: includes/i18n.php:1053
|
1647 |
+
msgid "Select Country"
|
1648 |
+
msgstr "Seleziona Nazione"
|
1649 |
+
|
1650 |
+
#: includes/i18n.php:1055
|
1651 |
+
msgid "City"
|
1652 |
+
msgstr "Città"
|
1653 |
+
|
1654 |
+
#: includes/i18n.php:1057
|
1655 |
+
msgid "Town"
|
1656 |
+
msgstr "Cittadina"
|
1657 |
+
|
1658 |
+
#: includes/i18n.php:1059
|
1659 |
+
msgid "State"
|
1660 |
+
msgstr "Stato"
|
1661 |
+
|
1662 |
+
#: includes/i18n.php:1061
|
1663 |
+
msgid "Province"
|
1664 |
+
msgstr "Provincia"
|
1665 |
+
|
1666 |
+
#: includes/i18n.php:1063
|
1667 |
+
msgid "ZIP / Postal Code"
|
1668 |
+
msgstr "CAP"
|
freemius/languages/freemius.pot
CHANGED
@@ -133,1267 +133,1393 @@ msgid "Edit"
|
|
133 |
msgstr ""
|
134 |
|
135 |
#: includes/i18n.php:119
|
136 |
-
|
|
|
137 |
msgstr ""
|
138 |
|
139 |
#: includes/i18n.php:121
|
140 |
-
msgid "
|
141 |
msgstr ""
|
142 |
|
143 |
#: includes/i18n.php:123
|
144 |
-
msgid "
|
145 |
msgstr ""
|
146 |
|
147 |
#: includes/i18n.php:125
|
148 |
-
msgid "
|
149 |
msgstr ""
|
150 |
|
151 |
#: includes/i18n.php:127
|
152 |
-
msgid "
|
153 |
msgstr ""
|
154 |
|
155 |
#: includes/i18n.php:129
|
156 |
-
msgid "
|
157 |
msgstr ""
|
158 |
|
159 |
#: includes/i18n.php:131
|
|
|
|
|
|
|
|
|
160 |
msgctxt "as close a window"
|
161 |
msgid "Dismiss"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgctxt "as product pricing plan"
|
166 |
msgid "Plan"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: includes/i18n.php:
|
170 |
msgid "Change Plan"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as download professional version"
|
175 |
msgid "Download %s Version"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgctxt "as download professional version now"
|
180 |
msgid "Download %s version now"
|
181 |
msgstr ""
|
182 |
|
183 |
-
#: includes/i18n.php:
|
184 |
msgctxt "as download latest version"
|
185 |
msgid "Download Latest"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: includes/i18n.php:
|
189 |
msgctxt "E.g. you have a professional license."
|
190 |
msgid "You have a %s license."
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: includes/i18n.php:
|
194 |
msgid "New"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgid "Free"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: includes/i18n.php:
|
202 |
msgctxt "as trial plan"
|
203 |
msgid "Trial"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
207 |
msgctxt "verb"
|
208 |
msgid "Purchase"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: includes/i18n.php:
|
212 |
msgid "Purchase License"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: includes/i18n.php:
|
216 |
msgctxt "verb"
|
217 |
msgid "Buy"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgid "Buy License"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: includes/i18n.php:
|
225 |
msgid "Single Site License"
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: includes/i18n.php:
|
229 |
msgid "Unlimited Licenses"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: includes/i18n.php:
|
233 |
msgid "Up to %s Sites"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: includes/i18n.php:
|
237 |
msgid "%sRenew your license now%s to access version %s features and support."
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: includes/i18n.php:
|
241 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: includes/i18n.php:
|
245 |
msgctxt "e.g. Professional Plan"
|
246 |
msgid "%s Plan"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: includes/i18n.php:
|
250 |
msgid "You are just one step away - %s"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: includes/i18n.php:
|
254 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
255 |
msgid "Complete \"%s\" Activation Now"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: includes/i18n.php:
|
259 |
msgid "We made a few tweaks to the plugin, %s"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: includes/i18n.php:
|
263 |
msgid "Opt-in to make \"%s\" Better!"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: includes/i18n.php:
|
267 |
msgid "Error"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: includes/i18n.php:
|
271 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgctxt "as expiration date"
|
276 |
msgid "Expiration"
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: includes/i18n.php:
|
280 |
msgctxt "as software license"
|
281 |
msgid "License"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: includes/i18n.php:
|
285 |
msgid "not verified"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: includes/i18n.php:
|
289 |
msgid "Verify Email"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: includes/i18n.php:
|
293 |
msgctxt "e.g. expires in 2 months"
|
294 |
msgid "Expires in %s"
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "e.g. auto renews in 2 months"
|
299 |
msgid "Auto renews in %s"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "No expiration"
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgid "Expired"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: includes/i18n.php:
|
311 |
msgid "Cancelled"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: includes/i18n.php:
|
315 |
msgctxt "e.g. In 2 hours"
|
316 |
msgid "In %s"
|
317 |
msgstr ""
|
318 |
|
319 |
-
#: includes/i18n.php:
|
320 |
msgctxt "e.g. 2 min ago"
|
321 |
msgid "%s ago"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgctxt "as plugin version"
|
326 |
msgid "Version"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: includes/i18n.php:
|
330 |
msgid "Name"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: includes/i18n.php:
|
334 |
msgid "Email"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: includes/i18n.php:
|
338 |
msgid "Email address"
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: includes/i18n.php:
|
342 |
msgid "Verified"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: includes/i18n.php:
|
346 |
msgid "Plugin"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: includes/i18n.php:
|
350 |
msgid "Plugins"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: includes/i18n.php:
|
354 |
msgid "Themes"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: includes/i18n.php:
|
358 |
msgctxt "as file/folder path"
|
359 |
msgid "Path"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: includes/i18n.php:
|
363 |
msgid "Title"
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: includes/i18n.php:
|
367 |
msgid "Free version"
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: includes/i18n.php:
|
371 |
msgid "Premium version"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: includes/i18n.php:
|
375 |
msgctxt "as WP plugin slug"
|
376 |
msgid "Slug"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: includes/i18n.php:
|
380 |
msgid "ID"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: includes/i18n.php:
|
384 |
msgid "Users"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: includes/i18n.php:
|
388 |
msgid "Plugin Installs"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: includes/i18n.php:
|
392 |
msgctxt "like websites"
|
393 |
msgid "Sites"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: includes/i18n.php:
|
397 |
msgid "User ID"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: includes/i18n.php:
|
401 |
msgid "Site ID"
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: includes/i18n.php:
|
405 |
msgid "Public Key"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: includes/i18n.php:
|
409 |
msgid "Secret Key"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: includes/i18n.php:
|
413 |
msgctxt "as secret encryption key missing"
|
414 |
msgid "No Secret"
|
415 |
msgstr ""
|
416 |
|
417 |
-
#: includes/i18n.php:
|
418 |
msgid "No ID"
|
419 |
msgstr ""
|
420 |
|
421 |
-
#: includes/i18n.php:
|
422 |
msgctxt "as synchronize license"
|
423 |
msgid "Sync License"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgctxt "as synchronize"
|
428 |
msgid "Sync"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: includes/i18n.php:
|
432 |
msgid "Activate License"
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: includes/i18n.php:
|
436 |
msgid "Activate Free Version"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: includes/i18n.php:
|
444 |
msgid "Activating license..."
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: includes/i18n.php:
|
448 |
msgid "Change License"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: includes/i18n.php:
|
452 |
msgid "Update License"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: includes/i18n.php:
|
456 |
msgid "Deactivate License"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: includes/i18n.php:
|
460 |
msgid "Activate"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: includes/i18n.php:
|
464 |
msgid "Deactivate"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: includes/i18n.php:
|
468 |
msgid "Skip & Deactivate"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: includes/i18n.php:
|
472 |
msgid "No - just deactivate"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: includes/i18n.php:
|
476 |
msgid "Yes - do your thing"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgctxt "active mode"
|
481 |
msgid "Active"
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: includes/i18n.php:
|
485 |
msgctxt "is active mode?"
|
486 |
msgid "Is Active"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: includes/i18n.php:
|
490 |
msgid "Install Now"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/i18n.php:
|
494 |
msgid "Install Update Now"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: includes/i18n.php:
|
498 |
msgid "More information about %s"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: includes/i18n.php:
|
502 |
msgid "Localhost"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: includes/i18n.php:
|
506 |
msgctxt "as activate Professional plan"
|
507 |
msgid "Activate %s Plan"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/i18n.php:
|
511 |
msgctxt "as 5 licenses left"
|
512 |
msgid "%s left"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: includes/i18n.php:
|
516 |
msgid "Last license"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/i18n.php:
|
520 |
msgid "What is your %s?"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: includes/i18n.php:
|
524 |
msgid "Activate this add-on"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: includes/i18n.php:
|
528 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: includes/i18n.php:
|
532 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
533 |
msgstr ""
|
534 |
|
535 |
-
#: includes/i18n.php:
|
536 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
537 |
msgstr ""
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: includes/i18n.php:
|
544 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: includes/i18n.php:
|
548 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: includes/i18n.php:
|
552 |
msgid "Once your license expire you can still use the Free version but you will NOT have access to the %s features."
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: includes/i18n.php:
|
556 |
msgid "Are you sure you want to proceed?"
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: includes/i18n.php:
|
560 |
msgid "Add Ons for %s"
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: includes/i18n.php:
|
564 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: includes/i18n.php:
|
568 |
msgid "Anonymous feedback"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: includes/i18n.php:
|
572 |
msgid "Quick feedback"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: includes/i18n.php:
|
576 |
msgid "If you have a moment, please let us know why you are deactivating"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: includes/i18n.php:
|
580 |
msgid "Yes - Deactivate"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: includes/i18n.php:
|
584 |
msgid "Submit & Deactivate"
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: includes/i18n.php:
|
588 |
-
msgctxt "the text of the cancel button of the plugin deactivation dialog box."
|
589 |
msgid "Cancel"
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "I no longer need the plugin"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "I found a better plugin"
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
msgid "I only needed the plugin for a short period"
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: includes/i18n.php:
|
605 |
msgid "The plugin broke my site"
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: includes/i18n.php:
|
609 |
msgid "The plugin suddenly stopped working"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: includes/i18n.php:
|
613 |
msgid "I can't pay for it anymore"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: includes/i18n.php:
|
617 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: includes/i18n.php:
|
621 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
622 |
msgid "Other"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: includes/i18n.php:
|
626 |
msgid "Kindly tell us the reason so we can improve."
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: includes/i18n.php:
|
630 |
msgid "What's the plugin's name?"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: includes/i18n.php:
|
634 |
msgid "What price would you feel comfortable paying?"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: includes/i18n.php:
|
638 |
msgid "I couldn't understand how to make it work"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: includes/i18n.php:
|
642 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: includes/i18n.php:
|
646 |
msgid "The plugin is not working"
|
647 |
msgstr ""
|
648 |
|
649 |
-
#: includes/i18n.php:
|
650 |
msgid "It's not what I was looking for"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: includes/i18n.php:
|
654 |
msgid "The plugin didn't work as expected"
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: includes/i18n.php:
|
658 |
msgid "What feature?"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: includes/i18n.php:
|
662 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "What you've been looking for?"
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "What did you expect?"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "The plugin didn't work"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "I don't like to share my information with you"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: includes/i18n.php:
|
686 |
msgctxt "greeting"
|
687 |
msgid "Hey %s,"
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: includes/i18n.php:
|
691 |
msgctxt "a greeting. E.g. Thanks John!"
|
692 |
msgid "Thanks %s!"
|
693 |
msgstr ""
|
694 |
|
695 |
-
#: includes/i18n.php:
|
696 |
-
msgid "
|
697 |
msgstr ""
|
698 |
|
699 |
-
#: includes/i18n.php:
|
700 |
-
msgid "Please help us improve %
|
701 |
msgstr ""
|
702 |
|
703 |
-
#: includes/i18n.php:
|
704 |
-
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to
|
705 |
msgstr ""
|
706 |
|
707 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
708 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: includes/i18n.php:
|
712 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: includes/i18n.php:
|
716 |
msgid "What permissions are being granted?"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: includes/i18n.php:
|
720 |
msgid "Your Profile Overview"
|
721 |
msgstr ""
|
722 |
|
723 |
-
#: includes/i18n.php:
|
724 |
msgid "Name and email address"
|
725 |
msgstr ""
|
726 |
|
727 |
-
#: includes/i18n.php:
|
728 |
msgid "Your Site Overview"
|
729 |
msgstr ""
|
730 |
|
731 |
-
#: includes/i18n.php:
|
732 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: includes/i18n.php:
|
736 |
msgid "Current Plugin Events"
|
737 |
msgstr ""
|
738 |
|
739 |
-
#: includes/i18n.php:
|
740 |
msgid "Activation, deactivation and uninstall"
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: includes/i18n.php:
|
744 |
msgid "Plugins & Themes"
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: includes/i18n.php:
|
748 |
msgid "Titles, versions and state."
|
749 |
msgstr ""
|
750 |
|
751 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
752 |
msgid "Newsletter"
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: includes/i18n.php:
|
756 |
msgid "Updates, announcements, marketing, no spam"
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: includes/i18n.php:
|
760 |
msgid "Privacy Policy"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: includes/i18n.php:
|
764 |
msgid "Terms of Service"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: includes/i18n.php:
|
768 |
msgctxt "as activating plugin"
|
769 |
msgid "Activating"
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: includes/i18n.php:
|
773 |
msgctxt "as in the process of sending an email"
|
774 |
msgid "Sending email"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: includes/i18n.php:
|
778 |
msgctxt "button label"
|
779 |
msgid "Allow & Continue"
|
780 |
msgstr ""
|
781 |
|
782 |
-
#: includes/i18n.php:
|
783 |
msgctxt "button label"
|
784 |
msgid "Agree & Activate License"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: includes/i18n.php:
|
788 |
msgctxt "verb"
|
789 |
msgid "Skip"
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: includes/i18n.php:
|
793 |
msgid "Click here to use the plugin anonymously"
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "Re-send activation email"
|
798 |
msgstr ""
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "License key"
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Send License Key"
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Sending license key"
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Have a license key?"
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Don't have a license key?"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Can't find your license key?"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
825 |
msgid "Screenshots"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Click to view full-size screenshot %d"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgid "Freemius Debug"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: includes/i18n.php:
|
837 |
msgctxt "as turned on"
|
838 |
msgid "On"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: includes/i18n.php:
|
842 |
msgctxt "as turned off"
|
843 |
msgid "Off"
|
844 |
msgstr ""
|
845 |
|
846 |
-
#: includes/i18n.php:
|
847 |
msgctxt "as code debugging"
|
848 |
msgid "Debugging"
|
849 |
msgstr ""
|
850 |
|
851 |
-
#: includes/i18n.php:
|
852 |
msgid "Freemius State"
|
853 |
msgstr ""
|
854 |
|
855 |
-
#: includes/i18n.php:
|
856 |
msgctxt "as connection was successful"
|
857 |
msgid "Connected"
|
858 |
msgstr ""
|
859 |
|
860 |
-
#: includes/i18n.php:
|
861 |
msgctxt "as connection blocked"
|
862 |
msgid "Blocked"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: includes/i18n.php:
|
866 |
msgctxt "as application program interface"
|
867 |
msgid "API"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: includes/i18n.php:
|
871 |
msgctxt "as software development kit versions"
|
872 |
msgid "SDK"
|
873 |
msgstr ""
|
874 |
|
875 |
-
#: includes/i18n.php:
|
876 |
msgctxt "as software development kit versions"
|
877 |
msgid "SDK Versions"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: includes/i18n.php:
|
881 |
msgctxt "as plugin folder path"
|
882 |
msgid "Plugin Path"
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgctxt "as sdk path"
|
887 |
msgid "SDK Path"
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: includes/i18n.php:
|
891 |
msgid "Add Ons of Plugin %s"
|
892 |
msgstr ""
|
893 |
|
894 |
-
#: includes/i18n.php:
|
895 |
msgid "Are you sure you want to delete all Freemius data?"
|
896 |
msgstr ""
|
897 |
|
898 |
-
#: includes/i18n.php:
|
899 |
msgid "Actions"
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: includes/i18n.php:
|
903 |
msgid "Delete All Accounts"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: includes/i18n.php:
|
907 |
msgid "Start Fresh"
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: includes/i18n.php:
|
911 |
msgid "Clear API Cache"
|
912 |
msgstr ""
|
913 |
|
914 |
-
#: includes/i18n.php:
|
915 |
msgid "Sync Data From Server"
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: includes/i18n.php:
|
919 |
msgid "Scheduled Crons"
|
920 |
msgstr ""
|
921 |
|
922 |
-
#: includes/i18n.php:
|
923 |
msgid "Plugins & Themes Sync"
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: includes/i18n.php:
|
927 |
msgctxt "as congratulations"
|
928 |
msgid "Congrats"
|
929 |
msgstr ""
|
930 |
|
931 |
-
#: includes/i18n.php:
|
932 |
msgctxt "exclamation"
|
933 |
msgid "Oops"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: includes/i18n.php:
|
937 |
msgctxt "interjection expressing joy or exuberance"
|
938 |
msgid "Yee-haw"
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: includes/i18n.php:
|
942 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
943 |
msgid "W00t"
|
944 |
msgstr ""
|
945 |
|
946 |
-
#: includes/i18n.php:
|
947 |
msgctxt "a positive response"
|
948 |
msgid "Right on"
|
949 |
msgstr ""
|
950 |
|
951 |
-
#: includes/i18n.php:
|
952 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
953 |
msgid "Hmm"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: includes/i18n.php:
|
957 |
msgid "O.K"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: includes/i18n.php:
|
961 |
msgctxt "exclamation"
|
962 |
msgid "Hey"
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: includes/i18n.php:
|
966 |
msgctxt "advance notice of something that will need attention."
|
967 |
msgid "Heads up"
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: includes/i18n.php:
|
971 |
msgid "Seems like you got the latest release."
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: includes/i18n.php:
|
975 |
msgid "You are all good!"
|
976 |
msgstr ""
|
977 |
|
978 |
-
#: includes/i18n.php:
|
979 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: includes/i18n.php:
|
983 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: includes/i18n.php:
|
991 |
msgid "Your name was successfully updated."
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: includes/i18n.php:
|
995 |
msgid "You have successfully updated your %s."
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: includes/i18n.php:
|
999 |
msgid "Please provide your full name."
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: includes/i18n.php:
|
1003 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1008 |
msgstr ""
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "No credit card required"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Premium plugin version was successfully activated."
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "The upgrade of %s was successfully completed."
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "Your account was successfully activated with the %s plan."
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Download the latest %s version now"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Please follow these steps to complete the upgrade"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Download the latest %s version"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1039 |
msgid "Deactivate the free version"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
1043 |
msgid "Upload and activate the downloaded version"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: includes/i18n.php:
|
1047 |
msgid "How to upload and activate?"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: includes/i18n.php:
|
1051 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1052 |
msgid "%s Add-on was successfully purchased."
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: includes/i18n.php:
|
1056 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: includes/i18n.php:
|
1060 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: includes/i18n.php:
|
1064 |
msgid "Your plan was successfully upgraded."
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: includes/i18n.php:
|
1068 |
msgid "Your plan was successfully changed to %s."
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: includes/i18n.php:
|
1072 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: includes/i18n.php:
|
1076 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: includes/i18n.php:
|
1080 |
msgid "Your trial has been successfully started."
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: includes/i18n.php:
|
1084 |
msgid "Your license was successfully activated."
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: includes/i18n.php:
|
1088 |
msgid "It looks like your site currently doesn't have an active license."
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: includes/i18n.php:
|
1092 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: includes/i18n.php:
|
1096 |
msgid "It looks like the license deactivation failed."
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: includes/i18n.php:
|
1100 |
msgid "It looks like the license could not be activated."
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: includes/i18n.php:
|
1104 |
msgid "Error received from the server:"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: includes/i18n.php:
|
1108 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: includes/i18n.php:
|
1112 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: includes/i18n.php:
|
1116 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: includes/i18n.php:
|
1120 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: includes/i18n.php:
|
1124 |
msgid "Your %s free trial was successfully cancelled."
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: includes/i18n.php:
|
1128 |
msgctxt "%s - numeric version number"
|
1129 |
msgid "Version %s was released."
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: includes/i18n.php:
|
1133 |
msgid "Please download %s."
|
1134 |
msgstr ""
|
1135 |
|
1136 |
-
#: includes/i18n.php:
|
1137 |
msgctxt "%s - plan name, as the latest professional version here"
|
1138 |
msgid "the latest %s version here"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: includes/i18n.php:
|
1142 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: includes/i18n.php:
|
1146 |
msgctxt "call to action"
|
1147 |
msgid "Start free trial"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1151 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1152 |
msgstr ""
|
1153 |
|
1154 |
-
#: includes/i18n.php:
|
1155 |
msgid "You already utilized a trial before."
|
1156 |
msgstr ""
|
1157 |
|
1158 |
-
#: includes/i18n.php:
|
1159 |
msgid "You are already running the plugin in a trial mode."
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: includes/i18n.php:
|
1163 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1164 |
msgstr ""
|
1165 |
|
1166 |
-
#: includes/i18n.php:
|
1167 |
msgid "Plan %s does not support a trial period."
|
1168 |
msgstr ""
|
1169 |
|
1170 |
-
#: includes/i18n.php:
|
1171 |
msgid "None of the plugin's plans supports a trial period."
|
1172 |
msgstr ""
|
1173 |
|
1174 |
-
#: includes/i18n.php:
|
1175 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#: includes/i18n.php:
|
1179 |
msgid "No commitment for %s days - cancel anytime!"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: includes/i18n.php:
|
1183 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
msgid "Couldn't activate %s."
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: includes/i18n.php:
|
1191 |
msgid "Please contact us with the following message:"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: includes/i18n.php:
|
1195 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: includes/i18n.php:
|
1199 |
msgid "Please contact us here"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: includes/i18n.php:
|
1203 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: includes/i18n.php:
|
1207 |
msgid "From unknown reason, the API connectivity test failed."
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: includes/i18n.php:
|
1211 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: includes/i18n.php:
|
1215 |
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: includes/i18n.php:
|
1219 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: includes/i18n.php:
|
1223 |
msgctxt "as pluginX requires an access to our API"
|
1224 |
msgid "%s requires an access to our API."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: includes/i18n.php:
|
1228 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1229 |
msgstr ""
|
1230 |
|
1231 |
-
#: includes/i18n.php:
|
1232 |
msgid "I don't know what is Squid or ACL, help me!"
|
1233 |
msgstr ""
|
1234 |
|
1235 |
-
#: includes/i18n.php:
|
1236 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1237 |
msgstr ""
|
1238 |
|
1239 |
-
#: includes/i18n.php:
|
1240 |
msgid "I'm a system administrator"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
-
#: includes/i18n.php:
|
1244 |
msgid "Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again."
|
1245 |
msgstr ""
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
-
#: includes/i18n.php:
|
1252 |
msgid "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1253 |
msgstr ""
|
1254 |
|
1255 |
-
#: includes/i18n.php:
|
1256 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1261 |
msgstr ""
|
1262 |
|
1263 |
-
#: includes/i18n.php:
|
1264 |
msgid "Yes - I'm giving you a chance to fix it"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
-
#: includes/i18n.php:
|
1268 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: includes/i18n.php:
|
1272 |
msgid "Let's try your previous version"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
-
#: includes/i18n.php:
|
1276 |
msgid "Uninstall this version and install the previous one."
|
1277 |
msgstr ""
|
1278 |
|
1279 |
-
#: includes/i18n.php:
|
1280 |
msgid "That's exhausting, please deactivate"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
-
#: includes/i18n.php:
|
1284 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1285 |
msgstr ""
|
1286 |
|
1287 |
-
#: includes/i18n.php:
|
1288 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1289 |
msgstr ""
|
1290 |
|
1291 |
-
#: includes/i18n.php:
|
1292 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1293 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: includes/i18n.php:
|
1297 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: includes/i18n.php:
|
1301 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: includes/i18n.php:
|
1305 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#: includes/i18n.php:
|
1309 |
msgid "%s is the new owner of the account."
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: includes/i18n.php:
|
1313 |
msgctxt "addonX cannot run without pluginY"
|
1314 |
msgid "%s cannot run without %s."
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: includes/i18n.php:
|
1318 |
msgctxt "addonX cannot run..."
|
1319 |
msgid "%s cannot run without the plugin."
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#: includes/i18n.php:
|
1323 |
msgctxt "pluginX activation was successfully..."
|
1324 |
msgid "%s activation was successfully completed."
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: includes/i18n.php:
|
1328 |
msgctxt "Plugin installer section title"
|
1329 |
msgid "Features & Pricing"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: includes/i18n.php:
|
1333 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: includes/i18n.php:
|
1337 |
msgid "Paid add-on must be deployed to Freemius."
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: includes/i18n.php:
|
1341 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: includes/i18n.php:
|
1345 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1346 |
msgstr ""
|
1347 |
|
1348 |
-
#: includes/i18n.php:
|
1349 |
msgctxt "as every month"
|
1350 |
msgid "Monthly"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: includes/i18n.php:
|
1354 |
msgctxt "as monthly period"
|
1355 |
msgid "mo"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: includes/i18n.php:
|
1359 |
msgctxt "as once a year"
|
1360 |
msgid "Annual"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
msgctxt "as once a year"
|
1365 |
msgid "Annually"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
-
#: includes/i18n.php:
|
1369 |
msgctxt "as once a year"
|
1370 |
msgid "Once"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: includes/i18n.php:
|
1374 |
msgctxt "as annual period"
|
1375 |
msgid "year"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
-
#: includes/i18n.php:
|
1379 |
msgid "Lifetime"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
-
#: includes/i18n.php:
|
1383 |
msgctxt "e.g. the best product"
|
1384 |
msgid "Best"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
-
#: includes/i18n.php:
|
1388 |
msgctxt "e.g. billed monthly"
|
1389 |
msgid "Billed %s"
|
1390 |
msgstr ""
|
1391 |
|
1392 |
-
#: includes/i18n.php:
|
1393 |
msgctxt "as a discount of $5 or 10%"
|
1394 |
msgid "Save %s"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: includes/i18n.php:
|
1398 |
msgid "View details"
|
1399 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
msgstr ""
|
134 |
|
135 |
#: includes/i18n.php:119
|
136 |
+
msgctxt "verb"
|
137 |
+
msgid "Update"
|
138 |
msgstr ""
|
139 |
|
140 |
#: includes/i18n.php:121
|
141 |
+
msgid "Date"
|
142 |
msgstr ""
|
143 |
|
144 |
#: includes/i18n.php:123
|
145 |
+
msgid "Amount"
|
146 |
msgstr ""
|
147 |
|
148 |
#: includes/i18n.php:125
|
149 |
+
msgid "Invoice"
|
150 |
msgstr ""
|
151 |
|
152 |
#: includes/i18n.php:127
|
153 |
+
msgid "Billing"
|
154 |
msgstr ""
|
155 |
|
156 |
#: includes/i18n.php:129
|
157 |
+
msgid "Payments"
|
158 |
msgstr ""
|
159 |
|
160 |
#: includes/i18n.php:131
|
161 |
+
msgid "Delete Account"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: includes/i18n.php:133
|
165 |
msgctxt "as close a window"
|
166 |
msgid "Dismiss"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: includes/i18n.php:135
|
170 |
msgctxt "as product pricing plan"
|
171 |
msgid "Plan"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: includes/i18n.php:137
|
175 |
msgid "Change Plan"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: includes/i18n.php:139
|
179 |
msgctxt "as download professional version"
|
180 |
msgid "Download %s Version"
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: includes/i18n.php:141
|
184 |
msgctxt "as download professional version now"
|
185 |
msgid "Download %s version now"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: includes/i18n.php:145
|
189 |
msgctxt "as download latest version"
|
190 |
msgid "Download Latest"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: includes/i18n.php:147
|
194 |
msgctxt "E.g. you have a professional license."
|
195 |
msgid "You have a %s license."
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: includes/i18n.php:151
|
199 |
msgid "New"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: includes/i18n.php:153
|
203 |
msgid "Free"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: includes/i18n.php:155
|
207 |
msgctxt "as trial plan"
|
208 |
msgid "Trial"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: includes/i18n.php:157
|
212 |
+
msgctxt "as starting a trial plan"
|
213 |
+
msgid "Start Trial"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: includes/i18n.php:159
|
217 |
msgctxt "verb"
|
218 |
msgid "Purchase"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: includes/i18n.php:161
|
222 |
msgid "Purchase License"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: includes/i18n.php:163
|
226 |
msgctxt "verb"
|
227 |
msgid "Buy"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: includes/i18n.php:165
|
231 |
msgid "Buy License"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: includes/i18n.php:167
|
235 |
msgid "Single Site License"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: includes/i18n.php:169
|
239 |
msgid "Unlimited Licenses"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: includes/i18n.php:171
|
243 |
msgid "Up to %s Sites"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: includes/i18n.php:173
|
247 |
msgid "%sRenew your license now%s to access version %s features and support."
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: includes/i18n.php:177
|
251 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: includes/i18n.php:181
|
255 |
msgctxt "e.g. Professional Plan"
|
256 |
msgid "%s Plan"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: includes/i18n.php:183
|
260 |
msgid "You are just one step away - %s"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: includes/i18n.php:185
|
264 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
265 |
msgid "Complete \"%s\" Activation Now"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: includes/i18n.php:189
|
269 |
msgid "We made a few tweaks to the plugin, %s"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: includes/i18n.php:191
|
273 |
msgid "Opt-in to make \"%s\" Better!"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: includes/i18n.php:193
|
277 |
msgid "Error"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: includes/i18n.php:195
|
281 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: includes/i18n.php:203
|
285 |
msgctxt "as expiration date"
|
286 |
msgid "Expiration"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: includes/i18n.php:205
|
290 |
msgctxt "as software license"
|
291 |
msgid "License"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: includes/i18n.php:207
|
295 |
msgid "not verified"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: includes/i18n.php:209
|
299 |
msgid "Verify Email"
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: includes/i18n.php:211
|
303 |
msgctxt "e.g. expires in 2 months"
|
304 |
msgid "Expires in %s"
|
305 |
msgstr ""
|
306 |
|
307 |
+
#: includes/i18n.php:213
|
308 |
msgctxt "e.g. auto renews in 2 months"
|
309 |
msgid "Auto renews in %s"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: includes/i18n.php:215
|
313 |
msgid "No expiration"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: includes/i18n.php:217
|
317 |
msgid "Expired"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: includes/i18n.php:219
|
321 |
msgid "Cancelled"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: includes/i18n.php:221
|
325 |
msgctxt "e.g. In 2 hours"
|
326 |
msgid "In %s"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: includes/i18n.php:223
|
330 |
msgctxt "e.g. 2 min ago"
|
331 |
msgid "%s ago"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: includes/i18n.php:225
|
335 |
msgctxt "as plugin version"
|
336 |
msgid "Version"
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: includes/i18n.php:227
|
340 |
msgid "Name"
|
341 |
msgstr ""
|
342 |
|
343 |
+
#: includes/i18n.php:229
|
344 |
msgid "Email"
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: includes/i18n.php:231
|
348 |
msgid "Email address"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: includes/i18n.php:233
|
352 |
msgid "Verified"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: includes/i18n.php:235
|
356 |
msgid "Plugin"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: includes/i18n.php:237
|
360 |
msgid "Plugins"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: includes/i18n.php:239
|
364 |
msgid "Themes"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: includes/i18n.php:241
|
368 |
msgctxt "as file/folder path"
|
369 |
msgid "Path"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: includes/i18n.php:243
|
373 |
msgid "Title"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: includes/i18n.php:245
|
377 |
msgid "Free version"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: includes/i18n.php:247
|
381 |
msgid "Premium version"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: includes/i18n.php:249
|
385 |
msgctxt "as WP plugin slug"
|
386 |
msgid "Slug"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: includes/i18n.php:251
|
390 |
msgid "ID"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: includes/i18n.php:253
|
394 |
msgid "Users"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: includes/i18n.php:255
|
398 |
msgid "Plugin Installs"
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: includes/i18n.php:257
|
402 |
msgctxt "like websites"
|
403 |
msgid "Sites"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/i18n.php:259
|
407 |
msgid "User ID"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/i18n.php:261
|
411 |
msgid "Site ID"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/i18n.php:263
|
415 |
msgid "Public Key"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/i18n.php:265
|
419 |
msgid "Secret Key"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: includes/i18n.php:267
|
423 |
msgctxt "as secret encryption key missing"
|
424 |
msgid "No Secret"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/i18n.php:269
|
428 |
msgid "No ID"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/i18n.php:271
|
432 |
msgctxt "as synchronize license"
|
433 |
msgid "Sync License"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: includes/i18n.php:273
|
437 |
msgctxt "as synchronize"
|
438 |
msgid "Sync"
|
439 |
msgstr ""
|
440 |
|
441 |
+
#: includes/i18n.php:275
|
442 |
msgid "Activate License"
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: includes/i18n.php:277
|
446 |
msgid "Activate Free Version"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: includes/i18n.php:279
|
450 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: includes/i18n.php:283
|
454 |
msgid "Activating license..."
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: includes/i18n.php:285
|
458 |
msgid "Change License"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: includes/i18n.php:287
|
462 |
msgid "Update License"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: includes/i18n.php:289
|
466 |
msgid "Deactivate License"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: includes/i18n.php:291
|
470 |
msgid "Activate"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: includes/i18n.php:293
|
474 |
msgid "Deactivate"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: includes/i18n.php:295
|
478 |
msgid "Skip & Deactivate"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: includes/i18n.php:297
|
482 |
msgid "No - just deactivate"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: includes/i18n.php:299
|
486 |
msgid "Yes - do your thing"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: includes/i18n.php:301
|
490 |
msgctxt "active mode"
|
491 |
msgid "Active"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: includes/i18n.php:303
|
495 |
msgctxt "is active mode?"
|
496 |
msgid "Is Active"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/i18n.php:305
|
500 |
msgid "Install Now"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: includes/i18n.php:307
|
504 |
msgid "Install Update Now"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: includes/i18n.php:309
|
508 |
msgid "More information about %s"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: includes/i18n.php:311
|
512 |
msgid "Localhost"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: includes/i18n.php:313
|
516 |
msgctxt "as activate Professional plan"
|
517 |
msgid "Activate %s Plan"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: includes/i18n.php:315
|
521 |
msgctxt "as 5 licenses left"
|
522 |
msgid "%s left"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: includes/i18n.php:317
|
526 |
msgid "Last license"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: includes/i18n.php:319
|
530 |
msgid "What is your %s?"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: includes/i18n.php:321
|
534 |
msgid "Activate this add-on"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: includes/i18n.php:323
|
538 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: includes/i18n.php:327
|
542 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: includes/i18n.php:331
|
546 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: includes/i18n.php:335
|
550 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: includes/i18n.php:339
|
554 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: includes/i18n.php:343
|
558 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: includes/i18n.php:347
|
562 |
msgid "Once your license expire you can still use the Free version but you will NOT have access to the %s features."
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: includes/i18n.php:351
|
566 |
msgid "Are you sure you want to proceed?"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: includes/i18n.php:357
|
570 |
msgid "Add Ons for %s"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: includes/i18n.php:359
|
574 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: includes/i18n.php:365
|
578 |
msgid "Anonymous feedback"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: includes/i18n.php:367
|
582 |
msgid "Quick feedback"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: includes/i18n.php:369
|
586 |
msgid "If you have a moment, please let us know why you are deactivating"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: includes/i18n.php:373
|
590 |
msgid "Yes - Deactivate"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: includes/i18n.php:375
|
594 |
msgid "Submit & Deactivate"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: includes/i18n.php:377
|
|
|
598 |
msgid "Cancel"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: includes/i18n.php:379
|
602 |
msgid "I no longer need the plugin"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: includes/i18n.php:381
|
606 |
msgid "I found a better plugin"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: includes/i18n.php:383
|
610 |
msgid "I only needed the plugin for a short period"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: includes/i18n.php:385
|
614 |
msgid "The plugin broke my site"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: includes/i18n.php:387
|
618 |
msgid "The plugin suddenly stopped working"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: includes/i18n.php:389
|
622 |
msgid "I can't pay for it anymore"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: includes/i18n.php:391
|
626 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: includes/i18n.php:395
|
630 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
631 |
msgid "Other"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: includes/i18n.php:399
|
635 |
msgid "Kindly tell us the reason so we can improve."
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: includes/i18n.php:401
|
639 |
msgid "What's the plugin's name?"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: includes/i18n.php:403
|
643 |
msgid "What price would you feel comfortable paying?"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: includes/i18n.php:405
|
647 |
msgid "I couldn't understand how to make it work"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: includes/i18n.php:407
|
651 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: includes/i18n.php:411
|
655 |
msgid "The plugin is not working"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: includes/i18n.php:413
|
659 |
msgid "It's not what I was looking for"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: includes/i18n.php:415
|
663 |
msgid "The plugin didn't work as expected"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: includes/i18n.php:417
|
667 |
msgid "What feature?"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: includes/i18n.php:419
|
671 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: includes/i18n.php:423
|
675 |
msgid "What you've been looking for?"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: includes/i18n.php:425
|
679 |
msgid "What did you expect?"
|
680 |
msgstr ""
|
681 |
|
682 |
+
#: includes/i18n.php:427
|
683 |
msgid "The plugin didn't work"
|
684 |
msgstr ""
|
685 |
|
686 |
+
#: includes/i18n.php:429
|
687 |
msgid "I don't like to share my information with you"
|
688 |
msgstr ""
|
689 |
|
690 |
+
#: includes/i18n.php:431
|
691 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
692 |
msgstr ""
|
693 |
|
694 |
+
#: includes/i18n.php:441
|
695 |
msgctxt "greeting"
|
696 |
msgid "Hey %s,"
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: includes/i18n.php:443
|
700 |
msgctxt "a greeting. E.g. Thanks John!"
|
701 |
msgid "Thanks %s!"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: includes/i18n.php:445
|
705 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: includes/i18n.php:449
|
709 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: includes/i18n.php:453
|
713 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: includes/i18n.php:455
|
717 |
+
msgid "complete the install"
|
718 |
+
msgstr ""
|
719 |
+
|
720 |
+
#: includes/i18n.php:457
|
721 |
+
msgid "start the trial"
|
722 |
+
msgstr ""
|
723 |
+
|
724 |
+
#: includes/i18n.php:459
|
725 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: includes/i18n.php:463
|
729 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: includes/i18n.php:467
|
733 |
msgid "What permissions are being granted?"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: includes/i18n.php:469
|
737 |
msgid "Your Profile Overview"
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: includes/i18n.php:471
|
741 |
msgid "Name and email address"
|
742 |
msgstr ""
|
743 |
|
744 |
+
#: includes/i18n.php:473
|
745 |
msgid "Your Site Overview"
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: includes/i18n.php:475
|
749 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
750 |
msgstr ""
|
751 |
|
752 |
+
#: includes/i18n.php:479
|
753 |
msgid "Current Plugin Events"
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: includes/i18n.php:481
|
757 |
msgid "Activation, deactivation and uninstall"
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: includes/i18n.php:483
|
761 |
msgid "Plugins & Themes"
|
762 |
msgstr ""
|
763 |
|
764 |
+
#: includes/i18n.php:485
|
765 |
msgid "Titles, versions and state."
|
766 |
msgstr ""
|
767 |
|
768 |
+
#: includes/i18n.php:487
|
769 |
+
msgid "Admin Notices"
|
770 |
+
msgstr ""
|
771 |
+
|
772 |
+
#: includes/i18n.php:489
|
773 |
msgid "Newsletter"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: includes/i18n.php:491
|
777 |
msgid "Updates, announcements, marketing, no spam"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: includes/i18n.php:493
|
781 |
msgid "Privacy Policy"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: includes/i18n.php:495
|
785 |
msgid "Terms of Service"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: includes/i18n.php:497
|
789 |
msgctxt "as activating plugin"
|
790 |
msgid "Activating"
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: includes/i18n.php:499
|
794 |
msgctxt "as in the process of sending an email"
|
795 |
msgid "Sending email"
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: includes/i18n.php:503
|
799 |
msgctxt "button label"
|
800 |
msgid "Allow & Continue"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: includes/i18n.php:505
|
804 |
msgctxt "button label"
|
805 |
msgid "Agree & Activate License"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: includes/i18n.php:507
|
809 |
msgctxt "verb"
|
810 |
msgid "Skip"
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: includes/i18n.php:509
|
814 |
msgid "Click here to use the plugin anonymously"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: includes/i18n.php:511
|
818 |
msgid "Re-send activation email"
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: includes/i18n.php:513
|
822 |
msgid "License key"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: includes/i18n.php:515
|
826 |
msgid "Send License Key"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: includes/i18n.php:517
|
830 |
msgid "Sending license key"
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: includes/i18n.php:519
|
834 |
msgid "Have a license key?"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: includes/i18n.php:521
|
838 |
msgid "Don't have a license key?"
|
839 |
msgstr ""
|
840 |
|
841 |
+
#: includes/i18n.php:523
|
842 |
msgid "Can't find your license key?"
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: includes/i18n.php:525
|
846 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: includes/i18n.php:529
|
850 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
851 |
+
msgstr ""
|
852 |
+
|
853 |
+
#: includes/i18n.php:533
|
854 |
+
msgid "Opt In"
|
855 |
+
msgstr ""
|
856 |
+
|
857 |
+
#: includes/i18n.php:535
|
858 |
+
msgid "Opt Out"
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: includes/i18n.php:537
|
862 |
+
msgid "On second thought - I want to continue helping"
|
863 |
+
msgstr ""
|
864 |
+
|
865 |
+
#: includes/i18n.php:541
|
866 |
+
msgid "Opting out..."
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: includes/i18n.php:543
|
870 |
+
msgid "Opting in..."
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: includes/i18n.php:545
|
874 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
875 |
+
msgstr ""
|
876 |
+
|
877 |
+
#: includes/i18n.php:549
|
878 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
879 |
+
msgstr ""
|
880 |
+
|
881 |
+
#: includes/i18n.php:553
|
882 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
883 |
+
msgstr ""
|
884 |
+
|
885 |
+
#: includes/i18n.php:563
|
886 |
msgid "Screenshots"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: includes/i18n.php:565
|
890 |
msgid "Click to view full-size screenshot %d"
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: includes/i18n.php:573
|
894 |
msgid "Freemius Debug"
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: includes/i18n.php:575
|
898 |
msgctxt "as turned on"
|
899 |
msgid "On"
|
900 |
msgstr ""
|
901 |
|
902 |
+
#: includes/i18n.php:577
|
903 |
msgctxt "as turned off"
|
904 |
msgid "Off"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: includes/i18n.php:579
|
908 |
msgctxt "as code debugging"
|
909 |
msgid "Debugging"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: includes/i18n.php:581
|
913 |
msgid "Freemius State"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: includes/i18n.php:583
|
917 |
msgctxt "as connection was successful"
|
918 |
msgid "Connected"
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: includes/i18n.php:585
|
922 |
msgctxt "as connection blocked"
|
923 |
msgid "Blocked"
|
924 |
msgstr ""
|
925 |
|
926 |
+
#: includes/i18n.php:587
|
927 |
msgctxt "as application program interface"
|
928 |
msgid "API"
|
929 |
msgstr ""
|
930 |
|
931 |
+
#: includes/i18n.php:589
|
932 |
msgctxt "as software development kit versions"
|
933 |
msgid "SDK"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: includes/i18n.php:591
|
937 |
msgctxt "as software development kit versions"
|
938 |
msgid "SDK Versions"
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: includes/i18n.php:595
|
942 |
msgctxt "as plugin folder path"
|
943 |
msgid "Plugin Path"
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: includes/i18n.php:597
|
947 |
msgctxt "as sdk path"
|
948 |
msgid "SDK Path"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: includes/i18n.php:599
|
952 |
msgid "Add Ons of Plugin %s"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: includes/i18n.php:601
|
956 |
msgid "Are you sure you want to delete all Freemius data?"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: includes/i18n.php:605
|
960 |
msgid "Actions"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: includes/i18n.php:607
|
964 |
msgid "Delete All Accounts"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: includes/i18n.php:609
|
968 |
msgid "Start Fresh"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: includes/i18n.php:611
|
972 |
msgid "Clear API Cache"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: includes/i18n.php:613
|
976 |
msgid "Sync Data From Server"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: includes/i18n.php:615
|
980 |
msgid "Scheduled Crons"
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: includes/i18n.php:617
|
984 |
msgid "Plugins & Themes Sync"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: includes/i18n.php:625
|
988 |
msgctxt "as congratulations"
|
989 |
msgid "Congrats"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: includes/i18n.php:627
|
993 |
msgctxt "exclamation"
|
994 |
msgid "Oops"
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: includes/i18n.php:629
|
998 |
msgctxt "interjection expressing joy or exuberance"
|
999 |
msgid "Yee-haw"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
+
#: includes/i18n.php:633
|
1003 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1004 |
msgid "W00t"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: includes/i18n.php:637
|
1008 |
msgctxt "a positive response"
|
1009 |
msgid "Right on"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: includes/i18n.php:639
|
1013 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1014 |
msgid "Hmm"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: includes/i18n.php:643
|
1018 |
msgid "O.K"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: includes/i18n.php:645
|
1022 |
msgctxt "exclamation"
|
1023 |
msgid "Hey"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
+
#: includes/i18n.php:647
|
1027 |
msgctxt "advance notice of something that will need attention."
|
1028 |
msgid "Heads up"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
+
#: includes/i18n.php:657
|
1032 |
msgid "Seems like you got the latest release."
|
1033 |
msgstr ""
|
1034 |
|
1035 |
+
#: includes/i18n.php:659
|
1036 |
msgid "You are all good!"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
+
#: includes/i18n.php:661
|
1040 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: includes/i18n.php:665
|
1044 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: includes/i18n.php:669
|
1048 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: includes/i18n.php:673
|
1052 |
msgid "Your name was successfully updated."
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: includes/i18n.php:675
|
1056 |
msgid "You have successfully updated your %s."
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: includes/i18n.php:677
|
1060 |
msgid "Please provide your full name."
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: includes/i18n.php:679
|
1064 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: includes/i18n.php:683
|
1068 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: includes/i18n.php:687
|
1072 |
msgid "No credit card required"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: includes/i18n.php:689
|
1076 |
msgid "Premium plugin version was successfully activated."
|
1077 |
msgstr ""
|
1078 |
|
1079 |
+
#: includes/i18n.php:693
|
1080 |
msgid "The upgrade of %s was successfully completed."
|
1081 |
msgstr ""
|
1082 |
|
1083 |
+
#: includes/i18n.php:695
|
1084 |
msgid "Your account was successfully activated with the %s plan."
|
1085 |
msgstr ""
|
1086 |
|
1087 |
+
#: includes/i18n.php:699
|
1088 |
msgid "Download the latest %s version now"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
+
#: includes/i18n.php:701
|
1092 |
msgid "Please follow these steps to complete the upgrade"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
+
#: includes/i18n.php:705
|
1096 |
msgid "Download the latest %s version"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
+
#: includes/i18n.php:707
|
1100 |
+
msgid "Download the latest version"
|
1101 |
+
msgstr ""
|
1102 |
+
|
1103 |
+
#: includes/i18n.php:709
|
1104 |
msgid "Deactivate the free version"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
+
#: includes/i18n.php:711
|
1108 |
msgid "Upload and activate the downloaded version"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
+
#: includes/i18n.php:713
|
1112 |
msgid "How to upload and activate?"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
+
#: includes/i18n.php:715
|
1116 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1117 |
msgid "%s Add-on was successfully purchased."
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: includes/i18n.php:719
|
1121 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: includes/i18n.php:723
|
1125 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: includes/i18n.php:727
|
1129 |
msgid "Your plan was successfully upgraded."
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: includes/i18n.php:729
|
1133 |
msgid "Your plan was successfully changed to %s."
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: includes/i18n.php:731
|
1137 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: includes/i18n.php:735
|
1141 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: includes/i18n.php:739
|
1145 |
msgid "Your trial has been successfully started."
|
1146 |
msgstr ""
|
1147 |
|
1148 |
+
#: includes/i18n.php:741
|
1149 |
msgid "Your license was successfully activated."
|
1150 |
msgstr ""
|
1151 |
|
1152 |
+
#: includes/i18n.php:743
|
1153 |
msgid "It looks like your site currently doesn't have an active license."
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: includes/i18n.php:747
|
1157 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: includes/i18n.php:751
|
1161 |
msgid "It looks like the license deactivation failed."
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: includes/i18n.php:755
|
1165 |
msgid "It looks like the license could not be activated."
|
1166 |
msgstr ""
|
1167 |
|
1168 |
+
#: includes/i18n.php:759
|
1169 |
msgid "Error received from the server:"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: includes/i18n.php:761
|
1173 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1174 |
msgstr ""
|
1175 |
|
1176 |
+
#: includes/i18n.php:765
|
1177 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: includes/i18n.php:769
|
1181 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: includes/i18n.php:773
|
1185 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: includes/i18n.php:777
|
1189 |
msgid "Your %s free trial was successfully cancelled."
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: includes/i18n.php:781
|
1193 |
msgctxt "%s - numeric version number"
|
1194 |
msgid "Version %s was released."
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: includes/i18n.php:785
|
1198 |
msgid "Please download %s."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: includes/i18n.php:787
|
1202 |
msgctxt "%s - plan name, as the latest professional version here"
|
1203 |
msgid "the latest %s version here"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: includes/i18n.php:791
|
1207 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: includes/i18n.php:795
|
1211 |
msgctxt "call to action"
|
1212 |
msgid "Start free trial"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
+
#: includes/i18n.php:797
|
1216 |
+
msgid "Starting trial"
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
+
#: includes/i18n.php:799
|
1220 |
+
msgid "Please wait"
|
1221 |
+
msgstr ""
|
1222 |
+
|
1223 |
+
#: includes/i18n.php:801
|
1224 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: includes/i18n.php:805
|
1228 |
msgid "You already utilized a trial before."
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: includes/i18n.php:807
|
1232 |
msgid "You are already running the plugin in a trial mode."
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: includes/i18n.php:811
|
1236 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: includes/i18n.php:815
|
1240 |
msgid "Plan %s does not support a trial period."
|
1241 |
msgstr ""
|
1242 |
|
1243 |
+
#: includes/i18n.php:817
|
1244 |
msgid "None of the plugin's plans supports a trial period."
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: includes/i18n.php:821
|
1248 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: includes/i18n.php:825
|
1252 |
msgid "No commitment for %s days - cancel anytime!"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
+
#: includes/i18n.php:827
|
1256 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: includes/i18n.php:831
|
1260 |
msgid "Couldn't activate %s."
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: includes/i18n.php:833
|
1264 |
msgid "Please contact us with the following message:"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: includes/i18n.php:835
|
1268 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: includes/i18n.php:839
|
1272 |
msgid "Please contact us here"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: includes/i18n.php:841
|
1276 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: includes/i18n.php:849
|
1280 |
msgid "From unknown reason, the API connectivity test failed."
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: includes/i18n.php:853
|
1284 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: includes/i18n.php:857
|
1288 |
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: includes/i18n.php:861
|
1292 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1293 |
msgstr ""
|
1294 |
|
1295 |
+
#: includes/i18n.php:865
|
1296 |
msgctxt "as pluginX requires an access to our API"
|
1297 |
msgid "%s requires an access to our API."
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: includes/i18n.php:869
|
1301 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: includes/i18n.php:873
|
1305 |
msgid "I don't know what is Squid or ACL, help me!"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
+
#: includes/i18n.php:875, includes/i18n.php:889
|
1309 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1310 |
msgstr ""
|
1311 |
|
1312 |
+
#: includes/i18n.php:879
|
1313 |
msgid "I'm a system administrator"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: includes/i18n.php:881
|
1317 |
msgid "Great, please whitelist the following domains: %s. Once you done, deactivate the plugin and activate it again."
|
1318 |
msgstr ""
|
1319 |
|
1320 |
+
#: includes/i18n.php:885
|
1321 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
+
#: includes/i18n.php:893
|
1325 |
msgid "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1326 |
msgstr ""
|
1327 |
|
1328 |
+
#: includes/i18n.php:897
|
1329 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1330 |
msgstr ""
|
1331 |
|
1332 |
+
#: includes/i18n.php:901
|
1333 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#: includes/i18n.php:905
|
1337 |
msgid "Yes - I'm giving you a chance to fix it"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
+
#: includes/i18n.php:907
|
1341 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1342 |
msgstr ""
|
1343 |
|
1344 |
+
#: includes/i18n.php:911
|
1345 |
msgid "Let's try your previous version"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
+
#: includes/i18n.php:913
|
1349 |
msgid "Uninstall this version and install the previous one."
|
1350 |
msgstr ""
|
1351 |
|
1352 |
+
#: includes/i18n.php:917
|
1353 |
msgid "That's exhausting, please deactivate"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
+
#: includes/i18n.php:919
|
1357 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1358 |
msgstr ""
|
1359 |
|
1360 |
+
#: includes/i18n.php:923
|
1361 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1362 |
msgstr ""
|
1363 |
|
1364 |
+
#: includes/i18n.php:927
|
1365 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1366 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
+
#: includes/i18n.php:931
|
1370 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: includes/i18n.php:939
|
1374 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1375 |
msgstr ""
|
1376 |
|
1377 |
+
#: includes/i18n.php:943
|
1378 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: includes/i18n.php:947
|
1382 |
msgid "%s is the new owner of the account."
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: includes/i18n.php:951
|
1386 |
msgctxt "addonX cannot run without pluginY"
|
1387 |
msgid "%s cannot run without %s."
|
1388 |
msgstr ""
|
1389 |
|
1390 |
+
#: includes/i18n.php:955
|
1391 |
msgctxt "addonX cannot run..."
|
1392 |
msgid "%s cannot run without the plugin."
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: includes/i18n.php:959
|
1396 |
msgctxt "pluginX activation was successfully..."
|
1397 |
msgid "%s activation was successfully completed."
|
1398 |
msgstr ""
|
1399 |
|
1400 |
+
#: includes/i18n.php:963
|
1401 |
msgctxt "Plugin installer section title"
|
1402 |
msgid "Features & Pricing"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: includes/i18n.php:967
|
1406 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: includes/i18n.php:971
|
1410 |
msgid "Paid add-on must be deployed to Freemius."
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: includes/i18n.php:979
|
1414 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: includes/i18n.php:983
|
1418 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: includes/i18n.php:995
|
1422 |
msgctxt "as every month"
|
1423 |
msgid "Monthly"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: includes/i18n.php:997
|
1427 |
msgctxt "as monthly period"
|
1428 |
msgid "mo"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
+
#: includes/i18n.php:999
|
1432 |
msgctxt "as once a year"
|
1433 |
msgid "Annual"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
+
#: includes/i18n.php:1001
|
1437 |
msgctxt "as once a year"
|
1438 |
msgid "Annually"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: includes/i18n.php:1003
|
1442 |
msgctxt "as once a year"
|
1443 |
msgid "Once"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
+
#: includes/i18n.php:1005
|
1447 |
msgctxt "as annual period"
|
1448 |
msgid "year"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: includes/i18n.php:1007
|
1452 |
msgid "Lifetime"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
+
#: includes/i18n.php:1009
|
1456 |
msgctxt "e.g. the best product"
|
1457 |
msgid "Best"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
+
#: includes/i18n.php:1011
|
1461 |
msgctxt "e.g. billed monthly"
|
1462 |
msgid "Billed %s"
|
1463 |
msgstr ""
|
1464 |
|
1465 |
+
#: includes/i18n.php:1013
|
1466 |
msgctxt "as a discount of $5 or 10%"
|
1467 |
msgid "Save %s"
|
1468 |
msgstr ""
|
1469 |
|
1470 |
+
#: includes/i18n.php:1017
|
1471 |
msgid "View details"
|
1472 |
msgstr ""
|
1473 |
+
|
1474 |
+
#: includes/i18n.php:1025
|
1475 |
+
msgctxt "button label"
|
1476 |
+
msgid "Approve & Start Trial"
|
1477 |
+
msgstr ""
|
1478 |
+
|
1479 |
+
#: includes/i18n.php:1029
|
1480 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1481 |
+
msgstr ""
|
1482 |
+
|
1483 |
+
#: includes/i18n.php:1033
|
1484 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1485 |
+
msgstr ""
|
1486 |
+
|
1487 |
+
#: includes/i18n.php:1045
|
1488 |
+
msgid "Business name"
|
1489 |
+
msgstr ""
|
1490 |
+
|
1491 |
+
#: includes/i18n.php:1047
|
1492 |
+
msgid "Tax / VAT ID"
|
1493 |
+
msgstr ""
|
1494 |
+
|
1495 |
+
#: includes/i18n.php:1049
|
1496 |
+
msgid "Address Line %d"
|
1497 |
+
msgstr ""
|
1498 |
+
|
1499 |
+
#: includes/i18n.php:1051
|
1500 |
+
msgid "Country"
|
1501 |
+
msgstr ""
|
1502 |
+
|
1503 |
+
#: includes/i18n.php:1053
|
1504 |
+
msgid "Select Country"
|
1505 |
+
msgstr ""
|
1506 |
+
|
1507 |
+
#: includes/i18n.php:1055
|
1508 |
+
msgid "City"
|
1509 |
+
msgstr ""
|
1510 |
+
|
1511 |
+
#: includes/i18n.php:1057
|
1512 |
+
msgid "Town"
|
1513 |
+
msgstr ""
|
1514 |
+
|
1515 |
+
#: includes/i18n.php:1059
|
1516 |
+
msgid "State"
|
1517 |
+
msgstr ""
|
1518 |
+
|
1519 |
+
#: includes/i18n.php:1061
|
1520 |
+
msgid "Province"
|
1521 |
+
msgstr ""
|
1522 |
+
|
1523 |
+
#: includes/i18n.php:1063
|
1524 |
+
msgid "ZIP / Postal Code"
|
1525 |
+
msgstr ""
|
freemius/start.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
-
$this_sdk_version = '1.2.1';
|
19 |
|
20 |
#region SDK Selection Logic --------------------------------------------------------------------
|
21 |
|
@@ -84,9 +84,7 @@
|
|
84 |
}
|
85 |
|
86 |
// Refresh page.
|
87 |
-
|
88 |
-
exit();
|
89 |
-
}
|
90 |
}
|
91 |
} else {
|
92 |
if ( ! function_exists( 'get_plugins' ) ) {
|
@@ -144,9 +142,7 @@
|
|
144 |
if ( fs_newest_sdk_plugin_first() ) {
|
145 |
// Refresh page after re-order to make sure activated plugin loads newest SDK.
|
146 |
if ( class_exists( 'Freemius' ) ) {
|
147 |
-
|
148 |
-
exit();
|
149 |
-
}
|
150 |
}
|
151 |
}
|
152 |
}
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
+
$this_sdk_version = '1.2.1.5';
|
19 |
|
20 |
#region SDK Selection Logic --------------------------------------------------------------------
|
21 |
|
84 |
}
|
85 |
|
86 |
// Refresh page.
|
87 |
+
fs_redirect( $_SERVER['REQUEST_URI'] );
|
|
|
|
|
88 |
}
|
89 |
} else {
|
90 |
if ( ! function_exists( 'get_plugins' ) ) {
|
142 |
if ( fs_newest_sdk_plugin_first() ) {
|
143 |
// Refresh page after re-order to make sure activated plugin loads newest SDK.
|
144 |
if ( class_exists( 'Freemius' ) ) {
|
145 |
+
fs_redirect( $_SERVER['REQUEST_URI'] );
|
|
|
|
|
146 |
}
|
147 |
}
|
148 |
}
|
freemius/templates/account.php
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
$show_upgrade = ( $fs->has_paid_plan() && ! $is_paying && ! $is_paid_trial );
|
37 |
|
38 |
if ( $show_upgrade ) {
|
39 |
-
$fs->
|
40 |
}
|
41 |
?>
|
42 |
<div class="wrap">
|
@@ -84,7 +84,7 @@
|
|
84 |
</li>
|
85 |
<?php if ( $is_paying ) : ?>
|
86 |
<li>
|
87 |
-
 
|
88 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
89 |
<input type="hidden" name="fs_action" value="deactivate_license">
|
90 |
<?php wp_nonce_field( 'deactivate_license' ) ?>
|
@@ -98,7 +98,7 @@
|
|
98 |
$is_active_subscription
|
99 |
) : ?>
|
100 |
<li>
|
101 |
-
 
|
102 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
103 |
<input type="hidden" name="fs_action" value="downgrade_account">
|
104 |
<?php wp_nonce_field( 'downgrade_account' ) ?>
|
@@ -113,13 +113,13 @@
|
|
113 |
</li>
|
114 |
<?php endif ?>
|
115 |
<li>
|
116 |
-
 
|
117 |
<a href="<?php echo $fs->get_upgrade_url() ?>"><i
|
118 |
class="dashicons dashicons-grid-view"></i> <?php _efs( 'change-plan', $slug ) ?></a>
|
119 |
</li>
|
120 |
<?php elseif ( $is_paid_trial ) : ?>
|
121 |
<li>
|
122 |
-
 
|
123 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
124 |
<input type="hidden" name="fs_action" value="cancel_trial">
|
125 |
<?php wp_nonce_field( 'cancel_trial' ) ?>
|
@@ -130,7 +130,7 @@
|
|
130 |
</li>
|
131 |
<?php endif ?>
|
132 |
<li>
|
133 |
-
 
|
134 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
135 |
<input type="hidden" name="fs_action" value="<?php echo $slug ?>_sync_license">
|
136 |
<?php wp_nonce_field( $slug . '_sync_license' ) ?>
|
@@ -290,7 +290,7 @@
|
|
290 |
<?php else : ?>
|
291 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>"
|
292 |
method="POST" class="button-group">
|
293 |
-
<?php if ($show_upgrade) : ?>
|
294 |
<a class="button activate-license-trigger <?php echo $slug ?>" href="#"><?php _efs( 'activate-license', $slug ) ?></a>
|
295 |
<?php endif ?>
|
296 |
<input type="submit" class="button"
|
@@ -533,6 +533,31 @@
|
|
533 |
array( 'plugin_id' => $addon_id ),
|
534 |
false
|
535 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
} else if ( $is_paid_trial ) {
|
537 |
$buttons[] = fs_ui_get_action_button(
|
538 |
$slug,
|
36 |
$show_upgrade = ( $fs->has_paid_plan() && ! $is_paying && ! $is_paid_trial );
|
37 |
|
38 |
if ( $show_upgrade ) {
|
39 |
+
$fs->_add_license_activation_dialog_box();
|
40 |
}
|
41 |
?>
|
42 |
<div class="wrap">
|
84 |
</li>
|
85 |
<?php if ( $is_paying ) : ?>
|
86 |
<li>
|
87 |
+
•
|
88 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
89 |
<input type="hidden" name="fs_action" value="deactivate_license">
|
90 |
<?php wp_nonce_field( 'deactivate_license' ) ?>
|
98 |
$is_active_subscription
|
99 |
) : ?>
|
100 |
<li>
|
101 |
+
•
|
102 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
103 |
<input type="hidden" name="fs_action" value="downgrade_account">
|
104 |
<?php wp_nonce_field( 'downgrade_account' ) ?>
|
113 |
</li>
|
114 |
<?php endif ?>
|
115 |
<li>
|
116 |
+
•
|
117 |
<a href="<?php echo $fs->get_upgrade_url() ?>"><i
|
118 |
class="dashicons dashicons-grid-view"></i> <?php _efs( 'change-plan', $slug ) ?></a>
|
119 |
</li>
|
120 |
<?php elseif ( $is_paid_trial ) : ?>
|
121 |
<li>
|
122 |
+
•
|
123 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
124 |
<input type="hidden" name="fs_action" value="cancel_trial">
|
125 |
<?php wp_nonce_field( 'cancel_trial' ) ?>
|
130 |
</li>
|
131 |
<?php endif ?>
|
132 |
<li>
|
133 |
+
•
|
134 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
135 |
<input type="hidden" name="fs_action" value="<?php echo $slug ?>_sync_license">
|
136 |
<?php wp_nonce_field( $slug . '_sync_license' ) ?>
|
290 |
<?php else : ?>
|
291 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>"
|
292 |
method="POST" class="button-group">
|
293 |
+
<?php if ( $show_upgrade && $fs->is_premium() ) : ?>
|
294 |
<a class="button activate-license-trigger <?php echo $slug ?>" href="#"><?php _efs( 'activate-license', $slug ) ?></a>
|
295 |
<?php endif ?>
|
296 |
<input type="submit" class="button"
|
533 |
array( 'plugin_id' => $addon_id ),
|
534 |
false
|
535 |
);
|
536 |
+
|
537 |
+
$human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
|
538 |
+
$downgrade_confirmation_message = sprintf( __fs( 'downgrade-x-confirm', $slug ),
|
539 |
+
$plan->title,
|
540 |
+
$human_readable_license_expiration );
|
541 |
+
|
542 |
+
$after_downgrade_message_id = ( ! $license->is_block_features ?
|
543 |
+
'after-downgrade-non-blocking' :
|
544 |
+
'after-downgrade-blocking' );
|
545 |
+
|
546 |
+
$after_downgrade_message = sprintf( __fs( $after_downgrade_message_id, $slug ), $plan->title );
|
547 |
+
|
548 |
+
if ( ! $license->is_lifetime() && $is_active_subscription ) {
|
549 |
+
$buttons[] = fs_ui_get_action_button(
|
550 |
+
$slug,
|
551 |
+
'account',
|
552 |
+
'downgrade_account',
|
553 |
+
__fs( 'downgrade', $slug ),
|
554 |
+
array( 'plugin_id' => $addon_id ),
|
555 |
+
false,
|
556 |
+
false,
|
557 |
+
( $downgrade_confirmation_message . ' ' . $after_downgrade_message ),
|
558 |
+
'POST'
|
559 |
+
);
|
560 |
+
}
|
561 |
} else if ( $is_paid_trial ) {
|
562 |
$buttons[] = fs_ui_get_action_button(
|
563 |
$slug,
|
freemius/templates/add-trial-to-pricing.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Add "&trial=true" to pricing menu item href when running in trial
|
4 |
+
* promotion context.
|
5 |
+
*
|
6 |
+
* @package Freemius
|
7 |
+
* @copyright Copyright (c) 2016, Freemius, Inc.
|
8 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
9 |
+
* @since 1.2.1.5
|
10 |
+
*/
|
11 |
+
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var array $VARS
|
18 |
+
*/
|
19 |
+
$slug = $VARS['slug'];
|
20 |
+
?>
|
21 |
+
<script type="text/javascript">
|
22 |
+
(function ($) {
|
23 |
+
$(document).ready(function () {
|
24 |
+
var $pricingMenu = $('.fs-submenu-item.<?php echo $slug ?>.pricing'),
|
25 |
+
$pricingMenuLink = $pricingMenu.parents('a');
|
26 |
+
|
27 |
+
// Add trial querystring param.
|
28 |
+
$pricingMenuLink.attr('href', $pricingMenuLink.attr('href') + '&trial=true');
|
29 |
+
});
|
30 |
+
})(jQuery);
|
31 |
+
</script>
|
freemius/templates/billing.php
CHANGED
@@ -34,6 +34,14 @@
|
|
34 |
$is_active_subscription = ( is_object( $subscription ) && $subscription->is_active() );
|
35 |
$is_paid_trial = $fs->is_paid_trial();
|
36 |
$show_upgrade = ( ! $is_paying && ! $is_paid_trial );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
?>
|
38 |
|
39 |
<div id="fs_account" class="wrap">
|
@@ -57,14 +65,305 @@
|
|
57 |
</h2>
|
58 |
|
59 |
<div id="poststuff">
|
60 |
-
<div>
|
61 |
<div class="has-sidebar has-right-sidebar">
|
62 |
<div class="has-sidebar-content">
|
63 |
<div class="postbox">
|
64 |
-
<h3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
<?php
|
67 |
-
$payments
|
68 |
?>
|
69 |
|
70 |
<div class="inside">
|
@@ -85,7 +384,8 @@
|
|
85 |
<td><?php echo $payment->id ?></td>
|
86 |
<td><?php echo date( 'M j, Y', strtotime( $payment->created ) ) ?></td>
|
87 |
<td>$<?php echo $payment->gross ?></td>
|
88 |
-
<td><a href="<?php echo $fs->_get_invoice_api_url($payment->id) ?>"
|
|
|
89 |
target="_blank"><?php _efs( 'invoice', $slug ) ?></a></td>
|
90 |
</tr>
|
91 |
<?php $odd = ! $odd; endforeach ?>
|
@@ -98,6 +398,103 @@
|
|
98 |
</div>
|
99 |
</div>
|
100 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
<?php
|
102 |
$params = array(
|
103 |
'page' => 'account',
|
34 |
$is_active_subscription = ( is_object( $subscription ) && $subscription->is_active() );
|
35 |
$is_paid_trial = $fs->is_paid_trial();
|
36 |
$show_upgrade = ( ! $is_paying && ! $is_paid_trial );
|
37 |
+
|
38 |
+
$billing = $fs->_fetch_billing();
|
39 |
+
$has_billing = ( $billing instanceof FS_Billing );
|
40 |
+
if ( ! $has_billing ) {
|
41 |
+
$billing = new FS_Billing();
|
42 |
+
}
|
43 |
+
|
44 |
+
$readonly_attr = $has_billing ? 'readonly' : '';
|
45 |
?>
|
46 |
|
47 |
<div id="fs_account" class="wrap">
|
65 |
</h2>
|
66 |
|
67 |
<div id="poststuff">
|
68 |
+
<div id="fs_billing">
|
69 |
<div class="has-sidebar has-right-sidebar">
|
70 |
<div class="has-sidebar-content">
|
71 |
<div class="postbox">
|
72 |
+
<h3><span class="dashicons dashicons-businessman"></span> <?php _efs( 'billing', $slug ) ?></h3>
|
73 |
+
<table id="fs_billing_address"<?php if ( $has_billing ) {
|
74 |
+
echo ' class="fs-read-mode"';
|
75 |
+
} ?>>
|
76 |
+
<tr>
|
77 |
+
<td><label><span><?php _efs( 'business-name', $slug ) ?>:</span> <input id="business_name" value="<?php echo $billing->business_name ?>" placeholder="<?php _efs( 'business-name', $slug ) ?>"></label></td>
|
78 |
+
<td><label><span><?php _efs( 'tax-vat-id', $slug ) ?>:</span> <input id="tax_id" value="<?php echo $billing->tax_id ?>" placeholder="<?php _efs( 'tax-vat-id', $slug ) ?>"></label></td>
|
79 |
+
</tr>
|
80 |
+
<tr>
|
81 |
+
<td><label><span><?php printf( __fs( 'address-line-n', $slug ), 1 ) ?>:</span> <input id="address_street" value="<?php echo $billing->address_street ?>" placeholder="<?php printf( __fs( 'address-line-n', $slug ), 1 ) ?>"></label></td>
|
82 |
+
<td><label><span><?php printf( __fs( 'address-line-n', $slug ), 2 ) ?>:</span> <input id="address_apt" value="<?php echo $billing->address_apt ?>" placeholder="<?php printf( __fs( 'address-line-n', $slug ), 2 ) ?>"></label></td>
|
83 |
+
</tr>
|
84 |
+
<tr>
|
85 |
+
<td><label><span><?php _efs( 'city', $slug ) ?> / <?php _efs( 'town', $slug ) ?>:</span> <input id="address_city" value="<?php echo $billing->address_city ?>" placeholder="<?php _efs( 'city', $slug ) ?> / <?php _efs( 'town', $slug ) ?>"></label></td>
|
86 |
+
<td><label><span><?php _efs( 'zip-postal-code', $slug ) ?>:</span> <input id="address_zip" value="<?php echo $billing->address_zip ?>" placeholder="<?php _efs( 'zip-postal-code', $slug ) ?>"></label></td>
|
87 |
+
</tr>
|
88 |
+
<tr>
|
89 |
+
<?php $countries = array(
|
90 |
+
'AF' => 'Afghanistan',
|
91 |
+
'AX' => 'Aland Islands',
|
92 |
+
'AL' => 'Albania',
|
93 |
+
'DZ' => 'Algeria',
|
94 |
+
'AS' => 'American Samoa',
|
95 |
+
'AD' => 'Andorra',
|
96 |
+
'AO' => 'Angola',
|
97 |
+
'AI' => 'Anguilla',
|
98 |
+
'AQ' => 'Antarctica',
|
99 |
+
'AG' => 'Antigua and Barbuda',
|
100 |
+
'AR' => 'Argentina',
|
101 |
+
'AM' => 'Armenia',
|
102 |
+
'AW' => 'Aruba',
|
103 |
+
'AU' => 'Australia',
|
104 |
+
'AT' => 'Austria',
|
105 |
+
'AZ' => 'Azerbaijan',
|
106 |
+
'BS' => 'Bahamas',
|
107 |
+
'BH' => 'Bahrain',
|
108 |
+
'BD' => 'Bangladesh',
|
109 |
+
'BB' => 'Barbados',
|
110 |
+
'BY' => 'Belarus',
|
111 |
+
'BE' => 'Belgium',
|
112 |
+
'BZ' => 'Belize',
|
113 |
+
'BJ' => 'Benin',
|
114 |
+
'BM' => 'Bermuda',
|
115 |
+
'BT' => 'Bhutan',
|
116 |
+
'BO' => 'Bolivia',
|
117 |
+
'BQ' => 'Bonaire, Saint Eustatius and Saba',
|
118 |
+
'BA' => 'Bosnia and Herzegovina',
|
119 |
+
'BW' => 'Botswana',
|
120 |
+
'BV' => 'Bouvet Island',
|
121 |
+
'BR' => 'Brazil',
|
122 |
+
'IO' => 'British Indian Ocean Territory',
|
123 |
+
'VG' => 'British Virgin Islands',
|
124 |
+
'BN' => 'Brunei',
|
125 |
+
'BG' => 'Bulgaria',
|
126 |
+
'BF' => 'Burkina Faso',
|
127 |
+
'BI' => 'Burundi',
|
128 |
+
'KH' => 'Cambodia',
|
129 |
+
'CM' => 'Cameroon',
|
130 |
+
'CA' => 'Canada',
|
131 |
+
'CV' => 'Cape Verde',
|
132 |
+
'KY' => 'Cayman Islands',
|
133 |
+
'CF' => 'Central African Republic',
|
134 |
+
'TD' => 'Chad',
|
135 |
+
'CL' => 'Chile',
|
136 |
+
'CN' => 'China',
|
137 |
+
'CX' => 'Christmas Island',
|
138 |
+
'CC' => 'Cocos Islands',
|
139 |
+
'CO' => 'Colombia',
|
140 |
+
'KM' => 'Comoros',
|
141 |
+
'CK' => 'Cook Islands',
|
142 |
+
'CR' => 'Costa Rica',
|
143 |
+
'HR' => 'Croatia',
|
144 |
+
'CU' => 'Cuba',
|
145 |
+
'CW' => 'Curacao',
|
146 |
+
'CY' => 'Cyprus',
|
147 |
+
'CZ' => 'Czech Republic',
|
148 |
+
'CD' => 'Democratic Republic of the Congo',
|
149 |
+
'DK' => 'Denmark',
|
150 |
+
'DJ' => 'Djibouti',
|
151 |
+
'DM' => 'Dominica',
|
152 |
+
'DO' => 'Dominican Republic',
|
153 |
+
'TL' => 'East Timor',
|
154 |
+
'EC' => 'Ecuador',
|
155 |
+
'EG' => 'Egypt',
|
156 |
+
'SV' => 'El Salvador',
|
157 |
+
'GQ' => 'Equatorial Guinea',
|
158 |
+
'ER' => 'Eritrea',
|
159 |
+
'EE' => 'Estonia',
|
160 |
+
'ET' => 'Ethiopia',
|
161 |
+
'FK' => 'Falkland Islands',
|
162 |
+
'FO' => 'Faroe Islands',
|
163 |
+
'FJ' => 'Fiji',
|
164 |
+
'FI' => 'Finland',
|
165 |
+
'FR' => 'France',
|
166 |
+
'GF' => 'French Guiana',
|
167 |
+
'PF' => 'French Polynesia',
|
168 |
+
'TF' => 'French Southern Territories',
|
169 |
+
'GA' => 'Gabon',
|
170 |
+
'GM' => 'Gambia',
|
171 |
+
'GE' => 'Georgia',
|
172 |
+
'DE' => 'Germany',
|
173 |
+
'GH' => 'Ghana',
|
174 |
+
'GI' => 'Gibraltar',
|
175 |
+
'GR' => 'Greece',
|
176 |
+
'GL' => 'Greenland',
|
177 |
+
'GD' => 'Grenada',
|
178 |
+
'GP' => 'Guadeloupe',
|
179 |
+
'GU' => 'Guam',
|
180 |
+
'GT' => 'Guatemala',
|
181 |
+
'GG' => 'Guernsey',
|
182 |
+
'GN' => 'Guinea',
|
183 |
+
'GW' => 'Guinea-Bissau',
|
184 |
+
'GY' => 'Guyana',
|
185 |
+
'HT' => 'Haiti',
|
186 |
+
'HM' => 'Heard Island and McDonald Islands',
|
187 |
+
'HN' => 'Honduras',
|
188 |
+
'HK' => 'Hong Kong',
|
189 |
+
'HU' => 'Hungary',
|
190 |
+
'IS' => 'Iceland',
|
191 |
+
'IN' => 'India',
|
192 |
+
'ID' => 'Indonesia',
|
193 |
+
'IR' => 'Iran',
|
194 |
+
'IQ' => 'Iraq',
|
195 |
+
'IE' => 'Ireland',
|
196 |
+
'IM' => 'Isle of Man',
|
197 |
+
'IL' => 'Israel',
|
198 |
+
'IT' => 'Italy',
|
199 |
+
'CI' => 'Ivory Coast',
|
200 |
+
'JM' => 'Jamaica',
|
201 |
+
'JP' => 'Japan',
|
202 |
+
'JE' => 'Jersey',
|
203 |
+
'JO' => 'Jordan',
|
204 |
+
'KZ' => 'Kazakhstan',
|
205 |
+
'KE' => 'Kenya',
|
206 |
+
'KI' => 'Kiribati',
|
207 |
+
'XK' => 'Kosovo',
|
208 |
+
'KW' => 'Kuwait',
|
209 |
+
'KG' => 'Kyrgyzstan',
|
210 |
+
'LA' => 'Laos',
|
211 |
+
'LV' => 'Latvia',
|
212 |
+
'LB' => 'Lebanon',
|
213 |
+
'LS' => 'Lesotho',
|
214 |
+
'LR' => 'Liberia',
|
215 |
+
'LY' => 'Libya',
|
216 |
+
'LI' => 'Liechtenstein',
|
217 |
+
'LT' => 'Lithuania',
|
218 |
+
'LU' => 'Luxembourg',
|
219 |
+
'MO' => 'Macao',
|
220 |
+
'MK' => 'Macedonia',
|
221 |
+
'MG' => 'Madagascar',
|
222 |
+
'MW' => 'Malawi',
|
223 |
+
'MY' => 'Malaysia',
|
224 |
+
'MV' => 'Maldives',
|
225 |
+
'ML' => 'Mali',
|
226 |
+
'MT' => 'Malta',
|
227 |
+
'MH' => 'Marshall Islands',
|
228 |
+
'MQ' => 'Martinique',
|
229 |
+
'MR' => 'Mauritania',
|
230 |
+
'MU' => 'Mauritius',
|
231 |
+
'YT' => 'Mayotte',
|
232 |
+
'MX' => 'Mexico',
|
233 |
+
'FM' => 'Micronesia',
|
234 |
+
'MD' => 'Moldova',
|
235 |
+
'MC' => 'Monaco',
|
236 |
+
'MN' => 'Mongolia',
|
237 |
+
'ME' => 'Montenegro',
|
238 |
+
'MS' => 'Montserrat',
|
239 |
+
'MA' => 'Morocco',
|
240 |
+
'MZ' => 'Mozambique',
|
241 |
+
'MM' => 'Myanmar',
|
242 |
+
'NA' => 'Namibia',
|
243 |
+
'NR' => 'Nauru',
|
244 |
+
'NP' => 'Nepal',
|
245 |
+
'NL' => 'Netherlands',
|
246 |
+
'NC' => 'New Caledonia',
|
247 |
+
'NZ' => 'New Zealand',
|
248 |
+
'NI' => 'Nicaragua',
|
249 |
+
'NE' => 'Niger',
|
250 |
+
'NG' => 'Nigeria',
|
251 |
+
'NU' => 'Niue',
|
252 |
+
'NF' => 'Norfolk Island',
|
253 |
+
'KP' => 'North Korea',
|
254 |
+
'MP' => 'Northern Mariana Islands',
|
255 |
+
'NO' => 'Norway',
|
256 |
+
'OM' => 'Oman',
|
257 |
+
'PK' => 'Pakistan',
|
258 |
+
'PW' => 'Palau',
|
259 |
+
'PS' => 'Palestinian Territory',
|
260 |
+
'PA' => 'Panama',
|
261 |
+
'PG' => 'Papua New Guinea',
|
262 |
+
'PY' => 'Paraguay',
|
263 |
+
'PE' => 'Peru',
|
264 |
+
'PH' => 'Philippines',
|
265 |
+
'PN' => 'Pitcairn',
|
266 |
+
'PL' => 'Poland',
|
267 |
+
'PT' => 'Portugal',
|
268 |
+
'PR' => 'Puerto Rico',
|
269 |
+
'QA' => 'Qatar',
|
270 |
+
'CG' => 'Republic of the Congo',
|
271 |
+
'RE' => 'Reunion',
|
272 |
+
'RO' => 'Romania',
|
273 |
+
'RU' => 'Russia',
|
274 |
+
'RW' => 'Rwanda',
|
275 |
+
'BL' => 'Saint Barthelemy',
|
276 |
+
'SH' => 'Saint Helena',
|
277 |
+
'KN' => 'Saint Kitts and Nevis',
|
278 |
+
'LC' => 'Saint Lucia',
|
279 |
+
'MF' => 'Saint Martin',
|
280 |
+
'PM' => 'Saint Pierre and Miquelon',
|
281 |
+
'VC' => 'Saint Vincent and the Grenadines',
|
282 |
+
'WS' => 'Samoa',
|
283 |
+
'SM' => 'San Marino',
|
284 |
+
'ST' => 'Sao Tome and Principe',
|
285 |
+
'SA' => 'Saudi Arabia',
|
286 |
+
'SN' => 'Senegal',
|
287 |
+
'RS' => 'Serbia',
|
288 |
+
'SC' => 'Seychelles',
|
289 |
+
'SL' => 'Sierra Leone',
|
290 |
+
'SG' => 'Singapore',
|
291 |
+
'SX' => 'Sint Maarten',
|
292 |
+
'SK' => 'Slovakia',
|
293 |
+
'SI' => 'Slovenia',
|
294 |
+
'SB' => 'Solomon Islands',
|
295 |
+
'SO' => 'Somalia',
|
296 |
+
'ZA' => 'South Africa',
|
297 |
+
'GS' => 'South Georgia and the South Sandwich Islands',
|
298 |
+
'KR' => 'South Korea',
|
299 |
+
'SS' => 'South Sudan',
|
300 |
+
'ES' => 'Spain',
|
301 |
+
'LK' => 'Sri Lanka',
|
302 |
+
'SD' => 'Sudan',
|
303 |
+
'SR' => 'Suriname',
|
304 |
+
'SJ' => 'Svalbard and Jan Mayen',
|
305 |
+
'SZ' => 'Swaziland',
|
306 |
+
'SE' => 'Sweden',
|
307 |
+
'CH' => 'Switzerland',
|
308 |
+
'SY' => 'Syria',
|
309 |
+
'TW' => 'Taiwan',
|
310 |
+
'TJ' => 'Tajikistan',
|
311 |
+
'TZ' => 'Tanzania',
|
312 |
+
'TH' => 'Thailand',
|
313 |
+
'TG' => 'Togo',
|
314 |
+
'TK' => 'Tokelau',
|
315 |
+
'TO' => 'Tonga',
|
316 |
+
'TT' => 'Trinidad and Tobago',
|
317 |
+
'TN' => 'Tunisia',
|
318 |
+
'TR' => 'Turkey',
|
319 |
+
'TM' => 'Turkmenistan',
|
320 |
+
'TC' => 'Turks and Caicos Islands',
|
321 |
+
'TV' => 'Tuvalu',
|
322 |
+
'VI' => 'U.S. Virgin Islands',
|
323 |
+
'UG' => 'Uganda',
|
324 |
+
'UA' => 'Ukraine',
|
325 |
+
'AE' => 'United Arab Emirates',
|
326 |
+
'GB' => 'United Kingdom',
|
327 |
+
'US' => 'United States',
|
328 |
+
'UM' => 'United States Minor Outlying Islands',
|
329 |
+
'UY' => 'Uruguay',
|
330 |
+
'UZ' => 'Uzbekistan',
|
331 |
+
'VU' => 'Vanuatu',
|
332 |
+
'VA' => 'Vatican',
|
333 |
+
'VE' => 'Venezuela',
|
334 |
+
'VN' => 'Vietnam',
|
335 |
+
'WF' => 'Wallis and Futuna',
|
336 |
+
'EH' => 'Western Sahara',
|
337 |
+
'YE' => 'Yemen',
|
338 |
+
'ZM' => 'Zambia',
|
339 |
+
'ZW' => 'Zimbabwe',
|
340 |
+
) ?>
|
341 |
+
<td><label><span><?php _efs( 'country', $slug ) ?>:</span> <select id="address_country_code">
|
342 |
+
<?php if ( empty( $billing->address_country_code ) ) : ?>
|
343 |
+
<option value=""
|
344 |
+
selected><?php _efs( 'select-country', $slug ) ?></option>
|
345 |
+
<?php endif ?>
|
346 |
+
<?php foreach ( $countries as $code => $country ) : ?>
|
347 |
+
<option
|
348 |
+
value="<?php echo $code ?>" <?php selected( $billing->address_country_code, $code ) ?>><?php echo $country ?></option>
|
349 |
+
<?php endforeach ?>
|
350 |
+
</select></label></td>
|
351 |
+
<td><label><span><?php _efs( 'state', $slug ) ?> / <?php _efs( 'province', $slug ) ?>:</span>
|
352 |
+
<input id="address_state" value="<?php echo $billing->address_state ?>" placeholder="<?php _efs( 'state', $slug ) ?> / <?php _efs( 'province', $slug ) ?>"></label></td>
|
353 |
+
</tr>
|
354 |
+
<tr>
|
355 |
+
<td colspan="2">
|
356 |
+
<button
|
357 |
+
class="button"><?php _efs( $has_billing ? 'edit' : 'update', $slug ) ?></button>
|
358 |
+
</td>
|
359 |
+
</tr>
|
360 |
+
</table>
|
361 |
+
</div>
|
362 |
+
<div class="postbox">
|
363 |
+
<h3><span class="dashicons dashicons-paperclip"></span> <?php _efs( 'payments', $slug ) ?></h3>
|
364 |
|
365 |
<?php
|
366 |
+
$payments = $fs->_fetch_payments();
|
367 |
?>
|
368 |
|
369 |
<div class="inside">
|
384 |
<td><?php echo $payment->id ?></td>
|
385 |
<td><?php echo date( 'M j, Y', strtotime( $payment->created ) ) ?></td>
|
386 |
<td>$<?php echo $payment->gross ?></td>
|
387 |
+
<td><a href="<?php echo $fs->_get_invoice_api_url( $payment->id ) ?>"
|
388 |
+
class="button button-small"
|
389 |
target="_blank"><?php _efs( 'invoice', $slug ) ?></a></td>
|
390 |
</tr>
|
391 |
<?php $odd = ! $odd; endforeach ?>
|
398 |
</div>
|
399 |
</div>
|
400 |
</div>
|
401 |
+
<script type="text/javascript">
|
402 |
+
(function($){
|
403 |
+
var $billingAddress = $('#fs_billing_address'),
|
404 |
+
$billingInputs = $billingAddress.find('input, select');
|
405 |
+
|
406 |
+
var setPrevValues = function () {
|
407 |
+
$billingInputs.each(function () {
|
408 |
+
$(this).attr('data-val', $(this).val());
|
409 |
+
});
|
410 |
+
};
|
411 |
+
|
412 |
+
setPrevValues();
|
413 |
+
|
414 |
+
var hasBillingChanged = function () {
|
415 |
+
for (var i = 0, len = $billingInputs.length; i < len; i++){
|
416 |
+
var $this = $($billingInputs[i]);
|
417 |
+
if ($this.attr('data-val') !== $this.val()) {
|
418 |
+
return true;
|
419 |
+
}
|
420 |
+
}
|
421 |
+
|
422 |
+
return false;
|
423 |
+
};
|
424 |
+
|
425 |
+
var isEditAllFieldsMode = false;
|
426 |
+
|
427 |
+
$billingAddress.find('.button').click(function(){
|
428 |
+
$billingAddress.toggleClass('fs-read-mode');
|
429 |
+
|
430 |
+
var isEditMode = !$billingAddress.hasClass('fs-read-mode');
|
431 |
+
|
432 |
+
$(this)
|
433 |
+
.html(isEditMode ? <?php echo json_encode(__fs('update', $slug)) ?> : <?php echo json_encode(__fs('edit', $slug)) ?>)
|
434 |
+
.toggleClass('button-primary');
|
435 |
+
|
436 |
+
if (isEditMode) {
|
437 |
+
$('#business_name').focus().select();
|
438 |
+
isEditAllFieldsMode = true;
|
439 |
+
} else {
|
440 |
+
isEditAllFieldsMode = false;
|
441 |
+
|
442 |
+
if (!hasBillingChanged())
|
443 |
+
return;
|
444 |
+
|
445 |
+
var billing = {};
|
446 |
+
|
447 |
+
$billingInputs.each(function(){
|
448 |
+
if ($(this).attr('data-val') !== $(this).val()) {
|
449 |
+
billing[$(this).attr('id')] = $(this).val();
|
450 |
+
}
|
451 |
+
});
|
452 |
+
|
453 |
+
$.ajax({
|
454 |
+
url : ajaxurl,
|
455 |
+
method : 'POST',
|
456 |
+
data : {
|
457 |
+
action : '<?php echo $fs->get_action_tag( 'update_billing' ) ?>',
|
458 |
+
security: '<?php echo wp_create_nonce( $fs->get_action_tag( 'update_billing' ) ) ?>',
|
459 |
+
slug : '<?php echo $slug ?>',
|
460 |
+
billing : billing
|
461 |
+
},
|
462 |
+
success: function (resultObj) {
|
463 |
+
if (resultObj.success) {
|
464 |
+
setPrevValues();
|
465 |
+
} else {
|
466 |
+
alert(resultObj.error);
|
467 |
+
}
|
468 |
+
}
|
469 |
+
});
|
470 |
+
}
|
471 |
+
});
|
472 |
+
|
473 |
+
$billingInputs
|
474 |
+
// Get into edit mode upon selection.
|
475 |
+
.focus(function () {
|
476 |
+
var isEditMode = !$billingAddress.hasClass('fs-read-mode');
|
477 |
+
|
478 |
+
if (isEditMode) {
|
479 |
+
return;
|
480 |
+
}
|
481 |
+
|
482 |
+
$billingAddress.toggleClass('fs-read-mode');
|
483 |
+
$billingAddress.find('.button')
|
484 |
+
.html(<?php echo json_encode( __fs( 'update', $slug ) ) ?>)
|
485 |
+
.toggleClass('button-primary');
|
486 |
+
})
|
487 |
+
// If blured after editing only one field without changes, exit edit mode.
|
488 |
+
.blur(function () {
|
489 |
+
if (!isEditAllFieldsMode && !hasBillingChanged()) {
|
490 |
+
$billingAddress.toggleClass('fs-read-mode');
|
491 |
+
$billingAddress.find('.button')
|
492 |
+
.html(<?php echo json_encode( __fs( 'edit', $slug ) ) ?>)
|
493 |
+
.toggleClass('button-primary');
|
494 |
+
}
|
495 |
+
});
|
496 |
+
})(jQuery);
|
497 |
+
</script>
|
498 |
<?php
|
499 |
$params = array(
|
500 |
'page' => 'account',
|
freemius/templates/checkout.php
CHANGED
@@ -32,13 +32,13 @@
|
|
32 |
|
33 |
// Get site context secure params.
|
34 |
if ( $fs->is_registered() ) {
|
35 |
-
$site
|
36 |
$plugin_id = fs_request_get( 'plugin_id', $fs->get_id() );
|
37 |
|
38 |
-
if ($plugin_id != $fs->get_id()) {
|
39 |
if ( $fs->is_addon_activated( $plugin_id ) ) {
|
40 |
$fs_addon = Freemius::get_instance_by_id( $plugin_id );
|
41 |
-
$site
|
42 |
}
|
43 |
}
|
44 |
|
@@ -57,17 +57,7 @@
|
|
57 |
'user_firstname' => $current_user->user_firstname,
|
58 |
'user_lastname' => $current_user->user_lastname,
|
59 |
'user_email' => $current_user->user_email,
|
60 |
-
|
61 |
-
// 'plugin_slug' => $slug,
|
62 |
-
// 'site_url' => get_site_url(),
|
63 |
-
// 'site_name' => get_bloginfo( 'name' ),
|
64 |
-
// 'platform_version' => get_bloginfo( 'version' ),
|
65 |
-
// 'language' => get_bloginfo( 'language' ),
|
66 |
-
// 'charset' => get_bloginfo( 'charset' ),
|
67 |
-
// 'account_url' => fs_nonce_url( $fs->_get_admin_page_url(
|
68 |
-
// 'account',
|
69 |
-
// array( 'fs_action' => 'sync_user' )
|
70 |
-
// ), 'sync_user' ),
|
71 |
) );
|
72 |
|
73 |
$fs_user = Freemius::_get_user_by_email( $current_user->user_email );
|
@@ -81,8 +71,7 @@
|
|
81 |
}
|
82 |
}
|
83 |
|
84 |
-
if ( $fs->is_payments_sandbox() )
|
85 |
-
{
|
86 |
// Append plugin secure token for sandbox mode authentication.
|
87 |
$context_params['sandbox'] = FS_Security::instance()->get_secure_token(
|
88 |
$fs->get_plugin(),
|
@@ -162,16 +151,16 @@
|
|
162 |
$(function () {
|
163 |
|
164 |
var
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
|
176 |
FS.PostMessage.init(base_url, [iframe[0]]);
|
177 |
FS.PostMessage.receiveOnce('height', function (data) {
|
@@ -186,10 +175,10 @@
|
|
186 |
|
187 |
FS.PostMessage.receiveOnce('install', function (data) {
|
188 |
// Post data to activation URL.
|
189 |
-
$.form('<?php echo fs_nonce_url($fs->_get_admin_page_url('account', array(
|
190 |
'fs_action' => $slug . '_activate_new',
|
191 |
-
'plugin_id' => isset($_GET['plugin_id']) ? $_GET['plugin_id'] : $fs->get_id()
|
192 |
-
|
193 |
user_id : data.user.id,
|
194 |
user_secret_key : data.user.secret_key,
|
195 |
user_public_key : data.user.public_key,
|
@@ -200,11 +189,11 @@
|
|
200 |
});
|
201 |
|
202 |
FS.PostMessage.receiveOnce('pending_activation', function (data) {
|
203 |
-
$.form('<?php echo fs_nonce_url($fs->_get_admin_page_url('account', array(
|
204 |
-
'fs_action'
|
205 |
-
'plugin_id'
|
206 |
'pending_activation' => true,
|
207 |
-
|
208 |
user_email: data.user_email
|
209 |
}).submit();
|
210 |
});
|
@@ -217,28 +206,17 @@
|
|
217 |
// and then click the purchase button, the context information
|
218 |
// of the user will be shared with Freemius in order to complete the
|
219 |
// purchase workflow and activate the license for the right user.
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
'account',
|
232 |
-
array('fs_action' => 'sync_user')
|
233 |
-
), 'sync_user') ?>',
|
234 |
-
activation_url : '<?php echo fs_nonce_url($fs->_get_admin_page_url('',
|
235 |
-
array(
|
236 |
-
'fs_action' => $slug . '_activate_new',
|
237 |
-
'plugin_id' => fs_request_get('plugin_id', $fs->get_id()),
|
238 |
-
|
239 |
-
)),
|
240 |
-
$slug . '_activate_new') ?>'
|
241 |
-
}, iframe[0]);
|
242 |
});
|
243 |
|
244 |
FS.PostMessage.receiveOnce('get_dimensions', function (data) {
|
32 |
|
33 |
// Get site context secure params.
|
34 |
if ( $fs->is_registered() ) {
|
35 |
+
$site = $fs->get_site();
|
36 |
$plugin_id = fs_request_get( 'plugin_id', $fs->get_id() );
|
37 |
|
38 |
+
if ( $plugin_id != $fs->get_id() ) {
|
39 |
if ( $fs->is_addon_activated( $plugin_id ) ) {
|
40 |
$fs_addon = Freemius::get_instance_by_id( $plugin_id );
|
41 |
+
$site = $fs_addon->get_site();
|
42 |
}
|
43 |
}
|
44 |
|
57 |
'user_firstname' => $current_user->user_firstname,
|
58 |
'user_lastname' => $current_user->user_lastname,
|
59 |
'user_email' => $current_user->user_email,
|
60 |
+
'home_url' => home_url(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
) );
|
62 |
|
63 |
$fs_user = Freemius::_get_user_by_email( $current_user->user_email );
|
71 |
}
|
72 |
}
|
73 |
|
74 |
+
if ( $fs->is_payments_sandbox() ) {
|
|
|
75 |
// Append plugin secure token for sandbox mode authentication.
|
76 |
$context_params['sandbox'] = FS_Security::instance()->get_secure_token(
|
77 |
$fs->get_plugin(),
|
151 |
$(function () {
|
152 |
|
153 |
var
|
154 |
+
// Keep track of the iframe height.
|
155 |
+
iframe_height = 800,
|
156 |
+
base_url = '<?php echo WP_FS__ADDRESS ?>',
|
157 |
+
// Pass the parent page URL into the Iframe in a meaningful way (this URL could be
|
158 |
+
// passed via query string or hard coded into the child page, it depends on your needs).
|
159 |
+
src = base_url + '/checkout/?<?php echo ( isset( $_REQUEST['XDEBUG_SESSION'] ) ? 'XDEBUG_SESSION=' . $_REQUEST['XDEBUG_SESSION'] . '&' : '' ) . http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),
|
160 |
|
161 |
+
// Append the Iframe into the DOM.
|
162 |
+
iframe = $('<iframe " src="' + src + '" width="100%" height="' + iframe_height + 'px" scrolling="no" frameborder="0" style="background: transparent;"><\/iframe>')
|
163 |
+
.appendTo('#iframe');
|
164 |
|
165 |
FS.PostMessage.init(base_url, [iframe[0]]);
|
166 |
FS.PostMessage.receiveOnce('height', function (data) {
|
175 |
|
176 |
FS.PostMessage.receiveOnce('install', function (data) {
|
177 |
// Post data to activation URL.
|
178 |
+
$.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(
|
179 |
'fs_action' => $slug . '_activate_new',
|
180 |
+
'plugin_id' => isset( $_GET['plugin_id'] ) ? $_GET['plugin_id'] : $fs->get_id()
|
181 |
+
) ), $slug . '_activate_new' ) ?>', {
|
182 |
user_id : data.user.id,
|
183 |
user_secret_key : data.user.secret_key,
|
184 |
user_public_key : data.user.public_key,
|
189 |
});
|
190 |
|
191 |
FS.PostMessage.receiveOnce('pending_activation', function (data) {
|
192 |
+
$.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(
|
193 |
+
'fs_action' => $slug . '_activate_new',
|
194 |
+
'plugin_id' => fs_request_get( 'plugin_id', $fs->get_id() ),
|
195 |
'pending_activation' => true,
|
196 |
+
) ), $slug . '_activate_new' ) ?>', {
|
197 |
user_email: data.user_email
|
198 |
}).submit();
|
199 |
});
|
206 |
// and then click the purchase button, the context information
|
207 |
// of the user will be shared with Freemius in order to complete the
|
208 |
// purchase workflow and activate the license for the right user.
|
209 |
+
<?php $install_data = array_merge( $fs->get_opt_in_params(),
|
210 |
+
array(
|
211 |
+
'activation_url' => fs_nonce_url( $fs->_get_admin_page_url( '',
|
212 |
+
array(
|
213 |
+
'fs_action' => $slug . '_activate_new',
|
214 |
+
'plugin_id' => fs_request_get( 'plugin_id', $fs->get_id() ),
|
215 |
+
|
216 |
+
) ),
|
217 |
+
$slug . '_activate_new' )
|
218 |
+
) ) ?>
|
219 |
+
FS.PostMessage.post('context', <?php echo json_encode( $install_data ) ?>, iframe[0]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
});
|
221 |
|
222 |
FS.PostMessage.receiveOnce('get_dimensions', function (data) {
|
freemius/templates/connect.php
CHANGED
@@ -58,8 +58,11 @@
|
|
58 |
}
|
59 |
|
60 |
if ( $require_license_key ) {
|
61 |
-
$fs->
|
62 |
}
|
|
|
|
|
|
|
63 |
?>
|
64 |
<div id="fs_connect"
|
65 |
class="wrap<?php if ( ! $fs->is_enable_anonymous() || $is_pending_activation || $require_license_key ) {
|
@@ -90,7 +93,8 @@
|
|
90 |
__fs( 'pending-activation-message', $slug ),
|
91 |
$first_name,
|
92 |
'<b>' . $fs->get_plugin_name() . '</b>',
|
93 |
-
'<b>' . $current_user->user_email . '</b>'
|
|
|
94 |
) );
|
95 |
} else if ( $require_license_key ) {
|
96 |
$button_label = 'agree-activate-license';
|
@@ -119,10 +123,9 @@
|
|
119 |
}
|
120 |
|
121 |
echo $fs->apply_filters( $filter,
|
|
|
122 |
sprintf(
|
123 |
-
__fs( 'hey-x', $slug ) . '<br>' .
|
124 |
__fs( $default_optin_message, $slug ),
|
125 |
-
$first_name,
|
126 |
'<b>' . $fs->get_plugin_name() . '</b>',
|
127 |
'<b>' . $current_user->user_login . '</b>',
|
128 |
'<a href="' . $site_url . '" target="_blank">' . $site_url . '</a>',
|
@@ -148,12 +151,11 @@
|
|
148 |
</div>
|
149 |
<div class="fs-actions">
|
150 |
<?php if ( $fs->is_enable_anonymous() && ! $is_pending_activation && ! $require_license_key ) : ?>
|
151 |
-
<a href="<?php echo
|
152 |
class="button button-secondary" tabindex="2"><?php _efs( 'skip', $slug ) ?></a>
|
153 |
<?php endif ?>
|
154 |
|
155 |
-
<?php
|
156 |
-
<?php if ( is_object( $fs_user ) && ! $is_pending_activation ) : ?>
|
157 |
<form action="" method="POST">
|
158 |
<input type="hidden" name="fs_action" value="<?php echo $slug ?>_activate_existing">
|
159 |
<?php wp_nonce_field( 'activate_existing_' . $fs->get_public_key() ) ?>
|
@@ -190,6 +192,12 @@
|
|
190 |
'desc' => __fs( 'permissions-site_desc' ),
|
191 |
'priority' => 10,
|
192 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
'events' => array(
|
194 |
'icon-class' => 'dashicons dashicons-admin-plugins',
|
195 |
'label' => __fs( 'permissions-events' ),
|
@@ -228,14 +236,14 @@
|
|
228 |
<a class="fs-trigger" href="#" tabindex="1"><?php _efs( 'what-permissions', $slug ) ?></a>
|
229 |
<ul><?php
|
230 |
foreach ( $permissions as $id => $permission ) : ?>
|
231 |
-
<li id="fs-permission-<?php
|
232 |
-
class="fs-permission fs-<?php
|
233 |
-
<i class="<?php
|
234 |
|
235 |
<div>
|
236 |
-
<span><?php
|
237 |
|
238 |
-
<p><?php
|
239 |
</div>
|
240 |
</li>
|
241 |
<?php endforeach; ?>
|
@@ -267,12 +275,20 @@
|
|
267 |
var $primaryCta = $('.fs-actions .button.button-primary'),
|
268 |
$form = $('.fs-actions form'),
|
269 |
requireLicenseKey = <?php echo $require_license_key ? 'true' : 'false' ?>,
|
|
|
270 |
$licenseSecret,
|
271 |
$licenseKeyInput = $('#fs_license_key');
|
272 |
|
273 |
$('.fs-actions .button').on('click', function () {
|
274 |
// Set loading mode.
|
275 |
$(document.body).css({'cursor': 'wait'});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
});
|
277 |
|
278 |
$form.on('submit', function () {
|
@@ -281,13 +297,53 @@
|
|
281 |
* @since 1.1.9
|
282 |
*/
|
283 |
if (requireLicenseKey) {
|
284 |
-
if (
|
285 |
-
$
|
286 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
}
|
|
|
|
|
|
|
|
|
|
|
288 |
|
289 |
-
|
290 |
-
|
|
|
291 |
}
|
292 |
|
293 |
return true;
|
@@ -295,7 +351,7 @@
|
|
295 |
|
296 |
$primaryCta.on('click', function () {
|
297 |
$(this).addClass('fs-loading');
|
298 |
-
$(this).html(
|
299 |
});
|
300 |
|
301 |
$('.fs-permissions .fs-trigger').on('click', function () {
|
58 |
}
|
59 |
|
60 |
if ( $require_license_key ) {
|
61 |
+
$fs->_add_license_activation_dialog_box();
|
62 |
}
|
63 |
+
|
64 |
+
$fs_user = Freemius::_get_user_by_email( $current_user->user_email );
|
65 |
+
$activate_with_current_user = is_object( $fs_user ) && ! $is_pending_activation;
|
66 |
?>
|
67 |
<div id="fs_connect"
|
68 |
class="wrap<?php if ( ! $fs->is_enable_anonymous() || $is_pending_activation || $require_license_key ) {
|
93 |
__fs( 'pending-activation-message', $slug ),
|
94 |
$first_name,
|
95 |
'<b>' . $fs->get_plugin_name() . '</b>',
|
96 |
+
'<b>' . $current_user->user_email . '</b>',
|
97 |
+
__fs( 'complete-the-install', $slug )
|
98 |
) );
|
99 |
} else if ( $require_license_key ) {
|
100 |
$button_label = 'agree-activate-license';
|
123 |
}
|
124 |
|
125 |
echo $fs->apply_filters( $filter,
|
126 |
+
sprintf( __fs( 'hey-x', $slug ), $first_name ) . '<br>' .
|
127 |
sprintf(
|
|
|
128 |
__fs( $default_optin_message, $slug ),
|
|
|
129 |
'<b>' . $fs->get_plugin_name() . '</b>',
|
130 |
'<b>' . $current_user->user_login . '</b>',
|
131 |
'<a href="' . $site_url . '" target="_blank">' . $site_url . '</a>',
|
151 |
</div>
|
152 |
<div class="fs-actions">
|
153 |
<?php if ( $fs->is_enable_anonymous() && ! $is_pending_activation && ! $require_license_key ) : ?>
|
154 |
+
<a href="<?php echo fs_nonce_url( $fs->_get_admin_page_url( '', array( 'fs_action' => $slug . '_skip_activation' ) ), $slug . '_skip_activation' ) ?>"
|
155 |
class="button button-secondary" tabindex="2"><?php _efs( 'skip', $slug ) ?></a>
|
156 |
<?php endif ?>
|
157 |
|
158 |
+
<?php if ( $activate_with_current_user ) : ?>
|
|
|
159 |
<form action="" method="POST">
|
160 |
<input type="hidden" name="fs_action" value="<?php echo $slug ?>_activate_existing">
|
161 |
<?php wp_nonce_field( 'activate_existing_' . $fs->get_public_key() ) ?>
|
192 |
'desc' => __fs( 'permissions-site_desc' ),
|
193 |
'priority' => 10,
|
194 |
),
|
195 |
+
'notices' => array(
|
196 |
+
'icon-class' => 'dashicons dashicons-testimonial',
|
197 |
+
'label' => __fs( 'permissions-admin-notices' ),
|
198 |
+
'desc' => __fs( 'permissions-newsletter_desc' ),
|
199 |
+
'priority' => 13,
|
200 |
+
),
|
201 |
'events' => array(
|
202 |
'icon-class' => 'dashicons dashicons-admin-plugins',
|
203 |
'label' => __fs( 'permissions-events' ),
|
236 |
<a class="fs-trigger" href="#" tabindex="1"><?php _efs( 'what-permissions', $slug ) ?></a>
|
237 |
<ul><?php
|
238 |
foreach ( $permissions as $id => $permission ) : ?>
|
239 |
+
<li id="fs-permission-<?php echo esc_attr( $id ); ?>"
|
240 |
+
class="fs-permission fs-<?php echo esc_attr( $id ); ?>">
|
241 |
+
<i class="<?php echo esc_attr( $permission['icon-class'] ); ?>"></i>
|
242 |
|
243 |
<div>
|
244 |
+
<span><?php echo esc_html( $permission['label'] ); ?></span>
|
245 |
|
246 |
+
<p><?php echo esc_html( $permission['desc'] ); ?></p>
|
247 |
</div>
|
248 |
</li>
|
249 |
<?php endforeach; ?>
|
275 |
var $primaryCta = $('.fs-actions .button.button-primary'),
|
276 |
$form = $('.fs-actions form'),
|
277 |
requireLicenseKey = <?php echo $require_license_key ? 'true' : 'false' ?>,
|
278 |
+
hasContextUser = <?php echo $activate_with_current_user ? 'true' : 'false' ?>,
|
279 |
$licenseSecret,
|
280 |
$licenseKeyInput = $('#fs_license_key');
|
281 |
|
282 |
$('.fs-actions .button').on('click', function () {
|
283 |
// Set loading mode.
|
284 |
$(document.body).css({'cursor': 'wait'});
|
285 |
+
|
286 |
+
var $this = $(this);
|
287 |
+
$this.css({'cursor': 'wait'});
|
288 |
+
|
289 |
+
setTimeout(function () {
|
290 |
+
$this.attr('disabled', 'disabled');
|
291 |
+
}, 200);
|
292 |
});
|
293 |
|
294 |
$form.on('submit', function () {
|
297 |
* @since 1.1.9
|
298 |
*/
|
299 |
if (requireLicenseKey) {
|
300 |
+
if (!hasContextUser) {
|
301 |
+
$('.fs-error').remove();
|
302 |
+
|
303 |
+
/**
|
304 |
+
* Use the AJAX opt-in when license key is required to potentially
|
305 |
+
* process the after install failure hook.
|
306 |
+
*
|
307 |
+
* @author Vova Feldman (@svovaf)
|
308 |
+
* @since 1.2.1.5
|
309 |
+
*/
|
310 |
+
$.ajax({
|
311 |
+
url : ajaxurl,
|
312 |
+
method : 'POST',
|
313 |
+
data : {
|
314 |
+
action : 'fs_activate_license_<?php echo $slug ?>',
|
315 |
+
slug : '<?php echo $slug ?>',
|
316 |
+
license_key: $licenseKeyInput.val()
|
317 |
+
},
|
318 |
+
success: function (result) {
|
319 |
+
var resultObj = $.parseJSON(result);
|
320 |
+
if (resultObj.success) {
|
321 |
+
// Redirect to the "Account" page and sync the license.
|
322 |
+
window.location.href = resultObj.next_page;
|
323 |
+
} else {
|
324 |
+
// Show error.
|
325 |
+
$('.fs-content').prepend('<p class="fs-error">' + resultObj.error + '</p>');
|
326 |
+
|
327 |
+
// Reset loading mode.
|
328 |
+
$primaryCta.removeClass('fs-loading').css({'cursor': 'auto'});
|
329 |
+
$primaryCta.html(<?php echo json_encode(__fs( $button_label, $slug )) ?>);
|
330 |
+
$primaryCta.prop('disabled', false);
|
331 |
+
$(document.body).css({'cursor': 'auto'});
|
332 |
+
}
|
333 |
+
}
|
334 |
+
});
|
335 |
+
|
336 |
+
return false;
|
337 |
}
|
338 |
+
else {
|
339 |
+
if (null == $licenseSecret) {
|
340 |
+
$licenseSecret = $('<input type="hidden" name="license_secret_key" value="" />');
|
341 |
+
$form.append($licenseSecret);
|
342 |
+
}
|
343 |
|
344 |
+
// Update secret key if premium only plugin.
|
345 |
+
$licenseSecret.val($licenseKeyInput.val());
|
346 |
+
}
|
347 |
}
|
348 |
|
349 |
return true;
|
351 |
|
352 |
$primaryCta.on('click', function () {
|
353 |
$(this).addClass('fs-loading');
|
354 |
+
$(this).html(<?php echo json_encode(__fs( $is_pending_activation ? 'sending-email' : 'activating' , $slug )) ?> +'...');
|
355 |
});
|
356 |
|
357 |
$('.fs-permissions .fs-trigger').on('click', function () {
|
freemius/templates/debug.php
CHANGED
@@ -78,6 +78,58 @@
|
|
78 |
</tr>
|
79 |
</tbody>
|
80 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
<h2><?php _efs( 'sdk-versions' ) ?></h2>
|
82 |
<table id="fs_sdks" class="widefat">
|
83 |
<thead>
|
@@ -116,6 +168,7 @@
|
|
116 |
<th><?php _efs( 'freemius-state' ) ?></th>
|
117 |
<th><?php _efs( 'plugin-path' ) ?></th>
|
118 |
<th><?php _efs( 'public-key' ) ?></th>
|
|
|
119 |
</tr>
|
120 |
</thead>
|
121 |
<tbody>
|
@@ -123,24 +176,42 @@
|
|
123 |
<?php $is_active = is_plugin_active( $data->file ) ?>
|
124 |
<?php $fs = $is_active ? freemius( $slug ) : null ?>
|
125 |
<tr<?php if ( $is_active ) {
|
126 |
-
|
|
|
|
|
|
|
|
|
127 |
} ?>>
|
128 |
<td><?php echo $data->id ?></td>
|
129 |
<td><?php echo $slug ?></td>
|
130 |
<td><?php echo $data->version ?></td>
|
131 |
<td><?php echo $data->title ?></td>
|
132 |
-
<td
|
|
|
|
|
133 |
echo $fs->has_api_connectivity() ?
|
134 |
__fs( 'connected' ) :
|
135 |
__fs( 'blocked' );
|
136 |
} ?></td>
|
137 |
-
<td
|
|
|
|
|
138 |
echo $fs->is_on() ?
|
139 |
__fs( 'on' ) :
|
140 |
__fs( 'off' );
|
141 |
} ?></td>
|
142 |
<td><?php echo $data->file ?></td>
|
143 |
<td><?php echo $data->public_key ?></td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
</tr>
|
145 |
<?php endforeach ?>
|
146 |
</tbody>
|
@@ -148,7 +219,7 @@
|
|
148 |
<?php endif ?>
|
149 |
<?php
|
150 |
/**
|
151 |
-
* @var array
|
152 |
* @var FS_Site[] $sites
|
153 |
*/
|
154 |
$sites = $VARS['sites'];
|
@@ -240,7 +311,7 @@
|
|
240 |
<tr>
|
241 |
<td><?php echo $user->id ?></td>
|
242 |
<td><?php echo $user->get_name() ?></td>
|
243 |
-
<td><a href="mailto:<?php
|
244 |
<td><?php echo json_encode( $user->is_verified ) ?></td>
|
245 |
<td><?php echo $user->public_key ?></td>
|
246 |
<td><?php echo $user->secret_key ?></td>
|
78 |
</tr>
|
79 |
</tbody>
|
80 |
</table>
|
81 |
+
<?php
|
82 |
+
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
83 |
+
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
84 |
+
}
|
85 |
+
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
86 |
+
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
87 |
+
}
|
88 |
+
|
89 |
+
$defines = array(
|
90 |
+
array(
|
91 |
+
'key' => 'WP_FS__REMOTE_ADDR',
|
92 |
+
'val' => WP_FS__REMOTE_ADDR,
|
93 |
+
),
|
94 |
+
array(
|
95 |
+
'key' => 'WP_FS__ADDRESS_PRODUCTION',
|
96 |
+
'val' => WP_FS__ADDRESS_PRODUCTION,
|
97 |
+
),
|
98 |
+
array(
|
99 |
+
'key' => 'FS_API__ADDRESS',
|
100 |
+
'val' => FS_API__ADDRESS,
|
101 |
+
),
|
102 |
+
array(
|
103 |
+
'key' => 'FS_API__SANDBOX_ADDRESS',
|
104 |
+
'val' => FS_API__SANDBOX_ADDRESS,
|
105 |
+
),
|
106 |
+
array(
|
107 |
+
'key' => 'WP_FS__DIR',
|
108 |
+
'val' => WP_FS__DIR,
|
109 |
+
),
|
110 |
+
)
|
111 |
+
?>
|
112 |
+
<br>
|
113 |
+
<table class="widefat">
|
114 |
+
<thead>
|
115 |
+
<tr>
|
116 |
+
<th><?php _efs( 'key' ) ?></th>
|
117 |
+
<th><?php _efs( 'value' ) ?></th>
|
118 |
+
</tr>
|
119 |
+
</thead>
|
120 |
+
<tbody>
|
121 |
+
<?php $alternate = false;
|
122 |
+
foreach ( $defines as $p ) : ?>
|
123 |
+
<tr<?php if ( $alternate ) {
|
124 |
+
echo ' class="alternate"';
|
125 |
+
} ?>>
|
126 |
+
<td><?php echo $p['key'] ?></td>
|
127 |
+
<td><?php echo $p['val'] ?></td>
|
128 |
+
</tr>
|
129 |
+
<?php $alternate = ! $alternate ?>
|
130 |
+
<?php endforeach ?>
|
131 |
+
</tbody>
|
132 |
+
</table>
|
133 |
<h2><?php _efs( 'sdk-versions' ) ?></h2>
|
134 |
<table id="fs_sdks" class="widefat">
|
135 |
<thead>
|
168 |
<th><?php _efs( 'freemius-state' ) ?></th>
|
169 |
<th><?php _efs( 'plugin-path' ) ?></th>
|
170 |
<th><?php _efs( 'public-key' ) ?></th>
|
171 |
+
<th><?php _efs( 'actions' ) ?></th>
|
172 |
</tr>
|
173 |
</thead>
|
174 |
<tbody>
|
176 |
<?php $is_active = is_plugin_active( $data->file ) ?>
|
177 |
<?php $fs = $is_active ? freemius( $slug ) : null ?>
|
178 |
<tr<?php if ( $is_active ) {
|
179 |
+
if ($fs->has_api_connectivity() && $fs->is_on()) {
|
180 |
+
echo ' style="background: #E6FFE6; font-weight: bold"';
|
181 |
+
}else{
|
182 |
+
echo ' style="background: #ffd0d0; font-weight: bold"';
|
183 |
+
}
|
184 |
} ?>>
|
185 |
<td><?php echo $data->id ?></td>
|
186 |
<td><?php echo $slug ?></td>
|
187 |
<td><?php echo $data->version ?></td>
|
188 |
<td><?php echo $data->title ?></td>
|
189 |
+
<td<?php if ( $is_active && ! $fs->has_api_connectivity() ) {
|
190 |
+
echo ' style="color: red; text-transform: uppercase;"';
|
191 |
+
} ?>><?php if ( $is_active ) {
|
192 |
echo $fs->has_api_connectivity() ?
|
193 |
__fs( 'connected' ) :
|
194 |
__fs( 'blocked' );
|
195 |
} ?></td>
|
196 |
+
<td<?php if ( $is_active && ! $fs->is_on() ) {
|
197 |
+
echo ' style="color: red; text-transform: uppercase;"';
|
198 |
+
} ?>><?php if ( $is_active ) {
|
199 |
echo $fs->is_on() ?
|
200 |
__fs( 'on' ) :
|
201 |
__fs( 'off' );
|
202 |
} ?></td>
|
203 |
<td><?php echo $data->file ?></td>
|
204 |
<td><?php echo $data->public_key ?></td>
|
205 |
+
<td>
|
206 |
+
<?php if ($is_active && $fs->has_trial_plan()) : ?>
|
207 |
+
<form action="" method="POST">
|
208 |
+
<input type="hidden" name="fs_action" value="simulate_trial">
|
209 |
+
<input type="hidden" name="slug" value="<?php echo $slug ?>">
|
210 |
+
<?php wp_nonce_field( 'simulate_trial' ) ?>
|
211 |
+
|
212 |
+
<button type="submit" class="button button-primary simulate-trial"><?php _efs( 'Simulate Trial' ) ?></button>
|
213 |
+
<?php endif ?>
|
214 |
+
</td>
|
215 |
</tr>
|
216 |
<?php endforeach ?>
|
217 |
</tbody>
|
219 |
<?php endif ?>
|
220 |
<?php
|
221 |
/**
|
222 |
+
* @var array $VARS
|
223 |
* @var FS_Site[] $sites
|
224 |
*/
|
225 |
$sites = $VARS['sites'];
|
311 |
<tr>
|
312 |
<td><?php echo $user->id ?></td>
|
313 |
<td><?php echo $user->get_name() ?></td>
|
314 |
+
<td><a href="mailto:<?php echo esc_attr( $user->email ) ?>"><?php echo $user->email ?></a></td>
|
315 |
<td><?php echo json_encode( $user->is_verified ) ?></td>
|
316 |
<td><?php echo $user->public_key ?></td>
|
317 |
<td><?php echo $user->secret_key ?></td>
|
freemius/templates/debug/logger.php
CHANGED
@@ -47,11 +47,11 @@
|
|
47 |
<?php
|
48 |
printf(
|
49 |
'<a href="#" style="color: darkorange !important;" onclick="jQuery(this).parent().find(\'div\').toggle(); return false;"><nobr>%s</nobr></a>',
|
50 |
-
substr( $log['msg'], 0, 32 ) . ( 32 < strlen( $log['msg'] ) ? '...' : '' )
|
51 |
);
|
52 |
?>
|
53 |
<div style="display: none;">
|
54 |
-
<b style="color: darkorange;"><?php echo $log['msg'] ?></b>
|
55 |
</div>
|
56 |
</td>
|
57 |
<td><?php
|
47 |
<?php
|
48 |
printf(
|
49 |
'<a href="#" style="color: darkorange !important;" onclick="jQuery(this).parent().find(\'div\').toggle(); return false;"><nobr>%s</nobr></a>',
|
50 |
+
esc_html( substr( $log['msg'], 0, 32 ) ) . ( 32 < strlen( $log['msg'] ) ? '...' : '' )
|
51 |
);
|
52 |
?>
|
53 |
<div style="display: none;">
|
54 |
+
<b style="color: darkorange;"><?php echo esc_html( $log['msg'] ) ?></b>
|
55 |
</div>
|
56 |
</td>
|
57 |
<td><?php
|
freemius/templates/forms/deactivation/form.php
CHANGED
@@ -77,7 +77,7 @@ HTML;
|
|
77 |
+ ' <div class="fs-modal-footer">'
|
78 |
+ ' <?php echo $anonymous_feedback_checkbox_html ?>'
|
79 |
+ ' <a href="#" class="button button-secondary button-deactivate"></a>'
|
80 |
-
+ ' <a href="#" class="button button-primary button-close"><?php
|
81 |
+ ' </div>'
|
82 |
+ ' </div>'
|
83 |
+ '</div>',
|
@@ -168,6 +168,7 @@ HTML;
|
|
168 |
method : 'POST',
|
169 |
data : {
|
170 |
'action' : '<?php echo $fs->get_action_tag( 'submit_uninstall_reason' ) ?>',
|
|
|
171 |
'reason_id' : $radio.val(),
|
172 |
'reason_info' : userReason,
|
173 |
'is_anonymous': isAnonymousFeedback()
|
77 |
+ ' <div class="fs-modal-footer">'
|
78 |
+ ' <?php echo $anonymous_feedback_checkbox_html ?>'
|
79 |
+ ' <a href="#" class="button button-secondary button-deactivate"></a>'
|
80 |
+
+ ' <a href="#" class="button button-primary button-close"><?php _efs( 'cancel' , $slug ) ?></a>'
|
81 |
+ ' </div>'
|
82 |
+ ' </div>'
|
83 |
+ '</div>',
|
168 |
method : 'POST',
|
169 |
data : {
|
170 |
'action' : '<?php echo $fs->get_action_tag( 'submit_uninstall_reason' ) ?>',
|
171 |
+
'slug' : '<?php echo $slug ?>',
|
172 |
'reason_id' : $radio.val(),
|
173 |
'reason_info' : userReason,
|
174 |
'is_anonymous': isAnonymousFeedback()
|
freemius/templates/forms/deactivation/retry-skip.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
-
$skip_url =
|
20 |
$skip_text = strtolower( __fs( 'skip', $slug ) );
|
21 |
$use_plugin_anonymously_text = __fs( 'click-here-to-use-plugin-anonymously', $slug );
|
22 |
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
+
$skip_url = fs_nonce_url( $fs->_get_admin_page_url( '', array( 'fs_action' => $slug . '_skip_activation' ) ), $slug . '_skip_activation' );
|
20 |
$skip_text = strtolower( __fs( 'skip', $slug ) );
|
21 |
$use_plugin_anonymously_text = __fs( 'click-here-to-use-plugin-anonymously', $slug );
|
22 |
|
freemius/templates/forms/license-activation.php
CHANGED
@@ -16,28 +16,6 @@
|
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
-
if ($fs->is_registered()) {
|
20 |
-
// The URL to redirect to after successfully activating the license from the "Plugins" page.
|
21 |
-
if ( $fs->is_addon() ) {
|
22 |
-
$sync_license_url = $fs->get_parent_instance()->_get_sync_license_url( $fs->get_id(), true );
|
23 |
-
} else {
|
24 |
-
$sync_license_url = $fs->_get_sync_license_url( $fs->get_id(), true );
|
25 |
-
}
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Trigger license sync after valid license activation.
|
29 |
-
*/
|
30 |
-
$after_license_activation_url = $sync_license_url;
|
31 |
-
}
|
32 |
-
else
|
33 |
-
{
|
34 |
-
/**
|
35 |
-
* If user not yet registered, the license activation triggers
|
36 |
-
* an opt-in, which automatically sync the license.
|
37 |
-
*/
|
38 |
-
$after_license_activation_url = $fs->get_account_url();
|
39 |
-
}
|
40 |
-
|
41 |
$cant_find_license_key_text = __fs( 'cant-find-license-key', $slug );
|
42 |
$message_above_input_field = __fs( 'activate-license-message', $slug );
|
43 |
$message_below_input_field = '';
|
@@ -61,6 +39,12 @@
|
|
61 |
|
62 |
$license_key_text = __fs( 'license-key' , $slug );
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
$modal_content_html = <<< HTML
|
65 |
<div class="notice notice-error inline license-activation-message"><p></p></div>
|
66 |
<p>{$message_above_input_field}</p>
|
@@ -86,7 +70,7 @@ HTML;
|
|
86 |
+ ' <div class="fs-modal-panel active">' + modalContentHtml + '</div>'
|
87 |
+ ' </div>'
|
88 |
+ ' <div class="fs-modal-footer">'
|
89 |
-
+ ' <button class="button button-secondary button-close" tabindex="4"><?php _efs('
|
90 |
+ ' <button class="button button-primary button-activate-license" tabindex="3"><?php echo $activate_button_text; ?></button>'
|
91 |
+ ' </div>'
|
92 |
+ ' </div>'
|
@@ -96,8 +80,7 @@ HTML;
|
|
96 |
$activateLicenseButton = $modal.find('.button-activate-license'),
|
97 |
$licenseKeyInput = $modal.find('input.license_key'),
|
98 |
$licenseActivationMessage = $modal.find( '.license-activation-message' ),
|
99 |
-
pluginSlug = '<?php echo $slug ?>'
|
100 |
-
afterActivationUrl = '<?php echo $after_license_activation_url ?>';
|
101 |
|
102 |
$modal.appendTo($('body'));
|
103 |
|
@@ -163,7 +146,7 @@ HTML;
|
|
163 |
closeModal();
|
164 |
|
165 |
// Redirect to the "Account" page and sync the license.
|
166 |
-
window.location.href =
|
167 |
} else {
|
168 |
showError( resultObj.error );
|
169 |
resetActivateLicenseButton();
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
$cant_find_license_key_text = __fs( 'cant-find-license-key', $slug );
|
20 |
$message_above_input_field = __fs( 'activate-license-message', $slug );
|
21 |
$message_below_input_field = '';
|
39 |
|
40 |
$license_key_text = __fs( 'license-key' , $slug );
|
41 |
|
42 |
+
/**
|
43 |
+
* IMPORTANT:
|
44 |
+
* DO NOT ADD MAXLENGTH OR LIMIT THE LICENSE KEY LENGTH SINCE
|
45 |
+
* WE DO WANT TO ALLOW INPUT OF LONGER KEYS (E.G. WooCommerce Keys)
|
46 |
+
* FOR MIGRATED MODULES.
|
47 |
+
*/
|
48 |
$modal_content_html = <<< HTML
|
49 |
<div class="notice notice-error inline license-activation-message"><p></p></div>
|
50 |
<p>{$message_above_input_field}</p>
|
70 |
+ ' <div class="fs-modal-panel active">' + modalContentHtml + '</div>'
|
71 |
+ ' </div>'
|
72 |
+ ' <div class="fs-modal-footer">'
|
73 |
+
+ ' <button class="button button-secondary button-close" tabindex="4"><?php _efs('cancel', $slug); ?></button>'
|
74 |
+ ' <button class="button button-primary button-activate-license" tabindex="3"><?php echo $activate_button_text; ?></button>'
|
75 |
+ ' </div>'
|
76 |
+ ' </div>'
|
80 |
$activateLicenseButton = $modal.find('.button-activate-license'),
|
81 |
$licenseKeyInput = $modal.find('input.license_key'),
|
82 |
$licenseActivationMessage = $modal.find( '.license-activation-message' ),
|
83 |
+
pluginSlug = '<?php echo $slug ?>';
|
|
|
84 |
|
85 |
$modal.appendTo($('body'));
|
86 |
|
146 |
closeModal();
|
147 |
|
148 |
// Redirect to the "Account" page and sync the license.
|
149 |
+
window.location.href = resultObj.next_page;
|
150 |
} else {
|
151 |
showError( resultObj.error );
|
152 |
resetActivateLicenseButton();
|
freemius/templates/forms/optout.php
ADDED
@@ -0,0 +1,211 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.2.1.5
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var array $VARS
|
15 |
+
*/
|
16 |
+
$slug = $VARS['slug'];
|
17 |
+
$fs = freemius( $slug );
|
18 |
+
|
19 |
+
$action = $fs->is_tracking_allowed() ?
|
20 |
+
'stop_tracking' :
|
21 |
+
'allow_tracking';
|
22 |
+
|
23 |
+
$plugin_title = "<strong>{$fs->get_plugin()->title}</strong>";
|
24 |
+
$opt_out_button_text = __fs( 'opt-out', $slug );
|
25 |
+
// @todo Change 'plugin' with module type when migrating with 1.2.2 (themes version).
|
26 |
+
$opt_out_message_appreciation = sprintf( __fs( 'opt-out-message-appreciation', $slug ), 'plugin' );
|
27 |
+
$opt_out_message_usage_tracking = sprintf( __fs( 'opt-out-message-usage-tracking', $slug ),
|
28 |
+
$plugin_title );
|
29 |
+
$opt_out_message_clicking_opt_out = sprintf( __fs( 'opt-out-message-clicking-opt-out', $slug ),
|
30 |
+
$plugin_title,
|
31 |
+
'<a href="http://freemius.com" target="_blank">freemius.com</a>' );
|
32 |
+
|
33 |
+
$admin_notice_params = array(
|
34 |
+
'id' => '',
|
35 |
+
'slug' => $fs->get_id(),
|
36 |
+
'type' => 'success',
|
37 |
+
'sticky' => false,
|
38 |
+
'plugin' => $fs->get_plugin()->title,
|
39 |
+
'message' => $opt_out_message_appreciation
|
40 |
+
);
|
41 |
+
|
42 |
+
$admin_notice_html = fs_get_template( 'admin-notice.php', $admin_notice_params );
|
43 |
+
|
44 |
+
$modal_content_html = <<< HTML
|
45 |
+
<h2>{$opt_out_message_appreciation}</h2>
|
46 |
+
<div class="notice notice-error inline opt-out-error-message"><p></p></div>
|
47 |
+
<p>{$opt_out_message_usage_tracking}</p>
|
48 |
+
<p>{$opt_out_message_clicking_opt_out}</p>
|
49 |
+
HTML;
|
50 |
+
|
51 |
+
fs_enqueue_local_style( 'dialog-boxes', '/admin/dialog-boxes.css' );
|
52 |
+
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
53 |
+
?>
|
54 |
+
<script type="text/javascript">
|
55 |
+
(function( $ ) {
|
56 |
+
$( document ).ready(function() {
|
57 |
+
var modalContentHtml = <?php echo json_encode( $modal_content_html ) ?>,
|
58 |
+
modalHtml =
|
59 |
+
'<div class="fs-modal fs-modal-opt-out">'
|
60 |
+
+ ' <div class="fs-modal-dialog">'
|
61 |
+
+ ' <div class="fs-modal-header">'
|
62 |
+
+ ' <h4><?php echo $opt_out_button_text ?></h4>'
|
63 |
+
+ ' </div>'
|
64 |
+
+ ' <div class="fs-modal-body">'
|
65 |
+
+ ' <div class="fs-modal-panel active">' + modalContentHtml + '</div>'
|
66 |
+
+ ' </div>'
|
67 |
+
+ ' <div class="fs-modal-footer">'
|
68 |
+
+ ' <button class="button button-secondary button-opt-out" tabindex="1"><?php echo $opt_out_button_text ?></button>'
|
69 |
+
+ ' <button class="button button-primary button-close" tabindex="2"><?php _efs( 'opt-out-cancel', $slug ) ?></button>'
|
70 |
+
+ ' </div>'
|
71 |
+
+ ' </div>'
|
72 |
+
+ '</div>',
|
73 |
+
$modal = $( modalHtml ),
|
74 |
+
$adminNotice = $( <?php echo json_encode( $admin_notice_html ) ?> ),
|
75 |
+
action = '<?php echo $action ?>',
|
76 |
+
optOutActionTag = '<?php echo $fs->get_action_tag( 'stop_tracking' ) ?>',
|
77 |
+
optInActionTag = '<?php echo $fs->get_action_tag( 'allow_tracking' ) ?>',
|
78 |
+
$actionLink = $( 'span.opt-in-or-opt-out.<?php echo $VARS['slug'] ?> a' ),
|
79 |
+
$optOutButton = $modal.find( '.button-opt-out' ),
|
80 |
+
$optOutErrorMessage = $modal.find( '.opt-out-error-message' ),
|
81 |
+
pluginSlug = '<?php echo $slug ?>';
|
82 |
+
|
83 |
+
$actionLink.attr( 'data-action', action );
|
84 |
+
$modal.appendTo( $( 'body' ) );
|
85 |
+
|
86 |
+
function registerEventHandlers() {
|
87 |
+
$actionLink.click(function( evt ) {
|
88 |
+
evt.preventDefault();
|
89 |
+
|
90 |
+
if ( 'stop_tracking' == $actionLink.attr( 'data-action' ) ) {
|
91 |
+
showModal();
|
92 |
+
} else {
|
93 |
+
optIn();
|
94 |
+
}
|
95 |
+
});
|
96 |
+
|
97 |
+
$modal.on( 'click', '.button-opt-out', function( evt ) {
|
98 |
+
evt.preventDefault();
|
99 |
+
|
100 |
+
if ( $( this ).hasClass( 'disabled' ) ) {
|
101 |
+
return;
|
102 |
+
}
|
103 |
+
|
104 |
+
disableOptOutButton();
|
105 |
+
optOut();
|
106 |
+
});
|
107 |
+
|
108 |
+
// If the user has clicked outside the window, close the modal.
|
109 |
+
$modal.on( 'click', '.fs-close, .button-close', function() {
|
110 |
+
closeModal();
|
111 |
+
return false;
|
112 |
+
});
|
113 |
+
}
|
114 |
+
|
115 |
+
registerEventHandlers();
|
116 |
+
|
117 |
+
function showModal() {
|
118 |
+
resetModal();
|
119 |
+
|
120 |
+
// Display the dialog box.
|
121 |
+
$modal.addClass( 'active' );
|
122 |
+
$( 'body' ).addClass( 'has-fs-modal' );
|
123 |
+
}
|
124 |
+
|
125 |
+
function closeModal() {
|
126 |
+
$modal.removeClass( 'active' );
|
127 |
+
$( 'body' ).removeClass( 'has-fs-modal' );
|
128 |
+
}
|
129 |
+
|
130 |
+
function resetOptOutButton() {
|
131 |
+
enableOptOutButton();
|
132 |
+
$optOutButton.text( '<?php echo $opt_out_button_text; ?>' );
|
133 |
+
}
|
134 |
+
|
135 |
+
function resetModal() {
|
136 |
+
hideError();
|
137 |
+
resetOptOutButton();
|
138 |
+
}
|
139 |
+
|
140 |
+
function optIn() {
|
141 |
+
sendRequest();
|
142 |
+
}
|
143 |
+
|
144 |
+
function optOut() {
|
145 |
+
sendRequest();
|
146 |
+
}
|
147 |
+
|
148 |
+
function sendRequest() {
|
149 |
+
$.ajax({
|
150 |
+
url: ajaxurl,
|
151 |
+
method: 'POST',
|
152 |
+
data: {
|
153 |
+
action: ( 'stop_tracking' == action ? optOutActionTag : optInActionTag ),
|
154 |
+
slug : pluginSlug
|
155 |
+
},
|
156 |
+
beforeSend: function() {
|
157 |
+
if ( 'opt-in' == action ) {
|
158 |
+
$actionLink.text( '<?php _efs( 'opting-in', $slug ) ?>' )
|
159 |
+
} else {
|
160 |
+
$optOutButton.text( '<?php _efs( 'opting-out', $slug ) ?>' );
|
161 |
+
}
|
162 |
+
},
|
163 |
+
success: function( resultObj ) {
|
164 |
+
if ( resultObj.success ) {
|
165 |
+
if ( 'allow_tracking' == action ) {
|
166 |
+
action = 'stop_tracking';
|
167 |
+
$actionLink.text( '<?php _efs( 'opt-out', $slug ) ?>' );
|
168 |
+
showOptInAppreciationMessageAndScrollToTop();
|
169 |
+
} else {
|
170 |
+
action = 'allow_tracking';
|
171 |
+
$actionLink.text( '<?php _efs( 'opt-in', $slug ) ?>' );
|
172 |
+
closeModal();
|
173 |
+
|
174 |
+
if ( $adminNotice.length > 0 ) {
|
175 |
+
$adminNotice.remove();
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
$actionLink.attr( 'data-action', action );
|
180 |
+
} else {
|
181 |
+
showError( resultObj.error );
|
182 |
+
resetOptOutButton();
|
183 |
+
}
|
184 |
+
}
|
185 |
+
});
|
186 |
+
}
|
187 |
+
|
188 |
+
function enableOptOutButton() {
|
189 |
+
$optOutButton.removeClass( 'disabled' );
|
190 |
+
}
|
191 |
+
|
192 |
+
function disableOptOutButton() {
|
193 |
+
$optOutButton.addClass( 'disabled' );
|
194 |
+
}
|
195 |
+
|
196 |
+
function hideError() {
|
197 |
+
$optOutErrorMessage.hide();
|
198 |
+
}
|
199 |
+
|
200 |
+
function showOptInAppreciationMessageAndScrollToTop() {
|
201 |
+
$adminNotice.insertAfter( $( '#wpbody-content' ).find( ' > .wrap > h1' ) );
|
202 |
+
window.scrollTo(0, 0);
|
203 |
+
}
|
204 |
+
|
205 |
+
function showError( msg ) {
|
206 |
+
$optOutErrorMessage.find( ' > p' ).html( msg );
|
207 |
+
$optOutErrorMessage.show();
|
208 |
+
}
|
209 |
+
});
|
210 |
+
})( jQuery );
|
211 |
+
</script>
|
freemius/templates/forms/resend-key.php
CHANGED
@@ -18,7 +18,7 @@
|
|
18 |
|
19 |
$message_above_input_field = __fs( 'ask-for-upgrade-email-address', $slug );
|
20 |
$send_button_text = __fs( 'send-license-key', $slug );
|
21 |
-
$cancel_button_text = __fs( '
|
22 |
$email_address_placeholder = __fs( 'email-address', $slug );
|
23 |
|
24 |
$modal_content_html = <<< HTML
|
18 |
|
19 |
$message_above_input_field = __fs( 'ask-for-upgrade-email-address', $slug );
|
20 |
$send_button_text = __fs( 'send-license-key', $slug );
|
21 |
+
$cancel_button_text = __fs( 'cancel', $slug );
|
22 |
$email_address_placeholder = __fs( 'email-address', $slug );
|
23 |
|
24 |
$modal_content_html = <<< HTML
|
freemius/templates/forms/trial-start.php
ADDED
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.2.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var array $VARS
|
15 |
+
*/
|
16 |
+
$slug = $VARS['slug'];
|
17 |
+
$fs = freemius( $slug );
|
18 |
+
|
19 |
+
$message_header = sprintf(
|
20 |
+
__fs( 'start-trial-prompt-header', $slug ),
|
21 |
+
'<span class="var-trial_period"></span>',
|
22 |
+
'<span class="var-plan_title"></span>'
|
23 |
+
);
|
24 |
+
$message_content = sprintf(
|
25 |
+
__fs( 'start-trial-prompt-message', $slug ),
|
26 |
+
'<a href="https://freemius.com" target="_blank">freemius.com</a>'
|
27 |
+
);
|
28 |
+
|
29 |
+
$modal_content_html = <<< HTML
|
30 |
+
<div class="notice notice-error inline"><p></p></div>
|
31 |
+
<h3>{$message_header}</h3>
|
32 |
+
<p>{$message_content}</p>
|
33 |
+
HTML;
|
34 |
+
|
35 |
+
fs_enqueue_local_style( 'dialog-boxes', '/admin/dialog-boxes.css' );
|
36 |
+
?>
|
37 |
+
<script type="text/javascript">
|
38 |
+
(function ($) {
|
39 |
+
$(document).ready(function () {
|
40 |
+
var modalContentHtml = <?php echo json_encode( $modal_content_html ); ?>,
|
41 |
+
modalHtml =
|
42 |
+
'<div class="fs-modal fs-modal-license-key-resend">'
|
43 |
+
+ ' <div class="fs-modal-dialog">'
|
44 |
+
+ ' <div class="fs-modal-header">'
|
45 |
+
+ ' <h4><?php _efs( 'start-free-trial' ) ?></h4>'
|
46 |
+
+ ' </div>'
|
47 |
+
+ ' <div class="fs-modal-body">' + modalContentHtml + '</div>'
|
48 |
+
+ ' <div class="fs-modal-footer">'
|
49 |
+
+ ' <button class="button button-secondary button-close">' + <?php echo json_encode( __fs( 'cancel', $slug ) ) ?> +'</button>'
|
50 |
+
+ ' <button class="button button-primary button-connect">' + <?php echo json_encode( __fs( 'approve-start-trial', $slug ) ) ?> +'</button>'
|
51 |
+
+ ' </div>'
|
52 |
+
+ ' </div>'
|
53 |
+
+ '</div>',
|
54 |
+
$modal = $(modalHtml),
|
55 |
+
moduleSlug = '<?php echo $slug; ?>',
|
56 |
+
trialData;
|
57 |
+
|
58 |
+
$modal.appendTo($('body'));
|
59 |
+
|
60 |
+
var $errorNotice = $modal.find('.notice-error');
|
61 |
+
|
62 |
+
registerEventHandlers();
|
63 |
+
|
64 |
+
function registerEventHandlers() {
|
65 |
+
$modal.on('click', '.button-close', function () {
|
66 |
+
closeModal();
|
67 |
+
return false;
|
68 |
+
});
|
69 |
+
|
70 |
+
$modal.on('click', '.button-connect', function (evt) {
|
71 |
+
evt.preventDefault();
|
72 |
+
|
73 |
+
var $button = $(this);
|
74 |
+
|
75 |
+
$.ajax({
|
76 |
+
url : ajaxurl,
|
77 |
+
method : 'POST',
|
78 |
+
data : {
|
79 |
+
action : '<?php echo $fs->get_action_tag( 'start_trial' ) ?>',
|
80 |
+
security: '<?php echo wp_create_nonce( $fs->get_action_tag( 'start_trial' ) ) ?>',
|
81 |
+
slug : moduleSlug,
|
82 |
+
trial : trialData
|
83 |
+
},
|
84 |
+
beforeSend: function () {
|
85 |
+
// Disable all buttons during trial activation.
|
86 |
+
$modal.find('.button').prop('disabled', true);
|
87 |
+
|
88 |
+
$button.text('<?php _efs( 'starting-trial', $slug ) ?>...');
|
89 |
+
|
90 |
+
setLoadingMode();
|
91 |
+
},
|
92 |
+
success : function (resultObj) {
|
93 |
+
if (resultObj.success) {
|
94 |
+
$button.text('<?php _efs( 'please-wait', $slug ) ?>...');
|
95 |
+
|
96 |
+
// Redirect to the "Account" page and sync the license.
|
97 |
+
window.location.href = resultObj.data.next_page;
|
98 |
+
} else {
|
99 |
+
$button.text(<?php json_encode( __fs( 'approve-start-trial', $slug ) ) ?>);
|
100 |
+
|
101 |
+
resetLoadingMode();
|
102 |
+
showError(resultObj.error);
|
103 |
+
}
|
104 |
+
}
|
105 |
+
});
|
106 |
+
});
|
107 |
+
}
|
108 |
+
|
109 |
+
window.openTrialConfirmationModal = function showModal(data) {
|
110 |
+
resetModal();
|
111 |
+
|
112 |
+
// Display the dialog box.
|
113 |
+
$modal.addClass('active');
|
114 |
+
|
115 |
+
trialData = data;
|
116 |
+
|
117 |
+
var $modalBody = $modal.find('.fs-modal-body'),
|
118 |
+
$var;
|
119 |
+
|
120 |
+
for (var key in data) {
|
121 |
+
if (data.hasOwnProperty(key)) {
|
122 |
+
$var = $modalBody.find('.var-' + key);
|
123 |
+
|
124 |
+
if ($var.length > 0)
|
125 |
+
$var.html(data[key]);
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
$('body').addClass('has-fs-modal');
|
130 |
+
};
|
131 |
+
|
132 |
+
function closeModal() {
|
133 |
+
$modal.removeClass('active');
|
134 |
+
|
135 |
+
$('body').removeClass('has-fs-modal');
|
136 |
+
}
|
137 |
+
|
138 |
+
function resetModal() {
|
139 |
+
hideError();
|
140 |
+
}
|
141 |
+
|
142 |
+
function hideError() {
|
143 |
+
$errorNotice.hide();
|
144 |
+
}
|
145 |
+
|
146 |
+
function setLoadingMode() {
|
147 |
+
$modal.find('.button')
|
148 |
+
// Re-enable all buttons.
|
149 |
+
.prop('disabled', trialData)
|
150 |
+
// Stop loading cursor.
|
151 |
+
.css({'cursor': 'wait'});
|
152 |
+
|
153 |
+
// Stop loading cursor.
|
154 |
+
$(document.body).css({'cursor': 'wait'});
|
155 |
+
}
|
156 |
+
|
157 |
+
function resetLoadingMode() {
|
158 |
+
$modal.find('.button')
|
159 |
+
// Re-enable all buttons.
|
160 |
+
.prop('disabled', false)
|
161 |
+
// Stop loading cursor.
|
162 |
+
.css({'cursor': 'initial'});
|
163 |
+
|
164 |
+
// Stop loading cursor.
|
165 |
+
$(document.body).css({'cursor': 'initial'});
|
166 |
+
}
|
167 |
+
|
168 |
+
function showError(msg) {
|
169 |
+
$errorNotice.find(' > p').html(msg);
|
170 |
+
$errorNotice.show();
|
171 |
+
}
|
172 |
+
});
|
173 |
+
})(jQuery);
|
174 |
+
</script>
|
freemius/templates/plugin-icon.php
CHANGED
@@ -29,9 +29,15 @@
|
|
29 |
$img_dir = WP_FS__DIR_IMG;
|
30 |
|
31 |
if ( 1 < count( $fs_active_plugins->plugins ) ) {
|
|
|
|
|
32 |
foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) {
|
33 |
if ( $data->plugin_path == $fs->get_plugin_basename() ) {
|
34 |
-
$img_dir =
|
|
|
|
|
|
|
|
|
35 |
break;
|
36 |
}
|
37 |
}
|
@@ -39,9 +45,10 @@
|
|
39 |
|
40 |
$icons = glob( fs_normalize_path( $img_dir . '/' . $slug . '.*' ) );
|
41 |
if ( ! is_array( $icons ) || 0 === count( $icons ) ) {
|
42 |
-
$icon_found
|
43 |
-
$local_path
|
44 |
-
|
|
|
45 |
|
46 |
if ( WP_FS__IS_LOCALHOST && $fs->is_org_repo_compliant() && $have_write_permissions ) {
|
47 |
/**
|
@@ -52,24 +59,48 @@
|
|
52 |
* already exist in the assets folder when the plugin is deployed to
|
53 |
* the repository.
|
54 |
*/
|
55 |
-
|
56 |
-
'-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
'
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
74 |
}
|
75 |
|
@@ -92,5 +123,5 @@
|
|
92 |
$relative_url = fs_img_url( substr( $icons[0], strlen( $icon_dir ) ), $icon_dir );
|
93 |
?>
|
94 |
<div class="fs-plugin-icon">
|
95 |
-
<img src="<?php echo $relative_url ?>" width="80" height="80"
|
96 |
-
</div>
|
29 |
$img_dir = WP_FS__DIR_IMG;
|
30 |
|
31 |
if ( 1 < count( $fs_active_plugins->plugins ) ) {
|
32 |
+
$plugin_or_theme_img_dir = WP_PLUGIN_DIR;
|
33 |
+
|
34 |
foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) {
|
35 |
if ( $data->plugin_path == $fs->get_plugin_basename() ) {
|
36 |
+
$img_dir = $plugin_or_theme_img_dir
|
37 |
+
. '/'
|
38 |
+
. str_replace( '../themes/', '', $sdk_path )
|
39 |
+
. '/assets/img';
|
40 |
+
|
41 |
break;
|
42 |
}
|
43 |
}
|
45 |
|
46 |
$icons = glob( fs_normalize_path( $img_dir . '/' . $slug . '.*' ) );
|
47 |
if ( ! is_array( $icons ) || 0 === count( $icons ) ) {
|
48 |
+
$icon_found = false;
|
49 |
+
$local_path = fs_normalize_path( $img_dir . '/' . $slug . '.png' );
|
50 |
+
|
51 |
+
$have_write_permissions = ( 'direct' === get_filesystem_method( array(), fs_normalize_path( $img_dir ) ) );
|
52 |
|
53 |
if ( WP_FS__IS_LOCALHOST && $fs->is_org_repo_compliant() && $have_write_permissions ) {
|
54 |
/**
|
59 |
* already exist in the assets folder when the plugin is deployed to
|
60 |
* the repository.
|
61 |
*/
|
62 |
+
if ( ! function_exists( 'plugins_api' ) ) {
|
63 |
+
require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
|
64 |
+
}
|
65 |
+
|
66 |
+
$plugin_information = plugins_api( 'plugin_information', array(
|
67 |
+
'slug' => $slug,
|
68 |
+
'fields' => array(
|
69 |
+
'sections' => false,
|
70 |
+
'tags' => false,
|
71 |
+
'icons' => true
|
72 |
+
)
|
73 |
+
) );
|
74 |
+
|
75 |
+
if (
|
76 |
+
! is_wp_error( $plugin_information )
|
77 |
+
&& isset( $plugin_information->icons )
|
78 |
+
&& ! empty( $plugin_information->icons )
|
79 |
+
) {
|
80 |
+
/**
|
81 |
+
* Get the smallest icon.
|
82 |
+
*
|
83 |
+
* @author Leo Fajardo (@leorw)
|
84 |
+
* @since 1.2.2
|
85 |
+
*/
|
86 |
+
$icon = end( $plugin_information->icons );
|
87 |
+
|
88 |
+
if ( 0 !== strpos( $icon, 'http' ) ) {
|
89 |
+
$icon = 'http:' . $icon;
|
90 |
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Get a clean file extension, e.g.: "jpg" and not "jpg?rev=1305765".
|
94 |
+
*
|
95 |
+
* @author Leo Fajardo (@leorw)
|
96 |
+
* @since 1.2.2
|
97 |
+
*/
|
98 |
+
$ext = pathinfo( strtok( $icon, '?' ), PATHINFO_EXTENSION );
|
99 |
+
|
100 |
+
$local_path = fs_normalize_path( $img_dir . '/' . $slug . '.' . $ext );
|
101 |
+
fs_download_image( $icon, $local_path );
|
102 |
+
|
103 |
+
$icon_found = true;
|
104 |
}
|
105 |
}
|
106 |
|
123 |
$relative_url = fs_img_url( substr( $icons[0], strlen( $icon_dir ) ), $icon_dir );
|
124 |
?>
|
125 |
<div class="fs-plugin-icon">
|
126 |
+
<img src="<?php echo $relative_url ?>" width="80" height="80"/>
|
127 |
+
</div>
|
freemius/templates/pricing.php
CHANGED
@@ -35,6 +35,8 @@
|
|
35 |
$timestamp,
|
36 |
'upgrade'
|
37 |
) );
|
|
|
|
|
38 |
}
|
39 |
|
40 |
if ( $fs->is_payments_sandbox() ) // Append plugin secure token for sandbox mode authentication.)
|
@@ -53,7 +55,12 @@
|
|
53 |
'billing_cycle' => fs_request_get( 'billing_cycle', WP_FS__PERIOD_ANNUALLY ),
|
54 |
) );
|
55 |
?>
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
57 |
<div id="fs_pricing" class="wrap" style="margin: 0 0 -65px -20px;">
|
58 |
<div id="iframe"></div>
|
59 |
<form action="" method="POST">
|
@@ -69,16 +76,16 @@
|
|
69 |
(function ($, undef) {
|
70 |
$(function () {
|
71 |
var
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
|
83 |
FS.PostMessage.init(base_url);
|
84 |
|
@@ -96,6 +103,10 @@
|
|
96 |
scrollTop: $(document).scrollTop()
|
97 |
}, iframe[0]);
|
98 |
});
|
|
|
|
|
|
|
|
|
99 |
});
|
100 |
})(jQuery);
|
101 |
</script>
|
35 |
$timestamp,
|
36 |
'upgrade'
|
37 |
) );
|
38 |
+
} else {
|
39 |
+
$context_params['home_url'] = home_url();
|
40 |
}
|
41 |
|
42 |
if ( $fs->is_payments_sandbox() ) // Append plugin secure token for sandbox mode authentication.)
|
55 |
'billing_cycle' => fs_request_get( 'billing_cycle', WP_FS__PERIOD_ANNUALLY ),
|
56 |
) );
|
57 |
?>
|
58 |
+
<?php if ( ! $fs->is_registered() ) {
|
59 |
+
$template_data = array(
|
60 |
+
'slug' => $slug,
|
61 |
+
);
|
62 |
+
fs_require_template( 'forms/trial-start.php', $template_data);
|
63 |
+
} ?>
|
64 |
<div id="fs_pricing" class="wrap" style="margin: 0 0 -65px -20px;">
|
65 |
<div id="iframe"></div>
|
66 |
<form action="" method="POST">
|
76 |
(function ($, undef) {
|
77 |
$(function () {
|
78 |
var
|
79 |
+
// Keep track of the iframe height.
|
80 |
+
iframe_height = 800,
|
81 |
+
base_url = '<?php echo WP_FS__ADDRESS ?>',
|
82 |
+
// Pass the parent page URL into the Iframe in a meaningful way (this URL could be
|
83 |
+
// passed via query string or hard coded into the child page, it depends on your needs).
|
84 |
+
src = base_url + '/pricing/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),
|
85 |
|
86 |
+
// Append the Iframe into the DOM.
|
87 |
+
iframe = $('<iframe " src="' + src + '" width="100%" height="' + iframe_height + 'px" scrolling="no" frameborder="0" style="background: transparent;"><\/iframe>')
|
88 |
+
.appendTo('#iframe');
|
89 |
|
90 |
FS.PostMessage.init(base_url);
|
91 |
|
103 |
scrollTop: $(document).scrollTop()
|
104 |
}, iframe[0]);
|
105 |
});
|
106 |
+
|
107 |
+
FS.PostMessage.receive('start_trial', function (data) {
|
108 |
+
openTrialConfirmationModal(data);
|
109 |
+
});
|
110 |
});
|
111 |
})(jQuery);
|
112 |
</script>
|
nggallery.php
CHANGED
@@ -3,8 +3,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
3 |
|
4 |
/**
|
5 |
* Plugin Name: NextGEN Gallery
|
6 |
-
* Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over
|
7 |
-
* Version: 2.2.
|
8 |
* Author: Imagely
|
9 |
* Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
|
10 |
* Author URI: https://www.imagely.com
|
@@ -637,7 +637,7 @@ class C_NextGEN_Bootstrap
|
|
637 |
define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
|
638 |
define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
|
639 |
define('NGG_PLUGIN_STARTED_AT', microtime());
|
640 |
-
define('NGG_PLUGIN_VERSION', '2.2.
|
641 |
|
642 |
if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
|
643 |
define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
|
3 |
|
4 |
/**
|
5 |
* Plugin Name: NextGEN Gallery
|
6 |
+
* Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 17 million downloads.
|
7 |
+
* Version: 2.2.2
|
8 |
* Author: Imagely
|
9 |
* Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
|
10 |
* Author URI: https://www.imagely.com
|
637 |
define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
|
638 |
define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
|
639 |
define('NGG_PLUGIN_STARTED_AT', microtime());
|
640 |
+
define('NGG_PLUGIN_VERSION', '2.2.2');
|
641 |
|
642 |
if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
|
643 |
define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
|
products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js
CHANGED
@@ -353,7 +353,9 @@ jQuery(function($){
|
|
353 |
'exclusions',
|
354 |
'sortorder',
|
355 |
'__defaults_set',
|
356 |
-
'id_field'
|
|
|
|
|
357 |
];
|
358 |
|
359 |
if (skipped.indexOf(key) > -1) continue;
|
353 |
'exclusions',
|
354 |
'sortorder',
|
355 |
'__defaults_set',
|
356 |
+
'id_field',
|
357 |
+
'post_category',
|
358 |
+
'ID'
|
359 |
];
|
360 |
|
361 |
if (skipped.indexOf(key) > -1) continue;
|
products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(function(e){var t={Models:{},Views:{}};t.Models.SelectableItems=Backbone.Collection.extend({selected:function(){return this.filter(function(e){return 1==e.get("selected")})},deselect_all:function(){this.each(function(e){e.set("selected",!1)})},selected_ids:function(){return _.pluck(this.selected(),"id")},select:function(e){_.isArray(e)||(e=[e]),this.each(function(t){_.indexOf(e,t.id)>=0&&t.set("selected",!0)}),this.trigger("selected")}}),t.Views.SelectTag=Backbone.View.extend({tagName:"select",collection:null,multiple:!1,value_field:"id",text_field:"title",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.collection.on("add",this.render_new_option,this),this.collection.on("remove",this.remove_existing_option,this),this.collection.on("reset",this.empty_list,this)},events:{change:"selection_changed"},empty_list:function(){this.$el.empty()},render_new_option:function(e){this.$el.append(new this.Option({model:e,value_field:this.value_field,text_field:this.text_field}).render().el)},remove_existing_option:function(e){this.$el.find("option[value='"+e.id+"']").remove()},selection_changed:function(){var t=_.map(this.$el.find(":selected"),function(t){return e(t).val()});this.collection.each(function(e){_.indexOf(t,e.id)>=0||_.indexOf(t,e.id.toString())>=0?e.set("selected",!0):e.set("selected",!1)}),this.collection.trigger("selected")},render:function(){return this.$el.empty(),this.options.include_blank&&this.$el.append("<option></option>"),this.collection.each(function(e){var t=new this.Option({model:e,value_field:this.value_field,text_field:this.text_field});this.$el.append(t.render().el)},this),this.multiple&&this.$el.prop("multiple",!0).attr("multiple","multiple"),this.width&&this.$el.width(this.width),this},Option:Backbone.View.extend({tagName:"option",model:null,initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change",this.render,this)},render:function(){var e=this;return this.$el.html(this.model.get(this.text_field).replace(/\\&/g,"&").replace(/\\'/g,"'")),this.$el.prop({value:"id"==this.value_field?this.model.id:this.model.get(this.value_field)}),1==e.model.get("selected")&&this.$el.prop("selected",!0).attr("selected","selected"),this}})}),t.Views.Chosen=Backbone.View.extend({tagName:"span",initialize:function(e){this.options=e||{},this.collection=this.options.collection,this.options.include_blank=!0,this.select_tag=new t.Views.SelectTag(this.options),this.collection.on("change",this.selection_changed,this)},selection_changed:function(e){_.isUndefined(e.changed.selected)&&this.render()},render:function(){if(this.$el.append(this.select_tag.render().$el),this.options.width&&this.select_tag.$el.width(this.options.width),this.select2_opts={placeholder:this.options.placeholder},0==this.$el.parent().length){e("body").append(this.$el),this.select_tag.$el.select2(this.select2_opts);var t=this.select_tag.$el.select2("container").detach();this.$el.append(t),this.$el.detach()}else this.select_tag.$el.select2(this.select2_opts);if(this.options.multiple){var i=[];_.each(this.collection.selected_ids(),function(e){i.push(e.toString())}),0==i.length&&(i=""),this.select_tag.$el.select2("val",i)}return this.$el.find(".select2-input").width(this.options.width-20),this}}),t.DisplayTab={Models:{},Views:{},App:{}},t.Models.Remote_Collection=t.Models.SelectableItems.extend({fetch_limit:5e3,in_progress:!1,fetch_url:photocrati_ajax.url,action:"",extra_data:{},_create_request:function(e,t){var i=_.extend({},igw_data.sec_token,{action:this.action,limit:e?e:this.fetch_limit,offset:t?t:0});for(var s in this.extra_data){var l=this.extra_data[s];"undefined"==typeof i[s]&&(i[s]={}),"undefined"!=typeof l.toJSON&&(l=l.toJSON()),i[s]=_.extend(i[s],l)}return i},_add_item:function(e){this.push(e)},fetch:function(t,i){var s=this;this.in_progress=!0,e.post(this.fetch_url,this._create_request(t,i),function(e){"undefined"!=typeof _&&(_.isObject(e)||(e=JSON.parse(e)),e.items&&(_.each(e.items,function(e){s._add_item(e)}),e.total>=e.limit+e.offset?s.fetch(e.limit,e.offset+e.limit):(s.in_progress=!1,s.trigger("finished_fetching"))))})}}),t.DisplayTab.Models.Displayed_Gallery=Backbone.Model.extend({defaults:{source:null,container_ids:[],entity_ids:[],display_type:null,display_settings:{},exclusions:[],sortorder:[],slug:null},to_shortcode:function(){retval=null;var e=function(e,t){var i=e[t];if(_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","["),i=i.toString().replace("]","]"),t+'="'+i+'"'},i=t.DisplayTab.instance.display_types.find_by_name_or_alias(this.get("display_type")),s=this.toJSON();s.display_type=i.get_shortcode_value();var l="[ngg_images",n=null;(n=e(s,"source"))&&(l+=" "+n),(n=e(s,"container_ids"))&&(l+=" "+n),(n=e(s,"entity_ids"))&&(l+=" "+n),(n=e(s,"exclusions"))&&(l+=" "+n),(n=e(s,"sortorder"))&&(l+=" "+n);for(var a in s){var o=["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field"];if(!(o.indexOf(a)>-1))if("display_settings"==a)for(var r in s[a])(n=e(s[a],r))&&(l+=" "+n);else n=e(s,a),n&&(l+=" "+n)}return l+="]"}}),t.DisplayTab.Models.Source=Backbone.Model.extend({idAttribute:"name",defaults:{title:"",name:"",selected:!1}}),t.DisplayTab.Models.Source_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Source,selected_value:function(){var e=null,t=this.selected();return t.length>0&&(e=t[0].get("name")),e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Gallery=Backbone.Model.extend({idAttribute:igw_data.gallery_primary_key,defaults:{title:"",name:""}}),t.DisplayTab.Models.Gallery_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Gallery,action:"get_existing_galleries"}),t.DisplayTab.Models.Album=Backbone.Model.extend({defaults:{title:"",name:""}}),t.DisplayTab.Models.Album_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Album,action:"get_existing_albums"}),t.DisplayTab.Models.Tag=Backbone.Model.extend({defaults:{title:""}}),t.DisplayTab.Models.Tag_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Tag,action:"get_existing_image_tags"}),t.DisplayTab.Models.Display_Type=Backbone.Model.extend({idAttribute:"name",defaults:{title:""},is_compatible_with_source:function(e){var t=!0;for(index in e.get("returns")){var i=e.get("returns")[index];if(_.indexOf(this.get("entity_types"),i)<0){t=!1;break}}return t},get_shortcode_value:function(){var e=this.id;return e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=null,t=this.selected();return t.length>0?t[0].get("name"):e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Entity=Backbone.Model.extend({entity_id:function(){return this.get(this.get("id_field"))},is_excluded:function(){return current_value=this.get("exclude"),!_.isUndefined(current_value)&&(_.isBoolean(current_value)?current_value:0!=parseInt(current_value))},is_included:function(){return!this.is_excluded()},is_gallery:function(){return retval=!1,1==this.get("is_gallery")&&(retval=!0),retval},is_album:function(){return retval=!1,1==this.get("is_album")&&(retval=!0),retval},is_image:function(){return!this.is_album()&&!this.is_gallery()},alttext:function(){return this.is_image()?this.get("alttext"):this.is_gallery()?this.get("title"):this.is_album()?this.get("name"):void 0}}),t.DisplayTab.Models.Entity_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Entity,action:"get_displayed_gallery_entities",_add_item:function(e){e.exclude=1==parseInt(e.exclude),e.is_gallery=1==parseInt(e.is_gallery),e.is_album=1==parseInt(e.is_album),this.push(e)},entity_ids:function(){return this.map(function(e){return e.entity_id()})},included_ids:function(){return _.compact(this.map(function(e){if(e.is_included())return e.entity_id()}))},excluded_ids:function(){return _.compact(this.map(function(e){if(!e.is_included())return e.entity_id()}))}}),t.DisplayTab.Models.SortOrder=Backbone.Model.extend({}),t.DisplayTab.Models.SortOrder_Options=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.SortOrder}),t.DisplayTab.Models.SortDirection=Backbone.Model.extend({}),t.DisplayTab.Models.SortDirection_Options=Backbone.Collection.extend({model:t.DisplayTab.Models.SortDirection}),t.DisplayTab.Models.Slug=Backbone.Model.extend({}),t.DisplayTab.Views.Source_Config=Backbone.View.extend({el:"#source_configuration",selected_view:null,initialize:function(){this.sources=t.DisplayTab.instance.sources,this.sources.on("selected",this.render,this),_.bindAll(this,"render"),this.render()},render:function(){var e=new t.Views.Chosen({id:"source_select",collection:this.sources,placeholder:"Select a source",width:500}),i=_.template('<tr><td><label><%- sources %></label></td><td id="source_column"></td></tr>');this.$el.html(i(igw_data.i18n)),this.$el.find("#source_column").append(e.render().el);var s=this.sources.selected();if(s.length){var l=_.str.capitalize(s.pop().id)+"Source";if("undefined"!=typeof t.DisplayTab.Views[l]){var n=new t.DisplayTab.Views[l];this.$el.append(n.render().el)}}return this}}),t.DisplayTab.Views.Slug_Config=Backbone.View.extend({el:"#slug_configuration",selected_view:null,initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.slug=t.DisplayTab.instance.displayed_gallery.get("slug"),this.render()},render:function(){var t=this,i=e("<input>").prop({type:"text",name:"slug",value:this.slug,placeholder:igw_data.i18n.optional,id:"field_slug"});i.on("input",function(){e(this).val(e(this).val().replace(/\s|\?|\\|\/|&|=|\[|]|#/gm,"-")),t.displayed_gallery.set("slug",e(this).val())}),i.on("change",function(){e(this).val(e(this).val().replace(/^-*/gm,"").replace(/-*$/gm,"")),t.displayed_gallery.set("slug",e(this).val())});var s=_.template('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="<%- slug_tooltip %><"><<%- slug_label %></label></td><td id="slug_column"></td></tr>');return this.$el.append(s(igw_data.i18n)),this.$el.find("#slug_column").append(i),this}}),t.DisplayTab.Views.Display_Type_Selector=Backbone.View.extend({el:"#display_type_selector",initialize:function(){this.display_types=t.DisplayTab.instance.display_types,this.display_type_order_base=t.DisplayTab.instance.display_type_order_base,this.display_type_order_step=t.DisplayTab.instance.display_type_order_step,this.sources=t.DisplayTab.instance.sources,this.render()},selection_changed:function(t){var i=null;if(this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),i){var s=this.sources.selected_value(),l=i.get("default_source");l&&s!=l&&(l=this.sources.where({name:l}),l.length>0&&(l=l[0],this.sources.deselect_all(),this.sources.select(l.id)))}e(".display_settings_form").each(function(){$this=e(this),$this.attr("rel")==t?$this.removeClass("hidden"):$this.addClass("hidden")})},render:function(){var t=this.sources.selected(),i=0;t=t.length>0&&t[0],this.$el.empty();var s=this.display_type_order_base,l=this.display_type_order_step;return this.display_types.each(function(n){if(t&&!n.is_compatible_with_source(t)){var a=e("#display_type_tab_content:visible");if(0==a.length)return;if("hidden"==a.css("visibility"))return}var o=new this.DisplayType;o.model=n,o.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var r=n.get("view_order");r||(r=s);var d=Math.floor(r/l);i>0&&d>i&&this.$el.append('<li class="clear" style="height: 10px" />'),i=d,this.$el.append(o.render().el)},this),this},DisplayType:Backbone.View.extend({className:"display_type_preview",events:{click:"clicked"},clicked:function(e){this.trigger("selected",this.model.get("name"))},render:function(){var t=e('<label style="display: block; cursor: pointer;"/>').addClass("image_container"),i=this.model.get("installed_at_version"),s=photocrati_ajax.wp_plugins_url,l=this.model.get("preview_image_relpath");"undefined"==typeof i&&(s=photocrati_ajax.wp_site_url,s=s.replace(/(.*)\/index\.php$/i,"$1"),0==l.indexOf("/nextgen-gallery")&&(s=photocrati_ajax.wp_plugins_url));var n=e("<img/>").attr({src:s+"/"+l,title:this.model.get("title"),alt:this.model.get("alt")}),a=e("<div/>"),o=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")});return t.append(a),t.append(n),a.append(o),a.append(this.model.get("title")),this.$el.append(t),this}})}),t.DisplayTab.Views.Preview_Area=Backbone.View.extend({el:"#preview_area",initialize:function(){this.entities=t.DisplayTab.instance.entities,this.sources=t.DisplayTab.instance.sources,this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entity_list=e("<ul/>").attr("id","entity_list").append('<li class="clear"/>'),this.entities.on("add",this.render_entity,this),this.entities.on("remove",this.remove_entity,this),this.entities.on("reset",this.entities_reset,this),this.entities.on("change:sortorder",function(e){this.entities.remove(e,{silent:!0}),this.entities.add(e,{at:e.changed.sortorder,silent:!0}),this.displayed_gallery.set("sortorder",this.entities.entity_ids()),"undefined"!=typeof console&&"undefined"!=typeof console.log&&console.log(this.entities.entity_ids()),this.displayed_gallery.set("order_by","sortorder")},this),this.sources.on("selected",this.render,this),this.render()},events:{opened:"entities_reset"},entities_reset:function(e){this.entities.reset(null,{silent:!0}),this.entity_list.empty().append('<li class="clear"/>'),this.entities.in_progress||this.entities.fetch()},render_entity:function(e){var t=new this.EntityElement({model:e});this.entity_list.find(".clear").before(t.render().$el),t.$el.css("visibility","hidden"),setTimeout(function(){t.$el.css("visibility","visible")},0),1==this.$el.find(".no_entities").length?this.render():this.entities.length>1&&this.entity_list.sortable("refresh")},remove_entity:function(e){var t=this.id=e.get("id_field")+"_"+e.entity_id();this.entity_list.find("#"+t).remove();this.entity_list.sortable("refresh"),0==this.entities.length&&this.render_no_images_notice()},render_no_images_notice:function(){this.$el.empty(),this.$el.append("<p class='no_entities'>"+igw_data.i18n.no_entities+"</p>")},render:function(){return this.$el.empty(),this.entities.length>0&&this.displayed_gallery.get("container_ids").length>0?(this.$el.append(new this.RefreshButton({entities:this.entities}).render().el),this.$el.append(new this.SortButtons({entities:this.entities,displayed_gallery:this.displayed_gallery,sources:this.sources}).render().el),this.$el.append(new this.ExcludeButtons({entities:this.entities}).render().el),this.$el.append(this.entity_list),this.entity_list.sortable({placeholder:"placeholder",forcePlaceholderSize:!0,containment:"parent",opacity:.7,revert:!0,dropOnEmpty:!0,start:function(e,t){return t.placeholder.css({height:t.item.height()}),!0},stop:function(e,t){t.item.trigger("drop",t.item.index())}}),this.entity_list.disableSelection()):this.render_no_images_notice(),this},RefreshButton:Backbone.View.extend({className:"refresh_button",tagName:"input",label:"Refresh",events:{click:"clicked"},clicked:function(){this.entities.reset()},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){return this.$el.attr({value:this.label,type:"button"}),this}}),ExcludeButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){this.$el.empty(),this.$el.append("<strong>Exclude:</strong>");var e=new this.Button({value:!0,text:"All",entities:this.entities});this.$el.append(e.render().el),this.$el.append('<span class="separator">|</span>');var t=new this.Button({value:!1,text:"None",entities:this.entities});return this.$el.append(t.render().el),this},Button:Backbone.View.extend({tagName:"a",value:1,text:"",events:{click:"clicked"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},clicked:function(e){e.preventDefault(),this.entities.each(function(e){e.set("exclude",this.value)},this)},render:function(){return this.$el.text(this.text).attr("href","#"),this}})}),SortButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.sortorder_options=new t.DisplayTab.Models.SortOrder_Options,this.sortorder_options.on("change:selected",this.sortoption_changed,this),this.sortdirection_options=new t.DisplayTab.Models.SortDirection_Options([{value:"ASC",title:"Ascending",selected:"ASC"==this.displayed_gallery.get("order_direction")},{value:"DESC",title:"Descending",selected:"DESC"==this.displayed_gallery.get("order_direction")}]),this.sortdirection_options.on("change:selected",this.sortdirection_changed,this),this.displayed_gallery.on("change:order_by",this.displayed_gallery_order_changed,this),this.displayed_gallery.on("change.order_direction",this.displayed_gallery_order_dir_changed,this)},populate_sorting_fields:function(){var e=this.sources.selected().pop().get("returns");_.indexOf(e,"image")!==-1?this.fill_image_sortorder_options():this.fill_gallery_sortorder_options()},create_sortorder_option:function(e,i){return new t.DisplayTab.Models.SortOrder({name:e,title:i,value:e,selected:this.displayed_gallery.get("order_by")==e})},fill_image_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option(t.DisplayTab.instance.image_key,"Image ID")),this.sortorder_options.push(this.create_sortorder_option("filename","Filename")),this.sortorder_options.push(this.create_sortorder_option("alttext","Alt/Title Text")),this.sortorder_options.push(this.create_sortorder_option("imagedate","Date/Time"))},fill_gallery_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option("name","Name")),this.sortorder_options.push(this.create_sortorder_option("galdesc","Description"))},displayed_gallery_order_changed:function(e){this.sortorder_options.findWhere({value:e.get("order_by")}).set("selected",!0)},displayed_gallery_order_dir_changed:function(e){this.sortdirection_options.findWhere({value:e.get("order_direction")}).set("selected",!0)},sortoption_changed:function(t){this.sortorder_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("sortorder",[]);var i=t.get("value");0==t.get("value").length&&(i="sortorder"),this.displayed_gallery.set("order_by",i),this.entities.reset(),this.$el.find("a.sortorder").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},sortdirection_changed:function(t){this.sortdirection_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("order_direction",t.get("value")),this.entities.reset(),this.$el.find("a.sortdirection").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},render:function(){return this.$el.empty(),this.populate_sorting_fields(),this.$el.append("<strong>Sort By:</strong>"),this.sortorder_options.each(function(e,t){var i=new this.Button({model:e,className:"sortorder"});this.$el.append(i.render().el),this.sortorder_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this.$el.append('<strong style="margin-left: 30px;">Order By:</strong>'),this.sortdirection_options.each(function(e,t){var i=new this.Button({model:e,className:"sortdirection"});this.$el.append(i.render().el),this.sortdirection_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this},Button:Backbone.View.extend({tagName:"a",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},events:{click:"clicked"},clicked:function(e){e.preventDefault(),this.model.set("selected",!0)},render:function(){return this.$el.prop({value:this.model.get("value"),href:"#"}),this.$el.text(this.model.get("title")),this.model.get("selected")&&this.$el.addClass("selected"),this}})}),EntityElement:Backbone.View.extend({tagName:"li",events:{drop:"item_dropped"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.initTime=(new Date).getTime(),this.model.on("change",this.render,this),0==this.model.get("sortorder")&&this.model.set("sortorder",-1,{silent:!0}),this.id=this.model.get("id_field")+"_"+this.model.entity_id()},item_dropped:function(e,i){t.DisplayTab.instance.displayed_gallery.set("order_by","sortorder"),this.model.set("sortorder",i)},render:function(){this.$el.empty();var t=e("<div/>").addClass("preview_item"),i=e("<div/>").addClass("image_container"),s=this.model.alttext().replace(/\\&/g,"&").replace(/\\'/g,"'"),l=this.initTime;i.attr({title:s,style:"background-image: url('"+this.model.get("thumb_url")+"?timestamp"+l+"')"}),this.$el.append(t).addClass("ui-state-default"),t.append(i);var n=e("<div/>").addClass("exclude_container"),a=e("<label/>");a.append(igw_data.i18n.exclude_question);var o=new this.ExcludeCheckbox({model:this.model});return a.append(o.render().el),n.append(a),t.append(n),this},ExcludeCheckbox:Backbone.View.extend({tagName:"input",events:{change:"entity_excluded"},type_set:!1,entity_excluded:function(e){this.model.set("exclude",e.target.checked)},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change:exclude",this.render,this)},render:function(){return this.type_set||(this.$el.attr("type","checkbox"),this.type_set=!0),this.model.is_excluded()?this.$el.prop("checked",!0):this.$el.prop("checked",!1),this}})})}),t.DisplayTab.Views.GalleriesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.galleries=t.DisplayTab.instance.galleries},render:function(){var i=new t.Views.Chosen({collection:this.galleries,placeholder:igw_data.i18n.select_gallery,multiple:!0,width:500}),s=e("<tr><td><label>"+igw_data.i18n.galleries+'</label></td><td class="galleries_column"></td></tr>');return this.$el.empty(),this.$el.append(s),this.$el.find(".galleries_column").append(i.render().el),this}}),t.DisplayTab.Views.AlbumsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.albums=t.DisplayTab.instance.albums},render:function(){var e=new t.Views.Chosen({collection:this.albums,multiple:!0,placeholder:"Select an album",text_field:"name",width:500});return this.$el.empty(),this.$el.append("<tr><td><label>"+igw_data.i18n.albums+'</label></td><td class="albums_column"></td></tr>'),this.$el.find(".albums_column").append(e.render().el),this}}),t.DisplayTab.Views.TagsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.tags=t.DisplayTab.instance.tags},render:function(){var e=new t.Views.Chosen({collection:this.tags,multiple:!0,placeholder:"Select a tag",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td><label>Tags</label></td><td class="tags_column"></td></tr>'),this.$el.find(".tags_column").append(e.render().el),this}}),t.DisplayTab.Views.Recent_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td><label># of Images To Display</label></td><td class="recent_images_column"></td></tr>'),this.$el.find(".recent_images_column").append(i),this}}),t.DisplayTab.Views.Random_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td><label># of Images To Display</label></td><td class="random_images_column"></td></tr>'),this.$el.find(".random_images_column").append(i),this}}),t.DisplayTab.Views.SaveButton=Backbone.View.extend({el:"#save_displayed_gallery",errors_el:"#errors",displayed_gallery:null,events:{click:"clicked"},initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entities=t.DisplayTab.instance.entities,this.render()},clicked:function(){this.set_display_settings(),insert_into_editor(this.displayed_gallery.to_shortcode(),this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref),close_attach_to_post_window()},set_display_settings:function(){var t=this.displayed_gallery.get("display_type");if(t){var i=e("form[rel='"+t+"']"),s=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var s=t.name.split("["),l=i,n=0;n<s.length;n++){var a=s[n].replace(/\]$/,"");l[a]||(n==s.length-1?l[a]=t.value:l[a]={}),l=l[a]}}),i}(i);this.displayed_gallery.set("display_settings",s[t])}},render:function(){return this.$el.css("z-index",1e3),this}}),t.DisplayTab.App=Backbone.View.extend({initialize:function(){if(this.displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.original_displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.galleries=new t.DisplayTab.Models.Gallery_Collection(igw_data.galleries),this.albums=new t.DisplayTab.Models.Album_Collection(igw_data.albums),this.tags=new t.DisplayTab.Models.Tag_Collection(igw_data.tags),this.sources=new t.DisplayTab.Models.Source_Collection(igw_data.sources),this.display_types=new t.DisplayTab.Models.Display_Type_Collection(igw_data.display_types),this.display_type_order_base=igw_data.display_type_priority_base,this.display_type_order_step=igw_data.display_type_priority_step,this.entities=new t.DisplayTab.Models.Entity_Collection,this.entities.extra_data.displayed_gallery=this.displayed_gallery,this.image_key=igw_data.image_primary_key,this.displayed_gallery.get("source")){if(this.displayed_gallery.get("source")){var e=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));e&&e.set("selected",!0)}if(this.displayed_gallery.get("container_ids")&&_.each(this.displayed_gallery.get("container_ids"),function(e){var t=this[this.displayed_gallery.get("source")].find(function(t){return t.id==e},this);t&&t.set("selected",!0)},this),this.displayed_gallery.get("display_type")){var i=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));i&&(i.set("selected",!0),this.displayed_gallery.set("display_type",i.get("name")))}}if(collections=["galleries","albums","tags"],_.each(collections,function(e){this[e].on("selected",function(){this.update_selected_containers(e)},this)},this),this.display_types.on("change:selected",function(){this.displayed_gallery.set("display_type",this.display_types.selected_value())},this),this.sources.on("selected",function(){this.displayed_gallery.set("source",this.sources.selected_value()),this.sources.selected_value()!=this.original_displayed_gallery.get("source")?this.displayed_gallery.set("exclusions",this.entities.excluded_ids()):this.displayed_gallery.set("exclusions",this.original_displayed_gallery.get("exclusions")),"random_images"!=this.sources.selected_value()&&"recent_images"!=this.sources.selected_value()||this.displayed_gallery.set("maximum_entity_count",20),this.galleries.deselect_all(),this.albums.deselect_all(),this.tags.deselect_all();var e=this.display_types.selected(),t=this.sources.selected();e.length>0&&t.length>0&&(e=e[0],t=t[0],e.is_compatible_with_source(t)||this.display_types.deselect_all(),this.display_type_selector&&this.display_type_selector.render()),this.preview_area&&this.preview_area.render()},this),this.entities.on("change:exclude finished_fetching",function(){this.displayed_gallery.set("exclusions",this.entities.excluded_ids())},this),window.Frame_Event_Publisher){var s=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){s.galleries.reset(),s.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){s.galleries.reset(),s.galleries.fetch();var t=s.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){s.albums.reset(),s.albums.fetch();var t=s.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){s.tags.reset(),s.tags.fetch();var t=s.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=s.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var l=s.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);l&&l.set("thumb_url",e.image.thumb_url)}else{var n=s.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);n&&n.trigger("change")}})}},update_selected_containers:function(e){this.displayed_gallery.set("container_ids",this[e].selected_ids())},render:function(){this.display_type_selector=new t.DisplayTab.Views.Display_Type_Selector,new t.DisplayTab.Views.Source_Config,new t.DisplayTab.Views.Slug_Config,this.preview_area=new t.DisplayTab.Views.Preview_Area,new t.DisplayTab.Views.SaveButton}}),t.DisplayTab.instance=new t.DisplayTab.App,t.DisplayTab.instance.render(),window.Ngg=t,e("span.tooltip, label.tooltip").tooltip()});
|
1 |
+
jQuery(function(e){var t={Models:{},Views:{}};t.Models.SelectableItems=Backbone.Collection.extend({selected:function(){return this.filter(function(e){return 1==e.get("selected")})},deselect_all:function(){this.each(function(e){e.set("selected",!1)})},selected_ids:function(){return _.pluck(this.selected(),"id")},select:function(e){_.isArray(e)||(e=[e]),this.each(function(t){_.indexOf(e,t.id)>=0&&t.set("selected",!0)}),this.trigger("selected")}}),t.Views.SelectTag=Backbone.View.extend({tagName:"select",collection:null,multiple:!1,value_field:"id",text_field:"title",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.collection.on("add",this.render_new_option,this),this.collection.on("remove",this.remove_existing_option,this),this.collection.on("reset",this.empty_list,this)},events:{change:"selection_changed"},empty_list:function(){this.$el.empty()},render_new_option:function(e){this.$el.append(new this.Option({model:e,value_field:this.value_field,text_field:this.text_field}).render().el)},remove_existing_option:function(e){this.$el.find("option[value='"+e.id+"']").remove()},selection_changed:function(){var t=_.map(this.$el.find(":selected"),function(t){return e(t).val()});this.collection.each(function(e){_.indexOf(t,e.id)>=0||_.indexOf(t,e.id.toString())>=0?e.set("selected",!0):e.set("selected",!1)}),this.collection.trigger("selected")},render:function(){return this.$el.empty(),this.options.include_blank&&this.$el.append("<option></option>"),this.collection.each(function(e){var t=new this.Option({model:e,value_field:this.value_field,text_field:this.text_field});this.$el.append(t.render().el)},this),this.multiple&&this.$el.prop("multiple",!0).attr("multiple","multiple"),this.width&&this.$el.width(this.width),this},Option:Backbone.View.extend({tagName:"option",model:null,initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change",this.render,this)},render:function(){var e=this;return this.$el.html(this.model.get(this.text_field).replace(/\\&/g,"&").replace(/\\'/g,"'")),this.$el.prop({value:"id"==this.value_field?this.model.id:this.model.get(this.value_field)}),1==e.model.get("selected")&&this.$el.prop("selected",!0).attr("selected","selected"),this}})}),t.Views.Chosen=Backbone.View.extend({tagName:"span",initialize:function(e){this.options=e||{},this.collection=this.options.collection,this.options.include_blank=!0,this.select_tag=new t.Views.SelectTag(this.options),this.collection.on("change",this.selection_changed,this)},selection_changed:function(e){_.isUndefined(e.changed.selected)&&this.render()},render:function(){if(this.$el.append(this.select_tag.render().$el),this.options.width&&this.select_tag.$el.width(this.options.width),this.select2_opts={placeholder:this.options.placeholder},0==this.$el.parent().length){e("body").append(this.$el),this.select_tag.$el.select2(this.select2_opts);var t=this.select_tag.$el.select2("container").detach();this.$el.append(t),this.$el.detach()}else this.select_tag.$el.select2(this.select2_opts);if(this.options.multiple){var i=[];_.each(this.collection.selected_ids(),function(e){i.push(e.toString())}),0==i.length&&(i=""),this.select_tag.$el.select2("val",i)}return this.$el.find(".select2-input").width(this.options.width-20),this}}),t.DisplayTab={Models:{},Views:{},App:{}},t.Models.Remote_Collection=t.Models.SelectableItems.extend({fetch_limit:5e3,in_progress:!1,fetch_url:photocrati_ajax.url,action:"",extra_data:{},_create_request:function(e,t){var i=_.extend({},igw_data.sec_token,{action:this.action,limit:e?e:this.fetch_limit,offset:t?t:0});for(var s in this.extra_data){var l=this.extra_data[s];"undefined"==typeof i[s]&&(i[s]={}),"undefined"!=typeof l.toJSON&&(l=l.toJSON()),i[s]=_.extend(i[s],l)}return i},_add_item:function(e){this.push(e)},fetch:function(t,i){var s=this;this.in_progress=!0,e.post(this.fetch_url,this._create_request(t,i),function(e){"undefined"!=typeof _&&(_.isObject(e)||(e=JSON.parse(e)),e.items&&(_.each(e.items,function(e){s._add_item(e)}),e.total>=e.limit+e.offset?s.fetch(e.limit,e.offset+e.limit):(s.in_progress=!1,s.trigger("finished_fetching"))))})}}),t.DisplayTab.Models.Displayed_Gallery=Backbone.Model.extend({defaults:{source:null,container_ids:[],entity_ids:[],display_type:null,display_settings:{},exclusions:[],sortorder:[],slug:null},to_shortcode:function(){retval=null;var e=function(e,t){var i=e[t];if(_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","["),i=i.toString().replace("]","]"),t+'="'+i+'"'},i=t.DisplayTab.instance.display_types.find_by_name_or_alias(this.get("display_type")),s=this.toJSON();s.display_type=i.get_shortcode_value();var l="[ngg_images",n=null;(n=e(s,"source"))&&(l+=" "+n),(n=e(s,"container_ids"))&&(l+=" "+n),(n=e(s,"entity_ids"))&&(l+=" "+n),(n=e(s,"exclusions"))&&(l+=" "+n),(n=e(s,"sortorder"))&&(l+=" "+n);for(var a in s){var o=["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field","post_category","ID"];if(!(o.indexOf(a)>-1))if("display_settings"==a)for(var r in s[a])(n=e(s[a],r))&&(l+=" "+n);else n=e(s,a),n&&(l+=" "+n)}return l+="]"}}),t.DisplayTab.Models.Source=Backbone.Model.extend({idAttribute:"name",defaults:{title:"",name:"",selected:!1}}),t.DisplayTab.Models.Source_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Source,selected_value:function(){var e=null,t=this.selected();return t.length>0&&(e=t[0].get("name")),e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Gallery=Backbone.Model.extend({idAttribute:igw_data.gallery_primary_key,defaults:{title:"",name:""}}),t.DisplayTab.Models.Gallery_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Gallery,action:"get_existing_galleries"}),t.DisplayTab.Models.Album=Backbone.Model.extend({defaults:{title:"",name:""}}),t.DisplayTab.Models.Album_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Album,action:"get_existing_albums"}),t.DisplayTab.Models.Tag=Backbone.Model.extend({defaults:{title:""}}),t.DisplayTab.Models.Tag_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Tag,action:"get_existing_image_tags"}),t.DisplayTab.Models.Display_Type=Backbone.Model.extend({idAttribute:"name",defaults:{title:""},is_compatible_with_source:function(e){var t=!0;for(index in e.get("returns")){var i=e.get("returns")[index];if(_.indexOf(this.get("entity_types"),i)<0){t=!1;break}}return t},get_shortcode_value:function(){var e=this.id;return e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=null,t=this.selected();return t.length>0?t[0].get("name"):e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Entity=Backbone.Model.extend({entity_id:function(){return this.get(this.get("id_field"))},is_excluded:function(){return current_value=this.get("exclude"),!_.isUndefined(current_value)&&(_.isBoolean(current_value)?current_value:0!=parseInt(current_value))},is_included:function(){return!this.is_excluded()},is_gallery:function(){return retval=!1,1==this.get("is_gallery")&&(retval=!0),retval},is_album:function(){return retval=!1,1==this.get("is_album")&&(retval=!0),retval},is_image:function(){return!this.is_album()&&!this.is_gallery()},alttext:function(){return this.is_image()?this.get("alttext"):this.is_gallery()?this.get("title"):this.is_album()?this.get("name"):void 0}}),t.DisplayTab.Models.Entity_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Entity,action:"get_displayed_gallery_entities",_add_item:function(e){e.exclude=1==parseInt(e.exclude),e.is_gallery=1==parseInt(e.is_gallery),e.is_album=1==parseInt(e.is_album),this.push(e)},entity_ids:function(){return this.map(function(e){return e.entity_id()})},included_ids:function(){return _.compact(this.map(function(e){if(e.is_included())return e.entity_id()}))},excluded_ids:function(){return _.compact(this.map(function(e){if(!e.is_included())return e.entity_id()}))}}),t.DisplayTab.Models.SortOrder=Backbone.Model.extend({}),t.DisplayTab.Models.SortOrder_Options=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.SortOrder}),t.DisplayTab.Models.SortDirection=Backbone.Model.extend({}),t.DisplayTab.Models.SortDirection_Options=Backbone.Collection.extend({model:t.DisplayTab.Models.SortDirection}),t.DisplayTab.Models.Slug=Backbone.Model.extend({}),t.DisplayTab.Views.Source_Config=Backbone.View.extend({el:"#source_configuration",selected_view:null,initialize:function(){this.sources=t.DisplayTab.instance.sources,this.sources.on("selected",this.render,this),_.bindAll(this,"render"),this.render()},render:function(){var e=new t.Views.Chosen({id:"source_select",collection:this.sources,placeholder:"Select a source",width:500}),i=_.template('<tr><td><label><%- sources %></label></td><td id="source_column"></td></tr>');this.$el.html(i(igw_data.i18n)),this.$el.find("#source_column").append(e.render().el);var s=this.sources.selected();if(s.length){var l=_.str.capitalize(s.pop().id)+"Source";if("undefined"!=typeof t.DisplayTab.Views[l]){var n=new t.DisplayTab.Views[l];this.$el.append(n.render().el)}}return this}}),t.DisplayTab.Views.Slug_Config=Backbone.View.extend({el:"#slug_configuration",selected_view:null,initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.slug=t.DisplayTab.instance.displayed_gallery.get("slug"),this.render()},render:function(){var t=this,i=e("<input>").prop({type:"text",name:"slug",value:this.slug,placeholder:igw_data.i18n.optional,id:"field_slug"});i.on("input",function(){e(this).val(e(this).val().replace(/\s|\?|\\|\/|&|=|\[|]|#/gm,"-")),t.displayed_gallery.set("slug",e(this).val())}),i.on("change",function(){e(this).val(e(this).val().replace(/^-*/gm,"").replace(/-*$/gm,"")),t.displayed_gallery.set("slug",e(this).val())});var s=_.template('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="<%- slug_tooltip %><"><<%- slug_label %></label></td><td id="slug_column"></td></tr>');return this.$el.append(s(igw_data.i18n)),this.$el.find("#slug_column").append(i),this}}),t.DisplayTab.Views.Display_Type_Selector=Backbone.View.extend({el:"#display_type_selector",initialize:function(){this.display_types=t.DisplayTab.instance.display_types,this.display_type_order_base=t.DisplayTab.instance.display_type_order_base,this.display_type_order_step=t.DisplayTab.instance.display_type_order_step,this.sources=t.DisplayTab.instance.sources,this.render()},selection_changed:function(t){var i=null;if(this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),i){var s=this.sources.selected_value(),l=i.get("default_source");l&&s!=l&&(l=this.sources.where({name:l}),l.length>0&&(l=l[0],this.sources.deselect_all(),this.sources.select(l.id)))}e(".display_settings_form").each(function(){$this=e(this),$this.attr("rel")==t?$this.removeClass("hidden"):$this.addClass("hidden")})},render:function(){var t=this.sources.selected(),i=0;t=t.length>0&&t[0],this.$el.empty();var s=this.display_type_order_base,l=this.display_type_order_step;return this.display_types.each(function(n){if(t&&!n.is_compatible_with_source(t)){var a=e("#display_type_tab_content:visible");if(0==a.length)return;if("hidden"==a.css("visibility"))return}var o=new this.DisplayType;o.model=n,o.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var r=n.get("view_order");r||(r=s);var d=Math.floor(r/l);i>0&&d>i&&this.$el.append('<li class="clear" style="height: 10px" />'),i=d,this.$el.append(o.render().el)},this),this},DisplayType:Backbone.View.extend({className:"display_type_preview",events:{click:"clicked"},clicked:function(e){this.trigger("selected",this.model.get("name"))},render:function(){var t=e('<label style="display: block; cursor: pointer;"/>').addClass("image_container"),i=this.model.get("installed_at_version"),s=photocrati_ajax.wp_plugins_url,l=this.model.get("preview_image_relpath");"undefined"==typeof i&&(s=photocrati_ajax.wp_site_url,s=s.replace(/(.*)\/index\.php$/i,"$1"),0==l.indexOf("/nextgen-gallery")&&(s=photocrati_ajax.wp_plugins_url));var n=e("<img/>").attr({src:s+"/"+l,title:this.model.get("title"),alt:this.model.get("alt")}),a=e("<div/>"),o=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")});return t.append(a),t.append(n),a.append(o),a.append(this.model.get("title")),this.$el.append(t),this}})}),t.DisplayTab.Views.Preview_Area=Backbone.View.extend({el:"#preview_area",initialize:function(){this.entities=t.DisplayTab.instance.entities,this.sources=t.DisplayTab.instance.sources,this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entity_list=e("<ul/>").attr("id","entity_list").append('<li class="clear"/>'),this.entities.on("add",this.render_entity,this),this.entities.on("remove",this.remove_entity,this),this.entities.on("reset",this.entities_reset,this),this.entities.on("change:sortorder",function(e){this.entities.remove(e,{silent:!0}),this.entities.add(e,{at:e.changed.sortorder,silent:!0}),this.displayed_gallery.set("sortorder",this.entities.entity_ids()),"undefined"!=typeof console&&"undefined"!=typeof console.log&&console.log(this.entities.entity_ids()),this.displayed_gallery.set("order_by","sortorder")},this),this.sources.on("selected",this.render,this),this.render()},events:{opened:"entities_reset"},entities_reset:function(e){this.entities.reset(null,{silent:!0}),this.entity_list.empty().append('<li class="clear"/>'),this.entities.in_progress||this.entities.fetch()},render_entity:function(e){var t=new this.EntityElement({model:e});this.entity_list.find(".clear").before(t.render().$el),t.$el.css("visibility","hidden"),setTimeout(function(){t.$el.css("visibility","visible")},0),1==this.$el.find(".no_entities").length?this.render():this.entities.length>1&&this.entity_list.sortable("refresh")},remove_entity:function(e){var t=this.id=e.get("id_field")+"_"+e.entity_id();this.entity_list.find("#"+t).remove();this.entity_list.sortable("refresh"),0==this.entities.length&&this.render_no_images_notice()},render_no_images_notice:function(){this.$el.empty(),this.$el.append("<p class='no_entities'>"+igw_data.i18n.no_entities+"</p>")},render:function(){return this.$el.empty(),this.entities.length>0&&this.displayed_gallery.get("container_ids").length>0?(this.$el.append(new this.RefreshButton({entities:this.entities}).render().el),this.$el.append(new this.SortButtons({entities:this.entities,displayed_gallery:this.displayed_gallery,sources:this.sources}).render().el),this.$el.append(new this.ExcludeButtons({entities:this.entities}).render().el),this.$el.append(this.entity_list),this.entity_list.sortable({placeholder:"placeholder",forcePlaceholderSize:!0,containment:"parent",opacity:.7,revert:!0,dropOnEmpty:!0,start:function(e,t){return t.placeholder.css({height:t.item.height()}),!0},stop:function(e,t){t.item.trigger("drop",t.item.index())}}),this.entity_list.disableSelection()):this.render_no_images_notice(),this},RefreshButton:Backbone.View.extend({className:"refresh_button",tagName:"input",label:"Refresh",events:{click:"clicked"},clicked:function(){this.entities.reset()},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){return this.$el.attr({value:this.label,type:"button"}),this}}),ExcludeButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){this.$el.empty(),this.$el.append("<strong>Exclude:</strong>");var e=new this.Button({value:!0,text:"All",entities:this.entities});this.$el.append(e.render().el),this.$el.append('<span class="separator">|</span>');var t=new this.Button({value:!1,text:"None",entities:this.entities});return this.$el.append(t.render().el),this},Button:Backbone.View.extend({tagName:"a",value:1,text:"",events:{click:"clicked"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},clicked:function(e){e.preventDefault(),this.entities.each(function(e){e.set("exclude",this.value)},this)},render:function(){return this.$el.text(this.text).attr("href","#"),this}})}),SortButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.sortorder_options=new t.DisplayTab.Models.SortOrder_Options,this.sortorder_options.on("change:selected",this.sortoption_changed,this),this.sortdirection_options=new t.DisplayTab.Models.SortDirection_Options([{value:"ASC",title:"Ascending",selected:"ASC"==this.displayed_gallery.get("order_direction")},{value:"DESC",title:"Descending",selected:"DESC"==this.displayed_gallery.get("order_direction")}]),this.sortdirection_options.on("change:selected",this.sortdirection_changed,this),this.displayed_gallery.on("change:order_by",this.displayed_gallery_order_changed,this),this.displayed_gallery.on("change.order_direction",this.displayed_gallery_order_dir_changed,this)},populate_sorting_fields:function(){var e=this.sources.selected().pop().get("returns");_.indexOf(e,"image")!==-1?this.fill_image_sortorder_options():this.fill_gallery_sortorder_options()},create_sortorder_option:function(e,i){return new t.DisplayTab.Models.SortOrder({name:e,title:i,value:e,selected:this.displayed_gallery.get("order_by")==e})},fill_image_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option(t.DisplayTab.instance.image_key,"Image ID")),this.sortorder_options.push(this.create_sortorder_option("filename","Filename")),this.sortorder_options.push(this.create_sortorder_option("alttext","Alt/Title Text")),this.sortorder_options.push(this.create_sortorder_option("imagedate","Date/Time"))},fill_gallery_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option("name","Name")),this.sortorder_options.push(this.create_sortorder_option("galdesc","Description"))},displayed_gallery_order_changed:function(e){this.sortorder_options.findWhere({value:e.get("order_by")}).set("selected",!0)},displayed_gallery_order_dir_changed:function(e){this.sortdirection_options.findWhere({value:e.get("order_direction")}).set("selected",!0)},sortoption_changed:function(t){this.sortorder_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("sortorder",[]);var i=t.get("value");0==t.get("value").length&&(i="sortorder"),this.displayed_gallery.set("order_by",i),this.entities.reset(),this.$el.find("a.sortorder").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},sortdirection_changed:function(t){this.sortdirection_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("order_direction",t.get("value")),this.entities.reset(),this.$el.find("a.sortdirection").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},render:function(){return this.$el.empty(),this.populate_sorting_fields(),this.$el.append("<strong>Sort By:</strong>"),this.sortorder_options.each(function(e,t){var i=new this.Button({model:e,className:"sortorder"});this.$el.append(i.render().el),this.sortorder_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this.$el.append('<strong style="margin-left: 30px;">Order By:</strong>'),this.sortdirection_options.each(function(e,t){var i=new this.Button({model:e,className:"sortdirection"});this.$el.append(i.render().el),this.sortdirection_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this},Button:Backbone.View.extend({tagName:"a",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},events:{click:"clicked"},clicked:function(e){e.preventDefault(),this.model.set("selected",!0)},render:function(){return this.$el.prop({value:this.model.get("value"),href:"#"}),this.$el.text(this.model.get("title")),this.model.get("selected")&&this.$el.addClass("selected"),this}})}),EntityElement:Backbone.View.extend({tagName:"li",events:{drop:"item_dropped"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.initTime=(new Date).getTime(),this.model.on("change",this.render,this),0==this.model.get("sortorder")&&this.model.set("sortorder",-1,{silent:!0}),this.id=this.model.get("id_field")+"_"+this.model.entity_id()},item_dropped:function(e,i){t.DisplayTab.instance.displayed_gallery.set("order_by","sortorder"),this.model.set("sortorder",i)},render:function(){this.$el.empty();var t=e("<div/>").addClass("preview_item"),i=e("<div/>").addClass("image_container"),s=this.model.alttext().replace(/\\&/g,"&").replace(/\\'/g,"'"),l=this.initTime;i.attr({title:s,style:"background-image: url('"+this.model.get("thumb_url")+"?timestamp"+l+"')"}),this.$el.append(t).addClass("ui-state-default"),t.append(i);var n=e("<div/>").addClass("exclude_container"),a=e("<label/>");a.append(igw_data.i18n.exclude_question);var o=new this.ExcludeCheckbox({model:this.model});return a.append(o.render().el),n.append(a),t.append(n),this},ExcludeCheckbox:Backbone.View.extend({tagName:"input",events:{change:"entity_excluded"},type_set:!1,entity_excluded:function(e){this.model.set("exclude",e.target.checked)},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change:exclude",this.render,this)},render:function(){return this.type_set||(this.$el.attr("type","checkbox"),this.type_set=!0),this.model.is_excluded()?this.$el.prop("checked",!0):this.$el.prop("checked",!1),this}})})}),t.DisplayTab.Views.GalleriesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.galleries=t.DisplayTab.instance.galleries},render:function(){var i=new t.Views.Chosen({collection:this.galleries,placeholder:igw_data.i18n.select_gallery,multiple:!0,width:500}),s=e("<tr><td><label>"+igw_data.i18n.galleries+'</label></td><td class="galleries_column"></td></tr>');return this.$el.empty(),this.$el.append(s),this.$el.find(".galleries_column").append(i.render().el),this}}),t.DisplayTab.Views.AlbumsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.albums=t.DisplayTab.instance.albums},render:function(){var e=new t.Views.Chosen({collection:this.albums,multiple:!0,placeholder:"Select an album",text_field:"name",width:500});return this.$el.empty(),this.$el.append("<tr><td><label>"+igw_data.i18n.albums+'</label></td><td class="albums_column"></td></tr>'),this.$el.find(".albums_column").append(e.render().el),this}}),t.DisplayTab.Views.TagsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.tags=t.DisplayTab.instance.tags},render:function(){var e=new t.Views.Chosen({collection:this.tags,multiple:!0,placeholder:"Select a tag",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td><label>Tags</label></td><td class="tags_column"></td></tr>'),this.$el.find(".tags_column").append(e.render().el),this}}),t.DisplayTab.Views.Recent_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td><label># of Images To Display</label></td><td class="recent_images_column"></td></tr>'),this.$el.find(".recent_images_column").append(i),this}}),t.DisplayTab.Views.Random_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td><label># of Images To Display</label></td><td class="random_images_column"></td></tr>'),this.$el.find(".random_images_column").append(i),this}}),t.DisplayTab.Views.SaveButton=Backbone.View.extend({el:"#save_displayed_gallery",errors_el:"#errors",displayed_gallery:null,events:{click:"clicked"},initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entities=t.DisplayTab.instance.entities,this.render()},clicked:function(){this.set_display_settings(),insert_into_editor(this.displayed_gallery.to_shortcode(),this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref),close_attach_to_post_window()},set_display_settings:function(){var t=this.displayed_gallery.get("display_type");if(t){var i=e("form[rel='"+t+"']"),s=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var s=t.name.split("["),l=i,n=0;n<s.length;n++){var a=s[n].replace(/\]$/,"");l[a]||(n==s.length-1?l[a]=t.value:l[a]={}),l=l[a]}}),i}(i);this.displayed_gallery.set("display_settings",s[t])}},render:function(){return this.$el.css("z-index",1e3),this}}),t.DisplayTab.App=Backbone.View.extend({initialize:function(){if(this.displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.original_displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.galleries=new t.DisplayTab.Models.Gallery_Collection(igw_data.galleries),this.albums=new t.DisplayTab.Models.Album_Collection(igw_data.albums),this.tags=new t.DisplayTab.Models.Tag_Collection(igw_data.tags),this.sources=new t.DisplayTab.Models.Source_Collection(igw_data.sources),this.display_types=new t.DisplayTab.Models.Display_Type_Collection(igw_data.display_types),this.display_type_order_base=igw_data.display_type_priority_base,this.display_type_order_step=igw_data.display_type_priority_step,this.entities=new t.DisplayTab.Models.Entity_Collection,this.entities.extra_data.displayed_gallery=this.displayed_gallery,this.image_key=igw_data.image_primary_key,this.displayed_gallery.get("source")){if(this.displayed_gallery.get("source")){var e=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));e&&e.set("selected",!0)}if(this.displayed_gallery.get("container_ids")&&_.each(this.displayed_gallery.get("container_ids"),function(e){var t=this[this.displayed_gallery.get("source")].find(function(t){return t.id==e},this);t&&t.set("selected",!0)},this),this.displayed_gallery.get("display_type")){var i=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));i&&(i.set("selected",!0),this.displayed_gallery.set("display_type",i.get("name")))}}if(collections=["galleries","albums","tags"],_.each(collections,function(e){this[e].on("selected",function(){this.update_selected_containers(e)},this)},this),this.display_types.on("change:selected",function(){this.displayed_gallery.set("display_type",this.display_types.selected_value())},this),this.sources.on("selected",function(){this.displayed_gallery.set("source",this.sources.selected_value()),this.sources.selected_value()!=this.original_displayed_gallery.get("source")?this.displayed_gallery.set("exclusions",this.entities.excluded_ids()):this.displayed_gallery.set("exclusions",this.original_displayed_gallery.get("exclusions")),"random_images"!=this.sources.selected_value()&&"recent_images"!=this.sources.selected_value()||this.displayed_gallery.set("maximum_entity_count",20),this.galleries.deselect_all(),this.albums.deselect_all(),this.tags.deselect_all();var e=this.display_types.selected(),t=this.sources.selected();e.length>0&&t.length>0&&(e=e[0],t=t[0],e.is_compatible_with_source(t)||this.display_types.deselect_all(),this.display_type_selector&&this.display_type_selector.render()),this.preview_area&&this.preview_area.render()},this),this.entities.on("change:exclude finished_fetching",function(){this.displayed_gallery.set("exclusions",this.entities.excluded_ids())},this),window.Frame_Event_Publisher){var s=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){s.galleries.reset(),s.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){s.galleries.reset(),s.galleries.fetch();var t=s.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){s.albums.reset(),s.albums.fetch();var t=s.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){s.tags.reset(),s.tags.fetch();var t=s.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&s.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=s.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var l=s.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);l&&l.set("thumb_url",e.image.thumb_url)}else{var n=s.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);n&&n.trigger("change")}})}},update_selected_containers:function(e){this.displayed_gallery.set("container_ids",this[e].selected_ids())},render:function(){this.display_type_selector=new t.DisplayTab.Views.Display_Type_Selector,new t.DisplayTab.Views.Source_Config,new t.DisplayTab.Views.Slug_Config,this.preview_area=new t.DisplayTab.Views.Preview_Area,new t.DisplayTab.Views.SaveButton}}),t.DisplayTab.instance=new t.DisplayTab.App,t.DisplayTab.instance.render(),window.Ngg=t,e("span.tooltip, label.tooltip").tooltip()});
|
products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po
CHANGED
@@ -2435,8 +2435,8 @@ msgid "Server Settings"
|
|
2435 |
msgstr "Serverinställningar"
|
2436 |
|
2437 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
2438 |
-
msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over
|
2439 |
-
msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över
|
2440 |
|
2441 |
# Missed by NextGEN, translated string is displayed.
|
2442 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
2435 |
msgstr "Serverinställningar"
|
2436 |
|
2437 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
2438 |
+
msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 17 million downloads."
|
2439 |
+
msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 17 miljoner nedladdningar."
|
2440 |
|
2441 |
# Missed by NextGEN, translated string is displayed.
|
2442 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
products/photocrati_nextgen/modules/i18n/lang/nggallery.po
CHANGED
@@ -2450,7 +2450,7 @@ msgid "Server Settings"
|
|
2450 |
msgstr ""
|
2451 |
|
2452 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
2453 |
-
msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over
|
2454 |
msgstr ""
|
2455 |
|
2456 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
@@ -3235,7 +3235,7 @@ msgid "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
|
|
3235 |
msgstr ""
|
3236 |
|
3237 |
#. Description of the plugin/theme
|
3238 |
-
msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over
|
3239 |
msgstr ""
|
3240 |
|
3241 |
#. Author of the plugin/theme
|
2450 |
msgstr ""
|
2451 |
|
2452 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
2453 |
+
msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 17 million downloads."
|
2454 |
msgstr ""
|
2455 |
|
2456 |
#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
|
3235 |
msgstr ""
|
3236 |
|
3237 |
#. Description of the plugin/theme
|
3238 |
+
msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 17 million downloads."
|
3239 |
msgstr ""
|
3240 |
|
3241 |
#. Author of the plugin/theme
|
products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php
CHANGED
@@ -121,7 +121,7 @@ class M_NextGen_Data extends C_Base_Module
|
|
121 |
$retval = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $retval );
|
122 |
$retval= preg_replace('/[\r\n\t ]+/', ' ', $retval);
|
123 |
}
|
124 |
-
$retval = preg_replace("
|
125 |
|
126 |
return $retval;
|
127 |
}
|
121 |
$retval = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $retval );
|
122 |
$retval= preg_replace('/[\r\n\t ]+/', ' ', $retval);
|
123 |
}
|
124 |
+
$retval = preg_replace("/\\son[^\\s=]+=/", '', $retval);
|
125 |
|
126 |
return $retval;
|
127 |
}
|
products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php
CHANGED
@@ -813,7 +813,7 @@ class nggdb
|
|
813 |
$searchand = ' AND ';
|
814 |
}
|
815 |
|
816 |
-
$term =
|
817 |
if (count($search_terms) > 1 && $search_terms[0] != $request )
|
818 |
$search .= " OR (title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}')";
|
819 |
|
@@ -861,7 +861,7 @@ class nggdb
|
|
861 |
$searchand = ' AND ';
|
862 |
}
|
863 |
|
864 |
-
$term =
|
865 |
if (count($search_terms) > 1 && $search_terms[0] != $request )
|
866 |
$search .= " OR (name LIKE '{$n}{$term}{$n}')";
|
867 |
|
813 |
$searchand = ' AND ';
|
814 |
}
|
815 |
|
816 |
+
$term = esc_sql($request);
|
817 |
if (count($search_terms) > 1 && $search_terms[0] != $request )
|
818 |
$search .= " OR (title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}')";
|
819 |
|
861 |
$searchand = ' AND ';
|
862 |
}
|
863 |
|
864 |
+
$term = esc_sql($request);
|
865 |
if (count($search_terms) > 1 && $search_terms[0] != $request )
|
866 |
$search .= " OR (name LIKE '{$n}{$term}{$n}')";
|
867 |
|
products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
class M_Third_Party_Compat extends C_Base_Module
|
3 |
{
|
|
|
|
|
4 |
function define($id = 'pope-module',
|
5 |
$name = 'Pope Module',
|
6 |
$description = '',
|
@@ -120,6 +122,7 @@ class M_Third_Party_Compat extends C_Base_Module
|
|
120 |
add_filter('ngg_non_minified_modules', array($this, 'dont_minify_nextgen_pro_cssjs'));
|
121 |
add_filter('ngg_atp_show_display_type', array($this, 'atp_check_pro_albums'), 10, 2);
|
122 |
add_filter('run_ngg_resource_manager', array($this, 'run_ngg_resource_manager'));
|
|
|
123 |
|
124 |
// WPML fix
|
125 |
if (class_exists('SitePress')) {
|
@@ -130,6 +133,61 @@ class M_Third_Party_Compat extends C_Base_Module
|
|
130 |
|
131 |
// TODO: Only needed for NGG Pro 1.0.10 and lower
|
132 |
add_action('the_post', array(&$this, 'add_ngg_pro_page_parameter'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
134 |
|
135 |
/**
|
@@ -172,12 +230,8 @@ class M_Third_Party_Compat extends C_Base_Module
|
|
172 |
*/
|
173 |
function excellent_themes_admin()
|
174 |
{
|
175 |
-
if (is_admin()
|
176 |
-
&& defined('ET_TAXONOMY_META_OPTION_KEY')
|
177 |
-
&& (!empty($_GET['page']) && strpos($_GET['page'], 'et_') == 0))
|
178 |
-
{
|
179 |
wp_deregister_style('ngg-jquery-ui');
|
180 |
-
}
|
181 |
}
|
182 |
|
183 |
function atp_check_pro_albums($available, $display_type)
|
1 |
<?php
|
2 |
class M_Third_Party_Compat extends C_Base_Module
|
3 |
{
|
4 |
+
protected $wpseo_images = array();
|
5 |
+
|
6 |
function define($id = 'pope-module',
|
7 |
$name = 'Pope Module',
|
8 |
$description = '',
|
122 |
add_filter('ngg_non_minified_modules', array($this, 'dont_minify_nextgen_pro_cssjs'));
|
123 |
add_filter('ngg_atp_show_display_type', array($this, 'atp_check_pro_albums'), 10, 2);
|
124 |
add_filter('run_ngg_resource_manager', array($this, 'run_ngg_resource_manager'));
|
125 |
+
add_filter('wpseo_sitemap_urlimages', array($this, 'add_wpseo_xml_sitemap_images'), 10, 2);
|
126 |
|
127 |
// WPML fix
|
128 |
if (class_exists('SitePress')) {
|
133 |
|
134 |
// TODO: Only needed for NGG Pro 1.0.10 and lower
|
135 |
add_action('the_post', array(&$this, 'add_ngg_pro_page_parameter'));
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Filter support for WordPress SEO
|
141 |
+
*
|
142 |
+
* @param array $images Provided by WPSEO Filter
|
143 |
+
* @param int $post ID Provided by WPSEO Filter
|
144 |
+
* @return array $image List of a displayed galleries entities
|
145 |
+
*/
|
146 |
+
function add_wpseo_xml_sitemap_images($images, $post_id)
|
147 |
+
{
|
148 |
+
$this->wpseo_images = $images;
|
149 |
+
|
150 |
+
$post = get_post($post_id);
|
151 |
+
|
152 |
+
// Assign our own shortcode handler; ngglegacy and ATP do this same routine for their own
|
153 |
+
// legacy and preview image placeholders.
|
154 |
+
remove_all_shortcodes();
|
155 |
+
C_NextGen_Shortcode_Manager::add('ngg_images', array($this, 'wpseo_shortcode_handler'));
|
156 |
+
do_shortcode($post->post_content);
|
157 |
+
|
158 |
+
return $this->wpseo_images;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Processes ngg_images shortcode when WordPress SEO is building sitemaps. Adds images belonging to a
|
163 |
+
* displayed gallery to $this->wpseo_images for the assigned filter method to return.
|
164 |
+
*
|
165 |
+
* @param array $params Array of shortcode parameters
|
166 |
+
* @param null $inner_content
|
167 |
+
*/
|
168 |
+
function wpseo_shortcode_handler($params, $inner_content = NULL)
|
169 |
+
{
|
170 |
+
$renderer = C_Displayed_Gallery_Renderer::get_instance();
|
171 |
+
$displayed_gallery = $renderer->params_to_displayed_gallery($params);
|
172 |
+
|
173 |
+
if ($displayed_gallery)
|
174 |
+
{
|
175 |
+
$gallery_storage = C_Gallery_Storage::get_instance();
|
176 |
+
$settings = C_NextGen_Settings::get_instance();
|
177 |
+
$source = $displayed_gallery->get_source();
|
178 |
+
if (in_array('image', $source->returns))
|
179 |
+
{
|
180 |
+
foreach ($displayed_gallery->get_entities() as $image) {
|
181 |
+
$named_image_size = $settings->imgAutoResize ? 'full' : 'thumb';
|
182 |
+
$sitemap_image = array(
|
183 |
+
'src' => $gallery_storage->get_image_url($image, $named_image_size),
|
184 |
+
'alt' => $image->alttext,
|
185 |
+
'title' => $image->description ? $image->description: $image->alttext
|
186 |
+
);
|
187 |
+
$this->wpseo_images[] = $sitemap_image;
|
188 |
+
}
|
189 |
+
}
|
190 |
+
}
|
191 |
}
|
192 |
|
193 |
/**
|
230 |
*/
|
231 |
function excellent_themes_admin()
|
232 |
{
|
233 |
+
if (is_admin() && (!empty($_GET['page']) && strpos($_GET['page'], 'et_') == 0))
|
|
|
|
|
|
|
234 |
wp_deregister_style('ngg-jquery-ui');
|
|
|
235 |
}
|
236 |
|
237 |
function atp_check_pro_albums($available, $display_type)
|
readme.txt
CHANGED
@@ -2,11 +2,11 @@
|
|
2 |
Contributors: photocrati, imagely
|
3 |
Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
|
4 |
Requires at least: 4.0.0
|
5 |
-
Stable tag: 2.2.
|
6 |
Tested up to: 4.7.3
|
7 |
License: GPLv2
|
8 |
|
9 |
-
The most popular WordPress gallery plugin and one of the most popular plugins of all time with over
|
10 |
|
11 |
== Description ==
|
12 |
|
@@ -187,6 +187,12 @@ For more information, feel free to visit the official website for the NextGEN Ga
|
|
187 |
|
188 |
== Changelog ==
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
= V2.2.1 - 03.13.2017 =
|
191 |
* NEW: Template mechanism for all display types
|
192 |
* NEW: Review notices
|
2 |
Contributors: photocrati, imagely
|
3 |
Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
|
4 |
Requires at least: 4.0.0
|
5 |
+
Stable tag: 2.2.2
|
6 |
Tested up to: 4.7.3
|
7 |
License: GPLv2
|
8 |
|
9 |
+
The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 17 million downloads.
|
10 |
|
11 |
== Description ==
|
12 |
|
187 |
|
188 |
== Changelog ==
|
189 |
|
190 |
+
= V2.2.2 - 04.04.2017 =
|
191 |
+
* Fixed: Hyperlinks in image descriptions
|
192 |
+
* Fixed: WordPress SEO sitemap image count
|
193 |
+
* Fixed: Removed id parameter in shortcodes
|
194 |
+
* Fixed: Fatal error in Freemius code
|
195 |
+
|
196 |
= V2.2.1 - 03.13.2017 =
|
197 |
* NEW: Template mechanism for all display types
|
198 |
* NEW: Review notices
|