Version Description
- Improved how post id is detected
- Rule match category also check on category pages now
- Updated freemius library
- Polylang plugin support
- Added special classes for not closig the popup when clicked
Download this release
Release Info
Developer | timersys |
Plugin | Popups – WordPress Popup |
Version | 1.7.3 |
Comparing to | |
See all releases |
Code changes from version 1.7.2 to 1.7.3
- README.txt +9 -1
- admin/class-social-popup-admin.php +21 -0
- admin/views/metaboxes/metabox-links.php +1 -1
- admin/views/metaboxes/metabox-support.php +0 -1
- admin/views/metaboxes/metabox-video.php +6 -0
- freemius/assets/css/admin/dialog-boxes.css +2 -2
- freemius/assets/scss/_colors.scss +10 -3
- freemius/assets/scss/_load.scss +4 -4
- freemius/assets/scss/_mixins.scss +63 -7
- freemius/assets/scss/_start.scss +3 -3
- freemius/assets/scss/_vars.scss +5 -5
- freemius/assets/scss/admin/_modal-common.scss +31 -0
- freemius/assets/scss/admin/connect.scss +471 -471
- freemius/assets/scss/admin/dialog-boxes.scss +3 -1
- freemius/config.php +8 -0
- freemius/includes/class-freemius-abstract.php +45 -1
- freemius/includes/class-freemius.php +1063 -374
- freemius/includes/class-fs-logger.php +5 -3
- freemius/includes/class-fs-plugin-updater.php +272 -4
- freemius/includes/debug/class-fs-debug-bar-panel.php +1 -1
- freemius/includes/debug/debug-bar-start.php +2 -2
- freemius/includes/fs-core-functions.php +82 -47
- freemius/includes/fs-essential-functions.php +55 -41
- freemius/includes/fs-plugin-info-dialog.php +53 -53
- freemius/includes/i18n.php +537 -517
- freemius/includes/managers/class-fs-admin-menu-manager.php +156 -9
- freemius/includes/managers/class-fs-admin-notice-manager.php +312 -312
- freemius/includes/sdk/Exceptions/ArgumentNotExistException.php +8 -8
- freemius/includes/sdk/Exceptions/EmptyArgumentException.php +8 -8
- freemius/includes/sdk/Exceptions/Exception.php +73 -73
- freemius/includes/sdk/Exceptions/InvalidArgumentException.php +7 -7
- freemius/includes/sdk/Exceptions/OAuthException.php +11 -11
- freemius/includes/sdk/Freemius.php +626 -582
- freemius/includes/sdk/FreemiusBase.php +188 -188
- freemius/languages/freemius-da_DK.mo +0 -0
- freemius/languages/freemius-da_DK.po +829 -700
- freemius/languages/freemius-en.mo +0 -0
- freemius/languages/freemius-en.po +453 -392
- freemius/languages/freemius-he.mo +0 -0
- freemius/languages/freemius-he.po +825 -695
- freemius/languages/freemius-it_IT.mo +0 -0
- freemius/languages/freemius-it_IT.po +533 -611
- freemius/languages/freemius-ja_JP.mo +0 -0
- freemius/languages/freemius-ja_JP.po +700 -571
- freemius/languages/freemius.pot +451 -390
- freemius/package.json +10 -2
- freemius/require.php +1 -1
- freemius/start.php +416 -307
- freemius/templates/account.php +95 -85
- freemius/templates/add-ons.php +6 -6
- freemius/templates/admin-notice.php +1 -1
- freemius/templates/ajax-loader.php +1 -0
- freemius/templates/auto-installation.php +244 -0
- freemius/templates/billing.php +29 -29
- freemius/templates/checkout.php +181 -136
- freemius/templates/connect.php +425 -406
- freemius/templates/debug.php +120 -77
- freemius/templates/debug/api-calls.php +12 -12
- freemius/templates/debug/logger.php +8 -8
- freemius/templates/debug/plugins-themes-sync.php +11 -11
- freemius/templates/debug/scheduled-crons.php +12 -12
- freemius/templates/forms/deactivation/contact.php +2 -2
- freemius/templates/forms/deactivation/form.php +14 -13
- freemius/templates/forms/deactivation/retry-skip.php +3 -3
- freemius/templates/forms/license-activation.php +9 -8
- freemius/templates/forms/optout.php +17 -11
- freemius/templates/forms/resend-key.php +6 -9
- freemius/templates/forms/trial-start.php +4 -4
- freemius/templates/plugin-info/description.php +2 -2
- freemius/templates/plugin-info/features.php +2 -2
- freemius/templates/plugin-info/screenshots.php +1 -1
- popups.php +2 -2
- public/class-social-popup.php +46 -0
- public/includes/class-spu-rules.php +7 -1
- public/views/popup.php +5 -5
README.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: popup,twitter,google+, facebook,Popups, twitter follow, facebook like, google plus,social boost, social splash, postmatic, mailpoet, facebook popup, scroll popups, popups, wordpress popup, wp popups, cf7, gf, gravity forms, contact form 7, ifs, infusion soft, subscribe, login popup, ajax login popups
|
5 |
Requires at least: 3.6
|
6 |
Tested up to: 4.8
|
7 |
-
Stable tag: 1.7.
|
8 |
Text Domain: popups
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -15,6 +15,8 @@ Popup plugin that works! Most complete free popup plugin with display filters, s
|
|
15 |
|
16 |
The new Popups plugin can display multiple popups. Is the perfect solution to show important messages such as EU Cookie notice, increase your social followers, add call to actions, increase your mailing lists by adding a form like mailchimp or to display any other important message in a simple popup.
|
17 |
|
|
|
|
|
18 |
It's compatible with the major form plugins like (read FAQ):
|
19 |
|
20 |
* Gravity Forms
|
@@ -198,6 +200,12 @@ If you have cache be sure to enable AJAX mode in the plugin settings page
|
|
198 |
|
199 |
== Changelog ==
|
200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
= 1.7.2 =
|
202 |
* Added french language
|
203 |
* Query string rule is wide match now
|
4 |
Tags: popup,twitter,google+, facebook,Popups, twitter follow, facebook like, google plus,social boost, social splash, postmatic, mailpoet, facebook popup, scroll popups, popups, wordpress popup, wp popups, cf7, gf, gravity forms, contact form 7, ifs, infusion soft, subscribe, login popup, ajax login popups
|
5 |
Requires at least: 3.6
|
6 |
Tested up to: 4.8
|
7 |
+
Stable tag: 1.7.3
|
8 |
Text Domain: popups
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
|
16 |
The new Popups plugin can display multiple popups. Is the perfect solution to show important messages such as EU Cookie notice, increase your social followers, add call to actions, increase your mailing lists by adding a form like mailchimp or to display any other important message in a simple popup.
|
17 |
|
18 |
+
https://www.youtube.com/watch?v=S_MfZne6X2I&t=3s
|
19 |
+
|
20 |
It's compatible with the major form plugins like (read FAQ):
|
21 |
|
22 |
* Gravity Forms
|
200 |
|
201 |
== Changelog ==
|
202 |
|
203 |
+
= 1.7.3 =
|
204 |
+
* Improved how post id is detected
|
205 |
+
* Rule match category also check on category pages now
|
206 |
+
* Updated freemius library
|
207 |
+
* Polylang plugin support
|
208 |
+
* Added special classes for not closig the popup when clicked
|
209 |
= 1.7.2 =
|
210 |
* Added french language
|
211 |
* Query string rule is wide match now
|
admin/class-social-popup-admin.php
CHANGED
@@ -271,6 +271,14 @@ class SocialPopup_Admin {
|
|
271 |
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
|
275 |
add_meta_box(
|
276 |
'spu-appearance',
|
@@ -403,6 +411,19 @@ class SocialPopup_Admin {
|
|
403 |
|
404 |
include $donate_metabox;
|
405 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
/**
|
407 |
* Include the metabox view for support box
|
408 |
* @param object $post spucpt post object
|
271 |
|
272 |
}
|
273 |
|
274 |
+
add_meta_box(
|
275 |
+
'spu-video',
|
276 |
+
'<i class="spu-icon-info spu-icon"></i>' . __( 'Help video', 'popups' ),
|
277 |
+
array( $this, 'metabox_video' ),
|
278 |
+
'spucpt',
|
279 |
+
'normal',
|
280 |
+
'core'
|
281 |
+
);
|
282 |
|
283 |
add_meta_box(
|
284 |
'spu-appearance',
|
411 |
|
412 |
include $donate_metabox;
|
413 |
}
|
414 |
+
|
415 |
+
/**
|
416 |
+
* Include the metabox view for help video
|
417 |
+
* @param object $post spucpt post object
|
418 |
+
* @param array $metabox full metabox items array
|
419 |
+
* @since 1.1
|
420 |
+
*/
|
421 |
+
public function metabox_video( $post, $metabox ) {
|
422 |
+
|
423 |
+
$video_metabox = apply_filters( 'spu/metaboxes/video_metabox', dirname(__FILE__) . '/views/metaboxes/metabox-video.php' );
|
424 |
+
|
425 |
+
include $video_metabox;
|
426 |
+
}
|
427 |
/**
|
428 |
* Include the metabox view for support box
|
429 |
* @param object $post spucpt post object
|
admin/views/metaboxes/metabox-links.php
CHANGED
@@ -9,5 +9,5 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
9 |
<ul>
|
10 |
<li> <a href="http://wordpress.org/plugins/wpfavs/" target="_blank">Wp Favs</a> - <?php _e( 'Install multiple plugins and create collections', 'popups' );?></li>
|
11 |
<li> <a href="http://wordpress.org/plugins/geotargeting/" target="_blank">Geotargeting</a> - <?php _e( 'Geotarget your content', 'popups' );?></li>
|
12 |
-
<li> <a href="http://wordpress.org/plugins/wp-
|
13 |
</ul>
|
9 |
<ul>
|
10 |
<li> <a href="http://wordpress.org/plugins/wpfavs/" target="_blank">Wp Favs</a> - <?php _e( 'Install multiple plugins and create collections', 'popups' );?></li>
|
11 |
<li> <a href="http://wordpress.org/plugins/geotargeting/" target="_blank">Geotargeting</a> - <?php _e( 'Geotarget your content', 'popups' );?></li>
|
12 |
+
<li> <a href="http://wordpress.org/plugins/wp-facebook-login" target="_blank">Facebook Login</a> - <?php _e( 'Integrate facebook login in you site.', 'popups' );?></li>
|
13 |
</ul>
|
admin/views/metaboxes/metabox-support.php
CHANGED
@@ -2,6 +2,5 @@
|
|
2 |
// Exit if accessed directly
|
3 |
if ( !defined( 'ABSPATH' ) ) exit;
|
4 |
?>
|
5 |
-
|
6 |
<p><?php echo sprintf( __( 'You are using Popups plugin v%s', 'popups' ), SocialPopup::VERSION );?></p>
|
7 |
<p><?php echo sprintf( __( 'If you need support please go to the WordPress.org <a href="%s">support forums</a>', 'popups' ), 'http://wordpress.org/support/plugin/popups/');?></p>
|
2 |
// Exit if accessed directly
|
3 |
if ( !defined( 'ABSPATH' ) ) exit;
|
4 |
?>
|
|
|
5 |
<p><?php echo sprintf( __( 'You are using Popups plugin v%s', 'popups' ), SocialPopup::VERSION );?></p>
|
6 |
<p><?php echo sprintf( __( 'If you need support please go to the WordPress.org <a href="%s">support forums</a>', 'popups' ), 'http://wordpress.org/support/plugin/popups/');?></p>
|
admin/views/metaboxes/metabox-video.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Exit if accessed directly
|
3 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
4 |
+
?>
|
5 |
+
<p><?= __('Take a look to this "How to add a Popup" help video to better understand how the plugin works. Remember you can minimize this box click clicking on the top right arrow.');?></p>
|
6 |
+
<iframe width="100%" height="315" style="max-width:550px;display: block;margin:10px auto;" src="https://www.youtube.com/embed/S_MfZne6X2I??rel=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
|
freemius/assets/css/admin/dialog-boxes.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
-
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
+
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}
|
freemius/assets/scss/_colors.scss
CHANGED
@@ -20,9 +20,6 @@ $fs-logo-blue-color: #29abe1;
|
|
20 |
$fs-logo-green-color: #71ae00;
|
21 |
$fs-logo-magenta-color: #d3135a;
|
22 |
|
23 |
-
$fs-notice-promotion-border-color: #00a0d2;
|
24 |
-
$fs-notice-promotion-bkg: #f2fcff;
|
25 |
-
|
26 |
// WordPress colors.
|
27 |
$page-header-bkg: #333;
|
28 |
$page-header-color: $fms-white;
|
@@ -30,6 +27,16 @@ $text-dark-color: #333;
|
|
30 |
$text-light-color: #666;
|
31 |
$text-lightest-color: #999;
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
// WP Buttons.
|
34 |
$button-primary-bkg: #6bc406;
|
35 |
$button-primary-color: $fms-white;
|
20 |
$fs-logo-green-color: #71ae00;
|
21 |
$fs-logo-magenta-color: #d3135a;
|
22 |
|
|
|
|
|
|
|
23 |
// WordPress colors.
|
24 |
$page-header-bkg: #333;
|
25 |
$page-header-color: $fms-white;
|
27 |
$text-light-color: #666;
|
28 |
$text-lightest-color: #999;
|
29 |
|
30 |
+
// Notices.
|
31 |
+
$wp-notice-success-color: #f7fff7;
|
32 |
+
$wp-notice-success-dark-color: #46b450;
|
33 |
+
$wp-notice-error-color: #ffeaea;
|
34 |
+
$wp-notice-error-dark-color: #dc3232;
|
35 |
+
$wp-notice-warn-color: #fff8e5;
|
36 |
+
$wp-notice-warn-dark-color: #ffb900;
|
37 |
+
$fs-notice-promotion-border-color: #00a0d2;
|
38 |
+
$fs-notice-promotion-bkg: #f2fcff;
|
39 |
+
|
40 |
// WP Buttons.
|
41 |
$button-primary-bkg: #6bc406;
|
42 |
$button-primary-color: $fms-white;
|
freemius/assets/scss/_load.scss
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
@import 'mixins';
|
2 |
-
@import "vars";
|
3 |
-
@import "functions";
|
4 |
-
@import "colors";
|
1 |
+
@import 'mixins';
|
2 |
+
@import "vars";
|
3 |
+
@import "functions";
|
4 |
+
@import "colors";
|
freemius/assets/scss/_mixins.scss
CHANGED
@@ -78,13 +78,13 @@ $useIEFilters: 0;
|
|
78 |
}
|
79 |
|
80 |
// requires sass 3.2
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
|
89 |
@mixin linear-gradient($from, $to, $ie: $useIEFilters) {
|
90 |
@if $ie != 1 { background-color: $to; }
|
@@ -192,6 +192,62 @@ $useIEFilters: 0;
|
|
192 |
transition: $value;
|
193 |
}
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
// ==== /CSS3 SASS MIXINS ====
|
196 |
|
197 |
@mixin opacity($opacity) {
|
78 |
}
|
79 |
|
80 |
// requires sass 3.2
|
81 |
+
@mixin keyframes($name){
|
82 |
+
@-moz-keyframes #{$name} { @content; }
|
83 |
+
@-ms-keyframes #{$name} { @content; }
|
84 |
+
@-o-keyframes #{$name} { @content; }
|
85 |
+
@-webkit-keyframes #{$name} { @content; }
|
86 |
+
@keyframes #{$name} { @content; }
|
87 |
+
}
|
88 |
|
89 |
@mixin linear-gradient($from, $to, $ie: $useIEFilters) {
|
90 |
@if $ie != 1 { background-color: $to; }
|
192 |
transition: $value;
|
193 |
}
|
194 |
|
195 |
+
@mixin animation($str) {
|
196 |
+
-webkit-animation: #{$str};
|
197 |
+
-moz-animation: #{$str};
|
198 |
+
-ms-animation: #{$str};
|
199 |
+
-o-animation: #{$str};
|
200 |
+
animation: #{$str};
|
201 |
+
}
|
202 |
+
|
203 |
+
@mixin animation-name($str) {
|
204 |
+
-webkit-animation-name: #{$str};
|
205 |
+
-moz-animation-name: #{$str};
|
206 |
+
-ms-animation-name: #{$str};
|
207 |
+
-o-animation-name: #{$str};
|
208 |
+
animation-name: #{$str};
|
209 |
+
}
|
210 |
+
|
211 |
+
@mixin animation-duration($str) {
|
212 |
+
-webkit-animation-duration: #{$str};
|
213 |
+
-moz-animation-duration: #{$str};
|
214 |
+
-ms-animation-duration: #{$str};
|
215 |
+
-o-animation-duration: #{$str};
|
216 |
+
animation-duration: #{$str};
|
217 |
+
}
|
218 |
+
|
219 |
+
@mixin animation-direction($str) {
|
220 |
+
-webkit-animation-direction: #{$str};
|
221 |
+
-moz-animation-direction: #{$str};
|
222 |
+
-ms-animation-direction: #{$str};
|
223 |
+
-o-animation-direction: #{$str};
|
224 |
+
animation-direction: #{$str};
|
225 |
+
}
|
226 |
+
|
227 |
+
@mixin animation-delay($str) {
|
228 |
+
animation-delay:#{$str};
|
229 |
+
-o-animation-delay:#{$str};
|
230 |
+
-ms-animation-delay:#{$str};
|
231 |
+
-webkit-animation-delay:#{$str};
|
232 |
+
-moz-animation-delay:#{$str};
|
233 |
+
}
|
234 |
+
|
235 |
+
@mixin animation-iteration-count($str) {
|
236 |
+
animation-iteration-count:#{$str};
|
237 |
+
-o-animation-iteration-count:#{$str};
|
238 |
+
-ms-animation-iteration-count:#{$str};
|
239 |
+
-webkit-animation-iteration-count:#{$str};
|
240 |
+
-moz-animation-iteration-count:#{$str};
|
241 |
+
}
|
242 |
+
|
243 |
+
@mixin animation-timing-function($str) {
|
244 |
+
-webkit-animation-timing-function: #{$str};
|
245 |
+
-moz-animation-timing-function: #{$str};
|
246 |
+
-ms-animation-timing-function: #{$str};
|
247 |
+
-o-animation-timing-function: #{$str};
|
248 |
+
animation-timing-function: #{$str};
|
249 |
+
}
|
250 |
+
|
251 |
// ==== /CSS3 SASS MIXINS ====
|
252 |
|
253 |
@mixin opacity($opacity) {
|
freemius/assets/scss/_start.scss
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
@import "vars";
|
2 |
-
@import "colors";
|
3 |
-
@import "mixins";
|
4 |
@import "functions";
|
1 |
+
@import "vars";
|
2 |
+
@import "colors";
|
3 |
+
@import "mixins";
|
4 |
@import "functions";
|
freemius/assets/scss/_vars.scss
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
$is_production: true;
|
2 |
-
|
3 |
-
$img_common: if($is_production == true, '//img.freemius.com', 'http://img.freemius:8080');
|
4 |
-
|
5 |
-
$layout_width: 960px;
|
6 |
$admin_mobile_max_width: 782px;
|
1 |
+
$is_production: true;
|
2 |
+
|
3 |
+
$img_common: if($is_production == true, '//img.freemius.com', 'http://img.freemius:8080');
|
4 |
+
|
5 |
+
$layout_width: 960px;
|
6 |
$admin_mobile_max_width: 782px;
|
freemius/assets/scss/admin/_modal-common.scss
CHANGED
@@ -46,6 +46,37 @@
|
|
46 |
}
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
.fs-modal-body,
|
50 |
.fs-modal-footer {
|
51 |
border: 0;
|
46 |
}
|
47 |
}
|
48 |
|
49 |
+
&.fs-success {
|
50 |
+
.fs-modal-header {
|
51 |
+
border-bottom-color: $wp-notice-success-dark-color;
|
52 |
+
}
|
53 |
+
|
54 |
+
.fs-modal-body {
|
55 |
+
background-color: $wp-notice-success-color;
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
&.fs-warn {
|
60 |
+
.fs-modal-header {
|
61 |
+
border-bottom-color: $wp-notice-warn-dark-color;
|
62 |
+
}
|
63 |
+
|
64 |
+
.fs-modal-body {
|
65 |
+
background-color: $wp-notice-warn-color;
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
&.fs-error {
|
70 |
+
.fs-modal-header {
|
71 |
+
border-bottom-color: $wp-notice-error-dark-color;
|
72 |
+
}
|
73 |
+
|
74 |
+
.fs-modal-body {
|
75 |
+
background-color: $wp-notice-error-color;
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
|
80 |
.fs-modal-body,
|
81 |
.fs-modal-footer {
|
82 |
border: 0;
|
freemius/assets/scss/admin/connect.scss
CHANGED
@@ -1,471 +1,471 @@
|
|
1 |
-
@import "../start";
|
2 |
-
|
3 |
-
$form_width: 480px;
|
4 |
-
|
5 |
-
#fs_connect
|
6 |
-
{
|
7 |
-
width: $form_width;
|
8 |
-
@include box-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
|
9 |
-
margin: 20px 0;
|
10 |
-
|
11 |
-
@media screen and (max-width: ($form_width - 1)) {
|
12 |
-
@include box-shadow(none);
|
13 |
-
width: auto;
|
14 |
-
margin: 0 0 0 -10px;
|
15 |
-
}
|
16 |
-
|
17 |
-
.fs-content
|
18 |
-
{
|
19 |
-
background: #fff;
|
20 |
-
padding: 15px 20px;
|
21 |
-
|
22 |
-
.fs-error {
|
23 |
-
background: snow;
|
24 |
-
color: $fs-logo-magenta-color;
|
25 |
-
border: 1px solid $fs-logo-magenta-color;
|
26 |
-
@include box-shadow(0 1px 1px 0 rgba(0,0,0,.1));
|
27 |
-
text-align: center;
|
28 |
-
padding: 5px;
|
29 |
-
margin-bottom: 10px;
|
30 |
-
}
|
31 |
-
|
32 |
-
p
|
33 |
-
{
|
34 |
-
margin: 0;
|
35 |
-
padding: 0;
|
36 |
-
font-size: 1.2em;
|
37 |
-
}
|
38 |
-
}
|
39 |
-
|
40 |
-
.fs-license-key-container {
|
41 |
-
position: relative;
|
42 |
-
width: 280px;
|
43 |
-
margin: 10px auto 0 auto;
|
44 |
-
|
45 |
-
input {
|
46 |
-
width: 100%;
|
47 |
-
}
|
48 |
-
|
49 |
-
.dashicons {
|
50 |
-
position: absolute;
|
51 |
-
top: 5px;
|
52 |
-
right: 5px;
|
53 |
-
}
|
54 |
-
}
|
55 |
-
|
56 |
-
.fs-actions
|
57 |
-
{
|
58 |
-
padding: 10px 20px;
|
59 |
-
background: #C0C7CA;
|
60 |
-
|
61 |
-
.button
|
62 |
-
{
|
63 |
-
padding: 0 10px 1px;
|
64 |
-
line-height: 35px;
|
65 |
-
height: 37px;
|
66 |
-
font-size: 16px;
|
67 |
-
margin-bottom: 0;
|
68 |
-
|
69 |
-
.dashicons
|
70 |
-
{
|
71 |
-
font-size: 37px;
|
72 |
-
margin-left: -8px;
|
73 |
-
margin-right: 12px;
|
74 |
-
}
|
75 |
-
|
76 |
-
&.button-primary
|
77 |
-
{
|
78 |
-
padding-right: 15px;
|
79 |
-
padding-left: 15px;
|
80 |
-
|
81 |
-
&:after
|
82 |
-
{
|
83 |
-
content: ' \279C';
|
84 |
-
}
|
85 |
-
|
86 |
-
&.fs-loading
|
87 |
-
{
|
88 |
-
&:after
|
89 |
-
{
|
90 |
-
content: '';
|
91 |
-
}
|
92 |
-
}
|
93 |
-
}
|
94 |
-
|
95 |
-
&.button-secondary
|
96 |
-
{
|
97 |
-
float: right;
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
// .fs-skip
|
102 |
-
// {
|
103 |
-
// line-height: 38px;
|
104 |
-
// vertical-align: middle;
|
105 |
-
// text-decoration: none;
|
106 |
-
// margin-left: 10px;
|
107 |
-
// }
|
108 |
-
}
|
109 |
-
|
110 |
-
&.fs-anonymous-disabled
|
111 |
-
{
|
112 |
-
.fs-actions
|
113 |
-
{
|
114 |
-
.button.button-primary
|
115 |
-
{
|
116 |
-
width: 100%;
|
117 |
-
}
|
118 |
-
}
|
119 |
-
}
|
120 |
-
|
121 |
-
.fs-permissions
|
122 |
-
{
|
123 |
-
padding: 10px 20px;
|
124 |
-
background: #FEFEFE;
|
125 |
-
// background: #F1F1F1;
|
126 |
-
@include transition(background 0.5s ease);
|
127 |
-
|
128 |
-
.fs-license-sync-disclaimer {
|
129 |
-
text-align: center;
|
130 |
-
margin-top: 0;
|
131 |
-
}
|
132 |
-
|
133 |
-
.fs-trigger
|
134 |
-
{
|
135 |
-
font-size: 0.9em;
|
136 |
-
text-decoration: none;
|
137 |
-
text-align: center;
|
138 |
-
display: block;
|
139 |
-
}
|
140 |
-
|
141 |
-
ul
|
142 |
-
{
|
143 |
-
height: 0;
|
144 |
-
overflow: hidden;
|
145 |
-
margin: 0;
|
146 |
-
|
147 |
-
li
|
148 |
-
{
|
149 |
-
margin-bottom: 12px;
|
150 |
-
|
151 |
-
&:last-child
|
152 |
-
{
|
153 |
-
margin-bottom: 0;
|
154 |
-
}
|
155 |
-
|
156 |
-
i.dashicons
|
157 |
-
{
|
158 |
-
float: left;
|
159 |
-
font-size: 40px;
|
160 |
-
width: 40px;
|
161 |
-
height: 40px;
|
162 |
-
}
|
163 |
-
|
164 |
-
div
|
165 |
-
{
|
166 |
-
margin-left: 55px;
|
167 |
-
|
168 |
-
span
|
169 |
-
{
|
170 |
-
font-weight: bold;
|
171 |
-
text-transform: uppercase;
|
172 |
-
color: #23282d;
|
173 |
-
}
|
174 |
-
|
175 |
-
p
|
176 |
-
{
|
177 |
-
margin: 2px 0 0 0;
|
178 |
-
}
|
179 |
-
}
|
180 |
-
}
|
181 |
-
}
|
182 |
-
|
183 |
-
&.fs-open
|
184 |
-
{
|
185 |
-
background: #fff;
|
186 |
-
|
187 |
-
ul
|
188 |
-
{
|
189 |
-
height: auto;
|
190 |
-
margin: 20px 20px 10px 20px;
|
191 |
-
}
|
192 |
-
}
|
193 |
-
|
194 |
-
@media screen and (max-width: ($form_width - 1)) {
|
195 |
-
background: #fff;
|
196 |
-
|
197 |
-
.fs-trigger
|
198 |
-
{
|
199 |
-
display: none;
|
200 |
-
}
|
201 |
-
|
202 |
-
ul
|
203 |
-
{
|
204 |
-
height: auto;
|
205 |
-
margin: 20px;
|
206 |
-
}
|
207 |
-
}
|
208 |
-
}
|
209 |
-
|
210 |
-
.fs-freemium-licensing {
|
211 |
-
padding: 8px;
|
212 |
-
// background: #0085BA;
|
213 |
-
background: #777;
|
214 |
-
color: #fff;
|
215 |
-
|
216 |
-
p {
|
217 |
-
text-align: center;
|
218 |
-
display: block;
|
219 |
-
margin: 0;
|
220 |
-
padding: 0;
|
221 |
-
}
|
222 |
-
|
223 |
-
a {
|
224 |
-
color: #C2EEFF;
|
225 |
-
text-decoration: underline;
|
226 |
-
}
|
227 |
-
}
|
228 |
-
|
229 |
-
$icon_size: 80px;
|
230 |
-
$wp_logo_padding: $icon_size / 10;
|
231 |
-
$icons_top: 10px;
|
232 |
-
|
233 |
-
.fs-visual
|
234 |
-
{
|
235 |
-
padding: 12px;
|
236 |
-
line-height: 0;
|
237 |
-
background: #fafafa;
|
238 |
-
height: $icon_size;
|
239 |
-
position: relative;
|
240 |
-
|
241 |
-
.fs-site-icon
|
242 |
-
{
|
243 |
-
position: absolute;
|
244 |
-
left: 20px;
|
245 |
-
top: $icons_top;
|
246 |
-
}
|
247 |
-
|
248 |
-
.fs-connect-logo
|
249 |
-
{
|
250 |
-
position: absolute;
|
251 |
-
right: 20px;
|
252 |
-
top: $icons_top;
|
253 |
-
}
|
254 |
-
|
255 |
-
.fs-plugin-icon
|
256 |
-
{
|
257 |
-
position: absolute;
|
258 |
-
top: $icons_top;
|
259 |
-
left: 50%;
|
260 |
-
margin-left: - ($icon_size / 2);
|
261 |
-
}
|
262 |
-
|
263 |
-
.fs-plugin-icon,
|
264 |
-
.fs-site-icon,
|
265 |
-
img,
|
266 |
-
object
|
267 |
-
{
|
268 |
-
width: $icon_size;
|
269 |
-
height: $icon_size;
|
270 |
-
}
|
271 |
-
|
272 |
-
.dashicons-wordpress
|
273 |
-
{
|
274 |
-
font-size: $icon_size - ($wp_logo_padding * 2);
|
275 |
-
background: $wordpress_color;
|
276 |
-
color: #fff;
|
277 |
-
width: $icon_size - ($wp_logo_padding * 2);
|
278 |
-
height: $icon_size - ($wp_logo_padding * 2);
|
279 |
-
padding: $wp_logo_padding;
|
280 |
-
}
|
281 |
-
|
282 |
-
.dashicons-plus
|
283 |
-
{
|
284 |
-
position: absolute;
|
285 |
-
top: 50%;
|
286 |
-
font-size: 30px;
|
287 |
-
margin-top: -10px;
|
288 |
-
color: #bbb;
|
289 |
-
|
290 |
-
&.fs-first
|
291 |
-
{
|
292 |
-
left: 28%;
|
293 |
-
}
|
294 |
-
&.fs-second
|
295 |
-
{
|
296 |
-
left: 65%;
|
297 |
-
}
|
298 |
-
}
|
299 |
-
|
300 |
-
.fs-plugin-icon,
|
301 |
-
.fs-connect-logo,
|
302 |
-
.fs-site-icon
|
303 |
-
{
|
304 |
-
border: 1px solid #ccc;
|
305 |
-
padding: 1px;
|
306 |
-
background: #fff;
|
307 |
-
}
|
308 |
-
}
|
309 |
-
|
310 |
-
.fs-terms
|
311 |
-
{
|
312 |
-
text-align: center;
|
313 |
-
font-size: 0.85em;
|
314 |
-
padding: 5px;
|
315 |
-
background: rgba(0, 0, 0, 0.05);
|
316 |
-
|
317 |
-
&, a
|
318 |
-
{
|
319 |
-
color: #999;
|
320 |
-
}
|
321 |
-
|
322 |
-
a
|
323 |
-
{
|
324 |
-
text-decoration: none;
|
325 |
-
}
|
326 |
-
}
|
327 |
-
}
|
328 |
-
|
329 |
-
.rtl
|
330 |
-
{
|
331 |
-
#fs_connect
|
332 |
-
{
|
333 |
-
.fs-actions
|
334 |
-
{
|
335 |
-
padding: 10px 20px;
|
336 |
-
background: #C0C7CA;
|
337 |
-
|
338 |
-
.button
|
339 |
-
{
|
340 |
-
.dashicons
|
341 |
-
{
|
342 |
-
font-size: 37px;
|
343 |
-
margin-left: -8px;
|
344 |
-
margin-right: 12px;
|
345 |
-
}
|
346 |
-
|
347 |
-
&.button-primary
|
348 |
-
{
|
349 |
-
&:after
|
350 |
-
{
|
351 |
-
content: ' \000bb';
|
352 |
-
}
|
353 |
-
|
354 |
-
&.fs-loading
|
355 |
-
{
|
356 |
-
&:after
|
357 |
-
{
|
358 |
-
content: '';
|
359 |
-
}
|
360 |
-
}
|
361 |
-
}
|
362 |
-
|
363 |
-
&.button-secondary
|
364 |
-
{
|
365 |
-
float: left;
|
366 |
-
}
|
367 |
-
}
|
368 |
-
}
|
369 |
-
|
370 |
-
.fs-permissions
|
371 |
-
{
|
372 |
-
ul
|
373 |
-
{
|
374 |
-
li
|
375 |
-
{
|
376 |
-
div
|
377 |
-
{
|
378 |
-
margin-right: 55px;
|
379 |
-
margin-left: 0;
|
380 |
-
}
|
381 |
-
|
382 |
-
i.dashicons
|
383 |
-
{
|
384 |
-
float: right;
|
385 |
-
}
|
386 |
-
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
|
391 |
-
.fs-visual
|
392 |
-
{
|
393 |
-
.fs-site-icon
|
394 |
-
{
|
395 |
-
right: 20px;
|
396 |
-
left: auto;
|
397 |
-
}
|
398 |
-
|
399 |
-
.fs-connect-logo
|
400 |
-
{
|
401 |
-
right: auto;
|
402 |
-
left: 20px;
|
403 |
-
}
|
404 |
-
}
|
405 |
-
}
|
406 |
-
}
|
407 |
-
|
408 |
-
.wp-pointer-content
|
409 |
-
{
|
410 |
-
#fs_connect
|
411 |
-
{
|
412 |
-
margin: 0;
|
413 |
-
@include box-shadow(none);
|
414 |
-
}
|
415 |
-
}
|
416 |
-
|
417 |
-
.fs-opt-in-pointer
|
418 |
-
{
|
419 |
-
.wp-pointer-content
|
420 |
-
{
|
421 |
-
padding: 0;
|
422 |
-
}
|
423 |
-
|
424 |
-
&.wp-pointer-top
|
425 |
-
{
|
426 |
-
.wp-pointer-arrow
|
427 |
-
{
|
428 |
-
border-bottom-color: #dfdfdf;
|
429 |
-
}
|
430 |
-
.wp-pointer-arrow-inner
|
431 |
-
{
|
432 |
-
border-bottom-color: #fafafa;
|
433 |
-
}
|
434 |
-
}
|
435 |
-
|
436 |
-
&.wp-pointer-bottom
|
437 |
-
{
|
438 |
-
.wp-pointer-arrow
|
439 |
-
{
|
440 |
-
border-top-color: #dfdfdf;
|
441 |
-
}
|
442 |
-
.wp-pointer-arrow-inner
|
443 |
-
{
|
444 |
-
border-top-color: #fafafa;
|
445 |
-
}
|
446 |
-
}
|
447 |
-
|
448 |
-
&.wp-pointer-left
|
449 |
-
{
|
450 |
-
.wp-pointer-arrow
|
451 |
-
{
|
452 |
-
border-right-color: #dfdfdf;
|
453 |
-
}
|
454 |
-
.wp-pointer-arrow-inner
|
455 |
-
{
|
456 |
-
border-right-color: #fafafa;
|
457 |
-
}
|
458 |
-
}
|
459 |
-
|
460 |
-
&.wp-pointer-right
|
461 |
-
{
|
462 |
-
.wp-pointer-arrow
|
463 |
-
{
|
464 |
-
border-left-color: #dfdfdf;
|
465 |
-
}
|
466 |
-
.wp-pointer-arrow-inner
|
467 |
-
{
|
468 |
-
border-left-color: #fafafa;
|
469 |
-
}
|
470 |
-
}
|
471 |
-
}
|
1 |
+
@import "../start";
|
2 |
+
|
3 |
+
$form_width: 480px;
|
4 |
+
|
5 |
+
#fs_connect
|
6 |
+
{
|
7 |
+
width: $form_width;
|
8 |
+
@include box-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
|
9 |
+
margin: 20px 0;
|
10 |
+
|
11 |
+
@media screen and (max-width: ($form_width - 1)) {
|
12 |
+
@include box-shadow(none);
|
13 |
+
width: auto;
|
14 |
+
margin: 0 0 0 -10px;
|
15 |
+
}
|
16 |
+
|
17 |
+
.fs-content
|
18 |
+
{
|
19 |
+
background: #fff;
|
20 |
+
padding: 15px 20px;
|
21 |
+
|
22 |
+
.fs-error {
|
23 |
+
background: snow;
|
24 |
+
color: $fs-logo-magenta-color;
|
25 |
+
border: 1px solid $fs-logo-magenta-color;
|
26 |
+
@include box-shadow(0 1px 1px 0 rgba(0,0,0,.1));
|
27 |
+
text-align: center;
|
28 |
+
padding: 5px;
|
29 |
+
margin-bottom: 10px;
|
30 |
+
}
|
31 |
+
|
32 |
+
p
|
33 |
+
{
|
34 |
+
margin: 0;
|
35 |
+
padding: 0;
|
36 |
+
font-size: 1.2em;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
.fs-license-key-container {
|
41 |
+
position: relative;
|
42 |
+
width: 280px;
|
43 |
+
margin: 10px auto 0 auto;
|
44 |
+
|
45 |
+
input {
|
46 |
+
width: 100%;
|
47 |
+
}
|
48 |
+
|
49 |
+
.dashicons {
|
50 |
+
position: absolute;
|
51 |
+
top: 5px;
|
52 |
+
right: 5px;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
.fs-actions
|
57 |
+
{
|
58 |
+
padding: 10px 20px;
|
59 |
+
background: #C0C7CA;
|
60 |
+
|
61 |
+
.button
|
62 |
+
{
|
63 |
+
padding: 0 10px 1px;
|
64 |
+
line-height: 35px;
|
65 |
+
height: 37px;
|
66 |
+
font-size: 16px;
|
67 |
+
margin-bottom: 0;
|
68 |
+
|
69 |
+
.dashicons
|
70 |
+
{
|
71 |
+
font-size: 37px;
|
72 |
+
margin-left: -8px;
|
73 |
+
margin-right: 12px;
|
74 |
+
}
|
75 |
+
|
76 |
+
&.button-primary
|
77 |
+
{
|
78 |
+
padding-right: 15px;
|
79 |
+
padding-left: 15px;
|
80 |
+
|
81 |
+
&:after
|
82 |
+
{
|
83 |
+
content: ' \279C';
|
84 |
+
}
|
85 |
+
|
86 |
+
&.fs-loading
|
87 |
+
{
|
88 |
+
&:after
|
89 |
+
{
|
90 |
+
content: '';
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
&.button-secondary
|
96 |
+
{
|
97 |
+
float: right;
|
98 |
+
}
|
99 |
+
}
|
100 |
+
|
101 |
+
// .fs-skip
|
102 |
+
// {
|
103 |
+
// line-height: 38px;
|
104 |
+
// vertical-align: middle;
|
105 |
+
// text-decoration: none;
|
106 |
+
// margin-left: 10px;
|
107 |
+
// }
|
108 |
+
}
|
109 |
+
|
110 |
+
&.fs-anonymous-disabled
|
111 |
+
{
|
112 |
+
.fs-actions
|
113 |
+
{
|
114 |
+
.button.button-primary
|
115 |
+
{
|
116 |
+
width: 100%;
|
117 |
+
}
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
.fs-permissions
|
122 |
+
{
|
123 |
+
padding: 10px 20px;
|
124 |
+
background: #FEFEFE;
|
125 |
+
// background: #F1F1F1;
|
126 |
+
@include transition(background 0.5s ease);
|
127 |
+
|
128 |
+
.fs-license-sync-disclaimer {
|
129 |
+
text-align: center;
|
130 |
+
margin-top: 0;
|
131 |
+
}
|
132 |
+
|
133 |
+
.fs-trigger
|
134 |
+
{
|
135 |
+
font-size: 0.9em;
|
136 |
+
text-decoration: none;
|
137 |
+
text-align: center;
|
138 |
+
display: block;
|
139 |
+
}
|
140 |
+
|
141 |
+
ul
|
142 |
+
{
|
143 |
+
height: 0;
|
144 |
+
overflow: hidden;
|
145 |
+
margin: 0;
|
146 |
+
|
147 |
+
li
|
148 |
+
{
|
149 |
+
margin-bottom: 12px;
|
150 |
+
|
151 |
+
&:last-child
|
152 |
+
{
|
153 |
+
margin-bottom: 0;
|
154 |
+
}
|
155 |
+
|
156 |
+
i.dashicons
|
157 |
+
{
|
158 |
+
float: left;
|
159 |
+
font-size: 40px;
|
160 |
+
width: 40px;
|
161 |
+
height: 40px;
|
162 |
+
}
|
163 |
+
|
164 |
+
div
|
165 |
+
{
|
166 |
+
margin-left: 55px;
|
167 |
+
|
168 |
+
span
|
169 |
+
{
|
170 |
+
font-weight: bold;
|
171 |
+
text-transform: uppercase;
|
172 |
+
color: #23282d;
|
173 |
+
}
|
174 |
+
|
175 |
+
p
|
176 |
+
{
|
177 |
+
margin: 2px 0 0 0;
|
178 |
+
}
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
&.fs-open
|
184 |
+
{
|
185 |
+
background: #fff;
|
186 |
+
|
187 |
+
ul
|
188 |
+
{
|
189 |
+
height: auto;
|
190 |
+
margin: 20px 20px 10px 20px;
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
@media screen and (max-width: ($form_width - 1)) {
|
195 |
+
background: #fff;
|
196 |
+
|
197 |
+
.fs-trigger
|
198 |
+
{
|
199 |
+
display: none;
|
200 |
+
}
|
201 |
+
|
202 |
+
ul
|
203 |
+
{
|
204 |
+
height: auto;
|
205 |
+
margin: 20px;
|
206 |
+
}
|
207 |
+
}
|
208 |
+
}
|
209 |
+
|
210 |
+
.fs-freemium-licensing {
|
211 |
+
padding: 8px;
|
212 |
+
// background: #0085BA;
|
213 |
+
background: #777;
|
214 |
+
color: #fff;
|
215 |
+
|
216 |
+
p {
|
217 |
+
text-align: center;
|
218 |
+
display: block;
|
219 |
+
margin: 0;
|
220 |
+
padding: 0;
|
221 |
+
}
|
222 |
+
|
223 |
+
a {
|
224 |
+
color: #C2EEFF;
|
225 |
+
text-decoration: underline;
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
$icon_size: 80px;
|
230 |
+
$wp_logo_padding: $icon_size / 10;
|
231 |
+
$icons_top: 10px;
|
232 |
+
|
233 |
+
.fs-visual
|
234 |
+
{
|
235 |
+
padding: 12px;
|
236 |
+
line-height: 0;
|
237 |
+
background: #fafafa;
|
238 |
+
height: $icon_size;
|
239 |
+
position: relative;
|
240 |
+
|
241 |
+
.fs-site-icon
|
242 |
+
{
|
243 |
+
position: absolute;
|
244 |
+
left: 20px;
|
245 |
+
top: $icons_top;
|
246 |
+
}
|
247 |
+
|
248 |
+
.fs-connect-logo
|
249 |
+
{
|
250 |
+
position: absolute;
|
251 |
+
right: 20px;
|
252 |
+
top: $icons_top;
|
253 |
+
}
|
254 |
+
|
255 |
+
.fs-plugin-icon
|
256 |
+
{
|
257 |
+
position: absolute;
|
258 |
+
top: $icons_top;
|
259 |
+
left: 50%;
|
260 |
+
margin-left: - ($icon_size / 2);
|
261 |
+
}
|
262 |
+
|
263 |
+
.fs-plugin-icon,
|
264 |
+
.fs-site-icon,
|
265 |
+
img,
|
266 |
+
object
|
267 |
+
{
|
268 |
+
width: $icon_size;
|
269 |
+
height: $icon_size;
|
270 |
+
}
|
271 |
+
|
272 |
+
.dashicons-wordpress
|
273 |
+
{
|
274 |
+
font-size: $icon_size - ($wp_logo_padding * 2);
|
275 |
+
background: $wordpress_color;
|
276 |
+
color: #fff;
|
277 |
+
width: $icon_size - ($wp_logo_padding * 2);
|
278 |
+
height: $icon_size - ($wp_logo_padding * 2);
|
279 |
+
padding: $wp_logo_padding;
|
280 |
+
}
|
281 |
+
|
282 |
+
.dashicons-plus
|
283 |
+
{
|
284 |
+
position: absolute;
|
285 |
+
top: 50%;
|
286 |
+
font-size: 30px;
|
287 |
+
margin-top: -10px;
|
288 |
+
color: #bbb;
|
289 |
+
|
290 |
+
&.fs-first
|
291 |
+
{
|
292 |
+
left: 28%;
|
293 |
+
}
|
294 |
+
&.fs-second
|
295 |
+
{
|
296 |
+
left: 65%;
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
.fs-plugin-icon,
|
301 |
+
.fs-connect-logo,
|
302 |
+
.fs-site-icon
|
303 |
+
{
|
304 |
+
border: 1px solid #ccc;
|
305 |
+
padding: 1px;
|
306 |
+
background: #fff;
|
307 |
+
}
|
308 |
+
}
|
309 |
+
|
310 |
+
.fs-terms
|
311 |
+
{
|
312 |
+
text-align: center;
|
313 |
+
font-size: 0.85em;
|
314 |
+
padding: 5px;
|
315 |
+
background: rgba(0, 0, 0, 0.05);
|
316 |
+
|
317 |
+
&, a
|
318 |
+
{
|
319 |
+
color: #999;
|
320 |
+
}
|
321 |
+
|
322 |
+
a
|
323 |
+
{
|
324 |
+
text-decoration: none;
|
325 |
+
}
|
326 |
+
}
|
327 |
+
}
|
328 |
+
|
329 |
+
.rtl
|
330 |
+
{
|
331 |
+
#fs_connect
|
332 |
+
{
|
333 |
+
.fs-actions
|
334 |
+
{
|
335 |
+
padding: 10px 20px;
|
336 |
+
background: #C0C7CA;
|
337 |
+
|
338 |
+
.button
|
339 |
+
{
|
340 |
+
.dashicons
|
341 |
+
{
|
342 |
+
font-size: 37px;
|
343 |
+
margin-left: -8px;
|
344 |
+
margin-right: 12px;
|
345 |
+
}
|
346 |
+
|
347 |
+
&.button-primary
|
348 |
+
{
|
349 |
+
&:after
|
350 |
+
{
|
351 |
+
content: ' \000bb';
|
352 |
+
}
|
353 |
+
|
354 |
+
&.fs-loading
|
355 |
+
{
|
356 |
+
&:after
|
357 |
+
{
|
358 |
+
content: '';
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
|
363 |
+
&.button-secondary
|
364 |
+
{
|
365 |
+
float: left;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
}
|
369 |
+
|
370 |
+
.fs-permissions
|
371 |
+
{
|
372 |
+
ul
|
373 |
+
{
|
374 |
+
li
|
375 |
+
{
|
376 |
+
div
|
377 |
+
{
|
378 |
+
margin-right: 55px;
|
379 |
+
margin-left: 0;
|
380 |
+
}
|
381 |
+
|
382 |
+
i.dashicons
|
383 |
+
{
|
384 |
+
float: right;
|
385 |
+
}
|
386 |
+
|
387 |
+
}
|
388 |
+
}
|
389 |
+
}
|
390 |
+
|
391 |
+
.fs-visual
|
392 |
+
{
|
393 |
+
.fs-site-icon
|
394 |
+
{
|
395 |
+
right: 20px;
|
396 |
+
left: auto;
|
397 |
+
}
|
398 |
+
|
399 |
+
.fs-connect-logo
|
400 |
+
{
|
401 |
+
right: auto;
|
402 |
+
left: 20px;
|
403 |
+
}
|
404 |
+
}
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
.wp-pointer-content
|
409 |
+
{
|
410 |
+
#fs_connect
|
411 |
+
{
|
412 |
+
margin: 0;
|
413 |
+
@include box-shadow(none);
|
414 |
+
}
|
415 |
+
}
|
416 |
+
|
417 |
+
.fs-opt-in-pointer
|
418 |
+
{
|
419 |
+
.wp-pointer-content
|
420 |
+
{
|
421 |
+
padding: 0;
|
422 |
+
}
|
423 |
+
|
424 |
+
&.wp-pointer-top
|
425 |
+
{
|
426 |
+
.wp-pointer-arrow
|
427 |
+
{
|
428 |
+
border-bottom-color: #dfdfdf;
|
429 |
+
}
|
430 |
+
.wp-pointer-arrow-inner
|
431 |
+
{
|
432 |
+
border-bottom-color: #fafafa;
|
433 |
+
}
|
434 |
+
}
|
435 |
+
|
436 |
+
&.wp-pointer-bottom
|
437 |
+
{
|
438 |
+
.wp-pointer-arrow
|
439 |
+
{
|
440 |
+
border-top-color: #dfdfdf;
|
441 |
+
}
|
442 |
+
.wp-pointer-arrow-inner
|
443 |
+
{
|
444 |
+
border-top-color: #fafafa;
|
445 |
+
}
|
446 |
+
}
|
447 |
+
|
448 |
+
&.wp-pointer-left
|
449 |
+
{
|
450 |
+
.wp-pointer-arrow
|
451 |
+
{
|
452 |
+
border-right-color: #dfdfdf;
|
453 |
+
}
|
454 |
+
.wp-pointer-arrow-inner
|
455 |
+
{
|
456 |
+
border-right-color: #fafafa;
|
457 |
+
}
|
458 |
+
}
|
459 |
+
|
460 |
+
&.wp-pointer-right
|
461 |
+
{
|
462 |
+
.wp-pointer-arrow
|
463 |
+
{
|
464 |
+
border-left-color: #dfdfdf;
|
465 |
+
}
|
466 |
+
.wp-pointer-arrow-inner
|
467 |
+
{
|
468 |
+
border-left-color: #fafafa;
|
469 |
+
}
|
470 |
+
}
|
471 |
+
}
|
freemius/assets/scss/admin/dialog-boxes.scss
CHANGED
@@ -2,4 +2,6 @@
|
|
2 |
@import "modal-common";
|
3 |
@import "deactivation-feedback";
|
4 |
@import "license-activation";
|
5 |
-
@import "license-key-resend";
|
|
|
|
2 |
@import "modal-common";
|
3 |
@import "deactivation-feedback";
|
4 |
@import "license-activation";
|
5 |
+
@import "license-key-resend";
|
6 |
+
@import "ajax-loader";
|
7 |
+
@import "auto-install";
|
freemius/config.php
CHANGED
@@ -249,6 +249,14 @@
|
|
249 |
}
|
250 |
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
/**
|
253 |
* Billing Frequencies
|
254 |
*/
|
249 |
}
|
250 |
define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
|
251 |
|
252 |
+
/**
|
253 |
+
* Module types
|
254 |
+
*
|
255 |
+
* @since 1.2.2
|
256 |
+
*/
|
257 |
+
define( 'WP_FS__MODULE_TYPE_PLUGIN', 'plugin' );
|
258 |
+
define( 'WP_FS__MODULE_TYPE_THEME', 'theme' );
|
259 |
+
|
260 |
/**
|
261 |
* Billing Frequencies
|
262 |
*/
|
freemius/includes/class-freemius-abstract.php
CHANGED
@@ -28,7 +28,13 @@
|
|
28 |
#----------------------------------------------------------------------------------
|
29 |
|
30 |
/**
|
31 |
-
* Check if user
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
*
|
33 |
* @since 1.0.1
|
34 |
* @return bool
|
@@ -117,6 +123,34 @@
|
|
117 |
|
118 |
#endregion
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
#----------------------------------------------------------------------------------
|
121 |
#region Permissions
|
122 |
#----------------------------------------------------------------------------------
|
@@ -442,6 +476,16 @@
|
|
442 |
$this->has_free_plan();
|
443 |
}
|
444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
445 |
#endregion
|
446 |
|
447 |
/**
|
28 |
#----------------------------------------------------------------------------------
|
29 |
|
30 |
/**
|
31 |
+
* Check if user has connected his account (opted-in).
|
32 |
+
*
|
33 |
+
* Note:
|
34 |
+
* If the user opted-in and opted-out on a later stage,
|
35 |
+
* this will still return true. If you want to check if the
|
36 |
+
* user is currently opted-in, use:
|
37 |
+
* `$fs->is_registered() && $fs->is_tracking_allowed()`
|
38 |
*
|
39 |
* @since 1.0.1
|
40 |
* @return bool
|
123 |
|
124 |
#endregion
|
125 |
|
126 |
+
#----------------------------------------------------------------------------------
|
127 |
+
#region Module Type
|
128 |
+
#----------------------------------------------------------------------------------
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Checks if the plugin's type is "plugin". The other type is "theme".
|
132 |
+
*
|
133 |
+
* @author Leo Fajardo (@leorw)
|
134 |
+
* @since 1.2.2
|
135 |
+
*
|
136 |
+
* @return bool
|
137 |
+
*/
|
138 |
+
abstract function is_plugin();
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Checks if the module type is "theme". The other type is "plugin".
|
142 |
+
*
|
143 |
+
* @author Leo Fajardo (@leorw)
|
144 |
+
* @since 1.2.2
|
145 |
+
*
|
146 |
+
* @return bool
|
147 |
+
*/
|
148 |
+
function is_theme() {
|
149 |
+
return ( ! $this->is_plugin() );
|
150 |
+
}
|
151 |
+
|
152 |
+
#endregion
|
153 |
+
|
154 |
#----------------------------------------------------------------------------------
|
155 |
#region Permissions
|
156 |
#----------------------------------------------------------------------------------
|
476 |
$this->has_free_plan();
|
477 |
}
|
478 |
|
479 |
+
/**
|
480 |
+
* Check if module has only one plan.
|
481 |
+
*
|
482 |
+
* @author Vova Feldman (@svovaf)
|
483 |
+
* @since 1.2.1.7
|
484 |
+
*
|
485 |
+
* @return bool
|
486 |
+
*/
|
487 |
+
abstract function is_single_plan();
|
488 |
+
|
489 |
#endregion
|
490 |
|
491 |
/**
|
freemius/includes/class-freemius.php
CHANGED
@@ -335,6 +335,45 @@
|
|
335 |
$this->_version_updates_handler();
|
336 |
}
|
337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
/**
|
339 |
* @author Vova Feldman (@svovaf)
|
340 |
* @since 1.0.9
|
@@ -527,6 +566,11 @@
|
|
527 |
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
528 |
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
529 |
|
|
|
|
|
|
|
|
|
|
|
530 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
531 |
|
532 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
@@ -634,7 +678,7 @@
|
|
634 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
635 |
$plugin_main_file = $this->_storage->plugin_main_file;
|
636 |
if ( isset( $plugin_main_file->path ) && file_exists( $plugin_main_file->path ) ) {
|
637 |
-
return $
|
638 |
}
|
639 |
}
|
640 |
|
@@ -659,8 +703,9 @@
|
|
659 |
}
|
660 |
|
661 |
wp_die(
|
662 |
-
|
663 |
-
|
|
|
664 |
array( 'back_link' => true )
|
665 |
);
|
666 |
}
|
@@ -671,7 +716,8 @@
|
|
671 |
* Only the original instantiator that calls dynamic_init can modify the module's path.
|
672 |
*/
|
673 |
// Find caller module.
|
674 |
-
$
|
|
|
675 |
|
676 |
$this->_storage->plugin_main_file = (object) array(
|
677 |
'path' => fs_normalize_path( $plugin_file ),
|
@@ -680,6 +726,97 @@
|
|
680 |
return $plugin_file;
|
681 |
}
|
682 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
683 |
|
684 |
#----------------------------------------------------------------------------------
|
685 |
#region Deactivation Feedback Form
|
@@ -761,21 +898,21 @@
|
|
761 |
|
762 |
$reason_found_better_plugin = array(
|
763 |
'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
|
764 |
-
'text' =>
|
765 |
'input_type' => 'textfield',
|
766 |
-
'input_placeholder' =>
|
767 |
);
|
768 |
|
769 |
$reason_temporary_deactivation = array(
|
770 |
'id' => self::REASON_TEMPORARY_DEACTIVATION,
|
771 |
-
'text' =>
|
772 |
'input_type' => '',
|
773 |
'input_placeholder' => ''
|
774 |
);
|
775 |
|
776 |
$reason_other = array(
|
777 |
'id' => self::REASON_OTHER,
|
778 |
-
'text' =>
|
779 |
'input_type' => 'textfield',
|
780 |
'input_placeholder' => ''
|
781 |
);
|
@@ -783,27 +920,27 @@
|
|
783 |
$long_term_user_reasons = array(
|
784 |
array(
|
785 |
'id' => self::REASON_NO_LONGER_NEEDED,
|
786 |
-
'text' =>
|
787 |
'input_type' => '',
|
788 |
'input_placeholder' => ''
|
789 |
),
|
790 |
$reason_found_better_plugin,
|
791 |
array(
|
792 |
'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
|
793 |
-
'text' =>
|
794 |
'input_type' => '',
|
795 |
'input_placeholder' => ''
|
796 |
),
|
797 |
array(
|
798 |
'id' => self::REASON_BROKE_MY_SITE,
|
799 |
-
'text' =>
|
800 |
'input_type' => '',
|
801 |
'input_placeholder' => '',
|
802 |
'internal_message' => $contact_support_template
|
803 |
),
|
804 |
array(
|
805 |
'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
|
806 |
-
'text' =>
|
807 |
'input_type' => '',
|
808 |
'input_placeholder' => '',
|
809 |
'internal_message' => $contact_support_template
|
@@ -813,15 +950,15 @@
|
|
813 |
if ( $this->is_paying() ) {
|
814 |
$long_term_user_reasons[] = array(
|
815 |
'id' => self::REASON_CANT_PAY_ANYMORE,
|
816 |
-
'text' =>
|
817 |
'input_type' => 'textfield',
|
818 |
-
'input_placeholder' =>
|
819 |
);
|
820 |
}
|
821 |
|
822 |
$reason_dont_share_info = array(
|
823 |
'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
|
824 |
-
'text' =>
|
825 |
'input_type' => '',
|
826 |
'input_placeholder' => ''
|
827 |
);
|
@@ -842,7 +979,7 @@
|
|
842 |
'non-registered-and-non-anonymous-short-term' => array(
|
843 |
array(
|
844 |
'id' => self::REASON_DIDNT_WORK,
|
845 |
-
'text' =>
|
846 |
'input_type' => '',
|
847 |
'input_placeholder' => ''
|
848 |
),
|
@@ -852,7 +989,7 @@
|
|
852 |
'short-term' => array(
|
853 |
array(
|
854 |
'id' => self::REASON_COULDNT_MAKE_IT_WORK,
|
855 |
-
'text' =>
|
856 |
'input_type' => '',
|
857 |
'input_placeholder' => '',
|
858 |
'internal_message' => $contact_support_template
|
@@ -860,27 +997,27 @@
|
|
860 |
$reason_found_better_plugin,
|
861 |
array(
|
862 |
'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
|
863 |
-
'text' =>
|
864 |
'input_type' => 'textarea',
|
865 |
-
'input_placeholder' =>
|
866 |
),
|
867 |
array(
|
868 |
'id' => self::REASON_NOT_WORKING,
|
869 |
-
'text' =>
|
870 |
'input_type' => 'textarea',
|
871 |
-
'input_placeholder' =>
|
872 |
),
|
873 |
array(
|
874 |
'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
|
875 |
-
'text' =>
|
876 |
'input_type' => 'textarea',
|
877 |
-
'input_placeholder' =>
|
878 |
),
|
879 |
array(
|
880 |
'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
|
881 |
-
'text' =>
|
882 |
'input_type' => 'textarea',
|
883 |
-
'input_placeholder' =>
|
884 |
)
|
885 |
)
|
886 |
);
|
@@ -904,6 +1041,10 @@
|
|
904 |
* @since 1.1.2
|
905 |
*/
|
906 |
function _submit_uninstall_reason_action() {
|
|
|
|
|
|
|
|
|
907 |
$reason_id = fs_request_get( 'reason_id' );
|
908 |
|
909 |
// Check if the given reason ID is an unsigned integer.
|
@@ -944,9 +1085,13 @@
|
|
944 |
* @param string $slug
|
945 |
* @param bool $is_init Is initiation sequence.
|
946 |
*
|
947 |
-
* @return Freemius
|
948 |
*/
|
949 |
static function instance( $slug, $is_init = false ) {
|
|
|
|
|
|
|
|
|
950 |
$slug = strtolower( $slug );
|
951 |
|
952 |
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
@@ -978,7 +1123,7 @@
|
|
978 |
* @author Vova Feldman (@svovaf)
|
979 |
* @since 1.0.6
|
980 |
*
|
981 |
-
* @param $id
|
982 |
*
|
983 |
* @return false|Freemius
|
984 |
*/
|
@@ -1023,7 +1168,7 @@
|
|
1023 |
* @author Vova Feldman (@svovaf)
|
1024 |
* @since 1.0.6
|
1025 |
*
|
1026 |
-
* @param $slug_or_id
|
1027 |
*
|
1028 |
* @return bool|Freemius
|
1029 |
*/
|
@@ -1081,6 +1226,68 @@
|
|
1081 |
);
|
1082 |
}
|
1083 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1084 |
/**
|
1085 |
* Get collection of all active plugins.
|
1086 |
*
|
@@ -1213,12 +1420,16 @@
|
|
1213 |
// Configure which Freemius powered plugins should be auto updated.
|
1214 |
// add_filter( 'auto_update_plugin', '_include_plugins_in_auto_update', 10, 2 );
|
1215 |
|
1216 |
-
add_action( 'admin_menu', array( 'Freemius', '
|
1217 |
|
1218 |
add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) );
|
1219 |
|
1220 |
self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) );
|
1221 |
|
|
|
|
|
|
|
|
|
1222 |
add_action( 'plugins_loaded', array( 'Freemius', '_load_textdomain' ), 1 );
|
1223 |
|
1224 |
self::$_statics_loaded = true;
|
@@ -1241,13 +1452,12 @@
|
|
1241 |
|
1242 |
global $fs_active_plugins;
|
1243 |
|
|
|
1244 |
load_plugin_textdomain(
|
1245 |
'freemius',
|
1246 |
false,
|
1247 |
$fs_active_plugins->newest->sdk_path . '/languages/'
|
1248 |
);
|
1249 |
-
|
1250 |
-
// @todo Load for themes.
|
1251 |
}
|
1252 |
|
1253 |
#endregion
|
@@ -1260,20 +1470,20 @@
|
|
1260 |
* @author Vova Feldman (@svovaf)
|
1261 |
* @since 1.0.8
|
1262 |
*/
|
1263 |
-
static function
|
1264 |
if ( ! current_user_can( 'activate_plugins' ) ) {
|
1265 |
return;
|
1266 |
}
|
1267 |
|
1268 |
self::$_static_logger->entrance();
|
1269 |
|
1270 |
-
$title = sprintf( '%s [v.%s]',
|
1271 |
|
1272 |
$hook = null;
|
1273 |
|
1274 |
if ( WP_FS__DEV_MODE ) {
|
1275 |
// Add top-level debug menu item.
|
1276 |
-
$hook =
|
1277 |
$title,
|
1278 |
$title,
|
1279 |
'manage_options',
|
@@ -1283,7 +1493,7 @@
|
|
1283 |
} else {
|
1284 |
if ( 'freemius' === fs_request_get( 'page' ) ) {
|
1285 |
// Add hidden debug page.
|
1286 |
-
$hook =
|
1287 |
null,
|
1288 |
$title,
|
1289 |
$title,
|
@@ -1304,11 +1514,13 @@
|
|
1304 |
* @since 1.1.7.3
|
1305 |
*/
|
1306 |
static function _toggle_debug_mode() {
|
1307 |
-
|
1308 |
-
|
|
|
|
|
1309 |
|
1310 |
// Turn on/off storage logging.
|
1311 |
-
FS_Logger::_set_storage_logging( ( 1 == $
|
1312 |
}
|
1313 |
|
1314 |
exit;
|
@@ -1320,7 +1532,7 @@
|
|
1320 |
*/
|
1321 |
static function _get_debug_log() {
|
1322 |
$logs = FS_Logger::load_db_logs(
|
1323 |
-
|
1324 |
! empty( $_POST['limit'] ) && is_numeric( $_POST['limit'] ) ? $_POST['limit'] : 200,
|
1325 |
! empty( $_POST['offset'] ) && is_numeric( $_POST['offset'] ) ? $_POST['offset'] : 0
|
1326 |
);
|
@@ -1328,6 +1540,46 @@
|
|
1328 |
self::shoot_ajax_success( $logs );
|
1329 |
}
|
1330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1331 |
/**
|
1332 |
* @author Vova Feldman (@svovaf)
|
1333 |
* @since 1.0.8
|
@@ -1358,7 +1610,7 @@
|
|
1358 |
check_admin_referer( 'download_logs' );
|
1359 |
|
1360 |
$download_url = FS_Logger::download_db_logs(
|
1361 |
-
|
1362 |
);
|
1363 |
|
1364 |
if ( false === $download_url ) {
|
@@ -1376,21 +1628,12 @@
|
|
1376 |
static function _debug_page_render() {
|
1377 |
self::$_static_logger->entrance();
|
1378 |
|
1379 |
-
$sites = self::get_all_sites();
|
1380 |
-
$users = self::get_all_users();
|
1381 |
-
$addons = self::get_all_addons();
|
1382 |
-
$account_addons = self::get_all_account_addons();
|
1383 |
-
$licenses = self::get_all_licenses();
|
1384 |
-
|
1385 |
-
// $plans = self::get_all_plans();
|
1386 |
-
// $licenses = self::get_all_licenses();
|
1387 |
-
|
1388 |
$vars = array(
|
1389 |
-
'sites' =>
|
1390 |
-
'users' =>
|
1391 |
-
'addons' =>
|
1392 |
-
'account_addons' =>
|
1393 |
-
'licenses' =>
|
1394 |
);
|
1395 |
|
1396 |
fs_enqueue_local_style( 'fs_debug', '/admin/debug.css' );
|
@@ -1705,102 +1948,128 @@
|
|
1705 |
) {
|
1706 |
switch ( $api_result->error->code ) {
|
1707 |
case 'curl_missing':
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1708 |
$message = sprintf(
|
1709 |
-
|
1710 |
-
|
|
|
1711 |
' %s',
|
1712 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1713 |
sprintf(
|
1714 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1715 |
sprintf(
|
1716 |
'<a class="fs-resolve" data-type="curl" href="#"><b>%s</b></a>%s',
|
1717 |
-
|
1718 |
' - ' . sprintf(
|
1719 |
-
|
1720 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1721 |
)
|
1722 |
),
|
1723 |
sprintf(
|
1724 |
'<b>%s</b> - %s',
|
1725 |
-
|
1726 |
-
|
1727 |
),
|
1728 |
sprintf(
|
1729 |
'<a href="%s"><b>%s</b></a>%s',
|
1730 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1731 |
-
|
1732 |
-
' - ' .
|
1733 |
)
|
1734 |
)
|
1735 |
);
|
1736 |
break;
|
1737 |
case 'cloudflare_ddos_protection':
|
1738 |
$message = sprintf(
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
' %s',
|
1743 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1744 |
sprintf(
|
1745 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1746 |
sprintf(
|
1747 |
'<a class="fs-resolve" data-type="cloudflare" href="#"><b>%s</b></a>%s',
|
1748 |
-
|
1749 |
' - ' . sprintf(
|
1750 |
-
|
1751 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1752 |
)
|
1753 |
),
|
1754 |
sprintf(
|
1755 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
1756 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
1757 |
-
|
1758 |
-
' - ' .
|
1759 |
),
|
1760 |
sprintf(
|
1761 |
'<a href="%s"><b>%s</b></a>%s',
|
1762 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1763 |
-
|
1764 |
-
' - ' .
|
1765 |
)
|
1766 |
)
|
1767 |
);
|
1768 |
break;
|
1769 |
case 'squid_cache_block':
|
1770 |
$message = sprintf(
|
1771 |
-
|
1772 |
-
|
1773 |
' %s',
|
1774 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1775 |
sprintf(
|
1776 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1777 |
sprintf(
|
1778 |
'<a class="fs-resolve" data-type="squid" href="#"><b>%s</b></a>%s',
|
1779 |
-
|
1780 |
' - ' . sprintf(
|
1781 |
-
|
1782 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1783 |
)
|
1784 |
),
|
1785 |
sprintf(
|
1786 |
'<b>%s</b> - %s',
|
1787 |
-
|
1788 |
sprintf(
|
1789 |
-
|
1790 |
// We use a filter since the plugin might require additional API connectivity.
|
1791 |
'<b>' . implode( ', ', $this->apply_filters( 'api_domains', array( 'api.freemius.com' ) ) ) . '</b>' )
|
1792 |
),
|
1793 |
sprintf(
|
1794 |
'<a href="%s"><b>%s</b></a>%s',
|
1795 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1796 |
-
|
1797 |
-
' - ' .
|
1798 |
)
|
1799 |
)
|
1800 |
);
|
1801 |
break;
|
1802 |
// default:
|
1803 |
-
// $message =
|
1804 |
// break;
|
1805 |
}
|
1806 |
}
|
@@ -1812,21 +2081,21 @@
|
|
1812 |
if ( $is_first_failure ) {
|
1813 |
// First attempt failed.
|
1814 |
$message = sprintf(
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
1818 |
'%s',
|
1819 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1820 |
sprintf(
|
1821 |
'<div id="fs_firewall_issue_options">%s %s</div>',
|
1822 |
sprintf(
|
1823 |
'<a class="button button-primary fs-resolve" data-type="retry_ping" href="#">%s</a>',
|
1824 |
-
|
1825 |
),
|
1826 |
sprintf(
|
1827 |
'<a href="%s" class="button">%s</a>',
|
1828 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1829 |
-
|
1830 |
)
|
1831 |
)
|
1832 |
);
|
@@ -1836,32 +2105,32 @@
|
|
1836 |
} else {
|
1837 |
// Second connectivity attempt failed.
|
1838 |
$message = sprintf(
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
' %s',
|
1843 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1844 |
sprintf(
|
1845 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1846 |
sprintf(
|
1847 |
'<a class="fs-resolve" data-type="general" href="#"><b>%s</b></a>%s',
|
1848 |
-
|
1849 |
' - ' . sprintf(
|
1850 |
-
|
1851 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1852 |
)
|
1853 |
),
|
1854 |
sprintf(
|
1855 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
1856 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
1857 |
-
|
1858 |
-
' - ' .
|
1859 |
),
|
1860 |
sprintf(
|
1861 |
'<a href="%s"><b>%s</b></a>%s',
|
1862 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
1863 |
-
|
1864 |
-
' - ' .
|
1865 |
)
|
1866 |
)
|
1867 |
);
|
@@ -1871,7 +2140,7 @@
|
|
1871 |
$this->_admin_notices->add_sticky(
|
1872 |
$message,
|
1873 |
$message_id,
|
1874 |
-
|
1875 |
$type
|
1876 |
);
|
1877 |
}
|
@@ -1919,7 +2188,7 @@
|
|
1919 |
|
1920 |
// Add 'API Error' custom email section.
|
1921 |
$custom_email_sections['api_error'] = array(
|
1922 |
-
'title' =>
|
1923 |
'rows' => array(
|
1924 |
'ping' => array(
|
1925 |
'API Error',
|
@@ -1938,7 +2207,7 @@
|
|
1938 |
|
1939 |
$this->_admin_notices->add_sticky(
|
1940 |
sprintf(
|
1941 |
-
|
1942 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1943 |
),
|
1944 |
'server_details_sent'
|
@@ -2040,7 +2309,7 @@
|
|
2040 |
$message = fs_get_template( 'email.php', $vars );
|
2041 |
|
2042 |
// Set the type of email to HTML.
|
2043 |
-
$headers[] = 'Content-type: text/html;
|
2044 |
|
2045 |
$header_string = implode( "\r\n", $headers );
|
2046 |
|
@@ -2313,10 +2582,10 @@
|
|
2313 |
|
2314 |
$this->_admin_notices->add(
|
2315 |
( ! empty( $parent_name ) ?
|
2316 |
-
sprintf(
|
2317 |
-
sprintf(
|
2318 |
),
|
2319 |
-
|
2320 |
'error'
|
2321 |
);
|
2322 |
|
@@ -2339,8 +2608,6 @@
|
|
2339 |
$this->deactivate_premium_only_addon_without_license();
|
2340 |
}
|
2341 |
} else {
|
2342 |
-
add_action( 'admin_init', array( &$this, '_admin_init_action' ) );
|
2343 |
-
|
2344 |
if ( $this->has_addons() &&
|
2345 |
'plugin-information' === fs_request_get( 'tab', false ) &&
|
2346 |
$this->get_id() == fs_request_get( 'parent_plugin_id', false )
|
@@ -2351,6 +2618,8 @@
|
|
2351 |
}
|
2352 |
}
|
2353 |
|
|
|
|
|
2354 |
// if ( $this->is_registered() ||
|
2355 |
// $this->is_anonymous() ||
|
2356 |
// $this->is_pending_activation()
|
@@ -2419,6 +2688,10 @@
|
|
2419 |
* @since 1.2.1.5
|
2420 |
*/
|
2421 |
function _stop_tracking_callback() {
|
|
|
|
|
|
|
|
|
2422 |
$result = $this->stop_tracking();
|
2423 |
|
2424 |
if ( true === $result ) {
|
@@ -2428,7 +2701,7 @@
|
|
2428 |
$this->_logger->api_error( $result );
|
2429 |
|
2430 |
self::shoot_ajax_failure(
|
2431 |
-
|
2432 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2433 |
$result->error->message :
|
2434 |
var_export( $result, true ) )
|
@@ -2440,6 +2713,10 @@
|
|
2440 |
* @since 1.2.1.5
|
2441 |
*/
|
2442 |
function _allow_tracking_callback() {
|
|
|
|
|
|
|
|
|
2443 |
$result = $this->allow_tracking();
|
2444 |
|
2445 |
if ( true === $result ) {
|
@@ -2449,7 +2726,7 @@
|
|
2449 |
$this->_logger->api_error( $result );
|
2450 |
|
2451 |
self::shoot_ajax_failure(
|
2452 |
-
|
2453 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2454 |
$result->error->message :
|
2455 |
var_export( $result, true ) )
|
@@ -2641,7 +2918,7 @@
|
|
2641 |
// Set the secret key after storing the plugin, we don't want to store the key in the storage.
|
2642 |
$this->_plugin->secret_key = $secret_key;
|
2643 |
|
2644 |
-
if (! isset( $plugin_info['menu'] )) {
|
2645 |
$plugin_info['menu'] = array();
|
2646 |
|
2647 |
if ( ! empty( $this->_storage->sdk_last_version ) &&
|
@@ -2819,9 +3096,9 @@
|
|
2819 |
) );
|
2820 |
|
2821 |
$this->_admin_notices->add_sticky(
|
2822 |
-
|
2823 |
'premium_activated',
|
2824 |
-
|
2825 |
);
|
2826 |
} else {
|
2827 |
// Remove sticky message related to premium code activation.
|
@@ -2833,11 +3110,11 @@
|
|
2833 |
if ( $this->is_paying() && ! $this->is_premium() ) {
|
2834 |
$this->_admin_notices->add_sticky(
|
2835 |
sprintf(
|
2836 |
-
|
2837 |
$this->_site->plan->title
|
2838 |
) . $this->get_complete_upgrade_instructions(),
|
2839 |
'plan_upgraded',
|
2840 |
-
|
2841 |
);
|
2842 |
}
|
2843 |
}
|
@@ -2875,11 +3152,26 @@
|
|
2875 |
* @since 1.0.6
|
2876 |
*
|
2877 |
* @param string|number $slug_or_id
|
|
|
2878 |
*
|
2879 |
* @return bool
|
2880 |
*/
|
2881 |
-
function is_addon_activated( $slug_or_id ) {
|
2882 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2883 |
}
|
2884 |
|
2885 |
/**
|
@@ -2893,6 +3185,8 @@
|
|
2893 |
* @return bool
|
2894 |
*/
|
2895 |
function is_addon_connected( $slug ) {
|
|
|
|
|
2896 |
$sites = self::get_all_sites();
|
2897 |
|
2898 |
if ( ! isset( $sites[ $slug ] ) ) {
|
@@ -2928,6 +3222,8 @@
|
|
2928 |
* @return bool
|
2929 |
*/
|
2930 |
function is_addon_installed( $slug ) {
|
|
|
|
|
2931 |
return file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $this->get_addon_basename( $slug ) ) );
|
2932 |
}
|
2933 |
|
@@ -2946,13 +3242,13 @@
|
|
2946 |
self::instance( $slug )->get_plugin_basename();
|
2947 |
}
|
2948 |
|
2949 |
-
$premium_basename = $slug
|
2950 |
|
2951 |
if ( file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $premium_basename ) ) ) {
|
2952 |
return $premium_basename;
|
2953 |
}
|
2954 |
|
2955 |
-
$free_basename = $slug
|
2956 |
|
2957 |
return $free_basename;
|
2958 |
}
|
@@ -3062,20 +3358,19 @@
|
|
3062 |
|
3063 |
$this->_parent->_admin_notices->add_sticky(
|
3064 |
sprintf(
|
3065 |
-
|
3066 |
'addon-trial-cancelled-message' :
|
3067 |
-
'addon-no-license-message'
|
3068 |
-
$this->_parent->_slug
|
3069 |
),
|
3070 |
'<b>' . $this->_plugin->title . '</b>'
|
3071 |
) . ' ' . sprintf(
|
3072 |
'<a href="%s" aria-label="%s" class="button button-primary" style="margin-left: 10px; vertical-align: middle;">%s ➜</a>',
|
3073 |
$this->_parent->addon_url( $this->_slug ),
|
3074 |
-
esc_attr( sprintf(
|
3075 |
-
|
3076 |
),
|
3077 |
'no_addon_license_' . $this->_slug,
|
3078 |
-
( $is_after_trial_cancel ? '' :
|
3079 |
( $is_after_trial_cancel ? 'success' : 'error' )
|
3080 |
);
|
3081 |
|
@@ -3195,7 +3490,7 @@
|
|
3195 |
private function run_manual_sync() {
|
3196 |
$this->require_pluggable_essentials();
|
3197 |
|
3198 |
-
if ( !
|
3199 |
return;
|
3200 |
}
|
3201 |
|
@@ -3507,10 +3802,10 @@
|
|
3507 |
|
3508 |
$this->_admin_notices->add_sticky(
|
3509 |
sprintf(
|
3510 |
-
|
3511 |
'<b>' . $this->get_plugin_name() . '</b>',
|
3512 |
'<b>' . $email . '</b>',
|
3513 |
-
|
3514 |
),
|
3515 |
'activation_pending',
|
3516 |
'Thanks!'
|
@@ -3562,15 +3857,15 @@
|
|
3562 |
|
3563 |
if ( ! $this->is_addon() && ! $this->is_registered() && ! $this->is_anonymous() ) {
|
3564 |
if ( ! $this->is_pending_activation() ) {
|
3565 |
-
if ( ! $this->_menu->
|
3566 |
if ( $this->is_plugin_new_install() || $this->is_only_premium() ) {
|
3567 |
// Show notice for new plugin installations.
|
3568 |
$this->_admin_notices->add(
|
3569 |
sprintf(
|
3570 |
-
|
3571 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3572 |
$this->get_activation_url(),
|
3573 |
-
sprintf(
|
3574 |
)
|
3575 |
),
|
3576 |
'',
|
@@ -3583,10 +3878,10 @@
|
|
3583 |
// Show notice for new plugin installations.
|
3584 |
$this->_admin_notices->add_sticky(
|
3585 |
sprintf(
|
3586 |
-
|
3587 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3588 |
$this->get_activation_url(),
|
3589 |
-
sprintf(
|
3590 |
)
|
3591 |
),
|
3592 |
'connect_account',
|
@@ -3816,7 +4111,7 @@
|
|
3816 |
function _activate_plugin_event_hook() {
|
3817 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
3818 |
|
3819 |
-
if ( !
|
3820 |
return;
|
3821 |
}
|
3822 |
|
@@ -3857,8 +4152,8 @@
|
|
3857 |
// If activating the premium module version, add an admin notice to congratulate for an upgrade completion.
|
3858 |
if ( $is_premium_version_activation ) {
|
3859 |
$this->_admin_notices->add(
|
3860 |
-
sprintf(
|
3861 |
-
|
3862 |
);
|
3863 |
}
|
3864 |
} else if ( $this->is_anonymous() ) {
|
@@ -3892,7 +4187,10 @@
|
|
3892 |
$this->_storage->is_plugin_new_install = empty( $this->_storage->plugin_last_version );
|
3893 |
}
|
3894 |
|
3895 |
-
if ( ! $this->_anonymous_mode &&
|
|
|
|
|
|
|
3896 |
// Store hint that the plugin was just activated to enable auto-redirection to settings.
|
3897 |
add_option( "fs_{$this->_slug}_activated", true );
|
3898 |
}
|
@@ -3919,7 +4217,7 @@
|
|
3919 |
function delete_account_event( $check_user = true ) {
|
3920 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
3921 |
|
3922 |
-
if ( $check_user && !
|
3923 |
return;
|
3924 |
}
|
3925 |
|
@@ -4644,8 +4942,8 @@
|
|
4644 |
*
|
4645 |
* @return string
|
4646 |
*/
|
4647 |
-
|
4648 |
-
return
|
4649 |
}
|
4650 |
|
4651 |
/**
|
@@ -4755,6 +5053,16 @@
|
|
4755 |
return $this->_slug;
|
4756 |
}
|
4757 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4758 |
/**
|
4759 |
* @author Vova Feldman (@svovaf)
|
4760 |
* @since 1.0.1
|
@@ -4866,6 +5174,20 @@
|
|
4866 |
return $this->apply_filters( 'plugin_version', $plugin_data['Version'] );
|
4867 |
}
|
4868 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4869 |
/**
|
4870 |
* @author Vova Feldman (@svovaf)
|
4871 |
* @since 1.0.4
|
@@ -5040,7 +5362,13 @@
|
|
5040 |
}
|
5041 |
|
5042 |
/**
|
5043 |
-
* Check if user
|
|
|
|
|
|
|
|
|
|
|
|
|
5044 |
*
|
5045 |
* @author Vova Feldman (@svovaf)
|
5046 |
* @since 1.0.1
|
@@ -5682,6 +6010,27 @@
|
|
5682 |
return ( $current_plan_order > $required_plan_order );
|
5683 |
}
|
5684 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5685 |
/**
|
5686 |
* Check if plan based on trial. If not in trial mode, should return false.
|
5687 |
*
|
@@ -5822,7 +6171,7 @@
|
|
5822 |
* @since 1.2.0
|
5823 |
*/
|
5824 |
function _add_license_activation() {
|
5825 |
-
if ( !
|
5826 |
// Only admins can activate a license.
|
5827 |
return;
|
5828 |
}
|
@@ -5857,36 +6206,43 @@
|
|
5857 |
* @since 1.1.9
|
5858 |
*/
|
5859 |
function _activate_license_ajax_action() {
|
|
|
|
|
|
|
|
|
5860 |
$license_key = trim( fs_request_get( 'license_key' ) );
|
5861 |
|
5862 |
if ( empty( $license_key ) ) {
|
5863 |
exit;
|
5864 |
}
|
5865 |
|
5866 |
-
$slug
|
5867 |
-
$fs
|
|
|
|
|
|
|
5868 |
$error = false;
|
5869 |
$next_page = false;
|
5870 |
|
5871 |
-
if ( $
|
5872 |
$api = $fs->get_api_site_scope();
|
5873 |
$install = $api->call( '/', 'put', array(
|
5874 |
-
'license_key' => $
|
5875 |
) );
|
5876 |
|
5877 |
if ( isset( $install->error ) ) {
|
5878 |
$error = $install->error->message;
|
5879 |
} else {
|
5880 |
-
$
|
5881 |
-
$
|
5882 |
-
$
|
5883 |
|
5884 |
-
$next_page = $
|
5885 |
|
5886 |
-
$
|
5887 |
}
|
5888 |
} else {
|
5889 |
-
$next_page = $
|
5890 |
|
5891 |
if ( isset( $next_page->error ) ) {
|
5892 |
$error = $next_page->error;
|
@@ -5915,9 +6271,11 @@
|
|
5915 |
* @since 1.2.1.5
|
5916 |
*/
|
5917 |
function _update_billing_ajax_action() {
|
5918 |
-
|
5919 |
|
5920 |
-
|
|
|
|
|
5921 |
// Only for admins.
|
5922 |
self::shoot_ajax_failure();
|
5923 |
}
|
@@ -5946,9 +6304,11 @@
|
|
5946 |
* @since 1.2.1.5
|
5947 |
*/
|
5948 |
function _start_trial_ajax_action() {
|
5949 |
-
|
5950 |
|
5951 |
-
|
|
|
|
|
5952 |
// Only for admins.
|
5953 |
self::shoot_ajax_failure();
|
5954 |
}
|
@@ -5982,11 +6342,12 @@
|
|
5982 |
* @since 1.2.0
|
5983 |
*/
|
5984 |
function _resend_license_key_ajax_action() {
|
5985 |
-
|
5986 |
-
|
5987 |
-
|
|
|
|
|
5988 |
|
5989 |
-
$email_address = trim( $_POST['email'] );
|
5990 |
if ( empty( $email_address ) ) {
|
5991 |
exit;
|
5992 |
}
|
@@ -6005,9 +6366,9 @@
|
|
6005 |
$error = $result->error;
|
6006 |
|
6007 |
if ( in_array( $error->code, array( 'invalid_email', 'no_user' ) ) ) {
|
6008 |
-
$error =
|
6009 |
} else if ( 'no_license' === $error->code ) {
|
6010 |
-
$error =
|
6011 |
} else {
|
6012 |
$error = $error->message;
|
6013 |
}
|
@@ -6018,7 +6379,7 @@
|
|
6018 |
);
|
6019 |
|
6020 |
if ( false !== $error ) {
|
6021 |
-
$licenses['error'] = sprintf( '%s... %s',
|
6022 |
}
|
6023 |
|
6024 |
echo json_encode( $licenses );
|
@@ -6034,12 +6395,26 @@
|
|
6034 |
*
|
6035 |
* @return bool
|
6036 |
*/
|
6037 |
-
|
6038 |
global $pagenow;
|
6039 |
|
6040 |
return ( 'plugins.php' === $pagenow );
|
6041 |
}
|
6042 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6043 |
#----------------------------------------------------------------------------------
|
6044 |
#region URL Generators
|
6045 |
#----------------------------------------------------------------------------------
|
@@ -6218,6 +6593,18 @@
|
|
6218 |
return $this->_is_premium_only;
|
6219 |
}
|
6220 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6221 |
/**
|
6222 |
* Check if module has a premium code version.
|
6223 |
*
|
@@ -6344,7 +6731,7 @@
|
|
6344 |
$ajax_action = fs_request_get( 'action' );
|
6345 |
|
6346 |
foreach ( $actions as $action ) {
|
6347 |
-
if ( $ajax_action === self::
|
6348 |
return true;
|
6349 |
}
|
6350 |
}
|
@@ -6405,44 +6792,67 @@
|
|
6405 |
}
|
6406 |
}
|
6407 |
|
6408 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6409 |
$parent_slug = $this->_menu->get_parent_slug();
|
6410 |
$menu_file = ( false !== strpos( $parent_slug, '.php' ) ) ?
|
6411 |
$parent_slug :
|
6412 |
'admin.php';
|
6413 |
|
6414 |
return add_query_arg( array_merge( $params, array(
|
6415 |
-
'page' => $
|
6416 |
) ), admin_url( $menu_file, 'admin' ) );
|
6417 |
}
|
6418 |
|
|
|
6419 |
if ( $this->_menu->is_cpt() ) {
|
6420 |
if ( empty( $page ) && $this->is_activation_mode() ) {
|
6421 |
return add_query_arg( array_merge( $params, array(
|
6422 |
-
'page' => $
|
6423 |
) ), admin_url( 'admin.php', 'admin' ) );
|
6424 |
} else {
|
6425 |
if ( ! empty( $page ) ) {
|
6426 |
-
$params['page'] = $
|
6427 |
}
|
6428 |
|
6429 |
-
return add_query_arg(
|
|
|
|
|
|
|
6430 |
}
|
6431 |
-
} else {
|
6432 |
-
/**
|
6433 |
-
* @author Vova Feldman
|
6434 |
-
* @since 1.2.1.6
|
6435 |
-
*
|
6436 |
-
* If module doesn't have a settings page, create one for the opt-in screen.
|
6437 |
-
*/
|
6438 |
-
$menu_slug = $this->_menu->has_menu_slug() ?
|
6439 |
-
$this->_menu->get_slug( $page ) :
|
6440 |
-
$this->_slug;
|
6441 |
-
|
6442 |
-
return add_query_arg( array_merge( $params, array(
|
6443 |
-
'page' => $menu_slug,
|
6444 |
-
) ), admin_url( 'admin.php', 'admin' ) );
|
6445 |
}
|
|
|
|
|
|
|
|
|
|
|
6446 |
}
|
6447 |
|
6448 |
/**
|
@@ -6453,12 +6863,11 @@
|
|
6453 |
*
|
6454 |
* @param bool|number $plugin_id
|
6455 |
* @param bool $add_action_nonce
|
|
|
6456 |
*
|
6457 |
* @return string
|
6458 |
*/
|
6459 |
-
function _get_sync_license_url( $plugin_id = false, $add_action_nonce = true ) {
|
6460 |
-
$params = array();
|
6461 |
-
|
6462 |
if ( is_numeric( $plugin_id ) ) {
|
6463 |
$params['plugin_id'] = $plugin_id;
|
6464 |
}
|
@@ -6584,20 +6993,52 @@
|
|
6584 |
|
6585 |
/* Security
|
6586 |
------------------------------------------------------------------------------------------------------------------*/
|
6587 |
-
private function _encrypt( $str ) {
|
6588 |
if ( is_null( $str ) ) {
|
6589 |
return null;
|
6590 |
}
|
6591 |
|
6592 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6593 |
}
|
6594 |
|
6595 |
-
|
6596 |
if ( is_null( $str ) ) {
|
6597 |
return null;
|
6598 |
}
|
6599 |
|
6600 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6601 |
}
|
6602 |
|
6603 |
/**
|
@@ -6608,12 +7049,12 @@
|
|
6608 |
*
|
6609 |
* @return FS_Entity Return an encrypted clone entity.
|
6610 |
*/
|
6611 |
-
private function _encrypt_entity( FS_Entity $entity ) {
|
6612 |
$clone = clone $entity;
|
6613 |
$props = get_object_vars( $entity );
|
6614 |
|
6615 |
foreach ( $props as $key => $val ) {
|
6616 |
-
$clone->{$key} =
|
6617 |
}
|
6618 |
|
6619 |
return $clone;
|
@@ -6627,12 +7068,12 @@
|
|
6627 |
*
|
6628 |
* @return FS_Entity Return an decrypted clone entity.
|
6629 |
*/
|
6630 |
-
private function _decrypt_entity( FS_Entity $entity ) {
|
6631 |
$clone = clone $entity;
|
6632 |
$props = get_object_vars( $entity );
|
6633 |
|
6634 |
foreach ( $props as $key => $val ) {
|
6635 |
-
$clone->{$key} =
|
6636 |
}
|
6637 |
|
6638 |
return $clone;
|
@@ -6750,7 +7191,7 @@
|
|
6750 |
) {
|
6751 |
// Load site.
|
6752 |
$this->_site = clone $site;
|
6753 |
-
$this->_site->plan =
|
6754 |
|
6755 |
// Load relevant user.
|
6756 |
$this->_user = clone $users[ $this->_site->user_id ];
|
@@ -6762,7 +7203,7 @@
|
|
6762 |
} else {
|
6763 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
6764 |
if ( $this->_plans[ $i ] instanceof FS_Plugin_Plan ) {
|
6765 |
-
$this->_plans[ $i ] =
|
6766 |
} else {
|
6767 |
unset( $this->_plans[ $i ] );
|
6768 |
}
|
@@ -7071,10 +7512,18 @@
|
|
7071 |
* @param FS_User $user
|
7072 |
* @param FS_Site $site
|
7073 |
* @param bool $redirect
|
|
|
|
|
|
|
7074 |
*
|
7075 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7076 |
*/
|
7077 |
-
function setup_account(
|
|
|
|
|
|
|
|
|
|
|
7078 |
$this->_user = $user;
|
7079 |
$this->_site = $site;
|
7080 |
|
@@ -7109,7 +7558,7 @@
|
|
7109 |
|
7110 |
if ( ! $this->is_paying_or_trial() ) {
|
7111 |
$this->_admin_notices->add_sticky(
|
7112 |
-
sprintf(
|
7113 |
'activation_complete'
|
7114 |
);
|
7115 |
}
|
@@ -7120,20 +7569,20 @@
|
|
7120 |
if ( $this->is_paying() ) {
|
7121 |
$this->_admin_notices->add_sticky(
|
7122 |
sprintf(
|
7123 |
-
|
7124 |
$this->_site->plan->title
|
7125 |
) . $this->get_complete_upgrade_instructions(),
|
7126 |
'plan_upgraded',
|
7127 |
-
|
7128 |
);
|
7129 |
} else {
|
7130 |
$this->_admin_notices->add_sticky(
|
7131 |
sprintf(
|
7132 |
-
|
7133 |
'<i>' . $this->get_plugin_name() . '</i>'
|
7134 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
7135 |
'trial_started',
|
7136 |
-
|
7137 |
);
|
7138 |
}
|
7139 |
}
|
@@ -7152,6 +7601,11 @@
|
|
7152 |
|
7153 |
$next_page = '';
|
7154 |
|
|
|
|
|
|
|
|
|
|
|
7155 |
if ( is_numeric( $plugin_id ) ) {
|
7156 |
/**
|
7157 |
* @author Leo Fajardo
|
@@ -7161,7 +7615,7 @@
|
|
7161 |
*/
|
7162 |
if ( $this->is_anonymous() || $plugin_id != $this->_plugin->id ) {
|
7163 |
// Add-on was installed - sync license right after install.
|
7164 |
-
$next_page = $this->_get_sync_license_url( $plugin_id );
|
7165 |
}
|
7166 |
} else {
|
7167 |
/**
|
@@ -7175,7 +7629,7 @@
|
|
7175 |
// Reload the page with the keys.
|
7176 |
$next_page = $this->is_anonymous() ?
|
7177 |
// If user previously skipped, redirect to account page.
|
7178 |
-
$this->get_account_url() :
|
7179 |
$this->get_after_activation_url( 'after_connect_url' );
|
7180 |
}
|
7181 |
|
@@ -7209,7 +7663,9 @@
|
|
7209 |
fs_request_get( 'user_secret_key' ),
|
7210 |
fs_request_get( 'install_id' ),
|
7211 |
fs_request_get( 'install_public_key' ),
|
7212 |
-
fs_request_get( 'install_secret_key' )
|
|
|
|
|
7213 |
);
|
7214 |
} else if ( fs_request_has( 'pending_activation' ) ) {
|
7215 |
$this->set_pending_confirmation( fs_request_get( 'user_email' ), true );
|
@@ -7230,6 +7686,9 @@
|
|
7230 |
* @param string $install_public_key
|
7231 |
* @param string $install_secret_key
|
7232 |
* @param bool $redirect
|
|
|
|
|
|
|
7233 |
*
|
7234 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7235 |
*/
|
@@ -7240,7 +7699,8 @@
|
|
7240 |
$install_id,
|
7241 |
$install_public_key,
|
7242 |
$install_secret_key,
|
7243 |
-
$redirect = true
|
|
|
7244 |
) {
|
7245 |
$user = new FS_User();
|
7246 |
$user->id = $user_id;
|
@@ -7262,7 +7722,12 @@
|
|
7262 |
$site = new FS_Site( $site_result );
|
7263 |
$this->_site = $site;
|
7264 |
|
7265 |
-
return $this->setup_account(
|
|
|
|
|
|
|
|
|
|
|
7266 |
}
|
7267 |
|
7268 |
/**
|
@@ -7399,9 +7864,9 @@
|
|
7399 |
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
7400 |
|
7401 |
$this->_admin_notices->add(
|
7402 |
-
sprintf(
|
7403 |
-
|
7404 |
-
|
7405 |
'error'
|
7406 |
);
|
7407 |
|
@@ -7443,9 +7908,9 @@
|
|
7443 |
|
7444 |
if ( isset( $addon_install->error ) ) {
|
7445 |
$this->_admin_notices->add(
|
7446 |
-
sprintf(
|
7447 |
-
|
7448 |
-
|
7449 |
'error'
|
7450 |
);
|
7451 |
|
@@ -7529,6 +7994,8 @@
|
|
7529 |
fs_request_is_action( $this->_slug . '_activate_new' )
|
7530 |
) {
|
7531 |
$this->_install_with_new_user();
|
|
|
|
|
7532 |
}
|
7533 |
}
|
7534 |
}
|
@@ -7568,9 +8035,9 @@
|
|
7568 |
|
7569 |
$hook = false;
|
7570 |
|
7571 |
-
if ( ! $this->_menu->
|
7572 |
// Add the opt-in page without a menu item.
|
7573 |
-
$hook =
|
7574 |
null,
|
7575 |
$this->get_plugin_name(),
|
7576 |
$this->get_plugin_name(),
|
@@ -7583,7 +8050,7 @@
|
|
7583 |
|
7584 |
if ( false === $hook ) {
|
7585 |
// Create new menu item just for the opt-in.
|
7586 |
-
$hook =
|
7587 |
$this->get_plugin_name(),
|
7588 |
$this->get_plugin_name(),
|
7589 |
'manage_options',
|
@@ -7595,28 +8062,9 @@
|
|
7595 |
$menus = array( $this->_menu->get_parent_slug() );
|
7596 |
|
7597 |
if ( $this->_menu->is_override_exact() ) {
|
7598 |
-
|
7599 |
-
$activation_url = strtolower( $this->get_activation_url() );
|
7600 |
-
$request_url = strtolower( $_SERVER['REQUEST_URI'] );
|
7601 |
-
|
7602 |
-
if ( parse_url( $activation_url, PHP_URL_PATH ) !== parse_url( $request_url, PHP_URL_PATH ) ) {
|
7603 |
-
// Different path - DO NOT OVERRIDE PAGE.
|
7604 |
return;
|
7605 |
}
|
7606 |
-
|
7607 |
-
$activation_url_params = array();
|
7608 |
-
parse_str( parse_url( $activation_url, PHP_URL_QUERY ), $activation_url_params );
|
7609 |
-
|
7610 |
-
$request_url_params = array();
|
7611 |
-
parse_str( parse_url( $request_url, PHP_URL_QUERY ), $request_url_params );
|
7612 |
-
|
7613 |
-
|
7614 |
-
foreach ( $activation_url_params as $key => $val ) {
|
7615 |
-
if ( ! isset( $request_url_params[ $key ] ) || $val != $request_url_params[ $key ] ) {
|
7616 |
-
// Not matching query string - DO NOT OVERRIDE PAGE.
|
7617 |
-
return;
|
7618 |
-
}
|
7619 |
-
}
|
7620 |
}
|
7621 |
|
7622 |
foreach ( $menus as $parent_slug ) {
|
@@ -7633,7 +8081,7 @@
|
|
7633 |
}
|
7634 |
}
|
7635 |
|
7636 |
-
if ( $this->
|
7637 |
// Clean admin page from distracting content.
|
7638 |
self::_clean_admin_content_section();
|
7639 |
}
|
@@ -7697,43 +8145,50 @@
|
|
7697 |
if ( $this->is_registered() ) {
|
7698 |
// Add user account page.
|
7699 |
$this->add_submenu_item(
|
7700 |
-
|
7701 |
array( &$this, '_account_page_render' ),
|
7702 |
-
$this->get_plugin_name() . ' – ' .
|
7703 |
'manage_options',
|
7704 |
'account',
|
7705 |
array( &$this, '_account_page_load' ),
|
7706 |
WP_FS__DEFAULT_PRIORITY,
|
7707 |
-
$this->
|
7708 |
);
|
7709 |
}
|
7710 |
|
7711 |
// Add contact page.
|
7712 |
$this->add_submenu_item(
|
7713 |
-
|
7714 |
array( &$this, '_contact_page_render' ),
|
7715 |
-
$this->get_plugin_name() . ' – ' .
|
7716 |
'manage_options',
|
7717 |
'contact',
|
7718 |
'Freemius::_clean_admin_content_section',
|
7719 |
WP_FS__DEFAULT_PRIORITY,
|
7720 |
-
$this->
|
7721 |
);
|
7722 |
|
7723 |
if ( $this->has_addons() ) {
|
7724 |
$this->add_submenu_item(
|
7725 |
-
|
7726 |
array( &$this, '_addons_page_render' ),
|
7727 |
-
$this->get_plugin_name() . ' – ' .
|
7728 |
'manage_options',
|
7729 |
'addons',
|
7730 |
array( &$this, '_addons_page_load' ),
|
7731 |
WP_FS__LOWEST_PRIORITY - 1,
|
7732 |
-
$this->
|
7733 |
);
|
7734 |
}
|
7735 |
|
7736 |
-
$show_pricing = (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7737 |
// If user don't have paid plans, add pricing page
|
7738 |
// to support add-ons checkout but don't add the submenu item.
|
7739 |
// || (isset( $_GET['page'] ) && $this->_menu->get_slug( 'pricing' ) == $_GET['page']);
|
@@ -7755,9 +8210,9 @@
|
|
7755 |
|
7756 |
// Add upgrade/pricing page.
|
7757 |
$this->add_submenu_item(
|
7758 |
-
|
7759 |
array( &$this, '_pricing_page_render' ),
|
7760 |
-
$this->get_plugin_name() . ' – ' .
|
7761 |
'manage_options',
|
7762 |
'pricing',
|
7763 |
'Freemius::_clean_admin_content_section',
|
@@ -7814,7 +8269,7 @@
|
|
7814 |
$menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
|
7815 |
|
7816 |
if ( ! isset( $item['url'] ) ) {
|
7817 |
-
$hook =
|
7818 |
$item['show_submenu'] ?
|
7819 |
$this->get_top_level_menu_slug() :
|
7820 |
null,
|
@@ -7829,7 +8284,7 @@
|
|
7829 |
add_action( "load-$hook", $item['before_render_function'] );
|
7830 |
}
|
7831 |
} else {
|
7832 |
-
|
7833 |
$this->get_top_level_menu_slug(),
|
7834 |
$item['page_title'],
|
7835 |
$menu_item,
|
@@ -7922,9 +8377,9 @@
|
|
7922 |
}
|
7923 |
|
7924 |
if ( ! $this->is_activation_mode() ) {
|
7925 |
-
if ( $this->
|
7926 |
$this->add_submenu_link_item(
|
7927 |
-
$this->apply_filters( 'support_forum_submenu',
|
7928 |
$this->apply_filters( 'support_forum_url', 'https://wordpress.org/support/plugin/' . $this->_slug ),
|
7929 |
'wp-support-forum',
|
7930 |
null,
|
@@ -8050,8 +8505,10 @@
|
|
8050 |
|
8051 |
#endregion ------------------------------------------------------------------
|
8052 |
|
8053 |
-
|
8054 |
-
|
|
|
|
|
8055 |
/**
|
8056 |
* @author Vova Feldman (@svovaf)
|
8057 |
* @since 1.1.7
|
@@ -8085,8 +8542,30 @@
|
|
8085 |
*
|
8086 |
* @return string
|
8087 |
*/
|
8088 |
-
|
8089 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8090 |
}
|
8091 |
|
8092 |
/**
|
@@ -8098,8 +8577,14 @@
|
|
8098 |
*
|
8099 |
* @return string
|
8100 |
*/
|
8101 |
-
private static function
|
8102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
8103 |
}
|
8104 |
|
8105 |
/**
|
@@ -8138,7 +8623,12 @@
|
|
8138 |
*
|
8139 |
* @uses add_action()
|
8140 |
*/
|
8141 |
-
function add_action(
|
|
|
|
|
|
|
|
|
|
|
8142 |
$this->_logger->entrance( $tag );
|
8143 |
|
8144 |
add_action( $this->get_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
|
@@ -8201,7 +8691,7 @@
|
|
8201 |
}
|
8202 |
|
8203 |
add_action(
|
8204 |
-
self::
|
8205 |
$function_to_add,
|
8206 |
$priority,
|
8207 |
0
|
@@ -8313,6 +8803,8 @@
|
|
8313 |
return has_filter( $this->get_action_tag( $tag ), $function_to_check );
|
8314 |
}
|
8315 |
|
|
|
|
|
8316 |
/**
|
8317 |
* Override default i18n text phrases.
|
8318 |
*
|
@@ -8347,7 +8839,7 @@
|
|
8347 |
}
|
8348 |
|
8349 |
$encrypted_site = clone $this->_site;
|
8350 |
-
$encrypted_site->plan =
|
8351 |
|
8352 |
$sites = self::get_all_sites();
|
8353 |
$sites[ $this->_slug ] = $encrypted_site;
|
@@ -8370,7 +8862,7 @@
|
|
8370 |
// Copy plans.
|
8371 |
$encrypted_plans = array();
|
8372 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
8373 |
-
$encrypted_plans[] =
|
8374 |
}
|
8375 |
|
8376 |
$plans[ $this->_slug ] = $encrypted_plans;
|
@@ -8549,7 +9041,7 @@
|
|
8549 |
$this->_user->last = $user->last;
|
8550 |
$this->_user->email = $user->email;
|
8551 |
|
8552 |
-
$is_menu_item_account_visible = $this->
|
8553 |
|
8554 |
if ( $user->is_verified &&
|
8555 |
( ! isset( $this->_user->is_verified ) || false === $this->_user->is_verified )
|
@@ -8559,8 +9051,8 @@
|
|
8559 |
$this->do_action( 'account_email_verified', $user->email );
|
8560 |
|
8561 |
$this->_admin_notices->add(
|
8562 |
-
|
8563 |
-
|
8564 |
'success',
|
8565 |
// Make admin sticky if account menu item is invisible,
|
8566 |
// since the page will be auto redirected to the plugin's
|
@@ -8813,7 +9305,7 @@
|
|
8813 |
$plugin_id = $this->_plugin->id;
|
8814 |
}
|
8815 |
|
8816 |
-
$result = $api->get( "/plugins/{$plugin_id}/payments.json", true );
|
8817 |
|
8818 |
if ( ! isset( $result->error ) ) {
|
8819 |
for ( $i = 0, $len = count( $result->payments ); $i < $len; $i ++ ) {
|
@@ -8990,6 +9482,20 @@
|
|
8990 |
return $this->is_trial() || $this->has_features_enabled_license();
|
8991 |
}
|
8992 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8993 |
/**
|
8994 |
* Sync site's plan.
|
8995 |
*
|
@@ -9073,22 +9579,22 @@
|
|
9073 |
$this->_admin_notices->add_sticky(
|
9074 |
FS_Plan_Manager::instance()->has_free_plan( $plans ) ?
|
9075 |
sprintf(
|
9076 |
-
|
9077 |
$addon->title
|
9078 |
) . ' ' . $this->get_latest_download_link(
|
9079 |
-
|
9080 |
$addon_id
|
9081 |
)
|
9082 |
:
|
9083 |
sprintf(
|
9084 |
-
|
9085 |
$addon->title
|
9086 |
) . ' ' . $this->get_latest_download_link(
|
9087 |
-
|
9088 |
$addon_id
|
9089 |
),
|
9090 |
'addon_plan_upgraded_' . $addon->slug,
|
9091 |
-
|
9092 |
);
|
9093 |
}
|
9094 |
}
|
@@ -9133,11 +9639,11 @@
|
|
9133 |
if ( ! self::$_global_admin_notices->has_sticky( 'api_blocked' ) ) {
|
9134 |
self::$_global_admin_notices->add(
|
9135 |
sprintf(
|
9136 |
-
|
9137 |
$this->get_plugin_name(),
|
9138 |
'<a href="' . $api->get_url() . '" target="_blank">' . $api->get_url() . '</a>'
|
9139 |
-
) . '<br> ' .
|
9140 |
-
|
9141 |
'error',
|
9142 |
$background,
|
9143 |
false,
|
@@ -9147,8 +9653,8 @@
|
|
9147 |
} else {
|
9148 |
// Authentication params are broken.
|
9149 |
$this->_admin_notices->add(
|
9150 |
-
|
9151 |
-
|
9152 |
'error'
|
9153 |
);
|
9154 |
}
|
@@ -9275,19 +9781,19 @@
|
|
9275 |
if ( $plan->is_free() ) {
|
9276 |
$this->_admin_notices->add(
|
9277 |
sprintf(
|
9278 |
-
|
9279 |
-
'<i><b>' . $plan->title . ( $this->is_trial() ? ' ' .
|
9280 |
) . ' ' . sprintf(
|
9281 |
'<a href="%s">%s</a>',
|
9282 |
$this->contact_url(
|
9283 |
'bug',
|
9284 |
-
sprintf(
|
9285 |
strtoupper( $plan->name )
|
9286 |
)
|
9287 |
),
|
9288 |
-
|
9289 |
),
|
9290 |
-
|
9291 |
);
|
9292 |
}
|
9293 |
}
|
@@ -9295,11 +9801,11 @@
|
|
9295 |
case 'upgraded':
|
9296 |
$this->_admin_notices->add_sticky(
|
9297 |
sprintf(
|
9298 |
-
|
9299 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9300 |
) . $this->get_complete_upgrade_instructions(),
|
9301 |
'plan_upgraded',
|
9302 |
-
|
9303 |
);
|
9304 |
|
9305 |
$this->_admin_notices->remove_sticky( array(
|
@@ -9312,7 +9818,7 @@
|
|
9312 |
case 'changed':
|
9313 |
$this->_admin_notices->add_sticky(
|
9314 |
sprintf(
|
9315 |
-
|
9316 |
$this->_site->plan->title
|
9317 |
),
|
9318 |
'plan_changed'
|
@@ -9327,41 +9833,41 @@
|
|
9327 |
break;
|
9328 |
case 'downgraded':
|
9329 |
$this->_admin_notices->add_sticky(
|
9330 |
-
sprintf(
|
9331 |
'license_expired',
|
9332 |
-
|
9333 |
);
|
9334 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9335 |
break;
|
9336 |
case 'cancelled':
|
9337 |
$this->_admin_notices->add(
|
9338 |
-
|
9339 |
sprintf(
|
9340 |
'<a href="%s">%s</a>',
|
9341 |
$this->contact_url( 'bug' ),
|
9342 |
-
|
9343 |
),
|
9344 |
-
|
9345 |
'error'
|
9346 |
);
|
9347 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9348 |
break;
|
9349 |
case 'expired':
|
9350 |
$this->_admin_notices->add_sticky(
|
9351 |
-
sprintf(
|
9352 |
'license_expired',
|
9353 |
-
|
9354 |
);
|
9355 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9356 |
break;
|
9357 |
case 'trial_started':
|
9358 |
$this->_admin_notices->add_sticky(
|
9359 |
sprintf(
|
9360 |
-
|
9361 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9362 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
9363 |
'trial_started',
|
9364 |
-
|
9365 |
);
|
9366 |
|
9367 |
$this->_admin_notices->remove_sticky( array(
|
@@ -9370,9 +9876,9 @@
|
|
9370 |
break;
|
9371 |
case 'trial_expired':
|
9372 |
$this->_admin_notices->add_sticky(
|
9373 |
-
|
9374 |
'trial_expired',
|
9375 |
-
|
9376 |
);
|
9377 |
$this->_admin_notices->remove_sticky( array(
|
9378 |
'trial_started',
|
@@ -9440,16 +9946,16 @@
|
|
9440 |
if ( ! $background ) {
|
9441 |
$this->_admin_notices->add( sprintf(
|
9442 |
'%s %s',
|
9443 |
-
|
9444 |
( is_object( $license ) && isset( $license->error ) ?
|
9445 |
$license->error->message :
|
9446 |
sprintf( '%s<br><code>%s</code>',
|
9447 |
-
|
9448 |
var_export( $license, true )
|
9449 |
)
|
9450 |
)
|
9451 |
),
|
9452 |
-
|
9453 |
'error'
|
9454 |
);
|
9455 |
}
|
@@ -9471,10 +9977,10 @@
|
|
9471 |
|
9472 |
if ( ! $background ) {
|
9473 |
$this->_admin_notices->add_sticky(
|
9474 |
-
|
9475 |
$this->get_complete_upgrade_instructions(),
|
9476 |
'license_activated',
|
9477 |
-
|
9478 |
);
|
9479 |
}
|
9480 |
|
@@ -9495,8 +10001,8 @@
|
|
9495 |
|
9496 |
if ( ! is_object( $this->_license ) ) {
|
9497 |
$this->_admin_notices->add(
|
9498 |
-
sprintf(
|
9499 |
-
|
9500 |
);
|
9501 |
|
9502 |
return;
|
@@ -9507,9 +10013,9 @@
|
|
9507 |
|
9508 |
if ( isset( $license->error ) ) {
|
9509 |
$this->_admin_notices->add(
|
9510 |
-
|
9511 |
-
|
9512 |
-
|
9513 |
'error'
|
9514 |
);
|
9515 |
|
@@ -9534,8 +10040,8 @@
|
|
9534 |
|
9535 |
if ( $show_notice ) {
|
9536 |
$this->_admin_notices->add(
|
9537 |
-
sprintf(
|
9538 |
-
|
9539 |
);
|
9540 |
}
|
9541 |
|
@@ -9583,7 +10089,7 @@
|
|
9583 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9584 |
|
9585 |
$this->_admin_notices->add(
|
9586 |
-
sprintf(
|
9587 |
$plan->title,
|
9588 |
human_time_diff( time(), strtotime( $this->_license->expiration ) )
|
9589 |
)
|
@@ -9593,8 +10099,8 @@
|
|
9593 |
$this->_store_site();
|
9594 |
} else {
|
9595 |
$this->_admin_notices->add(
|
9596 |
-
|
9597 |
-
|
9598 |
'error'
|
9599 |
);
|
9600 |
}
|
@@ -9614,8 +10120,8 @@
|
|
9614 |
if ( $this->is_trial() ) {
|
9615 |
// Already in trial mode.
|
9616 |
$this->_admin_notices->add(
|
9617 |
-
|
9618 |
-
|
9619 |
'error'
|
9620 |
);
|
9621 |
|
@@ -9625,8 +10131,8 @@
|
|
9625 |
if ( $this->_site->is_trial_utilized() ) {
|
9626 |
// Trial was already utilized.
|
9627 |
$this->_admin_notices->add(
|
9628 |
-
|
9629 |
-
|
9630 |
'error'
|
9631 |
);
|
9632 |
|
@@ -9639,8 +10145,8 @@
|
|
9639 |
if ( false === $plan ) {
|
9640 |
// Plan doesn't exist.
|
9641 |
$this->_admin_notices->add(
|
9642 |
-
sprintf(
|
9643 |
-
|
9644 |
'error'
|
9645 |
);
|
9646 |
|
@@ -9650,8 +10156,8 @@
|
|
9650 |
if ( ! $plan->has_trial() ) {
|
9651 |
// Plan doesn't exist.
|
9652 |
$this->_admin_notices->add(
|
9653 |
-
sprintf(
|
9654 |
-
|
9655 |
'error'
|
9656 |
);
|
9657 |
|
@@ -9661,8 +10167,8 @@
|
|
9661 |
if ( ! $this->has_trial_plan() ) {
|
9662 |
// None of the plans have a trial.
|
9663 |
$this->_admin_notices->add(
|
9664 |
-
|
9665 |
-
|
9666 |
'error'
|
9667 |
);
|
9668 |
|
@@ -9680,8 +10186,8 @@
|
|
9680 |
if ( ! $this->is_api_result_entity( $plan ) ) {
|
9681 |
// Some API error while trying to start the trial.
|
9682 |
$this->_admin_notices->add(
|
9683 |
-
|
9684 |
-
|
9685 |
'error'
|
9686 |
);
|
9687 |
|
@@ -9707,8 +10213,8 @@
|
|
9707 |
|
9708 |
if ( ! $this->is_trial() ) {
|
9709 |
$this->_admin_notices->add(
|
9710 |
-
|
9711 |
-
|
9712 |
'error'
|
9713 |
);
|
9714 |
|
@@ -9758,7 +10264,7 @@
|
|
9758 |
! $this->deactivate_premium_only_addon_without_license( true )
|
9759 |
) {
|
9760 |
$this->_admin_notices->add(
|
9761 |
-
sprintf(
|
9762 |
);
|
9763 |
}
|
9764 |
|
@@ -9766,8 +10272,8 @@
|
|
9766 |
unset( $this->_storage->trial_plan );
|
9767 |
} else {
|
9768 |
$this->_admin_notices->add(
|
9769 |
-
|
9770 |
-
|
9771 |
'error'
|
9772 |
);
|
9773 |
}
|
@@ -9996,21 +10502,21 @@
|
|
9996 |
if ( ! $background ) {
|
9997 |
$this->_admin_notices->add(
|
9998 |
sprintf(
|
9999 |
-
|
10000 |
$update->version,
|
10001 |
sprintf(
|
10002 |
'<a href="%s" target="_blank">%s</a>',
|
10003 |
$this->get_account_url( 'download_latest' ),
|
10004 |
-
sprintf(
|
10005 |
)
|
10006 |
),
|
10007 |
-
|
10008 |
);
|
10009 |
}
|
10010 |
} else if ( false === $new_version && ! $background ) {
|
10011 |
$this->_admin_notices->add(
|
10012 |
-
|
10013 |
-
|
10014 |
);
|
10015 |
}
|
10016 |
|
@@ -10276,7 +10782,7 @@
|
|
10276 |
|
10277 |
if ( ! isset( $result->error ) ) {
|
10278 |
$this->_admin_notices->add( sprintf(
|
10279 |
-
|
10280 |
sprintf( '<a href="mailto:%1s">%2s</a>', esc_url( $this->_user->email ), $this->_user->email )
|
10281 |
) );
|
10282 |
} else {
|
@@ -10294,6 +10800,14 @@
|
|
10294 |
* @return string
|
10295 |
*/
|
10296 |
private function get_activation_url( $params = array() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10297 |
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
10298 |
}
|
10299 |
|
@@ -10341,7 +10855,7 @@
|
|
10341 |
*
|
10342 |
*/
|
10343 |
private function _handle_account_edits() {
|
10344 |
-
if ( !
|
10345 |
return;
|
10346 |
}
|
10347 |
|
@@ -10424,20 +10938,20 @@
|
|
10424 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10425 |
|
10426 |
if ( $this->init_change_owner( $candidate_email ) ) {
|
10427 |
-
$this->_admin_notices->add( sprintf(
|
10428 |
}
|
10429 |
break;
|
10430 |
case 'owner_confirmed':
|
10431 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10432 |
|
10433 |
-
$this->_admin_notices->add( sprintf(
|
10434 |
break;
|
10435 |
case 'candidate_confirmed':
|
10436 |
if ( $this->complete_change_owner() ) {
|
10437 |
$this->_admin_notices->add_sticky(
|
10438 |
-
sprintf(
|
10439 |
'ownership_changed',
|
10440 |
-
|
10441 |
);
|
10442 |
} else {
|
10443 |
// @todo Handle failed ownership change message.
|
@@ -10457,23 +10971,23 @@
|
|
10457 |
switch ( $result->error->code ) {
|
10458 |
case 'user_exist':
|
10459 |
$this->_admin_notices->add(
|
10460 |
-
|
10461 |
-
sprintf(
|
10462 |
sprintf(
|
10463 |
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
10464 |
$this->get_account_url( 'change_owner', array(
|
10465 |
'state' => 'init',
|
10466 |
'candidate_email' => $new_email
|
10467 |
) ),
|
10468 |
-
|
10469 |
),
|
10470 |
-
|
10471 |
'error'
|
10472 |
);
|
10473 |
break;
|
10474 |
}
|
10475 |
} else {
|
10476 |
-
$this->_admin_notices->add(
|
10477 |
}
|
10478 |
|
10479 |
return;
|
@@ -10485,12 +10999,12 @@
|
|
10485 |
|
10486 |
if ( isset( $result->error ) ) {
|
10487 |
$this->_admin_notices->add(
|
10488 |
-
|
10489 |
-
|
10490 |
'error'
|
10491 |
);
|
10492 |
} else {
|
10493 |
-
$this->_admin_notices->add(
|
10494 |
}
|
10495 |
|
10496 |
return;
|
@@ -10550,7 +11064,7 @@
|
|
10550 |
$this->do_action( 'account_property_edit', 'site', $site_property, $site_property_value );
|
10551 |
|
10552 |
$this->_admin_notices->add( sprintf(
|
10553 |
-
|
10554 |
'<b>' . str_replace( '_', ' ', $p ) . '</b>' ) );
|
10555 |
|
10556 |
return;
|
@@ -10675,8 +11189,8 @@
|
|
10675 |
|
10676 |
if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
|
10677 |
$this->_admin_notices->add(
|
10678 |
-
sprintf(
|
10679 |
-
|
10680 |
'update-nag'
|
10681 |
);
|
10682 |
}
|
@@ -10913,7 +11427,7 @@
|
|
10913 |
* @return bool If trial notice added.
|
10914 |
*/
|
10915 |
function _add_trial_notice() {
|
10916 |
-
if ( !
|
10917 |
return false;
|
10918 |
}
|
10919 |
|
@@ -10982,7 +11496,7 @@
|
|
10982 |
$trial_period = $this->_trial_days;
|
10983 |
$require_payment = $this->_is_trial_require_payment;
|
10984 |
$trial_url = $this->get_trial_url();
|
10985 |
-
$plans_string = strtolower(
|
10986 |
|
10987 |
if ( $this->is_registered() ) {
|
10988 |
// If opted-in, override trial with up to date data from API.
|
@@ -11022,7 +11536,7 @@
|
|
11022 |
}
|
11023 |
|
11024 |
$message = sprintf(
|
11025 |
-
|
11026 |
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
11027 |
$plans_string,
|
11028 |
$trial_period
|
@@ -11030,15 +11544,15 @@
|
|
11030 |
|
11031 |
// "No Credit-Card Required" or "No Commitment for N Days".
|
11032 |
$cc_string = $require_payment ?
|
11033 |
-
sprintf(
|
11034 |
-
|
11035 |
|
11036 |
|
11037 |
// Start trial button.
|
11038 |
$button = ' ' . sprintf(
|
11039 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
11040 |
$trial_url,
|
11041 |
-
|
11042 |
);
|
11043 |
|
11044 |
$this->_admin_notices->add_sticky(
|
@@ -11136,7 +11650,7 @@
|
|
11136 |
if ( $this->is_registered() ) {
|
11137 |
if ( ! $this->is_paying() && $this->has_paid_plan() ) {
|
11138 |
$this->add_plugin_action_link(
|
11139 |
-
|
11140 |
$this->get_upgrade_url(),
|
11141 |
false,
|
11142 |
7,
|
@@ -11146,7 +11660,7 @@
|
|
11146 |
|
11147 |
if ( $this->has_addons() ) {
|
11148 |
$this->add_plugin_action_link(
|
11149 |
-
|
11150 |
$this->_get_admin_page_url( 'addons' ),
|
11151 |
false,
|
11152 |
9,
|
@@ -11174,9 +11688,10 @@
|
|
11174 |
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
11175 |
}
|
11176 |
|
11177 |
-
$link_text =
|
11178 |
-
$this->is_free_plan() ?
|
11179 |
-
|
|
|
11180 |
);
|
11181 |
|
11182 |
$this->add_plugin_action_link(
|
@@ -11201,6 +11716,11 @@
|
|
11201 |
|
11202 |
$this->_logger->entrance();
|
11203 |
|
|
|
|
|
|
|
|
|
|
|
11204 |
if ( ! $this->is_enable_anonymous() ) {
|
11205 |
// Don't allow to opt-out if anonymous mode is disabled.
|
11206 |
return;
|
@@ -11251,7 +11771,7 @@
|
|
11251 |
}
|
11252 |
|
11253 |
$this->add_plugin_action_link(
|
11254 |
-
|
11255 |
$url,
|
11256 |
false,
|
11257 |
13,
|
@@ -11353,15 +11873,12 @@
|
|
11353 |
}
|
11354 |
|
11355 |
if ( ! empty( $deactivate_link ) ) {
|
11356 |
-
|
11357 |
-
|
11358 |
-
|
11359 |
-
|
11360 |
-
|
11361 |
-
|
11362 |
-
*/
|
11363 |
-
$deactivate_link .= '<i class="fs-slug" data-slug="' . $this->_slug . '"></i>';
|
11364 |
-
}
|
11365 |
|
11366 |
// Append deactivation link.
|
11367 |
$before_deactivate['deactivate'] = $deactivate_link;
|
@@ -11422,20 +11939,20 @@
|
|
11422 |
|
11423 |
// @since 1.2.1.5 The free version is auto deactivated.
|
11424 |
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
11425 |
-
( '<li>' .
|
11426 |
'';
|
11427 |
|
11428 |
return sprintf(
|
11429 |
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
11430 |
-
|
11431 |
$this->get_latest_download_link( sprintf(
|
11432 |
-
|
11433 |
$plan_title
|
11434 |
) ),
|
11435 |
$deactivation_step,
|
11436 |
-
|
11437 |
'//bit.ly/upload-wp-plugin',
|
11438 |
-
|
11439 |
);
|
11440 |
}
|
11441 |
|
@@ -11490,6 +12007,18 @@
|
|
11490 |
return $update;
|
11491 |
}
|
11492 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11493 |
#----------------------------------------------------------------------------------
|
11494 |
#region Versioning
|
11495 |
#----------------------------------------------------------------------------------
|
@@ -11537,8 +12066,6 @@
|
|
11537 |
*
|
11538 |
* @author Vova Feldman (@svovaf)
|
11539 |
* @since 1.0.9
|
11540 |
-
*
|
11541 |
-
* @return bool
|
11542 |
*/
|
11543 |
function set_plugin_upgrade_complete() {
|
11544 |
$this->_storage->plugin_upgrade_mode = false;
|
@@ -11566,6 +12093,168 @@
|
|
11566 |
|
11567 |
#endregion
|
11568 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11569 |
#----------------------------------------------------------------------------------
|
11570 |
#region Marketing
|
11571 |
#----------------------------------------------------------------------------------
|
335 |
$this->_version_updates_handler();
|
336 |
}
|
337 |
|
338 |
+
/**
|
339 |
+
* Checks whether this plugin or theme has settings menu.
|
340 |
+
*
|
341 |
+
* @author Leo Fajardo (@leorw)
|
342 |
+
* @since 1.2.2
|
343 |
+
*
|
344 |
+
* @return bool
|
345 |
+
*/
|
346 |
+
function has_settings_menu() {
|
347 |
+
/**
|
348 |
+
* At the moment the wp.org require to show the opt-in in
|
349 |
+
* the themes page. Therefore, if the theme is .org compliant,
|
350 |
+
* treat it as if it doesn't have a menu item.
|
351 |
+
*/
|
352 |
+
if ( $this->is_theme() && $this->is_org_repo_compliant() ) {
|
353 |
+
return false;
|
354 |
+
}
|
355 |
+
|
356 |
+
return $this->_menu->has_menu();
|
357 |
+
}
|
358 |
+
|
359 |
+
/**
|
360 |
+
* Checks whether this a submenu item is visible.
|
361 |
+
*
|
362 |
+
* @author Vova Feldman (@svovaf)
|
363 |
+
* @since 1.2.2.6
|
364 |
+
*
|
365 |
+
* @param string $slug
|
366 |
+
*
|
367 |
+
* @return bool
|
368 |
+
*/
|
369 |
+
function is_submenu_item_visible( $slug ) {
|
370 |
+
if ( ! $this->has_settings_menu() ) {
|
371 |
+
return false;
|
372 |
+
}
|
373 |
+
|
374 |
+
return $this->_menu->is_submenu_item_visible( $slug );
|
375 |
+
}
|
376 |
+
|
377 |
/**
|
378 |
* @author Vova Feldman (@svovaf)
|
379 |
* @since 1.0.9
|
566 |
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
567 |
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
568 |
|
569 |
+
$this->add_ajax_action( 'install_premium_version', array(
|
570 |
+
&$this,
|
571 |
+
'_install_premium_version_ajax_action'
|
572 |
+
) );
|
573 |
+
|
574 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
575 |
|
576 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
678 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
679 |
$plugin_main_file = $this->_storage->plugin_main_file;
|
680 |
if ( isset( $plugin_main_file->path ) && file_exists( $plugin_main_file->path ) ) {
|
681 |
+
return $plugin_main_file->path;
|
682 |
}
|
683 |
}
|
684 |
|
703 |
}
|
704 |
|
705 |
wp_die(
|
706 |
+
$this->get_text( 'failed-finding-main-path' ) .
|
707 |
+
" Module: {$this->_slug}; SDK: " . WP_FS__SDK_VERSION . ";",
|
708 |
+
$this->get_text( 'error' ),
|
709 |
array( 'back_link' => true )
|
710 |
);
|
711 |
}
|
716 |
* Only the original instantiator that calls dynamic_init can modify the module's path.
|
717 |
*/
|
718 |
// Find caller module.
|
719 |
+
$file_and_type = $this->get_caller_main_file_and_type();
|
720 |
+
$plugin_file = $file_and_type->path;
|
721 |
|
722 |
$this->_storage->plugin_main_file = (object) array(
|
723 |
'path' => fs_normalize_path( $plugin_file ),
|
726 |
return $plugin_file;
|
727 |
}
|
728 |
|
729 |
+
/**
|
730 |
+
* Identifies the caller path.
|
731 |
+
*
|
732 |
+
* @todo (Vova) When merging this branch with the theme's one, use the theme's one instead of this one.
|
733 |
+
*
|
734 |
+
* @author Leo Fajardo (@leorw)
|
735 |
+
* @since 1.2.2
|
736 |
+
*
|
737 |
+
* @author Vova Feldman (@svovaf)
|
738 |
+
* @since 1.2.2.3 Find the earliest module in the call stack that calls to the SDK. This fix is for cases
|
739 |
+
* when add-ons are relying on loading the SDK from the parent module, and also allows themes
|
740 |
+
* including the SDK an internal file instead of directly from functions.php.
|
741 |
+
* @since 1.2.1.7 Knows how to handle cases when an add-on includes the parent module logic.
|
742 |
+
*/
|
743 |
+
private function get_caller_main_file_and_type() {
|
744 |
+
self::require_plugin_essentials();
|
745 |
+
|
746 |
+
$all_plugins = get_plugins();
|
747 |
+
$all_plugins_paths = array();
|
748 |
+
|
749 |
+
// Get active plugin's main files real full names (might be symlinks).
|
750 |
+
foreach ( $all_plugins as $relative_path => &$data ) {
|
751 |
+
if ( false === strpos( fs_normalize_path( $relative_path ), '/' ) ) {
|
752 |
+
/**
|
753 |
+
* Ignore plugins that don't have a folder (e.g. Hello Dolly) since they
|
754 |
+
* can't really include the SDK.
|
755 |
+
*
|
756 |
+
* @author Vova Feldman
|
757 |
+
* @since 1.2.1.7
|
758 |
+
*/
|
759 |
+
continue;
|
760 |
+
}
|
761 |
+
|
762 |
+
$all_plugins_paths[] = fs_normalize_path( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) );
|
763 |
+
}
|
764 |
+
|
765 |
+
$caller_file_candidate = false;
|
766 |
+
$caller_map = array();
|
767 |
+
$module_type = WP_FS__MODULE_TYPE_PLUGIN;
|
768 |
+
|
769 |
+
for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
|
770 |
+
if ( empty( $bt[ $i ]['file'] ) ) {
|
771 |
+
continue;
|
772 |
+
}
|
773 |
+
|
774 |
+
if ( $i > 1 && ! empty( $bt[ $i - 1 ]['file'] ) && $bt[ $i ]['file'] === $bt[ $i - 1 ]['file'] ) {
|
775 |
+
// If file same as the prev file in the stack, skip it.
|
776 |
+
continue;
|
777 |
+
}
|
778 |
+
|
779 |
+
if ( ! empty( $bt[ $i ]['function'] ) && in_array( $bt[ $i ]['function'], array(
|
780 |
+
'do_action',
|
781 |
+
'apply_filter',
|
782 |
+
'require_once',
|
783 |
+
'require',
|
784 |
+
'include_once',
|
785 |
+
'include'
|
786 |
+
) )
|
787 |
+
) {
|
788 |
+
// Ignore call stack hooks and files inclusion.
|
789 |
+
continue;
|
790 |
+
}
|
791 |
+
|
792 |
+
$caller_file_path = fs_normalize_path( $bt[ $i ]['file'] );
|
793 |
+
$caller_file_hash = md5( $caller_file_path );
|
794 |
+
|
795 |
+
if ( ! isset( $caller_map[ $caller_file_hash ] ) ) {
|
796 |
+
foreach ( $all_plugins_paths as $plugin_path ) {
|
797 |
+
if ( false !== strpos( $caller_file_path, fs_normalize_path( dirname( $plugin_path ) . '/' ) ) ) {
|
798 |
+
$caller_map[ $caller_file_hash ] = fs_normalize_path( $plugin_path );
|
799 |
+
break;
|
800 |
+
}
|
801 |
+
}
|
802 |
+
}
|
803 |
+
|
804 |
+
if ( isset( $caller_map[ $caller_file_hash ] ) ) {
|
805 |
+
$module_type = WP_FS__MODULE_TYPE_PLUGIN;
|
806 |
+
$caller_file_candidate = $caller_map[ $caller_file_hash ];
|
807 |
+
}
|
808 |
+
}
|
809 |
+
|
810 |
+
if ( empty( $caller_file_candidate ) ) {
|
811 |
+
// Throw an error to the developer in case of some edge case dev environment.
|
812 |
+
wp_die( $this->get_text( 'failed-finding-main-path' ), $this->get_text( 'error' ), array( 'back_link' => true ) );
|
813 |
+
}
|
814 |
+
|
815 |
+
return (object) array(
|
816 |
+
'module_type' => $module_type,
|
817 |
+
'path' => $caller_file_candidate
|
818 |
+
);
|
819 |
+
}
|
820 |
|
821 |
#----------------------------------------------------------------------------------
|
822 |
#region Deactivation Feedback Form
|
898 |
|
899 |
$reason_found_better_plugin = array(
|
900 |
'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
|
901 |
+
'text' => $this->get_text( 'reason-found-a-better-plugin' ),
|
902 |
'input_type' => 'textfield',
|
903 |
+
'input_placeholder' => $this->get_text( 'placeholder-plugin-name' )
|
904 |
);
|
905 |
|
906 |
$reason_temporary_deactivation = array(
|
907 |
'id' => self::REASON_TEMPORARY_DEACTIVATION,
|
908 |
+
'text' => $this->get_text( 'reason-temporary-deactivation' ),
|
909 |
'input_type' => '',
|
910 |
'input_placeholder' => ''
|
911 |
);
|
912 |
|
913 |
$reason_other = array(
|
914 |
'id' => self::REASON_OTHER,
|
915 |
+
'text' => $this->get_text( 'reason-other' ),
|
916 |
'input_type' => 'textfield',
|
917 |
'input_placeholder' => ''
|
918 |
);
|
920 |
$long_term_user_reasons = array(
|
921 |
array(
|
922 |
'id' => self::REASON_NO_LONGER_NEEDED,
|
923 |
+
'text' => $this->get_text( 'reason-no-longer-needed' ),
|
924 |
'input_type' => '',
|
925 |
'input_placeholder' => ''
|
926 |
),
|
927 |
$reason_found_better_plugin,
|
928 |
array(
|
929 |
'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
|
930 |
+
'text' => $this->get_text( 'reason-needed-for-a-short-period' ),
|
931 |
'input_type' => '',
|
932 |
'input_placeholder' => ''
|
933 |
),
|
934 |
array(
|
935 |
'id' => self::REASON_BROKE_MY_SITE,
|
936 |
+
'text' => $this->get_text( 'reason-broke-my-site' ),
|
937 |
'input_type' => '',
|
938 |
'input_placeholder' => '',
|
939 |
'internal_message' => $contact_support_template
|
940 |
),
|
941 |
array(
|
942 |
'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
|
943 |
+
'text' => $this->get_text( 'reason-suddenly-stopped-working' ),
|
944 |
'input_type' => '',
|
945 |
'input_placeholder' => '',
|
946 |
'internal_message' => $contact_support_template
|
950 |
if ( $this->is_paying() ) {
|
951 |
$long_term_user_reasons[] = array(
|
952 |
'id' => self::REASON_CANT_PAY_ANYMORE,
|
953 |
+
'text' => $this->get_text( 'reason-cant-pay-anymore' ),
|
954 |
'input_type' => 'textfield',
|
955 |
+
'input_placeholder' => $this->get_text( 'placeholder-comfortable-price' )
|
956 |
);
|
957 |
}
|
958 |
|
959 |
$reason_dont_share_info = array(
|
960 |
'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
|
961 |
+
'text' => $this->get_text( 'reason-dont-like-to-share-my-information' ),
|
962 |
'input_type' => '',
|
963 |
'input_placeholder' => ''
|
964 |
);
|
979 |
'non-registered-and-non-anonymous-short-term' => array(
|
980 |
array(
|
981 |
'id' => self::REASON_DIDNT_WORK,
|
982 |
+
'text' => $this->get_text( 'reason-didnt-work' ),
|
983 |
'input_type' => '',
|
984 |
'input_placeholder' => ''
|
985 |
),
|
989 |
'short-term' => array(
|
990 |
array(
|
991 |
'id' => self::REASON_COULDNT_MAKE_IT_WORK,
|
992 |
+
'text' => $this->get_text( 'reason-couldnt-make-it-work' ),
|
993 |
'input_type' => '',
|
994 |
'input_placeholder' => '',
|
995 |
'internal_message' => $contact_support_template
|
997 |
$reason_found_better_plugin,
|
998 |
array(
|
999 |
'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
|
1000 |
+
'text' => $this->get_text( 'reason-great-but-need-specific-feature' ),
|
1001 |
'input_type' => 'textarea',
|
1002 |
+
'input_placeholder' => $this->get_text( 'placeholder-feature' )
|
1003 |
),
|
1004 |
array(
|
1005 |
'id' => self::REASON_NOT_WORKING,
|
1006 |
+
'text' => $this->get_text( 'reason-not-working' ),
|
1007 |
'input_type' => 'textarea',
|
1008 |
+
'input_placeholder' => $this->get_text( 'placeholder-share-what-didnt-work' )
|
1009 |
),
|
1010 |
array(
|
1011 |
'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
|
1012 |
+
'text' => $this->get_text( 'reason-not-what-i-was-looking-for' ),
|
1013 |
'input_type' => 'textarea',
|
1014 |
+
'input_placeholder' => $this->get_text( 'placeholder-what-youve-been-looking-for' )
|
1015 |
),
|
1016 |
array(
|
1017 |
'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
|
1018 |
+
'text' => $this->get_text( 'reason-didnt-work-as-expected' ),
|
1019 |
'input_type' => 'textarea',
|
1020 |
+
'input_placeholder' => $this->get_text( 'placeholder-what-did-you-expect' )
|
1021 |
)
|
1022 |
)
|
1023 |
);
|
1041 |
* @since 1.1.2
|
1042 |
*/
|
1043 |
function _submit_uninstall_reason_action() {
|
1044 |
+
$this->_logger->entrance();
|
1045 |
+
|
1046 |
+
$this->check_ajax_referer( 'submit_uninstall_reason' );
|
1047 |
+
|
1048 |
$reason_id = fs_request_get( 'reason_id' );
|
1049 |
|
1050 |
// Check if the given reason ID is an unsigned integer.
|
1085 |
* @param string $slug
|
1086 |
* @param bool $is_init Is initiation sequence.
|
1087 |
*
|
1088 |
+
* @return Freemius|false
|
1089 |
*/
|
1090 |
static function instance( $slug, $is_init = false ) {
|
1091 |
+
if ( empty( $slug ) ) {
|
1092 |
+
return false;
|
1093 |
+
}
|
1094 |
+
|
1095 |
$slug = strtolower( $slug );
|
1096 |
|
1097 |
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
1123 |
* @author Vova Feldman (@svovaf)
|
1124 |
* @since 1.0.6
|
1125 |
*
|
1126 |
+
* @param number $id
|
1127 |
*
|
1128 |
* @return false|Freemius
|
1129 |
*/
|
1168 |
* @author Vova Feldman (@svovaf)
|
1169 |
* @since 1.0.6
|
1170 |
*
|
1171 |
+
* @param string|number $slug_or_id
|
1172 |
*
|
1173 |
* @return bool|Freemius
|
1174 |
*/
|
1226 |
);
|
1227 |
}
|
1228 |
|
1229 |
+
/**
|
1230 |
+
* Check if current page is the opt-in/pending-activation page.
|
1231 |
+
*
|
1232 |
+
* @author Vova Feldman (@svovaf)
|
1233 |
+
* @since 1.2.1.7
|
1234 |
+
*
|
1235 |
+
* @return bool
|
1236 |
+
*/
|
1237 |
+
function is_activation_page() {
|
1238 |
+
if ( $this->_menu->is_main_settings_page() ) {
|
1239 |
+
return true;
|
1240 |
+
}
|
1241 |
+
|
1242 |
+
if ( ! $this->is_activation_mode() ) {
|
1243 |
+
return false;
|
1244 |
+
}
|
1245 |
+
|
1246 |
+
// Check if current page is matching the activation page.
|
1247 |
+
return $this->is_matching_url( $_SERVER['REQUEST_URI'], $this->get_activation_url() );
|
1248 |
+
}
|
1249 |
+
|
1250 |
+
/**
|
1251 |
+
* Check if URL path's are matching and that all querystring
|
1252 |
+
* arguments of the $sub_url exist in the $url with the same values.
|
1253 |
+
*
|
1254 |
+
* WARNING:
|
1255 |
+
* 1. This method doesn't check if the sub/domain are matching.
|
1256 |
+
* 2. Ignore case sensitivity.
|
1257 |
+
*
|
1258 |
+
* @author Vova Feldman (@svovaf)
|
1259 |
+
* @since 1.2.1.7
|
1260 |
+
*
|
1261 |
+
* @param string $url
|
1262 |
+
* @param string $sub_url
|
1263 |
+
*
|
1264 |
+
* @return bool
|
1265 |
+
*/
|
1266 |
+
private function is_matching_url( $url, $sub_url ) {
|
1267 |
+
$url = strtolower( $url );
|
1268 |
+
$sub_url = strtolower( $sub_url );
|
1269 |
+
|
1270 |
+
if ( parse_url( $sub_url, PHP_URL_PATH ) !== parse_url( $url, PHP_URL_PATH ) ) {
|
1271 |
+
// Different path - DO NOT OVERRIDE PAGE.
|
1272 |
+
return false;
|
1273 |
+
}
|
1274 |
+
|
1275 |
+
$url_params = array();
|
1276 |
+
parse_str( parse_url( $url, PHP_URL_QUERY ), $url_params );
|
1277 |
+
|
1278 |
+
$sub_url_params = array();
|
1279 |
+
parse_str( parse_url( $sub_url, PHP_URL_QUERY ), $sub_url_params );
|
1280 |
+
|
1281 |
+
foreach ( $sub_url_params as $key => $val ) {
|
1282 |
+
if ( ! isset( $url_params[ $key ] ) || $val != $url_params[ $key ] ) {
|
1283 |
+
// Not matching query string - DO NOT OVERRIDE PAGE.
|
1284 |
+
return false;
|
1285 |
+
}
|
1286 |
+
}
|
1287 |
+
|
1288 |
+
return true;
|
1289 |
+
}
|
1290 |
+
|
1291 |
/**
|
1292 |
* Get collection of all active plugins.
|
1293 |
*
|
1420 |
// Configure which Freemius powered plugins should be auto updated.
|
1421 |
// add_filter( 'auto_update_plugin', '_include_plugins_in_auto_update', 10, 2 );
|
1422 |
|
1423 |
+
add_action( 'admin_menu', array( 'Freemius', '_add_debug_section' ) );
|
1424 |
|
1425 |
add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) );
|
1426 |
|
1427 |
self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) );
|
1428 |
|
1429 |
+
self::add_ajax_action_static( 'get_db_option', array( 'Freemius', '_get_db_option' ) );
|
1430 |
+
|
1431 |
+
self::add_ajax_action_static( 'set_db_option', array( 'Freemius', '_set_db_option' ) );
|
1432 |
+
|
1433 |
add_action( 'plugins_loaded', array( 'Freemius', '_load_textdomain' ), 1 );
|
1434 |
|
1435 |
self::$_statics_loaded = true;
|
1452 |
|
1453 |
global $fs_active_plugins;
|
1454 |
|
1455 |
+
// Works both for plugins and themes.
|
1456 |
load_plugin_textdomain(
|
1457 |
'freemius',
|
1458 |
false,
|
1459 |
$fs_active_plugins->newest->sdk_path . '/languages/'
|
1460 |
);
|
|
|
|
|
1461 |
}
|
1462 |
|
1463 |
#endregion
|
1470 |
* @author Vova Feldman (@svovaf)
|
1471 |
* @since 1.0.8
|
1472 |
*/
|
1473 |
+
static function _add_debug_section() {
|
1474 |
if ( ! current_user_can( 'activate_plugins' ) ) {
|
1475 |
return;
|
1476 |
}
|
1477 |
|
1478 |
self::$_static_logger->entrance();
|
1479 |
|
1480 |
+
$title = sprintf( '%s [v.%s]', fs_text( 'freemius-debug' ), WP_FS__SDK_VERSION );
|
1481 |
|
1482 |
$hook = null;
|
1483 |
|
1484 |
if ( WP_FS__DEV_MODE ) {
|
1485 |
// Add top-level debug menu item.
|
1486 |
+
$hook = FS_Admin_Menu_Manager::add_page(
|
1487 |
$title,
|
1488 |
$title,
|
1489 |
'manage_options',
|
1493 |
} else {
|
1494 |
if ( 'freemius' === fs_request_get( 'page' ) ) {
|
1495 |
// Add hidden debug page.
|
1496 |
+
$hook = FS_Admin_Menu_Manager::add_subpage(
|
1497 |
null,
|
1498 |
$title,
|
1499 |
$title,
|
1514 |
* @since 1.1.7.3
|
1515 |
*/
|
1516 |
static function _toggle_debug_mode() {
|
1517 |
+
$is_on = fs_request_get( 'is_on', false, 'post' );
|
1518 |
+
|
1519 |
+
if ( fs_request_is_post() && in_array( $is_on, array( 0, 1 ) ) ) {
|
1520 |
+
update_option( 'fs_debug_mode', $is_on );
|
1521 |
|
1522 |
// Turn on/off storage logging.
|
1523 |
+
FS_Logger::_set_storage_logging( ( 1 == $is_on ) );
|
1524 |
}
|
1525 |
|
1526 |
exit;
|
1532 |
*/
|
1533 |
static function _get_debug_log() {
|
1534 |
$logs = FS_Logger::load_db_logs(
|
1535 |
+
fs_request_get( 'filters', false, 'post' ),
|
1536 |
! empty( $_POST['limit'] ) && is_numeric( $_POST['limit'] ) ? $_POST['limit'] : 200,
|
1537 |
! empty( $_POST['offset'] ) && is_numeric( $_POST['offset'] ) ? $_POST['offset'] : 0
|
1538 |
);
|
1540 |
self::shoot_ajax_success( $logs );
|
1541 |
}
|
1542 |
|
1543 |
+
/**
|
1544 |
+
* @author Vova Feldman (@svovaf)
|
1545 |
+
* @since 1.2.1.7
|
1546 |
+
*/
|
1547 |
+
static function _get_db_option() {
|
1548 |
+
$option_name = fs_request_get( 'option_name' );
|
1549 |
+
|
1550 |
+
$value = get_option( $option_name );
|
1551 |
+
|
1552 |
+
$result = array(
|
1553 |
+
'name' => $option_name,
|
1554 |
+
);
|
1555 |
+
|
1556 |
+
if ( false !== $value ) {
|
1557 |
+
if ( ! is_string( $value ) ) {
|
1558 |
+
$value = json_encode( $value );
|
1559 |
+
}
|
1560 |
+
|
1561 |
+
$result['value'] = $value;
|
1562 |
+
}
|
1563 |
+
|
1564 |
+
self::shoot_ajax_success( $result );
|
1565 |
+
}
|
1566 |
+
|
1567 |
+
/**
|
1568 |
+
* @author Vova Feldman (@svovaf)
|
1569 |
+
* @since 1.2.1.7
|
1570 |
+
*/
|
1571 |
+
static function _set_db_option() {
|
1572 |
+
$option_name = fs_request_get( 'option_name' );
|
1573 |
+
$option_value = fs_request_get( 'option_value' );
|
1574 |
+
|
1575 |
+
if ( ! empty( $option_value ) ) {
|
1576 |
+
update_option( $option_name, $option_value );
|
1577 |
+
}
|
1578 |
+
|
1579 |
+
self::shoot_ajax_success();
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
|
1583 |
/**
|
1584 |
* @author Vova Feldman (@svovaf)
|
1585 |
* @since 1.0.8
|
1610 |
check_admin_referer( 'download_logs' );
|
1611 |
|
1612 |
$download_url = FS_Logger::download_db_logs(
|
1613 |
+
fs_request_get( 'filters', false, 'post' )
|
1614 |
);
|
1615 |
|
1616 |
if ( false === $download_url ) {
|
1628 |
static function _debug_page_render() {
|
1629 |
self::$_static_logger->entrance();
|
1630 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1631 |
$vars = array(
|
1632 |
+
'sites' => self::get_all_sites(),
|
1633 |
+
'users' => self::get_all_users(),
|
1634 |
+
'addons' => self::get_all_addons(),
|
1635 |
+
'account_addons' => self::get_all_account_addons(),
|
1636 |
+
'licenses' => self::get_all_licenses(),
|
1637 |
);
|
1638 |
|
1639 |
fs_enqueue_local_style( 'fs_debug', '/admin/debug.css' );
|
1948 |
) {
|
1949 |
switch ( $api_result->error->code ) {
|
1950 |
case 'curl_missing':
|
1951 |
+
$missing_methods = '';
|
1952 |
+
if ( is_array( $api_result->missing_methods ) &&
|
1953 |
+
! empty( $api_result->missing_methods )
|
1954 |
+
) {
|
1955 |
+
foreach ( $api_result->missing_methods as $m ) {
|
1956 |
+
if ( 'curl_version' === $m ) {
|
1957 |
+
continue;
|
1958 |
+
}
|
1959 |
+
|
1960 |
+
if ( ! empty( $missing_methods ) ) {
|
1961 |
+
$missing_methods .= ', ';
|
1962 |
+
}
|
1963 |
+
|
1964 |
+
$missing_methods .= sprintf( '<code>%s</code>', $m );
|
1965 |
+
}
|
1966 |
+
|
1967 |
+
if ( ! empty( $missing_methods ) ) {
|
1968 |
+
$missing_methods = sprintf(
|
1969 |
+
'<br><br><b>%s</b> %s',
|
1970 |
+
$this->get_text( 'curl-disabled-methods' ),
|
1971 |
+
$missing_methods
|
1972 |
+
);
|
1973 |
+
}
|
1974 |
+
}
|
1975 |
+
|
1976 |
$message = sprintf(
|
1977 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
1978 |
+
$this->get_text( 'curl-missing-message' ) . ' ' .
|
1979 |
+
$missing_methods .
|
1980 |
' %s',
|
1981 |
'<b>' . $this->get_plugin_name() . '</b>',
|
1982 |
sprintf(
|
1983 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
1984 |
sprintf(
|
1985 |
'<a class="fs-resolve" data-type="curl" href="#"><b>%s</b></a>%s',
|
1986 |
+
$this->get_text( 'curl-missing-no-clue-title' ),
|
1987 |
' - ' . sprintf(
|
1988 |
+
$this->get_text( 'curl-missing-no-clue-desc' ),
|
1989 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
1990 |
)
|
1991 |
),
|
1992 |
sprintf(
|
1993 |
'<b>%s</b> - %s',
|
1994 |
+
$this->get_text( 'sysadmin-title' ),
|
1995 |
+
$this->get_text( 'curl-missing-sysadmin-desc' )
|
1996 |
),
|
1997 |
sprintf(
|
1998 |
'<a href="%s"><b>%s</b></a>%s',
|
1999 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2000 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2001 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2002 |
)
|
2003 |
)
|
2004 |
);
|
2005 |
break;
|
2006 |
case 'cloudflare_ddos_protection':
|
2007 |
$message = sprintf(
|
2008 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2009 |
+
$this->get_text( 'cloudflare-blocks-connection-message' ) . ' ' .
|
2010 |
+
$this->get_text( 'happy-to-resolve-issue-asap' ) .
|
2011 |
' %s',
|
2012 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2013 |
sprintf(
|
2014 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2015 |
sprintf(
|
2016 |
'<a class="fs-resolve" data-type="cloudflare" href="#"><b>%s</b></a>%s',
|
2017 |
+
$this->get_text( 'fix-issue-title' ),
|
2018 |
' - ' . sprintf(
|
2019 |
+
$this->get_text( 'fix-issue-desc' ),
|
2020 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2021 |
)
|
2022 |
),
|
2023 |
sprintf(
|
2024 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
2025 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2026 |
+
$this->get_text( 'install-previous-title' ),
|
2027 |
+
' - ' . $this->get_text( 'install-previous-desc' )
|
2028 |
),
|
2029 |
sprintf(
|
2030 |
'<a href="%s"><b>%s</b></a>%s',
|
2031 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2032 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2033 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2034 |
)
|
2035 |
)
|
2036 |
);
|
2037 |
break;
|
2038 |
case 'squid_cache_block':
|
2039 |
$message = sprintf(
|
2040 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2041 |
+
$this->get_text( 'squid-blocks-connection-message' ) .
|
2042 |
' %s',
|
2043 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2044 |
sprintf(
|
2045 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2046 |
sprintf(
|
2047 |
'<a class="fs-resolve" data-type="squid" href="#"><b>%s</b></a>%s',
|
2048 |
+
$this->get_text( 'squid-no-clue-title' ),
|
2049 |
' - ' . sprintf(
|
2050 |
+
$this->get_text( 'squid-no-clue-desc' ),
|
2051 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2052 |
)
|
2053 |
),
|
2054 |
sprintf(
|
2055 |
'<b>%s</b> - %s',
|
2056 |
+
$this->get_text( 'sysadmin-title' ),
|
2057 |
sprintf(
|
2058 |
+
$this->get_text( 'squid-sysadmin-desc' ),
|
2059 |
// We use a filter since the plugin might require additional API connectivity.
|
2060 |
'<b>' . implode( ', ', $this->apply_filters( 'api_domains', array( 'api.freemius.com' ) ) ) . '</b>' )
|
2061 |
),
|
2062 |
sprintf(
|
2063 |
'<a href="%s"><b>%s</b></a>%s',
|
2064 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2065 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2066 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2067 |
)
|
2068 |
)
|
2069 |
);
|
2070 |
break;
|
2071 |
// default:
|
2072 |
+
// $message = $this->get_text( 'connectivity-test-fails-message' );
|
2073 |
// break;
|
2074 |
}
|
2075 |
}
|
2081 |
if ( $is_first_failure ) {
|
2082 |
// First attempt failed.
|
2083 |
$message = sprintf(
|
2084 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2085 |
+
$this->get_text( 'connectivity-test-fails-message' ) . ' ' .
|
2086 |
+
$this->get_text( 'connectivity-test-maybe-temporary' ) . '<br><br>' .
|
2087 |
'%s',
|
2088 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2089 |
sprintf(
|
2090 |
'<div id="fs_firewall_issue_options">%s %s</div>',
|
2091 |
sprintf(
|
2092 |
'<a class="button button-primary fs-resolve" data-type="retry_ping" href="#">%s</a>',
|
2093 |
+
$this->get_text( 'yes-do-your-thing' )
|
2094 |
),
|
2095 |
sprintf(
|
2096 |
'<a href="%s" class="button">%s</a>',
|
2097 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2098 |
+
$this->get_text( 'no-deactivate' )
|
2099 |
)
|
2100 |
)
|
2101 |
);
|
2105 |
} else {
|
2106 |
// Second connectivity attempt failed.
|
2107 |
$message = sprintf(
|
2108 |
+
$this->get_text( 'x-requires-access-to-api' ) . ' ' .
|
2109 |
+
$this->get_text( 'connectivity-test-fails-message' ) . ' ' .
|
2110 |
+
$this->get_text( 'happy-to-resolve-issue-asap' ) .
|
2111 |
' %s',
|
2112 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2113 |
sprintf(
|
2114 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2115 |
sprintf(
|
2116 |
'<a class="fs-resolve" data-type="general" href="#"><b>%s</b></a>%s',
|
2117 |
+
$this->get_text( 'fix-issue-title' ),
|
2118 |
' - ' . sprintf(
|
2119 |
+
$this->get_text( 'fix-issue-desc' ),
|
2120 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2121 |
)
|
2122 |
),
|
2123 |
sprintf(
|
2124 |
'<a href="%s" target="_blank"><b>%s</b></a>%s',
|
2125 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2126 |
+
$this->get_text( 'install-previous-title' ),
|
2127 |
+
' - ' . $this->get_text( 'install-previous-desc' )
|
2128 |
),
|
2129 |
sprintf(
|
2130 |
'<a href="%s"><b>%s</b></a>%s',
|
2131 |
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=' . 'all' . '&paged=' . '1' . '&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2132 |
+
$this->get_text( 'deactivate-plugin-title' ),
|
2133 |
+
' - ' . $this->get_text( 'deactivate-plugin-desc' )
|
2134 |
)
|
2135 |
)
|
2136 |
);
|
2140 |
$this->_admin_notices->add_sticky(
|
2141 |
$message,
|
2142 |
$message_id,
|
2143 |
+
$this->get_text( 'oops' ) . '...',
|
2144 |
$type
|
2145 |
);
|
2146 |
}
|
2188 |
|
2189 |
// Add 'API Error' custom email section.
|
2190 |
$custom_email_sections['api_error'] = array(
|
2191 |
+
'title' => 'API Error',
|
2192 |
'rows' => array(
|
2193 |
'ping' => array(
|
2194 |
'API Error',
|
2207 |
|
2208 |
$this->_admin_notices->add_sticky(
|
2209 |
sprintf(
|
2210 |
+
$this->get_text( 'fix-request-sent-message' ),
|
2211 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2212 |
),
|
2213 |
'server_details_sent'
|
2309 |
$message = fs_get_template( 'email.php', $vars );
|
2310 |
|
2311 |
// Set the type of email to HTML.
|
2312 |
+
$headers[] = 'Content-type: text/html; charset=UTF-8';
|
2313 |
|
2314 |
$header_string = implode( "\r\n", $headers );
|
2315 |
|
2582 |
|
2583 |
$this->_admin_notices->add(
|
2584 |
( ! empty( $parent_name ) ?
|
2585 |
+
sprintf( $this->get_text( 'addon-x-cannot-run-without-y' ), $this->get_plugin_name(), $parent_name ) :
|
2586 |
+
sprintf( $this->get_text( 'addon-x-cannot-run-without-parent' ), $this->get_plugin_name() )
|
2587 |
),
|
2588 |
+
$this->get_text( 'oops' ) . '...',
|
2589 |
'error'
|
2590 |
);
|
2591 |
|
2608 |
$this->deactivate_premium_only_addon_without_license();
|
2609 |
}
|
2610 |
} else {
|
|
|
|
|
2611 |
if ( $this->has_addons() &&
|
2612 |
'plugin-information' === fs_request_get( 'tab', false ) &&
|
2613 |
$this->get_id() == fs_request_get( 'parent_plugin_id', false )
|
2618 |
}
|
2619 |
}
|
2620 |
|
2621 |
+
add_action( 'admin_init', array( &$this, '_admin_init_action' ) );
|
2622 |
+
|
2623 |
// if ( $this->is_registered() ||
|
2624 |
// $this->is_anonymous() ||
|
2625 |
// $this->is_pending_activation()
|
2688 |
* @since 1.2.1.5
|
2689 |
*/
|
2690 |
function _stop_tracking_callback() {
|
2691 |
+
$this->_logger->entrance();
|
2692 |
+
|
2693 |
+
$this->check_ajax_referer( 'stop_tracking' );
|
2694 |
+
|
2695 |
$result = $this->stop_tracking();
|
2696 |
|
2697 |
if ( true === $result ) {
|
2701 |
$this->_logger->api_error( $result );
|
2702 |
|
2703 |
self::shoot_ajax_failure(
|
2704 |
+
$this->get_text( 'unexpected-api-error' ) .
|
2705 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2706 |
$result->error->message :
|
2707 |
var_export( $result, true ) )
|
2713 |
* @since 1.2.1.5
|
2714 |
*/
|
2715 |
function _allow_tracking_callback() {
|
2716 |
+
$this->_logger->entrance();
|
2717 |
+
|
2718 |
+
$this->check_ajax_referer( 'allow_tracking' );
|
2719 |
+
|
2720 |
$result = $this->allow_tracking();
|
2721 |
|
2722 |
if ( true === $result ) {
|
2726 |
$this->_logger->api_error( $result );
|
2727 |
|
2728 |
self::shoot_ajax_failure(
|
2729 |
+
$this->get_text( 'unexpected-api-error' ) .
|
2730 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
2731 |
$result->error->message :
|
2732 |
var_export( $result, true ) )
|
2918 |
// Set the secret key after storing the plugin, we don't want to store the key in the storage.
|
2919 |
$this->_plugin->secret_key = $secret_key;
|
2920 |
|
2921 |
+
if ( ! isset( $plugin_info['menu'] ) ) {
|
2922 |
$plugin_info['menu'] = array();
|
2923 |
|
2924 |
if ( ! empty( $this->_storage->sdk_last_version ) &&
|
3096 |
) );
|
3097 |
|
3098 |
$this->_admin_notices->add_sticky(
|
3099 |
+
$this->get_text( 'premium-activated-message' ),
|
3100 |
'premium_activated',
|
3101 |
+
$this->get_text( 'woot' ) . '!'
|
3102 |
);
|
3103 |
} else {
|
3104 |
// Remove sticky message related to premium code activation.
|
3110 |
if ( $this->is_paying() && ! $this->is_premium() ) {
|
3111 |
$this->_admin_notices->add_sticky(
|
3112 |
sprintf(
|
3113 |
+
$this->get_text( 'you-have-x-license' ),
|
3114 |
$this->_site->plan->title
|
3115 |
) . $this->get_complete_upgrade_instructions(),
|
3116 |
'plan_upgraded',
|
3117 |
+
$this->get_text( 'yee-haw' ) . '!'
|
3118 |
);
|
3119 |
}
|
3120 |
}
|
3152 |
* @since 1.0.6
|
3153 |
*
|
3154 |
* @param string|number $slug_or_id
|
3155 |
+
* @param bool|null $is_premium Since 1.2.1.7 can check for specified add-on version.
|
3156 |
*
|
3157 |
* @return bool
|
3158 |
*/
|
3159 |
+
function is_addon_activated( $slug_or_id, $is_premium = null ) {
|
3160 |
+
$this->_logger->entrance();
|
3161 |
+
|
3162 |
+
$is_activated = self::has_instance( $slug_or_id );
|
3163 |
+
|
3164 |
+
if ( ! $is_activated ) {
|
3165 |
+
return false;
|
3166 |
+
}
|
3167 |
+
|
3168 |
+
if ( is_bool( $is_premium ) ) {
|
3169 |
+
// Check if the specified code version is activate.
|
3170 |
+
$addon = $this->get_addon_instance( $slug_or_id );
|
3171 |
+
$is_activated = ( $is_premium === $addon->is_premium() );
|
3172 |
+
}
|
3173 |
+
|
3174 |
+
return $is_activated;
|
3175 |
}
|
3176 |
|
3177 |
/**
|
3185 |
* @return bool
|
3186 |
*/
|
3187 |
function is_addon_connected( $slug ) {
|
3188 |
+
$this->_logger->entrance();
|
3189 |
+
|
3190 |
$sites = self::get_all_sites();
|
3191 |
|
3192 |
if ( ! isset( $sites[ $slug ] ) ) {
|
3222 |
* @return bool
|
3223 |
*/
|
3224 |
function is_addon_installed( $slug ) {
|
3225 |
+
$this->_logger->entrance();
|
3226 |
+
|
3227 |
return file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $this->get_addon_basename( $slug ) ) );
|
3228 |
}
|
3229 |
|
3242 |
self::instance( $slug )->get_plugin_basename();
|
3243 |
}
|
3244 |
|
3245 |
+
$premium_basename = "{$slug}-premium/{$slug}.php";
|
3246 |
|
3247 |
if ( file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $premium_basename ) ) ) {
|
3248 |
return $premium_basename;
|
3249 |
}
|
3250 |
|
3251 |
+
$free_basename = "{$slug}/{$slug}.php";
|
3252 |
|
3253 |
return $free_basename;
|
3254 |
}
|
3358 |
|
3359 |
$this->_parent->_admin_notices->add_sticky(
|
3360 |
sprintf(
|
3361 |
+
$this->_parent->get_text( $is_after_trial_cancel ?
|
3362 |
'addon-trial-cancelled-message' :
|
3363 |
+
'addon-no-license-message'
|
|
|
3364 |
),
|
3365 |
'<b>' . $this->_plugin->title . '</b>'
|
3366 |
) . ' ' . sprintf(
|
3367 |
'<a href="%s" aria-label="%s" class="button button-primary" style="margin-left: 10px; vertical-align: middle;">%s ➜</a>',
|
3368 |
$this->_parent->addon_url( $this->_slug ),
|
3369 |
+
esc_attr( sprintf( $this->_parent->get_text( 'more-information-about-x' ), $this->_plugin->title ) ),
|
3370 |
+
$this->_parent->get_text( 'purchase-license' )
|
3371 |
),
|
3372 |
'no_addon_license_' . $this->_slug,
|
3373 |
+
( $is_after_trial_cancel ? '' : $this->_parent->get_text( 'oops' ) . '...' ),
|
3374 |
( $is_after_trial_cancel ? 'success' : 'error' )
|
3375 |
);
|
3376 |
|
3490 |
private function run_manual_sync() {
|
3491 |
$this->require_pluggable_essentials();
|
3492 |
|
3493 |
+
if ( ! $this->is_user_admin() ) {
|
3494 |
return;
|
3495 |
}
|
3496 |
|
3802 |
|
3803 |
$this->_admin_notices->add_sticky(
|
3804 |
sprintf(
|
3805 |
+
$this->get_text( 'pending-activation-message' ),
|
3806 |
'<b>' . $this->get_plugin_name() . '</b>',
|
3807 |
'<b>' . $email . '</b>',
|
3808 |
+
$this->get_text( $is_pending_trial ? 'start-the-trial' : 'complete-the-install' )
|
3809 |
),
|
3810 |
'activation_pending',
|
3811 |
'Thanks!'
|
3857 |
|
3858 |
if ( ! $this->is_addon() && ! $this->is_registered() && ! $this->is_anonymous() ) {
|
3859 |
if ( ! $this->is_pending_activation() ) {
|
3860 |
+
if ( ! $this->_menu->is_main_settings_page() ) {
|
3861 |
if ( $this->is_plugin_new_install() || $this->is_only_premium() ) {
|
3862 |
// Show notice for new plugin installations.
|
3863 |
$this->_admin_notices->add(
|
3864 |
sprintf(
|
3865 |
+
$this->get_text( 'you-are-step-away' ),
|
3866 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3867 |
$this->get_activation_url(),
|
3868 |
+
sprintf( $this->get_text( 'activate-x-now' ), $this->get_plugin_name() )
|
3869 |
)
|
3870 |
),
|
3871 |
'',
|
3878 |
// Show notice for new plugin installations.
|
3879 |
$this->_admin_notices->add_sticky(
|
3880 |
sprintf(
|
3881 |
+
$this->get_text( 'few-plugin-tweaks' ),
|
3882 |
sprintf( '<b><a href="%s">%s</a></b>',
|
3883 |
$this->get_activation_url(),
|
3884 |
+
sprintf( $this->get_text( 'optin-x-now' ), $this->get_plugin_name() )
|
3885 |
)
|
3886 |
),
|
3887 |
'connect_account',
|
4111 |
function _activate_plugin_event_hook() {
|
4112 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
4113 |
|
4114 |
+
if ( ! $this->is_user_admin() ) {
|
4115 |
return;
|
4116 |
}
|
4117 |
|
4152 |
// If activating the premium module version, add an admin notice to congratulate for an upgrade completion.
|
4153 |
if ( $is_premium_version_activation ) {
|
4154 |
$this->_admin_notices->add(
|
4155 |
+
sprintf( $this->get_text( 'successful-version-upgrade-message' ), sprintf( '<b>%s</b>', $this->_plugin->title ) ),
|
4156 |
+
$this->get_text( 'woot' ) . '!'
|
4157 |
);
|
4158 |
}
|
4159 |
} else if ( $this->is_anonymous() ) {
|
4187 |
$this->_storage->is_plugin_new_install = empty( $this->_storage->plugin_last_version );
|
4188 |
}
|
4189 |
|
4190 |
+
if ( ! $this->_anonymous_mode &&
|
4191 |
+
$this->has_api_connectivity( WP_FS__DEV_MODE ) &&
|
4192 |
+
! $this->_isAutoInstall
|
4193 |
+
) {
|
4194 |
// Store hint that the plugin was just activated to enable auto-redirection to settings.
|
4195 |
add_option( "fs_{$this->_slug}_activated", true );
|
4196 |
}
|
4217 |
function delete_account_event( $check_user = true ) {
|
4218 |
$this->_logger->entrance( 'slug = ' . $this->_slug );
|
4219 |
|
4220 |
+
if ( $check_user && ! $this->is_user_admin() ) {
|
4221 |
return;
|
4222 |
}
|
4223 |
|
4942 |
*
|
4943 |
* @return string
|
4944 |
*/
|
4945 |
+
function premium_plugin_basename() {
|
4946 |
+
return "{$this->_slug}-premium/" . basename( $this->_free_plugin_basename );
|
4947 |
}
|
4948 |
|
4949 |
/**
|
5053 |
return $this->_slug;
|
5054 |
}
|
5055 |
|
5056 |
+
/**
|
5057 |
+
* @author Vova Feldman (@svovaf)
|
5058 |
+
* @since 1.2.1.7
|
5059 |
+
*
|
5060 |
+
* @return string Plugin slug.
|
5061 |
+
*/
|
5062 |
+
function get_target_folder_name() {
|
5063 |
+
return $this->_slug . ( $this->can_use_premium_code() ? '-premium' : '' );
|
5064 |
+
}
|
5065 |
+
|
5066 |
/**
|
5067 |
* @author Vova Feldman (@svovaf)
|
5068 |
* @since 1.0.1
|
5174 |
return $this->apply_filters( 'plugin_version', $plugin_data['Version'] );
|
5175 |
}
|
5176 |
|
5177 |
+
/**
|
5178 |
+
* @author Vova Feldman (@svovaf)
|
5179 |
+
* @since 1.2.1.7
|
5180 |
+
*
|
5181 |
+
* @return string
|
5182 |
+
*/
|
5183 |
+
function get_plugin_title() {
|
5184 |
+
$this->_logger->entrance();
|
5185 |
+
|
5186 |
+
$title = $this->_plugin->title;
|
5187 |
+
|
5188 |
+
return $this->apply_filters( 'plugin_title', $title );
|
5189 |
+
}
|
5190 |
+
|
5191 |
/**
|
5192 |
* @author Vova Feldman (@svovaf)
|
5193 |
* @since 1.0.4
|
5362 |
}
|
5363 |
|
5364 |
/**
|
5365 |
+
* Check if user has connected his account (opted-in).
|
5366 |
+
*
|
5367 |
+
* Note:
|
5368 |
+
* If the user opted-in and opted-out on a later stage,
|
5369 |
+
* this will still return true. If you want to check if the
|
5370 |
+
* user is currently opted-in, use:
|
5371 |
+
* `$fs->is_registered() && $fs->is_tracking_allowed()`
|
5372 |
*
|
5373 |
* @author Vova Feldman (@svovaf)
|
5374 |
* @since 1.0.1
|
6010 |
return ( $current_plan_order > $required_plan_order );
|
6011 |
}
|
6012 |
|
6013 |
+
/**
|
6014 |
+
* Check if module has only one plan.
|
6015 |
+
*
|
6016 |
+
* @author Vova Feldman (@svovaf)
|
6017 |
+
* @since 1.2.1.7
|
6018 |
+
*
|
6019 |
+
* @return bool
|
6020 |
+
*/
|
6021 |
+
function is_single_plan() {
|
6022 |
+
$this->_logger->entrance();
|
6023 |
+
|
6024 |
+
if ( ! $this->is_registered() ||
|
6025 |
+
! is_array( $this->_plans ) ||
|
6026 |
+
0 === count( $this->_plans )
|
6027 |
+
) {
|
6028 |
+
return true;
|
6029 |
+
}
|
6030 |
+
|
6031 |
+
return ( 1 === count( $this->_plans ) );
|
6032 |
+
}
|
6033 |
+
|
6034 |
/**
|
6035 |
* Check if plan based on trial. If not in trial mode, should return false.
|
6036 |
*
|
6171 |
* @since 1.2.0
|
6172 |
*/
|
6173 |
function _add_license_activation() {
|
6174 |
+
if ( ! $this->is_user_admin() ) {
|
6175 |
// Only admins can activate a license.
|
6176 |
return;
|
6177 |
}
|
6206 |
* @since 1.1.9
|
6207 |
*/
|
6208 |
function _activate_license_ajax_action() {
|
6209 |
+
$this->_logger->entrance();
|
6210 |
+
|
6211 |
+
$this->check_ajax_referer( 'activate_license' );
|
6212 |
+
|
6213 |
$license_key = trim( fs_request_get( 'license_key' ) );
|
6214 |
|
6215 |
if ( empty( $license_key ) ) {
|
6216 |
exit;
|
6217 |
}
|
6218 |
|
6219 |
+
$slug = fs_request_get( 'slug', '', 'post' );
|
6220 |
+
$fs = ( $slug === $this->_slug ) ?
|
6221 |
+
$this :
|
6222 |
+
$this->get_addon_instance( $slug );
|
6223 |
+
|
6224 |
$error = false;
|
6225 |
$next_page = false;
|
6226 |
|
6227 |
+
if ( $fs->is_registered() ) {
|
6228 |
$api = $fs->get_api_site_scope();
|
6229 |
$install = $api->call( '/', 'put', array(
|
6230 |
+
'license_key' => $fs->apply_filters( 'license_key', $license_key )
|
6231 |
) );
|
6232 |
|
6233 |
if ( isset( $install->error ) ) {
|
6234 |
$error = $install->error->message;
|
6235 |
} else {
|
6236 |
+
$parent_fs = $fs->is_addon() ?
|
6237 |
+
$fs->get_parent_instance() :
|
6238 |
+
$fs;
|
6239 |
|
6240 |
+
$next_page = $parent_fs->_get_sync_license_url( $fs->get_id(), true );
|
6241 |
|
6242 |
+
$fs->reconnect_locally();
|
6243 |
}
|
6244 |
} else {
|
6245 |
+
$next_page = $fs->opt_in( false, false, false, $license_key );
|
6246 |
|
6247 |
if ( isset( $next_page->error ) ) {
|
6248 |
$error = $next_page->error;
|
6271 |
* @since 1.2.1.5
|
6272 |
*/
|
6273 |
function _update_billing_ajax_action() {
|
6274 |
+
$this->_logger->entrance();
|
6275 |
|
6276 |
+
$this->check_ajax_referer( 'update_billing' );
|
6277 |
+
|
6278 |
+
if ( ! $this->is_user_admin() ) {
|
6279 |
// Only for admins.
|
6280 |
self::shoot_ajax_failure();
|
6281 |
}
|
6304 |
* @since 1.2.1.5
|
6305 |
*/
|
6306 |
function _start_trial_ajax_action() {
|
6307 |
+
$this->_logger->entrance();
|
6308 |
|
6309 |
+
$this->check_ajax_referer( 'start_trial' );
|
6310 |
+
|
6311 |
+
if ( ! $this->is_user_admin() ) {
|
6312 |
// Only for admins.
|
6313 |
self::shoot_ajax_failure();
|
6314 |
}
|
6342 |
* @since 1.2.0
|
6343 |
*/
|
6344 |
function _resend_license_key_ajax_action() {
|
6345 |
+
$this->_logger->entrance();
|
6346 |
+
|
6347 |
+
$this->check_ajax_referer( 'resend_license_key' );
|
6348 |
+
|
6349 |
+
$email_address = sanitize_email( trim( fs_request_get( 'email', '', 'post' ) ) );
|
6350 |
|
|
|
6351 |
if ( empty( $email_address ) ) {
|
6352 |
exit;
|
6353 |
}
|
6366 |
$error = $result->error;
|
6367 |
|
6368 |
if ( in_array( $error->code, array( 'invalid_email', 'no_user' ) ) ) {
|
6369 |
+
$error = $this->get_text( 'email-not-found' );
|
6370 |
} else if ( 'no_license' === $error->code ) {
|
6371 |
+
$error = $this->get_text( 'no-active-licenses' );
|
6372 |
} else {
|
6373 |
$error = $error->message;
|
6374 |
}
|
6379 |
);
|
6380 |
|
6381 |
if ( false !== $error ) {
|
6382 |
+
$licenses['error'] = sprintf( '%s... %s', $this->get_text( 'oops' ), strtolower( $error ) );
|
6383 |
}
|
6384 |
|
6385 |
echo json_encode( $licenses );
|
6395 |
*
|
6396 |
* @return bool
|
6397 |
*/
|
6398 |
+
function is_plugins_page() {
|
6399 |
global $pagenow;
|
6400 |
|
6401 |
return ( 'plugins.php' === $pagenow );
|
6402 |
}
|
6403 |
|
6404 |
+
/**
|
6405 |
+
* Helper method to check if user in the themes page.
|
6406 |
+
*
|
6407 |
+
* @author Vova Feldman (@svovaf)
|
6408 |
+
* @since 1.2.2.6
|
6409 |
+
*
|
6410 |
+
* @return bool
|
6411 |
+
*/
|
6412 |
+
function is_themes_page() {
|
6413 |
+
global $pagenow;
|
6414 |
+
|
6415 |
+
return ( 'themes.php' === $pagenow );
|
6416 |
+
}
|
6417 |
+
|
6418 |
#----------------------------------------------------------------------------------
|
6419 |
#region URL Generators
|
6420 |
#----------------------------------------------------------------------------------
|
6593 |
return $this->_is_premium_only;
|
6594 |
}
|
6595 |
|
6596 |
+
/**
|
6597 |
+
* Checks if the plugin's type is "plugin". The other type is "theme".
|
6598 |
+
*
|
6599 |
+
* @author Leo Fajardo (@leorw)
|
6600 |
+
* @since 1.2.2
|
6601 |
+
*
|
6602 |
+
* @return bool
|
6603 |
+
*/
|
6604 |
+
function is_plugin() {
|
6605 |
+
return true;
|
6606 |
+
}
|
6607 |
+
|
6608 |
/**
|
6609 |
* Check if module has a premium code version.
|
6610 |
*
|
6731 |
$ajax_action = fs_request_get( 'action' );
|
6732 |
|
6733 |
foreach ( $actions as $action ) {
|
6734 |
+
if ( $ajax_action === self::get_ajax_action_static( $action, $slug ) ) {
|
6735 |
return true;
|
6736 |
}
|
6737 |
}
|
6792 |
}
|
6793 |
}
|
6794 |
|
6795 |
+
$page_param = $this->_menu->get_slug( $page );
|
6796 |
+
|
6797 |
+
if ( ! $this->has_settings_menu() ) {
|
6798 |
+
if ( ! empty( $page ) ) {
|
6799 |
+
// Module doesn't have a setting page, but since the request is for
|
6800 |
+
// a specific Freemius page, use the admin.php path.
|
6801 |
+
return add_query_arg( array_merge( $params, array(
|
6802 |
+
'page' => $page_param,
|
6803 |
+
) ), admin_url( 'admin.php', 'admin' ) );
|
6804 |
+
} else {
|
6805 |
+
if ( $this->is_activation_mode() ) {
|
6806 |
+
/**
|
6807 |
+
* @author Vova Feldman
|
6808 |
+
* @since 1.2.1.6
|
6809 |
+
*
|
6810 |
+
* If plugin doesn't have a settings page, create one for the opt-in screen.
|
6811 |
+
*/
|
6812 |
+
return add_query_arg( array_merge( $params, array(
|
6813 |
+
'page' => $this->_slug,
|
6814 |
+
) ), admin_url( 'admin.php', 'admin' ) );
|
6815 |
+
} else {
|
6816 |
+
// Plugin without a settings page.
|
6817 |
+
return admin_url( 'plugins.php' );
|
6818 |
+
}
|
6819 |
+
}
|
6820 |
+
}
|
6821 |
+
|
6822 |
+
// Module has a submenu settings page.
|
6823 |
+
if ( ! $this->_menu->is_top_level() ) {
|
6824 |
$parent_slug = $this->_menu->get_parent_slug();
|
6825 |
$menu_file = ( false !== strpos( $parent_slug, '.php' ) ) ?
|
6826 |
$parent_slug :
|
6827 |
'admin.php';
|
6828 |
|
6829 |
return add_query_arg( array_merge( $params, array(
|
6830 |
+
'page' => $page_param,
|
6831 |
) ), admin_url( $menu_file, 'admin' ) );
|
6832 |
}
|
6833 |
|
6834 |
+
// Module has a top level CPT settings page.
|
6835 |
if ( $this->_menu->is_cpt() ) {
|
6836 |
if ( empty( $page ) && $this->is_activation_mode() ) {
|
6837 |
return add_query_arg( array_merge( $params, array(
|
6838 |
+
'page' => $page_param
|
6839 |
) ), admin_url( 'admin.php', 'admin' ) );
|
6840 |
} else {
|
6841 |
if ( ! empty( $page ) ) {
|
6842 |
+
$params['page'] = $page_param;
|
6843 |
}
|
6844 |
|
6845 |
+
return add_query_arg(
|
6846 |
+
$params,
|
6847 |
+
admin_url( $this->_menu->get_raw_slug(), 'admin' )
|
6848 |
+
);
|
6849 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6850 |
}
|
6851 |
+
|
6852 |
+
// Module has a custom top level settings page.
|
6853 |
+
return add_query_arg( array_merge( $params, array(
|
6854 |
+
'page' => $page_param,
|
6855 |
+
) ), admin_url( 'admin.php', 'admin' ) );
|
6856 |
}
|
6857 |
|
6858 |
/**
|
6863 |
*
|
6864 |
* @param bool|number $plugin_id
|
6865 |
* @param bool $add_action_nonce
|
6866 |
+
* @param array $params
|
6867 |
*
|
6868 |
* @return string
|
6869 |
*/
|
6870 |
+
function _get_sync_license_url( $plugin_id = false, $add_action_nonce = true, $params = array() ) {
|
|
|
|
|
6871 |
if ( is_numeric( $plugin_id ) ) {
|
6872 |
$params['plugin_id'] = $plugin_id;
|
6873 |
}
|
6993 |
|
6994 |
/* Security
|
6995 |
------------------------------------------------------------------------------------------------------------------*/
|
6996 |
+
private static function _encrypt( $str ) {
|
6997 |
if ( is_null( $str ) ) {
|
6998 |
return null;
|
6999 |
}
|
7000 |
|
7001 |
+
/**
|
7002 |
+
* The encrypt/decrypt functions are used to protect
|
7003 |
+
* the user from messing up with some of the sensitive
|
7004 |
+
* data stored for the module as a JSON in the database.
|
7005 |
+
*
|
7006 |
+
* I used the same suggested hack by the theme review team.
|
7007 |
+
* For more details, look at the function `Base64UrlDecode()`
|
7008 |
+
* in `./sdk/FreemiusBase.php`.
|
7009 |
+
*
|
7010 |
+
* @todo Remove this hack once the base64 error is removed from the Theme Check.
|
7011 |
+
*
|
7012 |
+
* @author Vova Feldman (@svovaf)
|
7013 |
+
* @since 1.2.2
|
7014 |
+
*/
|
7015 |
+
$fn = 'base64' . '_encode';
|
7016 |
+
|
7017 |
+
return $fn( $str );
|
7018 |
}
|
7019 |
|
7020 |
+
static function _decrypt( $str ) {
|
7021 |
if ( is_null( $str ) ) {
|
7022 |
return null;
|
7023 |
}
|
7024 |
|
7025 |
+
/**
|
7026 |
+
* The encrypt/decrypt functions are used to protect
|
7027 |
+
* the user from messing up with some of the sensitive
|
7028 |
+
* data stored for the module as a JSON in the database.
|
7029 |
+
*
|
7030 |
+
* I used the same suggested hack by the theme review team.
|
7031 |
+
* For more details, look at the function `Base64UrlDecode()`
|
7032 |
+
* in `./sdk/FreemiusBase.php`.
|
7033 |
+
*
|
7034 |
+
* @todo Remove this hack once the base64 error is removed from the Theme Check.
|
7035 |
+
*
|
7036 |
+
* @author Vova Feldman (@svovaf)
|
7037 |
+
* @since 1.2.2
|
7038 |
+
*/
|
7039 |
+
$fn = 'base64' . '_decode';
|
7040 |
+
|
7041 |
+
return $fn( $str );
|
7042 |
}
|
7043 |
|
7044 |
/**
|
7049 |
*
|
7050 |
* @return FS_Entity Return an encrypted clone entity.
|
7051 |
*/
|
7052 |
+
private static function _encrypt_entity( FS_Entity $entity ) {
|
7053 |
$clone = clone $entity;
|
7054 |
$props = get_object_vars( $entity );
|
7055 |
|
7056 |
foreach ( $props as $key => $val ) {
|
7057 |
+
$clone->{$key} = self::_encrypt( $val );
|
7058 |
}
|
7059 |
|
7060 |
return $clone;
|
7068 |
*
|
7069 |
* @return FS_Entity Return an decrypted clone entity.
|
7070 |
*/
|
7071 |
+
private static function _decrypt_entity( FS_Entity $entity ) {
|
7072 |
$clone = clone $entity;
|
7073 |
$props = get_object_vars( $entity );
|
7074 |
|
7075 |
foreach ( $props as $key => $val ) {
|
7076 |
+
$clone->{$key} = self::_decrypt( $val );
|
7077 |
}
|
7078 |
|
7079 |
return $clone;
|
7191 |
) {
|
7192 |
// Load site.
|
7193 |
$this->_site = clone $site;
|
7194 |
+
$this->_site->plan = self::_decrypt_entity( $this->_site->plan );
|
7195 |
|
7196 |
// Load relevant user.
|
7197 |
$this->_user = clone $users[ $this->_site->user_id ];
|
7203 |
} else {
|
7204 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
7205 |
if ( $this->_plans[ $i ] instanceof FS_Plugin_Plan ) {
|
7206 |
+
$this->_plans[ $i ] = self::_decrypt_entity( $this->_plans[ $i ] );
|
7207 |
} else {
|
7208 |
unset( $this->_plans[ $i ] );
|
7209 |
}
|
7512 |
* @param FS_User $user
|
7513 |
* @param FS_Site $site
|
7514 |
* @param bool $redirect
|
7515 |
+
* @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will
|
7516 |
+
* redirect (or return a URL) to the account page with a special parameter to
|
7517 |
+
* trigger the auto installation processes.
|
7518 |
*
|
7519 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7520 |
*/
|
7521 |
+
function setup_account(
|
7522 |
+
FS_User $user,
|
7523 |
+
FS_Site $site,
|
7524 |
+
$redirect = true,
|
7525 |
+
$auto_install = false
|
7526 |
+
) {
|
7527 |
$this->_user = $user;
|
7528 |
$this->_site = $site;
|
7529 |
|
7558 |
|
7559 |
if ( ! $this->is_paying_or_trial() ) {
|
7560 |
$this->_admin_notices->add_sticky(
|
7561 |
+
sprintf( $this->get_text( 'plugin-x-activation-message' ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
7562 |
'activation_complete'
|
7563 |
);
|
7564 |
}
|
7569 |
if ( $this->is_paying() ) {
|
7570 |
$this->_admin_notices->add_sticky(
|
7571 |
sprintf(
|
7572 |
+
$this->get_text( 'activation-with-plan-x-message' ),
|
7573 |
$this->_site->plan->title
|
7574 |
) . $this->get_complete_upgrade_instructions(),
|
7575 |
'plan_upgraded',
|
7576 |
+
$this->get_text( 'yee-haw' ) . '!'
|
7577 |
);
|
7578 |
} else {
|
7579 |
$this->_admin_notices->add_sticky(
|
7580 |
sprintf(
|
7581 |
+
$this->get_text( 'trial-started-message' ),
|
7582 |
'<i>' . $this->get_plugin_name() . '</i>'
|
7583 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
7584 |
'trial_started',
|
7585 |
+
$this->get_text( 'yee-haw' ) . '!'
|
7586 |
);
|
7587 |
}
|
7588 |
}
|
7601 |
|
7602 |
$next_page = '';
|
7603 |
|
7604 |
+
$extra = array();
|
7605 |
+
if ( $auto_install ) {
|
7606 |
+
$extra['auto_install'] = 'true';
|
7607 |
+
}
|
7608 |
+
|
7609 |
if ( is_numeric( $plugin_id ) ) {
|
7610 |
/**
|
7611 |
* @author Leo Fajardo
|
7615 |
*/
|
7616 |
if ( $this->is_anonymous() || $plugin_id != $this->_plugin->id ) {
|
7617 |
// Add-on was installed - sync license right after install.
|
7618 |
+
$next_page = $this->_get_sync_license_url( $plugin_id, true, $extra );
|
7619 |
}
|
7620 |
} else {
|
7621 |
/**
|
7629 |
// Reload the page with the keys.
|
7630 |
$next_page = $this->is_anonymous() ?
|
7631 |
// If user previously skipped, redirect to account page.
|
7632 |
+
$this->get_account_url( false, $extra ) :
|
7633 |
$this->get_after_activation_url( 'after_connect_url' );
|
7634 |
}
|
7635 |
|
7663 |
fs_request_get( 'user_secret_key' ),
|
7664 |
fs_request_get( 'install_id' ),
|
7665 |
fs_request_get( 'install_public_key' ),
|
7666 |
+
fs_request_get( 'install_secret_key' ),
|
7667 |
+
true,
|
7668 |
+
fs_request_get_bool( 'auto_install' )
|
7669 |
);
|
7670 |
} else if ( fs_request_has( 'pending_activation' ) ) {
|
7671 |
$this->set_pending_confirmation( fs_request_get( 'user_email' ), true );
|
7686 |
* @param string $install_public_key
|
7687 |
* @param string $install_secret_key
|
7688 |
* @param bool $redirect
|
7689 |
+
* @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will
|
7690 |
+
* redirect (or return a URL) to the account page with a special parameter to
|
7691 |
+
* trigger the auto installation processes.
|
7692 |
*
|
7693 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
7694 |
*/
|
7699 |
$install_id,
|
7700 |
$install_public_key,
|
7701 |
$install_secret_key,
|
7702 |
+
$redirect = true,
|
7703 |
+
$auto_install = false
|
7704 |
) {
|
7705 |
$user = new FS_User();
|
7706 |
$user->id = $user_id;
|
7722 |
$site = new FS_Site( $site_result );
|
7723 |
$this->_site = $site;
|
7724 |
|
7725 |
+
return $this->setup_account(
|
7726 |
+
$this->_user,
|
7727 |
+
$this->_site,
|
7728 |
+
$redirect,
|
7729 |
+
$auto_install
|
7730 |
+
);
|
7731 |
}
|
7732 |
|
7733 |
/**
|
7864 |
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
7865 |
|
7866 |
$this->_admin_notices->add(
|
7867 |
+
sprintf( $this->get_text( 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
7868 |
+
$this->get_text( 'contact-us-with-error-message' ) . ' ' . '<b>' . $install->error->message . '</b>',
|
7869 |
+
$this->get_text( 'oops' ) . '...',
|
7870 |
'error'
|
7871 |
);
|
7872 |
|
7908 |
|
7909 |
if ( isset( $addon_install->error ) ) {
|
7910 |
$this->_admin_notices->add(
|
7911 |
+
sprintf( $this->get_text( 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
7912 |
+
$this->get_text( 'contact-us-with-error-message' ) . ' ' . '<b>' . $addon_install->error->message . '</b>',
|
7913 |
+
$this->get_text( 'oops' ) . '...',
|
7914 |
'error'
|
7915 |
);
|
7916 |
|
7994 |
fs_request_is_action( $this->_slug . '_activate_new' )
|
7995 |
) {
|
7996 |
$this->_install_with_new_user();
|
7997 |
+
} else if ( fs_request_is_action( 'sync_user' ) && ! $this->has_settings_menu() ) {
|
7998 |
+
$this->_handle_account_user_sync();
|
7999 |
}
|
8000 |
}
|
8001 |
}
|
8035 |
|
8036 |
$hook = false;
|
8037 |
|
8038 |
+
if ( ! $this->_menu->has_menu() ) {
|
8039 |
// Add the opt-in page without a menu item.
|
8040 |
+
$hook = FS_Admin_Menu_Manager::add_subpage(
|
8041 |
null,
|
8042 |
$this->get_plugin_name(),
|
8043 |
$this->get_plugin_name(),
|
8050 |
|
8051 |
if ( false === $hook ) {
|
8052 |
// Create new menu item just for the opt-in.
|
8053 |
+
$hook = FS_Admin_Menu_Manager::add_page(
|
8054 |
$this->get_plugin_name(),
|
8055 |
$this->get_plugin_name(),
|
8056 |
'manage_options',
|
8062 |
$menus = array( $this->_menu->get_parent_slug() );
|
8063 |
|
8064 |
if ( $this->_menu->is_override_exact() ) {
|
8065 |
+
if ( ! $this->is_matching_url( $_SERVER['REQUEST_URI'], $this->get_activation_url() ) ) {
|
|
|
|
|
|
|
|
|
|
|
8066 |
return;
|
8067 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8068 |
}
|
8069 |
|
8070 |
foreach ( $menus as $parent_slug ) {
|
8081 |
}
|
8082 |
}
|
8083 |
|
8084 |
+
if ( $this->is_activation_page() ) {
|
8085 |
// Clean admin page from distracting content.
|
8086 |
self::_clean_admin_content_section();
|
8087 |
}
|
8145 |
if ( $this->is_registered() ) {
|
8146 |
// Add user account page.
|
8147 |
$this->add_submenu_item(
|
8148 |
+
$this->get_text( 'account' ),
|
8149 |
array( &$this, '_account_page_render' ),
|
8150 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'account' ),
|
8151 |
'manage_options',
|
8152 |
'account',
|
8153 |
array( &$this, '_account_page_load' ),
|
8154 |
WP_FS__DEFAULT_PRIORITY,
|
8155 |
+
$this->is_submenu_item_visible( 'account' )
|
8156 |
);
|
8157 |
}
|
8158 |
|
8159 |
// Add contact page.
|
8160 |
$this->add_submenu_item(
|
8161 |
+
$this->get_text( 'contact-us' ),
|
8162 |
array( &$this, '_contact_page_render' ),
|
8163 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'contact-us' ),
|
8164 |
'manage_options',
|
8165 |
'contact',
|
8166 |
'Freemius::_clean_admin_content_section',
|
8167 |
WP_FS__DEFAULT_PRIORITY,
|
8168 |
+
$this->is_submenu_item_visible( 'contact' )
|
8169 |
);
|
8170 |
|
8171 |
if ( $this->has_addons() ) {
|
8172 |
$this->add_submenu_item(
|
8173 |
+
$this->get_text( 'add-ons' ),
|
8174 |
array( &$this, '_addons_page_render' ),
|
8175 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'add-ons' ),
|
8176 |
'manage_options',
|
8177 |
'addons',
|
8178 |
array( &$this, '_addons_page_load' ),
|
8179 |
WP_FS__LOWEST_PRIORITY - 1,
|
8180 |
+
$this->is_submenu_item_visible( 'addons' )
|
8181 |
);
|
8182 |
}
|
8183 |
|
8184 |
+
$show_pricing = (
|
8185 |
+
// Has at least one paid plan.
|
8186 |
+
$this->has_paid_plan() &&
|
8187 |
+
// Didn't ask to hide the pricing page.
|
8188 |
+
$this->is_submenu_item_visible( 'pricing' ) &&
|
8189 |
+
// Don't have a valid active license or has more than one plan.
|
8190 |
+
( ! $this->is_paying() || ! $this->is_single_plan() )
|
8191 |
+
);
|
8192 |
// If user don't have paid plans, add pricing page
|
8193 |
// to support add-ons checkout but don't add the submenu item.
|
8194 |
// || (isset( $_GET['page'] ) && $this->_menu->get_slug( 'pricing' ) == $_GET['page']);
|
8210 |
|
8211 |
// Add upgrade/pricing page.
|
8212 |
$this->add_submenu_item(
|
8213 |
+
$this->get_text( $pricing_cta_slug ) . ' ' . ( is_rtl() ? '←' : '➤' ),
|
8214 |
array( &$this, '_pricing_page_render' ),
|
8215 |
+
$this->get_plugin_name() . ' – ' . $this->get_text( 'pricing' ),
|
8216 |
'manage_options',
|
8217 |
'pricing',
|
8218 |
'Freemius::_clean_admin_content_section',
|
8269 |
$menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
|
8270 |
|
8271 |
if ( ! isset( $item['url'] ) ) {
|
8272 |
+
$hook = FS_Admin_Menu_Manager::add_subpage(
|
8273 |
$item['show_submenu'] ?
|
8274 |
$this->get_top_level_menu_slug() :
|
8275 |
null,
|
8284 |
add_action( "load-$hook", $item['before_render_function'] );
|
8285 |
}
|
8286 |
} else {
|
8287 |
+
FS_Admin_Menu_Manager::add_subpage(
|
8288 |
$this->get_top_level_menu_slug(),
|
8289 |
$item['page_title'],
|
8290 |
$menu_item,
|
8377 |
}
|
8378 |
|
8379 |
if ( ! $this->is_activation_mode() ) {
|
8380 |
+
if ( $this->is_submenu_item_visible( 'support' ) ) {
|
8381 |
$this->add_submenu_link_item(
|
8382 |
+
$this->apply_filters( 'support_forum_submenu', $this->get_text( 'support-forum' ) ),
|
8383 |
$this->apply_filters( 'support_forum_url', 'https://wordpress.org/support/plugin/' . $this->_slug ),
|
8384 |
'wp-support-forum',
|
8385 |
null,
|
8505 |
|
8506 |
#endregion ------------------------------------------------------------------
|
8507 |
|
8508 |
+
#--------------------------------------------------------------------------------
|
8509 |
+
#region Actions / Hooks / Filters
|
8510 |
+
#--------------------------------------------------------------------------------
|
8511 |
+
|
8512 |
/**
|
8513 |
* @author Vova Feldman (@svovaf)
|
8514 |
* @since 1.1.7
|
8542 |
*
|
8543 |
* @return string
|
8544 |
*/
|
8545 |
+
function get_ajax_action( $tag ) {
|
8546 |
+
return self::get_ajax_action_static( $tag, $this->_slug );
|
8547 |
+
}
|
8548 |
+
|
8549 |
+
/**
|
8550 |
+
* @author Vova Feldman (@svovaf)
|
8551 |
+
* @since 1.2.1.7
|
8552 |
+
*
|
8553 |
+
* @param string $tag
|
8554 |
+
*
|
8555 |
+
* @return string
|
8556 |
+
*/
|
8557 |
+
function get_ajax_security( $tag ) {
|
8558 |
+
return wp_create_nonce( $this->get_ajax_action( $tag ) );
|
8559 |
+
}
|
8560 |
+
|
8561 |
+
/**
|
8562 |
+
* @author Vova Feldman (@svovaf)
|
8563 |
+
* @since 1.2.1.7
|
8564 |
+
*
|
8565 |
+
* @param string $tag
|
8566 |
+
*/
|
8567 |
+
function check_ajax_referer( $tag ) {
|
8568 |
+
check_ajax_referer( $this->get_ajax_action( $tag ), 'security' );
|
8569 |
}
|
8570 |
|
8571 |
/**
|
8577 |
*
|
8578 |
* @return string
|
8579 |
*/
|
8580 |
+
private static function get_ajax_action_static( $tag, $slug = '' ) {
|
8581 |
+
$action = "fs_{$tag}";
|
8582 |
+
|
8583 |
+
if ( ! empty( $slug ) ) {
|
8584 |
+
$action .= "_{$slug}";
|
8585 |
+
}
|
8586 |
+
|
8587 |
+
return $action;
|
8588 |
}
|
8589 |
|
8590 |
/**
|
8623 |
*
|
8624 |
* @uses add_action()
|
8625 |
*/
|
8626 |
+
function add_action(
|
8627 |
+
$tag,
|
8628 |
+
$function_to_add,
|
8629 |
+
$priority = WP_FS__DEFAULT_PRIORITY,
|
8630 |
+
$accepted_args = 1
|
8631 |
+
) {
|
8632 |
$this->_logger->entrance( $tag );
|
8633 |
|
8634 |
add_action( $this->get_action_tag( $tag ), $function_to_add, $priority, $accepted_args );
|
8691 |
}
|
8692 |
|
8693 |
add_action(
|
8694 |
+
'wp_ajax_' . self::get_ajax_action_static( $tag, $slug ),
|
8695 |
$function_to_add,
|
8696 |
$priority,
|
8697 |
0
|
8803 |
return has_filter( $this->get_action_tag( $tag ), $function_to_check );
|
8804 |
}
|
8805 |
|
8806 |
+
#endregion
|
8807 |
+
|
8808 |
/**
|
8809 |
* Override default i18n text phrases.
|
8810 |
*
|
8839 |
}
|
8840 |
|
8841 |
$encrypted_site = clone $this->_site;
|
8842 |
+
$encrypted_site->plan = self::_encrypt_entity( $this->_site->plan );
|
8843 |
|
8844 |
$sites = self::get_all_sites();
|
8845 |
$sites[ $this->_slug ] = $encrypted_site;
|
8862 |
// Copy plans.
|
8863 |
$encrypted_plans = array();
|
8864 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
8865 |
+
$encrypted_plans[] = self::_encrypt_entity( $this->_plans[ $i ] );
|
8866 |
}
|
8867 |
|
8868 |
$plans[ $this->_slug ] = $encrypted_plans;
|
9041 |
$this->_user->last = $user->last;
|
9042 |
$this->_user->email = $user->email;
|
9043 |
|
9044 |
+
$is_menu_item_account_visible = $this->is_submenu_item_visible( 'account' );
|
9045 |
|
9046 |
if ( $user->is_verified &&
|
9047 |
( ! isset( $this->_user->is_verified ) || false === $this->_user->is_verified )
|
9051 |
$this->do_action( 'account_email_verified', $user->email );
|
9052 |
|
9053 |
$this->_admin_notices->add(
|
9054 |
+
$this->get_text( 'email-verified-message' ),
|
9055 |
+
$this->get_text( 'right-on' ) . '!',
|
9056 |
'success',
|
9057 |
// Make admin sticky if account menu item is invisible,
|
9058 |
// since the page will be auto redirected to the plugin's
|
9305 |
$plugin_id = $this->_plugin->id;
|
9306 |
}
|
9307 |
|
9308 |
+
$result = $api->get( "/plugins/{$plugin_id}/payments.json?include_addons=true", true );
|
9309 |
|
9310 |
if ( ! isset( $result->error ) ) {
|
9311 |
for ( $i = 0, $len = count( $result->payments ); $i < $len; $i ++ ) {
|
9482 |
return $this->is_trial() || $this->has_features_enabled_license();
|
9483 |
}
|
9484 |
|
9485 |
+
/**
|
9486 |
+
* Checks if the current user can activate plugins or switch themes. Note that this method should only be used
|
9487 |
+
* after the `init` action is triggered because it is using `current_user_can()` which is only functional after
|
9488 |
+
* the context user is authenticated.
|
9489 |
+
*
|
9490 |
+
* @author Leo Fajardo (@leorw)
|
9491 |
+
* @since 1.2.2
|
9492 |
+
*
|
9493 |
+
* @return bool
|
9494 |
+
*/
|
9495 |
+
function is_user_admin() {
|
9496 |
+
return current_user_can( 'activate_plugins' );
|
9497 |
+
}
|
9498 |
+
|
9499 |
/**
|
9500 |
* Sync site's plan.
|
9501 |
*
|
9579 |
$this->_admin_notices->add_sticky(
|
9580 |
FS_Plan_Manager::instance()->has_free_plan( $plans ) ?
|
9581 |
sprintf(
|
9582 |
+
$this->get_text( 'addon-successfully-upgraded-message' ),
|
9583 |
$addon->title
|
9584 |
) . ' ' . $this->get_latest_download_link(
|
9585 |
+
$this->get_text( 'download-latest-version' ),
|
9586 |
$addon_id
|
9587 |
)
|
9588 |
:
|
9589 |
sprintf(
|
9590 |
+
$this->get_text( 'addon-successfully-purchased-message' ),
|
9591 |
$addon->title
|
9592 |
) . ' ' . $this->get_latest_download_link(
|
9593 |
+
$this->get_text( 'download-latest-version' ),
|
9594 |
$addon_id
|
9595 |
),
|
9596 |
'addon_plan_upgraded_' . $addon->slug,
|
9597 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9598 |
);
|
9599 |
}
|
9600 |
}
|
9639 |
if ( ! self::$_global_admin_notices->has_sticky( 'api_blocked' ) ) {
|
9640 |
self::$_global_admin_notices->add(
|
9641 |
sprintf(
|
9642 |
+
$this->get_text( 'server-blocking-access' ),
|
9643 |
$this->get_plugin_name(),
|
9644 |
'<a href="' . $api->get_url() . '" target="_blank">' . $api->get_url() . '</a>'
|
9645 |
+
) . '<br> ' . $this->get_text( 'server-error-message' ) . var_export( $site->error, true ),
|
9646 |
+
$this->get_text( 'oops' ) . '...',
|
9647 |
'error',
|
9648 |
$background,
|
9649 |
false,
|
9653 |
} else {
|
9654 |
// Authentication params are broken.
|
9655 |
$this->_admin_notices->add(
|
9656 |
+
$this->get_text( 'wrong-authentication-param-message' ),
|
9657 |
+
$this->get_text( 'oops' ) . '...',
|
9658 |
'error'
|
9659 |
);
|
9660 |
}
|
9781 |
if ( $plan->is_free() ) {
|
9782 |
$this->_admin_notices->add(
|
9783 |
sprintf(
|
9784 |
+
$this->get_text( 'plan-did-not-change-message' ),
|
9785 |
+
'<i><b>' . $plan->title . ( $this->is_trial() ? ' ' . $this->get_text( 'trial' ) : '' ) . '</b></i>'
|
9786 |
) . ' ' . sprintf(
|
9787 |
'<a href="%s">%s</a>',
|
9788 |
$this->contact_url(
|
9789 |
'bug',
|
9790 |
+
sprintf( $this->get_text( 'plan-did-not-change-email-message' ),
|
9791 |
strtoupper( $plan->name )
|
9792 |
)
|
9793 |
),
|
9794 |
+
$this->get_text( 'contact-us-here' )
|
9795 |
),
|
9796 |
+
$this->get_text( 'hmm' ) . '...'
|
9797 |
);
|
9798 |
}
|
9799 |
}
|
9801 |
case 'upgraded':
|
9802 |
$this->_admin_notices->add_sticky(
|
9803 |
sprintf(
|
9804 |
+
$this->get_text( 'plan-upgraded-message' ),
|
9805 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9806 |
) . $this->get_complete_upgrade_instructions(),
|
9807 |
'plan_upgraded',
|
9808 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9809 |
);
|
9810 |
|
9811 |
$this->_admin_notices->remove_sticky( array(
|
9818 |
case 'changed':
|
9819 |
$this->_admin_notices->add_sticky(
|
9820 |
sprintf(
|
9821 |
+
$this->get_text( 'plan-changed-to-x-message' ),
|
9822 |
$this->_site->plan->title
|
9823 |
),
|
9824 |
'plan_changed'
|
9833 |
break;
|
9834 |
case 'downgraded':
|
9835 |
$this->_admin_notices->add_sticky(
|
9836 |
+
sprintf( $this->get_text( 'license-expired-blocking-message' ) ),
|
9837 |
'license_expired',
|
9838 |
+
$this->get_text( 'hmm' ) . '...'
|
9839 |
);
|
9840 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9841 |
break;
|
9842 |
case 'cancelled':
|
9843 |
$this->_admin_notices->add(
|
9844 |
+
$this->get_text( 'license-cancelled' ) . ' ' .
|
9845 |
sprintf(
|
9846 |
'<a href="%s">%s</a>',
|
9847 |
$this->contact_url( 'bug' ),
|
9848 |
+
$this->get_text( 'contact-us-here' )
|
9849 |
),
|
9850 |
+
$this->get_text( 'hmm' ) . '...',
|
9851 |
'error'
|
9852 |
);
|
9853 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9854 |
break;
|
9855 |
case 'expired':
|
9856 |
$this->_admin_notices->add_sticky(
|
9857 |
+
sprintf( $this->get_text( 'license-expired-non-blocking-message' ), $this->_site->plan->title ),
|
9858 |
'license_expired',
|
9859 |
+
$this->get_text( 'hmm' ) . '...'
|
9860 |
);
|
9861 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
9862 |
break;
|
9863 |
case 'trial_started':
|
9864 |
$this->_admin_notices->add_sticky(
|
9865 |
sprintf(
|
9866 |
+
$this->get_text( 'trial-started-message' ),
|
9867 |
'<i>' . $this->get_plugin_name() . '</i>'
|
9868 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
9869 |
'trial_started',
|
9870 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9871 |
);
|
9872 |
|
9873 |
$this->_admin_notices->remove_sticky( array(
|
9876 |
break;
|
9877 |
case 'trial_expired':
|
9878 |
$this->_admin_notices->add_sticky(
|
9879 |
+
$this->get_text( 'trial-expired-message' ),
|
9880 |
'trial_expired',
|
9881 |
+
$this->get_text( 'hmm' ) . '...'
|
9882 |
);
|
9883 |
$this->_admin_notices->remove_sticky( array(
|
9884 |
'trial_started',
|
9946 |
if ( ! $background ) {
|
9947 |
$this->_admin_notices->add( sprintf(
|
9948 |
'%s %s',
|
9949 |
+
$this->get_text( 'license-activation-failed-message' ),
|
9950 |
( is_object( $license ) && isset( $license->error ) ?
|
9951 |
$license->error->message :
|
9952 |
sprintf( '%s<br><code>%s</code>',
|
9953 |
+
$this->get_text( 'server-error-message' ),
|
9954 |
var_export( $license, true )
|
9955 |
)
|
9956 |
)
|
9957 |
),
|
9958 |
+
$this->get_text( 'hmm' ) . '...',
|
9959 |
'error'
|
9960 |
);
|
9961 |
}
|
9977 |
|
9978 |
if ( ! $background ) {
|
9979 |
$this->_admin_notices->add_sticky(
|
9980 |
+
$this->get_text( 'license-activated-message' ) .
|
9981 |
$this->get_complete_upgrade_instructions(),
|
9982 |
'license_activated',
|
9983 |
+
$this->get_text( 'yee-haw' ) . '!'
|
9984 |
);
|
9985 |
}
|
9986 |
|
10001 |
|
10002 |
if ( ! is_object( $this->_license ) ) {
|
10003 |
$this->_admin_notices->add(
|
10004 |
+
sprintf( $this->get_text( 'no-active-license-message' ), $this->_site->plan->title ),
|
10005 |
+
$this->get_text( 'hmm' ) . '...'
|
10006 |
);
|
10007 |
|
10008 |
return;
|
10013 |
|
10014 |
if ( isset( $license->error ) ) {
|
10015 |
$this->_admin_notices->add(
|
10016 |
+
$this->get_text( 'license-deactivation-failed-message' ) . '<br> ' .
|
10017 |
+
$this->get_text( 'server-error-message' ) . ' ' . var_export( $license->error, true ),
|
10018 |
+
$this->get_text( 'hmm' ) . '...',
|
10019 |
'error'
|
10020 |
);
|
10021 |
|
10040 |
|
10041 |
if ( $show_notice ) {
|
10042 |
$this->_admin_notices->add(
|
10043 |
+
sprintf( $this->get_text( 'license-deactivation-message' ), $this->_site->plan->title ),
|
10044 |
+
$this->get_text( 'ok' )
|
10045 |
);
|
10046 |
}
|
10047 |
|
10089 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
10090 |
|
10091 |
$this->_admin_notices->add(
|
10092 |
+
sprintf( $this->get_text( 'plan-x-downgraded-message' ),
|
10093 |
$plan->title,
|
10094 |
human_time_diff( time(), strtotime( $this->_license->expiration ) )
|
10095 |
)
|
10099 |
$this->_store_site();
|
10100 |
} else {
|
10101 |
$this->_admin_notices->add(
|
10102 |
+
$this->get_text( 'plan-downgraded-failure-message' ),
|
10103 |
+
$this->get_text( 'oops' ) . '...',
|
10104 |
'error'
|
10105 |
);
|
10106 |
}
|
10120 |
if ( $this->is_trial() ) {
|
10121 |
// Already in trial mode.
|
10122 |
$this->_admin_notices->add(
|
10123 |
+
$this->get_text( 'in-trial-mode' ),
|
10124 |
+
$this->get_text( 'oops' ) . '...',
|
10125 |
'error'
|
10126 |
);
|
10127 |
|
10131 |
if ( $this->_site->is_trial_utilized() ) {
|
10132 |
// Trial was already utilized.
|
10133 |
$this->_admin_notices->add(
|
10134 |
+
$this->get_text( 'trial-utilized' ),
|
10135 |
+
$this->get_text( 'oops' ) . '...',
|
10136 |
'error'
|
10137 |
);
|
10138 |
|
10145 |
if ( false === $plan ) {
|
10146 |
// Plan doesn't exist.
|
10147 |
$this->_admin_notices->add(
|
10148 |
+
sprintf( $this->get_text( 'trial-plan-x-not-exist' ), $plan_name ),
|
10149 |
+
$this->get_text( 'oops' ) . '...',
|
10150 |
'error'
|
10151 |
);
|
10152 |
|
10156 |
if ( ! $plan->has_trial() ) {
|
10157 |
// Plan doesn't exist.
|
10158 |
$this->_admin_notices->add(
|
10159 |
+
sprintf( $this->get_text( 'plan-x-no-trial' ), $plan_name ),
|
10160 |
+
$this->get_text( 'oops' ) . '...',
|
10161 |
'error'
|
10162 |
);
|
10163 |
|
10167 |
if ( ! $this->has_trial_plan() ) {
|
10168 |
// None of the plans have a trial.
|
10169 |
$this->_admin_notices->add(
|
10170 |
+
$this->get_text( 'no-trials' ),
|
10171 |
+
$this->get_text( 'oops' ) . '...',
|
10172 |
'error'
|
10173 |
);
|
10174 |
|
10186 |
if ( ! $this->is_api_result_entity( $plan ) ) {
|
10187 |
// Some API error while trying to start the trial.
|
10188 |
$this->_admin_notices->add(
|
10189 |
+
$this->get_text( 'unexpected-api-error' ) . ' ' . var_export( $plan, true ),
|
10190 |
+
$this->get_text( 'oops' ) . '...',
|
10191 |
'error'
|
10192 |
);
|
10193 |
|
10213 |
|
10214 |
if ( ! $this->is_trial() ) {
|
10215 |
$this->_admin_notices->add(
|
10216 |
+
$this->get_text( 'trial-cancel-no-trial-message' ),
|
10217 |
+
$this->get_text( 'oops' ) . '...',
|
10218 |
'error'
|
10219 |
);
|
10220 |
|
10264 |
! $this->deactivate_premium_only_addon_without_license( true )
|
10265 |
) {
|
10266 |
$this->_admin_notices->add(
|
10267 |
+
sprintf( $this->get_text( 'trial-cancel-message' ), $this->_storage->trial_plan->title )
|
10268 |
);
|
10269 |
}
|
10270 |
|
10272 |
unset( $this->_storage->trial_plan );
|
10273 |
} else {
|
10274 |
$this->_admin_notices->add(
|
10275 |
+
$this->get_text( 'trial-cancel-failure-message' ),
|
10276 |
+
$this->get_text( 'oops' ) . '...',
|
10277 |
'error'
|
10278 |
);
|
10279 |
}
|
10502 |
if ( ! $background ) {
|
10503 |
$this->_admin_notices->add(
|
10504 |
sprintf(
|
10505 |
+
$this->get_text( 'version-x-released' ) . ' ' . $this->get_text( 'please-download-x' ),
|
10506 |
$update->version,
|
10507 |
sprintf(
|
10508 |
'<a href="%s" target="_blank">%s</a>',
|
10509 |
$this->get_account_url( 'download_latest' ),
|
10510 |
+
sprintf( $this->get_text( 'latest-x-version' ), $this->_site->plan->title )
|
10511 |
)
|
10512 |
),
|
10513 |
+
$this->get_text( 'new' ) . '!'
|
10514 |
);
|
10515 |
}
|
10516 |
} else if ( false === $new_version && ! $background ) {
|
10517 |
$this->_admin_notices->add(
|
10518 |
+
$this->get_text( 'you-have-latest' ),
|
10519 |
+
$this->get_text( 'you-are-good' )
|
10520 |
);
|
10521 |
}
|
10522 |
|
10782 |
|
10783 |
if ( ! isset( $result->error ) ) {
|
10784 |
$this->_admin_notices->add( sprintf(
|
10785 |
+
$this->get_text( 'verification-email-sent-message' ),
|
10786 |
sprintf( '<a href="mailto:%1s">%2s</a>', esc_url( $this->_user->email ), $this->_user->email )
|
10787 |
) );
|
10788 |
} else {
|
10800 |
* @return string
|
10801 |
*/
|
10802 |
private function get_activation_url( $params = array() ) {
|
10803 |
+
if ( $this->is_addon() ) {
|
10804 |
+
/**
|
10805 |
+
* @author Vova Feldman (@svovaf)
|
10806 |
+
* @since 1.2.1.7 Add-on's activation is the parent's module activation.
|
10807 |
+
*/
|
10808 |
+
return $this->get_parent_instance()->get_activation_url( $params );
|
10809 |
+
}
|
10810 |
+
|
10811 |
return $this->apply_filters( 'connect_url', $this->_get_admin_page_url( '', $params ) );
|
10812 |
}
|
10813 |
|
10855 |
*
|
10856 |
*/
|
10857 |
private function _handle_account_edits() {
|
10858 |
+
if ( ! $this->is_user_admin() ) {
|
10859 |
return;
|
10860 |
}
|
10861 |
|
10938 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10939 |
|
10940 |
if ( $this->init_change_owner( $candidate_email ) ) {
|
10941 |
+
$this->_admin_notices->add( sprintf( $this->get_text( 'change-owner-request-sent-x' ), '<b>' . $this->_user->email . '</b>' ) );
|
10942 |
}
|
10943 |
break;
|
10944 |
case 'owner_confirmed':
|
10945 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
10946 |
|
10947 |
+
$this->_admin_notices->add( sprintf( $this->get_text( 'change-owner-request_owner-confirmed' ), '<b>' . $candidate_email . '</b>' ) );
|
10948 |
break;
|
10949 |
case 'candidate_confirmed':
|
10950 |
if ( $this->complete_change_owner() ) {
|
10951 |
$this->_admin_notices->add_sticky(
|
10952 |
+
sprintf( $this->get_text( 'change-owner-request_candidate-confirmed' ), '<b>' . $this->_user->email . '</b>' ),
|
10953 |
'ownership_changed',
|
10954 |
+
$this->get_text( 'congrats' ) . '!'
|
10955 |
);
|
10956 |
} else {
|
10957 |
// @todo Handle failed ownership change message.
|
10971 |
switch ( $result->error->code ) {
|
10972 |
case 'user_exist':
|
10973 |
$this->_admin_notices->add(
|
10974 |
+
$this->get_text( 'user-exist-message' ) . ' ' .
|
10975 |
+
sprintf( $this->get_text( 'user-exist-message_ownership' ), '<b>' . $new_email . '</b>' ) .
|
10976 |
sprintf(
|
10977 |
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
10978 |
$this->get_account_url( 'change_owner', array(
|
10979 |
'state' => 'init',
|
10980 |
'candidate_email' => $new_email
|
10981 |
) ),
|
10982 |
+
$this->get_text( 'change-ownership' )
|
10983 |
),
|
10984 |
+
$this->get_text( 'oops' ) . '...',
|
10985 |
'error'
|
10986 |
);
|
10987 |
break;
|
10988 |
}
|
10989 |
} else {
|
10990 |
+
$this->_admin_notices->add( $this->get_text( 'email-updated-message' ) );
|
10991 |
}
|
10992 |
|
10993 |
return;
|
10999 |
|
11000 |
if ( isset( $result->error ) ) {
|
11001 |
$this->_admin_notices->add(
|
11002 |
+
$this->get_text( 'name-update-failed-message' ),
|
11003 |
+
$this->get_text( 'oops' ) . '...',
|
11004 |
'error'
|
11005 |
);
|
11006 |
} else {
|
11007 |
+
$this->_admin_notices->add( $this->get_text( 'name-updated-message' ) );
|
11008 |
}
|
11009 |
|
11010 |
return;
|
11064 |
$this->do_action( 'account_property_edit', 'site', $site_property, $site_property_value );
|
11065 |
|
11066 |
$this->_admin_notices->add( sprintf(
|
11067 |
+
$this->get_text( 'x-updated' ),
|
11068 |
'<b>' . str_replace( '_', ' ', $p ) . '</b>' ) );
|
11069 |
|
11070 |
return;
|
11189 |
|
11190 |
if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
|
11191 |
$this->_admin_notices->add(
|
11192 |
+
sprintf( $this->get_text( 'addons-info-external-message' ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
11193 |
+
$this->get_text( 'heads-up' ),
|
11194 |
'update-nag'
|
11195 |
);
|
11196 |
}
|
11427 |
* @return bool If trial notice added.
|
11428 |
*/
|
11429 |
function _add_trial_notice() {
|
11430 |
+
if ( ! $this->is_user_admin() ) {
|
11431 |
return false;
|
11432 |
}
|
11433 |
|
11496 |
$trial_period = $this->_trial_days;
|
11497 |
$require_payment = $this->_is_trial_require_payment;
|
11498 |
$trial_url = $this->get_trial_url();
|
11499 |
+
$plans_string = strtolower( $this->get_text( 'awesome' ) );
|
11500 |
|
11501 |
if ( $this->is_registered() ) {
|
11502 |
// If opted-in, override trial with up to date data from API.
|
11536 |
}
|
11537 |
|
11538 |
$message = sprintf(
|
11539 |
+
$this->get_text( 'hey' ) . '! ' . $this->get_text( 'trial-x-promotion-message' ),
|
11540 |
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
11541 |
$plans_string,
|
11542 |
$trial_period
|
11544 |
|
11545 |
// "No Credit-Card Required" or "No Commitment for N Days".
|
11546 |
$cc_string = $require_payment ?
|
11547 |
+
sprintf( $this->get_text( 'no-commitment-for-x-days' ), $trial_period ) :
|
11548 |
+
$this->get_text( 'no-cc-required' ) . '!';
|
11549 |
|
11550 |
|
11551 |
// Start trial button.
|
11552 |
$button = ' ' . sprintf(
|
11553 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
11554 |
$trial_url,
|
11555 |
+
$this->get_text( 'start-free-trial' )
|
11556 |
);
|
11557 |
|
11558 |
$this->_admin_notices->add_sticky(
|
11650 |
if ( $this->is_registered() ) {
|
11651 |
if ( ! $this->is_paying() && $this->has_paid_plan() ) {
|
11652 |
$this->add_plugin_action_link(
|
11653 |
+
$this->get_text( 'upgrade' ),
|
11654 |
$this->get_upgrade_url(),
|
11655 |
false,
|
11656 |
7,
|
11660 |
|
11661 |
if ( $this->has_addons() ) {
|
11662 |
$this->add_plugin_action_link(
|
11663 |
+
$this->get_text( 'add-ons' ),
|
11664 |
$this->_get_admin_page_url( 'addons' ),
|
11665 |
false,
|
11666 |
9,
|
11688 |
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
11689 |
}
|
11690 |
|
11691 |
+
$link_text = $this->get_text(
|
11692 |
+
$this->is_free_plan() ?
|
11693 |
+
'activate-license' :
|
11694 |
+
'change-license'
|
11695 |
);
|
11696 |
|
11697 |
$this->add_plugin_action_link(
|
11716 |
|
11717 |
$this->_logger->entrance();
|
11718 |
|
11719 |
+
if ( ! $this->is_plugins_page() ) {
|
11720 |
+
// Only show tracking links on the plugin's page.
|
11721 |
+
return;
|
11722 |
+
}
|
11723 |
+
|
11724 |
if ( ! $this->is_enable_anonymous() ) {
|
11725 |
// Don't allow to opt-out if anonymous mode is disabled.
|
11726 |
return;
|
11771 |
}
|
11772 |
|
11773 |
$this->add_plugin_action_link(
|
11774 |
+
$this->get_text( $link_text_id ),
|
11775 |
$url,
|
11776 |
false,
|
11777 |
13,
|
11873 |
}
|
11874 |
|
11875 |
if ( ! empty( $deactivate_link ) ) {
|
11876 |
+
/**
|
11877 |
+
* This HTML element is used to identify the correct plugin when attaching an event to its Deactivate link.
|
11878 |
+
*
|
11879 |
+
* @since 1.2.1.6 Always show the deactivation feedback form since we added automatic free version deactivation upon premium code activation.
|
11880 |
+
*/
|
11881 |
+
$deactivate_link .= '<i class="fs-slug" data-slug="' . $this->_slug . '"></i>';
|
|
|
|
|
|
|
11882 |
|
11883 |
// Append deactivation link.
|
11884 |
$before_deactivate['deactivate'] = $deactivate_link;
|
11939 |
|
11940 |
// @since 1.2.1.5 The free version is auto deactivated.
|
11941 |
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
11942 |
+
( '<li>' . $this->get_text( 'deactivate-free-version' ) . '.</li>' ) :
|
11943 |
'';
|
11944 |
|
11945 |
return sprintf(
|
11946 |
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
11947 |
+
$this->get_text( 'follow-steps-to-complete-upgrade' ),
|
11948 |
$this->get_latest_download_link( sprintf(
|
11949 |
+
$this->get_text( 'download-latest-x-version' ),
|
11950 |
$plan_title
|
11951 |
) ),
|
11952 |
$deactivation_step,
|
11953 |
+
$this->get_text( 'upload-and-activate' ),
|
11954 |
'//bit.ly/upload-wp-plugin',
|
11955 |
+
$this->get_text( 'howto-upload-activate' )
|
11956 |
);
|
11957 |
}
|
11958 |
|
12007 |
return $update;
|
12008 |
}
|
12009 |
|
12010 |
+
/**
|
12011 |
+
* @author Vova Feldman (@svovaf)
|
12012 |
+
* @since 1.2.1.7
|
12013 |
+
*
|
12014 |
+
* @param string $key
|
12015 |
+
*
|
12016 |
+
* @return string
|
12017 |
+
*/
|
12018 |
+
function get_text( $key ) {
|
12019 |
+
return fs_text( $key, $this->_slug );
|
12020 |
+
}
|
12021 |
+
|
12022 |
#----------------------------------------------------------------------------------
|
12023 |
#region Versioning
|
12024 |
#----------------------------------------------------------------------------------
|
12066 |
*
|
12067 |
* @author Vova Feldman (@svovaf)
|
12068 |
* @since 1.0.9
|
|
|
|
|
12069 |
*/
|
12070 |
function set_plugin_upgrade_complete() {
|
12071 |
$this->_storage->plugin_upgrade_mode = false;
|
12093 |
|
12094 |
#endregion
|
12095 |
|
12096 |
+
#----------------------------------------------------------------------------------
|
12097 |
+
#region Auto Activation
|
12098 |
+
#----------------------------------------------------------------------------------
|
12099 |
+
|
12100 |
+
/**
|
12101 |
+
* Hints the SDK if running an auto-installation.
|
12102 |
+
*
|
12103 |
+
* @var bool
|
12104 |
+
*/
|
12105 |
+
private $_isAutoInstall = false;
|
12106 |
+
|
12107 |
+
/**
|
12108 |
+
* After upgrade callback to install and auto activate a plugin.
|
12109 |
+
* This code will only be executed on explicit request from the user,
|
12110 |
+
* following the practice Jetpack are using with their theme installations.
|
12111 |
+
*
|
12112 |
+
* @link https://make.wordpress.org/plugins/2017/03/16/clarification-of-guideline-8-executable-code-and-installs/
|
12113 |
+
*
|
12114 |
+
* @author Vova Feldman (@svovaf)
|
12115 |
+
* @since 1.2.1.7
|
12116 |
+
*/
|
12117 |
+
function _install_premium_version_ajax_action() {
|
12118 |
+
$this->_logger->entrance();
|
12119 |
+
|
12120 |
+
$this->check_ajax_referer( 'install_premium_version' );
|
12121 |
+
|
12122 |
+
if ( ! $this->is_registered() ) {
|
12123 |
+
// Not registered.
|
12124 |
+
self::shoot_ajax_failure( array(
|
12125 |
+
'message' => $this->get_text( 'auto-install-error-not-opted-in' ),
|
12126 |
+
'code' => 'premium_installed',
|
12127 |
+
) );
|
12128 |
+
}
|
12129 |
+
|
12130 |
+
$plugin_id = fs_request_get( 'module_id', $this->get_id() );
|
12131 |
+
|
12132 |
+
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
12133 |
+
// Invalid ID.
|
12134 |
+
self::shoot_ajax_failure( array(
|
12135 |
+
'message' => $this->get_text( 'auto-install-error-invalid-id' ),
|
12136 |
+
'code' => 'invalid_module_id',
|
12137 |
+
) );
|
12138 |
+
}
|
12139 |
+
|
12140 |
+
if ( $plugin_id == $this->get_id() ) {
|
12141 |
+
if ( $this->is_premium() ) {
|
12142 |
+
// Already using the premium code version.
|
12143 |
+
self::shoot_ajax_failure( array(
|
12144 |
+
'message' => $this->get_text( 'auto-install-error-premium-activated' ),
|
12145 |
+
'code' => 'premium_installed',
|
12146 |
+
) );
|
12147 |
+
}
|
12148 |
+
if ( ! $this->can_use_premium_code() ) {
|
12149 |
+
// Don't have access to the premium code.
|
12150 |
+
self::shoot_ajax_failure( array(
|
12151 |
+
'message' => $this->get_text( 'auto-install-error-invalid-license' ),
|
12152 |
+
'code' => 'invalid_license',
|
12153 |
+
) );
|
12154 |
+
}
|
12155 |
+
if ( ! $this->has_release_on_freemius() ) {
|
12156 |
+
// Plugin is a serviceware, no premium code version.
|
12157 |
+
self::shoot_ajax_failure( array(
|
12158 |
+
'message' => $this->get_text( 'auto-install-error-serviceware' ),
|
12159 |
+
'code' => 'premium_version_missing',
|
12160 |
+
) );
|
12161 |
+
}
|
12162 |
+
} else {
|
12163 |
+
$addon = $this->get_addon( $plugin_id );
|
12164 |
+
|
12165 |
+
if ( ! is_object( $addon ) ) {
|
12166 |
+
// Invalid add-on ID.
|
12167 |
+
self::shoot_ajax_failure( array(
|
12168 |
+
'message' => $this->get_text( 'auto-install-error-invalid-id' ),
|
12169 |
+
'code' => 'invalid_module_id',
|
12170 |
+
) );
|
12171 |
+
}
|
12172 |
+
|
12173 |
+
if ( $this->is_addon_activated( $plugin_id, true ) ) {
|
12174 |
+
// Premium add-on version is already activated.
|
12175 |
+
self::shoot_ajax_failure( array(
|
12176 |
+
'message' => $this->get_text( 'auto-install-error-premium-addon-activated' ),
|
12177 |
+
'code' => 'premium_installed',
|
12178 |
+
) );
|
12179 |
+
}
|
12180 |
+
}
|
12181 |
+
|
12182 |
+
$this->_isAutoInstall = true;
|
12183 |
+
|
12184 |
+
// Try to install and activate.
|
12185 |
+
$updater = new FS_Plugin_Updater( $this );
|
12186 |
+
$result = $updater->install_and_activate_plugin( $plugin_id );
|
12187 |
+
|
12188 |
+
if ( is_array( $result ) && ! empty( $result['message'] ) ) {
|
12189 |
+
self::shoot_ajax_failure( array(
|
12190 |
+
'message' => $result['message'],
|
12191 |
+
'code' => $result['code'],
|
12192 |
+
) );
|
12193 |
+
}
|
12194 |
+
|
12195 |
+
self::shoot_ajax_success( $result );
|
12196 |
+
}
|
12197 |
+
|
12198 |
+
/**
|
12199 |
+
* Displays module activation dialog box after a successful upgrade
|
12200 |
+
* where the user explicitly requested to auto download and install
|
12201 |
+
* the premium version.
|
12202 |
+
*
|
12203 |
+
* @author Vova Feldman (@svovaf)
|
12204 |
+
* @since 1.2.1.7
|
12205 |
+
*/
|
12206 |
+
function _add_auto_installation_dialog_box() {
|
12207 |
+
$this->_logger->entrance();
|
12208 |
+
|
12209 |
+
if ( ! $this->is_registered() ) {
|
12210 |
+
// Not registered.
|
12211 |
+
return;
|
12212 |
+
}
|
12213 |
+
|
12214 |
+
$plugin_id = fs_request_get( 'plugin_id', $this->get_id() );
|
12215 |
+
|
12216 |
+
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
12217 |
+
// Invalid module ID.
|
12218 |
+
return;
|
12219 |
+
}
|
12220 |
+
|
12221 |
+
if ( $plugin_id == $this->get_id() ) {
|
12222 |
+
if ( $this->is_premium() ) {
|
12223 |
+
// Already using the premium code version.
|
12224 |
+
return;
|
12225 |
+
}
|
12226 |
+
if ( ! $this->can_use_premium_code() ) {
|
12227 |
+
// Don't have access to the premium code.
|
12228 |
+
return;
|
12229 |
+
}
|
12230 |
+
if ( ! $this->has_release_on_freemius() ) {
|
12231 |
+
// Plugin is a serviceware, no premium code version.
|
12232 |
+
return;
|
12233 |
+
}
|
12234 |
+
} else {
|
12235 |
+
$addon = $this->get_addon( $plugin_id );
|
12236 |
+
|
12237 |
+
if ( ! is_object( $addon ) ) {
|
12238 |
+
// Invalid add-on ID.
|
12239 |
+
return;
|
12240 |
+
}
|
12241 |
+
|
12242 |
+
if ( $this->is_addon_activated( $plugin_id, true ) ) {
|
12243 |
+
// Premium add-on version is already activated.
|
12244 |
+
return;
|
12245 |
+
}
|
12246 |
+
}
|
12247 |
+
|
12248 |
+
$vars = array(
|
12249 |
+
'id' => $plugin_id,
|
12250 |
+
'slug' => $this->_slug,
|
12251 |
+
);
|
12252 |
+
|
12253 |
+
fs_require_template( 'auto-installation.php', $vars );
|
12254 |
+
}
|
12255 |
+
|
12256 |
+
#endregion
|
12257 |
+
|
12258 |
#----------------------------------------------------------------------------------
|
12259 |
#region Marketing
|
12260 |
#----------------------------------------------------------------------------------
|
freemius/includes/class-fs-logger.php
CHANGED
@@ -85,10 +85,12 @@
|
|
85 |
* @since 1.2.1.6
|
86 |
*/
|
87 |
private static function init() {
|
88 |
-
self::$_ownerName = get_current_user
|
|
|
|
|
89 |
self::$_isStorageLoggingOn = ( 1 == get_option( 'fs_storage_logger', 0 ) );
|
90 |
self::$_abspathLength = strlen( ABSPATH );
|
91 |
-
self::$_processID = mt_rand(0, 32000);
|
92 |
|
93 |
// Process ID may be `false` on errors.
|
94 |
if ( ! is_numeric( self::$_processID ) ) {
|
@@ -186,7 +188,7 @@
|
|
186 |
|
187 |
self::$LOG[] = $log;
|
188 |
|
189 |
-
if ( $this->is_echo_on() ) {
|
190 |
echo self::format_html( $log ) . "\n";
|
191 |
}
|
192 |
}
|
85 |
* @since 1.2.1.6
|
86 |
*/
|
87 |
private static function init() {
|
88 |
+
self::$_ownerName = function_exists( 'get_current_user' ) ?
|
89 |
+
get_current_user() :
|
90 |
+
'unknown';
|
91 |
self::$_isStorageLoggingOn = ( 1 == get_option( 'fs_storage_logger', 0 ) );
|
92 |
self::$_abspathLength = strlen( ABSPATH );
|
93 |
+
self::$_processID = mt_rand( 0, 32000 );
|
94 |
|
95 |
// Process ID may be `false` on errors.
|
96 |
if ( ! is_numeric( self::$_processID ) ) {
|
188 |
|
189 |
self::$LOG[] = $log;
|
190 |
|
191 |
+
if ( $this->is_echo_on() && ! Freemius::is_ajax() ) {
|
192 |
echo self::format_html( $log ) . "\n";
|
193 |
}
|
194 |
}
|
freemius/includes/class-fs-plugin-updater.php
CHANGED
@@ -123,7 +123,7 @@
|
|
123 |
$plugin_update_row = preg_replace(
|
124 |
'/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
|
125 |
'$1 $2 ' . sprintf(
|
126 |
-
|
127 |
'<a href="' . $this->_fs->pricing_url() . '">', '</a>',
|
128 |
$r->new_version ) .
|
129 |
'$4',
|
@@ -318,13 +318,13 @@ if ( !isset($info->error) ) {
|
|
318 |
}
|
319 |
|
320 |
// Get plugin's newest update.
|
321 |
-
$new_version = $this->
|
322 |
|
323 |
if ( ! is_object( $new_version ) || empty( $new_version->version ) ) {
|
324 |
$data->version = $this->_fs->get_plugin_version();
|
325 |
} else {
|
326 |
if ( $is_addon ) {
|
327 |
-
$data->name = $addon->title . ' ' .
|
328 |
$data->slug = $addon->slug;
|
329 |
$data->url = WP_FS__ADDRESS;
|
330 |
$data->package = $new_version->url;
|
@@ -343,6 +343,18 @@ if ( !isset($info->error) ) {
|
|
343 |
return $data;
|
344 |
}
|
345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
/**
|
347 |
* Checks if a given basename has a matching folder name
|
348 |
* with the current context plugin.
|
@@ -359,7 +371,7 @@ if ( !isset($info->error) ) {
|
|
359 |
$basename = $this->_fs->get_plugin_basename();
|
360 |
}
|
361 |
|
362 |
-
return ( $this->_fs->
|
363 |
}
|
364 |
|
365 |
/**
|
@@ -412,4 +424,260 @@ if ( !isset($info->error) ) {
|
|
412 |
|
413 |
return $response;
|
414 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
}
|
123 |
$plugin_update_row = preg_replace(
|
124 |
'/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
|
125 |
'$1 $2 ' . sprintf(
|
126 |
+
$this->_fs->get_text( 'renew-license-now' ),
|
127 |
'<a href="' . $this->_fs->pricing_url() . '">', '</a>',
|
128 |
$r->new_version ) .
|
129 |
'$4',
|
318 |
}
|
319 |
|
320 |
// Get plugin's newest update.
|
321 |
+
$new_version = $this->get_latest_download_details( $is_addon ? $addon->id : false );
|
322 |
|
323 |
if ( ! is_object( $new_version ) || empty( $new_version->version ) ) {
|
324 |
$data->version = $this->_fs->get_plugin_version();
|
325 |
} else {
|
326 |
if ( $is_addon ) {
|
327 |
+
$data->name = $addon->title . ' ' . $this->_fs->get_text( 'addon' );
|
328 |
$data->slug = $addon->slug;
|
329 |
$data->url = WP_FS__ADDRESS;
|
330 |
$data->package = $new_version->url;
|
343 |
return $data;
|
344 |
}
|
345 |
|
346 |
+
/**
|
347 |
+
* @author Vova Feldman (@svovaf)
|
348 |
+
* @since 1.2.1.7
|
349 |
+
*
|
350 |
+
* @param number|bool $addon_id
|
351 |
+
*
|
352 |
+
* @return object
|
353 |
+
*/
|
354 |
+
private function get_latest_download_details( $addon_id = false ) {
|
355 |
+
return $this->_fs->_fetch_latest_version( $addon_id );
|
356 |
+
}
|
357 |
+
|
358 |
/**
|
359 |
* Checks if a given basename has a matching folder name
|
360 |
* with the current context plugin.
|
371 |
$basename = $this->_fs->get_plugin_basename();
|
372 |
}
|
373 |
|
374 |
+
return ( $this->_fs->get_target_folder_name() != trim( dirname( $basename ), '/\\' ) );
|
375 |
}
|
376 |
|
377 |
/**
|
424 |
|
425 |
return $response;
|
426 |
}
|
427 |
+
|
428 |
+
#----------------------------------------------------------------------------------
|
429 |
+
#region Auto Activation
|
430 |
+
#----------------------------------------------------------------------------------
|
431 |
+
|
432 |
+
/**
|
433 |
+
* Installs and active a plugin when explicitly requested that from a 3rd party service.
|
434 |
+
*
|
435 |
+
* This logic was inspired by the TGMPA GPL licensed library by Thomas Griffin.
|
436 |
+
*
|
437 |
+
* @link http://tgmpluginactivation.com/
|
438 |
+
*
|
439 |
+
* @author Vova Feldman
|
440 |
+
* @since 1.2.1.7
|
441 |
+
*
|
442 |
+
* @link https://make.wordpress.org/plugins/2017/03/16/clarification-of-guideline-8-executable-code-and-installs/
|
443 |
+
*
|
444 |
+
* @uses WP_Filesystem
|
445 |
+
* @uses WP_Error
|
446 |
+
* @uses WP_Upgrader
|
447 |
+
* @uses Plugin_Upgrader
|
448 |
+
* @uses Plugin_Installer_Skin
|
449 |
+
* @uses Plugin_Upgrader_Skin
|
450 |
+
*
|
451 |
+
* @param number|bool $plugin_id
|
452 |
+
*
|
453 |
+
* @return array
|
454 |
+
*/
|
455 |
+
function install_and_activate_plugin( $plugin_id = false ) {
|
456 |
+
if ( ! empty( $plugin_id ) && ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
457 |
+
// Invalid plugin ID.
|
458 |
+
return array(
|
459 |
+
'message' => $this->_fs->get_text( 'auto-install-error-invalid-id' ),
|
460 |
+
'code' => 'invalid_module_id',
|
461 |
+
);
|
462 |
+
}
|
463 |
+
|
464 |
+
$is_addon = false;
|
465 |
+
if ( FS_Plugin::is_valid_id( $plugin_id ) &&
|
466 |
+
$plugin_id != $this->_fs->get_id()
|
467 |
+
) {
|
468 |
+
$addon = $this->_fs->get_addon( $plugin_id );
|
469 |
+
|
470 |
+
if ( ! is_object( $addon ) ) {
|
471 |
+
// Invalid add-on ID.
|
472 |
+
return array(
|
473 |
+
'message' => $this->_fs->get_text( 'auto-install-error-invalid-id' ),
|
474 |
+
'code' => 'invalid_module_id',
|
475 |
+
);
|
476 |
+
}
|
477 |
+
|
478 |
+
$slug = $addon->slug;
|
479 |
+
$title = $addon->title . ' ' . $this->_fs->get_text( 'addon' );
|
480 |
+
|
481 |
+
$is_addon = true;
|
482 |
+
} else {
|
483 |
+
$slug = $this->_fs->get_slug();
|
484 |
+
$title = $this->_fs->get_plugin_title() .
|
485 |
+
( $this->_fs->is_addon() ? ' ' . $this->_fs->get_text( 'addon' ) : '' );
|
486 |
+
}
|
487 |
+
|
488 |
+
if ( $this->is_premium_plugin_active( $plugin_id ) ) {
|
489 |
+
// Premium version already activated.
|
490 |
+
return array(
|
491 |
+
'message' => $this->_fs->get_text(
|
492 |
+
$is_addon ?
|
493 |
+
'auto-install-error-premium-addon-activated' :
|
494 |
+
'auto-install-error-premium-activated'
|
495 |
+
),
|
496 |
+
'code' => 'premium_installed',
|
497 |
+
);
|
498 |
+
}
|
499 |
+
|
500 |
+
$latest_version = $this->get_latest_download_details( $plugin_id );
|
501 |
+
$target_folder = "{$slug}-premium";
|
502 |
+
|
503 |
+
// Prep variables for Plugin_Installer_Skin class.
|
504 |
+
$extra = array();
|
505 |
+
$extra['slug'] = $target_folder;
|
506 |
+
$source = $latest_version->url;
|
507 |
+
$api = null;
|
508 |
+
|
509 |
+
$install_url = add_query_arg(
|
510 |
+
array(
|
511 |
+
'action' => 'install-plugin',
|
512 |
+
'plugin' => urlencode( $slug ),
|
513 |
+
),
|
514 |
+
'update.php'
|
515 |
+
);
|
516 |
+
|
517 |
+
if ( ! class_exists( 'Plugin_Upgrader', false ) ) {
|
518 |
+
// Include required resources for the installation.
|
519 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
520 |
+
}
|
521 |
+
|
522 |
+
$skin_args = array(
|
523 |
+
'type' => 'web',
|
524 |
+
'title' => sprintf( fs_text( 'installing-plugin-x', $slug ), $title ),
|
525 |
+
'url' => esc_url_raw( $install_url ),
|
526 |
+
'nonce' => 'install-plugin_' . $slug,
|
527 |
+
'plugin' => '',
|
528 |
+
'api' => $api,
|
529 |
+
'extra' => $extra,
|
530 |
+
);
|
531 |
+
|
532 |
+
// $skin = new Automatic_Upgrader_Skin( $skin_args );
|
533 |
+
// $skin = new Plugin_Installer_Skin( $skin_args );
|
534 |
+
$skin = new WP_Ajax_Upgrader_Skin( $skin_args );
|
535 |
+
|
536 |
+
// Create a new instance of Plugin_Upgrader.
|
537 |
+
$upgrader = new Plugin_Upgrader( $skin );
|
538 |
+
|
539 |
+
// Perform the action and install the plugin from the $source urldecode().
|
540 |
+
add_filter( 'upgrader_source_selection', array( &$this, '_maybe_adjust_source_dir' ), 1, 3 );
|
541 |
+
|
542 |
+
$install_result = $upgrader->install( $source );
|
543 |
+
|
544 |
+
remove_filter( 'upgrader_source_selection', array( &$this, '_maybe_adjust_source_dir' ), 1 );
|
545 |
+
|
546 |
+
if ( is_wp_error( $install_result ) ) {
|
547 |
+
return array(
|
548 |
+
'message' => $install_result->get_error_message(),
|
549 |
+
'code' => $install_result->get_error_code(),
|
550 |
+
);
|
551 |
+
} elseif ( is_wp_error( $skin->result ) ) {
|
552 |
+
return array(
|
553 |
+
'message' => $skin->result->get_error_message(),
|
554 |
+
'code' => $skin->result->get_error_code(),
|
555 |
+
);
|
556 |
+
} elseif ( $skin->get_errors()->get_error_code() ) {
|
557 |
+
return array(
|
558 |
+
'message' => $skin->get_error_messages(),
|
559 |
+
'code' => 'unknown',
|
560 |
+
);
|
561 |
+
} elseif ( is_null( $install_result ) ) {
|
562 |
+
global $wp_filesystem;
|
563 |
+
|
564 |
+
$error_code = 'unable_to_connect_to_filesystem';
|
565 |
+
$error_message = __( 'Unable to connect to the filesystem. Please confirm your credentials.' );
|
566 |
+
|
567 |
+
// Pass through the error from WP_Filesystem if one was raised.
|
568 |
+
if ( $wp_filesystem instanceof WP_Filesystem_Base &&
|
569 |
+
is_wp_error( $wp_filesystem->errors ) &&
|
570 |
+
$wp_filesystem->errors->get_error_code()
|
571 |
+
) {
|
572 |
+
$error_message = $wp_filesystem->errors->get_error_message();
|
573 |
+
}
|
574 |
+
|
575 |
+
return array(
|
576 |
+
'message' => $error_message,
|
577 |
+
'code' => $error_code,
|
578 |
+
);
|
579 |
+
}
|
580 |
+
|
581 |
+
// Grab the full path to the main plugin's file.
|
582 |
+
$plugin_activate = $upgrader->plugin_info();
|
583 |
+
|
584 |
+
// Try to activate the plugin.
|
585 |
+
$activation_result = $this->try_activate_plugin( $plugin_activate );
|
586 |
+
|
587 |
+
if ( is_wp_error( $activation_result ) ) {
|
588 |
+
return array(
|
589 |
+
'message' => $activation_result->get_error_message(),
|
590 |
+
'code' => $activation_result->get_error_code(),
|
591 |
+
);
|
592 |
+
}
|
593 |
+
|
594 |
+
return $skin->get_upgrade_messages();
|
595 |
+
}
|
596 |
+
|
597 |
+
/**
|
598 |
+
* Tries to activate a plugin. If fails, returns the error.
|
599 |
+
*
|
600 |
+
* @author Vova Feldman
|
601 |
+
* @since 1.2.1.7
|
602 |
+
*
|
603 |
+
* @param string $file_path Path within wp-plugins/ to main plugin file.
|
604 |
+
* This determines the styling of the output messages.
|
605 |
+
*
|
606 |
+
* @return bool|WP_Error
|
607 |
+
*/
|
608 |
+
protected function try_activate_plugin( $file_path ) {
|
609 |
+
$activate = activate_plugin( $file_path );
|
610 |
+
|
611 |
+
return is_wp_error( $activate ) ?
|
612 |
+
$activate :
|
613 |
+
true;
|
614 |
+
}
|
615 |
+
|
616 |
+
/**
|
617 |
+
* Check if a premium module version is already active.
|
618 |
+
*
|
619 |
+
* @author Vova Feldman
|
620 |
+
* @since 1.2.1.7
|
621 |
+
*
|
622 |
+
* @param number|bool $plugin_id
|
623 |
+
*
|
624 |
+
* @return bool
|
625 |
+
*/
|
626 |
+
private function is_premium_plugin_active( $plugin_id = false ) {
|
627 |
+
if ( $plugin_id != $this->_fs->get_id() ) {
|
628 |
+
return $this->_fs->is_addon_activated( $plugin_id, true );
|
629 |
+
}
|
630 |
+
|
631 |
+
return is_plugin_active( $this->_fs->premium_plugin_basename() );
|
632 |
+
}
|
633 |
+
|
634 |
+
/**
|
635 |
+
* Adjust the plugin directory name if necessary.
|
636 |
+
* Assumes plugin has a folder (not a single file plugin).
|
637 |
+
*
|
638 |
+
* The final destination directory of a plugin is based on the subdirectory name found in the
|
639 |
+
* (un)zipped source. In some cases this subdirectory name is not the same as the expected
|
640 |
+
* slug and the plugin will not be recognized as installed. This is fixed by adjusting
|
641 |
+
* the temporary unzipped source subdirectory name to the expected plugin slug.
|
642 |
+
*
|
643 |
+
* @author Vova Feldman
|
644 |
+
* @since 1.2.1.7
|
645 |
+
*
|
646 |
+
* @param string $source Path to upgrade/zip-file-name.tmp/subdirectory/.
|
647 |
+
* @param string $remote_source Path to upgrade/zip-file-name.tmp.
|
648 |
+
* @param \WP_Upgrader $upgrader Instance of the upgrader which installs the plugin.
|
649 |
+
*
|
650 |
+
* @return string|WP_Error
|
651 |
+
*/
|
652 |
+
function _maybe_adjust_source_dir( $source, $remote_source, $upgrader ) {
|
653 |
+
if ( ! is_object( $GLOBALS['wp_filesystem'] ) ) {
|
654 |
+
return $source;
|
655 |
+
}
|
656 |
+
|
657 |
+
// Figure out what the slug is supposed to be.
|
658 |
+
$desired_slug = $upgrader->skin->options['extra']['slug'];
|
659 |
+
|
660 |
+
$subdir_name = untrailingslashit( str_replace( trailingslashit( $remote_source ), '', $source ) );
|
661 |
+
|
662 |
+
if ( ! empty( $subdir_name ) && $subdir_name !== $desired_slug ) {
|
663 |
+
$from_path = untrailingslashit( $source );
|
664 |
+
$to_path = trailingslashit( $remote_source ) . $desired_slug;
|
665 |
+
|
666 |
+
if ( true === $GLOBALS['wp_filesystem']->move( $from_path, $to_path ) ) {
|
667 |
+
return trailingslashit( $to_path );
|
668 |
+
} else {
|
669 |
+
return new WP_Error(
|
670 |
+
'rename_failed',
|
671 |
+
$this->_fs->get_text( 'module-package-rename-failure' ),
|
672 |
+
array(
|
673 |
+
'found' => $subdir_name,
|
674 |
+
'expected' => $desired_slug
|
675 |
+
) );
|
676 |
+
}
|
677 |
+
}
|
678 |
+
|
679 |
+
return $source;
|
680 |
+
}
|
681 |
+
|
682 |
+
#endregion
|
683 |
}
|
freemius/includes/debug/class-fs-debug-bar-panel.php
CHANGED
@@ -45,7 +45,7 @@
|
|
45 |
$total_time += $l['total'];
|
46 |
}
|
47 |
|
48 |
-
return number_format( 100 * $total_time, 2 ) . ' ' .
|
49 |
}
|
50 |
|
51 |
function render() {
|
45 |
$total_time += $l['total'];
|
46 |
}
|
47 |
|
48 |
+
return number_format( 100 * $total_time, 2 ) . ' ' . fs_text( 'ms' );
|
49 |
}
|
50 |
|
51 |
function render() {
|
freemius/includes/debug/debug-bar-start.php
CHANGED
@@ -38,8 +38,8 @@
|
|
38 |
require_once dirname( __FILE__ ) . '/class-fs-debug-bar-panel.php';
|
39 |
$statuses[] = array(
|
40 |
'fs_api_requests',
|
41 |
-
|
42 |
-
Freemius_Debug_Bar_Panel::requests_count() . ' ' .
|
43 |
' (' . Freemius_Debug_Bar_Panel::total_time() . ')'
|
44 |
);
|
45 |
}
|
38 |
require_once dirname( __FILE__ ) . '/class-fs-debug-bar-panel.php';
|
39 |
$statuses[] = array(
|
40 |
'fs_api_requests',
|
41 |
+
fs_text( 'Freemius API' ),
|
42 |
+
Freemius_Debug_Bar_Panel::requests_count() . ' ' . fs_text( 'Requests' ) .
|
43 |
' (' . Freemius_Debug_Bar_Panel::total_time() . ')'
|
44 |
);
|
45 |
}
|
freemius/includes/fs-core-functions.php
CHANGED
@@ -10,10 +10,6 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
global $fs_core_logger;
|
14 |
-
|
15 |
-
$fs_core_logger = FS_Logger::get_logger( WP_FS__SLUG . '_core', WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
16 |
-
|
17 |
if ( ! function_exists( 'fs_dummy' ) ) {
|
18 |
function fs_dummy() {
|
19 |
}
|
@@ -65,24 +61,10 @@
|
|
65 |
/* Scripts and styles including.
|
66 |
--------------------------------------------------------------------------------------------*/
|
67 |
function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, $media = 'all' ) {
|
68 |
-
global $fs_core_logger;
|
69 |
-
if ( $fs_core_logger->is_on() ) {
|
70 |
-
$fs_core_logger->info( 'handle = ' . $handle . '; path = ' . $path . ';' );
|
71 |
-
$fs_core_logger->info( 'plugin_basename = ' . plugins_url( WP_FS__DIR_CSS . trim( $path, '/' ) ) );
|
72 |
-
$fs_core_logger->info( 'plugins_url = ' . plugins_url( plugin_basename( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ) ) );
|
73 |
-
}
|
74 |
-
|
75 |
wp_enqueue_style( $handle, plugins_url( plugin_basename( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $media );
|
76 |
}
|
77 |
|
78 |
function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) {
|
79 |
-
global $fs_core_logger;
|
80 |
-
if ( $fs_core_logger->is_on() ) {
|
81 |
-
$fs_core_logger->info( 'handle = ' . $handle . '; path = ' . $path . ';' );
|
82 |
-
$fs_core_logger->info( 'plugin_basename = ' . plugins_url( WP_FS__DIR_JS . trim( $path, '/' ) ) );
|
83 |
-
$fs_core_logger->info( 'plugins_url = ' . plugins_url( plugin_basename( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ) ) );
|
84 |
-
}
|
85 |
-
|
86 |
wp_enqueue_script( $handle, plugins_url( plugin_basename( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $in_footer );
|
87 |
}
|
88 |
|
@@ -93,13 +75,32 @@
|
|
93 |
/* Request handlers.
|
94 |
--------------------------------------------------------------------------------------------*/
|
95 |
/**
|
96 |
-
* @param string
|
97 |
-
* @param mixed
|
|
|
|
|
|
|
98 |
*
|
99 |
* @return mixed
|
100 |
*/
|
101 |
-
function fs_request_get( $key, $def = false ) {
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
function fs_request_has( $key ) {
|
@@ -184,8 +185,8 @@
|
|
184 |
return true;
|
185 |
}
|
186 |
|
187 |
-
function fs_is_plugin_page( $
|
188 |
-
return ( is_admin() && $
|
189 |
}
|
190 |
|
191 |
/* Core UI.
|
@@ -467,6 +468,8 @@
|
|
467 |
$ch = curl_init( $from );
|
468 |
$fp = fopen( fs_normalize_path( $to ), 'wb' );
|
469 |
curl_setopt( $ch, CURLOPT_FILE, $fp );
|
|
|
|
|
470 |
curl_setopt( $ch, CURLOPT_HEADER, 0 );
|
471 |
curl_exec( $ch );
|
472 |
curl_close( $ch );
|
@@ -508,87 +511,119 @@
|
|
508 |
#region Localization
|
509 |
#--------------------------------------------------------------------------------
|
510 |
|
511 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
* @author Vova Feldman
|
513 |
-
* @since
|
514 |
*
|
515 |
* @param string $key
|
516 |
* @param string $slug
|
517 |
*
|
518 |
* @return string
|
519 |
*/
|
520 |
-
function fs_esc_attr($key, $slug) {
|
521 |
-
return esc_attr(
|
522 |
}
|
523 |
|
524 |
/**
|
525 |
* @author Vova Feldman
|
526 |
-
* @since
|
527 |
*
|
528 |
* @param string $key
|
529 |
* @param string $slug
|
530 |
*/
|
531 |
-
function fs_esc_attr_echo($key, $slug) {
|
532 |
-
echo esc_attr(
|
533 |
}
|
534 |
|
535 |
/**
|
536 |
* @author Vova Feldman
|
537 |
-
* @since
|
538 |
*
|
539 |
* @param string $key
|
540 |
* @param string $slug
|
541 |
*
|
542 |
* @return string
|
543 |
*/
|
544 |
-
function fs_esc_js($key, $slug) {
|
545 |
-
return esc_js(
|
546 |
}
|
547 |
|
548 |
/**
|
549 |
* @author Vova Feldman
|
550 |
-
* @since
|
551 |
*
|
552 |
* @param string $key
|
553 |
* @param string $slug
|
554 |
*/
|
555 |
-
function fs_esc_js_echo($key, $slug) {
|
556 |
-
echo esc_js(
|
557 |
}
|
558 |
|
559 |
/**
|
560 |
* @author Vova Feldman
|
561 |
-
* @since
|
562 |
*
|
563 |
* @param string $key
|
564 |
* @param string $slug
|
565 |
*/
|
566 |
-
function fs_json_encode_echo($key, $slug) {
|
567 |
-
echo json_encode(
|
568 |
}
|
569 |
|
570 |
/**
|
571 |
* @author Vova Feldman
|
572 |
-
* @since
|
573 |
*
|
574 |
* @param string $key
|
575 |
* @param string $slug
|
576 |
*
|
577 |
* @return string
|
578 |
*/
|
579 |
-
function fs_esc_html($key, $slug) {
|
580 |
-
return esc_html(
|
581 |
}
|
582 |
|
583 |
/**
|
584 |
* @author Vova Feldman
|
585 |
-
* @since
|
586 |
*
|
587 |
* @param string $key
|
588 |
* @param string $slug
|
589 |
*/
|
590 |
-
function fs_esc_html_echo($key, $slug) {
|
591 |
-
echo esc_html(
|
592 |
}
|
593 |
|
594 |
-
|
10 |
exit;
|
11 |
}
|
12 |
|
|
|
|
|
|
|
|
|
13 |
if ( ! function_exists( 'fs_dummy' ) ) {
|
14 |
function fs_dummy() {
|
15 |
}
|
61 |
/* Scripts and styles including.
|
62 |
--------------------------------------------------------------------------------------------*/
|
63 |
function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, $media = 'all' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
wp_enqueue_style( $handle, plugins_url( plugin_basename( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $media );
|
65 |
}
|
66 |
|
67 |
function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
wp_enqueue_script( $handle, plugins_url( plugin_basename( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ) ), $deps, $ver, $in_footer );
|
69 |
}
|
70 |
|
75 |
/* Request handlers.
|
76 |
--------------------------------------------------------------------------------------------*/
|
77 |
/**
|
78 |
+
* @param string $key
|
79 |
+
* @param mixed $def
|
80 |
+
* @param string|bool $type Since 1.2.1.7 - when set to 'get' will look for the value passed via querystring, when
|
81 |
+
* set to 'post' will look for the value passed via the POST request's body, otherwise,
|
82 |
+
* will check if the parameter was passed in any of the two.
|
83 |
*
|
84 |
* @return mixed
|
85 |
*/
|
86 |
+
function fs_request_get( $key, $def = false, $type = false ) {
|
87 |
+
if ( is_string( $type ) ) {
|
88 |
+
$type = strtolower( $type );
|
89 |
+
}
|
90 |
+
|
91 |
+
switch ( $type ) {
|
92 |
+
case 'post':
|
93 |
+
$value = isset( $_POST[ $key ] ) ? $_POST[ $key ] : $def;
|
94 |
+
break;
|
95 |
+
case 'get':
|
96 |
+
$value = isset( $_GET[ $key ] ) ? $_GET[ $key ] : $def;
|
97 |
+
break;
|
98 |
+
default:
|
99 |
+
$value = isset( $_REQUEST[ $key ] ) ? $_REQUEST[ $key ] : $def;
|
100 |
+
break;
|
101 |
+
}
|
102 |
+
|
103 |
+
return $value;
|
104 |
}
|
105 |
|
106 |
function fs_request_has( $key ) {
|
185 |
return true;
|
186 |
}
|
187 |
|
188 |
+
function fs_is_plugin_page( $page_slug ) {
|
189 |
+
return ( is_admin() && $page_slug === fs_request_get('page') );
|
190 |
}
|
191 |
|
192 |
/* Core UI.
|
468 |
$ch = curl_init( $from );
|
469 |
$fp = fopen( fs_normalize_path( $to ), 'wb' );
|
470 |
curl_setopt( $ch, CURLOPT_FILE, $fp );
|
471 |
+
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
|
472 |
+
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
|
473 |
curl_setopt( $ch, CURLOPT_HEADER, 0 );
|
474 |
curl_exec( $ch );
|
475 |
curl_close( $ch );
|
511 |
#region Localization
|
512 |
#--------------------------------------------------------------------------------
|
513 |
|
514 |
+
if ( ! function_exists( 'fs_text' ) ) {
|
515 |
+
/**
|
516 |
+
* Retrieve a translated text by key.
|
517 |
+
*
|
518 |
+
* @author Vova Feldman (@svovaf)
|
519 |
+
* @since 1.2.1.7
|
520 |
+
*
|
521 |
+
* @param string $key
|
522 |
+
* @param string $slug
|
523 |
+
*
|
524 |
+
* @return string
|
525 |
+
*
|
526 |
+
* @global $fs_text, $fs_text_overrides
|
527 |
+
*/
|
528 |
+
function fs_text( $key, $slug = 'freemius' ) {
|
529 |
+
return __fs( $key, $slug );
|
530 |
+
}
|
531 |
+
|
532 |
+
/**
|
533 |
+
* Output a translated text by key.
|
534 |
+
*
|
535 |
+
* @author Vova Feldman (@svovaf)
|
536 |
+
* @since 1.2.1.7
|
537 |
+
*
|
538 |
+
* @param string $key
|
539 |
+
* @param string $slug
|
540 |
+
*/
|
541 |
+
function fs_echo( $key, $slug = 'freemius' ) {
|
542 |
+
echo fs_text( $key, $slug );
|
543 |
+
}
|
544 |
+
}
|
545 |
+
|
546 |
+
/**
|
547 |
* @author Vova Feldman
|
548 |
+
* @since 1.2.1.6
|
549 |
*
|
550 |
* @param string $key
|
551 |
* @param string $slug
|
552 |
*
|
553 |
* @return string
|
554 |
*/
|
555 |
+
function fs_esc_attr( $key, $slug ) {
|
556 |
+
return esc_attr( fs_text( $key, $slug ) );
|
557 |
}
|
558 |
|
559 |
/**
|
560 |
* @author Vova Feldman
|
561 |
+
* @since 1.2.1.6
|
562 |
*
|
563 |
* @param string $key
|
564 |
* @param string $slug
|
565 |
*/
|
566 |
+
function fs_esc_attr_echo( $key, $slug ) {
|
567 |
+
echo esc_attr( fs_text( $key, $slug ) );
|
568 |
}
|
569 |
|
570 |
/**
|
571 |
* @author Vova Feldman
|
572 |
+
* @since 1.2.1.6
|
573 |
*
|
574 |
* @param string $key
|
575 |
* @param string $slug
|
576 |
*
|
577 |
* @return string
|
578 |
*/
|
579 |
+
function fs_esc_js( $key, $slug ) {
|
580 |
+
return esc_js( fs_text( $key, $slug ) );
|
581 |
}
|
582 |
|
583 |
/**
|
584 |
* @author Vova Feldman
|
585 |
+
* @since 1.2.1.6
|
586 |
*
|
587 |
* @param string $key
|
588 |
* @param string $slug
|
589 |
*/
|
590 |
+
function fs_esc_js_echo( $key, $slug ) {
|
591 |
+
echo esc_js( fs_text( $key, $slug ) );
|
592 |
}
|
593 |
|
594 |
/**
|
595 |
* @author Vova Feldman
|
596 |
+
* @since 1.2.1.6
|
597 |
*
|
598 |
* @param string $key
|
599 |
* @param string $slug
|
600 |
*/
|
601 |
+
function fs_json_encode_echo( $key, $slug ) {
|
602 |
+
echo json_encode( fs_text( $key, $slug ) );
|
603 |
}
|
604 |
|
605 |
/**
|
606 |
* @author Vova Feldman
|
607 |
+
* @since 1.2.1.6
|
608 |
*
|
609 |
* @param string $key
|
610 |
* @param string $slug
|
611 |
*
|
612 |
* @return string
|
613 |
*/
|
614 |
+
function fs_esc_html( $key, $slug ) {
|
615 |
+
return esc_html( fs_text( $key, $slug ) );
|
616 |
}
|
617 |
|
618 |
/**
|
619 |
* @author Vova Feldman
|
620 |
+
* @since 1.2.1.6
|
621 |
*
|
622 |
* @param string $key
|
623 |
* @param string $slug
|
624 |
*/
|
625 |
+
function fs_esc_html_echo( $key, $slug ) {
|
626 |
+
echo esc_html( fs_text( $key, $slug ) );
|
627 |
}
|
628 |
|
629 |
+
#endregion
|
freemius/includes/fs-essential-functions.php
CHANGED
@@ -52,7 +52,7 @@
|
|
52 |
|
53 |
$file = '';
|
54 |
$line = '';
|
55 |
-
if ( headers_sent($file, $line) ) {
|
56 |
if ( WP_FS__DEBUG_SDK && class_exists( 'FS_Admin_Notice_Manager' ) ) {
|
57 |
$notices = FS_Admin_Notice_Manager::instance( 'global' );
|
58 |
|
@@ -152,64 +152,70 @@
|
|
152 |
/**
|
153 |
* Retrieve a translated text by key.
|
154 |
*
|
155 |
-
* @
|
156 |
-
*
|
|
|
|
|
157 |
*
|
158 |
* @param string $key
|
159 |
* @param string $slug
|
160 |
*
|
161 |
* @return string
|
162 |
*
|
163 |
-
* @global $fs_text
|
164 |
*/
|
165 |
function __fs( $key, $slug = 'freemius' ) {
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
}
|
199 |
|
200 |
/**
|
201 |
-
*
|
202 |
*
|
203 |
-
* @
|
204 |
-
*
|
|
|
|
|
205 |
*
|
206 |
* @param string $key
|
207 |
* @param string $slug
|
208 |
*/
|
209 |
function _efs( $key, $slug = 'freemius' ) {
|
210 |
-
|
211 |
}
|
|
|
212 |
|
|
|
213 |
/**
|
214 |
* Override default i18n text phrases.
|
215 |
*
|
@@ -292,6 +298,10 @@
|
|
292 |
|
293 |
$plugin_file = null;
|
294 |
for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
|
|
|
|
|
|
|
|
|
295 |
if ( in_array( fs_normalize_path( $bt[ $i ]['file'] ), $all_plugins_paths ) ) {
|
296 |
$plugin_file = $bt[ $i ]['file'];
|
297 |
break;
|
@@ -300,7 +310,11 @@
|
|
300 |
|
301 |
if ( is_null( $plugin_file ) ) {
|
302 |
// Throw an error to the developer in case of some edge case dev environment.
|
303 |
-
wp_die(
|
|
|
|
|
|
|
|
|
304 |
}
|
305 |
|
306 |
return $plugin_file;
|
52 |
|
53 |
$file = '';
|
54 |
$line = '';
|
55 |
+
if ( headers_sent( $file, $line ) ) {
|
56 |
if ( WP_FS__DEBUG_SDK && class_exists( 'FS_Admin_Notice_Manager' ) ) {
|
57 |
$notices = FS_Admin_Notice_Manager::instance( 'global' );
|
58 |
|
152 |
/**
|
153 |
* Retrieve a translated text by key.
|
154 |
*
|
155 |
+
* @deprecated Use `fs_text()` instead since methods starting with `__` trigger warnings in Php 7.
|
156 |
+
*
|
157 |
+
* @author Vova Feldman (@svovaf)
|
158 |
+
* @since 1.1.4
|
159 |
*
|
160 |
* @param string $key
|
161 |
* @param string $slug
|
162 |
*
|
163 |
* @return string
|
164 |
*
|
165 |
+
* @global $fs_text, $fs_text_overrides
|
166 |
*/
|
167 |
function __fs( $key, $slug = 'freemius' ) {
|
168 |
+
global $fs_text,
|
169 |
+
$fs_module_info_text,
|
170 |
+
$fs_text_overrides;
|
171 |
+
|
172 |
+
if ( isset( $fs_text_overrides[ $slug ] ) ) {
|
173 |
+
if ( isset( $fs_text_overrides[ $slug ][ $key ] ) ) {
|
174 |
+
return $fs_text_overrides[ $slug ][ $key ];
|
175 |
+
}
|
176 |
+
|
177 |
+
$lower_key = strtolower( $key );
|
178 |
+
if ( isset( $fs_text_overrides[ $slug ][ $lower_key ] ) ) {
|
179 |
+
return $fs_text_overrides[ $slug ][ $lower_key ];
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
if ( ! isset( $fs_text ) ) {
|
184 |
+
$dir = defined( 'WP_FS__DIR_INCLUDES' ) ?
|
185 |
+
WP_FS__DIR_INCLUDES :
|
186 |
+
dirname( __FILE__ );
|
187 |
+
|
188 |
+
require_once $dir . '/i18n.php';
|
189 |
+
}
|
190 |
+
|
191 |
+
if ( isset( $fs_text[ $key ] ) ) {
|
192 |
+
return $fs_text[ $key ];
|
193 |
+
}
|
194 |
+
|
195 |
+
if ( isset( $fs_module_info_text[ $key ] ) ) {
|
196 |
+
return $fs_module_info_text[ $key ];
|
197 |
+
}
|
198 |
+
|
199 |
+
return $key;
|
200 |
}
|
201 |
|
202 |
/**
|
203 |
+
* Output a translated text by key.
|
204 |
*
|
205 |
+
* @deprecated Use `fs_echo()` instead for consistency with `fs_text()`.
|
206 |
+
*
|
207 |
+
* @author Vova Feldman (@svovaf)
|
208 |
+
* @since 1.1.4
|
209 |
*
|
210 |
* @param string $key
|
211 |
* @param string $slug
|
212 |
*/
|
213 |
function _efs( $key, $slug = 'freemius' ) {
|
214 |
+
fs_echo( $key, $slug );
|
215 |
}
|
216 |
+
}
|
217 |
|
218 |
+
if ( ! function_exists( 'fs_override_i18n' ) ) {
|
219 |
/**
|
220 |
* Override default i18n text phrases.
|
221 |
*
|
298 |
|
299 |
$plugin_file = null;
|
300 |
for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
|
301 |
+
if ( empty( $bt[ $i ]['file'] ) ) {
|
302 |
+
continue;
|
303 |
+
}
|
304 |
+
|
305 |
if ( in_array( fs_normalize_path( $bt[ $i ]['file'] ), $all_plugins_paths ) ) {
|
306 |
$plugin_file = $bt[ $i ]['file'];
|
307 |
break;
|
310 |
|
311 |
if ( is_null( $plugin_file ) ) {
|
312 |
// Throw an error to the developer in case of some edge case dev environment.
|
313 |
+
wp_die(
|
314 |
+
"Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error.",
|
315 |
+
'Error',
|
316 |
+
array( 'back_link' => true )
|
317 |
+
);
|
318 |
}
|
319 |
|
320 |
return $plugin_file;
|
freemius/includes/fs-plugin-info-dialog.php
CHANGED
@@ -323,8 +323,8 @@
|
|
323 |
$plan->has_trial()
|
324 |
) . '" target="_parent">' .
|
325 |
( ! $plan->has_trial() ?
|
326 |
-
|
327 |
-
sprintf(
|
328 |
) .
|
329 |
'</a>';
|
330 |
|
@@ -346,23 +346,23 @@
|
|
346 |
* plugin is wordpress.org compliant. Therefore, require a download
|
347 |
* since installing external plugins is not allowed by the wp.org guidelines.
|
348 |
*/
|
349 |
-
return ' <a class="button button-primary right" href="' . esc_url( $api->download_link ) . '" target="_blank">' .
|
350 |
} else {
|
351 |
if ( $status['url'] ) {
|
352 |
-
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' .
|
353 |
}
|
354 |
}
|
355 |
break;
|
356 |
case 'update_available':
|
357 |
if ( $status['url'] ) {
|
358 |
-
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' .
|
359 |
}
|
360 |
break;
|
361 |
case 'newer_installed':
|
362 |
-
return '<a class="button button-primary right disabled">' . sprintf(
|
363 |
break;
|
364 |
case 'latest_installed':
|
365 |
-
return '<a class="button button-primary right disabled">' .
|
366 |
break;
|
367 |
}
|
368 |
|
@@ -475,13 +475,13 @@
|
|
475 |
);
|
476 |
|
477 |
$plugins_section_titles = array(
|
478 |
-
'description' =>
|
479 |
-
'installation' =>
|
480 |
-
'faq' =>
|
481 |
-
'screenshots' =>
|
482 |
-
'changelog' =>
|
483 |
-
'reviews' =>
|
484 |
-
'other_notes' =>
|
485 |
);
|
486 |
|
487 |
// Sanitize HTML
|
@@ -496,7 +496,7 @@
|
|
496 |
}
|
497 |
|
498 |
// Add after $api->slug is ready.
|
499 |
-
$plugins_section_titles['features'] =
|
500 |
|
501 |
$_tab = esc_attr( $tab );
|
502 |
|
@@ -506,7 +506,7 @@
|
|
506 |
$section = array_shift( $section_titles );
|
507 |
}
|
508 |
|
509 |
-
iframe_header(
|
510 |
|
511 |
$_with_banner = '';
|
512 |
|
@@ -574,7 +574,7 @@
|
|
574 |
<div class="fs-plan<?php if ( ! $is_multi_cycle ) {
|
575 |
echo ' fs-single-cycle';
|
576 |
} ?>" data-plan-id="<?php echo $plan->id ?>">
|
577 |
-
<h3 data-plan="<?php echo $plan->id ?>"><?php printf(
|
578 |
<?php $has_annual = $first_pricing->has_annual() ?>
|
579 |
<?php $has_monthly = $first_pricing->has_monthly() ?>
|
580 |
<div class="nav-tab-wrapper">
|
@@ -599,9 +599,9 @@
|
|
599 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
600 |
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
601 |
<?php if ( $is_featured ) : ?>
|
602 |
-
<label>★ <?php
|
603 |
<?php endif ?>
|
604 |
-
<?php
|
605 |
</a>
|
606 |
<?php endif ?>
|
607 |
<?php $i ++; endforeach ?>
|
@@ -612,21 +612,21 @@
|
|
612 |
_formatBillingFrequency = function (cycle) {
|
613 |
switch (cycle) {
|
614 |
case 'monthly':
|
615 |
-
return '<?php printf(
|
616 |
case 'annual':
|
617 |
-
return '<?php printf(
|
618 |
case 'lifetime':
|
619 |
-
return '<?php printf(
|
620 |
}
|
621 |
},
|
622 |
_formatLicensesTitle = function (pricing) {
|
623 |
switch (pricing.licenses) {
|
624 |
case 1:
|
625 |
-
return '<?php
|
626 |
case null:
|
627 |
-
return '<?php
|
628 |
default:
|
629 |
-
return '<?php
|
630 |
}
|
631 |
},
|
632 |
_formatPrice = function (pricing, cycle, multipleLicenses) {
|
@@ -636,14 +636,14 @@
|
|
636 |
var priceCycle;
|
637 |
switch (cycle) {
|
638 |
case 'monthly':
|
639 |
-
priceCycle = ' / <?php
|
640 |
break;
|
641 |
case 'lifetime':
|
642 |
priceCycle = '';
|
643 |
break;
|
644 |
case 'annual':
|
645 |
default:
|
646 |
-
priceCycle = ' / <?php
|
647 |
break;
|
648 |
}
|
649 |
|
@@ -695,7 +695,7 @@
|
|
695 |
|
696 |
// Render licenses prices.
|
697 |
if (1 == pricing.length) {
|
698 |
-
html = '<li><label><?php
|
699 |
} else {
|
700 |
for (var i = 0; i < pricing.length; i++) {
|
701 |
html += '<li><label><input name="pricing-<?php echo $plan->id ?>" type="radio" value="' + pricing[i].id + '">' + _formatPrice(pricing[i], billingCycle) + '</label></li>';
|
@@ -741,7 +741,7 @@
|
|
741 |
<?php $annual_discount = ( $has_annual && $has_monthly ) ? $plan->pricing[0]->annual_discount_percentage() : 0 ?>
|
742 |
<?php if ( $annual_discount > 0 ) : ?>
|
743 |
<span
|
744 |
-
class="fs-annual-discount"><?php printf(
|
745 |
<?php endif ?>
|
746 |
<ul class="fs-licenses">
|
747 |
</ul>
|
@@ -751,10 +751,10 @@
|
|
751 |
<?php $trial_period = $this->get_trial_period( $plan ) ?>
|
752 |
<ul class="fs-trial-terms">
|
753 |
<li>
|
754 |
-
<i class="dashicons dashicons-yes"></i><?php printf(
|
755 |
</li>
|
756 |
<li>
|
757 |
-
<i class="dashicons dashicons-yes"></i><?php printf(
|
758 |
</li>
|
759 |
</ul>
|
760 |
<?php endif ?>
|
@@ -765,45 +765,45 @@
|
|
765 |
<?php endif ?>
|
766 |
<?php endif ?>
|
767 |
<div>
|
768 |
-
<h3><?php
|
769 |
<ul>
|
770 |
<?php if ( ! empty( $api->version ) ) { ?>
|
771 |
-
<li><strong><?php
|
772 |
<?php
|
773 |
}
|
774 |
if ( ! empty( $api->author ) ) {
|
775 |
?>
|
776 |
<li>
|
777 |
-
<strong><?php
|
778 |
</li>
|
779 |
<?php
|
780 |
}
|
781 |
if ( ! empty( $api->last_updated ) ) {
|
782 |
?>
|
783 |
-
<li><strong><?php
|
784 |
title="<?php echo $api->last_updated; ?>">
|
785 |
-
<?php printf(
|
786 |
</span></li>
|
787 |
<?php
|
788 |
}
|
789 |
if ( ! empty( $api->requires ) ) {
|
790 |
?>
|
791 |
<li>
|
792 |
-
<strong><?php
|
793 |
</li>
|
794 |
<?php
|
795 |
}
|
796 |
if ( ! empty( $api->tested ) ) {
|
797 |
?>
|
798 |
-
<li><strong><?php
|
799 |
</li>
|
800 |
<?php
|
801 |
}
|
802 |
if ( ! empty( $api->downloaded ) ) {
|
803 |
?>
|
804 |
<li>
|
805 |
-
<strong><?php
|
806 |
-
|
807 |
number_format_i18n( $api->downloaded )
|
808 |
); ?>
|
809 |
</li>
|
@@ -812,36 +812,36 @@
|
|
812 |
if ( ! empty( $api->slug ) && empty( $api->external ) ) {
|
813 |
?>
|
814 |
<li><a target="_blank"
|
815 |
-
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php
|
816 |
</li>
|
817 |
<?php
|
818 |
}
|
819 |
if ( ! empty( $api->homepage ) ) {
|
820 |
?>
|
821 |
<li><a target="_blank"
|
822 |
-
href="<?php echo esc_url( $api->homepage ); ?>"><?php
|
823 |
</li>
|
824 |
<?php
|
825 |
}
|
826 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
827 |
?>
|
828 |
<li><a target="_blank"
|
829 |
-
href="<?php echo esc_url( $api->donate_link ); ?>"><?php
|
830 |
</li>
|
831 |
<?php } ?>
|
832 |
</ul>
|
833 |
</div>
|
834 |
<?php if ( ! empty( $api->rating ) ) { ?>
|
835 |
-
<h3><?php
|
836 |
<?php wp_star_rating( array(
|
837 |
'rating' => $api->rating,
|
838 |
'type' => 'percent',
|
839 |
'number' => $api->num_ratings
|
840 |
) ); ?>
|
841 |
<small>(<?php printf(
|
842 |
-
|
843 |
sprintf(
|
844 |
-
|
845 |
number_format_i18n( $api->num_ratings )
|
846 |
) ); ?>)</small>
|
847 |
<?php
|
@@ -852,7 +852,7 @@
|
|
852 |
// Avoid div-by-zero.
|
853 |
$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
|
854 |
$stars_label = sprintf(
|
855 |
-
|
856 |
number_format_i18n( $key )
|
857 |
);
|
858 |
?>
|
@@ -860,7 +860,7 @@
|
|
860 |
<span class="counter-label"><a
|
861 |
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
862 |
target="_blank"
|
863 |
-
title="<?php echo esc_attr( sprintf(
|
864 |
<span class="counter-back">
|
865 |
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
|
866 |
</span>
|
@@ -871,7 +871,7 @@
|
|
871 |
}
|
872 |
if ( ! empty( $api->contributors ) ) {
|
873 |
?>
|
874 |
-
<h3><?php
|
875 |
<ul class="contributors">
|
876 |
<?php
|
877 |
foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
|
@@ -892,16 +892,16 @@
|
|
892 |
</ul>
|
893 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
894 |
<a target="_blank"
|
895 |
-
href="<?php echo esc_url( $api->donate_link ); ?>"><?php
|
896 |
<?php } ?>
|
897 |
<?php } ?>
|
898 |
</div>
|
899 |
<div id="section-holder" class="wrap">
|
900 |
<?php
|
901 |
if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
|
902 |
-
echo '<div class="notice notice-warning"><p>' . '<strong>' .
|
903 |
} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
|
904 |
-
echo '<div class="notice notice-warning"><p>' . '<strong>' .
|
905 |
}
|
906 |
|
907 |
foreach ( (array) $api->sections as $section_name => $content ) {
|
@@ -919,7 +919,7 @@
|
|
919 |
$missing_notice = array(
|
920 |
'type' => 'error',
|
921 |
'id' => md5( microtime() ),
|
922 |
-
'message' =>
|
923 |
);
|
924 |
fs_require_template( 'admin-notice.php', $missing_notice );
|
925 |
}
|
323 |
$plan->has_trial()
|
324 |
) . '" target="_parent">' .
|
325 |
( ! $plan->has_trial() ?
|
326 |
+
fs_text( 'purchase', $api->slug ) :
|
327 |
+
sprintf( fs_text( 'start-free-x', $api->slug ), $this->get_trial_period( $plan ) )
|
328 |
) .
|
329 |
'</a>';
|
330 |
|
346 |
* plugin is wordpress.org compliant. Therefore, require a download
|
347 |
* since installing external plugins is not allowed by the wp.org guidelines.
|
348 |
*/
|
349 |
+
return ' <a class="button button-primary right" href="' . esc_url( $api->download_link ) . '" target="_blank">' . fs_text( 'download-latest', $api->slug ) . '</a>';
|
350 |
} else {
|
351 |
if ( $status['url'] ) {
|
352 |
+
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . fs_text( 'install-now', $api->slug ) . '</a>';
|
353 |
}
|
354 |
}
|
355 |
break;
|
356 |
case 'update_available':
|
357 |
if ( $status['url'] ) {
|
358 |
+
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . fs_text( 'install-update-now', $api->slug ) . '</a>';
|
359 |
}
|
360 |
break;
|
361 |
case 'newer_installed':
|
362 |
+
return '<a class="button button-primary right disabled">' . sprintf( fs_text( 'newer-installed', $api->slug ), $status['version'] ) . '</a>';
|
363 |
break;
|
364 |
case 'latest_installed':
|
365 |
+
return '<a class="button button-primary right disabled">' . fs_text( 'latest-installed', $api->slug ) . '</a>';
|
366 |
break;
|
367 |
}
|
368 |
|
475 |
);
|
476 |
|
477 |
$plugins_section_titles = array(
|
478 |
+
'description' => fs_text( 'description', $api->slug ),
|
479 |
+
'installation' => fs_text( 'installation', $api->slug ),
|
480 |
+
'faq' => fs_text( 'faq', $api->slug ),
|
481 |
+
'screenshots' => fs_text( 'screenshots', $api->slug ),
|
482 |
+
'changelog' => fs_text( 'changelog', $api->slug ),
|
483 |
+
'reviews' => fs_text( 'reviews', $api->slug ),
|
484 |
+
'other_notes' => fs_text( 'other_notes', $api->slug ),
|
485 |
);
|
486 |
|
487 |
// Sanitize HTML
|
496 |
}
|
497 |
|
498 |
// Add after $api->slug is ready.
|
499 |
+
$plugins_section_titles['features'] = fs_text( 'features-and-pricing', $api->slug );
|
500 |
|
501 |
$_tab = esc_attr( $tab );
|
502 |
|
506 |
$section = array_shift( $section_titles );
|
507 |
}
|
508 |
|
509 |
+
iframe_header( fs_text( 'plugin-install', $api->slug ) );
|
510 |
|
511 |
$_with_banner = '';
|
512 |
|
574 |
<div class="fs-plan<?php if ( ! $is_multi_cycle ) {
|
575 |
echo ' fs-single-cycle';
|
576 |
} ?>" data-plan-id="<?php echo $plan->id ?>">
|
577 |
+
<h3 data-plan="<?php echo $plan->id ?>"><?php printf( fs_text( 'x-plan', $api->slug ), $plan->title ) ?></h3>
|
578 |
<?php $has_annual = $first_pricing->has_annual() ?>
|
579 |
<?php $has_monthly = $first_pricing->has_monthly() ?>
|
580 |
<div class="nav-tab-wrapper">
|
599 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
600 |
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
601 |
<?php if ( $is_featured ) : ?>
|
602 |
+
<label>★ <?php fs_echo( 'best', $api->slug ) ?> ★</label>
|
603 |
<?php endif ?>
|
604 |
+
<?php fs_echo( $cycle, $api->slug ) ?>
|
605 |
</a>
|
606 |
<?php endif ?>
|
607 |
<?php $i ++; endforeach ?>
|
612 |
_formatBillingFrequency = function (cycle) {
|
613 |
switch (cycle) {
|
614 |
case 'monthly':
|
615 |
+
return '<?php printf(fs_text('billed-x', $api->slug), fs_text('monthly', $api->slug)) ?>';
|
616 |
case 'annual':
|
617 |
+
return '<?php printf(fs_text('billed-x', $api->slug), fs_text('annually', $api->slug)) ?>';
|
618 |
case 'lifetime':
|
619 |
+
return '<?php printf(fs_text('billed-x', $api->slug), fs_text('once', $api->slug)) ?>';
|
620 |
}
|
621 |
},
|
622 |
_formatLicensesTitle = function (pricing) {
|
623 |
switch (pricing.licenses) {
|
624 |
case 1:
|
625 |
+
return '<?php fs_echo( 'license-single-site', $api->slug ) ?>';
|
626 |
case null:
|
627 |
+
return '<?php fs_echo( 'license-unlimited', $api->slug ) ?>';
|
628 |
default:
|
629 |
+
return '<?php fs_echo( 'license-x-sites', $api->slug ) ?>'.replace('%s', pricing.licenses);
|
630 |
}
|
631 |
},
|
632 |
_formatPrice = function (pricing, cycle, multipleLicenses) {
|
636 |
var priceCycle;
|
637 |
switch (cycle) {
|
638 |
case 'monthly':
|
639 |
+
priceCycle = ' / <?php fs_echo('mo', $api->slug) ?>';
|
640 |
break;
|
641 |
case 'lifetime':
|
642 |
priceCycle = '';
|
643 |
break;
|
644 |
case 'annual':
|
645 |
default:
|
646 |
+
priceCycle = ' / <?php fs_echo('year', $api->slug) ?>';
|
647 |
break;
|
648 |
}
|
649 |
|
695 |
|
696 |
// Render licenses prices.
|
697 |
if (1 == pricing.length) {
|
698 |
+
html = '<li><label><?php fs_echo( 'price', $api->slug ) ?>: ' + _formatPrice(pricing[0], billingCycle, false) + '</label></li>';
|
699 |
} else {
|
700 |
for (var i = 0; i < pricing.length; i++) {
|
701 |
html += '<li><label><input name="pricing-<?php echo $plan->id ?>" type="radio" value="' + pricing[i].id + '">' + _formatPrice(pricing[i], billingCycle) + '</label></li>';
|
741 |
<?php $annual_discount = ( $has_annual && $has_monthly ) ? $plan->pricing[0]->annual_discount_percentage() : 0 ?>
|
742 |
<?php if ( $annual_discount > 0 ) : ?>
|
743 |
<span
|
744 |
+
class="fs-annual-discount"><?php printf( fs_text( 'save-x', $api->slug ), $annual_discount . '%' ) ?></span>
|
745 |
<?php endif ?>
|
746 |
<ul class="fs-licenses">
|
747 |
</ul>
|
751 |
<?php $trial_period = $this->get_trial_period( $plan ) ?>
|
752 |
<ul class="fs-trial-terms">
|
753 |
<li>
|
754 |
+
<i class="dashicons dashicons-yes"></i><?php printf( fs_text( 'no-commitment-x', $api->slug ), $trial_period ) ?>
|
755 |
</li>
|
756 |
<li>
|
757 |
+
<i class="dashicons dashicons-yes"></i><?php printf( fs_text( 'after-x-pay-as-little-y', $api->slug ), $trial_period, '<var class="fs-price">' . $this->get_price_tag( $plan, $plan->pricing[0] ) . '</var>' ) ?>
|
758 |
</li>
|
759 |
</ul>
|
760 |
<?php endif ?>
|
765 |
<?php endif ?>
|
766 |
<?php endif ?>
|
767 |
<div>
|
768 |
+
<h3><?php fs_echo( 'details', $api->slug ) ?></h3>
|
769 |
<ul>
|
770 |
<?php if ( ! empty( $api->version ) ) { ?>
|
771 |
+
<li><strong><?php fs_echo( 'version', $api->slug ); ?>:</strong> <?php echo $api->version; ?></li>
|
772 |
<?php
|
773 |
}
|
774 |
if ( ! empty( $api->author ) ) {
|
775 |
?>
|
776 |
<li>
|
777 |
+
<strong><?php fs_echo( 'author:', $api->slug ); ?></strong> <?php echo links_add_target( $api->author, '_blank' ); ?>
|
778 |
</li>
|
779 |
<?php
|
780 |
}
|
781 |
if ( ! empty( $api->last_updated ) ) {
|
782 |
?>
|
783 |
+
<li><strong><?php fs_echo( 'last-updated:', $api->slug ); ?></strong> <span
|
784 |
title="<?php echo $api->last_updated; ?>">
|
785 |
+
<?php printf( fs_text( 'x-ago', $api->slug ), human_time_diff( strtotime( $api->last_updated ) ) ); ?>
|
786 |
</span></li>
|
787 |
<?php
|
788 |
}
|
789 |
if ( ! empty( $api->requires ) ) {
|
790 |
?>
|
791 |
<li>
|
792 |
+
<strong><?php fs_echo( 'requires-wordpress-version:', $api->slug ); ?></strong> <?php printf( fs_text( 'x-or-higher', $api->slug ), $api->requires ); ?>
|
793 |
</li>
|
794 |
<?php
|
795 |
}
|
796 |
if ( ! empty( $api->tested ) ) {
|
797 |
?>
|
798 |
+
<li><strong><?php fs_echo( 'compatible-up-to:', $api->slug ); ?></strong> <?php echo $api->tested; ?>
|
799 |
</li>
|
800 |
<?php
|
801 |
}
|
802 |
if ( ! empty( $api->downloaded ) ) {
|
803 |
?>
|
804 |
<li>
|
805 |
+
<strong><?php fs_echo( 'downloaded:', $api->slug ); ?></strong> <?php printf(
|
806 |
+
fs_text( ( 1 == $api->downloaded ) ? 'x-time' : 'x-times', $api->slug ),
|
807 |
number_format_i18n( $api->downloaded )
|
808 |
); ?>
|
809 |
</li>
|
812 |
if ( ! empty( $api->slug ) && empty( $api->external ) ) {
|
813 |
?>
|
814 |
<li><a target="_blank"
|
815 |
+
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php fs_echo( 'wp-org-plugin-page', $api->slug ); ?> »</a>
|
816 |
</li>
|
817 |
<?php
|
818 |
}
|
819 |
if ( ! empty( $api->homepage ) ) {
|
820 |
?>
|
821 |
<li><a target="_blank"
|
822 |
+
href="<?php echo esc_url( $api->homepage ); ?>"><?php fs_echo( 'plugin-homepage', $api->slug ); ?> »</a>
|
823 |
</li>
|
824 |
<?php
|
825 |
}
|
826 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
827 |
?>
|
828 |
<li><a target="_blank"
|
829 |
+
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo( 'donate-to-plugin', $api->slug ); ?> »</a>
|
830 |
</li>
|
831 |
<?php } ?>
|
832 |
</ul>
|
833 |
</div>
|
834 |
<?php if ( ! empty( $api->rating ) ) { ?>
|
835 |
+
<h3><?php fs_echo( 'average-rating', $api->slug ); ?></h3>
|
836 |
<?php wp_star_rating( array(
|
837 |
'rating' => $api->rating,
|
838 |
'type' => 'percent',
|
839 |
'number' => $api->num_ratings
|
840 |
) ); ?>
|
841 |
<small>(<?php printf(
|
842 |
+
fs_text( 'based-on-x', $api->slug ),
|
843 |
sprintf(
|
844 |
+
fs_text( ( 1 == $api->num_ratings ) ? 'x-rating' : 'x-ratings', $api->slug ),
|
845 |
number_format_i18n( $api->num_ratings )
|
846 |
) ); ?>)</small>
|
847 |
<?php
|
852 |
// Avoid div-by-zero.
|
853 |
$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
|
854 |
$stars_label = sprintf(
|
855 |
+
fs_text( ( 1 == $key ) ? 'x-star' : 'x-stars', $api->slug ),
|
856 |
number_format_i18n( $key )
|
857 |
);
|
858 |
?>
|
860 |
<span class="counter-label"><a
|
861 |
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
862 |
target="_blank"
|
863 |
+
title="<?php echo esc_attr( sprintf( fs_text('click-to-reviews', $api->slug), $stars_label) ) ?>"><?php echo $stars_label ?></a></span>
|
864 |
<span class="counter-back">
|
865 |
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
|
866 |
</span>
|
871 |
}
|
872 |
if ( ! empty( $api->contributors ) ) {
|
873 |
?>
|
874 |
+
<h3><?php fs_echo( 'contributors', $api->slug ); ?></h3>
|
875 |
<ul class="contributors">
|
876 |
<?php
|
877 |
foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
|
892 |
</ul>
|
893 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
894 |
<a target="_blank"
|
895 |
+
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo( 'donate-to-plugin', $api->slug ) ?> »</a>
|
896 |
<?php } ?>
|
897 |
<?php } ?>
|
898 |
</div>
|
899 |
<div id="section-holder" class="wrap">
|
900 |
<?php
|
901 |
if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
|
902 |
+
echo '<div class="notice notice-warning"><p>' . '<strong>' . fs_text( 'warning:', $api->slug ) . '</strong> ' . fs_text( 'not-tested-warning', $api->slug ) . '</p></div>';
|
903 |
} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
|
904 |
+
echo '<div class="notice notice-warning"><p>' . '<strong>' . fs_text( 'warning:', $api->slug ) . '</strong> ' . fs_text( 'not-compatible-warning', $api->slug ) . '</p></div>';
|
905 |
}
|
906 |
|
907 |
foreach ( (array) $api->sections as $section_name => $content ) {
|
919 |
$missing_notice = array(
|
920 |
'type' => 'error',
|
921 |
'id' => md5( microtime() ),
|
922 |
+
'message' => fs_text( ( $api->is_paid ? 'paid-addon-not-deployed' : 'free-addon-not-deployed' ), $api->slug ),
|
923 |
);
|
924 |
fs_require_template( 'admin-notice.php', $missing_notice );
|
925 |
}
|
freemius/includes/i18n.php
CHANGED
@@ -1,518 +1,538 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
-
* @since 1.1.4
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
require_once dirname( __FILE__ ) . '/l10n.php';
|
14 |
-
|
15 |
-
/**
|
16 |
-
* All strings can now be overridden.
|
17 |
-
*
|
18 |
-
* For example, if we want to override:
|
19 |
-
* 'you-are-step-away' => 'You are just one step away - %s',
|
20 |
-
*
|
21 |
-
* We can use the filter:
|
22 |
-
* fs_override_i18n( array(
|
23 |
-
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
24 |
-
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
25 |
-
* ), '{plugin_slug}' );
|
26 |
-
*
|
27 |
-
* Or with the Freemius instance:
|
28 |
-
*
|
29 |
-
* my_freemius->override_i18n( array(
|
30 |
-
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
31 |
-
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
32 |
-
* );
|
33 |
-
*/
|
34 |
-
global $fs_text;
|
35 |
-
|
36 |
-
$fs_text = array(
|
37 |
-
'account' => _fs_text( 'Account' ),
|
38 |
-
'addon' => _fs_text( 'Add On' ),
|
39 |
-
'contact-us' => _fs_text( 'Contact Us' ),
|
40 |
-
'contact-support' => _fs_text( 'Contact Support' ),
|
41 |
-
'change-ownership' => _fs_text( 'Change Ownership' ),
|
42 |
-
'support' => _fs_text( 'Support' ),
|
43 |
-
'support-forum' => _fs_text( 'Support Forum' ),
|
44 |
-
'add-ons' => _fs_text( 'Add Ons' ),
|
45 |
-
'upgrade' => _fs_x( 'Upgrade', 'verb' ),
|
46 |
-
'awesome' => _fs_text( 'Awesome' ),
|
47 |
-
'pricing' => _fs_x( 'Pricing', 'noun' ),
|
48 |
-
'price' => _fs_x( 'Price', 'noun' ),
|
49 |
-
'unlimited-updates' => _fs_text( 'Unlimited Updates' ),
|
50 |
-
'downgrade' => _fs_x( 'Downgrade', 'verb' ),
|
51 |
-
'cancel-
|
52 |
-
'
|
53 |
-
'
|
54 |
-
'
|
55 |
-
'
|
56 |
-
'
|
57 |
-
'
|
58 |
-
'
|
59 |
-
'
|
60 |
-
'
|
61 |
-
'
|
62 |
-
'
|
63 |
-
'
|
64 |
-
'
|
65 |
-
'
|
66 |
-
'
|
67 |
-
'
|
68 |
-
'
|
69 |
-
'
|
70 |
-
'
|
71 |
-
'
|
72 |
-
'
|
73 |
-
'download-x-version
|
74 |
-
'download-
|
75 |
-
'
|
76 |
-
'
|
77 |
-
'
|
78 |
-
'
|
79 |
-
'
|
80 |
-
'
|
81 |
-
'purchase
|
82 |
-
'
|
83 |
-
'buy
|
84 |
-
'license
|
85 |
-
'license-
|
86 |
-
'license-
|
87 |
-
'
|
88 |
-
'
|
89 |
-
'
|
90 |
-
'
|
91 |
-
'
|
92 |
-
|
93 |
-
|
94 |
-
'
|
95 |
-
'
|
96 |
-
'
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
'
|
101 |
-
'
|
102 |
-
'
|
103 |
-
'
|
104 |
-
'
|
105 |
-
'
|
106 |
-
'
|
107 |
-
'
|
108 |
-
'
|
109 |
-
'x
|
110 |
-
|
111 |
-
|
112 |
-
'
|
113 |
-
'
|
114 |
-
'
|
115 |
-
'email
|
116 |
-
'
|
117 |
-
'
|
118 |
-
'module
|
119 |
-
'
|
120 |
-
'
|
121 |
-
'
|
122 |
-
'
|
123 |
-
'
|
124 |
-
'
|
125 |
-
'
|
126 |
-
'
|
127 |
-
'
|
128 |
-
'
|
129 |
-
'
|
130 |
-
'
|
131 |
-
'
|
132 |
-
'
|
133 |
-
'
|
134 |
-
'
|
135 |
-
'
|
136 |
-
'
|
137 |
-
'
|
138 |
-
'no-
|
139 |
-
'
|
140 |
-
'sync'
|
141 |
-
'
|
142 |
-
'activate-
|
143 |
-
'activate-
|
144 |
-
'
|
145 |
-
'
|
146 |
-
'
|
147 |
-
'
|
148 |
-
'
|
149 |
-
'
|
150 |
-
'
|
151 |
-
'skip-
|
152 |
-
'
|
153 |
-
'
|
154 |
-
'
|
155 |
-
'
|
156 |
-
'
|
157 |
-
'install-
|
158 |
-
'
|
159 |
-
'
|
160 |
-
'
|
161 |
-
'x-
|
162 |
-
'
|
163 |
-
'
|
164 |
-
'
|
165 |
-
'
|
166 |
-
'
|
167 |
-
'delete-account-confirm'
|
168 |
-
'
|
169 |
-
'
|
170 |
-
'
|
171 |
-
'after-downgrade-blocking'
|
172 |
-
'
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
'add-ons-
|
177 |
-
|
178 |
-
|
179 |
-
'
|
180 |
-
'
|
181 |
-
'deactivation-
|
182 |
-
'deactivation-modal-button-
|
183 |
-
'
|
184 |
-
'
|
185 |
-
'reason-
|
186 |
-
'reason-
|
187 |
-
'reason-
|
188 |
-
'reason-
|
189 |
-
'reason-
|
190 |
-
'reason-
|
191 |
-
'reason-
|
192 |
-
|
193 |
-
|
194 |
-
'
|
195 |
-
'placeholder-
|
196 |
-
'
|
197 |
-
'reason-
|
198 |
-
'reason-
|
199 |
-
'reason-not-
|
200 |
-
'reason-
|
201 |
-
'
|
202 |
-
'placeholder-
|
203 |
-
'placeholder-what-
|
204 |
-
'placeholder-what-
|
205 |
-
'
|
206 |
-
'reason-
|
207 |
-
'dont-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
'
|
213 |
-
'
|
214 |
-
'connect-
|
215 |
-
'
|
216 |
-
'
|
217 |
-
'
|
218 |
-
'
|
219 |
-
'
|
220 |
-
'
|
221 |
-
'permissions
|
222 |
-
'permissions-
|
223 |
-
'permissions-
|
224 |
-
'permissions-
|
225 |
-
'permissions-
|
226 |
-
'permissions-
|
227 |
-
'permissions-
|
228 |
-
'permissions-
|
229 |
-
'permissions-
|
230 |
-
'permissions-
|
231 |
-
'permissions-
|
232 |
-
'
|
233 |
-
'
|
234 |
-
'
|
235 |
-
'
|
236 |
-
'
|
237 |
-
'
|
238 |
-
'
|
239 |
-
'
|
240 |
-
'
|
241 |
-
'
|
242 |
-
'
|
243 |
-
'
|
244 |
-
'
|
245 |
-
'
|
246 |
-
'
|
247 |
-
'
|
248 |
-
'
|
249 |
-
'
|
250 |
-
'opt-
|
251 |
-
'opt-out
|
252 |
-
'
|
253 |
-
'opting-
|
254 |
-
'
|
255 |
-
'opt-out-message-
|
256 |
-
'opt-out-message-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
'
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
'
|
267 |
-
'
|
268 |
-
'
|
269 |
-
'
|
270 |
-
'
|
271 |
-
'
|
272 |
-
'
|
273 |
-
'
|
274 |
-
'sdk
|
275 |
-
'
|
276 |
-
'
|
277 |
-
'
|
278 |
-
'
|
279 |
-
'
|
280 |
-
'
|
281 |
-
'
|
282 |
-
'
|
283 |
-
'
|
284 |
-
'
|
285 |
-
'
|
286 |
-
'
|
287 |
-
'
|
288 |
-
'
|
289 |
-
'
|
290 |
-
'
|
291 |
-
'
|
292 |
-
'
|
293 |
-
'
|
294 |
-
'
|
295 |
-
'
|
296 |
-
'
|
297 |
-
'
|
298 |
-
'
|
299 |
-
'all-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
'
|
305 |
-
'
|
306 |
-
'
|
307 |
-
|
308 |
-
|
309 |
-
'
|
310 |
-
|
311 |
-
|
312 |
-
'
|
313 |
-
'
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
'you-
|
320 |
-
'
|
321 |
-
'user-exist-
|
322 |
-
'
|
323 |
-
'
|
324 |
-
'
|
325 |
-
'
|
326 |
-
'
|
327 |
-
'
|
328 |
-
'
|
329 |
-
'
|
330 |
-
'
|
331 |
-
'
|
332 |
-
'
|
333 |
-
'
|
334 |
-
'
|
335 |
-
'download-latest-version'
|
336 |
-
'
|
337 |
-
'
|
338 |
-
'
|
339 |
-
'
|
340 |
-
|
341 |
-
|
342 |
-
'
|
343 |
-
'
|
344 |
-
'plan-
|
345 |
-
'
|
346 |
-
'license-
|
347 |
-
'
|
348 |
-
'
|
349 |
-
'
|
350 |
-
'license-
|
351 |
-
'license-deactivation-
|
352 |
-
'license-
|
353 |
-
'
|
354 |
-
'
|
355 |
-
'
|
356 |
-
'plan-downgraded-
|
357 |
-
'
|
358 |
-
'trial-cancel-message'
|
359 |
-
'
|
360 |
-
'
|
361 |
-
'
|
362 |
-
|
363 |
-
|
364 |
-
'
|
365 |
-
'
|
366 |
-
'
|
367 |
-
'
|
368 |
-
'trial-
|
369 |
-
'
|
370 |
-
'trial-
|
371 |
-
'plan-x-
|
372 |
-
'no-
|
373 |
-
'
|
374 |
-
'
|
375 |
-
'
|
376 |
-
'
|
377 |
-
'
|
378 |
-
'
|
379 |
-
'
|
380 |
-
'
|
381 |
-
|
382 |
-
#
|
383 |
-
|
384 |
-
'connectivity-test-
|
385 |
-
'
|
386 |
-
'
|
387 |
-
'
|
388 |
-
|
389 |
-
'
|
390 |
-
|
391 |
-
'squid-
|
392 |
-
'
|
393 |
-
'squid-
|
394 |
-
'
|
395 |
-
'
|
396 |
-
'curl-missing-
|
397 |
-
'
|
398 |
-
'
|
399 |
-
'
|
400 |
-
'
|
401 |
-
'
|
402 |
-
'
|
403 |
-
'
|
404 |
-
'
|
405 |
-
'
|
406 |
-
'
|
407 |
-
|
408 |
-
'
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
'change-owner-
|
414 |
-
|
415 |
-
'
|
416 |
-
|
417 |
-
'addon-x-cannot-run-without-
|
418 |
-
|
419 |
-
|
420 |
-
'
|
421 |
-
|
422 |
-
'
|
423 |
-
|
424 |
-
|
425 |
-
#--------------------------------------------------------------------------------
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
#
|
431 |
-
#--------------------------------------------------------------------------------
|
432 |
-
|
433 |
-
|
434 |
-
'
|
435 |
-
'
|
436 |
-
'
|
437 |
-
'
|
438 |
-
'
|
439 |
-
'
|
440 |
-
'
|
441 |
-
'
|
442 |
-
|
443 |
-
'
|
444 |
-
|
445 |
-
|
446 |
-
#--------------------------------------------------------------------------------
|
447 |
-
|
448 |
-
|
449 |
-
'start-trial
|
450 |
-
/* translators: %s:
|
451 |
-
'start-trial-prompt-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
#
|
456 |
-
#--------------------------------------------------------------------------------
|
457 |
-
|
458 |
-
|
459 |
-
'
|
460 |
-
'
|
461 |
-
'
|
462 |
-
'
|
463 |
-
'
|
464 |
-
'
|
465 |
-
'
|
466 |
-
'
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
'
|
482 |
-
'
|
483 |
-
'
|
484 |
-
'
|
485 |
-
'
|
486 |
-
'
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
'
|
502 |
-
'
|
503 |
-
'
|
504 |
-
'
|
505 |
-
'
|
506 |
-
'
|
507 |
-
|
508 |
-
'
|
509 |
-
|
510 |
-
'
|
511 |
-
|
512 |
-
'
|
513 |
-
|
514 |
-
'
|
515 |
-
|
516 |
-
'
|
517 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
);
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.1.4
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
require_once dirname( __FILE__ ) . '/l10n.php';
|
14 |
+
|
15 |
+
/**
|
16 |
+
* All strings can now be overridden.
|
17 |
+
*
|
18 |
+
* For example, if we want to override:
|
19 |
+
* 'you-are-step-away' => 'You are just one step away - %s',
|
20 |
+
*
|
21 |
+
* We can use the filter:
|
22 |
+
* fs_override_i18n( array(
|
23 |
+
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
24 |
+
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
25 |
+
* ), '{plugin_slug}' );
|
26 |
+
*
|
27 |
+
* Or with the Freemius instance:
|
28 |
+
*
|
29 |
+
* my_freemius->override_i18n( array(
|
30 |
+
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
31 |
+
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
32 |
+
* );
|
33 |
+
*/
|
34 |
+
global $fs_text;
|
35 |
+
|
36 |
+
$fs_text = array(
|
37 |
+
'account' => _fs_text( 'Account' ),
|
38 |
+
'addon' => _fs_text( 'Add On' ),
|
39 |
+
'contact-us' => _fs_text( 'Contact Us' ),
|
40 |
+
'contact-support' => _fs_text( 'Contact Support' ),
|
41 |
+
'change-ownership' => _fs_text( 'Change Ownership' ),
|
42 |
+
'support' => _fs_text( 'Support' ),
|
43 |
+
'support-forum' => _fs_text( 'Support Forum' ),
|
44 |
+
'add-ons' => _fs_text( 'Add Ons' ),
|
45 |
+
'upgrade' => _fs_x( 'Upgrade', 'verb' ),
|
46 |
+
'awesome' => _fs_text( 'Awesome' ),
|
47 |
+
'pricing' => _fs_x( 'Pricing', 'noun' ),
|
48 |
+
'price' => _fs_x( 'Price', 'noun' ),
|
49 |
+
'unlimited-updates' => _fs_text( 'Unlimited Updates' ),
|
50 |
+
'downgrade' => _fs_x( 'Downgrade', 'verb' ),
|
51 |
+
'cancel-subscription' => _fs_x( 'Cancel Subscription', 'verb' ),
|
52 |
+
'cancel-trial' => _fs_text( 'Cancel Trial' ),
|
53 |
+
'free-trial' => _fs_text( 'Free Trial' ),
|
54 |
+
'start-free-x' => _fs_text( 'Start my free %s' ),
|
55 |
+
'no-commitment-x' => _fs_text( 'No commitment for %s - cancel anytime' ),
|
56 |
+
'after-x-pay-as-little-y' => _fs_text( 'After your free %s, pay as little as %s' ),
|
57 |
+
'details' => _fs_text( 'Details' ),
|
58 |
+
'account-details' => _fs_text( 'Account Details' ),
|
59 |
+
'delete' => _fs_x( 'Delete', 'verb' ),
|
60 |
+
'show' => _fs_x( 'Show', 'verb' ),
|
61 |
+
'hide' => _fs_x( 'Hide', 'verb' ),
|
62 |
+
'edit' => _fs_x( 'Edit', 'verb' ),
|
63 |
+
'update' => _fs_x( 'Update', 'verb' ),
|
64 |
+
'date' => _fs_text( 'Date' ),
|
65 |
+
'amount' => _fs_text( 'Amount' ),
|
66 |
+
'invoice' => _fs_text( 'Invoice' ),
|
67 |
+
'billing' => _fs_text( 'Billing' ),
|
68 |
+
'payments' => _fs_text( 'Payments' ),
|
69 |
+
'delete-account' => _fs_text( 'Delete Account' ),
|
70 |
+
'dismiss' => _fs_x( 'Dismiss', 'as close a window' ),
|
71 |
+
'plan' => _fs_x( 'Plan', 'as product pricing plan' ),
|
72 |
+
'change-plan' => _fs_text( 'Change Plan' ),
|
73 |
+
'download-x-version' => _fs_x( 'Download %s Version', 'as download professional version' ),
|
74 |
+
'download-x-version-now' => _fs_x( 'Download %s version now', 'as download professional version now' ),
|
75 |
+
'download-latest' => _fs_x( 'Download Latest', 'as download latest version' ),
|
76 |
+
'you-have-x-license' => _fs_x( 'You have a %s license.', 'E.g. you have a professional license.' ),
|
77 |
+
'new' => _fs_text( 'New' ),
|
78 |
+
'free' => _fs_text( 'Free' ),
|
79 |
+
'trial' => _fs_x( 'Trial', 'as trial plan' ),
|
80 |
+
'start-trial' => _fs_x( 'Start Trial', 'as starting a trial plan' ),
|
81 |
+
'purchase' => _fs_x( 'Purchase', 'verb' ),
|
82 |
+
'purchase-license' => _fs_text( 'Purchase License' ),
|
83 |
+
'buy' => _fs_x( 'Buy', 'verb' ),
|
84 |
+
'buy-license' => _fs_text( 'Buy License' ),
|
85 |
+
'license-single-site' => _fs_text( 'Single Site License' ),
|
86 |
+
'license-unlimited' => _fs_text( 'Unlimited Licenses' ),
|
87 |
+
'license-x-sites' => _fs_text( 'Up to %s Sites' ),
|
88 |
+
'renew-license-now' => _fs_text( '%sRenew your license now%s to access version %s features and support.' ),
|
89 |
+
'ask-for-upgrade-email-address' => _fs_text( "Enter the email address you've used for the upgrade below and we will resend you the license key." ),
|
90 |
+
'x-plan' => _fs_x( '%s Plan', 'e.g. Professional Plan' ),
|
91 |
+
'you-are-step-away' => _fs_text( 'You are just one step away - %s' ),
|
92 |
+
'activate-x-now' => _fs_x( 'Complete "%s" Activation Now',
|
93 |
+
'%s - plugin name. As complete "Jetpack" activation now' ),
|
94 |
+
'few-plugin-tweaks' => _fs_text( 'We made a few tweaks to the plugin, %s' ),
|
95 |
+
'optin-x-now' => _fs_text( 'Opt-in to make "%s" Better!' ),
|
96 |
+
'error' => _fs_text( 'Error' ),
|
97 |
+
'failed-finding-main-path' => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
|
98 |
+
#region Account
|
99 |
+
|
100 |
+
'expiration' => _fs_x( 'Expiration', 'as expiration date' ),
|
101 |
+
'license' => _fs_x( 'License', 'as software license' ),
|
102 |
+
'not-verified' => _fs_text( 'not verified' ),
|
103 |
+
'verify-email' => _fs_text( 'Verify Email' ),
|
104 |
+
'expires-in' => _fs_x( 'Expires in %s', 'e.g. expires in 2 months' ),
|
105 |
+
'renews-in' => _fs_x( 'Auto renews in %s', 'e.g. auto renews in 2 months' ),
|
106 |
+
'no-expiration' => _fs_text( 'No expiration' ),
|
107 |
+
'expired' => _fs_text( 'Expired' ),
|
108 |
+
'cancelled' => _fs_text( 'Cancelled' ),
|
109 |
+
'in-x' => _fs_x( 'In %s', 'e.g. In 2 hours' ),
|
110 |
+
'x-ago' => _fs_x( '%s ago', 'e.g. 2 min ago' ),
|
111 |
+
/* translators: %s: Version number (e.g. 4.6 or higher) */
|
112 |
+
'x-or-higher' => _fs_text( '%s or higher' ),
|
113 |
+
'version' => _fs_x( 'Version', 'as plugin version' ),
|
114 |
+
'name' => _fs_text( 'Name' ),
|
115 |
+
'email' => _fs_text( 'Email' ),
|
116 |
+
'email-address' => _fs_text( 'Email address' ),
|
117 |
+
'verified' => _fs_text( 'Verified' ),
|
118 |
+
'module' => _fs_text( 'Module' ),
|
119 |
+
'module-type' => _fs_text( 'Module Type' ),
|
120 |
+
'plugin' => _fs_text( 'Plugin' ),
|
121 |
+
'plugins' => _fs_text( 'Plugins' ),
|
122 |
+
'theme' => _fs_text( 'Theme' ),
|
123 |
+
'themes' => _fs_text( 'Themes' ),
|
124 |
+
'path' => _fs_x( 'Path', 'as file/folder path' ),
|
125 |
+
'title' => _fs_text( 'Title' ),
|
126 |
+
'free-version' => _fs_text( 'Free version' ),
|
127 |
+
'premium-version' => _fs_text( 'Premium version' ),
|
128 |
+
'slug' => _fs_x( 'Slug', 'as WP plugin slug' ),
|
129 |
+
'id' => _fs_text( 'ID' ),
|
130 |
+
'users' => _fs_text( 'Users' ),
|
131 |
+
'plugin-installs' => _fs_text( 'Plugin Installs' ),
|
132 |
+
'module-installs' => _fs_text( '%s Installs' ),
|
133 |
+
'sites' => _fs_x( 'Sites', 'like websites' ),
|
134 |
+
'user-id' => _fs_text( 'User ID' ),
|
135 |
+
'site-id' => _fs_text( 'Site ID' ),
|
136 |
+
'public-key' => _fs_text( 'Public Key' ),
|
137 |
+
'secret-key' => _fs_text( 'Secret Key' ),
|
138 |
+
'no-secret' => _fs_x( 'No Secret', 'as secret encryption key missing' ),
|
139 |
+
'no-id' => _fs_text( 'No ID' ),
|
140 |
+
'sync-license' => _fs_x( 'Sync License', 'as synchronize license' ),
|
141 |
+
'sync' => _fs_x( 'Sync', 'as synchronize' ),
|
142 |
+
'activate-license' => _fs_text( 'Activate License' ),
|
143 |
+
'activate-free-version' => _fs_text( 'Activate Free Version' ),
|
144 |
+
'activate-license-message' => _fs_text( 'Please enter the license key that you received in the email right after the purchase:' ),
|
145 |
+
'activating-license' => _fs_text( 'Activating license...' ),
|
146 |
+
'change-license' => _fs_text( 'Change License' ),
|
147 |
+
'update-license' => _fs_text( 'Update License' ),
|
148 |
+
'deactivate-license' => _fs_text( 'Deactivate License' ),
|
149 |
+
'activate' => _fs_text( 'Activate' ),
|
150 |
+
'deactivate' => _fs_text( 'Deactivate' ),
|
151 |
+
'skip-deactivate' => _fs_text( 'Skip & Deactivate' ),
|
152 |
+
'skip-and-x' => _fs_text( 'Skip & %s' ),
|
153 |
+
'no-deactivate' => _fs_text( 'No - just deactivate' ),
|
154 |
+
'yes-do-your-thing' => _fs_text( 'Yes - do your thing' ),
|
155 |
+
'active' => _fs_x( 'Active', 'active mode' ),
|
156 |
+
'is-active' => _fs_x( 'Is Active', 'is active mode?' ),
|
157 |
+
'install-now' => _fs_text( 'Install Now' ),
|
158 |
+
'install-update-now' => _fs_text( 'Install Update Now' ),
|
159 |
+
'more-information-about-x' => _fs_text( 'More information about %s' ),
|
160 |
+
'localhost' => _fs_text( 'Localhost' ),
|
161 |
+
'activate-x-plan' => _fs_x( 'Activate %s Plan', 'as activate Professional plan' ),
|
162 |
+
'x-left' => _fs_x( '%s left', 'as 5 licenses left' ),
|
163 |
+
'last-license' => _fs_text( 'Last license' ),
|
164 |
+
'what-is-your-x' => _fs_text( 'What is your %s?' ),
|
165 |
+
'activate-this-addon' => _fs_text( 'Activate this add-on' ),
|
166 |
+
'deactivate-license-confirm' => _fs_text( 'Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?' ),
|
167 |
+
'delete-account-x-confirm' => _fs_text( 'Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the "Cancel" button, and first "Downgrade" your account. Are you sure you would like to continue with the deletion?' ),
|
168 |
+
'delete-account-confirm' => _fs_text( 'Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?' ),
|
169 |
+
'downgrade-x-confirm' => _fs_text( 'Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s.' ),
|
170 |
+
'cancel-trial-confirm' => _fs_text( 'Cancelling the trial will immediately block access to all premium features. Are you sure?' ),
|
171 |
+
'after-downgrade-non-blocking' => _fs_text( 'You can still enjoy all %s features but you will not have access to plugin updates and support.' ),
|
172 |
+
'after-downgrade-blocking' => _fs_text( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.' ),
|
173 |
+
'proceed-confirmation' => _fs_text( 'Are you sure you want to proceed?' ),
|
174 |
+
#endregion Account
|
175 |
+
|
176 |
+
'add-ons-for-x' => _fs_text( 'Add Ons for %s' ),
|
177 |
+
'add-ons-missing' => _fs_text( 'We could\'nt load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.' ),
|
178 |
+
#region Plugin Deactivation
|
179 |
+
'anonymous-feedback' => _fs_text( 'Anonymous feedback' ),
|
180 |
+
'quick-feedback' => _fs_text( 'Quick feedback' ),
|
181 |
+
'deactivation-share-reason' => _fs_text( 'If you have a moment, please let us know why you are deactivating' ),
|
182 |
+
'deactivation-modal-button-confirm' => _fs_text( 'Yes - Deactivate' ),
|
183 |
+
'deactivation-modal-button-submit' => _fs_text( 'Submit & Deactivate' ),
|
184 |
+
'cancel' => _fs_text( 'Cancel' ),
|
185 |
+
'reason-no-longer-needed' => _fs_text( 'I no longer need the plugin' ),
|
186 |
+
'reason-found-a-better-plugin' => _fs_text( 'I found a better plugin' ),
|
187 |
+
'reason-needed-for-a-short-period' => _fs_text( 'I only needed the plugin for a short period' ),
|
188 |
+
'reason-broke-my-site' => _fs_text( 'The plugin broke my site' ),
|
189 |
+
'reason-suddenly-stopped-working' => _fs_text( 'The plugin suddenly stopped working' ),
|
190 |
+
'reason-cant-pay-anymore' => _fs_text( "I can't pay for it anymore" ),
|
191 |
+
'reason-temporary-deactivation' => _fs_text( "It's a temporary deactivation. I'm just debugging an issue." ),
|
192 |
+
'reason-other' => _fs_x( 'Other',
|
193 |
+
'the text of the "other" reason for deactivating the plugin that is shown in the modal box.' ),
|
194 |
+
'ask-for-reason-message' => _fs_text( 'Kindly tell us the reason so we can improve.' ),
|
195 |
+
'placeholder-plugin-name' => _fs_text( "What's the plugin's name?" ),
|
196 |
+
'placeholder-comfortable-price' => _fs_text( 'What price would you feel comfortable paying?' ),
|
197 |
+
'reason-couldnt-make-it-work' => _fs_text( "I couldn't understand how to make it work" ),
|
198 |
+
'reason-great-but-need-specific-feature' => _fs_text( "The plugin is great, but I need specific feature that you don't support" ),
|
199 |
+
'reason-not-working' => _fs_text( 'The plugin is not working' ),
|
200 |
+
'reason-not-what-i-was-looking-for' => _fs_text( "It's not what I was looking for" ),
|
201 |
+
'reason-didnt-work-as-expected' => _fs_text( "The plugin didn't work as expected" ),
|
202 |
+
'placeholder-feature' => _fs_text( 'What feature?' ),
|
203 |
+
'placeholder-share-what-didnt-work' => _fs_text( "Kindly share what didn't work so we can fix it for future users..." ),
|
204 |
+
'placeholder-what-youve-been-looking-for' => _fs_text( "What you've been looking for?" ),
|
205 |
+
'placeholder-what-did-you-expect' => _fs_text( "What did you expect?" ),
|
206 |
+
'reason-didnt-work' => _fs_text( "The plugin didn't work" ),
|
207 |
+
'reason-dont-like-to-share-my-information' => _fs_text( "I don't like to share my information with you" ),
|
208 |
+
'dont-have-to-share-any-data' => _fs_text( "You might have missed it, but you don't have to share any data and can just %s the opt-in." ),
|
209 |
+
#endregion Plugin Deactivation
|
210 |
+
|
211 |
+
#region Connect
|
212 |
+
'hey-x' => _fs_x( 'Hey %s,', 'greeting' ),
|
213 |
+
'thanks-x' => _fs_x( 'Thanks %s!', 'a greeting. E.g. Thanks John!' ),
|
214 |
+
'connect-message' => _fs_text( 'Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s.' ),
|
215 |
+
'connect-message_on-update' => _fs_text( 'Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that\'s okay! %1$s will still work just fine.' ),
|
216 |
+
'pending-activation-message' => _fs_text( 'You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s.' ),
|
217 |
+
'complete-the-install' => _fs_text( 'complete the install' ),
|
218 |
+
'start-the-trial' => _fs_text( 'start the trial' ),
|
219 |
+
'thanks-for-purchasing' => _fs_text( 'Thanks for purchasing %s! To get started, please enter your license key:' ),
|
220 |
+
'license-sync-disclaimer' => _fs_text( 'The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license.' ),
|
221 |
+
'what-permissions' => _fs_text( 'What permissions are being granted?' ),
|
222 |
+
'permissions-profile' => _fs_text( 'Your Profile Overview' ),
|
223 |
+
'permissions-profile_desc' => _fs_text( 'Name and email address' ),
|
224 |
+
'permissions-site' => _fs_text( 'Your Site Overview' ),
|
225 |
+
'permissions-site_desc' => _fs_text( 'Site URL, WP version, PHP info, plugins & themes' ),
|
226 |
+
'permissions-events' => _fs_text( 'Current Plugin Events' ),
|
227 |
+
'permissions-events_desc' => _fs_text( 'Activation, deactivation and uninstall' ),
|
228 |
+
'permissions-plugins_themes' => _fs_text( 'Plugins & Themes' ),
|
229 |
+
'permissions-plugins_themes_desc' => _fs_text( 'Titles, versions and state.' ),
|
230 |
+
'permissions-admin-notices' => _fs_text( 'Admin Notices' ),
|
231 |
+
'permissions-newsletter' => _fs_text( 'Newsletter' ),
|
232 |
+
'permissions-newsletter_desc' => _fs_text( 'Updates, announcements, marketing, no spam' ),
|
233 |
+
'privacy-policy' => _fs_text( 'Privacy Policy' ),
|
234 |
+
'tos' => _fs_text( 'Terms of Service' ),
|
235 |
+
'activating' => _fs_x( 'Activating', 'as activating plugin' ),
|
236 |
+
'sending-email' => _fs_x( 'Sending email', 'as in the process of sending an email' ),
|
237 |
+
'opt-in-connect' => _fs_x( 'Allow & Continue', 'button label' ),
|
238 |
+
'agree-activate-license' => _fs_x( 'Agree & Activate License', 'button label' ),
|
239 |
+
'skip' => _fs_x( 'Skip', 'verb' ),
|
240 |
+
'click-here-to-use-plugin-anonymously' => _fs_text( 'Click here to use the plugin anonymously' ),
|
241 |
+
'resend-activation-email' => _fs_text( 'Re-send activation email' ),
|
242 |
+
'license-key' => _fs_text( 'License key' ),
|
243 |
+
'send-license-key' => _fs_text( 'Send License Key' ),
|
244 |
+
'sending-license-key' => _fs_text( 'Sending license key' ),
|
245 |
+
'have-license-key' => _fs_text( 'Have a license key?' ),
|
246 |
+
'dont-have-license-key' => _fs_text( 'Don\'t have a license key?' ),
|
247 |
+
'cant-find-license-key' => _fs_text( "Can't find your license key?" ),
|
248 |
+
'email-not-found' => _fs_text( "We couldn't find your email address in the system, are you sure it's the right address?" ),
|
249 |
+
'no-active-licenses' => _fs_text( "We can't see any active licenses associated with that email address, are you sure it's the right address?" ),
|
250 |
+
'opt-in' => _fs_text( 'Opt In' ),
|
251 |
+
'opt-out' => _fs_text( 'Opt Out' ),
|
252 |
+
'opt-out-cancel' => _fs_text( 'On second thought - I want to continue helping' ),
|
253 |
+
'opting-out' => _fs_text( 'Opting out...' ),
|
254 |
+
'opting-in' => _fs_text( 'Opting in...' ),
|
255 |
+
'opt-out-message-appreciation' => _fs_text( 'We appreciate your help in making the %s better by letting us track some usage data.' ),
|
256 |
+
'opt-out-message-usage-tracking' => _fs_text( "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking." ),
|
257 |
+
'opt-out-message-clicking-opt-out' => _fs_text( 'By clicking "Opt Out", we will no longer be sending any data from %s to %s.' ),
|
258 |
+
#endregion Connect
|
259 |
+
|
260 |
+
#region Screenshots
|
261 |
+
'screenshots' => _fs_text( 'Screenshots' ),
|
262 |
+
'view-full-size-x' => _fs_text( 'Click to view full-size screenshot %d' ),
|
263 |
+
#endregion Screenshots
|
264 |
+
|
265 |
+
#region Debug
|
266 |
+
'freemius-debug' => _fs_text( 'Freemius Debug' ),
|
267 |
+
'on' => _fs_x( 'On', 'as turned on' ),
|
268 |
+
'off' => _fs_x( 'Off', 'as turned off' ),
|
269 |
+
'debugging' => _fs_x( 'Debugging', 'as code debugging' ),
|
270 |
+
'freemius-state' => _fs_text( 'Freemius State' ),
|
271 |
+
'connected' => _fs_x( 'Connected', 'as connection was successful' ),
|
272 |
+
'blocked' => _fs_x( 'Blocked', 'as connection blocked' ),
|
273 |
+
'api' => _fs_x( 'API', 'as application program interface' ),
|
274 |
+
'sdk' => _fs_x( 'SDK', 'as software development kit versions' ),
|
275 |
+
'sdk-versions' => _fs_x( 'SDK Versions', 'as software development kit versions' ),
|
276 |
+
'plugin-path' => _fs_x( 'Plugin Path', 'as plugin folder path' ),
|
277 |
+
'sdk-path' => _fs_x( 'SDK Path', 'as sdk path' ),
|
278 |
+
'addons-of-x' => _fs_text( 'Add Ons of Plugin %s' ),
|
279 |
+
'delete-all-confirm' => _fs_text( 'Are you sure you want to delete all Freemius data?' ),
|
280 |
+
'actions' => _fs_text( 'Actions' ),
|
281 |
+
'delete-all-accounts' => _fs_text( 'Delete All Accounts' ),
|
282 |
+
'start-fresh' => _fs_text( 'Start Fresh' ),
|
283 |
+
'clear-api-cache' => _fs_text( 'Clear API Cache' ),
|
284 |
+
'sync-data-from-server' => _fs_text( 'Sync Data From Server' ),
|
285 |
+
'scheduled-crons' => _fs_text( 'Scheduled Crons' ),
|
286 |
+
'cron-type' => _fs_text( 'Cron Type' ),
|
287 |
+
'plugins-themes-sync' => _fs_text( 'Plugins & Themes Sync' ),
|
288 |
+
'licenses' => _fs_text( 'Licenses' ),
|
289 |
+
'debug-log' => _fs_text( 'Debug Log' ),
|
290 |
+
'all' => _fs_text( 'All' ),
|
291 |
+
'file' => _fs_text( 'File' ),
|
292 |
+
'function' => _fs_text( 'Function' ),
|
293 |
+
'process-id' => _fs_text( 'Process ID' ),
|
294 |
+
'logger' => _fs_text( 'Logger' ),
|
295 |
+
'message' => _fs_text( 'Message' ),
|
296 |
+
'download' => _fs_text( 'Download' ),
|
297 |
+
'filter' => _fs_text( 'Filter' ),
|
298 |
+
'type' => _fs_text( 'Type' ),
|
299 |
+
'all-types' => _fs_text( 'All Types' ),
|
300 |
+
'all-requests' => _fs_text( 'All Requests' ),
|
301 |
+
#endregion Debug
|
302 |
+
|
303 |
+
#region Expressions
|
304 |
+
'congrats' => _fs_x( 'Congrats', 'as congratulations' ),
|
305 |
+
'oops' => _fs_x( 'Oops', 'exclamation' ),
|
306 |
+
'yee-haw' => _fs_x( 'Yee-haw', 'interjection expressing joy or exuberance' ),
|
307 |
+
'woot' => _fs_x( 'W00t',
|
308 |
+
'(especially in electronic communication) used to express elation, enthusiasm, or triumph.' ),
|
309 |
+
'right-on' => _fs_x( 'Right on', 'a positive response' ),
|
310 |
+
'hmm' => _fs_x( 'Hmm',
|
311 |
+
'something somebody says when they are thinking about what you have just said. ' ),
|
312 |
+
'ok' => _fs_text( 'O.K' ),
|
313 |
+
'hey' => _fs_x( 'Hey', 'exclamation' ),
|
314 |
+
'heads-up' => _fs_x( 'Heads up',
|
315 |
+
'advance notice of something that will need attention.' ),
|
316 |
+
#endregion Expressions
|
317 |
+
|
318 |
+
#region Admin Notices
|
319 |
+
'you-have-latest' => _fs_text( 'Seems like you got the latest release.' ),
|
320 |
+
'you-are-good' => _fs_text( 'You are all good!' ),
|
321 |
+
'user-exist-message' => _fs_text( 'Sorry, we could not complete the email update. Another user with the same email is already registered.' ),
|
322 |
+
'user-exist-message_ownership' => _fs_text( 'If you would like to give up the ownership of the plugin\'s account to %s click the Change Ownership button.' ),
|
323 |
+
'email-updated-message' => _fs_text( 'Your email was successfully updated. You should receive an email with confirmation instructions in few moments.' ),
|
324 |
+
'name-updated-message' => _fs_text( 'Your name was successfully updated.' ),
|
325 |
+
'x-updated' => _fs_text( 'You have successfully updated your %s.' ),
|
326 |
+
'name-update-failed-message' => _fs_text( 'Please provide your full name.' ),
|
327 |
+
'verification-email-sent-message' => _fs_text( 'Verification mail was just sent to %s. If you can\'t find it after 5 min, please check your spam box.' ),
|
328 |
+
'addons-info-external-message' => _fs_text( 'Just letting you know that the add-ons information of %s is being pulled from an external server.' ),
|
329 |
+
'no-cc-required' => _fs_text( 'No credit card required' ),
|
330 |
+
'premium-activated-message' => _fs_text( 'Premium plugin version was successfully activated.' ),
|
331 |
+
'successful-version-upgrade-message' => _fs_text( 'The upgrade of %s was successfully completed.' ),
|
332 |
+
'activation-with-plan-x-message' => _fs_text( 'Your account was successfully activated with the %s plan.' ),
|
333 |
+
'download-latest-x-version-now' => _fs_text( 'Download the latest %s version now' ),
|
334 |
+
'follow-steps-to-complete-upgrade' => _fs_text( 'Please follow these steps to complete the upgrade' ),
|
335 |
+
'download-latest-x-version' => _fs_text( 'Download the latest %s version' ),
|
336 |
+
'download-latest-version' => _fs_text( 'Download the latest version' ),
|
337 |
+
'deactivate-free-version' => _fs_text( 'Deactivate the free version' ),
|
338 |
+
'upload-and-activate' => _fs_text( 'Upload and activate the downloaded version' ),
|
339 |
+
'howto-upload-activate' => _fs_text( 'How to upload and activate?' ),
|
340 |
+
'addon-successfully-purchased-message' => _fs_x( '%s Add-on was successfully purchased.',
|
341 |
+
'%s - product name, e.g. Facebook add-on was successfully...' ),
|
342 |
+
'addon-successfully-upgraded-message' => _fs_text( 'Your %s Add-on plan was successfully upgraded.' ),
|
343 |
+
'email-verified-message' => _fs_text( 'Your email has been successfully verified - you are AWESOME!' ),
|
344 |
+
'plan-upgraded-message' => _fs_text( 'Your plan was successfully upgraded.' ),
|
345 |
+
'plan-changed-to-x-message' => _fs_text( 'Your plan was successfully changed to %s.' ),
|
346 |
+
'license-expired-blocking-message' => _fs_text( 'Your license has expired. You can still continue using the free plugin forever.' ),
|
347 |
+
'license-cancelled' => _fs_text( 'Your license has been cancelled. If you think it\'s a mistake, please contact support.' ),
|
348 |
+
'trial-started-message' => _fs_text( 'Your trial has been successfully started.' ),
|
349 |
+
'license-activated-message' => _fs_text( 'Your license was successfully activated.' ),
|
350 |
+
'no-active-license-message' => _fs_text( 'It looks like your site currently doesn\'t have an active license.' ),
|
351 |
+
'license-deactivation-message' => _fs_text( 'Your license was successfully deactivated, you are back to the %s plan.' ),
|
352 |
+
'license-deactivation-failed-message' => _fs_text( 'It looks like the license deactivation failed.' ),
|
353 |
+
'license-activation-failed-message' => _fs_text( 'It looks like the license could not be activated.' ),
|
354 |
+
'server-error-message' => _fs_text( 'Error received from the server:' ),
|
355 |
+
'trial-expired-message' => _fs_text( 'Your trial has expired. You can still continue using all our free features.' ),
|
356 |
+
'plan-x-downgraded-message' => _fs_text( 'Your plan was successfully downgraded. Your %s plan license will expire in %s.' ),
|
357 |
+
'plan-downgraded-failure-message' => _fs_text( 'Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes.' ),
|
358 |
+
'trial-cancel-no-trial-message' => _fs_text( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)' ),
|
359 |
+
'trial-cancel-message' => _fs_text( 'Your %s free trial was successfully cancelled.' ),
|
360 |
+
'version-x-released' => _fs_x( 'Version %s was released.', '%s - numeric version number' ),
|
361 |
+
'please-download-x' => _fs_text( 'Please download %s.' ),
|
362 |
+
'latest-x-version' => _fs_x( 'the latest %s version here',
|
363 |
+
'%s - plan name, as the latest professional version here' ),
|
364 |
+
'trial-x-promotion-message' => _fs_text( 'How do you like %s so far? Test all our %s premium features with a %d-day free trial.' ),
|
365 |
+
'start-free-trial' => _fs_x( 'Start free trial', 'call to action' ),
|
366 |
+
'starting-trial' => _fs_text( 'Starting trial' ),
|
367 |
+
'please-wait' => _fs_text( 'Please wait' ),
|
368 |
+
'trial-cancel-failure-message' => _fs_text( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.' ),
|
369 |
+
'trial-utilized' => _fs_text( 'You already utilized a trial before.' ),
|
370 |
+
'in-trial-mode' => _fs_text( 'You are already running the plugin in a trial mode.' ),
|
371 |
+
'trial-plan-x-not-exist' => _fs_text( 'Plan %s do not exist, therefore, can\'t start a trial.' ),
|
372 |
+
'plan-x-no-trial' => _fs_text( 'Plan %s does not support a trial period.' ),
|
373 |
+
'no-trials' => _fs_text( 'None of the plugin\'s plans supports a trial period.' ),
|
374 |
+
'unexpected-api-error' => _fs_text( 'Unexpected API error. Please contact the plugin\'s author with the following error.' ),
|
375 |
+
'no-commitment-for-x-days' => _fs_text( 'No commitment for %s days - cancel anytime!' ),
|
376 |
+
'license-expired-non-blocking-message' => _fs_text( 'Your license has expired. You can still continue using all the %s features, but you\'ll need to renew your license to continue getting updates and support.' ),
|
377 |
+
'could-not-activate-x' => _fs_text( 'Couldn\'t activate %s.' ),
|
378 |
+
'contact-us-with-error-message' => _fs_text( 'Please contact us with the following message:' ),
|
379 |
+
'plan-did-not-change-message' => _fs_text( 'It looks like you are still on the %s plan. If you did upgrade or change your plan, it\'s probably an issue on our side - sorry.' ),
|
380 |
+
'contact-us-here' => _fs_text( 'Please contact us here' ),
|
381 |
+
'plan-did-not-change-email-message' => _fs_text( 'I have upgraded my account but when I try to Sync the License, the plan remains %s.' ),
|
382 |
+
#endregion Admin Notices
|
383 |
+
#region Connectivity Issues
|
384 |
+
'connectivity-test-fails-message' => _fs_text( 'From unknown reason, the API connectivity test failed.' ),
|
385 |
+
'connectivity-test-maybe-temporary' => _fs_text( 'It\'s probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?' ),
|
386 |
+
'curl-missing-message' => _fs_text( 'We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server.' ),
|
387 |
+
'curl-disabled-methods' => _fs_text( 'Disabled method(s):' ),
|
388 |
+
'cloudflare-blocks-connection-message' => _fs_text( 'From unknown reason, CloudFlare, the firewall we use, blocks the connection.' ),
|
389 |
+
'x-requires-access-to-api' => _fs_x( '%s requires an access to our API.',
|
390 |
+
'as pluginX requires an access to our API' ),
|
391 |
+
'squid-blocks-connection-message' => _fs_text( 'It looks like your server is using Squid ACL (access control lists), which blocks the connection.' ),
|
392 |
+
'squid-no-clue-title' => _fs_text( 'I don\'t know what is Squid or ACL, help me!' ),
|
393 |
+
'squid-no-clue-desc' => _fs_text( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.' ),
|
394 |
+
'sysadmin-title' => _fs_text( 'I\'m a system administrator' ),
|
395 |
+
'squid-sysadmin-desc' => _fs_text( 'Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again.' ),
|
396 |
+
'curl-missing-no-clue-title' => _fs_text( 'I don\'t know what is cURL or how to install it, help me!' ),
|
397 |
+
'curl-missing-no-clue-desc' => _fs_text( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.' ),
|
398 |
+
'curl-missing-sysadmin-desc' => _fs_text( 'Great, please install cURL and enable it in your php.ini file. In addition, search for the \'disable_functions\' directive in your php.ini file and remove any disabled methods starting with \'curl_\'. To make sure it was successfully activated, use \'phpinfo()\'. Once activated, deactivate the plugin and reactivate it back again.' ),
|
399 |
+
'happy-to-resolve-issue-asap' => _fs_text( 'We are sure it\'s an issue on our side and more than happy to resolve it for you ASAP if you give us a chance.' ),
|
400 |
+
'contact-support-before-deactivation' => _fs_text( 'Sorry for the inconvenience and we are here to help if you give us a chance.' ),
|
401 |
+
'fix-issue-title' => _fs_text( 'Yes - I\'m giving you a chance to fix it' ),
|
402 |
+
'fix-issue-desc' => _fs_text( 'We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update.' ),
|
403 |
+
'install-previous-title' => _fs_text( 'Let\'s try your previous version' ),
|
404 |
+
'install-previous-desc' => _fs_text( 'Uninstall this version and install the previous one.' ),
|
405 |
+
'deactivate-plugin-title' => _fs_text( 'That\'s exhausting, please deactivate' ),
|
406 |
+
'deactivate-plugin-desc' => _fs_text( 'We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future.' ),
|
407 |
+
'fix-request-sent-message' => _fs_text( 'Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience.' ),
|
408 |
+
'server-blocking-access' => _fs_x( 'Your server is blocking the access to Freemius\' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s',
|
409 |
+
'%1s - plugin title, %2s - API domain' ),
|
410 |
+
'wrong-authentication-param-message' => _fs_text( 'It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again.' ),
|
411 |
+
#endregion Connectivity Issues
|
412 |
+
#region Change Owner
|
413 |
+
'change-owner-request-sent-x' => _fs_text( 'Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder.' ),
|
414 |
+
'change-owner-request_owner-confirmed' => _fs_text( 'Thanks for confirming the ownership change. An email was just sent to %s for final approval.' ),
|
415 |
+
'change-owner-request_candidate-confirmed' => _fs_text( '%s is the new owner of the account.' ),
|
416 |
+
#endregion Change Owner
|
417 |
+
'addon-x-cannot-run-without-y' => _fs_x( '%s cannot run without %s.',
|
418 |
+
'addonX cannot run without pluginY' ),
|
419 |
+
'addon-x-cannot-run-without-parent' => _fs_x( '%s cannot run without the plugin.', 'addonX cannot run...' ),
|
420 |
+
'plugin-x-activation-message' => _fs_x( '%s activation was successfully completed.',
|
421 |
+
'pluginX activation was successfully...' ),
|
422 |
+
'features-and-pricing' => _fs_x( 'Features & Pricing', 'Plugin installer section title' ),
|
423 |
+
'free-addon-not-deployed' => _fs_text( 'Add-on must be deployed to WordPress.org or Freemius.' ),
|
424 |
+
'paid-addon-not-deployed' => _fs_text( 'Paid add-on must be deployed to Freemius.' ),
|
425 |
+
#--------------------------------------------------------------------------------
|
426 |
+
#region Add-On Licensing
|
427 |
+
#--------------------------------------------------------------------------------
|
428 |
+
'addon-no-license-message' => _fs_text( '%s is a premium only add-on. You have to purchase a license first before activating the plugin.' ),
|
429 |
+
'addon-trial-cancelled-message' => _fs_text( '%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you\'ll have to purchase a license.' ),
|
430 |
+
#endregion
|
431 |
+
#--------------------------------------------------------------------------------
|
432 |
+
#region Billing Cycles
|
433 |
+
#--------------------------------------------------------------------------------
|
434 |
+
'monthly' => _fs_x( 'Monthly', 'as every month' ),
|
435 |
+
'mo' => _fs_x( 'mo', 'as monthly period' ),
|
436 |
+
'annual' => _fs_x( 'Annual', 'as once a year' ),
|
437 |
+
'annually' => _fs_x( 'Annually', 'as once a year' ),
|
438 |
+
'once' => _fs_x( 'Once', 'as once a year' ),
|
439 |
+
'year' => _fs_x( 'year', 'as annual period' ),
|
440 |
+
'lifetime' => _fs_text( 'Lifetime' ),
|
441 |
+
'best' => _fs_x( 'Best', 'e.g. the best product' ),
|
442 |
+
'billed-x' => _fs_x( 'Billed %s', 'e.g. billed monthly' ),
|
443 |
+
'save-x' => _fs_x( 'Save %s', 'as a discount of $5 or 10%' ),
|
444 |
+
#endregion Billing Cycles
|
445 |
+
'view-details' => _fs_text( 'View details' ),
|
446 |
+
#--------------------------------------------------------------------------------
|
447 |
+
#region Trial
|
448 |
+
#--------------------------------------------------------------------------------
|
449 |
+
'approve-start-trial' => _fs_x( 'Approve & Start Trial', 'button label' ),
|
450 |
+
/* translators: %1$s: Number of trial days; %2$s: Plan name; */
|
451 |
+
'start-trial-prompt-header' => _fs_text( 'You are 1-click away from starting your %1$s-day free trial of the %2$s plan.' ),
|
452 |
+
/* translators: %s: Link to freemius.com */
|
453 |
+
'start-trial-prompt-message' => _fs_text( 'For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial.' ),
|
454 |
+
|
455 |
+
#endregion
|
456 |
+
#--------------------------------------------------------------------------------
|
457 |
+
#region Billing Details
|
458 |
+
#--------------------------------------------------------------------------------
|
459 |
+
'business-name' => _fs_text( 'Business name' ),
|
460 |
+
'tax-vat-id' => _fs_text( 'Tax / VAT ID' ),
|
461 |
+
'address-line-n' => _fs_text( 'Address Line %d' ),
|
462 |
+
'country' => _fs_text( 'Country' ),
|
463 |
+
'select-country' => _fs_text( 'Select Country' ),
|
464 |
+
'city' => _fs_text( 'City' ),
|
465 |
+
'town' => _fs_text( 'Town' ),
|
466 |
+
'state' => _fs_text( 'State' ),
|
467 |
+
'province' => _fs_text( 'Province' ),
|
468 |
+
'zip-postal-code' => _fs_text( 'ZIP / Postal Code' ),
|
469 |
+
#endregion
|
470 |
+
#--------------------------------------------------------------------------------
|
471 |
+
#region Module Installation
|
472 |
+
#--------------------------------------------------------------------------------
|
473 |
+
'installing-plugin-x' => _fs_text( 'Installing plugin: %s' ),
|
474 |
+
'auto-installation' => _fs_text( 'Automatic Installation' ),
|
475 |
+
/* translators: %s: Number of seconds */
|
476 |
+
'x-sec' => _fs_text( '%s sec' ),
|
477 |
+
'installing-in-n' => _fs_text( 'An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now.' ),
|
478 |
+
'installing-module-x' => _fs_text( 'The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page.' ),
|
479 |
+
'cancel-installation' => _fs_text( 'Cancel Installation' ),
|
480 |
+
'module-package-rename-failure' => _fs_text( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.' ),
|
481 |
+
'auto-install-error-invalid-id' => _fs_text( 'Invalid module ID.' ),
|
482 |
+
'auto-install-error-not-opted-in' => _fs_text( 'Auto installation only works for opted-in users.' ),
|
483 |
+
'auto-install-error-premium-activated' => _fs_text( 'Premium version already active.' ),
|
484 |
+
'auto-install-error-premium-addon-activated' => _fs_text( 'Premium add-on version already installed.' ),
|
485 |
+
'auto-install-error-invalid-license' => _fs_text( 'You do not have a valid license to access the premium version.' ),
|
486 |
+
'auto-install-error-serviceware' => _fs_text( 'Plugin is a "Serviceware" which means it does not have a premium code version.' ),
|
487 |
+
#endregion
|
488 |
+
);
|
489 |
+
|
490 |
+
/**
|
491 |
+
* Localization of the strings in the plugin/theme info dialog box.
|
492 |
+
*
|
493 |
+
* $fs_module_info_text should ONLY include strings that are not located in $fs_text.
|
494 |
+
*
|
495 |
+
* @author Vova Feldman (@svovaf)
|
496 |
+
* @since 1.2.2
|
497 |
+
*/
|
498 |
+
global $fs_module_info_text;
|
499 |
+
|
500 |
+
$fs_module_info_text = array(
|
501 |
+
'description' => _fs_x( 'Description', 'Plugin installer section title' ),
|
502 |
+
'installation' => _fs_x( 'Installation', 'Plugin installer section title' ),
|
503 |
+
'faq' => _fs_x( 'FAQ', 'Plugin installer section title' ),
|
504 |
+
'changelog' => _fs_x( 'Changelog', 'Plugin installer section title' ),
|
505 |
+
'reviews' => _fs_x( 'Reviews', 'Plugin installer section title' ),
|
506 |
+
'other_notes' => _fs_x( 'Other Notes', 'Plugin installer section title' ),
|
507 |
+
/* translators: %s: 1 or One */
|
508 |
+
'x-star' => _fs_text( '%s star' ),
|
509 |
+
/* translators: %s: Number larger than 1 */
|
510 |
+
'x-stars' => _fs_text( '%s stars' ),
|
511 |
+
/* translators: %s: 1 or One */
|
512 |
+
'x-rating' => _fs_text( '%s rating' ),
|
513 |
+
/* translators: %s: Number larger than 1 */
|
514 |
+
'x-ratings' => _fs_text( '%s ratings' ),
|
515 |
+
/* translators: %s: 1 or One (Number of times downloaded) */
|
516 |
+
'x-time' => _fs_text( '%s time' ),
|
517 |
+
/* translators: %s: Number of times downloaded */
|
518 |
+
'x-times' => _fs_text( '%s times' ),
|
519 |
+
/* translators: %s: # of stars (e.g. 5 stars) */
|
520 |
+
'click-to-reviews' => _fs_text( 'Click to see reviews that provided a rating of %s' ),
|
521 |
+
'last-updated:' => _fs_text( 'Last Updated' ),
|
522 |
+
'requires-wordpress-version:' => _fs_text( 'Requires WordPress Version:' ),
|
523 |
+
'author:' => _fs_x( 'Author:', 'as the plugin author' ),
|
524 |
+
'compatible-up-to:' => _fs_text( 'Compatible up to:' ),
|
525 |
+
'downloaded:' => _fs_text( 'Downloaded:' ),
|
526 |
+
'wp-org-plugin-page' => _fs_text( 'WordPress.org Plugin Page' ),
|
527 |
+
'plugin-homepage' => _fs_text( 'Plugin Homepage' ),
|
528 |
+
'donate-to-plugin' => _fs_text( 'Donate to this plugin' ),
|
529 |
+
'average-rating' => _fs_text( 'Average Rating' ),
|
530 |
+
'based-on-x' => _fs_text( 'based on %s' ),
|
531 |
+
'warning:' => _fs_text( 'Warning:' ),
|
532 |
+
'contributors' => _fs_text( 'Contributors' ),
|
533 |
+
'plugin-install' => _fs_text( 'Plugin Install' ),
|
534 |
+
'not-tested-warning' => _fs_text( 'This plugin has not been tested with your current version of WordPress.' ),
|
535 |
+
'not-compatible-warning' => _fs_text( 'This plugin has not been marked as compatible with your version of WordPress.' ),
|
536 |
+
'newer-installed' => _fs_text( 'Newer Version (%s) Installed' ),
|
537 |
+
'latest-installed' => _fs_text( 'Latest Version Installed' ),
|
538 |
);
|
freemius/includes/managers/class-fs-admin-menu-manager.php
CHANGED
@@ -67,6 +67,12 @@
|
|
67 |
* @var string
|
68 |
*/
|
69 |
private $_first_time_path;
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
#endregion Properties
|
72 |
|
@@ -85,7 +91,7 @@
|
|
85 |
/**
|
86 |
* @param string $plugin_slug
|
87 |
*
|
88 |
-
* @return
|
89 |
*/
|
90 |
static function instance( $plugin_slug ) {
|
91 |
if ( ! isset( self::$_instances[ $plugin_slug ] ) ) {
|
@@ -120,6 +126,8 @@
|
|
120 |
* @param bool $is_addon
|
121 |
*/
|
122 |
function init( $menu, $is_addon = false ) {
|
|
|
|
|
123 |
$this->_menu_slug = ! empty( $menu['slug'] ) ? $menu['slug'] : null;
|
124 |
|
125 |
$this->_default_submenu_items = array();
|
@@ -219,6 +227,16 @@
|
|
219 |
return ! $this->_is_top_level && is_string( $this->_parent_slug );
|
220 |
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
/**
|
223 |
* @author Vova Feldman (@svovaf)
|
224 |
* @since 1.1.3
|
@@ -229,6 +247,10 @@
|
|
229 |
* @return bool
|
230 |
*/
|
231 |
function is_submenu_item_visible( $id, $default = true ) {
|
|
|
|
|
|
|
|
|
232 |
return fs_apply_filter(
|
233 |
$this->_plugin_slug,
|
234 |
'is_submenu_visible',
|
@@ -263,7 +285,7 @@
|
|
263 |
* @return bool
|
264 |
*/
|
265 |
function has_menu_slug() {
|
266 |
-
return
|
267 |
}
|
268 |
|
269 |
/**
|
@@ -361,10 +383,20 @@
|
|
361 |
*
|
362 |
* @return bool
|
363 |
*/
|
364 |
-
function
|
365 |
-
|
366 |
-
|
367 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
}
|
369 |
|
370 |
#region Submenu Override
|
@@ -525,7 +557,7 @@
|
|
525 |
* @author Vova Feldman (@svovaf)
|
526 |
* @since 1.0.9
|
527 |
*
|
528 |
-
* @return array[string]mixed
|
529 |
*/
|
530 |
function remove_menu_item() {
|
531 |
$this->_logger->entrance();
|
@@ -552,7 +584,7 @@
|
|
552 |
*
|
553 |
* @param callable $function
|
554 |
*
|
555 |
-
* @return array[string]mixed
|
556 |
*/
|
557 |
function override_menu_item( $function ) {
|
558 |
$found_menu = $this->remove_menu_item();
|
@@ -575,7 +607,7 @@
|
|
575 |
unset( $menu[ $found_menu['position'] ] );
|
576 |
|
577 |
// Create new top-level menu action.
|
578 |
-
$hookname =
|
579 |
$found_menu['menu'][3],
|
580 |
$found_menu['menu'][0],
|
581 |
'manage_options',
|
@@ -632,4 +664,119 @@
|
|
632 |
}
|
633 |
|
634 |
#endregion Top level menu Override
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
635 |
}
|
67 |
* @var string
|
68 |
*/
|
69 |
private $_first_time_path;
|
70 |
+
/**
|
71 |
+
* @since 1.2.2
|
72 |
+
*
|
73 |
+
* @var bool
|
74 |
+
*/
|
75 |
+
private $_menu_exists;
|
76 |
|
77 |
#endregion Properties
|
78 |
|
91 |
/**
|
92 |
* @param string $plugin_slug
|
93 |
*
|
94 |
+
* @return FS_Admin_Menu_Manager
|
95 |
*/
|
96 |
static function instance( $plugin_slug ) {
|
97 |
if ( ! isset( self::$_instances[ $plugin_slug ] ) ) {
|
126 |
* @param bool $is_addon
|
127 |
*/
|
128 |
function init( $menu, $is_addon = false ) {
|
129 |
+
$this->_menu_exists = ( isset( $menu['slug'] ) && ! empty( $menu['slug'] ) );
|
130 |
+
|
131 |
$this->_menu_slug = ! empty( $menu['slug'] ) ? $menu['slug'] : null;
|
132 |
|
133 |
$this->_default_submenu_items = array();
|
227 |
return ! $this->_is_top_level && is_string( $this->_parent_slug );
|
228 |
}
|
229 |
|
230 |
+
/**
|
231 |
+
* @author Leo Fajardo (@leorw)
|
232 |
+
* @since 1.2.2
|
233 |
+
*
|
234 |
+
* @return bool
|
235 |
+
*/
|
236 |
+
function has_menu() {
|
237 |
+
return $this->_menu_exists;
|
238 |
+
}
|
239 |
+
|
240 |
/**
|
241 |
* @author Vova Feldman (@svovaf)
|
242 |
* @since 1.1.3
|
247 |
* @return bool
|
248 |
*/
|
249 |
function is_submenu_item_visible( $id, $default = true ) {
|
250 |
+
if ( ! $this->has_menu() ) {
|
251 |
+
return false;
|
252 |
+
}
|
253 |
+
|
254 |
return fs_apply_filter(
|
255 |
$this->_plugin_slug,
|
256 |
'is_submenu_visible',
|
285 |
* @return bool
|
286 |
*/
|
287 |
function has_menu_slug() {
|
288 |
+
return $this->has_menu();
|
289 |
}
|
290 |
|
291 |
/**
|
383 |
*
|
384 |
* @return bool
|
385 |
*/
|
386 |
+
function is_main_settings_page() {
|
387 |
+
if ( $this->_menu_exists &&
|
388 |
+
( fs_is_plugin_page( $this->_menu_slug ) || fs_is_plugin_page( $this->_plugin_slug ) )
|
389 |
+
) {
|
390 |
+
/**
|
391 |
+
* Module has a settings menu and the context page is the main settings page, so assume it's in
|
392 |
+
* activation (doesn't really check if already opted-in/skipped or not).
|
393 |
+
*
|
394 |
+
* @since 1.2.2
|
395 |
+
*/
|
396 |
+
return true;
|
397 |
+
}
|
398 |
+
|
399 |
+
return false;
|
400 |
}
|
401 |
|
402 |
#region Submenu Override
|
557 |
* @author Vova Feldman (@svovaf)
|
558 |
* @since 1.0.9
|
559 |
*
|
560 |
+
* @return false|array[string]mixed
|
561 |
*/
|
562 |
function remove_menu_item() {
|
563 |
$this->_logger->entrance();
|
584 |
*
|
585 |
* @param callable $function
|
586 |
*
|
587 |
+
* @return false|array[string]mixed
|
588 |
*/
|
589 |
function override_menu_item( $function ) {
|
590 |
$found_menu = $this->remove_menu_item();
|
607 |
unset( $menu[ $found_menu['position'] ] );
|
608 |
|
609 |
// Create new top-level menu action.
|
610 |
+
$hookname = self::add_page(
|
611 |
$found_menu['menu'][3],
|
612 |
$found_menu['menu'][0],
|
613 |
'manage_options',
|
664 |
}
|
665 |
|
666 |
#endregion Top level menu Override
|
667 |
+
|
668 |
+
/**
|
669 |
+
* Add a top-level menu page.
|
670 |
+
*
|
671 |
+
* Note for WordPress.org Theme/Plugin reviewer:
|
672 |
+
*
|
673 |
+
* This is a replication of `add_menu_page()` to avoid Theme Check warning.
|
674 |
+
*
|
675 |
+
* Why?
|
676 |
+
* ====
|
677 |
+
* Freemius is an SDK for plugin and theme developers. Since the core
|
678 |
+
* of the SDK is relevant both for plugins and themes, for obvious reasons,
|
679 |
+
* we only develop and maintain one code base.
|
680 |
+
*
|
681 |
+
* This method will not run for wp.org themes (only plugins) since theme
|
682 |
+
* admin settings/options are now only allowed in the customizer.
|
683 |
+
*
|
684 |
+
* If you have any questions or need clarifications, please don't hesitate
|
685 |
+
* pinging me on slack, my username is @svovaf.
|
686 |
+
*
|
687 |
+
* @author Vova Feldman (@svovaf)
|
688 |
+
* @since 1.2.2
|
689 |
+
*
|
690 |
+
* @param string $page_title The text to be displayed in the title tags of the page when the menu is
|
691 |
+
* selected.
|
692 |
+
* @param string $menu_title The text to be used for the menu.
|
693 |
+
* @param string $capability The capability required for this menu to be displayed to the user.
|
694 |
+
* @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu).
|
695 |
+
* @param callable|string $function The function to be called to output the content for this page.
|
696 |
+
* @param string $icon_url The URL to the icon to be used for this menu.
|
697 |
+
* * Pass a base64-encoded SVG using a data URI, which will be colored to
|
698 |
+
* match the color scheme. This should begin with
|
699 |
+
* 'data:image/svg+xml;base64,'.
|
700 |
+
* * Pass the name of a Dashicons helper class to use a font icon,
|
701 |
+
* e.g. 'dashicons-chart-pie'.
|
702 |
+
* * Pass 'none' to leave div.wp-menu-image empty so an icon can be added
|
703 |
+
* via CSS.
|
704 |
+
* @param int $position The position in the menu order this one should appear.
|
705 |
+
*
|
706 |
+
* @return string The resulting page's hook_suffix.
|
707 |
+
*/
|
708 |
+
static function add_page(
|
709 |
+
$page_title,
|
710 |
+
$menu_title,
|
711 |
+
$capability,
|
712 |
+
$menu_slug,
|
713 |
+
$function = '',
|
714 |
+
$icon_url = '',
|
715 |
+
$position = null
|
716 |
+
) {
|
717 |
+
$fn = 'add_menu' . '_page';
|
718 |
+
|
719 |
+
return $fn(
|
720 |
+
$page_title,
|
721 |
+
$menu_title,
|
722 |
+
$capability,
|
723 |
+
$menu_slug,
|
724 |
+
$function,
|
725 |
+
$icon_url,
|
726 |
+
$position
|
727 |
+
);
|
728 |
+
}
|
729 |
+
|
730 |
+
/**
|
731 |
+
* Add a submenu page.
|
732 |
+
*
|
733 |
+
* Note for WordPress.org Theme/Plugin reviewer:
|
734 |
+
*
|
735 |
+
* This is a replication of `add_submenu_page()` to avoid Theme Check warning.
|
736 |
+
*
|
737 |
+
* Why?
|
738 |
+
* ====
|
739 |
+
* Freemius is an SDK for plugin and theme developers. Since the core
|
740 |
+
* of the SDK is relevant both for plugins and themes, for obvious reasons,
|
741 |
+
* we only develop and maintain one code base.
|
742 |
+
*
|
743 |
+
* This method will not run for wp.org themes (only plugins) since theme
|
744 |
+
* admin settings/options are now only allowed in the customizer.
|
745 |
+
*
|
746 |
+
* If you have any questions or need clarifications, please don't hesitate
|
747 |
+
* pinging me on slack, my username is @svovaf.
|
748 |
+
*
|
749 |
+
* @author Vova Feldman (@svovaf)
|
750 |
+
* @since 1.2.2
|
751 |
+
*
|
752 |
+
* @param string $parent_slug The slug name for the parent menu (or the file name of a standard
|
753 |
+
* WordPress admin page).
|
754 |
+
* @param string $page_title The text to be displayed in the title tags of the page when the menu is
|
755 |
+
* selected.
|
756 |
+
* @param string $menu_title The text to be used for the menu.
|
757 |
+
* @param string $capability The capability required for this menu to be displayed to the user.
|
758 |
+
* @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu).
|
759 |
+
* @param callable|string $function The function to be called to output the content for this page.
|
760 |
+
*
|
761 |
+
* @return false|string The resulting page's hook_suffix, or false if the user does not have the capability
|
762 |
+
* required.
|
763 |
+
*/
|
764 |
+
static function add_subpage(
|
765 |
+
$parent_slug,
|
766 |
+
$page_title,
|
767 |
+
$menu_title,
|
768 |
+
$capability,
|
769 |
+
$menu_slug,
|
770 |
+
$function = ''
|
771 |
+
) {
|
772 |
+
$fn = 'add_submenu' . '_page';
|
773 |
+
|
774 |
+
return $fn( $parent_slug,
|
775 |
+
$page_title,
|
776 |
+
$menu_title,
|
777 |
+
$capability,
|
778 |
+
$menu_slug,
|
779 |
+
$function
|
780 |
+
);
|
781 |
+
}
|
782 |
}
|
freemius/includes/managers/class-fs-admin-notice-manager.php
CHANGED
@@ -1,313 +1,313 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
-
* @since 1.0.7
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
class FS_Admin_Notice_Manager {
|
14 |
-
/**
|
15 |
-
* @var string
|
16 |
-
*/
|
17 |
-
protected $_slug;
|
18 |
-
/**
|
19 |
-
* @var string
|
20 |
-
*/
|
21 |
-
protected $_title;
|
22 |
-
/**
|
23 |
-
* @var array[]
|
24 |
-
*/
|
25 |
-
private $_admin_messages = array();
|
26 |
-
/**
|
27 |
-
* @var FS_Key_Value_Storage
|
28 |
-
*/
|
29 |
-
private $_sticky_storage;
|
30 |
-
/**
|
31 |
-
* @var FS_Plugin_Manager[]
|
32 |
-
*/
|
33 |
-
private static $_instances = array();
|
34 |
-
/**
|
35 |
-
* @var FS_Logger
|
36 |
-
*/
|
37 |
-
protected $_logger;
|
38 |
-
|
39 |
-
/**
|
40 |
-
* @param string $slug
|
41 |
-
* @param string $title
|
42 |
-
*
|
43 |
-
* @return FS_Admin_Notice_Manager
|
44 |
-
*/
|
45 |
-
static function instance( $slug, $title = '' ) {
|
46 |
-
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
47 |
-
self::$_instances[ $slug ] = new FS_Admin_Notice_Manager( $slug, $title );
|
48 |
-
}
|
49 |
-
|
50 |
-
return self::$_instances[ $slug ];
|
51 |
-
}
|
52 |
-
|
53 |
-
protected function __construct( $slug, $title = '' ) {
|
54 |
-
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $slug . '_data', WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
55 |
-
|
56 |
-
$this->_slug = $slug;
|
57 |
-
$this->_title = ! empty( $title ) ? $title : '';
|
58 |
-
$this->_sticky_storage = FS_Key_Value_Storage::instance( 'admin_notices', $this->_slug );
|
59 |
-
|
60 |
-
if ( is_admin() ) {
|
61 |
-
if ( 0 < count( $this->_sticky_storage ) ) {
|
62 |
-
// If there are sticky notices for the current slug, add a callback
|
63 |
-
// to the AJAX action that handles message dismiss.
|
64 |
-
add_action( "wp_ajax_fs_dismiss_notice_action_{$slug}", array(
|
65 |
-
&$this,
|
66 |
-
'dismiss_notice_ajax_callback'
|
67 |
-
) );
|
68 |
-
|
69 |
-
foreach ( $this->_sticky_storage as $id => $msg ) {
|
70 |
-
// Add admin notice.
|
71 |
-
$this->add(
|
72 |
-
$msg['message'],
|
73 |
-
$msg['title'],
|
74 |
-
$msg['type'],
|
75 |
-
true,
|
76 |
-
$msg['all'],
|
77 |
-
$msg['id'],
|
78 |
-
false
|
79 |
-
);
|
80 |
-
}
|
81 |
-
}
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
85 |
-
/**
|
86 |
-
* Remove sticky message by ID.
|
87 |
-
*
|
88 |
-
* @author Vova Feldman (@svovaf)
|
89 |
-
* @since 1.0.7
|
90 |
-
*
|
91 |
-
*/
|
92 |
-
function dismiss_notice_ajax_callback() {
|
93 |
-
$this->_sticky_storage->remove( $_POST['message_id'] );
|
94 |
-
wp_die();
|
95 |
-
}
|
96 |
-
|
97 |
-
/**
|
98 |
-
* Rendered sticky message dismiss JavaScript.
|
99 |
-
*
|
100 |
-
* @author Vova Feldman (@svovaf)
|
101 |
-
* @since 1.0.7
|
102 |
-
*/
|
103 |
-
static function _add_sticky_dismiss_javascript() {
|
104 |
-
$params = array();
|
105 |
-
fs_require_once_template( 'sticky-admin-notice-js.php', $params );
|
106 |
-
}
|
107 |
-
|
108 |
-
private static $_added_sticky_javascript = false;
|
109 |
-
|
110 |
-
/**
|
111 |
-
* Hook to the admin_footer to add sticky message dismiss JavaScript handler.
|
112 |
-
*
|
113 |
-
* @author Vova Feldman (@svovaf)
|
114 |
-
* @since 1.0.7
|
115 |
-
*/
|
116 |
-
private static function has_sticky_messages() {
|
117 |
-
if ( ! self::$_added_sticky_javascript ) {
|
118 |
-
add_action( 'admin_footer', array( 'FS_Admin_Notice_Manager', '_add_sticky_dismiss_javascript' ) );
|
119 |
-
}
|
120 |
-
}
|
121 |
-
|
122 |
-
/**
|
123 |
-
* Handle admin_notices by printing the admin messages stacked in the queue.
|
124 |
-
*
|
125 |
-
* @author Vova Feldman (@svovaf)
|
126 |
-
* @since 1.0.4
|
127 |
-
*
|
128 |
-
*/
|
129 |
-
function _admin_notices_hook() {
|
130 |
-
$notice_type = 'admin_notices';
|
131 |
-
|
132 |
-
if ( function_exists( 'current_user_can' ) &&
|
133 |
-
! current_user_can( 'manage_options' )
|
134 |
-
) {
|
135 |
-
// Only show messages to admins.
|
136 |
-
return;
|
137 |
-
}
|
138 |
-
|
139 |
-
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
140 |
-
return;
|
141 |
-
}
|
142 |
-
|
143 |
-
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
144 |
-
fs_require_template( 'admin-notice.php', $msg );
|
145 |
-
|
146 |
-
if ( $msg['sticky'] ) {
|
147 |
-
self::has_sticky_messages();
|
148 |
-
}
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* Handle all_admin_notices by printing the admin messages stacked in the queue.
|
154 |
-
*
|
155 |
-
* @author Vova Feldman (@svovaf)
|
156 |
-
* @since 1.0.4
|
157 |
-
*
|
158 |
-
*/
|
159 |
-
function _all_admin_notices_hook() {
|
160 |
-
$notice_type = 'all_admin_notices';
|
161 |
-
|
162 |
-
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
163 |
-
return;
|
164 |
-
}
|
165 |
-
|
166 |
-
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
167 |
-
fs_require_template( 'all-admin-notice.php', $msg );
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
/**
|
172 |
-
* Enqueue common stylesheet to style admin notice.
|
173 |
-
*
|
174 |
-
* @author Vova Feldman (@svovaf)
|
175 |
-
* @since 1.0.7
|
176 |
-
*/
|
177 |
-
function _enqueue_styles() {
|
178 |
-
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
179 |
-
}
|
180 |
-
|
181 |
-
/**
|
182 |
-
* Add admin message to admin messages queue, and hook to admin_notices / all_admin_notices if not yet hooked.
|
183 |
-
*
|
184 |
-
* @author Vova Feldman (@svovaf)
|
185 |
-
* @since 1.0.4
|
186 |
-
*
|
187 |
-
* @param string $message
|
188 |
-
* @param string $title
|
189 |
-
* @param string $type
|
190 |
-
* @param bool $is_sticky
|
191 |
-
* @param bool $all_admin
|
192 |
-
* @param string $id Message ID
|
193 |
-
* @param bool $store_if_sticky
|
194 |
-
*
|
195 |
-
* @uses add_action()
|
196 |
-
*/
|
197 |
-
function add( $message, $title = '', $type = 'success', $is_sticky = false, $all_admin = false, $id = '', $store_if_sticky = true ) {
|
198 |
-
$key = ( $all_admin ? 'all_admin_notices' : 'admin_notices' );
|
199 |
-
|
200 |
-
if ( ! isset( $this->_admin_messages[ $key ] ) ) {
|
201 |
-
$this->_admin_messages[ $key ] = array();
|
202 |
-
|
203 |
-
add_action( $key, array( &$this, "_{$key}_hook" ) );
|
204 |
-
add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_styles' ) );
|
205 |
-
|
206 |
-
}
|
207 |
-
|
208 |
-
if ( '' === $id ) {
|
209 |
-
$id = md5( $title . ' ' . $message . ' ' . $type );
|
210 |
-
}
|
211 |
-
|
212 |
-
$message_object = array(
|
213 |
-
'message' => $message,
|
214 |
-
'title' => $title,
|
215 |
-
'type' => $type,
|
216 |
-
'sticky' => $is_sticky,
|
217 |
-
'id' => $id,
|
218 |
-
'all' => $all_admin,
|
219 |
-
'slug' => $this->_slug,
|
220 |
-
'plugin' => $this->_title,
|
221 |
-
);
|
222 |
-
|
223 |
-
if ( $is_sticky && $store_if_sticky ) {
|
224 |
-
$this->_sticky_storage->{$id} = $message_object;
|
225 |
-
}
|
226 |
-
|
227 |
-
$this->_admin_messages[ $key ][ $id ] = $message_object;
|
228 |
-
}
|
229 |
-
|
230 |
-
/**
|
231 |
-
* @author Vova Feldman (@svovaf)
|
232 |
-
* @since 1.0.7
|
233 |
-
*
|
234 |
-
* @param string|string[] $ids
|
235 |
-
*/
|
236 |
-
function remove_sticky( $ids ) {
|
237 |
-
if ( ! is_array( $ids ) ) {
|
238 |
-
$ids = array( $ids );
|
239 |
-
}
|
240 |
-
|
241 |
-
foreach ( $ids as $id ) {
|
242 |
-
// Remove from sticky storage.
|
243 |
-
$this->_sticky_storage->remove( $id );
|
244 |
-
|
245 |
-
// Remove from current admin messages.
|
246 |
-
if ( isset( $this->_admin_messages['all_admin_notices'] ) && isset( $this->_admin_messages['all_admin_notices'][ $id ] ) ) {
|
247 |
-
unset( $this->_admin_messages['all_admin_notices'][ $id ] );
|
248 |
-
}
|
249 |
-
if ( isset( $this->_admin_messages['admin_notices'] ) && isset( $this->_admin_messages['admin_notices'][ $id ] ) ) {
|
250 |
-
unset( $this->_admin_messages['admin_notices'][ $id ] );
|
251 |
-
}
|
252 |
-
}
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Check if sticky message exists by id.
|
257 |
-
*
|
258 |
-
* @author Vova Feldman (@svovaf)
|
259 |
-
* @since 1.0.9
|
260 |
-
*
|
261 |
-
* @param $id
|
262 |
-
*
|
263 |
-
* @return bool
|
264 |
-
*/
|
265 |
-
function has_sticky( $id ) {
|
266 |
-
return isset( $this->_sticky_storage[ $id ] );
|
267 |
-
}
|
268 |
-
|
269 |
-
/**
|
270 |
-
* Adds sticky admin notification.
|
271 |
-
*
|
272 |
-
* @author Vova Feldman (@svovaf)
|
273 |
-
* @since 1.0.7
|
274 |
-
*
|
275 |
-
* @param string $message
|
276 |
-
* @param string $id Message ID
|
277 |
-
* @param string $title
|
278 |
-
* @param string $type
|
279 |
-
* @param bool $all_admin
|
280 |
-
*/
|
281 |
-
function add_sticky( $message, $id, $title = '', $type = 'success', $all_admin = false ) {
|
282 |
-
$message = fs_apply_filter( $this->_slug, "sticky_message_{$id}", $message );
|
283 |
-
$title = fs_apply_filter( $this->_slug, "sticky_title_{$id}", $title );
|
284 |
-
|
285 |
-
$this->add( $message, $title, $type, true, $all_admin, $id );
|
286 |
-
}
|
287 |
-
|
288 |
-
/**
|
289 |
-
* Clear all sticky messages.
|
290 |
-
*
|
291 |
-
* @author Vova Feldman (@svovaf)
|
292 |
-
* @since 1.0.8
|
293 |
-
*/
|
294 |
-
function clear_all_sticky() {
|
295 |
-
$this->_sticky_storage->clear_all();
|
296 |
-
}
|
297 |
-
|
298 |
-
/**
|
299 |
-
* Add admin message to all admin messages queue, and hook to all_admin_notices if not yet hooked.
|
300 |
-
*
|
301 |
-
* @author Vova Feldman (@svovaf)
|
302 |
-
* @since 1.0.4
|
303 |
-
*
|
304 |
-
* @param string $message
|
305 |
-
* @param string $title
|
306 |
-
* @param string $type
|
307 |
-
* @param bool $is_sticky
|
308 |
-
* @param string $id Message ID
|
309 |
-
*/
|
310 |
-
function add_all( $message, $title = '', $type = 'success', $is_sticky = false, $id = '' ) {
|
311 |
-
$this->add( $message, $title, $type, $is_sticky, true, $id );
|
312 |
-
}
|
313 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.0.7
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class FS_Admin_Notice_Manager {
|
14 |
+
/**
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
protected $_slug;
|
18 |
+
/**
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
protected $_title;
|
22 |
+
/**
|
23 |
+
* @var array[]
|
24 |
+
*/
|
25 |
+
private $_admin_messages = array();
|
26 |
+
/**
|
27 |
+
* @var FS_Key_Value_Storage
|
28 |
+
*/
|
29 |
+
private $_sticky_storage;
|
30 |
+
/**
|
31 |
+
* @var FS_Plugin_Manager[]
|
32 |
+
*/
|
33 |
+
private static $_instances = array();
|
34 |
+
/**
|
35 |
+
* @var FS_Logger
|
36 |
+
*/
|
37 |
+
protected $_logger;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param string $slug
|
41 |
+
* @param string $title
|
42 |
+
*
|
43 |
+
* @return FS_Admin_Notice_Manager
|
44 |
+
*/
|
45 |
+
static function instance( $slug, $title = '' ) {
|
46 |
+
if ( ! isset( self::$_instances[ $slug ] ) ) {
|
47 |
+
self::$_instances[ $slug ] = new FS_Admin_Notice_Manager( $slug, $title );
|
48 |
+
}
|
49 |
+
|
50 |
+
return self::$_instances[ $slug ];
|
51 |
+
}
|
52 |
+
|
53 |
+
protected function __construct( $slug, $title = '' ) {
|
54 |
+
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $slug . '_data', WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
55 |
+
|
56 |
+
$this->_slug = $slug;
|
57 |
+
$this->_title = ! empty( $title ) ? $title : '';
|
58 |
+
$this->_sticky_storage = FS_Key_Value_Storage::instance( 'admin_notices', $this->_slug );
|
59 |
+
|
60 |
+
if ( is_admin() ) {
|
61 |
+
if ( 0 < count( $this->_sticky_storage ) ) {
|
62 |
+
// If there are sticky notices for the current slug, add a callback
|
63 |
+
// to the AJAX action that handles message dismiss.
|
64 |
+
add_action( "wp_ajax_fs_dismiss_notice_action_{$slug}", array(
|
65 |
+
&$this,
|
66 |
+
'dismiss_notice_ajax_callback'
|
67 |
+
) );
|
68 |
+
|
69 |
+
foreach ( $this->_sticky_storage as $id => $msg ) {
|
70 |
+
// Add admin notice.
|
71 |
+
$this->add(
|
72 |
+
$msg['message'],
|
73 |
+
$msg['title'],
|
74 |
+
$msg['type'],
|
75 |
+
true,
|
76 |
+
$msg['all'],
|
77 |
+
$msg['id'],
|
78 |
+
false
|
79 |
+
);
|
80 |
+
}
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Remove sticky message by ID.
|
87 |
+
*
|
88 |
+
* @author Vova Feldman (@svovaf)
|
89 |
+
* @since 1.0.7
|
90 |
+
*
|
91 |
+
*/
|
92 |
+
function dismiss_notice_ajax_callback() {
|
93 |
+
$this->_sticky_storage->remove( $_POST['message_id'] );
|
94 |
+
wp_die();
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Rendered sticky message dismiss JavaScript.
|
99 |
+
*
|
100 |
+
* @author Vova Feldman (@svovaf)
|
101 |
+
* @since 1.0.7
|
102 |
+
*/
|
103 |
+
static function _add_sticky_dismiss_javascript() {
|
104 |
+
$params = array();
|
105 |
+
fs_require_once_template( 'sticky-admin-notice-js.php', $params );
|
106 |
+
}
|
107 |
+
|
108 |
+
private static $_added_sticky_javascript = false;
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Hook to the admin_footer to add sticky message dismiss JavaScript handler.
|
112 |
+
*
|
113 |
+
* @author Vova Feldman (@svovaf)
|
114 |
+
* @since 1.0.7
|
115 |
+
*/
|
116 |
+
private static function has_sticky_messages() {
|
117 |
+
if ( ! self::$_added_sticky_javascript ) {
|
118 |
+
add_action( 'admin_footer', array( 'FS_Admin_Notice_Manager', '_add_sticky_dismiss_javascript' ) );
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Handle admin_notices by printing the admin messages stacked in the queue.
|
124 |
+
*
|
125 |
+
* @author Vova Feldman (@svovaf)
|
126 |
+
* @since 1.0.4
|
127 |
+
*
|
128 |
+
*/
|
129 |
+
function _admin_notices_hook() {
|
130 |
+
$notice_type = 'admin_notices';
|
131 |
+
|
132 |
+
if ( function_exists( 'current_user_can' ) &&
|
133 |
+
! current_user_can( 'manage_options' )
|
134 |
+
) {
|
135 |
+
// Only show messages to admins.
|
136 |
+
return;
|
137 |
+
}
|
138 |
+
|
139 |
+
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
140 |
+
return;
|
141 |
+
}
|
142 |
+
|
143 |
+
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
144 |
+
fs_require_template( 'admin-notice.php', $msg );
|
145 |
+
|
146 |
+
if ( $msg['sticky'] ) {
|
147 |
+
self::has_sticky_messages();
|
148 |
+
}
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Handle all_admin_notices by printing the admin messages stacked in the queue.
|
154 |
+
*
|
155 |
+
* @author Vova Feldman (@svovaf)
|
156 |
+
* @since 1.0.4
|
157 |
+
*
|
158 |
+
*/
|
159 |
+
function _all_admin_notices_hook() {
|
160 |
+
$notice_type = 'all_admin_notices';
|
161 |
+
|
162 |
+
if ( ! isset( $this->_admin_messages[ $notice_type ] ) || ! is_array( $this->_admin_messages[ $notice_type ] ) ) {
|
163 |
+
return;
|
164 |
+
}
|
165 |
+
|
166 |
+
foreach ( $this->_admin_messages[ $notice_type ] as $id => $msg ) {
|
167 |
+
fs_require_template( 'all-admin-notice.php', $msg );
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Enqueue common stylesheet to style admin notice.
|
173 |
+
*
|
174 |
+
* @author Vova Feldman (@svovaf)
|
175 |
+
* @since 1.0.7
|
176 |
+
*/
|
177 |
+
function _enqueue_styles() {
|
178 |
+
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Add admin message to admin messages queue, and hook to admin_notices / all_admin_notices if not yet hooked.
|
183 |
+
*
|
184 |
+
* @author Vova Feldman (@svovaf)
|
185 |
+
* @since 1.0.4
|
186 |
+
*
|
187 |
+
* @param string $message
|
188 |
+
* @param string $title
|
189 |
+
* @param string $type
|
190 |
+
* @param bool $is_sticky
|
191 |
+
* @param bool $all_admin
|
192 |
+
* @param string $id Message ID
|
193 |
+
* @param bool $store_if_sticky
|
194 |
+
*
|
195 |
+
* @uses add_action()
|
196 |
+
*/
|
197 |
+
function add( $message, $title = '', $type = 'success', $is_sticky = false, $all_admin = false, $id = '', $store_if_sticky = true ) {
|
198 |
+
$key = ( $all_admin ? 'all_admin_notices' : 'admin_notices' );
|
199 |
+
|
200 |
+
if ( ! isset( $this->_admin_messages[ $key ] ) ) {
|
201 |
+
$this->_admin_messages[ $key ] = array();
|
202 |
+
|
203 |
+
add_action( $key, array( &$this, "_{$key}_hook" ) );
|
204 |
+
add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_styles' ) );
|
205 |
+
|
206 |
+
}
|
207 |
+
|
208 |
+
if ( '' === $id ) {
|
209 |
+
$id = md5( $title . ' ' . $message . ' ' . $type );
|
210 |
+
}
|
211 |
+
|
212 |
+
$message_object = array(
|
213 |
+
'message' => $message,
|
214 |
+
'title' => $title,
|
215 |
+
'type' => $type,
|
216 |
+
'sticky' => $is_sticky,
|
217 |
+
'id' => $id,
|
218 |
+
'all' => $all_admin,
|
219 |
+
'slug' => $this->_slug,
|
220 |
+
'plugin' => $this->_title,
|
221 |
+
);
|
222 |
+
|
223 |
+
if ( $is_sticky && $store_if_sticky ) {
|
224 |
+
$this->_sticky_storage->{$id} = $message_object;
|
225 |
+
}
|
226 |
+
|
227 |
+
$this->_admin_messages[ $key ][ $id ] = $message_object;
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* @author Vova Feldman (@svovaf)
|
232 |
+
* @since 1.0.7
|
233 |
+
*
|
234 |
+
* @param string|string[] $ids
|
235 |
+
*/
|
236 |
+
function remove_sticky( $ids ) {
|
237 |
+
if ( ! is_array( $ids ) ) {
|
238 |
+
$ids = array( $ids );
|
239 |
+
}
|
240 |
+
|
241 |
+
foreach ( $ids as $id ) {
|
242 |
+
// Remove from sticky storage.
|
243 |
+
$this->_sticky_storage->remove( $id );
|
244 |
+
|
245 |
+
// Remove from current admin messages.
|
246 |
+
if ( isset( $this->_admin_messages['all_admin_notices'] ) && isset( $this->_admin_messages['all_admin_notices'][ $id ] ) ) {
|
247 |
+
unset( $this->_admin_messages['all_admin_notices'][ $id ] );
|
248 |
+
}
|
249 |
+
if ( isset( $this->_admin_messages['admin_notices'] ) && isset( $this->_admin_messages['admin_notices'][ $id ] ) ) {
|
250 |
+
unset( $this->_admin_messages['admin_notices'][ $id ] );
|
251 |
+
}
|
252 |
+
}
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Check if sticky message exists by id.
|
257 |
+
*
|
258 |
+
* @author Vova Feldman (@svovaf)
|
259 |
+
* @since 1.0.9
|
260 |
+
*
|
261 |
+
* @param $id
|
262 |
+
*
|
263 |
+
* @return bool
|
264 |
+
*/
|
265 |
+
function has_sticky( $id ) {
|
266 |
+
return isset( $this->_sticky_storage[ $id ] );
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Adds sticky admin notification.
|
271 |
+
*
|
272 |
+
* @author Vova Feldman (@svovaf)
|
273 |
+
* @since 1.0.7
|
274 |
+
*
|
275 |
+
* @param string $message
|
276 |
+
* @param string $id Message ID
|
277 |
+
* @param string $title
|
278 |
+
* @param string $type
|
279 |
+
* @param bool $all_admin
|
280 |
+
*/
|
281 |
+
function add_sticky( $message, $id, $title = '', $type = 'success', $all_admin = false ) {
|
282 |
+
$message = fs_apply_filter( $this->_slug, "sticky_message_{$id}", $message );
|
283 |
+
$title = fs_apply_filter( $this->_slug, "sticky_title_{$id}", $title );
|
284 |
+
|
285 |
+
$this->add( $message, $title, $type, true, $all_admin, $id );
|
286 |
+
}
|
287 |
+
|
288 |
+
/**
|
289 |
+
* Clear all sticky messages.
|
290 |
+
*
|
291 |
+
* @author Vova Feldman (@svovaf)
|
292 |
+
* @since 1.0.8
|
293 |
+
*/
|
294 |
+
function clear_all_sticky() {
|
295 |
+
$this->_sticky_storage->clear_all();
|
296 |
+
}
|
297 |
+
|
298 |
+
/**
|
299 |
+
* Add admin message to all admin messages queue, and hook to all_admin_notices if not yet hooked.
|
300 |
+
*
|
301 |
+
* @author Vova Feldman (@svovaf)
|
302 |
+
* @since 1.0.4
|
303 |
+
*
|
304 |
+
* @param string $message
|
305 |
+
* @param string $title
|
306 |
+
* @param string $type
|
307 |
+
* @param bool $is_sticky
|
308 |
+
* @param string $id Message ID
|
309 |
+
*/
|
310 |
+
function add_all( $message, $title = '', $type = 'success', $is_sticky = false, $id = '' ) {
|
311 |
+
$this->add( $message, $title, $type, $is_sticky, true, $id );
|
312 |
+
}
|
313 |
}
|
freemius/includes/sdk/Exceptions/ArgumentNotExistException.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_ArgumentNotExistException' ) ) {
|
7 |
-
class Freemius_ArgumentNotExistException extends Freemius_InvalidArgumentException {
|
8 |
-
}
|
9 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_ArgumentNotExistException' ) ) {
|
7 |
+
class Freemius_ArgumentNotExistException extends Freemius_InvalidArgumentException {
|
8 |
+
}
|
9 |
}
|
freemius/includes/sdk/Exceptions/EmptyArgumentException.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_EmptyArgumentException' ) ) {
|
7 |
-
class Freemius_EmptyArgumentException extends Freemius_InvalidArgumentException {
|
8 |
-
}
|
9 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_EmptyArgumentException' ) ) {
|
7 |
+
class Freemius_EmptyArgumentException extends Freemius_InvalidArgumentException {
|
8 |
+
}
|
9 |
}
|
freemius/includes/sdk/Exceptions/Exception.php
CHANGED
@@ -1,74 +1,74 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
-
/**
|
4 |
-
* Thrown when an API call returns an exception.
|
5 |
-
*
|
6 |
-
*/
|
7 |
-
class Freemius_Exception extends Exception {
|
8 |
-
protected $_result;
|
9 |
-
protected $_type;
|
10 |
-
protected $_code;
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Make a new API Exception with the given result.
|
14 |
-
*
|
15 |
-
* @param array $result The result from the API server.
|
16 |
-
*/
|
17 |
-
public function __construct( $result ) {
|
18 |
-
$this->_result = $result;
|
19 |
-
|
20 |
-
$code = 0;
|
21 |
-
$message = 'Unknown error, please check GetResult().';
|
22 |
-
$type = '';
|
23 |
-
|
24 |
-
if ( isset( $result['error'] ) && is_array( $result['error'] ) ) {
|
25 |
-
if ( isset( $result['error']['code'] ) ) {
|
26 |
-
$code = $result['error']['code'];
|
27 |
-
}
|
28 |
-
if ( isset( $result['error']['message'] ) ) {
|
29 |
-
$message = $result['error']['message'];
|
30 |
-
}
|
31 |
-
if ( isset( $result['error']['type'] ) ) {
|
32 |
-
$type = $result['error']['type'];
|
33 |
-
}
|
34 |
-
}
|
35 |
-
|
36 |
-
$this->_type = $type;
|
37 |
-
$this->_code = $code;
|
38 |
-
|
39 |
-
parent::__construct( $message, is_numeric( $code ) ? $code : 0 );
|
40 |
-
}
|
41 |
-
|
42 |
-
/**
|
43 |
-
* Return the associated result object returned by the API server.
|
44 |
-
*
|
45 |
-
* @return array The result from the API server
|
46 |
-
*/
|
47 |
-
public function getResult() {
|
48 |
-
return $this->_result;
|
49 |
-
}
|
50 |
-
|
51 |
-
public function getStringCode() {
|
52 |
-
return $this->_code;
|
53 |
-
}
|
54 |
-
|
55 |
-
public function getType() {
|
56 |
-
return $this->_type;
|
57 |
-
}
|
58 |
-
|
59 |
-
/**
|
60 |
-
* To make debugging easier.
|
61 |
-
*
|
62 |
-
* @return string The string representation of the error
|
63 |
-
*/
|
64 |
-
public function __toString() {
|
65 |
-
$str = $this->getType() . ': ';
|
66 |
-
|
67 |
-
if ( $this->code != 0 ) {
|
68 |
-
$str .= $this->getStringCode() . ': ';
|
69 |
-
}
|
70 |
-
|
71 |
-
return $str . $this->getMessage();
|
72 |
-
}
|
73 |
-
}
|
74 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
/**
|
4 |
+
* Thrown when an API call returns an exception.
|
5 |
+
*
|
6 |
+
*/
|
7 |
+
class Freemius_Exception extends Exception {
|
8 |
+
protected $_result;
|
9 |
+
protected $_type;
|
10 |
+
protected $_code;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Make a new API Exception with the given result.
|
14 |
+
*
|
15 |
+
* @param array $result The result from the API server.
|
16 |
+
*/
|
17 |
+
public function __construct( $result ) {
|
18 |
+
$this->_result = $result;
|
19 |
+
|
20 |
+
$code = 0;
|
21 |
+
$message = 'Unknown error, please check GetResult().';
|
22 |
+
$type = '';
|
23 |
+
|
24 |
+
if ( isset( $result['error'] ) && is_array( $result['error'] ) ) {
|
25 |
+
if ( isset( $result['error']['code'] ) ) {
|
26 |
+
$code = $result['error']['code'];
|
27 |
+
}
|
28 |
+
if ( isset( $result['error']['message'] ) ) {
|
29 |
+
$message = $result['error']['message'];
|
30 |
+
}
|
31 |
+
if ( isset( $result['error']['type'] ) ) {
|
32 |
+
$type = $result['error']['type'];
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
$this->_type = $type;
|
37 |
+
$this->_code = $code;
|
38 |
+
|
39 |
+
parent::__construct( $message, is_numeric( $code ) ? $code : 0 );
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Return the associated result object returned by the API server.
|
44 |
+
*
|
45 |
+
* @return array The result from the API server
|
46 |
+
*/
|
47 |
+
public function getResult() {
|
48 |
+
return $this->_result;
|
49 |
+
}
|
50 |
+
|
51 |
+
public function getStringCode() {
|
52 |
+
return $this->_code;
|
53 |
+
}
|
54 |
+
|
55 |
+
public function getType() {
|
56 |
+
return $this->_type;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* To make debugging easier.
|
61 |
+
*
|
62 |
+
* @return string The string representation of the error
|
63 |
+
*/
|
64 |
+
public function __toString() {
|
65 |
+
$str = $this->getType() . ': ';
|
66 |
+
|
67 |
+
if ( $this->code != 0 ) {
|
68 |
+
$str .= $this->getStringCode() . ': ';
|
69 |
+
}
|
70 |
+
|
71 |
+
return $str . $this->getMessage();
|
72 |
+
}
|
73 |
+
}
|
74 |
}
|
freemius/includes/sdk/Exceptions/InvalidArgumentException.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
7 |
-
class Freemius_InvalidArgumentException extends Freemius_Exception { }
|
8 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_InvalidArgumentException' ) ) {
|
7 |
+
class Freemius_InvalidArgumentException extends Freemius_Exception { }
|
8 |
}
|
freemius/includes/sdk/Exceptions/OAuthException.php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
if ( ! class_exists( 'Freemius_OAuthException' ) ) {
|
7 |
-
class Freemius_OAuthException extends Freemius_Exception {
|
8 |
-
public function __construct( $pResult ) {
|
9 |
-
parent::__construct( $pResult );
|
10 |
-
}
|
11 |
-
}
|
12 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'Freemius_Exception' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( ! class_exists( 'Freemius_OAuthException' ) ) {
|
7 |
+
class Freemius_OAuthException extends Freemius_Exception {
|
8 |
+
public function __construct( $pResult ) {
|
9 |
+
parent::__construct( $pResult );
|
10 |
+
}
|
11 |
+
}
|
12 |
}
|
freemius/includes/sdk/Freemius.php
CHANGED
@@ -1,583 +1,627 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Copyright 2014 Freemius, Inc.
|
4 |
-
*
|
5 |
-
* Licensed under the GPL v2 (the "License"); you may
|
6 |
-
* not use this file except in compliance with the License. You may obtain
|
7 |
-
* a copy of the License at
|
8 |
-
*
|
9 |
-
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
-
*
|
11 |
-
* Unless required by applicable law or agreed to in writing, software
|
12 |
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
-
* License for the specific language governing permissions and limitations
|
15 |
-
* under the License.
|
16 |
-
*/
|
17 |
-
|
18 |
-
require_once dirname( __FILE__ ) . '/FreemiusBase.php';
|
19 |
-
|
20 |
-
if ( ! defined( 'FS_SDK__USER_AGENT' ) ) {
|
21 |
-
define( 'FS_SDK__USER_AGENT', 'fs-php-' . Freemius_Api_Base::VERSION );
|
22 |
-
}
|
23 |
-
|
24 |
-
if ( ! defined( 'FS_SDK__SIMULATE_NO_CURL' ) ) {
|
25 |
-
define( 'FS_SDK__SIMULATE_NO_CURL', false );
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE' ) ) {
|
29 |
-
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', false );
|
30 |
-
}
|
31 |
-
|
32 |
-
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL' ) ) {
|
33 |
-
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
34 |
-
}
|
35 |
-
|
36 |
-
if ( ! defined( 'FS_SDK__HAS_CURL' ) ) {
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
* @
|
129 |
-
*/
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
*
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
*
|
156 |
-
*
|
157 |
-
* @
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
$
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
$
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
$
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
$
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
}
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
$
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
$opts
|
358 |
-
}
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
if ( false
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
}
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
if
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
$
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
$
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
/**
|
487 |
-
*
|
488 |
-
*
|
489 |
-
*
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
throw
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
)
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Copyright 2014 Freemius, Inc.
|
4 |
+
*
|
5 |
+
* Licensed under the GPL v2 (the "License"); you may
|
6 |
+
* not use this file except in compliance with the License. You may obtain
|
7 |
+
* a copy of the License at
|
8 |
+
*
|
9 |
+
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
+
*
|
11 |
+
* Unless required by applicable law or agreed to in writing, software
|
12 |
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
+
* License for the specific language governing permissions and limitations
|
15 |
+
* under the License.
|
16 |
+
*/
|
17 |
+
|
18 |
+
require_once dirname( __FILE__ ) . '/FreemiusBase.php';
|
19 |
+
|
20 |
+
if ( ! defined( 'FS_SDK__USER_AGENT' ) ) {
|
21 |
+
define( 'FS_SDK__USER_AGENT', 'fs-php-' . Freemius_Api_Base::VERSION );
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( ! defined( 'FS_SDK__SIMULATE_NO_CURL' ) ) {
|
25 |
+
define( 'FS_SDK__SIMULATE_NO_CURL', false );
|
26 |
+
}
|
27 |
+
|
28 |
+
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE' ) ) {
|
29 |
+
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', false );
|
30 |
+
}
|
31 |
+
|
32 |
+
if ( ! defined( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL' ) ) {
|
33 |
+
define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
|
34 |
+
}
|
35 |
+
|
36 |
+
if ( ! defined( 'FS_SDK__HAS_CURL' ) ) {
|
37 |
+
if ( FS_SDK__SIMULATE_NO_CURL ) {
|
38 |
+
define( 'FS_SDK__HAS_CURL', false );
|
39 |
+
} else {
|
40 |
+
$curl_required_methods = array(
|
41 |
+
'curl_version',
|
42 |
+
'curl_exec',
|
43 |
+
'curl_init',
|
44 |
+
'curl_close',
|
45 |
+
'curl_setopt',
|
46 |
+
'curl_setopt_array',
|
47 |
+
'curl_error',
|
48 |
+
);
|
49 |
+
|
50 |
+
$has_curl = true;
|
51 |
+
foreach ( $curl_required_methods as $m ) {
|
52 |
+
if ( ! function_exists( $m ) ) {
|
53 |
+
$has_curl = false;
|
54 |
+
break;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
define( 'FS_SDK__HAS_CURL', $has_curl );
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
$curl_version = FS_SDK__HAS_CURL ?
|
63 |
+
curl_version() :
|
64 |
+
array( 'version' => '7.37' );
|
65 |
+
|
66 |
+
if ( ! defined( 'FS_API__PROTOCOL' ) ) {
|
67 |
+
define( 'FS_API__PROTOCOL', version_compare( $curl_version['version'], '7.37', '>=' ) ? 'https' : 'http' );
|
68 |
+
}
|
69 |
+
|
70 |
+
if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
|
71 |
+
define( 'FS_API__LOGGER_ON', false );
|
72 |
+
}
|
73 |
+
|
74 |
+
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
75 |
+
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
76 |
+
}
|
77 |
+
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
78 |
+
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
79 |
+
}
|
80 |
+
|
81 |
+
if ( class_exists( 'Freemius_Api' ) ) {
|
82 |
+
return;
|
83 |
+
}
|
84 |
+
|
85 |
+
class Freemius_Api extends Freemius_Api_Base {
|
86 |
+
private static $_logger = array();
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @param string $pScope 'app', 'developer', 'user' or 'install'.
|
90 |
+
* @param number $pID Element's id.
|
91 |
+
* @param string $pPublic Public key.
|
92 |
+
* @param string|bool $pSecret Element's secret key.
|
93 |
+
* @param bool $pSandbox Whether or not to run API in sandbox mode.
|
94 |
+
*/
|
95 |
+
public function __construct( $pScope, $pID, $pPublic, $pSecret = false, $pSandbox = false ) {
|
96 |
+
// If secret key not provided, use public key encryption.
|
97 |
+
if ( is_bool( $pSecret ) ) {
|
98 |
+
$pSecret = $pPublic;
|
99 |
+
}
|
100 |
+
|
101 |
+
parent::Init( $pScope, $pID, $pPublic, $pSecret, $pSandbox );
|
102 |
+
}
|
103 |
+
|
104 |
+
public static function GetUrl( $pCanonizedPath = '', $pIsSandbox = false ) {
|
105 |
+
$address = ( $pIsSandbox ? FS_API__SANDBOX_ADDRESS : FS_API__ADDRESS );
|
106 |
+
|
107 |
+
if ( ':' === $address[0] ) {
|
108 |
+
$address = self::$_protocol . $address;
|
109 |
+
}
|
110 |
+
|
111 |
+
return $address . $pCanonizedPath;
|
112 |
+
}
|
113 |
+
|
114 |
+
#----------------------------------------------------------------------------------
|
115 |
+
#region Servers Clock Diff
|
116 |
+
#----------------------------------------------------------------------------------
|
117 |
+
|
118 |
+
/**
|
119 |
+
* @var int Clock diff in seconds between current server to API server.
|
120 |
+
*/
|
121 |
+
private static $_clock_diff = 0;
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Set clock diff for all API calls.
|
125 |
+
*
|
126 |
+
* @since 1.0.3
|
127 |
+
*
|
128 |
+
* @param $pSeconds
|
129 |
+
*/
|
130 |
+
public static function SetClockDiff( $pSeconds ) {
|
131 |
+
self::$_clock_diff = $pSeconds;
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Find clock diff between current server to API server.
|
136 |
+
*
|
137 |
+
* @since 1.0.2
|
138 |
+
* @return int Clock diff in seconds.
|
139 |
+
*/
|
140 |
+
public static function FindClockDiff() {
|
141 |
+
$time = time();
|
142 |
+
$pong = self::Ping();
|
143 |
+
|
144 |
+
return ( $time - strtotime( $pong->timestamp ) );
|
145 |
+
}
|
146 |
+
|
147 |
+
#endregion
|
148 |
+
|
149 |
+
/**
|
150 |
+
* @var string http or https
|
151 |
+
*/
|
152 |
+
private static $_protocol = FS_API__PROTOCOL;
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Set API connection protocol.
|
156 |
+
*
|
157 |
+
* @since 1.0.4
|
158 |
+
*/
|
159 |
+
public static function SetHttp() {
|
160 |
+
self::$_protocol = 'http';
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* @since 1.0.4
|
165 |
+
*
|
166 |
+
* @return bool
|
167 |
+
*/
|
168 |
+
public static function IsHttps() {
|
169 |
+
return ( 'https' === self::$_protocol );
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Sign request with the following HTTP headers:
|
174 |
+
* Content-MD5: MD5(HTTP Request body)
|
175 |
+
* Date: Current date (i.e Sat, 14 Feb 2015 20:24:46 +0000)
|
176 |
+
* Authorization: FS {scope_entity_id}:{scope_entity_public_key}:base64encode(sha256(string_to_sign,
|
177 |
+
* {scope_entity_secret_key}))
|
178 |
+
*
|
179 |
+
* @param string $pResourceUrl
|
180 |
+
* @param array $pCurlOptions
|
181 |
+
*
|
182 |
+
* @return array
|
183 |
+
*/
|
184 |
+
function SignRequest( $pResourceUrl, $pCurlOptions ) {
|
185 |
+
$eol = "\n";
|
186 |
+
$content_md5 = '';
|
187 |
+
$now = ( time() - self::$_clock_diff );
|
188 |
+
$date = date( 'r', $now );
|
189 |
+
$content_type = '';
|
190 |
+
|
191 |
+
if ( isset( $pCurlOptions[ CURLOPT_POST ] ) && 0 < $pCurlOptions[ CURLOPT_POST ] ) {
|
192 |
+
$content_md5 = md5( $pCurlOptions[ CURLOPT_POSTFIELDS ] );
|
193 |
+
$pCurlOptions[ CURLOPT_HTTPHEADER ][] = 'Content-MD5: ' . $content_md5;
|
194 |
+
$content_type = 'application/json';
|
195 |
+
}
|
196 |
+
|
197 |
+
$pCurlOptions[ CURLOPT_HTTPHEADER ][] = 'Date: ' . $date;
|
198 |
+
|
199 |
+
$string_to_sign = implode( $eol, array(
|
200 |
+
$pCurlOptions[ CURLOPT_CUSTOMREQUEST ],
|
201 |
+
$content_md5,
|
202 |
+
$content_type,
|
203 |
+
$date,
|
204 |
+
$pResourceUrl
|
205 |
+
) );
|
206 |
+
|
207 |
+
// If secret and public keys are identical, it means that
|
208 |
+
// the signature uses public key hash encoding.
|
209 |
+
$auth_type = ( $this->_secret !== $this->_public ) ? 'FS' : 'FSP';
|
210 |
+
|
211 |
+
// Add authorization header.
|
212 |
+
$pCurlOptions[ CURLOPT_HTTPHEADER ][] = 'Authorization: ' .
|
213 |
+
$auth_type . ' ' .
|
214 |
+
$this->_id . ':' .
|
215 |
+
$this->_public . ':' .
|
216 |
+
self::Base64UrlEncode(
|
217 |
+
hash_hmac( 'sha256', $string_to_sign, $this->_secret )
|
218 |
+
);
|
219 |
+
|
220 |
+
return $pCurlOptions;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Get API request URL signed via query string.
|
225 |
+
*
|
226 |
+
* @param string $pPath
|
227 |
+
*
|
228 |
+
* @throws Freemius_Exception
|
229 |
+
*
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
function GetSignedUrl( $pPath ) {
|
233 |
+
$resource = explode( '?', $this->CanonizePath( $pPath ) );
|
234 |
+
$pResourceUrl = $resource[0];
|
235 |
+
|
236 |
+
$eol = "\n";
|
237 |
+
$content_md5 = '';
|
238 |
+
$content_type = '';
|
239 |
+
$now = ( time() - self::$_clock_diff );
|
240 |
+
$date = date( 'r', $now );
|
241 |
+
|
242 |
+
$string_to_sign = implode( $eol, array(
|
243 |
+
'GET',
|
244 |
+
$content_md5,
|
245 |
+
$content_type,
|
246 |
+
$date,
|
247 |
+
$pResourceUrl
|
248 |
+
) );
|
249 |
+
|
250 |
+
// If secret and public keys are identical, it means that
|
251 |
+
// the signature uses public key hash encoding.
|
252 |
+
$auth_type = ( $this->_secret !== $this->_public ) ? 'FS' : 'FSP';
|
253 |
+
|
254 |
+
return Freemius_Api::GetUrl(
|
255 |
+
$pResourceUrl . '?' .
|
256 |
+
( 1 < count( $resource ) && ! empty( $resource[1] ) ? $resource[1] . '&' : '' ) .
|
257 |
+
http_build_query( array(
|
258 |
+
'auth_date' => $date,
|
259 |
+
'authorization' => $auth_type . ' ' . $this->_id . ':' .
|
260 |
+
$this->_public . ':' .
|
261 |
+
self::Base64UrlEncode( hash_hmac(
|
262 |
+
'sha256', $string_to_sign, $this->_secret
|
263 |
+
) )
|
264 |
+
) ), $this->_isSandbox );
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* @param resource $pCurlHandler
|
269 |
+
* @param array $pCurlOptions
|
270 |
+
*
|
271 |
+
* @return mixed
|
272 |
+
*/
|
273 |
+
private static function ExecuteRequest( &$pCurlHandler, &$pCurlOptions ) {
|
274 |
+
$start = microtime( true );
|
275 |
+
|
276 |
+
$result = curl_exec( $pCurlHandler );
|
277 |
+
|
278 |
+
if ( FS_API__LOGGER_ON ) {
|
279 |
+
$end = microtime( true );
|
280 |
+
|
281 |
+
$has_body = ( isset( $pCurlOptions[ CURLOPT_POST ] ) && 0 < $pCurlOptions[ CURLOPT_POST ] );
|
282 |
+
|
283 |
+
self::$_logger[] = array(
|
284 |
+
'id' => count( self::$_logger ),
|
285 |
+
'start' => $start,
|
286 |
+
'end' => $end,
|
287 |
+
'total' => ( $end - $start ),
|
288 |
+
'method' => $pCurlOptions[ CURLOPT_CUSTOMREQUEST ],
|
289 |
+
'path' => $pCurlOptions[ CURLOPT_URL ],
|
290 |
+
'body' => $has_body ? $pCurlOptions[ CURLOPT_POSTFIELDS ] : null,
|
291 |
+
'result' => $result,
|
292 |
+
'code' => curl_getinfo( $pCurlHandler, CURLINFO_HTTP_CODE ),
|
293 |
+
'backtrace' => debug_backtrace(),
|
294 |
+
);
|
295 |
+
}
|
296 |
+
|
297 |
+
return $result;
|
298 |
+
}
|
299 |
+
|
300 |
+
/**
|
301 |
+
* @return array
|
302 |
+
*/
|
303 |
+
static function GetLogger() {
|
304 |
+
return self::$_logger;
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* @param string $pCanonizedPath
|
309 |
+
* @param string $pMethod
|
310 |
+
* @param array $pParams
|
311 |
+
* @param null|resource $pCurlHandler
|
312 |
+
* @param bool $pIsSandbox
|
313 |
+
* @param null|callable $pBeforeExecutionFunction
|
314 |
+
*
|
315 |
+
* @return object[]|object|null
|
316 |
+
*
|
317 |
+
* @throws \Freemius_Exception
|
318 |
+
*/
|
319 |
+
private static function MakeStaticRequest(
|
320 |
+
$pCanonizedPath,
|
321 |
+
$pMethod = 'GET',
|
322 |
+
$pParams = array(),
|
323 |
+
$pCurlHandler = null,
|
324 |
+
$pIsSandbox = false,
|
325 |
+
$pBeforeExecutionFunction = null
|
326 |
+
) {
|
327 |
+
if ( ! FS_SDK__HAS_CURL ) {
|
328 |
+
self::ThrowNoCurlException();
|
329 |
+
}
|
330 |
+
|
331 |
+
// Connectivity errors simulation.
|
332 |
+
if ( FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE ) {
|
333 |
+
self::ThrowCloudFlareDDoSException();
|
334 |
+
} else if ( FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL ) {
|
335 |
+
self::ThrowSquidAclException();
|
336 |
+
}
|
337 |
+
|
338 |
+
if ( ! $pCurlHandler ) {
|
339 |
+
$pCurlHandler = curl_init();
|
340 |
+
}
|
341 |
+
|
342 |
+
$opts = array(
|
343 |
+
CURLOPT_CONNECTTIMEOUT => 10,
|
344 |
+
CURLOPT_RETURNTRANSFER => true,
|
345 |
+
CURLOPT_TIMEOUT => 60,
|
346 |
+
CURLOPT_USERAGENT => FS_SDK__USER_AGENT,
|
347 |
+
CURLOPT_HTTPHEADER => array(),
|
348 |
+
);
|
349 |
+
|
350 |
+
if ( 'POST' === $pMethod || 'PUT' === $pMethod ) {
|
351 |
+
if ( is_array( $pParams ) && 0 < count( $pParams ) ) {
|
352 |
+
$opts[ CURLOPT_HTTPHEADER ][] = 'Content-Type: application/json';
|
353 |
+
$opts[ CURLOPT_POST ] = count( $pParams );
|
354 |
+
$opts[ CURLOPT_POSTFIELDS ] = json_encode( $pParams );
|
355 |
+
}
|
356 |
+
|
357 |
+
$opts[ CURLOPT_RETURNTRANSFER ] = true;
|
358 |
+
}
|
359 |
+
|
360 |
+
$request_url = self::GetUrl( $pCanonizedPath, $pIsSandbox );
|
361 |
+
|
362 |
+
$opts[ CURLOPT_URL ] = $request_url;
|
363 |
+
$opts[ CURLOPT_CUSTOMREQUEST ] = $pMethod;
|
364 |
+
|
365 |
+
$resource = explode( '?', $pCanonizedPath );
|
366 |
+
|
367 |
+
// Disable the 'Expect: 100-continue' behaviour. This causes CURL to wait
|
368 |
+
// for 2 seconds if the server does not support this header.
|
369 |
+
$opts[ CURLOPT_HTTPHEADER ][] = 'Expect:';
|
370 |
+
|
371 |
+
if ( 'https' === substr( strtolower( $request_url ), 0, 5 ) ) {
|
372 |
+
$opts[ CURLOPT_SSL_VERIFYHOST ] = false;
|
373 |
+
$opts[ CURLOPT_SSL_VERIFYPEER ] = false;
|
374 |
+
}
|
375 |
+
|
376 |
+
if ( false !== $pBeforeExecutionFunction &&
|
377 |
+
is_callable( $pBeforeExecutionFunction )
|
378 |
+
) {
|
379 |
+
$opts = call_user_func( $pBeforeExecutionFunction, $resource[0], $opts );
|
380 |
+
}
|
381 |
+
|
382 |
+
curl_setopt_array( $pCurlHandler, $opts );
|
383 |
+
$result = self::ExecuteRequest( $pCurlHandler, $opts );
|
384 |
+
|
385 |
+
/*if (curl_errno($ch) == 60) // CURLE_SSL_CACERT
|
386 |
+
{
|
387 |
+
self::errorLog('Invalid or no certificate authority found, using bundled information');
|
388 |
+
curl_setopt($ch, CURLOPT_CAINFO,
|
389 |
+
dirname(__FILE__) . '/fb_ca_chain_bundle.crt');
|
390 |
+
$result = curl_exec($ch);
|
391 |
+
}*/
|
392 |
+
|
393 |
+
// With dual stacked DNS responses, it's possible for a server to
|
394 |
+
// have IPv6 enabled but not have IPv6 connectivity. If this is
|
395 |
+
// the case, curl will try IPv4 first and if that fails, then it will
|
396 |
+
// fall back to IPv6 and the error EHOSTUNREACH is returned by the
|
397 |
+
// operating system.
|
398 |
+
if ( false === $result && empty( $opts[ CURLOPT_IPRESOLVE ] ) ) {
|
399 |
+
$matches = array();
|
400 |
+
$regex = '/Failed to connect to ([^:].*): Network is unreachable/';
|
401 |
+
if ( preg_match( $regex, curl_error( $pCurlHandler ), $matches ) ) {
|
402 |
+
if ( strlen( @inet_pton( $matches[1] ) ) === 16 ) {
|
403 |
+
// self::errorLog('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
|
404 |
+
$opts[ CURLOPT_IPRESOLVE ] = CURL_IPRESOLVE_V4;
|
405 |
+
curl_setopt( $pCurlHandler, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
|
406 |
+
$result = self::ExecuteRequest( $pCurlHandler, $opts );
|
407 |
+
}
|
408 |
+
}
|
409 |
+
}
|
410 |
+
|
411 |
+
if ( $result === false ) {
|
412 |
+
self::ThrowCurlException( $pCurlHandler );
|
413 |
+
}
|
414 |
+
|
415 |
+
curl_close( $pCurlHandler );
|
416 |
+
|
417 |
+
if ( empty( $result ) ) {
|
418 |
+
return null;
|
419 |
+
}
|
420 |
+
|
421 |
+
$decoded = json_decode( $result );
|
422 |
+
|
423 |
+
if ( is_null( $decoded ) ) {
|
424 |
+
if ( preg_match( '/Please turn JavaScript on/i', $result ) &&
|
425 |
+
preg_match( '/text\/javascript/', $result )
|
426 |
+
) {
|
427 |
+
self::ThrowCloudFlareDDoSException( $result );
|
428 |
+
} else if ( preg_match( '/Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect./', $result ) &&
|
429 |
+
preg_match( '/squid/', $result )
|
430 |
+
) {
|
431 |
+
self::ThrowSquidAclException( $result );
|
432 |
+
} else {
|
433 |
+
$decoded = (object) array(
|
434 |
+
'error' => (object) array(
|
435 |
+
'type' => 'Unknown',
|
436 |
+
'message' => $result,
|
437 |
+
'code' => 'unknown',
|
438 |
+
'http' => 402
|
439 |
+
)
|
440 |
+
);
|
441 |
+
}
|
442 |
+
}
|
443 |
+
|
444 |
+
return $decoded;
|
445 |
+
}
|
446 |
+
|
447 |
+
|
448 |
+
/**
|
449 |
+
* Makes an HTTP request. This method can be overridden by subclasses if
|
450 |
+
* developers want to do fancier things or use something other than curl to
|
451 |
+
* make the request.
|
452 |
+
*
|
453 |
+
* @param string $pCanonizedPath The URL to make the request to
|
454 |
+
* @param string $pMethod HTTP method
|
455 |
+
* @param array $pParams The parameters to use for the POST body
|
456 |
+
* @param null|resource $pCurlHandler Initialized curl handle
|
457 |
+
*
|
458 |
+
* @return object[]|object|null
|
459 |
+
*
|
460 |
+
* @throws Freemius_Exception
|
461 |
+
*/
|
462 |
+
public function MakeRequest(
|
463 |
+
$pCanonizedPath,
|
464 |
+
$pMethod = 'GET',
|
465 |
+
$pParams = array(),
|
466 |
+
$pCurlHandler = null
|
467 |
+
) {
|
468 |
+
$resource = explode( '?', $pCanonizedPath );
|
469 |
+
|
470 |
+
// Only sign request if not ping.json connectivity test.
|
471 |
+
$sign_request = ( '/v1/ping.json' !== strtolower( substr( $resource[0], - strlen( '/v1/ping.json' ) ) ) );
|
472 |
+
|
473 |
+
return self::MakeStaticRequest(
|
474 |
+
$pCanonizedPath,
|
475 |
+
$pMethod,
|
476 |
+
$pParams,
|
477 |
+
$pCurlHandler,
|
478 |
+
$this->_isSandbox,
|
479 |
+
$sign_request ? array( &$this, 'SignRequest' ) : null
|
480 |
+
);
|
481 |
+
}
|
482 |
+
|
483 |
+
#----------------------------------------------------------------------------------
|
484 |
+
#region Connectivity Test
|
485 |
+
#----------------------------------------------------------------------------------
|
486 |
+
/**
|
487 |
+
* If successful connectivity to the API endpoint using ping.json endpoint.
|
488 |
+
*
|
489 |
+
* - OR -
|
490 |
+
*
|
491 |
+
* Validate if ping result object is valid.
|
492 |
+
*
|
493 |
+
* @param mixed $pPong
|
494 |
+
*
|
495 |
+
* @return bool
|
496 |
+
*/
|
497 |
+
public static function Test( $pPong = null ) {
|
498 |
+
$pong = is_null( $pPong ) ?
|
499 |
+
self::Ping() :
|
500 |
+
$pPong;
|
501 |
+
|
502 |
+
return (
|
503 |
+
is_object( $pong ) &&
|
504 |
+
isset( $pong->api ) &&
|
505 |
+
'pong' === $pong->api
|
506 |
+
);
|
507 |
+
}
|
508 |
+
|
509 |
+
/**
|
510 |
+
* Ping API to test connectivity.
|
511 |
+
*
|
512 |
+
* @return object
|
513 |
+
*/
|
514 |
+
public static function Ping() {
|
515 |
+
try {
|
516 |
+
$result = self::MakeStaticRequest( '/v' . FS_API__VERSION . '/ping.json' );
|
517 |
+
} catch ( Freemius_Exception $e ) {
|
518 |
+
// Map to error object.
|
519 |
+
$result = (object) $e->getResult();
|
520 |
+
} catch ( Exception $e ) {
|
521 |
+
// Map to error object.
|
522 |
+
$result = (object) array(
|
523 |
+
'error' => array(
|
524 |
+
'type' => 'Unknown',
|
525 |
+
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
526 |
+
'code' => 'unknown',
|
527 |
+
'http' => 402
|
528 |
+
)
|
529 |
+
);
|
530 |
+
}
|
531 |
+
|
532 |
+
return $result;
|
533 |
+
}
|
534 |
+
|
535 |
+
#endregion
|
536 |
+
|
537 |
+
#----------------------------------------------------------------------------------
|
538 |
+
#region Connectivity Exceptions
|
539 |
+
#----------------------------------------------------------------------------------
|
540 |
+
|
541 |
+
/**
|
542 |
+
* @param resource $pCurlHandler
|
543 |
+
*
|
544 |
+
* @throws Freemius_Exception
|
545 |
+
*/
|
546 |
+
private static function ThrowCurlException( $pCurlHandler ) {
|
547 |
+
$e = new Freemius_Exception( array(
|
548 |
+
'error' => array(
|
549 |
+
'code' => curl_errno( $pCurlHandler ),
|
550 |
+
'message' => curl_error( $pCurlHandler ),
|
551 |
+
'type' => 'CurlException',
|
552 |
+
),
|
553 |
+
) );
|
554 |
+
|
555 |
+
curl_close( $pCurlHandler );
|
556 |
+
throw $e;
|
557 |
+
}
|
558 |
+
|
559 |
+
/**
|
560 |
+
* @param string $pResult
|
561 |
+
*
|
562 |
+
* @throws Freemius_Exception
|
563 |
+
*/
|
564 |
+
private static function ThrowNoCurlException( $pResult = '' ) {
|
565 |
+
$curl_required_methods = array(
|
566 |
+
'curl_version',
|
567 |
+
'curl_exec',
|
568 |
+
'curl_init',
|
569 |
+
'curl_close',
|
570 |
+
'curl_setopt',
|
571 |
+
'curl_setopt_array',
|
572 |
+
'curl_error',
|
573 |
+
);
|
574 |
+
|
575 |
+
// Find all missing methods.
|
576 |
+
$missing_methods = array();
|
577 |
+
foreach ( $curl_required_methods as $m ) {
|
578 |
+
if ( ! function_exists( $m ) ) {
|
579 |
+
$missing_methods[] = $m;
|
580 |
+
}
|
581 |
+
}
|
582 |
+
|
583 |
+
throw new Freemius_Exception( array(
|
584 |
+
'error' => (object) array(
|
585 |
+
'type' => 'cUrlMissing',
|
586 |
+
'message' => $pResult,
|
587 |
+
'code' => 'curl_missing',
|
588 |
+
'http' => 402
|
589 |
+
),
|
590 |
+
'missing_methods' => $missing_methods,
|
591 |
+
) );
|
592 |
+
}
|
593 |
+
|
594 |
+
/**
|
595 |
+
* @param string $pResult
|
596 |
+
*
|
597 |
+
* @throws Freemius_Exception
|
598 |
+
*/
|
599 |
+
private static function ThrowCloudFlareDDoSException( $pResult = '' ) {
|
600 |
+
throw new Freemius_Exception( array(
|
601 |
+
'error' => (object) array(
|
602 |
+
'type' => 'CloudFlareDDoSProtection',
|
603 |
+
'message' => $pResult,
|
604 |
+
'code' => 'cloudflare_ddos_protection',
|
605 |
+
'http' => 402
|
606 |
+
)
|
607 |
+
) );
|
608 |
+
}
|
609 |
+
|
610 |
+
/**
|
611 |
+
* @param string $pResult
|
612 |
+
*
|
613 |
+
* @throws Freemius_Exception
|
614 |
+
*/
|
615 |
+
private static function ThrowSquidAclException( $pResult = '' ) {
|
616 |
+
throw new Freemius_Exception( array(
|
617 |
+
'error' => (object) array(
|
618 |
+
'type' => 'SquidCacheBlock',
|
619 |
+
'message' => $pResult,
|
620 |
+
'code' => 'squid_cache_block',
|
621 |
+
'http' => 402
|
622 |
+
)
|
623 |
+
) );
|
624 |
+
}
|
625 |
+
|
626 |
+
#endregion
|
627 |
}
|
freemius/includes/sdk/FreemiusBase.php
CHANGED
@@ -1,188 +1,188 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Copyright 2014 Freemius, Inc.
|
4 |
-
*
|
5 |
-
* Licensed under the GPL v2 (the "License"); you may
|
6 |
-
* not use this file except in compliance with the License. You may obtain
|
7 |
-
* a copy of the License at
|
8 |
-
*
|
9 |
-
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
-
*
|
11 |
-
* Unless required by applicable law or agreed to in writing, software
|
12 |
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
-
* License for the specific language governing permissions and limitations
|
15 |
-
* under the License.
|
16 |
-
*/
|
17 |
-
|
18 |
-
if ( ! defined( 'FS_API__VERSION' ) ) {
|
19 |
-
define( 'FS_API__VERSION', '1' );
|
20 |
-
}
|
21 |
-
if ( ! defined( 'FS_SDK__PATH' ) ) {
|
22 |
-
define( 'FS_SDK__PATH', dirname( __FILE__ ) );
|
23 |
-
}
|
24 |
-
if ( ! defined( 'FS_SDK__EXCEPTIONS_PATH' ) ) {
|
25 |
-
define( 'FS_SDK__EXCEPTIONS_PATH', FS_SDK__PATH . '/Exceptions/' );
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ! function_exists( 'json_decode' ) ) {
|
29 |
-
throw new Exception( 'Freemius needs the JSON PHP extension.' );
|
30 |
-
}
|
31 |
-
|
32 |
-
// Include all exception files.
|
33 |
-
$exceptions = array(
|
34 |
-
'Exception',
|
35 |
-
'InvalidArgumentException',
|
36 |
-
'ArgumentNotExistException',
|
37 |
-
'EmptyArgumentException',
|
38 |
-
'OAuthException'
|
39 |
-
);
|
40 |
-
|
41 |
-
foreach ( $exceptions as $e ) {
|
42 |
-
require_once FS_SDK__EXCEPTIONS_PATH . $e . '.php';
|
43 |
-
}
|
44 |
-
|
45 |
-
if ( class_exists( 'Freemius_Api_Base' ) ) {
|
46 |
-
return;
|
47 |
-
}
|
48 |
-
|
49 |
-
abstract class Freemius_Api_Base {
|
50 |
-
const VERSION = '1.0.4';
|
51 |
-
const FORMAT = 'json';
|
52 |
-
|
53 |
-
protected $_id;
|
54 |
-
protected $_public;
|
55 |
-
protected $_secret;
|
56 |
-
protected $_scope;
|
57 |
-
protected $_isSandbox;
|
58 |
-
|
59 |
-
/**
|
60 |
-
* @param string $pScope 'app', 'developer', 'plugin', 'user' or 'install'.
|
61 |
-
* @param number $pID Element's id.
|
62 |
-
* @param string $pPublic Public key.
|
63 |
-
* @param string $pSecret Element's secret key.
|
64 |
-
* @param bool $pIsSandbox Whether or not to run API in sandbox mode.
|
65 |
-
*/
|
66 |
-
public function Init( $pScope, $pID, $pPublic, $pSecret, $pIsSandbox = false ) {
|
67 |
-
$this->_id = $pID;
|
68 |
-
$this->_public = $pPublic;
|
69 |
-
$this->_secret = $pSecret;
|
70 |
-
$this->_scope = $pScope;
|
71 |
-
$this->_isSandbox = $pIsSandbox;
|
72 |
-
}
|
73 |
-
|
74 |
-
public function IsSandbox() {
|
75 |
-
return $this->_isSandbox;
|
76 |
-
}
|
77 |
-
|
78 |
-
function CanonizePath( $pPath ) {
|
79 |
-
$pPath = trim( $pPath, '/' );
|
80 |
-
$query_pos = strpos( $pPath, '?' );
|
81 |
-
$query = '';
|
82 |
-
|
83 |
-
if ( false !== $query_pos ) {
|
84 |
-
$query = substr( $pPath, $query_pos );
|
85 |
-
$pPath = substr( $pPath, 0, $query_pos );
|
86 |
-
}
|
87 |
-
|
88 |
-
// Trim '.json' suffix.
|
89 |
-
$format_length = strlen( '.' . self::FORMAT );
|
90 |
-
$start = $format_length * ( - 1 ); //negative
|
91 |
-
if ( substr( strtolower( $pPath ), $start ) === ( '.' . self::FORMAT ) ) {
|
92 |
-
$pPath = substr( $pPath, 0, strlen( $pPath ) - $format_length );
|
93 |
-
}
|
94 |
-
|
95 |
-
switch ( $this->_scope ) {
|
96 |
-
case 'app':
|
97 |
-
$base = '/apps/' . $this->_id;
|
98 |
-
break;
|
99 |
-
case 'developer':
|
100 |
-
$base = '/developers/' . $this->_id;
|
101 |
-
break;
|
102 |
-
case 'user':
|
103 |
-
$base = '/users/' . $this->_id;
|
104 |
-
break;
|
105 |
-
case 'plugin':
|
106 |
-
$base = '/plugins/' . $this->_id;
|
107 |
-
break;
|
108 |
-
case 'install':
|
109 |
-
$base = '/installs/' . $this->_id;
|
110 |
-
break;
|
111 |
-
default:
|
112 |
-
throw new Freemius_Exception( 'Scope not implemented.' );
|
113 |
-
}
|
114 |
-
|
115 |
-
return '/v' . FS_API__VERSION . $base .
|
116 |
-
( ! empty( $pPath ) ? '/' : '' ) . $pPath .
|
117 |
-
( ( false === strpos( $pPath, '.' ) ) ? '.' . self::FORMAT : '' ) . $query;
|
118 |
-
}
|
119 |
-
|
120 |
-
abstract function MakeRequest( $pCanonizedPath, $pMethod = 'GET', $pParams = array() );
|
121 |
-
|
122 |
-
/**
|
123 |
-
* @param string $pPath
|
124 |
-
* @param string $pMethod
|
125 |
-
* @param array $pParams
|
126 |
-
*
|
127 |
-
* @return object[]|object|null
|
128 |
-
*/
|
129 |
-
private function _Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
130 |
-
$pMethod = strtoupper( $pMethod );
|
131 |
-
|
132 |
-
try {
|
133 |
-
$result = $this->MakeRequest( $pPath, $pMethod, $pParams );
|
134 |
-
} catch ( Freemius_Exception $e ) {
|
135 |
-
// Map to error object.
|
136 |
-
$result = (object) $e->getResult();
|
137 |
-
} catch ( Exception $e ) {
|
138 |
-
// Map to error object.
|
139 |
-
$result = (object) array(
|
140 |
-
'error' => array(
|
141 |
-
'type' => 'Unknown',
|
142 |
-
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
143 |
-
'code' => 'unknown',
|
144 |
-
'http' => 402
|
145 |
-
)
|
146 |
-
);
|
147 |
-
}
|
148 |
-
|
149 |
-
return $result;
|
150 |
-
}
|
151 |
-
|
152 |
-
public function Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
153 |
-
return $this->_Api( $this->CanonizePath( $pPath ), $pMethod, $pParams );
|
154 |
-
}
|
155 |
-
|
156 |
-
/**
|
157 |
-
* Base64 encoding that does not need to be urlencode()ed.
|
158 |
-
* Exactly the same as base64_encode except it uses
|
159 |
-
* - instead of +
|
160 |
-
* _ instead of /
|
161 |
-
* No padded =
|
162 |
-
*
|
163 |
-
* @param string $input base64UrlEncoded string
|
164 |
-
*
|
165 |
-
* @return string
|
166 |
-
*/
|
167 |
-
protected static function Base64UrlDecode( $input ) {
|
168 |
-
return base64_decode( strtr( $input, '-_', '+/' ) );
|
169 |
-
}
|
170 |
-
|
171 |
-
/**
|
172 |
-
* Base64 encoding that does not need to be urlencode()ed.
|
173 |
-
* Exactly the same as base64_encode except it uses
|
174 |
-
* - instead of +
|
175 |
-
* _ instead of /
|
176 |
-
*
|
177 |
-
* @param string $input string
|
178 |
-
*
|
179 |
-
* @return string base64Url encoded string
|
180 |
-
*/
|
181 |
-
protected static function Base64UrlEncode( $input ) {
|
182 |
-
$str = strtr( base64_encode( $input ), '+/', '-_' );
|
183 |
-
$str = str_replace( '=', '', $str );
|
184 |
-
|
185 |
-
return $str;
|
186 |
-
}
|
187 |
-
|
188 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Copyright 2014 Freemius, Inc.
|
4 |
+
*
|
5 |
+
* Licensed under the GPL v2 (the "License"); you may
|
6 |
+
* not use this file except in compliance with the License. You may obtain
|
7 |
+
* a copy of the License at
|
8 |
+
*
|
9 |
+
* http://choosealicense.com/licenses/gpl-v2/
|
10 |
+
*
|
11 |
+
* Unless required by applicable law or agreed to in writing, software
|
12 |
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
13 |
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
14 |
+
* License for the specific language governing permissions and limitations
|
15 |
+
* under the License.
|
16 |
+
*/
|
17 |
+
|
18 |
+
if ( ! defined( 'FS_API__VERSION' ) ) {
|
19 |
+
define( 'FS_API__VERSION', '1' );
|
20 |
+
}
|
21 |
+
if ( ! defined( 'FS_SDK__PATH' ) ) {
|
22 |
+
define( 'FS_SDK__PATH', dirname( __FILE__ ) );
|
23 |
+
}
|
24 |
+
if ( ! defined( 'FS_SDK__EXCEPTIONS_PATH' ) ) {
|
25 |
+
define( 'FS_SDK__EXCEPTIONS_PATH', FS_SDK__PATH . '/Exceptions/' );
|
26 |
+
}
|
27 |
+
|
28 |
+
if ( ! function_exists( 'json_decode' ) ) {
|
29 |
+
throw new Exception( 'Freemius needs the JSON PHP extension.' );
|
30 |
+
}
|
31 |
+
|
32 |
+
// Include all exception files.
|
33 |
+
$exceptions = array(
|
34 |
+
'Exception',
|
35 |
+
'InvalidArgumentException',
|
36 |
+
'ArgumentNotExistException',
|
37 |
+
'EmptyArgumentException',
|
38 |
+
'OAuthException'
|
39 |
+
);
|
40 |
+
|
41 |
+
foreach ( $exceptions as $e ) {
|
42 |
+
require_once FS_SDK__EXCEPTIONS_PATH . $e . '.php';
|
43 |
+
}
|
44 |
+
|
45 |
+
if ( class_exists( 'Freemius_Api_Base' ) ) {
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
|
49 |
+
abstract class Freemius_Api_Base {
|
50 |
+
const VERSION = '1.0.4';
|
51 |
+
const FORMAT = 'json';
|
52 |
+
|
53 |
+
protected $_id;
|
54 |
+
protected $_public;
|
55 |
+
protected $_secret;
|
56 |
+
protected $_scope;
|
57 |
+
protected $_isSandbox;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param string $pScope 'app', 'developer', 'plugin', 'user' or 'install'.
|
61 |
+
* @param number $pID Element's id.
|
62 |
+
* @param string $pPublic Public key.
|
63 |
+
* @param string $pSecret Element's secret key.
|
64 |
+
* @param bool $pIsSandbox Whether or not to run API in sandbox mode.
|
65 |
+
*/
|
66 |
+
public function Init( $pScope, $pID, $pPublic, $pSecret, $pIsSandbox = false ) {
|
67 |
+
$this->_id = $pID;
|
68 |
+
$this->_public = $pPublic;
|
69 |
+
$this->_secret = $pSecret;
|
70 |
+
$this->_scope = $pScope;
|
71 |
+
$this->_isSandbox = $pIsSandbox;
|
72 |
+
}
|
73 |
+
|
74 |
+
public function IsSandbox() {
|
75 |
+
return $this->_isSandbox;
|
76 |
+
}
|
77 |
+
|
78 |
+
function CanonizePath( $pPath ) {
|
79 |
+
$pPath = trim( $pPath, '/' );
|
80 |
+
$query_pos = strpos( $pPath, '?' );
|
81 |
+
$query = '';
|
82 |
+
|
83 |
+
if ( false !== $query_pos ) {
|
84 |
+
$query = substr( $pPath, $query_pos );
|
85 |
+
$pPath = substr( $pPath, 0, $query_pos );
|
86 |
+
}
|
87 |
+
|
88 |
+
// Trim '.json' suffix.
|
89 |
+
$format_length = strlen( '.' . self::FORMAT );
|
90 |
+
$start = $format_length * ( - 1 ); //negative
|
91 |
+
if ( substr( strtolower( $pPath ), $start ) === ( '.' . self::FORMAT ) ) {
|
92 |
+
$pPath = substr( $pPath, 0, strlen( $pPath ) - $format_length );
|
93 |
+
}
|
94 |
+
|
95 |
+
switch ( $this->_scope ) {
|
96 |
+
case 'app':
|
97 |
+
$base = '/apps/' . $this->_id;
|
98 |
+
break;
|
99 |
+
case 'developer':
|
100 |
+
$base = '/developers/' . $this->_id;
|
101 |
+
break;
|
102 |
+
case 'user':
|
103 |
+
$base = '/users/' . $this->_id;
|
104 |
+
break;
|
105 |
+
case 'plugin':
|
106 |
+
$base = '/plugins/' . $this->_id;
|
107 |
+
break;
|
108 |
+
case 'install':
|
109 |
+
$base = '/installs/' . $this->_id;
|
110 |
+
break;
|
111 |
+
default:
|
112 |
+
throw new Freemius_Exception( 'Scope not implemented.' );
|
113 |
+
}
|
114 |
+
|
115 |
+
return '/v' . FS_API__VERSION . $base .
|
116 |
+
( ! empty( $pPath ) ? '/' : '' ) . $pPath .
|
117 |
+
( ( false === strpos( $pPath, '.' ) ) ? '.' . self::FORMAT : '' ) . $query;
|
118 |
+
}
|
119 |
+
|
120 |
+
abstract function MakeRequest( $pCanonizedPath, $pMethod = 'GET', $pParams = array() );
|
121 |
+
|
122 |
+
/**
|
123 |
+
* @param string $pPath
|
124 |
+
* @param string $pMethod
|
125 |
+
* @param array $pParams
|
126 |
+
*
|
127 |
+
* @return object[]|object|null
|
128 |
+
*/
|
129 |
+
private function _Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
130 |
+
$pMethod = strtoupper( $pMethod );
|
131 |
+
|
132 |
+
try {
|
133 |
+
$result = $this->MakeRequest( $pPath, $pMethod, $pParams );
|
134 |
+
} catch ( Freemius_Exception $e ) {
|
135 |
+
// Map to error object.
|
136 |
+
$result = (object) $e->getResult();
|
137 |
+
} catch ( Exception $e ) {
|
138 |
+
// Map to error object.
|
139 |
+
$result = (object) array(
|
140 |
+
'error' => array(
|
141 |
+
'type' => 'Unknown',
|
142 |
+
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
143 |
+
'code' => 'unknown',
|
144 |
+
'http' => 402
|
145 |
+
)
|
146 |
+
);
|
147 |
+
}
|
148 |
+
|
149 |
+
return $result;
|
150 |
+
}
|
151 |
+
|
152 |
+
public function Api( $pPath, $pMethod = 'GET', $pParams = array() ) {
|
153 |
+
return $this->_Api( $this->CanonizePath( $pPath ), $pMethod, $pParams );
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Base64 encoding that does not need to be urlencode()ed.
|
158 |
+
* Exactly the same as base64_encode except it uses
|
159 |
+
* - instead of +
|
160 |
+
* _ instead of /
|
161 |
+
* No padded =
|
162 |
+
*
|
163 |
+
* @param string $input base64UrlEncoded string
|
164 |
+
*
|
165 |
+
* @return string
|
166 |
+
*/
|
167 |
+
protected static function Base64UrlDecode( $input ) {
|
168 |
+
return base64_decode( strtr( $input, '-_', '+/' ) );
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Base64 encoding that does not need to be urlencode()ed.
|
173 |
+
* Exactly the same as base64_encode except it uses
|
174 |
+
* - instead of +
|
175 |
+
* _ instead of /
|
176 |
+
*
|
177 |
+
* @param string $input string
|
178 |
+
*
|
179 |
+
* @return string base64Url encoded string
|
180 |
+
*/
|
181 |
+
protected static function Base64UrlEncode( $input ) {
|
182 |
+
$str = strtr( base64_encode( $input ), '+/', '-_' );
|
183 |
+
$str = str_replace( '=', '', $str );
|
184 |
+
|
185 |
+
return $str;
|
186 |
+
}
|
187 |
+
|
188 |
+
}
|
freemius/languages/freemius-da_DK.mo
CHANGED
Binary file
|
freemius/languages/freemius-da_DK.po
CHANGED
@@ -1,1661 +1,1790 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
-
# Joachim Jensen <jv@intox.dk>, 2016
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
-
"
|
|
|
10 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
11 |
"Language-Team: Danish (Denmark) (http://www.transifex.com/freemius/wordpress-sdk/language/da_DK/)\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"Language: da_DK\n"
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
17 |
"X-Poedit-Basepath: ..\n"
|
18 |
-
"X-Poedit-KeywordsList:
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
21 |
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
|
23 |
-
#: includes/i18n.
|
24 |
-
msgid "Yes - I'm in!"
|
25 |
-
msgstr "Ja - jeg er med!"
|
26 |
-
|
27 |
-
#: includes/i18n.php43, includes/i18n.php:57
|
28 |
-
msgid "Not today"
|
29 |
-
msgstr "Ikke i dag"
|
30 |
-
|
31 |
-
#: includes/i18n.php:69
|
32 |
msgid "Account"
|
33 |
msgstr "Konto"
|
34 |
|
35 |
-
#: includes/i18n.php:
|
36 |
msgid "Add On"
|
37 |
msgstr "Tilføjelse"
|
38 |
|
39 |
-
#: includes/i18n.php:
|
40 |
msgid "Contact Us"
|
41 |
msgstr "Kontakt os"
|
42 |
|
43 |
-
#: includes/i18n.php:
|
44 |
msgid "Contact Support"
|
45 |
msgstr "Kontakt support"
|
46 |
|
47 |
-
#: includes/i18n.php:
|
48 |
msgid "Change Ownership"
|
49 |
msgstr "Skift ejerskab"
|
50 |
|
51 |
-
#: includes/i18n.php:
|
52 |
msgid "Support"
|
53 |
msgstr "Support"
|
54 |
|
55 |
-
#: includes/i18n.php:
|
56 |
msgid "Support Forum"
|
57 |
msgstr "Supportforum"
|
58 |
|
59 |
-
#: includes/i18n.php:
|
60 |
msgid "Add Ons"
|
61 |
msgstr "Tilføjelser"
|
62 |
|
63 |
-
#: includes/i18n.php:
|
64 |
msgctxt "verb"
|
65 |
msgid "Upgrade"
|
66 |
msgstr "Opgrader"
|
67 |
|
68 |
-
#: includes/i18n.php:
|
69 |
msgid "Awesome"
|
70 |
msgstr "Sejt"
|
71 |
|
72 |
-
#: includes/i18n.php:
|
73 |
msgctxt "noun"
|
74 |
msgid "Pricing"
|
75 |
msgstr "Priser"
|
76 |
|
77 |
-
#: includes/i18n.php:
|
78 |
msgctxt "noun"
|
79 |
msgid "Price"
|
80 |
msgstr "Pris"
|
81 |
|
82 |
-
#: includes/i18n.php:
|
83 |
msgid "Unlimited Updates"
|
84 |
msgstr "Ubegrænsede opdateringer"
|
85 |
|
86 |
-
#: includes/i18n.php:
|
87 |
msgctxt "verb"
|
88 |
msgid "Downgrade"
|
89 |
msgstr "Nedgrader"
|
90 |
|
91 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
92 |
msgid "Cancel Trial"
|
93 |
msgstr "Annuller prøveperiode"
|
94 |
|
95 |
-
#: includes/i18n.php:
|
96 |
msgid "Free Trial"
|
97 |
msgstr "Gratis prøveperiode"
|
98 |
|
99 |
-
#: includes/i18n.php:
|
100 |
msgid "Start my free %s"
|
101 |
msgstr "Start min gratis %s"
|
102 |
|
103 |
-
#: includes/i18n.php:
|
104 |
msgid "No commitment for %s - cancel anytime"
|
105 |
msgstr "Ingen bindinger ved %s - annuller når som helst"
|
106 |
|
107 |
-
#: includes/i18n.php:
|
108 |
msgid "After your free %s, pay as little as %s"
|
109 |
msgstr "Efter din gratis %s er prisen kun %s"
|
110 |
|
111 |
-
#: includes/i18n.php:
|
112 |
msgid "Details"
|
113 |
msgstr "Detaljer"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgid "Account Details"
|
117 |
msgstr "Kontodetaljer"
|
118 |
|
119 |
-
#: includes/i18n.php:
|
120 |
msgctxt "verb"
|
121 |
msgid "Delete"
|
122 |
msgstr "Slet"
|
123 |
|
124 |
-
#: includes/i18n.php:
|
125 |
msgctxt "verb"
|
126 |
msgid "Show"
|
127 |
msgstr "Vis"
|
128 |
|
129 |
-
#: includes/i18n.php:
|
130 |
msgctxt "verb"
|
131 |
msgid "Hide"
|
132 |
msgstr "Skjul"
|
133 |
|
134 |
-
#: includes/i18n.php:
|
135 |
msgctxt "verb"
|
136 |
msgid "Edit"
|
137 |
msgstr "Rediger"
|
138 |
|
139 |
-
#: includes/i18n.php:
|
140 |
msgctxt "verb"
|
141 |
msgid "Update"
|
142 |
-
msgstr ""
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Date"
|
146 |
msgstr "Dato"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Amount"
|
150 |
msgstr "Beløb"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Invoice"
|
154 |
msgstr "Faktura"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgid "Billing"
|
158 |
msgstr "Betaling"
|
159 |
|
160 |
-
#: includes/i18n.php:
|
161 |
msgid "Payments"
|
162 |
msgstr "Betalinger"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgid "Delete Account"
|
166 |
msgstr "Slet konto"
|
167 |
|
168 |
-
#: includes/i18n.php:
|
169 |
msgctxt "as close a window"
|
170 |
msgid "Dismiss"
|
171 |
msgstr "Fjern"
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as product pricing plan"
|
175 |
msgid "Plan"
|
176 |
msgstr "Plan"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgid "Change Plan"
|
180 |
msgstr "Skift plan"
|
181 |
|
182 |
-
#: includes/i18n.php:
|
183 |
msgctxt "as download professional version"
|
184 |
msgid "Download %s Version"
|
185 |
-
msgstr ""
|
186 |
|
187 |
-
#: includes/i18n.php:
|
188 |
msgctxt "as download professional version now"
|
189 |
msgid "Download %s version now"
|
190 |
-
msgstr ""
|
191 |
|
192 |
-
#: includes/i18n.php:
|
193 |
msgctxt "as download latest version"
|
194 |
msgid "Download Latest"
|
195 |
msgstr "Download seneste"
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgctxt "E.g. you have a professional license."
|
199 |
msgid "You have a %s license."
|
200 |
msgstr "Du har en %s licens."
|
201 |
|
202 |
-
#: includes/i18n.php:
|
203 |
msgid "New"
|
204 |
msgstr "Ny"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgid "Free"
|
208 |
msgstr "Gratis"
|
209 |
|
210 |
-
#: includes/i18n.php:
|
211 |
msgctxt "as trial plan"
|
212 |
msgid "Trial"
|
213 |
msgstr "Prøveperiode"
|
214 |
|
215 |
-
#: includes/i18n.php:
|
216 |
msgctxt "as starting a trial plan"
|
217 |
msgid "Start Trial"
|
218 |
-
msgstr ""
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgctxt "verb"
|
222 |
msgid "Purchase"
|
223 |
msgstr "Køb"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Purchase License"
|
227 |
msgstr "Køb licens"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgctxt "verb"
|
231 |
msgid "Buy"
|
232 |
msgstr "Køb"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Buy License"
|
236 |
msgstr "Køb licens"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "Single Site License"
|
240 |
-
msgstr ""
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Unlimited Licenses"
|
244 |
msgstr "Ubegrænsede licenser"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "Up to %s Sites"
|
248 |
msgstr "Op til %s websteder"
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
msgid "%sRenew your license now%s to access version %s features and support."
|
252 |
-
msgstr ""
|
253 |
|
254 |
-
#: includes/i18n.php:
|
255 |
-
msgid ""
|
256 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
257 |
-
" you the license key."
|
258 |
-
msgstr ""
|
259 |
|
260 |
-
#: includes/i18n.php:
|
261 |
msgctxt "e.g. Professional Plan"
|
262 |
msgid "%s Plan"
|
263 |
msgstr "%s Plan"
|
264 |
|
265 |
-
#: includes/i18n.php:
|
266 |
msgid "You are just one step away - %s"
|
267 |
msgstr "Du mangler kun ét skridt - %s"
|
268 |
|
269 |
-
#: includes/i18n.php:
|
270 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
271 |
msgid "Complete \"%s\" Activation Now"
|
272 |
msgstr "Færdiggør aktivering af \"%s\" nu"
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid "We made a few tweaks to the plugin, %s"
|
276 |
-
msgstr ""
|
277 |
|
278 |
-
#: includes/i18n.php:
|
279 |
msgid "Opt-in to make \"%s\" Better!"
|
280 |
-
msgstr ""
|
281 |
|
282 |
-
#: includes/i18n.php:
|
283 |
msgid "Error"
|
284 |
msgstr "Fejl"
|
285 |
|
286 |
-
#: includes/i18n.php:
|
287 |
-
msgid ""
|
288 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
289 |
-
"sdk@freemius.com with the current error."
|
290 |
-
msgstr ""
|
291 |
|
292 |
-
#: includes/i18n.php:
|
293 |
msgctxt "as expiration date"
|
294 |
msgid "Expiration"
|
295 |
-
msgstr ""
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "as software license"
|
299 |
msgid "License"
|
300 |
msgstr "Licens"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "not verified"
|
304 |
msgstr "ikke verificeret"
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgid "Verify Email"
|
308 |
msgstr "Verificer e-mail"
|
309 |
|
310 |
-
#: includes/i18n.php:
|
311 |
msgctxt "e.g. expires in 2 months"
|
312 |
msgid "Expires in %s"
|
313 |
msgstr "Udløber om %s"
|
314 |
|
315 |
-
#: includes/i18n.php:
|
316 |
msgctxt "e.g. auto renews in 2 months"
|
317 |
msgid "Auto renews in %s"
|
318 |
-
msgstr ""
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgid "No expiration"
|
322 |
msgstr "Udløber ikke"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgid "Expired"
|
326 |
msgstr "Udløbet"
|
327 |
|
328 |
-
#: includes/i18n.php:
|
329 |
msgid "Cancelled"
|
330 |
msgstr "Annulleret"
|
331 |
|
332 |
-
#: includes/i18n.php:
|
333 |
msgctxt "e.g. In 2 hours"
|
334 |
msgid "In %s"
|
335 |
msgstr "Om %s"
|
336 |
|
337 |
-
#: includes/i18n.php:
|
338 |
msgctxt "e.g. 2 min ago"
|
339 |
msgid "%s ago"
|
340 |
msgstr "%s siden"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
343 |
msgctxt "as plugin version"
|
344 |
msgid "Version"
|
345 |
msgstr "Version"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Name"
|
349 |
msgstr "Navn"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Email"
|
353 |
msgstr "E-mail"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Email address"
|
357 |
msgstr "E-mailadresse"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Verified"
|
361 |
msgstr "Verificeret"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
msgid "Plugin"
|
365 |
msgstr "Plugin"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Plugins"
|
369 |
msgstr "Plugins"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
372 |
msgid "Themes"
|
373 |
msgstr "Temaer"
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgctxt "as file/folder path"
|
377 |
msgid "Path"
|
378 |
msgstr "Sti"
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Title"
|
382 |
msgstr "Titel"
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Free version"
|
386 |
msgstr "Gratis version"
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgid "Premium version"
|
390 |
-
msgstr ""
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgctxt "as WP plugin slug"
|
394 |
msgid "Slug"
|
395 |
msgstr "Kortnavn"
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "ID"
|
399 |
msgstr "ID"
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Users"
|
403 |
msgstr "Brugere"
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Plugin Installs"
|
407 |
msgstr "Plugin-installationer"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
410 |
msgctxt "like websites"
|
411 |
msgid "Sites"
|
412 |
msgstr "Websteder"
|
413 |
|
414 |
-
#: includes/i18n.php:
|
415 |
msgid "User ID"
|
416 |
msgstr "Bruger-ID"
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgid "Site ID"
|
420 |
msgstr "Websteds-ID"
|
421 |
|
422 |
-
#: includes/i18n.php:
|
423 |
msgid "Public Key"
|
424 |
msgstr "Offentlig nøgle"
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgid "Secret Key"
|
428 |
msgstr "Privat nøgle"
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgctxt "as secret encryption key missing"
|
432 |
msgid "No Secret"
|
433 |
msgstr "Ingen privat nøgle"
|
434 |
|
435 |
-
#: includes/i18n.php:
|
436 |
msgid "No ID"
|
437 |
msgstr "Intet ID"
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgctxt "as synchronize license"
|
441 |
msgid "Sync License"
|
442 |
msgstr "Synkroniser licens"
|
443 |
|
444 |
-
#: includes/i18n.php:
|
445 |
msgctxt "as synchronize"
|
446 |
msgid "Sync"
|
447 |
msgstr "Synkroniser"
|
448 |
|
449 |
-
#: includes/i18n.php:
|
450 |
msgid "Activate License"
|
451 |
msgstr "Aktiver licens"
|
452 |
|
453 |
-
#: includes/i18n.php:
|
454 |
msgid "Activate Free Version"
|
455 |
msgstr "Aktiver gratis version"
|
456 |
|
457 |
-
#: includes/i18n.php:
|
458 |
-
msgid ""
|
459 |
-
"Please enter the license key that you received in the email right after the "
|
460 |
-
"purchase:"
|
461 |
-
msgstr ""
|
462 |
|
463 |
-
#: includes/i18n.php:
|
464 |
msgid "Activating license..."
|
465 |
msgstr "Aktiverer licens..."
|
466 |
|
467 |
-
#: includes/i18n.php:
|
468 |
msgid "Change License"
|
469 |
msgstr "Skift licens"
|
470 |
|
471 |
-
#: includes/i18n.php:
|
472 |
msgid "Update License"
|
473 |
msgstr "Opdater licens"
|
474 |
|
475 |
-
#: includes/i18n.php:
|
476 |
msgid "Deactivate License"
|
477 |
msgstr "Deaktiver licens"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "Activate"
|
481 |
msgstr "Aktiver"
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Deactivate"
|
485 |
msgstr "Deaktiver"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgid "Skip & Deactivate"
|
489 |
msgstr "Spring over & deaktiver"
|
490 |
|
491 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
492 |
msgid "No - just deactivate"
|
493 |
msgstr "Nej - bare deaktiver"
|
494 |
|
495 |
-
#: includes/i18n.php:
|
496 |
msgid "Yes - do your thing"
|
497 |
-
msgstr ""
|
498 |
|
499 |
-
#: includes/i18n.php:
|
500 |
msgctxt "active mode"
|
501 |
msgid "Active"
|
502 |
msgstr "Aktiv"
|
503 |
|
504 |
-
#: includes/i18n.php:
|
505 |
msgctxt "is active mode?"
|
506 |
msgid "Is Active"
|
507 |
msgstr "Er aktiv"
|
508 |
|
509 |
-
#: includes/i18n.php:
|
510 |
msgid "Install Now"
|
511 |
msgstr "Installer nu"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgid "Install Update Now"
|
515 |
msgstr "Installer opdatering nu"
|
516 |
|
517 |
-
#: includes/i18n.php:
|
518 |
msgid "More information about %s"
|
519 |
msgstr "Mere information om %s"
|
520 |
|
521 |
-
#: includes/i18n.php:
|
522 |
msgid "Localhost"
|
523 |
msgstr "Localhost"
|
524 |
|
525 |
-
#: includes/i18n.php:
|
526 |
msgctxt "as activate Professional plan"
|
527 |
msgid "Activate %s Plan"
|
528 |
msgstr "Aktiver plan %s"
|
529 |
|
530 |
-
#: includes/i18n.php:
|
531 |
msgctxt "as 5 licenses left"
|
532 |
msgid "%s left"
|
533 |
msgstr "%s tilbage"
|
534 |
|
535 |
-
#: includes/i18n.php:
|
536 |
msgid "Last license"
|
537 |
-
msgstr ""
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgid "What is your %s?"
|
541 |
-
msgstr ""
|
542 |
|
543 |
-
#: includes/i18n.php:
|
544 |
msgid "Activate this add-on"
|
545 |
msgstr "Aktiver denne tilføjelse"
|
546 |
|
547 |
-
#: includes/i18n.php:
|
548 |
-
msgid ""
|
549 |
-
"Deactivating your license will block all premium features, but will enable "
|
550 |
-
"you to activate the license on another site. Are you sure you want to "
|
551 |
-
"proceed?"
|
552 |
-
msgstr ""
|
553 |
|
554 |
-
#: includes/i18n.php:
|
555 |
-
msgid ""
|
556 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
557 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
558 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
559 |
-
"account. Are you sure you would like to continue with the deletion?"
|
560 |
-
msgstr ""
|
561 |
|
562 |
-
#: includes/i18n.php:
|
563 |
-
msgid ""
|
564 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
565 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
-
msgstr ""
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
-
msgid ""
|
570 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
571 |
-
"and your %s plan license will expire in %s."
|
572 |
-
msgstr ""
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
-
msgid ""
|
576 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
577 |
-
"Are you sure?"
|
578 |
-
msgstr ""
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
-
msgid ""
|
582 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
583 |
-
"updates and support."
|
584 |
-
msgstr ""
|
585 |
|
586 |
-
#: includes/i18n.php:
|
587 |
-
msgid ""
|
588 |
-
"Once your license
|
589 |
-
" have access to the %s features."
|
590 |
-
msgstr ""
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
-
msgstr ""
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "Add Ons for %s"
|
598 |
msgstr "Tilføjelser til %s"
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
-
msgid ""
|
602 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
603 |
-
"please try to come back in few minutes."
|
604 |
-
msgstr ""
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
msgid "Anonymous feedback"
|
608 |
msgstr "Anonym feedback"
|
609 |
|
610 |
-
#: includes/i18n.php:
|
611 |
msgid "Quick feedback"
|
612 |
msgstr "Hurtig feedback"
|
613 |
|
614 |
-
#: includes/i18n.php:
|
615 |
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
-
msgstr ""
|
617 |
|
618 |
-
#: includes/i18n.php:
|
619 |
msgid "Yes - Deactivate"
|
620 |
msgstr "Ja - deaktiver"
|
621 |
|
622 |
-
#: includes/i18n.php:
|
623 |
msgid "Submit & Deactivate"
|
624 |
msgstr "Send & deaktiver"
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "Cancel"
|
628 |
msgstr "Annuller"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "I no longer need the plugin"
|
632 |
-
msgstr ""
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "I found a better plugin"
|
636 |
msgstr "Jeg har fundet et bedre plugin"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "I only needed the plugin for a short period"
|
640 |
-
msgstr ""
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "The plugin broke my site"
|
644 |
msgstr "Pluginnet ødelagde mit websted"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "The plugin suddenly stopped working"
|
648 |
msgstr "Pluginnet virker ikke længere"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "I can't pay for it anymore"
|
652 |
msgstr "Jeg kan ikke længere betale for det"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
-
msgstr ""
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgctxt ""
|
660 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
661 |
-
"in the modal box."
|
662 |
msgid "Other"
|
663 |
msgstr "Andet"
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "Kindly tell us the reason so we can improve."
|
667 |
-
msgstr ""
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "What's the plugin's name?"
|
671 |
-
msgstr ""
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "What price would you feel comfortable paying?"
|
675 |
-
msgstr ""
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "I couldn't understand how to make it work"
|
679 |
-
msgstr ""
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
-
msgid ""
|
683 |
-
"
|
684 |
-
msgstr ""
|
685 |
|
686 |
-
#: includes/i18n.php:
|
687 |
msgid "The plugin is not working"
|
688 |
msgstr "Pluginnet virker ikke"
|
689 |
|
690 |
-
#: includes/i18n.php:
|
691 |
msgid "It's not what I was looking for"
|
692 |
-
msgstr ""
|
693 |
|
694 |
-
#: includes/i18n.php:
|
695 |
msgid "The plugin didn't work as expected"
|
696 |
-
msgstr ""
|
697 |
|
698 |
-
#: includes/i18n.php:
|
699 |
msgid "What feature?"
|
700 |
-
msgstr ""
|
701 |
|
702 |
-
#: includes/i18n.php:
|
703 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
704 |
-
msgstr ""
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "What you've been looking for?"
|
708 |
-
msgstr ""
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgid "What did you expect?"
|
712 |
msgstr "Hvad forventede du?"
|
713 |
|
714 |
-
#: includes/i18n.php:
|
715 |
msgid "The plugin didn't work"
|
716 |
msgstr "Pluginnet virkede ikke"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgid "I don't like to share my information with you"
|
720 |
-
msgstr ""
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
-
msgid ""
|
724 |
-
"You might have missed it, but you don't have to share any data and can just "
|
725 |
-
"%s the opt-in."
|
726 |
-
msgstr ""
|
727 |
|
728 |
-
#: includes/i18n.php:
|
729 |
msgctxt "greeting"
|
730 |
msgid "Hey %s,"
|
731 |
msgstr "Hey %s,"
|
732 |
|
733 |
-
#: includes/i18n.php:
|
734 |
msgctxt "a greeting. E.g. Thanks John!"
|
735 |
msgid "Thanks %s!"
|
736 |
msgstr "Tak %s!"
|
737 |
|
738 |
-
#: includes/i18n.php:
|
739 |
-
msgid ""
|
740 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
741 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
742 |
-
msgstr ""
|
743 |
|
744 |
-
#: includes/i18n.php:
|
745 |
-
msgid ""
|
746 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
747 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
748 |
-
"work just fine."
|
749 |
-
msgstr ""
|
750 |
|
751 |
-
#: includes/i18n.php:
|
752 |
-
msgid ""
|
753 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
754 |
-
"make sure you click the activation button in that email to %s."
|
755 |
-
msgstr ""
|
756 |
|
757 |
-
#: includes/i18n.php:
|
758 |
msgid "complete the install"
|
759 |
-
msgstr ""
|
760 |
|
761 |
-
#: includes/i18n.php:
|
762 |
msgid "start the trial"
|
763 |
-
msgstr ""
|
764 |
|
765 |
-
#: includes/i18n.php:
|
766 |
-
msgid ""
|
767 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
768 |
-
msgstr ""
|
769 |
|
770 |
-
#: includes/i18n.php:
|
771 |
-
msgid ""
|
772 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
773 |
-
"updates and verify the validity of your license."
|
774 |
-
msgstr ""
|
775 |
|
776 |
-
#: includes/i18n.php:
|
777 |
msgid "What permissions are being granted?"
|
778 |
msgstr "Hvilke tilladelser bliver givet?"
|
779 |
|
780 |
-
#: includes/i18n.php:
|
781 |
msgid "Your Profile Overview"
|
782 |
msgstr "Overblik af din profil"
|
783 |
|
784 |
-
#: includes/i18n.php:
|
785 |
msgid "Name and email address"
|
786 |
msgstr "Navn og e-mailadresse"
|
787 |
|
788 |
-
#: includes/i18n.php:
|
789 |
msgid "Your Site Overview"
|
790 |
msgstr "Overblik af dit websted"
|
791 |
|
792 |
-
#: includes/i18n.php:
|
793 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
794 |
-
msgstr ""
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "Current Plugin Events"
|
798 |
msgstr "Nuværende plugin-begivenheder"
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Activation, deactivation and uninstall"
|
802 |
msgstr "Aktivering, deaktivering og afinstallering"
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Plugins & Themes"
|
806 |
msgstr "Plugins & Temaer"
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Titles, versions and state."
|
810 |
msgstr "Titler, versioner og tilstand."
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Admin Notices"
|
814 |
-
msgstr ""
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Newsletter"
|
818 |
msgstr "Nyhedsbrev"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Updates, announcements, marketing, no spam"
|
822 |
-
msgstr ""
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgid "Privacy Policy"
|
826 |
msgstr "Privatlivspolitik"
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Terms of Service"
|
830 |
msgstr "Servicevilkår"
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgctxt "as activating plugin"
|
834 |
msgid "Activating"
|
835 |
msgstr "Aktiverer"
|
836 |
|
837 |
-
#: includes/i18n.php:
|
838 |
msgctxt "as in the process of sending an email"
|
839 |
msgid "Sending email"
|
840 |
msgstr "Sender e-mail"
|
841 |
|
842 |
-
#: includes/i18n.php:
|
843 |
msgctxt "button label"
|
844 |
msgid "Allow & Continue"
|
845 |
msgstr "Tillad & Fortsæt"
|
846 |
|
847 |
-
#: includes/i18n.php:
|
848 |
msgctxt "button label"
|
849 |
msgid "Agree & Activate License"
|
850 |
msgstr "Accepter & aktiver licens"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "verb"
|
854 |
msgid "Skip"
|
855 |
msgstr "Spring over"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgid "Click here to use the plugin anonymously"
|
859 |
msgstr "Klik her for at benytte pluginnet anonymt"
|
860 |
|
861 |
-
#: includes/i18n.php:
|
862 |
msgid "Re-send activation email"
|
863 |
msgstr "Gensend e-mail om aktivering"
|
864 |
|
865 |
-
#: includes/i18n.php:
|
866 |
msgid "License key"
|
867 |
msgstr "Licensnøgle"
|
868 |
|
869 |
-
#: includes/i18n.php:
|
870 |
msgid "Send License Key"
|
871 |
msgstr "Send licensnøgle"
|
872 |
|
873 |
-
#: includes/i18n.php:
|
874 |
msgid "Sending license key"
|
875 |
msgstr "Sender licensnøgle"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "Have a license key?"
|
879 |
msgstr "Har du en licensnøgle?"
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Don't have a license key?"
|
883 |
msgstr "Har du ikke en licensnøgle?"
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "Can't find your license key?"
|
887 |
msgstr "Kan du ikke finde din licensnøgle?"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
-
msgid ""
|
891 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
892 |
-
"right address?"
|
893 |
-
msgstr ""
|
894 |
|
895 |
-
#: includes/i18n.php:
|
896 |
-
msgid ""
|
897 |
-
"We can't see any active licenses associated with that email address, are you"
|
898 |
-
" sure it's the right address?"
|
899 |
-
msgstr ""
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Opt In"
|
903 |
-
msgstr ""
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Opt Out"
|
907 |
-
msgstr ""
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
msgid "On second thought - I want to continue helping"
|
911 |
-
msgstr ""
|
912 |
|
913 |
-
#: includes/i18n.php:
|
914 |
msgid "Opting out..."
|
915 |
-
msgstr ""
|
916 |
|
917 |
-
#: includes/i18n.php:
|
918 |
msgid "Opting in..."
|
919 |
-
msgstr ""
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
-
msgid ""
|
923 |
-
"We appreciate your help in making the %s better by letting us track some "
|
924 |
-
"usage data."
|
925 |
-
msgstr ""
|
926 |
|
927 |
-
#: includes/i18n.php:
|
928 |
-
msgid ""
|
929 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
930 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
931 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
932 |
-
msgstr ""
|
933 |
|
934 |
-
#: includes/i18n.php:
|
935 |
-
msgid ""
|
936 |
-
"
|
937 |
-
"%s."
|
938 |
-
msgstr ""
|
939 |
|
940 |
-
#: includes/i18n.php:
|
941 |
msgid "Screenshots"
|
942 |
msgstr "Skærmbilleder"
|
943 |
|
944 |
-
#: includes/i18n.php:
|
945 |
msgid "Click to view full-size screenshot %d"
|
946 |
-
msgstr ""
|
947 |
|
948 |
-
#: includes/i18n.php:
|
949 |
msgid "Freemius Debug"
|
950 |
msgstr "Freemius Debug"
|
951 |
|
952 |
-
#: includes/i18n.php:
|
953 |
msgctxt "as turned on"
|
954 |
msgid "On"
|
955 |
msgstr "Til"
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgctxt "as turned off"
|
959 |
msgid "Off"
|
960 |
msgstr "Fra"
|
961 |
|
962 |
-
#: includes/i18n.php:
|
963 |
msgctxt "as code debugging"
|
964 |
msgid "Debugging"
|
965 |
msgstr "Fejlfinding"
|
966 |
|
967 |
-
#: includes/i18n.php:
|
968 |
msgid "Freemius State"
|
969 |
msgstr "Freemius tilstand"
|
970 |
|
971 |
-
#: includes/i18n.php:
|
972 |
msgctxt "as connection was successful"
|
973 |
msgid "Connected"
|
974 |
msgstr "Forbundet"
|
975 |
|
976 |
-
#: includes/i18n.php:
|
977 |
msgctxt "as connection blocked"
|
978 |
msgid "Blocked"
|
979 |
msgstr "Blokeret"
|
980 |
|
981 |
-
#: includes/i18n.php:
|
982 |
msgctxt "as application program interface"
|
983 |
msgid "API"
|
984 |
msgstr "API"
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgctxt "as software development kit versions"
|
988 |
msgid "SDK"
|
989 |
msgstr "SDK"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "as software development kit versions"
|
993 |
msgid "SDK Versions"
|
994 |
msgstr "SDK-versioner"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt "as plugin folder path"
|
998 |
msgid "Plugin Path"
|
999 |
msgstr "Plugin-sti"
|
1000 |
|
1001 |
-
#: includes/i18n.php:
|
1002 |
msgctxt "as sdk path"
|
1003 |
msgid "SDK Path"
|
1004 |
msgstr "SDK-sti"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Add Ons of Plugin %s"
|
1008 |
msgstr "Tilføjelser til plugin %s"
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "Are you sure you want to delete all Freemius data?"
|
1012 |
-
msgstr ""
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Actions"
|
1016 |
msgstr "Handlinger"
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "Delete All Accounts"
|
1020 |
msgstr "Slet alle konti"
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "Start Fresh"
|
1024 |
msgstr "Start forfra"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Clear API Cache"
|
1028 |
msgstr "Ryd API-cache"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Sync Data From Server"
|
1032 |
msgstr "Synkroniser data fra server"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Scheduled Crons"
|
1036 |
msgstr "Planlagte cron jobs"
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1039 |
msgid "Plugins & Themes Sync"
|
1040 |
msgstr "Synkronisering af plugins og temaer"
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1043 |
msgctxt "as congratulations"
|
1044 |
msgid "Congrats"
|
1045 |
msgstr "Tillykke"
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgctxt "exclamation"
|
1049 |
msgid "Oops"
|
1050 |
msgstr "Ups"
|
1051 |
|
1052 |
-
#: includes/i18n.php:
|
1053 |
msgctxt "interjection expressing joy or exuberance"
|
1054 |
msgid "Yee-haw"
|
1055 |
-
msgstr ""
|
1056 |
|
1057 |
-
#: includes/i18n.php:
|
1058 |
msgctxt ""
|
1059 |
-
"(especially in electronic communication) used to express elation, "
|
1060 |
-
"enthusiasm, or triumph."
|
1061 |
msgid "W00t"
|
1062 |
-
msgstr ""
|
1063 |
|
1064 |
-
#: includes/i18n.php:
|
1065 |
msgctxt "a positive response"
|
1066 |
msgid "Right on"
|
1067 |
msgstr "Sådan"
|
1068 |
|
1069 |
-
#: includes/i18n.php:
|
1070 |
msgctxt ""
|
1071 |
-
"something somebody says when they are thinking about what you have just "
|
1072 |
-
"said. "
|
1073 |
msgid "Hmm"
|
1074 |
msgstr "Hmm"
|
1075 |
|
1076 |
-
#: includes/i18n.php:
|
1077 |
msgid "O.K"
|
1078 |
msgstr "O.K"
|
1079 |
|
1080 |
-
#: includes/i18n.php:
|
1081 |
msgctxt "exclamation"
|
1082 |
msgid "Hey"
|
1083 |
msgstr "Hey"
|
1084 |
|
1085 |
-
#: includes/i18n.php:
|
1086 |
msgctxt "advance notice of something that will need attention."
|
1087 |
msgid "Heads up"
|
1088 |
msgstr "Se her"
|
1089 |
|
1090 |
-
#: includes/i18n.php:
|
1091 |
msgid "Seems like you got the latest release."
|
1092 |
-
msgstr ""
|
1093 |
|
1094 |
-
#: includes/i18n.php:
|
1095 |
msgid "You are all good!"
|
1096 |
msgstr "Det var det!"
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
-
msgid ""
|
1100 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1101 |
-
"email is already registered."
|
1102 |
-
msgstr ""
|
1103 |
|
1104 |
-
#: includes/i18n.php:
|
1105 |
-
msgid ""
|
1106 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1107 |
-
"click the Change Ownership button."
|
1108 |
-
msgstr ""
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
-
msgid ""
|
1112 |
-
"Your email was successfully updated. You should receive an email with "
|
1113 |
-
"confirmation instructions in few moments."
|
1114 |
-
msgstr ""
|
1115 |
|
1116 |
-
#: includes/i18n.php:
|
1117 |
msgid "Your name was successfully updated."
|
1118 |
msgstr "Dit navn er blevet opdateret."
|
1119 |
|
1120 |
-
#: includes/i18n.php:
|
1121 |
msgid "You have successfully updated your %s."
|
1122 |
msgstr "Opdatering af %s blev gennemført."
|
1123 |
|
1124 |
-
#: includes/i18n.php:
|
1125 |
msgid "Please provide your full name."
|
1126 |
msgstr "Indtast venligst dit fulde navn."
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
-
msgid ""
|
1130 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1131 |
-
"please check your spam box."
|
1132 |
-
msgstr ""
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
-
msgid ""
|
1136 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1137 |
-
"from an external server."
|
1138 |
-
msgstr ""
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgid "No credit card required"
|
1142 |
msgstr "Betalingskort ikke påkrævet"
|
1143 |
|
1144 |
-
#: includes/i18n.php:
|
1145 |
msgid "Premium plugin version was successfully activated."
|
1146 |
-
msgstr ""
|
1147 |
|
1148 |
-
#: includes/i18n.php:
|
1149 |
msgid "The upgrade of %s was successfully completed."
|
1150 |
-
msgstr ""
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid "Your account was successfully activated with the %s plan."
|
1154 |
-
msgstr ""
|
1155 |
|
1156 |
-
#: includes/i18n.php:
|
1157 |
msgid "Download the latest %s version now"
|
1158 |
msgstr "Download den seneste version af %s nu"
|
1159 |
|
1160 |
-
#: includes/i18n.php:
|
1161 |
msgid "Please follow these steps to complete the upgrade"
|
1162 |
-
msgstr ""
|
1163 |
|
1164 |
-
#: includes/i18n.php:
|
1165 |
msgid "Download the latest %s version"
|
1166 |
msgstr "Download den seneste version af %s"
|
1167 |
|
1168 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1169 |
msgid "Deactivate the free version"
|
1170 |
msgstr "Deaktiver den gratis version"
|
1171 |
|
1172 |
-
#: includes/i18n.php:
|
1173 |
msgid "Upload and activate the downloaded version"
|
1174 |
msgstr "Upload og aktiver den downloadede version"
|
1175 |
|
1176 |
-
#: includes/i18n.php:
|
1177 |
msgid "How to upload and activate?"
|
1178 |
msgstr "Upload og aktivering, hvordan?"
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1182 |
msgid "%s Add-on was successfully purchased."
|
1183 |
msgstr "Betalingen for tilføjelsen %s blev gennemført."
|
1184 |
|
1185 |
-
#: includes/i18n.php:
|
1186 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1187 |
-
msgstr ""
|
1188 |
|
1189 |
-
#: includes/i18n.php:
|
1190 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1191 |
-
msgstr ""
|
1192 |
|
1193 |
-
#: includes/i18n.php:
|
1194 |
msgid "Your plan was successfully upgraded."
|
1195 |
msgstr "Din plan er blevet opgraderet."
|
1196 |
|
1197 |
-
#: includes/i18n.php:
|
1198 |
msgid "Your plan was successfully changed to %s."
|
1199 |
msgstr "Din plan er blevet ændret til %s."
|
1200 |
|
1201 |
-
#: includes/i18n.php:
|
1202 |
-
msgid ""
|
1203 |
-
"
|
1204 |
-
"forever."
|
1205 |
-
msgstr ""
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
-
msgid ""
|
1209 |
-
"
|
1210 |
-
" support."
|
1211 |
-
msgstr ""
|
1212 |
|
1213 |
-
#: includes/i18n.php:
|
1214 |
msgid "Your trial has been successfully started."
|
1215 |
msgstr "Din prøveperiode er begyndt."
|
1216 |
|
1217 |
-
#: includes/i18n.php:
|
1218 |
msgid "Your license was successfully activated."
|
1219 |
msgstr "Din licens er blevet aktiveret."
|
1220 |
|
1221 |
-
#: includes/i18n.php:
|
1222 |
msgid "It looks like your site currently doesn't have an active license."
|
1223 |
msgstr "Det ser ud til, at dit websted endnu ikke har en aktiv licens."
|
1224 |
|
1225 |
-
#: includes/i18n.php:
|
1226 |
-
msgid ""
|
1227 |
-
"
|
1228 |
-
msgstr ""
|
1229 |
|
1230 |
-
#: includes/i18n.php:
|
1231 |
msgid "It looks like the license deactivation failed."
|
1232 |
msgstr "Det ser ud til, at licens-deaktiveringen mislykkedes."
|
1233 |
|
1234 |
-
#: includes/i18n.php:
|
1235 |
msgid "It looks like the license could not be activated."
|
1236 |
msgstr "Det ser ud til, at licensen ikke kunne aktiveres."
|
1237 |
|
1238 |
-
#: includes/i18n.php:
|
1239 |
msgid "Error received from the server:"
|
1240 |
msgstr "Fejl modtager fra serveren:"
|
1241 |
|
1242 |
-
#: includes/i18n.php:
|
1243 |
-
msgid ""
|
1244 |
-
"Your trial has expired. You can still continue using all our free features."
|
1245 |
msgstr "Din prøveperiode er udløbet. Du kan fortsat bruge alle vores gratis funktioner."
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
-
msgid ""
|
1249 |
-
"
|
1250 |
-
"%s."
|
1251 |
-
msgstr ""
|
1252 |
|
1253 |
-
#: includes/i18n.php:
|
1254 |
-
msgid ""
|
1255 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1256 |
-
"Please try again in few minutes."
|
1257 |
-
msgstr ""
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
-
msgid ""
|
1261 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1262 |
-
" :)"
|
1263 |
-
msgstr ""
|
1264 |
|
1265 |
-
#: includes/i18n.php:
|
1266 |
msgid "Your %s free trial was successfully cancelled."
|
1267 |
-
msgstr ""
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgctxt "%s - numeric version number"
|
1271 |
msgid "Version %s was released."
|
1272 |
msgstr "Version %s er blevet udgivet."
|
1273 |
|
1274 |
-
#: includes/i18n.php:
|
1275 |
msgid "Please download %s."
|
1276 |
msgstr "Download venligst %s."
|
1277 |
|
1278 |
-
#: includes/i18n.php:
|
1279 |
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
msgid "the latest %s version here"
|
1281 |
msgstr "den seneste version af %s her"
|
1282 |
|
1283 |
-
#: includes/i18n.php:
|
1284 |
-
msgid ""
|
1285 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1286 |
-
"free trial."
|
1287 |
-
msgstr ""
|
1288 |
|
1289 |
-
#: includes/i18n.php:
|
1290 |
msgctxt "call to action"
|
1291 |
msgid "Start free trial"
|
1292 |
msgstr "Start gratis prøveperiode"
|
1293 |
|
1294 |
-
#: includes/i18n.php:
|
1295 |
msgid "Starting trial"
|
1296 |
-
msgstr ""
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid "Please wait"
|
1300 |
-
msgstr ""
|
1301 |
|
1302 |
-
#: includes/i18n.php:
|
1303 |
-
msgid ""
|
1304 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1305 |
-
"Please try again in few minutes."
|
1306 |
-
msgstr ""
|
1307 |
|
1308 |
-
#: includes/i18n.php:
|
1309 |
msgid "You already utilized a trial before."
|
1310 |
msgstr "Du har allerede brugt din prøveperiode."
|
1311 |
|
1312 |
-
#: includes/i18n.php:
|
1313 |
msgid "You are already running the plugin in a trial mode."
|
1314 |
-
msgstr ""
|
1315 |
|
1316 |
-
#: includes/i18n.php:
|
1317 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
-
msgstr ""
|
1319 |
|
1320 |
-
#: includes/i18n.php:
|
1321 |
msgid "Plan %s does not support a trial period."
|
1322 |
msgstr "Plan %s understøtter ikke en prøveperiode."
|
1323 |
|
1324 |
-
#: includes/i18n.php:
|
1325 |
msgid "None of the plugin's plans supports a trial period."
|
1326 |
-
msgstr ""
|
1327 |
|
1328 |
-
#: includes/i18n.php:
|
1329 |
-
msgid ""
|
1330 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1331 |
-
"error."
|
1332 |
-
msgstr ""
|
1333 |
|
1334 |
-
#: includes/i18n.php:
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
msgstr "Ingen bindinger i %s dage - annuller når som helst!"
|
1337 |
|
1338 |
-
#: includes/i18n.php:
|
1339 |
-
msgid ""
|
1340 |
-
"
|
1341 |
-
"but you'll need to renew your license to continue getting updates and "
|
1342 |
-
"support."
|
1343 |
-
msgstr ""
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid "Couldn't activate %s."
|
1347 |
msgstr "Kunne ikke aktivere %s."
|
1348 |
|
1349 |
-
#: includes/i18n.php:
|
1350 |
msgid "Please contact us with the following message:"
|
1351 |
msgstr "Kontakt os venligst med følgende besked:"
|
1352 |
|
1353 |
-
#: includes/i18n.php:
|
1354 |
-
msgid ""
|
1355 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1356 |
-
"your plan, it's probably an issue on our side - sorry."
|
1357 |
-
msgstr ""
|
1358 |
|
1359 |
-
#: includes/i18n.php:
|
1360 |
msgid "Please contact us here"
|
1361 |
msgstr "Kontakt os her"
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
-
msgid ""
|
1365 |
-
"I have upgraded my account but when I try to Sync the License, the plan "
|
1366 |
-
"remains %s."
|
1367 |
-
msgstr ""
|
1368 |
|
1369 |
-
#: includes/i18n.php:
|
1370 |
msgid "From unknown reason, the API connectivity test failed."
|
1371 |
-
msgstr ""
|
1372 |
|
1373 |
-
#: includes/i18n.php:
|
1374 |
-
msgid ""
|
1375 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1376 |
-
"permission, would it be o.k to run another connectivity test?"
|
1377 |
-
msgstr ""
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
-
msgid ""
|
1381 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1382 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1383 |
-
"on your server."
|
1384 |
-
msgstr ""
|
1385 |
|
1386 |
-
#: includes/i18n.php:
|
1387 |
-
msgid ""
|
1388 |
-
"
|
1389 |
-
msgstr ""
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1392 |
msgctxt "as pluginX requires an access to our API"
|
1393 |
msgid "%s requires an access to our API."
|
1394 |
-
msgstr ""
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
-
msgid ""
|
1398 |
-
"
|
1399 |
-
"blocks the connection."
|
1400 |
-
msgstr ""
|
1401 |
|
1402 |
-
#: includes/i18n.php:
|
1403 |
msgid "I don't know what is Squid or ACL, help me!"
|
1404 |
-
msgstr ""
|
1405 |
|
1406 |
-
#: includes/i18n.
|
1407 |
-
msgid ""
|
1408 |
-
"
|
1409 |
-
"will get a follow-up email to %s once we have an update."
|
1410 |
-
msgstr ""
|
1411 |
|
1412 |
-
#: includes/i18n.php:
|
1413 |
msgid "I'm a system administrator"
|
1414 |
msgstr "Jeg er en system-administrator"
|
1415 |
|
1416 |
-
#: includes/i18n.php:
|
1417 |
-
msgid ""
|
1418 |
-
"
|
1419 |
-
" the plugin and activate it again."
|
1420 |
-
msgstr ""
|
1421 |
|
1422 |
-
#: includes/i18n.php:
|
1423 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1424 |
-
msgstr ""
|
1425 |
|
1426 |
-
#: includes/i18n.php:
|
1427 |
-
msgid ""
|
1428 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1429 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1430 |
-
"the plugin and reactivate it back again."
|
1431 |
-
msgstr ""
|
1432 |
|
1433 |
-
#: includes/i18n.php:
|
1434 |
-
msgid ""
|
1435 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1436 |
-
"you ASAP if you give us a chance."
|
1437 |
-
msgstr ""
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
-
msgid ""
|
1441 |
-
"
|
1442 |
-
msgstr ""
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgid "Yes - I'm giving you a chance to fix it"
|
1446 |
msgstr "Ja - jeg giver jer en chance for at rette det"
|
1447 |
|
1448 |
-
#: includes/i18n.php:
|
1449 |
-
msgid ""
|
1450 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1451 |
-
"You will get a follow-up email to %s once we have an update."
|
1452 |
-
msgstr ""
|
1453 |
|
1454 |
-
#: includes/i18n.php:
|
1455 |
msgid "Let's try your previous version"
|
1456 |
msgstr "Lad os prøve din forrige version"
|
1457 |
|
1458 |
-
#: includes/i18n.php:
|
1459 |
msgid "Uninstall this version and install the previous one."
|
1460 |
msgstr "Afinstaller denne version og installer den forrige."
|
1461 |
|
1462 |
-
#: includes/i18n.php:
|
1463 |
msgid "That's exhausting, please deactivate"
|
1464 |
-
msgstr ""
|
1465 |
|
1466 |
-
#: includes/i18n.php:
|
1467 |
-
msgid ""
|
1468 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1469 |
-
" to see you again in the future."
|
1470 |
-
msgstr ""
|
1471 |
|
1472 |
-
#: includes/i18n.php:
|
1473 |
-
msgid ""
|
1474 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1475 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1476 |
-
" Appreciate your patience."
|
1477 |
-
msgstr ""
|
1478 |
|
1479 |
-
#: includes/i18n.php:
|
1480 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1481 |
-
msgid ""
|
1482 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1483 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1484 |
-
msgstr ""
|
1485 |
|
1486 |
-
#: includes/i18n.php:
|
1487 |
-
msgid ""
|
1488 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1489 |
-
"Public Key, Secret Key & User ID, and try again."
|
1490 |
-
msgstr ""
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
-
msgid ""
|
1494 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1495 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1496 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1497 |
-
"folder."
|
1498 |
-
msgstr ""
|
1499 |
|
1500 |
-
#: includes/i18n.php:
|
1501 |
-
msgid ""
|
1502 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1503 |
-
" final approval."
|
1504 |
-
msgstr ""
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
msgid "%s is the new owner of the account."
|
1508 |
msgstr "%s er den nye ejer af kontoen."
|
1509 |
|
1510 |
-
#: includes/i18n.php:
|
1511 |
msgctxt "addonX cannot run without pluginY"
|
1512 |
msgid "%s cannot run without %s."
|
1513 |
msgstr "%s virker ikke uden %s."
|
1514 |
|
1515 |
-
#: includes/i18n.php:
|
1516 |
msgctxt "addonX cannot run..."
|
1517 |
msgid "%s cannot run without the plugin."
|
1518 |
msgstr "%s virker ikke uden pluginnet."
|
1519 |
|
1520 |
-
#: includes/i18n.php:
|
1521 |
msgctxt "pluginX activation was successfully..."
|
1522 |
msgid "%s activation was successfully completed."
|
1523 |
msgstr "Aktivering af %s blev gennemført."
|
1524 |
|
1525 |
-
#: includes/i18n.php:
|
1526 |
msgctxt "Plugin installer section title"
|
1527 |
msgid "Features & Pricing"
|
1528 |
msgstr "Funktioner og priser"
|
1529 |
|
1530 |
-
#: includes/i18n.php:
|
1531 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1532 |
-
msgstr ""
|
1533 |
|
1534 |
-
#: includes/i18n.php:
|
1535 |
msgid "Paid add-on must be deployed to Freemius."
|
1536 |
-
msgstr ""
|
1537 |
|
1538 |
-
#: includes/i18n.php:
|
1539 |
-
msgid ""
|
1540 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1541 |
-
"activating the plugin."
|
1542 |
-
msgstr ""
|
1543 |
|
1544 |
-
#: includes/i18n.php:
|
1545 |
-
msgid ""
|
1546 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1547 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1548 |
-
"you'll have to purchase a license."
|
1549 |
-
msgstr ""
|
1550 |
|
1551 |
-
#: includes/i18n.php:
|
1552 |
msgctxt "as every month"
|
1553 |
msgid "Monthly"
|
1554 |
msgstr "Månedligt"
|
1555 |
|
1556 |
-
#: includes/i18n.php:
|
1557 |
msgctxt "as monthly period"
|
1558 |
msgid "mo"
|
1559 |
msgstr "md"
|
1560 |
|
1561 |
-
#: includes/i18n.php:
|
1562 |
msgctxt "as once a year"
|
1563 |
msgid "Annual"
|
1564 |
msgstr "Årligt"
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
msgctxt "as once a year"
|
1568 |
msgid "Annually"
|
1569 |
msgstr "Årligt"
|
1570 |
|
1571 |
-
#: includes/i18n.php:
|
1572 |
msgctxt "as once a year"
|
1573 |
msgid "Once"
|
1574 |
msgstr "Engangsbeløb"
|
1575 |
|
1576 |
-
#: includes/i18n.php:
|
1577 |
msgctxt "as annual period"
|
1578 |
msgid "year"
|
1579 |
msgstr "år"
|
1580 |
|
1581 |
-
#: includes/i18n.php:
|
1582 |
msgid "Lifetime"
|
1583 |
-
msgstr ""
|
1584 |
|
1585 |
-
#: includes/i18n.php:
|
1586 |
msgctxt "e.g. the best product"
|
1587 |
msgid "Best"
|
1588 |
msgstr "Bedste"
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgctxt "e.g. billed monthly"
|
1592 |
msgid "Billed %s"
|
1593 |
-
msgstr ""
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgctxt "as a discount of $5 or 10%"
|
1597 |
msgid "Save %s"
|
1598 |
msgstr "Spar %s"
|
1599 |
|
1600 |
-
#: includes/i18n.php:
|
1601 |
msgid "View details"
|
1602 |
msgstr "Vis detaljer"
|
1603 |
|
1604 |
-
#: includes/i18n.php:
|
1605 |
msgctxt "button label"
|
1606 |
msgid "Approve & Start Trial"
|
1607 |
-
msgstr ""
|
1608 |
|
1609 |
-
#: includes/i18n.php:
|
1610 |
-
msgid ""
|
1611 |
-
"
|
1612 |
-
"plan."
|
1613 |
-
msgstr ""
|
1614 |
|
1615 |
-
#: includes/i18n.php:
|
1616 |
-
msgid ""
|
1617 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1618 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1619 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1620 |
-
"updates and to validate your trial."
|
1621 |
-
msgstr ""
|
1622 |
|
1623 |
-
#: includes/i18n.php:
|
1624 |
msgid "Business name"
|
1625 |
-
msgstr ""
|
1626 |
|
1627 |
-
#: includes/i18n.php:
|
1628 |
msgid "Tax / VAT ID"
|
1629 |
-
msgstr ""
|
1630 |
|
1631 |
-
#: includes/i18n.php:
|
1632 |
msgid "Address Line %d"
|
1633 |
-
msgstr ""
|
1634 |
|
1635 |
-
#: includes/i18n.php:
|
1636 |
msgid "Country"
|
1637 |
-
msgstr ""
|
1638 |
|
1639 |
-
#: includes/i18n.php:
|
1640 |
msgid "Select Country"
|
1641 |
-
msgstr ""
|
1642 |
|
1643 |
-
#: includes/i18n.php:
|
1644 |
msgid "City"
|
1645 |
-
msgstr ""
|
1646 |
|
1647 |
-
#: includes/i18n.php:
|
1648 |
msgid "Town"
|
1649 |
-
msgstr ""
|
1650 |
|
1651 |
-
#: includes/i18n.php:
|
1652 |
msgid "State"
|
1653 |
-
msgstr ""
|
1654 |
|
1655 |
-
#: includes/i18n.php:
|
1656 |
msgid "Province"
|
1657 |
-
msgstr ""
|
1658 |
|
1659 |
-
#: includes/i18n.php:
|
1660 |
msgid "ZIP / Postal Code"
|
1661 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
+
# Joachim Jensen <jv@intox.dk>, 2016-2017
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
+
"POT-Creation-Date: \n"
|
10 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
11 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
12 |
+
"Language: da_DK\n"
|
13 |
"Language-Team: Danish (Denmark) (http://www.transifex.com/freemius/wordpress-sdk/language/da_DK/)\n"
|
|
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"MIME-Version: 1.0\n"
|
18 |
"X-Poedit-Basepath: ..\n"
|
19 |
+
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
"X-Poedit-SourceCharset: UTF-8\n"
|
23 |
|
24 |
+
#: includes/i18n.php:37
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
msgid "Account"
|
26 |
msgstr "Konto"
|
27 |
|
28 |
+
#: includes/i18n.php:38
|
29 |
msgid "Add On"
|
30 |
msgstr "Tilføjelse"
|
31 |
|
32 |
+
#: includes/i18n.php:39
|
33 |
msgid "Contact Us"
|
34 |
msgstr "Kontakt os"
|
35 |
|
36 |
+
#: includes/i18n.php:40
|
37 |
msgid "Contact Support"
|
38 |
msgstr "Kontakt support"
|
39 |
|
40 |
+
#: includes/i18n.php:41
|
41 |
msgid "Change Ownership"
|
42 |
msgstr "Skift ejerskab"
|
43 |
|
44 |
+
#: includes/i18n.php:42
|
45 |
msgid "Support"
|
46 |
msgstr "Support"
|
47 |
|
48 |
+
#: includes/i18n.php:43
|
49 |
msgid "Support Forum"
|
50 |
msgstr "Supportforum"
|
51 |
|
52 |
+
#: includes/i18n.php:44
|
53 |
msgid "Add Ons"
|
54 |
msgstr "Tilføjelser"
|
55 |
|
56 |
+
#: includes/i18n.php:45
|
57 |
msgctxt "verb"
|
58 |
msgid "Upgrade"
|
59 |
msgstr "Opgrader"
|
60 |
|
61 |
+
#: includes/i18n.php:46
|
62 |
msgid "Awesome"
|
63 |
msgstr "Sejt"
|
64 |
|
65 |
+
#: includes/i18n.php:47
|
66 |
msgctxt "noun"
|
67 |
msgid "Pricing"
|
68 |
msgstr "Priser"
|
69 |
|
70 |
+
#: includes/i18n.php:48
|
71 |
msgctxt "noun"
|
72 |
msgid "Price"
|
73 |
msgstr "Pris"
|
74 |
|
75 |
+
#: includes/i18n.php:49
|
76 |
msgid "Unlimited Updates"
|
77 |
msgstr "Ubegrænsede opdateringer"
|
78 |
|
79 |
+
#: includes/i18n.php:50
|
80 |
msgctxt "verb"
|
81 |
msgid "Downgrade"
|
82 |
msgstr "Nedgrader"
|
83 |
|
84 |
+
#: includes/i18n.php:51
|
85 |
+
msgctxt "verb"
|
86 |
+
msgid "Cancel Subscription"
|
87 |
+
msgstr "Cancel Subscription"
|
88 |
+
|
89 |
+
#: includes/i18n.php:52
|
90 |
msgid "Cancel Trial"
|
91 |
msgstr "Annuller prøveperiode"
|
92 |
|
93 |
+
#: includes/i18n.php:53
|
94 |
msgid "Free Trial"
|
95 |
msgstr "Gratis prøveperiode"
|
96 |
|
97 |
+
#: includes/i18n.php:54
|
98 |
msgid "Start my free %s"
|
99 |
msgstr "Start min gratis %s"
|
100 |
|
101 |
+
#: includes/i18n.php:55
|
102 |
msgid "No commitment for %s - cancel anytime"
|
103 |
msgstr "Ingen bindinger ved %s - annuller når som helst"
|
104 |
|
105 |
+
#: includes/i18n.php:56
|
106 |
msgid "After your free %s, pay as little as %s"
|
107 |
msgstr "Efter din gratis %s er prisen kun %s"
|
108 |
|
109 |
+
#: includes/i18n.php:57
|
110 |
msgid "Details"
|
111 |
msgstr "Detaljer"
|
112 |
|
113 |
+
#: includes/i18n.php:58
|
114 |
msgid "Account Details"
|
115 |
msgstr "Kontodetaljer"
|
116 |
|
117 |
+
#: includes/i18n.php:59
|
118 |
msgctxt "verb"
|
119 |
msgid "Delete"
|
120 |
msgstr "Slet"
|
121 |
|
122 |
+
#: includes/i18n.php:60
|
123 |
msgctxt "verb"
|
124 |
msgid "Show"
|
125 |
msgstr "Vis"
|
126 |
|
127 |
+
#: includes/i18n.php:61
|
128 |
msgctxt "verb"
|
129 |
msgid "Hide"
|
130 |
msgstr "Skjul"
|
131 |
|
132 |
+
#: includes/i18n.php:62
|
133 |
msgctxt "verb"
|
134 |
msgid "Edit"
|
135 |
msgstr "Rediger"
|
136 |
|
137 |
+
#: includes/i18n.php:63
|
138 |
msgctxt "verb"
|
139 |
msgid "Update"
|
140 |
+
msgstr "Opdater"
|
141 |
|
142 |
+
#: includes/i18n.php:64
|
143 |
msgid "Date"
|
144 |
msgstr "Dato"
|
145 |
|
146 |
+
#: includes/i18n.php:65
|
147 |
msgid "Amount"
|
148 |
msgstr "Beløb"
|
149 |
|
150 |
+
#: includes/i18n.php:66
|
151 |
msgid "Invoice"
|
152 |
msgstr "Faktura"
|
153 |
|
154 |
+
#: includes/i18n.php:67
|
155 |
msgid "Billing"
|
156 |
msgstr "Betaling"
|
157 |
|
158 |
+
#: includes/i18n.php:68
|
159 |
msgid "Payments"
|
160 |
msgstr "Betalinger"
|
161 |
|
162 |
+
#: includes/i18n.php:69
|
163 |
msgid "Delete Account"
|
164 |
msgstr "Slet konto"
|
165 |
|
166 |
+
#: includes/i18n.php:70
|
167 |
msgctxt "as close a window"
|
168 |
msgid "Dismiss"
|
169 |
msgstr "Fjern"
|
170 |
|
171 |
+
#: includes/i18n.php:71
|
172 |
msgctxt "as product pricing plan"
|
173 |
msgid "Plan"
|
174 |
msgstr "Plan"
|
175 |
|
176 |
+
#: includes/i18n.php:72
|
177 |
msgid "Change Plan"
|
178 |
msgstr "Skift plan"
|
179 |
|
180 |
+
#: includes/i18n.php:73
|
181 |
msgctxt "as download professional version"
|
182 |
msgid "Download %s Version"
|
183 |
+
msgstr "Download %s Version"
|
184 |
|
185 |
+
#: includes/i18n.php:74
|
186 |
msgctxt "as download professional version now"
|
187 |
msgid "Download %s version now"
|
188 |
+
msgstr "Download %s version now"
|
189 |
|
190 |
+
#: includes/i18n.php:75
|
191 |
msgctxt "as download latest version"
|
192 |
msgid "Download Latest"
|
193 |
msgstr "Download seneste"
|
194 |
|
195 |
+
#: includes/i18n.php:76
|
196 |
msgctxt "E.g. you have a professional license."
|
197 |
msgid "You have a %s license."
|
198 |
msgstr "Du har en %s licens."
|
199 |
|
200 |
+
#: includes/i18n.php:77
|
201 |
msgid "New"
|
202 |
msgstr "Ny"
|
203 |
|
204 |
+
#: includes/i18n.php:78
|
205 |
msgid "Free"
|
206 |
msgstr "Gratis"
|
207 |
|
208 |
+
#: includes/i18n.php:79
|
209 |
msgctxt "as trial plan"
|
210 |
msgid "Trial"
|
211 |
msgstr "Prøveperiode"
|
212 |
|
213 |
+
#: includes/i18n.php:80
|
214 |
msgctxt "as starting a trial plan"
|
215 |
msgid "Start Trial"
|
216 |
+
msgstr "Start prøveperiode"
|
217 |
|
218 |
+
#: includes/i18n.php:81
|
219 |
msgctxt "verb"
|
220 |
msgid "Purchase"
|
221 |
msgstr "Køb"
|
222 |
|
223 |
+
#: includes/i18n.php:82
|
224 |
msgid "Purchase License"
|
225 |
msgstr "Køb licens"
|
226 |
|
227 |
+
#: includes/i18n.php:83
|
228 |
msgctxt "verb"
|
229 |
msgid "Buy"
|
230 |
msgstr "Køb"
|
231 |
|
232 |
+
#: includes/i18n.php:84
|
233 |
msgid "Buy License"
|
234 |
msgstr "Køb licens"
|
235 |
|
236 |
+
#: includes/i18n.php:85
|
237 |
msgid "Single Site License"
|
238 |
+
msgstr "Single Site License"
|
239 |
|
240 |
+
#: includes/i18n.php:86
|
241 |
msgid "Unlimited Licenses"
|
242 |
msgstr "Ubegrænsede licenser"
|
243 |
|
244 |
+
#: includes/i18n.php:87
|
245 |
msgid "Up to %s Sites"
|
246 |
msgstr "Op til %s websteder"
|
247 |
|
248 |
+
#: includes/i18n.php:88
|
249 |
msgid "%sRenew your license now%s to access version %s features and support."
|
250 |
+
msgstr "%sRenew your license now%s to access version %s features and support."
|
251 |
|
252 |
+
#: includes/i18n.php:89
|
253 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
254 |
+
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
255 |
|
256 |
+
#: includes/i18n.php:90
|
257 |
msgctxt "e.g. Professional Plan"
|
258 |
msgid "%s Plan"
|
259 |
msgstr "%s Plan"
|
260 |
|
261 |
+
#: includes/i18n.php:91
|
262 |
msgid "You are just one step away - %s"
|
263 |
msgstr "Du mangler kun ét skridt - %s"
|
264 |
|
265 |
+
#: includes/i18n.php:92
|
266 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
267 |
msgid "Complete \"%s\" Activation Now"
|
268 |
msgstr "Færdiggør aktivering af \"%s\" nu"
|
269 |
|
270 |
+
#: includes/i18n.php:94
|
271 |
msgid "We made a few tweaks to the plugin, %s"
|
272 |
+
msgstr "Vi har lavet nogle få rettelser til pluginnet, %s"
|
273 |
|
274 |
+
#: includes/i18n.php:95
|
275 |
msgid "Opt-in to make \"%s\" Better!"
|
276 |
+
msgstr "Tilmeld for at gøre \"%s\" bedre!"
|
277 |
|
278 |
+
#: includes/i18n.php:96
|
279 |
msgid "Error"
|
280 |
msgstr "Fejl"
|
281 |
|
282 |
+
#: includes/i18n.php:97
|
283 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
284 |
+
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
285 |
|
286 |
+
#: includes/i18n.php:100
|
287 |
msgctxt "as expiration date"
|
288 |
msgid "Expiration"
|
289 |
+
msgstr "Expiration"
|
290 |
|
291 |
+
#: includes/i18n.php:101
|
292 |
msgctxt "as software license"
|
293 |
msgid "License"
|
294 |
msgstr "Licens"
|
295 |
|
296 |
+
#: includes/i18n.php:102
|
297 |
msgid "not verified"
|
298 |
msgstr "ikke verificeret"
|
299 |
|
300 |
+
#: includes/i18n.php:103
|
301 |
msgid "Verify Email"
|
302 |
msgstr "Verificer e-mail"
|
303 |
|
304 |
+
#: includes/i18n.php:104
|
305 |
msgctxt "e.g. expires in 2 months"
|
306 |
msgid "Expires in %s"
|
307 |
msgstr "Udløber om %s"
|
308 |
|
309 |
+
#: includes/i18n.php:105
|
310 |
msgctxt "e.g. auto renews in 2 months"
|
311 |
msgid "Auto renews in %s"
|
312 |
+
msgstr "Auto-fornyer om %s"
|
313 |
|
314 |
+
#: includes/i18n.php:106
|
315 |
msgid "No expiration"
|
316 |
msgstr "Udløber ikke"
|
317 |
|
318 |
+
#: includes/i18n.php:107
|
319 |
msgid "Expired"
|
320 |
msgstr "Udløbet"
|
321 |
|
322 |
+
#: includes/i18n.php:108
|
323 |
msgid "Cancelled"
|
324 |
msgstr "Annulleret"
|
325 |
|
326 |
+
#: includes/i18n.php:109
|
327 |
msgctxt "e.g. In 2 hours"
|
328 |
msgid "In %s"
|
329 |
msgstr "Om %s"
|
330 |
|
331 |
+
#: includes/i18n.php:110
|
332 |
msgctxt "e.g. 2 min ago"
|
333 |
msgid "%s ago"
|
334 |
msgstr "%s siden"
|
335 |
|
336 |
+
#: includes/i18n.php:112
|
337 |
+
msgid "%s or higher"
|
338 |
+
msgstr "%s eller højere"
|
339 |
+
|
340 |
+
#: includes/i18n.php:113
|
341 |
msgctxt "as plugin version"
|
342 |
msgid "Version"
|
343 |
msgstr "Version"
|
344 |
|
345 |
+
#: includes/i18n.php:114
|
346 |
msgid "Name"
|
347 |
msgstr "Navn"
|
348 |
|
349 |
+
#: includes/i18n.php:115
|
350 |
msgid "Email"
|
351 |
msgstr "E-mail"
|
352 |
|
353 |
+
#: includes/i18n.php:116
|
354 |
msgid "Email address"
|
355 |
msgstr "E-mailadresse"
|
356 |
|
357 |
+
#: includes/i18n.php:117
|
358 |
msgid "Verified"
|
359 |
msgstr "Verificeret"
|
360 |
|
361 |
+
#: includes/i18n.php:118
|
362 |
+
msgid "Module"
|
363 |
+
msgstr "Modul"
|
364 |
+
|
365 |
+
#: includes/i18n.php:119
|
366 |
+
msgid "Module Type"
|
367 |
+
msgstr "Modultype"
|
368 |
+
|
369 |
+
#: includes/i18n.php:120
|
370 |
msgid "Plugin"
|
371 |
msgstr "Plugin"
|
372 |
|
373 |
+
#: includes/i18n.php:121
|
374 |
msgid "Plugins"
|
375 |
msgstr "Plugins"
|
376 |
|
377 |
+
#: includes/i18n.php:122
|
378 |
+
msgid "Theme"
|
379 |
+
msgstr "Tema"
|
380 |
+
|
381 |
+
#: includes/i18n.php:123
|
382 |
msgid "Themes"
|
383 |
msgstr "Temaer"
|
384 |
|
385 |
+
#: includes/i18n.php:124
|
386 |
msgctxt "as file/folder path"
|
387 |
msgid "Path"
|
388 |
msgstr "Sti"
|
389 |
|
390 |
+
#: includes/i18n.php:125
|
391 |
msgid "Title"
|
392 |
msgstr "Titel"
|
393 |
|
394 |
+
#: includes/i18n.php:126
|
395 |
msgid "Free version"
|
396 |
msgstr "Gratis version"
|
397 |
|
398 |
+
#: includes/i18n.php:127
|
399 |
msgid "Premium version"
|
400 |
+
msgstr "Premium version"
|
401 |
|
402 |
+
#: includes/i18n.php:128
|
403 |
msgctxt "as WP plugin slug"
|
404 |
msgid "Slug"
|
405 |
msgstr "Kortnavn"
|
406 |
|
407 |
+
#: includes/i18n.php:129
|
408 |
msgid "ID"
|
409 |
msgstr "ID"
|
410 |
|
411 |
+
#: includes/i18n.php:130
|
412 |
msgid "Users"
|
413 |
msgstr "Brugere"
|
414 |
|
415 |
+
#: includes/i18n.php:131
|
416 |
msgid "Plugin Installs"
|
417 |
msgstr "Plugin-installationer"
|
418 |
|
419 |
+
#: includes/i18n.php:132
|
420 |
+
msgid "%s Installs"
|
421 |
+
msgstr "%s installeringer"
|
422 |
+
|
423 |
+
#: includes/i18n.php:133
|
424 |
msgctxt "like websites"
|
425 |
msgid "Sites"
|
426 |
msgstr "Websteder"
|
427 |
|
428 |
+
#: includes/i18n.php:134
|
429 |
msgid "User ID"
|
430 |
msgstr "Bruger-ID"
|
431 |
|
432 |
+
#: includes/i18n.php:135
|
433 |
msgid "Site ID"
|
434 |
msgstr "Websteds-ID"
|
435 |
|
436 |
+
#: includes/i18n.php:136
|
437 |
msgid "Public Key"
|
438 |
msgstr "Offentlig nøgle"
|
439 |
|
440 |
+
#: includes/i18n.php:137
|
441 |
msgid "Secret Key"
|
442 |
msgstr "Privat nøgle"
|
443 |
|
444 |
+
#: includes/i18n.php:138
|
445 |
msgctxt "as secret encryption key missing"
|
446 |
msgid "No Secret"
|
447 |
msgstr "Ingen privat nøgle"
|
448 |
|
449 |
+
#: includes/i18n.php:139
|
450 |
msgid "No ID"
|
451 |
msgstr "Intet ID"
|
452 |
|
453 |
+
#: includes/i18n.php:140
|
454 |
msgctxt "as synchronize license"
|
455 |
msgid "Sync License"
|
456 |
msgstr "Synkroniser licens"
|
457 |
|
458 |
+
#: includes/i18n.php:141
|
459 |
msgctxt "as synchronize"
|
460 |
msgid "Sync"
|
461 |
msgstr "Synkroniser"
|
462 |
|
463 |
+
#: includes/i18n.php:142
|
464 |
msgid "Activate License"
|
465 |
msgstr "Aktiver licens"
|
466 |
|
467 |
+
#: includes/i18n.php:143
|
468 |
msgid "Activate Free Version"
|
469 |
msgstr "Aktiver gratis version"
|
470 |
|
471 |
+
#: includes/i18n.php:144
|
472 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
473 |
+
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
474 |
|
475 |
+
#: includes/i18n.php:145
|
476 |
msgid "Activating license..."
|
477 |
msgstr "Aktiverer licens..."
|
478 |
|
479 |
+
#: includes/i18n.php:146
|
480 |
msgid "Change License"
|
481 |
msgstr "Skift licens"
|
482 |
|
483 |
+
#: includes/i18n.php:147
|
484 |
msgid "Update License"
|
485 |
msgstr "Opdater licens"
|
486 |
|
487 |
+
#: includes/i18n.php:148
|
488 |
msgid "Deactivate License"
|
489 |
msgstr "Deaktiver licens"
|
490 |
|
491 |
+
#: includes/i18n.php:149
|
492 |
msgid "Activate"
|
493 |
msgstr "Aktiver"
|
494 |
|
495 |
+
#: includes/i18n.php:150
|
496 |
msgid "Deactivate"
|
497 |
msgstr "Deaktiver"
|
498 |
|
499 |
+
#: includes/i18n.php:151
|
500 |
msgid "Skip & Deactivate"
|
501 |
msgstr "Spring over & deaktiver"
|
502 |
|
503 |
+
#: includes/i18n.php:152
|
504 |
+
msgid "Skip & %s"
|
505 |
+
msgstr "Spring over & %s"
|
506 |
+
|
507 |
+
#: includes/i18n.php:153
|
508 |
msgid "No - just deactivate"
|
509 |
msgstr "Nej - bare deaktiver"
|
510 |
|
511 |
+
#: includes/i18n.php:154
|
512 |
msgid "Yes - do your thing"
|
513 |
+
msgstr "Yes - do your thing"
|
514 |
|
515 |
+
#: includes/i18n.php:155
|
516 |
msgctxt "active mode"
|
517 |
msgid "Active"
|
518 |
msgstr "Aktiv"
|
519 |
|
520 |
+
#: includes/i18n.php:156
|
521 |
msgctxt "is active mode?"
|
522 |
msgid "Is Active"
|
523 |
msgstr "Er aktiv"
|
524 |
|
525 |
+
#: includes/i18n.php:157
|
526 |
msgid "Install Now"
|
527 |
msgstr "Installer nu"
|
528 |
|
529 |
+
#: includes/i18n.php:158
|
530 |
msgid "Install Update Now"
|
531 |
msgstr "Installer opdatering nu"
|
532 |
|
533 |
+
#: includes/i18n.php:159
|
534 |
msgid "More information about %s"
|
535 |
msgstr "Mere information om %s"
|
536 |
|
537 |
+
#: includes/i18n.php:160
|
538 |
msgid "Localhost"
|
539 |
msgstr "Localhost"
|
540 |
|
541 |
+
#: includes/i18n.php:161
|
542 |
msgctxt "as activate Professional plan"
|
543 |
msgid "Activate %s Plan"
|
544 |
msgstr "Aktiver plan %s"
|
545 |
|
546 |
+
#: includes/i18n.php:162
|
547 |
msgctxt "as 5 licenses left"
|
548 |
msgid "%s left"
|
549 |
msgstr "%s tilbage"
|
550 |
|
551 |
+
#: includes/i18n.php:163
|
552 |
msgid "Last license"
|
553 |
+
msgstr "Seneste license"
|
554 |
|
555 |
+
#: includes/i18n.php:164
|
556 |
msgid "What is your %s?"
|
557 |
+
msgstr "What is your %s?"
|
558 |
|
559 |
+
#: includes/i18n.php:165
|
560 |
msgid "Activate this add-on"
|
561 |
msgstr "Aktiver denne tilføjelse"
|
562 |
|
563 |
+
#: includes/i18n.php:166
|
564 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
565 |
+
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
566 |
|
567 |
+
#: includes/i18n.php:167
|
568 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
569 |
+
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
570 |
|
571 |
+
#: includes/i18n.php:168
|
572 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
573 |
+
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
574 |
|
575 |
+
#: includes/i18n.php:169
|
576 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
577 |
+
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
578 |
|
579 |
+
#: includes/i18n.php:170
|
580 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
581 |
+
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
582 |
|
583 |
+
#: includes/i18n.php:171
|
584 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
585 |
+
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
586 |
|
587 |
+
#: includes/i18n.php:172
|
588 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
589 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
590 |
|
591 |
+
#: includes/i18n.php:173
|
592 |
msgid "Are you sure you want to proceed?"
|
593 |
+
msgstr "Er du sikker på, du vil fortsætte?"
|
594 |
|
595 |
+
#: includes/i18n.php:176
|
596 |
msgid "Add Ons for %s"
|
597 |
msgstr "Tilføjelser til %s"
|
598 |
|
599 |
+
#: includes/i18n.php:177
|
600 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
601 |
+
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
602 |
|
603 |
+
#: includes/i18n.php:179
|
604 |
msgid "Anonymous feedback"
|
605 |
msgstr "Anonym feedback"
|
606 |
|
607 |
+
#: includes/i18n.php:180
|
608 |
msgid "Quick feedback"
|
609 |
msgstr "Hurtig feedback"
|
610 |
|
611 |
+
#: includes/i18n.php:181
|
612 |
msgid "If you have a moment, please let us know why you are deactivating"
|
613 |
+
msgstr "Hvis du har et øjeblik, så lad os venligst vide, hvorfor du deaktiverer"
|
614 |
|
615 |
+
#: includes/i18n.php:182
|
616 |
msgid "Yes - Deactivate"
|
617 |
msgstr "Ja - deaktiver"
|
618 |
|
619 |
+
#: includes/i18n.php:183
|
620 |
msgid "Submit & Deactivate"
|
621 |
msgstr "Send & deaktiver"
|
622 |
|
623 |
+
#: includes/i18n.php:184
|
624 |
msgid "Cancel"
|
625 |
msgstr "Annuller"
|
626 |
|
627 |
+
#: includes/i18n.php:185
|
628 |
msgid "I no longer need the plugin"
|
629 |
+
msgstr "Jeg har ikke længere brug for dette plugin"
|
630 |
|
631 |
+
#: includes/i18n.php:186
|
632 |
msgid "I found a better plugin"
|
633 |
msgstr "Jeg har fundet et bedre plugin"
|
634 |
|
635 |
+
#: includes/i18n.php:187
|
636 |
msgid "I only needed the plugin for a short period"
|
637 |
+
msgstr "Jeg skulle kun bruge pluginnet i en kort periode"
|
638 |
|
639 |
+
#: includes/i18n.php:188
|
640 |
msgid "The plugin broke my site"
|
641 |
msgstr "Pluginnet ødelagde mit websted"
|
642 |
|
643 |
+
#: includes/i18n.php:189
|
644 |
msgid "The plugin suddenly stopped working"
|
645 |
msgstr "Pluginnet virker ikke længere"
|
646 |
|
647 |
+
#: includes/i18n.php:190
|
648 |
msgid "I can't pay for it anymore"
|
649 |
msgstr "Jeg kan ikke længere betale for det"
|
650 |
|
651 |
+
#: includes/i18n.php:191
|
652 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
653 |
+
msgstr "Det er en midlertidig deaktivering. Jeg prøver at fejlfinde et problem."
|
654 |
|
655 |
+
#: includes/i18n.php:192
|
656 |
msgctxt ""
|
|
|
|
|
657 |
msgid "Other"
|
658 |
msgstr "Andet"
|
659 |
|
660 |
+
#: includes/i18n.php:194
|
661 |
msgid "Kindly tell us the reason so we can improve."
|
662 |
+
msgstr "Fortæl os venligst årsagen, så vi kan forbedre det."
|
663 |
|
664 |
+
#: includes/i18n.php:195
|
665 |
msgid "What's the plugin's name?"
|
666 |
+
msgstr "Hvad er pluginnets navn?"
|
667 |
|
668 |
+
#: includes/i18n.php:196
|
669 |
msgid "What price would you feel comfortable paying?"
|
670 |
+
msgstr "What price would you feel comfortable paying?"
|
671 |
|
672 |
+
#: includes/i18n.php:197
|
673 |
msgid "I couldn't understand how to make it work"
|
674 |
+
msgstr "Jeg forstod ikke, hvordan jeg skulle få det til at fungere."
|
675 |
|
676 |
+
#: includes/i18n.php:198
|
677 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
678 |
+
msgstr "Pluginnet er godt, men jeg har brug for en specifik funktionalitet, som det ikke understøtter."
|
|
|
679 |
|
680 |
+
#: includes/i18n.php:199
|
681 |
msgid "The plugin is not working"
|
682 |
msgstr "Pluginnet virker ikke"
|
683 |
|
684 |
+
#: includes/i18n.php:200
|
685 |
msgid "It's not what I was looking for"
|
686 |
+
msgstr "Det er ikke, hvad jeg søgte"
|
687 |
|
688 |
+
#: includes/i18n.php:201
|
689 |
msgid "The plugin didn't work as expected"
|
690 |
+
msgstr "Plugin virkede ikke som forventet"
|
691 |
|
692 |
+
#: includes/i18n.php:202
|
693 |
msgid "What feature?"
|
694 |
+
msgstr "Hvilken feature?"
|
695 |
|
696 |
+
#: includes/i18n.php:203
|
697 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
698 |
+
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
699 |
|
700 |
+
#: includes/i18n.php:204
|
701 |
msgid "What you've been looking for?"
|
702 |
+
msgstr "What you've been looking for?"
|
703 |
|
704 |
+
#: includes/i18n.php:205
|
705 |
msgid "What did you expect?"
|
706 |
msgstr "Hvad forventede du?"
|
707 |
|
708 |
+
#: includes/i18n.php:206
|
709 |
msgid "The plugin didn't work"
|
710 |
msgstr "Pluginnet virkede ikke"
|
711 |
|
712 |
+
#: includes/i18n.php:207
|
713 |
msgid "I don't like to share my information with you"
|
714 |
+
msgstr "I don't like to share my information with you"
|
715 |
|
716 |
+
#: includes/i18n.php:208
|
717 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
718 |
+
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
719 |
|
720 |
+
#: includes/i18n.php:212
|
721 |
msgctxt "greeting"
|
722 |
msgid "Hey %s,"
|
723 |
msgstr "Hey %s,"
|
724 |
|
725 |
+
#: includes/i18n.php:213
|
726 |
msgctxt "a greeting. E.g. Thanks John!"
|
727 |
msgid "Thanks %s!"
|
728 |
msgstr "Tak %s!"
|
729 |
|
730 |
+
#: includes/i18n.php:214
|
731 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
732 |
+
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
733 |
|
734 |
+
#: includes/i18n.php:215
|
735 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
736 |
+
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
737 |
|
738 |
+
#: includes/i18n.php:216
|
739 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
740 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
741 |
|
742 |
+
#: includes/i18n.php:217
|
743 |
msgid "complete the install"
|
744 |
+
msgstr "færdiggør installeringen"
|
745 |
|
746 |
+
#: includes/i18n.php:218
|
747 |
msgid "start the trial"
|
748 |
+
msgstr "start prøveperioden"
|
749 |
|
750 |
+
#: includes/i18n.php:219
|
751 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
752 |
+
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
753 |
|
754 |
+
#: includes/i18n.php:220
|
755 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
756 |
+
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
757 |
|
758 |
+
#: includes/i18n.php:221
|
759 |
msgid "What permissions are being granted?"
|
760 |
msgstr "Hvilke tilladelser bliver givet?"
|
761 |
|
762 |
+
#: includes/i18n.php:222
|
763 |
msgid "Your Profile Overview"
|
764 |
msgstr "Overblik af din profil"
|
765 |
|
766 |
+
#: includes/i18n.php:223
|
767 |
msgid "Name and email address"
|
768 |
msgstr "Navn og e-mailadresse"
|
769 |
|
770 |
+
#: includes/i18n.php:224
|
771 |
msgid "Your Site Overview"
|
772 |
msgstr "Overblik af dit websted"
|
773 |
|
774 |
+
#: includes/i18n.php:225
|
775 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
776 |
+
msgstr "Websteds-URL, WP version, PHP info, plugins og temaer"
|
777 |
|
778 |
+
#: includes/i18n.php:226
|
779 |
msgid "Current Plugin Events"
|
780 |
msgstr "Nuværende plugin-begivenheder"
|
781 |
|
782 |
+
#: includes/i18n.php:227
|
783 |
msgid "Activation, deactivation and uninstall"
|
784 |
msgstr "Aktivering, deaktivering og afinstallering"
|
785 |
|
786 |
+
#: includes/i18n.php:228
|
787 |
msgid "Plugins & Themes"
|
788 |
msgstr "Plugins & Temaer"
|
789 |
|
790 |
+
#: includes/i18n.php:229
|
791 |
msgid "Titles, versions and state."
|
792 |
msgstr "Titler, versioner og tilstand."
|
793 |
|
794 |
+
#: includes/i18n.php:230
|
795 |
msgid "Admin Notices"
|
796 |
+
msgstr "Admin Notices"
|
797 |
|
798 |
+
#: includes/i18n.php:231
|
799 |
msgid "Newsletter"
|
800 |
msgstr "Nyhedsbrev"
|
801 |
|
802 |
+
#: includes/i18n.php:232
|
803 |
msgid "Updates, announcements, marketing, no spam"
|
804 |
+
msgstr "Updates, announcements, marketing, no spam"
|
805 |
|
806 |
+
#: includes/i18n.php:233
|
807 |
msgid "Privacy Policy"
|
808 |
msgstr "Privatlivspolitik"
|
809 |
|
810 |
+
#: includes/i18n.php:234
|
811 |
msgid "Terms of Service"
|
812 |
msgstr "Servicevilkår"
|
813 |
|
814 |
+
#: includes/i18n.php:235
|
815 |
msgctxt "as activating plugin"
|
816 |
msgid "Activating"
|
817 |
msgstr "Aktiverer"
|
818 |
|
819 |
+
#: includes/i18n.php:236
|
820 |
msgctxt "as in the process of sending an email"
|
821 |
msgid "Sending email"
|
822 |
msgstr "Sender e-mail"
|
823 |
|
824 |
+
#: includes/i18n.php:237
|
825 |
msgctxt "button label"
|
826 |
msgid "Allow & Continue"
|
827 |
msgstr "Tillad & Fortsæt"
|
828 |
|
829 |
+
#: includes/i18n.php:238
|
830 |
msgctxt "button label"
|
831 |
msgid "Agree & Activate License"
|
832 |
msgstr "Accepter & aktiver licens"
|
833 |
|
834 |
+
#: includes/i18n.php:239
|
835 |
msgctxt "verb"
|
836 |
msgid "Skip"
|
837 |
msgstr "Spring over"
|
838 |
|
839 |
+
#: includes/i18n.php:240
|
840 |
msgid "Click here to use the plugin anonymously"
|
841 |
msgstr "Klik her for at benytte pluginnet anonymt"
|
842 |
|
843 |
+
#: includes/i18n.php:241
|
844 |
msgid "Re-send activation email"
|
845 |
msgstr "Gensend e-mail om aktivering"
|
846 |
|
847 |
+
#: includes/i18n.php:242
|
848 |
msgid "License key"
|
849 |
msgstr "Licensnøgle"
|
850 |
|
851 |
+
#: includes/i18n.php:243
|
852 |
msgid "Send License Key"
|
853 |
msgstr "Send licensnøgle"
|
854 |
|
855 |
+
#: includes/i18n.php:244
|
856 |
msgid "Sending license key"
|
857 |
msgstr "Sender licensnøgle"
|
858 |
|
859 |
+
#: includes/i18n.php:245
|
860 |
msgid "Have a license key?"
|
861 |
msgstr "Har du en licensnøgle?"
|
862 |
|
863 |
+
#: includes/i18n.php:246
|
864 |
msgid "Don't have a license key?"
|
865 |
msgstr "Har du ikke en licensnøgle?"
|
866 |
|
867 |
+
#: includes/i18n.php:247
|
868 |
msgid "Can't find your license key?"
|
869 |
msgstr "Kan du ikke finde din licensnøgle?"
|
870 |
|
871 |
+
#: includes/i18n.php:248
|
872 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
873 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
874 |
|
875 |
+
#: includes/i18n.php:249
|
876 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
877 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
878 |
|
879 |
+
#: includes/i18n.php:250
|
880 |
msgid "Opt In"
|
881 |
+
msgstr "Tilmeld"
|
882 |
|
883 |
+
#: includes/i18n.php:251
|
884 |
msgid "Opt Out"
|
885 |
+
msgstr "Frameld"
|
886 |
|
887 |
+
#: includes/i18n.php:252
|
888 |
msgid "On second thought - I want to continue helping"
|
889 |
+
msgstr "Ved nærmere eftertanke - Jeg vil fortsætte med at hjælpe"
|
890 |
|
891 |
+
#: includes/i18n.php:253
|
892 |
msgid "Opting out..."
|
893 |
+
msgstr "Framelder..."
|
894 |
|
895 |
+
#: includes/i18n.php:254
|
896 |
msgid "Opting in..."
|
897 |
+
msgstr "Tilmelder..."
|
898 |
|
899 |
+
#: includes/i18n.php:255
|
900 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
901 |
+
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
902 |
|
903 |
+
#: includes/i18n.php:256
|
904 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
905 |
+
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
906 |
|
907 |
+
#: includes/i18n.php:257
|
908 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
909 |
+
msgstr "Ved at klikke \"Frameld\" vil vi ikke længere sende data fra %s til %s."
|
|
|
|
|
910 |
|
911 |
+
#: includes/i18n.php:261
|
912 |
msgid "Screenshots"
|
913 |
msgstr "Skærmbilleder"
|
914 |
|
915 |
+
#: includes/i18n.php:262
|
916 |
msgid "Click to view full-size screenshot %d"
|
917 |
+
msgstr "Click to view full-size screenshot %d"
|
918 |
|
919 |
+
#: includes/i18n.php:266
|
920 |
msgid "Freemius Debug"
|
921 |
msgstr "Freemius Debug"
|
922 |
|
923 |
+
#: includes/i18n.php:267
|
924 |
msgctxt "as turned on"
|
925 |
msgid "On"
|
926 |
msgstr "Til"
|
927 |
|
928 |
+
#: includes/i18n.php:268
|
929 |
msgctxt "as turned off"
|
930 |
msgid "Off"
|
931 |
msgstr "Fra"
|
932 |
|
933 |
+
#: includes/i18n.php:269
|
934 |
msgctxt "as code debugging"
|
935 |
msgid "Debugging"
|
936 |
msgstr "Fejlfinding"
|
937 |
|
938 |
+
#: includes/i18n.php:270
|
939 |
msgid "Freemius State"
|
940 |
msgstr "Freemius tilstand"
|
941 |
|
942 |
+
#: includes/i18n.php:271
|
943 |
msgctxt "as connection was successful"
|
944 |
msgid "Connected"
|
945 |
msgstr "Forbundet"
|
946 |
|
947 |
+
#: includes/i18n.php:272
|
948 |
msgctxt "as connection blocked"
|
949 |
msgid "Blocked"
|
950 |
msgstr "Blokeret"
|
951 |
|
952 |
+
#: includes/i18n.php:273
|
953 |
msgctxt "as application program interface"
|
954 |
msgid "API"
|
955 |
msgstr "API"
|
956 |
|
957 |
+
#: includes/i18n.php:274
|
958 |
msgctxt "as software development kit versions"
|
959 |
msgid "SDK"
|
960 |
msgstr "SDK"
|
961 |
|
962 |
+
#: includes/i18n.php:275
|
963 |
msgctxt "as software development kit versions"
|
964 |
msgid "SDK Versions"
|
965 |
msgstr "SDK-versioner"
|
966 |
|
967 |
+
#: includes/i18n.php:276
|
968 |
msgctxt "as plugin folder path"
|
969 |
msgid "Plugin Path"
|
970 |
msgstr "Plugin-sti"
|
971 |
|
972 |
+
#: includes/i18n.php:277
|
973 |
msgctxt "as sdk path"
|
974 |
msgid "SDK Path"
|
975 |
msgstr "SDK-sti"
|
976 |
|
977 |
+
#: includes/i18n.php:278
|
978 |
msgid "Add Ons of Plugin %s"
|
979 |
msgstr "Tilføjelser til plugin %s"
|
980 |
|
981 |
+
#: includes/i18n.php:279
|
982 |
msgid "Are you sure you want to delete all Freemius data?"
|
983 |
+
msgstr "Er du sikker på, du vil slette al Freemius data?"
|
984 |
|
985 |
+
#: includes/i18n.php:280
|
986 |
msgid "Actions"
|
987 |
msgstr "Handlinger"
|
988 |
|
989 |
+
#: includes/i18n.php:281
|
990 |
msgid "Delete All Accounts"
|
991 |
msgstr "Slet alle konti"
|
992 |
|
993 |
+
#: includes/i18n.php:282
|
994 |
msgid "Start Fresh"
|
995 |
msgstr "Start forfra"
|
996 |
|
997 |
+
#: includes/i18n.php:283
|
998 |
msgid "Clear API Cache"
|
999 |
msgstr "Ryd API-cache"
|
1000 |
|
1001 |
+
#: includes/i18n.php:284
|
1002 |
msgid "Sync Data From Server"
|
1003 |
msgstr "Synkroniser data fra server"
|
1004 |
|
1005 |
+
#: includes/i18n.php:285
|
1006 |
msgid "Scheduled Crons"
|
1007 |
msgstr "Planlagte cron jobs"
|
1008 |
|
1009 |
+
#: includes/i18n.php:286
|
1010 |
+
msgid "Cron Type"
|
1011 |
+
msgstr "Cron Type"
|
1012 |
+
|
1013 |
+
#: includes/i18n.php:287
|
1014 |
msgid "Plugins & Themes Sync"
|
1015 |
msgstr "Synkronisering af plugins og temaer"
|
1016 |
|
1017 |
+
#: includes/i18n.php:288
|
1018 |
+
msgid "Licenses"
|
1019 |
+
msgstr "Licenser"
|
1020 |
+
|
1021 |
+
#: includes/i18n.php:289
|
1022 |
+
msgid "Debug Log"
|
1023 |
+
msgstr "Fejlfindingslog"
|
1024 |
+
|
1025 |
+
#: includes/i18n.php:290
|
1026 |
+
msgid "All"
|
1027 |
+
msgstr "Alle"
|
1028 |
+
|
1029 |
+
#: includes/i18n.php:291
|
1030 |
+
msgid "File"
|
1031 |
+
msgstr "Fil"
|
1032 |
+
|
1033 |
+
#: includes/i18n.php:292
|
1034 |
+
msgid "Function"
|
1035 |
+
msgstr "Funktion"
|
1036 |
+
|
1037 |
+
#: includes/i18n.php:293
|
1038 |
+
msgid "Process ID"
|
1039 |
+
msgstr "Proces-ID"
|
1040 |
+
|
1041 |
+
#: includes/i18n.php:294
|
1042 |
+
msgid "Logger"
|
1043 |
+
msgstr "Logger"
|
1044 |
+
|
1045 |
+
#: includes/i18n.php:295
|
1046 |
+
msgid "Message"
|
1047 |
+
msgstr "Besked"
|
1048 |
+
|
1049 |
+
#: includes/i18n.php:296
|
1050 |
+
msgid "Download"
|
1051 |
+
msgstr "Download"
|
1052 |
+
|
1053 |
+
#: includes/i18n.php:297
|
1054 |
+
msgid "Filter"
|
1055 |
+
msgstr "Filter"
|
1056 |
+
|
1057 |
+
#: includes/i18n.php:298
|
1058 |
+
msgid "Type"
|
1059 |
+
msgstr "Type"
|
1060 |
+
|
1061 |
+
#: includes/i18n.php:299
|
1062 |
+
msgid "All Types"
|
1063 |
+
msgstr "Alle typer"
|
1064 |
+
|
1065 |
+
#: includes/i18n.php:300
|
1066 |
+
msgid "All Requests"
|
1067 |
+
msgstr "Alle forespørgsler"
|
1068 |
+
|
1069 |
+
#: includes/i18n.php:304
|
1070 |
msgctxt "as congratulations"
|
1071 |
msgid "Congrats"
|
1072 |
msgstr "Tillykke"
|
1073 |
|
1074 |
+
#: includes/i18n.php:305
|
1075 |
msgctxt "exclamation"
|
1076 |
msgid "Oops"
|
1077 |
msgstr "Ups"
|
1078 |
|
1079 |
+
#: includes/i18n.php:306
|
1080 |
msgctxt "interjection expressing joy or exuberance"
|
1081 |
msgid "Yee-haw"
|
1082 |
+
msgstr "Yee-haw"
|
1083 |
|
1084 |
+
#: includes/i18n.php:307
|
1085 |
msgctxt ""
|
|
|
|
|
1086 |
msgid "W00t"
|
1087 |
+
msgstr "W00t"
|
1088 |
|
1089 |
+
#: includes/i18n.php:309
|
1090 |
msgctxt "a positive response"
|
1091 |
msgid "Right on"
|
1092 |
msgstr "Sådan"
|
1093 |
|
1094 |
+
#: includes/i18n.php:310
|
1095 |
msgctxt ""
|
|
|
|
|
1096 |
msgid "Hmm"
|
1097 |
msgstr "Hmm"
|
1098 |
|
1099 |
+
#: includes/i18n.php:312
|
1100 |
msgid "O.K"
|
1101 |
msgstr "O.K"
|
1102 |
|
1103 |
+
#: includes/i18n.php:313
|
1104 |
msgctxt "exclamation"
|
1105 |
msgid "Hey"
|
1106 |
msgstr "Hey"
|
1107 |
|
1108 |
+
#: includes/i18n.php:314
|
1109 |
msgctxt "advance notice of something that will need attention."
|
1110 |
msgid "Heads up"
|
1111 |
msgstr "Se her"
|
1112 |
|
1113 |
+
#: includes/i18n.php:319
|
1114 |
msgid "Seems like you got the latest release."
|
1115 |
+
msgstr "Det ser ud til, at du har den seneste udgivelse."
|
1116 |
|
1117 |
+
#: includes/i18n.php:320
|
1118 |
msgid "You are all good!"
|
1119 |
msgstr "Det var det!"
|
1120 |
|
1121 |
+
#: includes/i18n.php:321
|
1122 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1123 |
+
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1124 |
|
1125 |
+
#: includes/i18n.php:322
|
1126 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1127 |
+
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1128 |
|
1129 |
+
#: includes/i18n.php:323
|
1130 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1131 |
+
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1132 |
|
1133 |
+
#: includes/i18n.php:324
|
1134 |
msgid "Your name was successfully updated."
|
1135 |
msgstr "Dit navn er blevet opdateret."
|
1136 |
|
1137 |
+
#: includes/i18n.php:325
|
1138 |
msgid "You have successfully updated your %s."
|
1139 |
msgstr "Opdatering af %s blev gennemført."
|
1140 |
|
1141 |
+
#: includes/i18n.php:326
|
1142 |
msgid "Please provide your full name."
|
1143 |
msgstr "Indtast venligst dit fulde navn."
|
1144 |
|
1145 |
+
#: includes/i18n.php:327
|
1146 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1147 |
+
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1148 |
|
1149 |
+
#: includes/i18n.php:328
|
1150 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1151 |
+
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1152 |
|
1153 |
+
#: includes/i18n.php:329
|
1154 |
msgid "No credit card required"
|
1155 |
msgstr "Betalingskort ikke påkrævet"
|
1156 |
|
1157 |
+
#: includes/i18n.php:330
|
1158 |
msgid "Premium plugin version was successfully activated."
|
1159 |
+
msgstr "Premium-versionen af pluginnet blev aktiveret."
|
1160 |
|
1161 |
+
#: includes/i18n.php:331
|
1162 |
msgid "The upgrade of %s was successfully completed."
|
1163 |
+
msgstr "Opgraderingen af %s blev fuldendt."
|
1164 |
|
1165 |
+
#: includes/i18n.php:332
|
1166 |
msgid "Your account was successfully activated with the %s plan."
|
1167 |
+
msgstr "Din konto blev aktiveret med planen %s."
|
1168 |
|
1169 |
+
#: includes/i18n.php:333
|
1170 |
msgid "Download the latest %s version now"
|
1171 |
msgstr "Download den seneste version af %s nu"
|
1172 |
|
1173 |
+
#: includes/i18n.php:334
|
1174 |
msgid "Please follow these steps to complete the upgrade"
|
1175 |
+
msgstr "Følg venligst disse trin for at færdiggøre opgraderingen"
|
1176 |
|
1177 |
+
#: includes/i18n.php:335
|
1178 |
msgid "Download the latest %s version"
|
1179 |
msgstr "Download den seneste version af %s"
|
1180 |
|
1181 |
+
#: includes/i18n.php:336
|
1182 |
+
msgid "Download the latest version"
|
1183 |
+
msgstr "Download den seneste version"
|
1184 |
+
|
1185 |
+
#: includes/i18n.php:337
|
1186 |
msgid "Deactivate the free version"
|
1187 |
msgstr "Deaktiver den gratis version"
|
1188 |
|
1189 |
+
#: includes/i18n.php:338
|
1190 |
msgid "Upload and activate the downloaded version"
|
1191 |
msgstr "Upload og aktiver den downloadede version"
|
1192 |
|
1193 |
+
#: includes/i18n.php:339
|
1194 |
msgid "How to upload and activate?"
|
1195 |
msgstr "Upload og aktivering, hvordan?"
|
1196 |
|
1197 |
+
#: includes/i18n.php:340
|
1198 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1199 |
msgid "%s Add-on was successfully purchased."
|
1200 |
msgstr "Betalingen for tilføjelsen %s blev gennemført."
|
1201 |
|
1202 |
+
#: includes/i18n.php:342
|
1203 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1204 |
+
msgstr "Your %s Add-on plan was successfully upgraded."
|
1205 |
|
1206 |
+
#: includes/i18n.php:343
|
1207 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1208 |
+
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1209 |
|
1210 |
+
#: includes/i18n.php:344
|
1211 |
msgid "Your plan was successfully upgraded."
|
1212 |
msgstr "Din plan er blevet opgraderet."
|
1213 |
|
1214 |
+
#: includes/i18n.php:345
|
1215 |
msgid "Your plan was successfully changed to %s."
|
1216 |
msgstr "Din plan er blevet ændret til %s."
|
1217 |
|
1218 |
+
#: includes/i18n.php:346
|
1219 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1220 |
+
msgstr "Din licens er udløbet. Du kan stadig fortsætte med at benytte det gratis plugin for evigt."
|
|
|
|
|
1221 |
|
1222 |
+
#: includes/i18n.php:347
|
1223 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1224 |
+
msgstr "Din licens er blevet annulleret. Hvis du mener, dette er en fejl, så kontakt venligst support."
|
|
|
|
|
1225 |
|
1226 |
+
#: includes/i18n.php:348
|
1227 |
msgid "Your trial has been successfully started."
|
1228 |
msgstr "Din prøveperiode er begyndt."
|
1229 |
|
1230 |
+
#: includes/i18n.php:349
|
1231 |
msgid "Your license was successfully activated."
|
1232 |
msgstr "Din licens er blevet aktiveret."
|
1233 |
|
1234 |
+
#: includes/i18n.php:350
|
1235 |
msgid "It looks like your site currently doesn't have an active license."
|
1236 |
msgstr "Det ser ud til, at dit websted endnu ikke har en aktiv licens."
|
1237 |
|
1238 |
+
#: includes/i18n.php:351
|
1239 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1240 |
+
msgstr "Din licens blev deaktiveret, du er tilbage på planen %s."
|
|
|
1241 |
|
1242 |
+
#: includes/i18n.php:352
|
1243 |
msgid "It looks like the license deactivation failed."
|
1244 |
msgstr "Det ser ud til, at licens-deaktiveringen mislykkedes."
|
1245 |
|
1246 |
+
#: includes/i18n.php:353
|
1247 |
msgid "It looks like the license could not be activated."
|
1248 |
msgstr "Det ser ud til, at licensen ikke kunne aktiveres."
|
1249 |
|
1250 |
+
#: includes/i18n.php:354
|
1251 |
msgid "Error received from the server:"
|
1252 |
msgstr "Fejl modtager fra serveren:"
|
1253 |
|
1254 |
+
#: includes/i18n.php:355
|
1255 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1256 |
msgstr "Din prøveperiode er udløbet. Du kan fortsat bruge alle vores gratis funktioner."
|
1257 |
|
1258 |
+
#: includes/i18n.php:356
|
1259 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1260 |
+
msgstr "Din plan blev nedgraderet. Licensen til din %s plan vil udløbe om %s."
|
|
|
|
|
1261 |
|
1262 |
+
#: includes/i18n.php:357
|
1263 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1264 |
+
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1265 |
|
1266 |
+
#: includes/i18n.php:358
|
1267 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1268 |
+
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1269 |
|
1270 |
+
#: includes/i18n.php:359
|
1271 |
msgid "Your %s free trial was successfully cancelled."
|
1272 |
+
msgstr "Din gratis prøveperiode for %s er blevet annulleret."
|
1273 |
|
1274 |
+
#: includes/i18n.php:360
|
1275 |
msgctxt "%s - numeric version number"
|
1276 |
msgid "Version %s was released."
|
1277 |
msgstr "Version %s er blevet udgivet."
|
1278 |
|
1279 |
+
#: includes/i18n.php:361
|
1280 |
msgid "Please download %s."
|
1281 |
msgstr "Download venligst %s."
|
1282 |
|
1283 |
+
#: includes/i18n.php:362
|
1284 |
msgctxt "%s - plan name, as the latest professional version here"
|
1285 |
msgid "the latest %s version here"
|
1286 |
msgstr "den seneste version af %s her"
|
1287 |
|
1288 |
+
#: includes/i18n.php:364
|
1289 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1290 |
+
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1291 |
|
1292 |
+
#: includes/i18n.php:365
|
1293 |
msgctxt "call to action"
|
1294 |
msgid "Start free trial"
|
1295 |
msgstr "Start gratis prøveperiode"
|
1296 |
|
1297 |
+
#: includes/i18n.php:366
|
1298 |
msgid "Starting trial"
|
1299 |
+
msgstr "Starter prøveperiode"
|
1300 |
|
1301 |
+
#: includes/i18n.php:367
|
1302 |
msgid "Please wait"
|
1303 |
+
msgstr "Vent venligst"
|
1304 |
|
1305 |
+
#: includes/i18n.php:368
|
1306 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1307 |
+
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1308 |
|
1309 |
+
#: includes/i18n.php:369
|
1310 |
msgid "You already utilized a trial before."
|
1311 |
msgstr "Du har allerede brugt din prøveperiode."
|
1312 |
|
1313 |
+
#: includes/i18n.php:370
|
1314 |
msgid "You are already running the plugin in a trial mode."
|
1315 |
+
msgstr "Du benytter allerede dette plugin under en prøveperiode."
|
1316 |
|
1317 |
+
#: includes/i18n.php:371
|
1318 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1319 |
+
msgstr "Plan %s eksisterer ikke og kan derfor ikke starte prøveperiode."
|
1320 |
|
1321 |
+
#: includes/i18n.php:372
|
1322 |
msgid "Plan %s does not support a trial period."
|
1323 |
msgstr "Plan %s understøtter ikke en prøveperiode."
|
1324 |
|
1325 |
+
#: includes/i18n.php:373
|
1326 |
msgid "None of the plugin's plans supports a trial period."
|
1327 |
+
msgstr "Ingen af dette plugins planer understøtter prøveperiode."
|
1328 |
|
1329 |
+
#: includes/i18n.php:374
|
1330 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1331 |
+
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1332 |
|
1333 |
+
#: includes/i18n.php:375
|
1334 |
msgid "No commitment for %s days - cancel anytime!"
|
1335 |
msgstr "Ingen bindinger i %s dage - annuller når som helst!"
|
1336 |
|
1337 |
+
#: includes/i18n.php:376
|
1338 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1339 |
+
msgstr "Din licens er udløbet. Du kan stadig benytte alle funktionerne i %s, men du bliver nødt til at fornye din licens for at få opdateringer og support."
|
|
|
|
|
|
|
1340 |
|
1341 |
+
#: includes/i18n.php:377
|
1342 |
msgid "Couldn't activate %s."
|
1343 |
msgstr "Kunne ikke aktivere %s."
|
1344 |
|
1345 |
+
#: includes/i18n.php:378
|
1346 |
msgid "Please contact us with the following message:"
|
1347 |
msgstr "Kontakt os venligst med følgende besked:"
|
1348 |
|
1349 |
+
#: includes/i18n.php:379
|
1350 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1351 |
+
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1352 |
|
1353 |
+
#: includes/i18n.php:380
|
1354 |
msgid "Please contact us here"
|
1355 |
msgstr "Kontakt os her"
|
1356 |
|
1357 |
+
#: includes/i18n.php:381
|
1358 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1359 |
+
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
|
|
|
|
1360 |
|
1361 |
+
#: includes/i18n.php:384
|
1362 |
msgid "From unknown reason, the API connectivity test failed."
|
1363 |
+
msgstr "From unknown reason, the API connectivity test failed."
|
1364 |
|
1365 |
+
#: includes/i18n.php:385
|
1366 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1367 |
+
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1368 |
|
1369 |
+
#: includes/i18n.php:386
|
1370 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1371 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1372 |
|
1373 |
+
#: includes/i18n.php:387
|
1374 |
+
msgid "Disabled method(s):"
|
1375 |
+
msgstr "Disabled method(s):"
|
|
|
1376 |
|
1377 |
+
#: includes/i18n.php:388
|
1378 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1379 |
+
msgstr "Af en ukendt årsag blokerer CloudFlare, vores firewall, forbindelsen."
|
1380 |
+
|
1381 |
+
#: includes/i18n.php:389
|
1382 |
msgctxt "as pluginX requires an access to our API"
|
1383 |
msgid "%s requires an access to our API."
|
1384 |
+
msgstr "%s påkræver adgang til vores API."
|
1385 |
|
1386 |
+
#: includes/i18n.php:391
|
1387 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1388 |
+
msgstr "Det ser ud til, at din server benytter Squid ACL (access control lists), som blokerer forbindelsen."
|
|
|
|
|
1389 |
|
1390 |
+
#: includes/i18n.php:392
|
1391 |
msgid "I don't know what is Squid or ACL, help me!"
|
1392 |
+
msgstr "Jeg ved ikke hvad Squid eller ACL er. Hjælp mig!"
|
1393 |
|
1394 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1395 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1396 |
+
msgstr "Vi vil kontakte din udbyder og løse problemet. Når vi har opdatinger i sagen, vil vi følge op med en email til dig på %s."
|
|
|
|
|
1397 |
|
1398 |
+
#: includes/i18n.php:394
|
1399 |
msgid "I'm a system administrator"
|
1400 |
msgstr "Jeg er en system-administrator"
|
1401 |
|
1402 |
+
#: includes/i18n.php:395
|
1403 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1404 |
+
msgstr "Sådan, venligst whitelist følgende domæner: %s. Når du er færdig, skal du deaktivere pluginnet og aktivere det igen."
|
|
|
|
|
1405 |
|
1406 |
+
#: includes/i18n.php:396
|
1407 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1408 |
+
msgstr "Jeg ved ikke hvad cURL er, eller hvordan jeg installerer det. Hjælp mig!"
|
1409 |
|
1410 |
+
#: includes/i18n.php:398
|
1411 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1412 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1413 |
|
1414 |
+
#: includes/i18n.php:399
|
1415 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1416 |
+
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1417 |
|
1418 |
+
#: includes/i18n.php:400
|
1419 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1420 |
+
msgstr "Vi beklager ulejligheden, og vi er her for at hjælpe, hvis du giver os chancen."
|
|
|
1421 |
|
1422 |
+
#: includes/i18n.php:401
|
1423 |
msgid "Yes - I'm giving you a chance to fix it"
|
1424 |
msgstr "Ja - jeg giver jer en chance for at rette det"
|
1425 |
|
1426 |
+
#: includes/i18n.php:402
|
1427 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1428 |
+
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1429 |
|
1430 |
+
#: includes/i18n.php:403
|
1431 |
msgid "Let's try your previous version"
|
1432 |
msgstr "Lad os prøve din forrige version"
|
1433 |
|
1434 |
+
#: includes/i18n.php:404
|
1435 |
msgid "Uninstall this version and install the previous one."
|
1436 |
msgstr "Afinstaller denne version og installer den forrige."
|
1437 |
|
1438 |
+
#: includes/i18n.php:405
|
1439 |
msgid "That's exhausting, please deactivate"
|
1440 |
+
msgstr "Det er udmattende, deaktiver venligst"
|
1441 |
|
1442 |
+
#: includes/i18n.php:406
|
1443 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1444 |
+
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1445 |
|
1446 |
+
#: includes/i18n.php:407
|
1447 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1448 |
+
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1449 |
|
1450 |
+
#: includes/i18n.php:408
|
1451 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1452 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1453 |
+
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1454 |
|
1455 |
+
#: includes/i18n.php:410
|
1456 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1457 |
+
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1458 |
|
1459 |
+
#: includes/i18n.php:413
|
1460 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1461 |
+
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1462 |
|
1463 |
+
#: includes/i18n.php:414
|
1464 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1465 |
+
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1466 |
|
1467 |
+
#: includes/i18n.php:415
|
1468 |
msgid "%s is the new owner of the account."
|
1469 |
msgstr "%s er den nye ejer af kontoen."
|
1470 |
|
1471 |
+
#: includes/i18n.php:417
|
1472 |
msgctxt "addonX cannot run without pluginY"
|
1473 |
msgid "%s cannot run without %s."
|
1474 |
msgstr "%s virker ikke uden %s."
|
1475 |
|
1476 |
+
#: includes/i18n.php:419
|
1477 |
msgctxt "addonX cannot run..."
|
1478 |
msgid "%s cannot run without the plugin."
|
1479 |
msgstr "%s virker ikke uden pluginnet."
|
1480 |
|
1481 |
+
#: includes/i18n.php:420
|
1482 |
msgctxt "pluginX activation was successfully..."
|
1483 |
msgid "%s activation was successfully completed."
|
1484 |
msgstr "Aktivering af %s blev gennemført."
|
1485 |
|
1486 |
+
#: includes/i18n.php:422
|
1487 |
msgctxt "Plugin installer section title"
|
1488 |
msgid "Features & Pricing"
|
1489 |
msgstr "Funktioner og priser"
|
1490 |
|
1491 |
+
#: includes/i18n.php:423
|
1492 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1493 |
+
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1494 |
|
1495 |
+
#: includes/i18n.php:424
|
1496 |
msgid "Paid add-on must be deployed to Freemius."
|
1497 |
+
msgstr "Paid add-on must be deployed to Freemius."
|
1498 |
|
1499 |
+
#: includes/i18n.php:428
|
1500 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1501 |
+
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1502 |
|
1503 |
+
#: includes/i18n.php:429
|
1504 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1505 |
+
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1506 |
|
1507 |
+
#: includes/i18n.php:434
|
1508 |
msgctxt "as every month"
|
1509 |
msgid "Monthly"
|
1510 |
msgstr "Månedligt"
|
1511 |
|
1512 |
+
#: includes/i18n.php:435
|
1513 |
msgctxt "as monthly period"
|
1514 |
msgid "mo"
|
1515 |
msgstr "md"
|
1516 |
|
1517 |
+
#: includes/i18n.php:436
|
1518 |
msgctxt "as once a year"
|
1519 |
msgid "Annual"
|
1520 |
msgstr "Årligt"
|
1521 |
|
1522 |
+
#: includes/i18n.php:437
|
1523 |
msgctxt "as once a year"
|
1524 |
msgid "Annually"
|
1525 |
msgstr "Årligt"
|
1526 |
|
1527 |
+
#: includes/i18n.php:438
|
1528 |
msgctxt "as once a year"
|
1529 |
msgid "Once"
|
1530 |
msgstr "Engangsbeløb"
|
1531 |
|
1532 |
+
#: includes/i18n.php:439
|
1533 |
msgctxt "as annual period"
|
1534 |
msgid "year"
|
1535 |
msgstr "år"
|
1536 |
|
1537 |
+
#: includes/i18n.php:440
|
1538 |
msgid "Lifetime"
|
1539 |
+
msgstr "Livstid"
|
1540 |
|
1541 |
+
#: includes/i18n.php:441
|
1542 |
msgctxt "e.g. the best product"
|
1543 |
msgid "Best"
|
1544 |
msgstr "Bedste"
|
1545 |
|
1546 |
+
#: includes/i18n.php:442
|
1547 |
msgctxt "e.g. billed monthly"
|
1548 |
msgid "Billed %s"
|
1549 |
+
msgstr "Faktureret %s"
|
1550 |
|
1551 |
+
#: includes/i18n.php:443
|
1552 |
msgctxt "as a discount of $5 or 10%"
|
1553 |
msgid "Save %s"
|
1554 |
msgstr "Spar %s"
|
1555 |
|
1556 |
+
#: includes/i18n.php:445
|
1557 |
msgid "View details"
|
1558 |
msgstr "Vis detaljer"
|
1559 |
|
1560 |
+
#: includes/i18n.php:449
|
1561 |
msgctxt "button label"
|
1562 |
msgid "Approve & Start Trial"
|
1563 |
+
msgstr "Godkend & start prøveperiode"
|
1564 |
|
1565 |
+
#: includes/i18n.php:451
|
1566 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1567 |
+
msgstr "Du er 1 klik fra at begynde din %1$s dages gratis prøveperiode af planen %2$s."
|
|
|
|
|
1568 |
|
1569 |
+
#: includes/i18n.php:453
|
1570 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1571 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1572 |
|
1573 |
+
#: includes/i18n.php:459
|
1574 |
msgid "Business name"
|
1575 |
+
msgstr "Firmanavn"
|
1576 |
|
1577 |
+
#: includes/i18n.php:460
|
1578 |
msgid "Tax / VAT ID"
|
1579 |
+
msgstr "Moms / VAT ID"
|
1580 |
|
1581 |
+
#: includes/i18n.php:461
|
1582 |
msgid "Address Line %d"
|
1583 |
+
msgstr "Adresselinje %d"
|
1584 |
|
1585 |
+
#: includes/i18n.php:462
|
1586 |
msgid "Country"
|
1587 |
+
msgstr "Land"
|
1588 |
|
1589 |
+
#: includes/i18n.php:463
|
1590 |
msgid "Select Country"
|
1591 |
+
msgstr "Vælg land"
|
1592 |
|
1593 |
+
#: includes/i18n.php:464
|
1594 |
msgid "City"
|
1595 |
+
msgstr "By"
|
1596 |
|
1597 |
+
#: includes/i18n.php:465
|
1598 |
msgid "Town"
|
1599 |
+
msgstr "By"
|
1600 |
|
1601 |
+
#: includes/i18n.php:466
|
1602 |
msgid "State"
|
1603 |
+
msgstr "Stat"
|
1604 |
|
1605 |
+
#: includes/i18n.php:467
|
1606 |
msgid "Province"
|
1607 |
+
msgstr "Provins"
|
1608 |
|
1609 |
+
#: includes/i18n.php:468
|
1610 |
msgid "ZIP / Postal Code"
|
1611 |
+
msgstr "ZIP / Postnummer"
|
1612 |
+
|
1613 |
+
#: includes/i18n.php:473
|
1614 |
+
msgid "Installing plugin: %s"
|
1615 |
+
msgstr "Installing plugin: %s"
|
1616 |
+
|
1617 |
+
#: includes/i18n.php:474
|
1618 |
+
msgid "Automatic Installation"
|
1619 |
+
msgstr "Automatic Installation"
|
1620 |
+
|
1621 |
+
#: includes/i18n.php:476
|
1622 |
+
msgid "%s sec"
|
1623 |
+
msgstr "%s sec"
|
1624 |
+
|
1625 |
+
#: includes/i18n.php:477
|
1626 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1627 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1628 |
+
|
1629 |
+
#: includes/i18n.php:478
|
1630 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1631 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1632 |
+
|
1633 |
+
#: includes/i18n.php:479
|
1634 |
+
msgid "Cancel Installation"
|
1635 |
+
msgstr "Cancel Installation"
|
1636 |
+
|
1637 |
+
#: includes/i18n.php:480
|
1638 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1639 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1640 |
+
|
1641 |
+
#: includes/i18n.php:481
|
1642 |
+
msgid "Invalid module ID."
|
1643 |
+
msgstr "Invalid module ID."
|
1644 |
+
|
1645 |
+
#: includes/i18n.php:482
|
1646 |
+
msgid "Auto installation only works for opted-in users."
|
1647 |
+
msgstr "Auto installation only works for opted-in users."
|
1648 |
+
|
1649 |
+
#: includes/i18n.php:483
|
1650 |
+
msgid "Premium version already active."
|
1651 |
+
msgstr "Premium version already active."
|
1652 |
+
|
1653 |
+
#: includes/i18n.php:484
|
1654 |
+
msgid "Premium add-on version already installed."
|
1655 |
+
msgstr "Premium add-on version already installed."
|
1656 |
+
|
1657 |
+
#: includes/i18n.php:485
|
1658 |
+
msgid "You do not have a valid license to access the premium version."
|
1659 |
+
msgstr "You do not have a valid license to access the premium version."
|
1660 |
+
|
1661 |
+
#: includes/i18n.php:486
|
1662 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1663 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1664 |
+
|
1665 |
+
#: includes/i18n.php:501
|
1666 |
+
msgctxt "Plugin installer section title"
|
1667 |
+
msgid "Description"
|
1668 |
+
msgstr "Beskrivelse"
|
1669 |
+
|
1670 |
+
#: includes/i18n.php:502
|
1671 |
+
msgctxt "Plugin installer section title"
|
1672 |
+
msgid "Installation"
|
1673 |
+
msgstr "Installering"
|
1674 |
+
|
1675 |
+
#: includes/i18n.php:503
|
1676 |
+
msgctxt "Plugin installer section title"
|
1677 |
+
msgid "FAQ"
|
1678 |
+
msgstr "FAQ"
|
1679 |
+
|
1680 |
+
#: includes/i18n.php:504
|
1681 |
+
msgctxt "Plugin installer section title"
|
1682 |
+
msgid "Changelog"
|
1683 |
+
msgstr "Ændringslog"
|
1684 |
+
|
1685 |
+
#: includes/i18n.php:505
|
1686 |
+
msgctxt "Plugin installer section title"
|
1687 |
+
msgid "Reviews"
|
1688 |
+
msgstr "Anmeldelser"
|
1689 |
+
|
1690 |
+
#: includes/i18n.php:506
|
1691 |
+
msgctxt "Plugin installer section title"
|
1692 |
+
msgid "Other Notes"
|
1693 |
+
msgstr "Andre noter"
|
1694 |
+
|
1695 |
+
#: includes/i18n.php:508
|
1696 |
+
msgid "%s star"
|
1697 |
+
msgstr "%s stjerne"
|
1698 |
+
|
1699 |
+
#: includes/i18n.php:510
|
1700 |
+
msgid "%s stars"
|
1701 |
+
msgstr "%s stjerner"
|
1702 |
+
|
1703 |
+
#: includes/i18n.php:512
|
1704 |
+
msgid "%s rating"
|
1705 |
+
msgstr "%s vurdering"
|
1706 |
+
|
1707 |
+
#: includes/i18n.php:514
|
1708 |
+
msgid "%s ratings"
|
1709 |
+
msgstr "%s vurderinger"
|
1710 |
+
|
1711 |
+
#: includes/i18n.php:516
|
1712 |
+
msgid "%s time"
|
1713 |
+
msgstr "%s gang"
|
1714 |
+
|
1715 |
+
#: includes/i18n.php:518
|
1716 |
+
msgid "%s times"
|
1717 |
+
msgstr "%s gange"
|
1718 |
+
|
1719 |
+
#: includes/i18n.php:520
|
1720 |
+
msgid "Click to see reviews that provided a rating of %s"
|
1721 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
1722 |
+
|
1723 |
+
#: includes/i18n.php:521
|
1724 |
+
msgid "Last Updated"
|
1725 |
+
msgstr "Senest opdateret"
|
1726 |
+
|
1727 |
+
#: includes/i18n.php:522
|
1728 |
+
msgid "Requires WordPress Version:"
|
1729 |
+
msgstr "Kræver WordPress-version:"
|
1730 |
+
|
1731 |
+
#: includes/i18n.php:523
|
1732 |
+
msgctxt "as the plugin author"
|
1733 |
+
msgid "Author:"
|
1734 |
+
msgstr "Forfatter:"
|
1735 |
+
|
1736 |
+
#: includes/i18n.php:524
|
1737 |
+
msgid "Compatible up to:"
|
1738 |
+
msgstr "Kompatibel op til:"
|
1739 |
+
|
1740 |
+
#: includes/i18n.php:525
|
1741 |
+
msgid "Downloaded:"
|
1742 |
+
msgstr "Hentet:"
|
1743 |
+
|
1744 |
+
#: includes/i18n.php:526
|
1745 |
+
msgid "WordPress.org Plugin Page"
|
1746 |
+
msgstr "WordPress.org Plugin-side"
|
1747 |
+
|
1748 |
+
#: includes/i18n.php:527
|
1749 |
+
msgid "Plugin Homepage"
|
1750 |
+
msgstr "Plugin-websted"
|
1751 |
+
|
1752 |
+
#: includes/i18n.php:528
|
1753 |
+
msgid "Donate to this plugin"
|
1754 |
+
msgstr "Donér til dette plugin"
|
1755 |
+
|
1756 |
+
#: includes/i18n.php:529
|
1757 |
+
msgid "Average Rating"
|
1758 |
+
msgstr "Gennemsnitlig vurdering"
|
1759 |
+
|
1760 |
+
#: includes/i18n.php:530
|
1761 |
+
msgid "based on %s"
|
1762 |
+
msgstr "baseret på %s"
|
1763 |
+
|
1764 |
+
#: includes/i18n.php:531
|
1765 |
+
msgid "Warning:"
|
1766 |
+
msgstr "Advarsel:"
|
1767 |
+
|
1768 |
+
#: includes/i18n.php:532
|
1769 |
+
msgid "Contributors"
|
1770 |
+
msgstr "Bidragsydere"
|
1771 |
+
|
1772 |
+
#: includes/i18n.php:533
|
1773 |
+
msgid "Plugin Install"
|
1774 |
+
msgstr "Plugin Install"
|
1775 |
+
|
1776 |
+
#: includes/i18n.php:534
|
1777 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
1778 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
1779 |
+
|
1780 |
+
#: includes/i18n.php:535
|
1781 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1782 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1783 |
+
|
1784 |
+
#: includes/i18n.php:536
|
1785 |
+
msgid "Newer Version (%s) Installed"
|
1786 |
+
msgstr "Nyere version (%s) installeret"
|
1787 |
+
|
1788 |
+
#: includes/i18n.php:537
|
1789 |
+
msgid "Latest Version Installed"
|
1790 |
+
msgstr "Seneste version installeret"
|
freemius/languages/freemius-en.mo
CHANGED
Binary file
|
freemius/languages/freemius-en.po
CHANGED
@@ -80,1648 +80,1709 @@ msgid "Downgrade"
|
|
80 |
msgstr "Downgrade"
|
81 |
|
82 |
#: includes/i18n.php:51
|
|
|
|
|
|
|
|
|
|
|
83 |
msgid "Cancel Trial"
|
84 |
msgstr "Cancel Trial"
|
85 |
|
86 |
-
#: includes/i18n.php:
|
87 |
msgid "Free Trial"
|
88 |
msgstr "Free Trial"
|
89 |
|
90 |
-
#: includes/i18n.php:
|
91 |
msgid "Start my free %s"
|
92 |
msgstr "Start my free %s"
|
93 |
|
94 |
-
#: includes/i18n.php:
|
95 |
msgid "No commitment for %s - cancel anytime"
|
96 |
msgstr "No commitment for %s - cancel anytime"
|
97 |
|
98 |
-
#: includes/i18n.php:
|
99 |
msgid "After your free %s, pay as little as %s"
|
100 |
msgstr "After your free %s, pay as little as %s"
|
101 |
|
102 |
-
#: includes/i18n.php:
|
103 |
msgid "Details"
|
104 |
msgstr "Details"
|
105 |
|
106 |
-
#: includes/i18n.php:
|
107 |
msgid "Account Details"
|
108 |
msgstr "Account Details"
|
109 |
|
110 |
-
#: includes/i18n.php:
|
111 |
msgctxt "verb"
|
112 |
msgid "Delete"
|
113 |
msgstr "Delete"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgctxt "verb"
|
117 |
msgid "Show"
|
118 |
msgstr "Show"
|
119 |
|
120 |
-
#: includes/i18n.php:
|
121 |
msgctxt "verb"
|
122 |
msgid "Hide"
|
123 |
msgstr "Hide"
|
124 |
|
125 |
-
#: includes/i18n.php:
|
126 |
msgctxt "verb"
|
127 |
msgid "Edit"
|
128 |
msgstr "Edit"
|
129 |
|
130 |
-
#: includes/i18n.php:
|
131 |
msgctxt "verb"
|
132 |
msgid "Update"
|
133 |
msgstr "Update"
|
134 |
|
135 |
-
#: includes/i18n.php:
|
136 |
msgid "Date"
|
137 |
msgstr "Date"
|
138 |
|
139 |
-
#: includes/i18n.php:
|
140 |
msgid "Amount"
|
141 |
msgstr "Amount"
|
142 |
|
143 |
-
#: includes/i18n.php:
|
144 |
msgid "Invoice"
|
145 |
msgstr "Invoice"
|
146 |
|
147 |
-
#: includes/i18n.php:
|
148 |
msgid "Billing"
|
149 |
msgstr "Billing"
|
150 |
|
151 |
-
#: includes/i18n.php:
|
152 |
msgid "Payments"
|
153 |
msgstr "Payments"
|
154 |
|
155 |
-
#: includes/i18n.php:
|
156 |
msgid "Delete Account"
|
157 |
msgstr "Delete Account"
|
158 |
|
159 |
-
#: includes/i18n.php:
|
160 |
msgctxt "as close a window"
|
161 |
msgid "Dismiss"
|
162 |
msgstr "Dismiss"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgctxt "as product pricing plan"
|
166 |
msgid "Plan"
|
167 |
msgstr "Plan"
|
168 |
|
169 |
-
#: includes/i18n.php:
|
170 |
msgid "Change Plan"
|
171 |
msgstr "Change Plan"
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as download professional version"
|
175 |
msgid "Download %s Version"
|
176 |
msgstr "Download %s Version"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgctxt "as download professional version now"
|
180 |
msgid "Download %s version now"
|
181 |
msgstr "Download %s version now"
|
182 |
|
183 |
-
#: includes/i18n.php:
|
184 |
msgctxt "as download latest version"
|
185 |
msgid "Download Latest"
|
186 |
msgstr "Download Latest"
|
187 |
|
188 |
-
#: includes/i18n.php:
|
189 |
msgctxt "E.g. you have a professional license."
|
190 |
msgid "You have a %s license."
|
191 |
msgstr "You have a %s license."
|
192 |
|
193 |
-
#: includes/i18n.php:
|
194 |
msgid "New"
|
195 |
msgstr "New"
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgid "Free"
|
199 |
msgstr "Free"
|
200 |
|
201 |
-
#: includes/i18n.php:
|
202 |
msgctxt "as trial plan"
|
203 |
msgid "Trial"
|
204 |
msgstr "Trial"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgctxt "as starting a trial plan"
|
208 |
msgid "Start Trial"
|
209 |
msgstr "Start Trial"
|
210 |
|
211 |
-
#: includes/i18n.php:
|
212 |
msgctxt "verb"
|
213 |
msgid "Purchase"
|
214 |
msgstr "Purchase"
|
215 |
|
216 |
-
#: includes/i18n.php:
|
217 |
msgid "Purchase License"
|
218 |
msgstr "Purchase License"
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgctxt "verb"
|
222 |
msgid "Buy"
|
223 |
msgstr "Buy"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Buy License"
|
227 |
msgstr "Buy License"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgid "Single Site License"
|
231 |
msgstr "Single Site License"
|
232 |
|
233 |
-
#: includes/i18n.php:
|
234 |
msgid "Unlimited Licenses"
|
235 |
msgstr "Unlimited Licenses"
|
236 |
|
237 |
-
#: includes/i18n.php:
|
238 |
msgid "Up to %s Sites"
|
239 |
msgstr "Up to %s Sites"
|
240 |
|
241 |
-
#: includes/i18n.php:
|
242 |
msgid "%sRenew your license now%s to access version %s features and support."
|
243 |
msgstr "%sRenew your license now%s to access version %s features and support."
|
244 |
|
245 |
-
#: includes/i18n.php:
|
246 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
247 |
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
248 |
|
249 |
-
#: includes/i18n.php:
|
250 |
msgctxt "e.g. Professional Plan"
|
251 |
msgid "%s Plan"
|
252 |
msgstr "%s Plan"
|
253 |
|
254 |
-
#: includes/i18n.php:
|
255 |
msgid "You are just one step away - %s"
|
256 |
msgstr "You are just one step away - %s"
|
257 |
|
258 |
-
#: includes/i18n.php:
|
259 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
260 |
msgid "Complete \"%s\" Activation Now"
|
261 |
msgstr "Complete \"%s\" Activation Now"
|
262 |
|
263 |
-
#: includes/i18n.php:
|
264 |
msgid "We made a few tweaks to the plugin, %s"
|
265 |
msgstr "We made a few tweaks to the plugin, %s"
|
266 |
|
267 |
-
#: includes/i18n.php:
|
268 |
msgid "Opt-in to make \"%s\" Better!"
|
269 |
msgstr "Opt-in to make \"%s\" Better!"
|
270 |
|
271 |
-
#: includes/i18n.php:
|
272 |
msgid "Error"
|
273 |
msgstr "Error"
|
274 |
|
275 |
-
#: includes/i18n.php:
|
276 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
277 |
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
278 |
|
279 |
-
#: includes/i18n.php:
|
280 |
msgctxt "as expiration date"
|
281 |
msgid "Expiration"
|
282 |
msgstr "Expiration"
|
283 |
|
284 |
-
#: includes/i18n.php:
|
285 |
msgctxt "as software license"
|
286 |
msgid "License"
|
287 |
msgstr "License"
|
288 |
|
289 |
-
#: includes/i18n.php:
|
290 |
msgid "not verified"
|
291 |
msgstr "not verified"
|
292 |
|
293 |
-
#: includes/i18n.php:
|
294 |
msgid "Verify Email"
|
295 |
msgstr "Verify Email"
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "e.g. expires in 2 months"
|
299 |
msgid "Expires in %s"
|
300 |
msgstr "Expires in %s"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgctxt "e.g. auto renews in 2 months"
|
304 |
msgid "Auto renews in %s"
|
305 |
msgstr "Auto renews in %s"
|
306 |
|
307 |
-
#: includes/i18n.php:
|
308 |
msgid "No expiration"
|
309 |
msgstr "No expiration"
|
310 |
|
311 |
-
#: includes/i18n.php:
|
312 |
msgid "Expired"
|
313 |
msgstr "Expired"
|
314 |
|
315 |
-
#: includes/i18n.php:
|
316 |
msgid "Cancelled"
|
317 |
msgstr "Cancelled"
|
318 |
|
319 |
-
#: includes/i18n.php:
|
320 |
msgctxt "e.g. In 2 hours"
|
321 |
msgid "In %s"
|
322 |
msgstr "In %s"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgctxt "e.g. 2 min ago"
|
326 |
msgid "%s ago"
|
327 |
msgstr "%s ago"
|
328 |
|
329 |
-
#: includes/i18n.php:
|
330 |
msgid "%s or higher"
|
331 |
msgstr "%s or higher"
|
332 |
|
333 |
-
#: includes/i18n.php:
|
334 |
msgctxt "as plugin version"
|
335 |
msgid "Version"
|
336 |
msgstr "Version"
|
337 |
|
338 |
-
#: includes/i18n.php:
|
339 |
msgid "Name"
|
340 |
msgstr "Name"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
343 |
msgid "Email"
|
344 |
msgstr "Email"
|
345 |
|
346 |
-
#: includes/i18n.php:
|
347 |
msgid "Email address"
|
348 |
msgstr "Email address"
|
349 |
|
350 |
-
#: includes/i18n.php:
|
351 |
msgid "Verified"
|
352 |
msgstr "Verified"
|
353 |
|
354 |
-
#: includes/i18n.php:
|
355 |
msgid "Module"
|
356 |
msgstr "Module"
|
357 |
|
358 |
-
#: includes/i18n.php:
|
359 |
msgid "Module Type"
|
360 |
msgstr "Module Type"
|
361 |
|
362 |
-
#: includes/i18n.php:
|
363 |
msgid "Plugin"
|
364 |
msgstr "Plugin"
|
365 |
|
366 |
-
#: includes/i18n.php:
|
367 |
msgid "Plugins"
|
368 |
msgstr "Plugins"
|
369 |
|
370 |
-
#: includes/i18n.php:
|
371 |
msgid "Theme"
|
372 |
msgstr "Theme"
|
373 |
|
374 |
-
#: includes/i18n.php:
|
375 |
msgid "Themes"
|
376 |
msgstr "Themes"
|
377 |
|
378 |
-
#: includes/i18n.php:
|
379 |
msgctxt "as file/folder path"
|
380 |
msgid "Path"
|
381 |
msgstr "Path"
|
382 |
|
383 |
-
#: includes/i18n.php:
|
384 |
msgid "Title"
|
385 |
msgstr "Title"
|
386 |
|
387 |
-
#: includes/i18n.php:
|
388 |
msgid "Free version"
|
389 |
msgstr "Free version"
|
390 |
|
391 |
-
#: includes/i18n.php:
|
392 |
msgid "Premium version"
|
393 |
msgstr "Premium version"
|
394 |
|
395 |
-
#: includes/i18n.php:
|
396 |
msgctxt "as WP plugin slug"
|
397 |
msgid "Slug"
|
398 |
msgstr "Slug"
|
399 |
|
400 |
-
#: includes/i18n.php:
|
401 |
msgid "ID"
|
402 |
msgstr "ID"
|
403 |
|
404 |
-
#: includes/i18n.php:
|
405 |
msgid "Users"
|
406 |
msgstr "Users"
|
407 |
|
408 |
-
#: includes/i18n.php:
|
409 |
msgid "Plugin Installs"
|
410 |
msgstr "Plugin Installs"
|
411 |
|
412 |
-
#: includes/i18n.php:
|
413 |
msgid "%s Installs"
|
414 |
msgstr "%s Installs"
|
415 |
|
416 |
-
#: includes/i18n.php:
|
417 |
msgctxt "like websites"
|
418 |
msgid "Sites"
|
419 |
msgstr "Sites"
|
420 |
|
421 |
-
#: includes/i18n.php:
|
422 |
msgid "User ID"
|
423 |
msgstr "User ID"
|
424 |
|
425 |
-
#: includes/i18n.php:
|
426 |
msgid "Site ID"
|
427 |
msgstr "Site ID"
|
428 |
|
429 |
-
#: includes/i18n.php:
|
430 |
msgid "Public Key"
|
431 |
msgstr "Public Key"
|
432 |
|
433 |
-
#: includes/i18n.php:
|
434 |
msgid "Secret Key"
|
435 |
msgstr "Secret Key"
|
436 |
|
437 |
-
#: includes/i18n.php:
|
438 |
msgctxt "as secret encryption key missing"
|
439 |
msgid "No Secret"
|
440 |
msgstr "No Secret"
|
441 |
|
442 |
-
#: includes/i18n.php:
|
443 |
msgid "No ID"
|
444 |
msgstr "No ID"
|
445 |
|
446 |
-
#: includes/i18n.php:
|
447 |
msgctxt "as synchronize license"
|
448 |
msgid "Sync License"
|
449 |
msgstr "Sync License"
|
450 |
|
451 |
-
#: includes/i18n.php:
|
452 |
msgctxt "as synchronize"
|
453 |
msgid "Sync"
|
454 |
msgstr "Sync"
|
455 |
|
456 |
-
#: includes/i18n.php:
|
457 |
msgid "Activate License"
|
458 |
msgstr "Activate License"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgid "Activate Free Version"
|
462 |
msgstr "Activate Free Version"
|
463 |
|
464 |
-
#: includes/i18n.php:
|
465 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
466 |
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
467 |
|
468 |
-
#: includes/i18n.php:
|
469 |
msgid "Activating license..."
|
470 |
msgstr "Activating license..."
|
471 |
|
472 |
-
#: includes/i18n.php:
|
473 |
msgid "Change License"
|
474 |
msgstr "Change License"
|
475 |
|
476 |
-
#: includes/i18n.php:
|
477 |
msgid "Update License"
|
478 |
msgstr "Update License"
|
479 |
|
480 |
-
#: includes/i18n.php:
|
481 |
msgid "Deactivate License"
|
482 |
msgstr "Deactivate License"
|
483 |
|
484 |
-
#: includes/i18n.php:
|
485 |
msgid "Activate"
|
486 |
msgstr "Activate"
|
487 |
|
488 |
-
#: includes/i18n.php:
|
489 |
msgid "Deactivate"
|
490 |
msgstr "Deactivate"
|
491 |
|
492 |
-
#: includes/i18n.php:
|
493 |
msgid "Skip & Deactivate"
|
494 |
msgstr "Skip & Deactivate"
|
495 |
|
496 |
-
#: includes/i18n.php:
|
497 |
msgid "Skip & %s"
|
498 |
msgstr "Skip & %s"
|
499 |
|
500 |
-
#: includes/i18n.php:
|
501 |
msgid "No - just deactivate"
|
502 |
msgstr "No - just deactivate"
|
503 |
|
504 |
-
#: includes/i18n.php:
|
505 |
msgid "Yes - do your thing"
|
506 |
msgstr "Yes - do your thing"
|
507 |
|
508 |
-
#: includes/i18n.php:
|
509 |
msgctxt "active mode"
|
510 |
msgid "Active"
|
511 |
msgstr "Active"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgctxt "is active mode?"
|
515 |
msgid "Is Active"
|
516 |
msgstr "Is Active"
|
517 |
|
518 |
-
#: includes/i18n.php:
|
519 |
msgid "Install Now"
|
520 |
msgstr "Install Now"
|
521 |
|
522 |
-
#: includes/i18n.php:
|
523 |
msgid "Install Update Now"
|
524 |
msgstr "Install Update Now"
|
525 |
|
526 |
-
#: includes/i18n.php:
|
527 |
msgid "More information about %s"
|
528 |
msgstr "More information about %s"
|
529 |
|
530 |
-
#: includes/i18n.php:
|
531 |
msgid "Localhost"
|
532 |
msgstr "Localhost"
|
533 |
|
534 |
-
#: includes/i18n.php:
|
535 |
msgctxt "as activate Professional plan"
|
536 |
msgid "Activate %s Plan"
|
537 |
msgstr "Activate %s Plan"
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgctxt "as 5 licenses left"
|
541 |
msgid "%s left"
|
542 |
msgstr "%s left"
|
543 |
|
544 |
-
#: includes/i18n.php:
|
545 |
msgid "Last license"
|
546 |
msgstr "Last license"
|
547 |
|
548 |
-
#: includes/i18n.php:
|
549 |
msgid "What is your %s?"
|
550 |
msgstr "What is your %s?"
|
551 |
|
552 |
-
#: includes/i18n.php:
|
553 |
msgid "Activate this add-on"
|
554 |
msgstr "Activate this add-on"
|
555 |
|
556 |
-
#: includes/i18n.php:
|
557 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
558 |
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
559 |
|
560 |
-
#: includes/i18n.php:
|
561 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
562 |
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
563 |
|
564 |
-
#: includes/i18n.php:
|
565 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
570 |
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
571 |
|
572 |
-
#: includes/i18n.php:
|
573 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
574 |
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
575 |
|
576 |
-
#: includes/i18n.php:
|
577 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
578 |
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
582 |
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
583 |
|
584 |
-
#: includes/i18n.php:
|
585 |
msgid "Are you sure you want to proceed?"
|
586 |
msgstr "Are you sure you want to proceed?"
|
587 |
|
588 |
-
#: includes/i18n.php:
|
589 |
msgid "Add Ons for %s"
|
590 |
msgstr "Add Ons for %s"
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
594 |
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "Anonymous feedback"
|
598 |
msgstr "Anonymous feedback"
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
msgid "Quick feedback"
|
602 |
msgstr "Quick feedback"
|
603 |
|
604 |
-
#: includes/i18n.php:
|
605 |
msgid "If you have a moment, please let us know why you are deactivating"
|
606 |
msgstr "If you have a moment, please let us know why you are deactivating"
|
607 |
|
608 |
-
#: includes/i18n.php:
|
609 |
msgid "Yes - Deactivate"
|
610 |
msgstr "Yes - Deactivate"
|
611 |
|
612 |
-
#: includes/i18n.php:
|
613 |
msgid "Submit & Deactivate"
|
614 |
msgstr "Submit & Deactivate"
|
615 |
|
616 |
-
#: includes/i18n.php:
|
617 |
msgid "Cancel"
|
618 |
msgstr "Cancel"
|
619 |
|
620 |
-
#: includes/i18n.php:
|
621 |
msgid "I no longer need the plugin"
|
622 |
msgstr "I no longer need the plugin"
|
623 |
|
624 |
-
#: includes/i18n.php:
|
625 |
msgid "I found a better plugin"
|
626 |
msgstr "I found a better plugin"
|
627 |
|
628 |
-
#: includes/i18n.php:
|
629 |
msgid "I only needed the plugin for a short period"
|
630 |
msgstr "I only needed the plugin for a short period"
|
631 |
|
632 |
-
#: includes/i18n.php:
|
633 |
msgid "The plugin broke my site"
|
634 |
msgstr "The plugin broke my site"
|
635 |
|
636 |
-
#: includes/i18n.php:
|
637 |
msgid "The plugin suddenly stopped working"
|
638 |
msgstr "The plugin suddenly stopped working"
|
639 |
|
640 |
-
#: includes/i18n.php:
|
641 |
msgid "I can't pay for it anymore"
|
642 |
msgstr "I can't pay for it anymore"
|
643 |
|
644 |
-
#: includes/i18n.php:
|
645 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
646 |
msgstr "It's a temporary deactivation. I'm just debugging an issue."
|
647 |
|
648 |
-
#: includes/i18n.php:
|
649 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
650 |
msgid "Other"
|
651 |
msgstr "Other"
|
652 |
|
653 |
-
#: includes/i18n.php:
|
654 |
msgid "Kindly tell us the reason so we can improve."
|
655 |
msgstr "Kindly tell us the reason so we can improve."
|
656 |
|
657 |
-
#: includes/i18n.php:
|
658 |
msgid "What's the plugin's name?"
|
659 |
msgstr "What's the plugin's name?"
|
660 |
|
661 |
-
#: includes/i18n.php:
|
662 |
msgid "What price would you feel comfortable paying?"
|
663 |
msgstr "What price would you feel comfortable paying?"
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "I couldn't understand how to make it work"
|
667 |
msgstr "I couldn't understand how to make it work"
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
671 |
msgstr "The plugin is great, but I need specific feature that you don't support"
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "The plugin is not working"
|
675 |
msgstr "The plugin is not working"
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "It's not what I was looking for"
|
679 |
msgstr "It's not what I was looking for"
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
msgid "The plugin didn't work as expected"
|
683 |
msgstr "The plugin didn't work as expected"
|
684 |
|
685 |
-
#: includes/i18n.php:
|
686 |
msgid "What feature?"
|
687 |
msgstr "What feature?"
|
688 |
|
689 |
-
#: includes/i18n.php:
|
690 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
691 |
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
692 |
|
693 |
-
#: includes/i18n.php:
|
694 |
msgid "What you've been looking for?"
|
695 |
msgstr "What you've been looking for?"
|
696 |
|
697 |
-
#: includes/i18n.php:
|
698 |
msgid "What did you expect?"
|
699 |
msgstr "What did you expect?"
|
700 |
|
701 |
-
#: includes/i18n.php:
|
702 |
msgid "The plugin didn't work"
|
703 |
msgstr "The plugin didn't work"
|
704 |
|
705 |
-
#: includes/i18n.php:
|
706 |
msgid "I don't like to share my information with you"
|
707 |
msgstr "I don't like to share my information with you"
|
708 |
|
709 |
-
#: includes/i18n.php:
|
710 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
711 |
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
712 |
|
713 |
-
#: includes/i18n.php:
|
714 |
msgctxt "greeting"
|
715 |
msgid "Hey %s,"
|
716 |
msgstr "Hey %s,"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgctxt "a greeting. E.g. Thanks John!"
|
720 |
msgid "Thanks %s!"
|
721 |
msgstr "Thanks %s!"
|
722 |
|
723 |
-
#: includes/i18n.php:
|
724 |
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
725 |
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
726 |
|
727 |
-
#: includes/i18n.php:
|
728 |
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
729 |
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
730 |
|
731 |
-
#: includes/i18n.php:
|
732 |
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
733 |
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
734 |
|
735 |
-
#: includes/i18n.php:
|
736 |
msgid "complete the install"
|
737 |
msgstr "complete the install"
|
738 |
|
739 |
-
#: includes/i18n.php:
|
740 |
msgid "start the trial"
|
741 |
msgstr "start the trial"
|
742 |
|
743 |
-
#: includes/i18n.php:
|
744 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
745 |
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
746 |
|
747 |
-
#: includes/i18n.php:
|
748 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
749 |
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
750 |
|
751 |
-
#: includes/i18n.php:
|
752 |
msgid "What permissions are being granted?"
|
753 |
msgstr "What permissions are being granted?"
|
754 |
|
755 |
-
#: includes/i18n.php:
|
756 |
msgid "Your Profile Overview"
|
757 |
msgstr "Your Profile Overview"
|
758 |
|
759 |
-
#: includes/i18n.php:
|
760 |
msgid "Name and email address"
|
761 |
msgstr "Name and email address"
|
762 |
|
763 |
-
#: includes/i18n.php:
|
764 |
msgid "Your Site Overview"
|
765 |
msgstr "Your Site Overview"
|
766 |
|
767 |
-
#: includes/i18n.php:
|
768 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
769 |
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
770 |
|
771 |
-
#: includes/i18n.php:
|
772 |
msgid "Current Plugin Events"
|
773 |
msgstr "Current Plugin Events"
|
774 |
|
775 |
-
#: includes/i18n.php:
|
776 |
msgid "Activation, deactivation and uninstall"
|
777 |
msgstr "Activation, deactivation and uninstall"
|
778 |
|
779 |
-
#: includes/i18n.php:
|
780 |
msgid "Plugins & Themes"
|
781 |
msgstr "Plugins & Themes"
|
782 |
|
783 |
-
#: includes/i18n.php:
|
784 |
msgid "Titles, versions and state."
|
785 |
msgstr "Titles, versions and state."
|
786 |
|
787 |
-
#: includes/i18n.php:
|
788 |
msgid "Admin Notices"
|
789 |
msgstr "Admin Notices"
|
790 |
|
791 |
-
#: includes/i18n.php:
|
792 |
msgid "Newsletter"
|
793 |
msgstr "Newsletter"
|
794 |
|
795 |
-
#: includes/i18n.php:
|
796 |
msgid "Updates, announcements, marketing, no spam"
|
797 |
msgstr "Updates, announcements, marketing, no spam"
|
798 |
|
799 |
-
#: includes/i18n.php:
|
800 |
msgid "Privacy Policy"
|
801 |
msgstr "Privacy Policy"
|
802 |
|
803 |
-
#: includes/i18n.php:
|
804 |
msgid "Terms of Service"
|
805 |
msgstr "Terms of Service"
|
806 |
|
807 |
-
#: includes/i18n.php:
|
808 |
msgctxt "as activating plugin"
|
809 |
msgid "Activating"
|
810 |
msgstr "Activating"
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgctxt "as in the process of sending an email"
|
814 |
msgid "Sending email"
|
815 |
msgstr "Sending email"
|
816 |
|
817 |
-
#: includes/i18n.php:
|
818 |
msgctxt "button label"
|
819 |
msgid "Allow & Continue"
|
820 |
msgstr "Allow & Continue"
|
821 |
|
822 |
-
#: includes/i18n.php:
|
823 |
msgctxt "button label"
|
824 |
msgid "Agree & Activate License"
|
825 |
msgstr "Agree & Activate License"
|
826 |
|
827 |
-
#: includes/i18n.php:
|
828 |
msgctxt "verb"
|
829 |
msgid "Skip"
|
830 |
msgstr "Skip"
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgid "Click here to use the plugin anonymously"
|
834 |
msgstr "Click here to use the plugin anonymously"
|
835 |
|
836 |
-
#: includes/i18n.php:
|
837 |
msgid "Re-send activation email"
|
838 |
msgstr "Re-send activation email"
|
839 |
|
840 |
-
#: includes/i18n.php:
|
841 |
msgid "License key"
|
842 |
msgstr "License key"
|
843 |
|
844 |
-
#: includes/i18n.php:
|
845 |
msgid "Send License Key"
|
846 |
msgstr "Send License Key"
|
847 |
|
848 |
-
#: includes/i18n.php:
|
849 |
msgid "Sending license key"
|
850 |
msgstr "Sending license key"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgid "Have a license key?"
|
854 |
msgstr "Have a license key?"
|
855 |
|
856 |
-
#: includes/i18n.php:
|
857 |
msgid "Don't have a license key?"
|
858 |
msgstr "Don't have a license key?"
|
859 |
|
860 |
-
#: includes/i18n.php:
|
861 |
msgid "Can't find your license key?"
|
862 |
msgstr "Can't find your license key?"
|
863 |
|
864 |
-
#: includes/i18n.php:
|
865 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
866 |
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
867 |
|
868 |
-
#: includes/i18n.php:
|
869 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
870 |
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
871 |
|
872 |
-
#: includes/i18n.php:
|
873 |
msgid "Opt In"
|
874 |
msgstr "Opt In"
|
875 |
|
876 |
-
#: includes/i18n.php:
|
877 |
msgid "Opt Out"
|
878 |
msgstr "Opt Out"
|
879 |
|
880 |
-
#: includes/i18n.php:
|
881 |
msgid "On second thought - I want to continue helping"
|
882 |
msgstr "On second thought - I want to continue helping"
|
883 |
|
884 |
-
#: includes/i18n.php:
|
885 |
msgid "Opting out..."
|
886 |
msgstr "Opting out..."
|
887 |
|
888 |
-
#: includes/i18n.php:
|
889 |
msgid "Opting in..."
|
890 |
msgstr "Opting in..."
|
891 |
|
892 |
-
#: includes/i18n.php:
|
893 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
894 |
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
895 |
|
896 |
-
#: includes/i18n.php:
|
897 |
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
898 |
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
899 |
|
900 |
-
#: includes/i18n.php:
|
901 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
902 |
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
903 |
|
904 |
-
#: includes/i18n.php:
|
905 |
msgid "Screenshots"
|
906 |
msgstr "Screenshots"
|
907 |
|
908 |
-
#: includes/i18n.php:
|
909 |
msgid "Click to view full-size screenshot %d"
|
910 |
msgstr "Click to view full-size screenshot %d"
|
911 |
|
912 |
-
#: includes/i18n.php:
|
913 |
msgid "Freemius Debug"
|
914 |
msgstr "Freemius Debug"
|
915 |
|
916 |
-
#: includes/i18n.php:
|
917 |
msgctxt "as turned on"
|
918 |
msgid "On"
|
919 |
msgstr "On"
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
msgctxt "as turned off"
|
923 |
msgid "Off"
|
924 |
msgstr "Off"
|
925 |
|
926 |
-
#: includes/i18n.php:
|
927 |
msgctxt "as code debugging"
|
928 |
msgid "Debugging"
|
929 |
msgstr "Debugging"
|
930 |
|
931 |
-
#: includes/i18n.php:
|
932 |
msgid "Freemius State"
|
933 |
msgstr "Freemius State"
|
934 |
|
935 |
-
#: includes/i18n.php:
|
936 |
msgctxt "as connection was successful"
|
937 |
msgid "Connected"
|
938 |
msgstr "Connected"
|
939 |
|
940 |
-
#: includes/i18n.php:
|
941 |
msgctxt "as connection blocked"
|
942 |
msgid "Blocked"
|
943 |
msgstr "Blocked"
|
944 |
|
945 |
-
#: includes/i18n.php:
|
946 |
msgctxt "as application program interface"
|
947 |
msgid "API"
|
948 |
msgstr "API"
|
949 |
|
950 |
-
#: includes/i18n.php:
|
951 |
msgctxt "as software development kit versions"
|
952 |
msgid "SDK"
|
953 |
msgstr "SDK"
|
954 |
|
955 |
-
#: includes/i18n.php:
|
956 |
msgctxt "as software development kit versions"
|
957 |
msgid "SDK Versions"
|
958 |
msgstr "SDK Versions"
|
959 |
|
960 |
-
#: includes/i18n.php:
|
961 |
msgctxt "as plugin folder path"
|
962 |
msgid "Plugin Path"
|
963 |
msgstr "Plugin Path"
|
964 |
|
965 |
-
#: includes/i18n.php:
|
966 |
msgctxt "as sdk path"
|
967 |
msgid "SDK Path"
|
968 |
msgstr "SDK Path"
|
969 |
|
970 |
-
#: includes/i18n.php:
|
971 |
msgid "Add Ons of Plugin %s"
|
972 |
msgstr "Add Ons of Plugin %s"
|
973 |
|
974 |
-
#: includes/i18n.php:
|
975 |
msgid "Are you sure you want to delete all Freemius data?"
|
976 |
msgstr "Are you sure you want to delete all Freemius data?"
|
977 |
|
978 |
-
#: includes/i18n.php:
|
979 |
msgid "Actions"
|
980 |
msgstr "Actions"
|
981 |
|
982 |
-
#: includes/i18n.php:
|
983 |
msgid "Delete All Accounts"
|
984 |
msgstr "Delete All Accounts"
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgid "Start Fresh"
|
988 |
msgstr "Start Fresh"
|
989 |
|
990 |
-
#: includes/i18n.php:
|
991 |
msgid "Clear API Cache"
|
992 |
msgstr "Clear API Cache"
|
993 |
|
994 |
-
#: includes/i18n.php:
|
995 |
msgid "Sync Data From Server"
|
996 |
msgstr "Sync Data From Server"
|
997 |
|
998 |
-
#: includes/i18n.php:
|
999 |
msgid "Scheduled Crons"
|
1000 |
msgstr "Scheduled Crons"
|
1001 |
|
1002 |
-
#: includes/i18n.php:
|
1003 |
msgid "Cron Type"
|
1004 |
msgstr "Cron Type"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Plugins & Themes Sync"
|
1008 |
msgstr "Plugins & Themes Sync"
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "Licenses"
|
1012 |
msgstr "Licenses"
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Debug Log"
|
1016 |
msgstr "Debug Log"
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "All"
|
1020 |
msgstr "All"
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "File"
|
1024 |
msgstr "File"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Function"
|
1028 |
msgstr "Function"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Process ID"
|
1032 |
msgstr "Process ID"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Logger"
|
1036 |
msgstr "Logger"
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
1039 |
msgid "Message"
|
1040 |
msgstr "Message"
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
1043 |
msgid "Download"
|
1044 |
msgstr "Download"
|
1045 |
|
1046 |
-
#: includes/i18n.php:
|
1047 |
msgid "Filter"
|
1048 |
msgstr "Filter"
|
1049 |
|
1050 |
-
#: includes/i18n.php:
|
1051 |
msgid "Type"
|
1052 |
msgstr "Type"
|
1053 |
|
1054 |
-
#: includes/i18n.php:
|
1055 |
msgid "All Types"
|
1056 |
msgstr "All Types"
|
1057 |
|
1058 |
-
#: includes/i18n.php:
|
1059 |
msgid "All Requests"
|
1060 |
msgstr "All Requests"
|
1061 |
|
1062 |
-
#: includes/i18n.php:
|
1063 |
msgctxt "as congratulations"
|
1064 |
msgid "Congrats"
|
1065 |
msgstr "Congrats"
|
1066 |
|
1067 |
-
#: includes/i18n.php:
|
1068 |
msgctxt "exclamation"
|
1069 |
msgid "Oops"
|
1070 |
msgstr "Oops"
|
1071 |
|
1072 |
-
#: includes/i18n.php:
|
1073 |
msgctxt "interjection expressing joy or exuberance"
|
1074 |
msgid "Yee-haw"
|
1075 |
msgstr "Yee-haw"
|
1076 |
|
1077 |
-
#: includes/i18n.php:
|
1078 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1079 |
msgid "W00t"
|
1080 |
msgstr "W00t"
|
1081 |
|
1082 |
-
#: includes/i18n.php:
|
1083 |
msgctxt "a positive response"
|
1084 |
msgid "Right on"
|
1085 |
msgstr "Right on"
|
1086 |
|
1087 |
-
#: includes/i18n.php:
|
1088 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1089 |
msgid "Hmm"
|
1090 |
msgstr "Hmm"
|
1091 |
|
1092 |
-
#: includes/i18n.php:
|
1093 |
msgid "O.K"
|
1094 |
msgstr "O.K"
|
1095 |
|
1096 |
-
#: includes/i18n.php:
|
1097 |
msgctxt "exclamation"
|
1098 |
msgid "Hey"
|
1099 |
msgstr "Hey"
|
1100 |
|
1101 |
-
#: includes/i18n.php:
|
1102 |
msgctxt "advance notice of something that will need attention."
|
1103 |
msgid "Heads up"
|
1104 |
msgstr "Heads up"
|
1105 |
|
1106 |
-
#: includes/i18n.php:
|
1107 |
msgid "Seems like you got the latest release."
|
1108 |
msgstr "Seems like you got the latest release."
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
msgid "You are all good!"
|
1112 |
msgstr "You are all good!"
|
1113 |
|
1114 |
-
#: includes/i18n.php:
|
1115 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1116 |
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1117 |
|
1118 |
-
#: includes/i18n.php:
|
1119 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1120 |
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1121 |
|
1122 |
-
#: includes/i18n.php:
|
1123 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1124 |
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1125 |
|
1126 |
-
#: includes/i18n.php:
|
1127 |
msgid "Your name was successfully updated."
|
1128 |
msgstr "Your name was successfully updated."
|
1129 |
|
1130 |
-
#: includes/i18n.php:
|
1131 |
msgid "You have successfully updated your %s."
|
1132 |
msgstr "You have successfully updated your %s."
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
msgid "Please provide your full name."
|
1136 |
msgstr "Please provide your full name."
|
1137 |
|
1138 |
-
#: includes/i18n.php:
|
1139 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1140 |
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1141 |
|
1142 |
-
#: includes/i18n.php:
|
1143 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1144 |
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1145 |
|
1146 |
-
#: includes/i18n.php:
|
1147 |
msgid "No credit card required"
|
1148 |
msgstr "No credit card required"
|
1149 |
|
1150 |
-
#: includes/i18n.php:
|
1151 |
msgid "Premium plugin version was successfully activated."
|
1152 |
msgstr "Premium plugin version was successfully activated."
|
1153 |
|
1154 |
-
#: includes/i18n.php:
|
1155 |
msgid "The upgrade of %s was successfully completed."
|
1156 |
msgstr "The upgrade of %s was successfully completed."
|
1157 |
|
1158 |
-
#: includes/i18n.php:
|
1159 |
msgid "Your account was successfully activated with the %s plan."
|
1160 |
msgstr "Your account was successfully activated with the %s plan."
|
1161 |
|
1162 |
-
#: includes/i18n.php:
|
1163 |
msgid "Download the latest %s version now"
|
1164 |
msgstr "Download the latest %s version now"
|
1165 |
|
1166 |
-
#: includes/i18n.php:
|
1167 |
msgid "Please follow these steps to complete the upgrade"
|
1168 |
msgstr "Please follow these steps to complete the upgrade"
|
1169 |
|
1170 |
-
#: includes/i18n.php:
|
1171 |
msgid "Download the latest %s version"
|
1172 |
msgstr "Download the latest %s version"
|
1173 |
|
1174 |
-
#: includes/i18n.php:
|
1175 |
msgid "Download the latest version"
|
1176 |
msgstr "Download the latest version"
|
1177 |
|
1178 |
-
#: includes/i18n.php:
|
1179 |
msgid "Deactivate the free version"
|
1180 |
msgstr "Deactivate the free version"
|
1181 |
|
1182 |
-
#: includes/i18n.php:
|
1183 |
msgid "Upload and activate the downloaded version"
|
1184 |
msgstr "Upload and activate the downloaded version"
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
msgid "How to upload and activate?"
|
1188 |
msgstr "How to upload and activate?"
|
1189 |
|
1190 |
-
#: includes/i18n.php:
|
1191 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1192 |
msgid "%s Add-on was successfully purchased."
|
1193 |
msgstr "%s Add-on was successfully purchased."
|
1194 |
|
1195 |
-
#: includes/i18n.php:
|
1196 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1197 |
msgstr "Your %s Add-on plan was successfully upgraded."
|
1198 |
|
1199 |
-
#: includes/i18n.php:
|
1200 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1201 |
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1202 |
|
1203 |
-
#: includes/i18n.php:
|
1204 |
msgid "Your plan was successfully upgraded."
|
1205 |
msgstr "Your plan was successfully upgraded."
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
msgid "Your plan was successfully changed to %s."
|
1209 |
msgstr "Your plan was successfully changed to %s."
|
1210 |
|
1211 |
-
#: includes/i18n.php:
|
1212 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1213 |
msgstr "Your license has expired. You can still continue using the free plugin forever."
|
1214 |
|
1215 |
-
#: includes/i18n.php:
|
1216 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1217 |
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1218 |
|
1219 |
-
#: includes/i18n.php:
|
1220 |
msgid "Your trial has been successfully started."
|
1221 |
msgstr "Your trial has been successfully started."
|
1222 |
|
1223 |
-
#: includes/i18n.php:
|
1224 |
msgid "Your license was successfully activated."
|
1225 |
msgstr "Your license was successfully activated."
|
1226 |
|
1227 |
-
#: includes/i18n.php:
|
1228 |
msgid "It looks like your site currently doesn't have an active license."
|
1229 |
msgstr "It looks like your site currently doesn't have an active license."
|
1230 |
|
1231 |
-
#: includes/i18n.php:
|
1232 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1233 |
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
1234 |
|
1235 |
-
#: includes/i18n.php:
|
1236 |
msgid "It looks like the license deactivation failed."
|
1237 |
msgstr "It looks like the license deactivation failed."
|
1238 |
|
1239 |
-
#: includes/i18n.php:
|
1240 |
msgid "It looks like the license could not be activated."
|
1241 |
msgstr "It looks like the license could not be activated."
|
1242 |
|
1243 |
-
#: includes/i18n.php:
|
1244 |
msgid "Error received from the server:"
|
1245 |
msgstr "Error received from the server:"
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1249 |
msgstr "Your trial has expired. You can still continue using all our free features."
|
1250 |
|
1251 |
-
#: includes/i18n.php:
|
1252 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1253 |
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1254 |
|
1255 |
-
#: includes/i18n.php:
|
1256 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1257 |
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1261 |
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1262 |
|
1263 |
-
#: includes/i18n.php:
|
1264 |
msgid "Your %s free trial was successfully cancelled."
|
1265 |
msgstr "Your %s free trial was successfully cancelled."
|
1266 |
|
1267 |
-
#: includes/i18n.php:
|
1268 |
msgctxt "%s - numeric version number"
|
1269 |
msgid "Version %s was released."
|
1270 |
msgstr "Version %s was released."
|
1271 |
|
1272 |
-
#: includes/i18n.php:
|
1273 |
msgid "Please download %s."
|
1274 |
msgstr "Please download %s."
|
1275 |
|
1276 |
-
#: includes/i18n.php:
|
1277 |
msgctxt "%s - plan name, as the latest professional version here"
|
1278 |
msgid "the latest %s version here"
|
1279 |
msgstr "the latest %s version here"
|
1280 |
|
1281 |
-
#: includes/i18n.php:
|
1282 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1283 |
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1284 |
|
1285 |
-
#: includes/i18n.php:
|
1286 |
msgctxt "call to action"
|
1287 |
msgid "Start free trial"
|
1288 |
msgstr "Start free trial"
|
1289 |
|
1290 |
-
#: includes/i18n.php:
|
1291 |
msgid "Starting trial"
|
1292 |
msgstr "Starting trial"
|
1293 |
|
1294 |
-
#: includes/i18n.php:
|
1295 |
msgid "Please wait"
|
1296 |
msgstr "Please wait"
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1300 |
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1301 |
|
1302 |
-
#: includes/i18n.php:
|
1303 |
msgid "You already utilized a trial before."
|
1304 |
msgstr "You already utilized a trial before."
|
1305 |
|
1306 |
-
#: includes/i18n.php:
|
1307 |
msgid "You are already running the plugin in a trial mode."
|
1308 |
msgstr "You are already running the plugin in a trial mode."
|
1309 |
|
1310 |
-
#: includes/i18n.php:
|
1311 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1312 |
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
1313 |
|
1314 |
-
#: includes/i18n.php:
|
1315 |
msgid "Plan %s does not support a trial period."
|
1316 |
msgstr "Plan %s does not support a trial period."
|
1317 |
|
1318 |
-
#: includes/i18n.php:
|
1319 |
msgid "None of the plugin's plans supports a trial period."
|
1320 |
msgstr "None of the plugin's plans supports a trial period."
|
1321 |
|
1322 |
-
#: includes/i18n.php:
|
1323 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1324 |
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
1325 |
|
1326 |
-
#: includes/i18n.php:
|
1327 |
msgid "No commitment for %s days - cancel anytime!"
|
1328 |
msgstr "No commitment for %s days - cancel anytime!"
|
1329 |
|
1330 |
-
#: includes/i18n.php:
|
1331 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1332 |
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1333 |
|
1334 |
-
#: includes/i18n.php:
|
1335 |
msgid "Couldn't activate %s."
|
1336 |
msgstr "Couldn't activate %s."
|
1337 |
|
1338 |
-
#: includes/i18n.php:
|
1339 |
msgid "Please contact us with the following message:"
|
1340 |
msgstr "Please contact us with the following message:"
|
1341 |
|
1342 |
-
#: includes/i18n.php:
|
1343 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1344 |
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1345 |
|
1346 |
-
#: includes/i18n.php:
|
1347 |
msgid "Please contact us here"
|
1348 |
msgstr "Please contact us here"
|
1349 |
|
1350 |
-
#: includes/i18n.php:
|
1351 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1352 |
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1353 |
|
1354 |
-
#: includes/i18n.php:
|
1355 |
msgid "From unknown reason, the API connectivity test failed."
|
1356 |
msgstr "From unknown reason, the API connectivity test failed."
|
1357 |
|
1358 |
-
#: includes/i18n.php:
|
1359 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1360 |
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1361 |
|
1362 |
-
#: includes/i18n.php:385
|
1363 |
-
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1364 |
-
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed out of the box. Unfortunately, cURL is not installed on your server."
|
1365 |
-
|
1366 |
#: includes/i18n.php:386
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1367 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1368 |
msgstr "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1369 |
|
1370 |
-
#: includes/i18n.php:
|
1371 |
msgctxt "as pluginX requires an access to our API"
|
1372 |
msgid "%s requires an access to our API."
|
1373 |
msgstr "%s requires an access to our API."
|
1374 |
|
1375 |
-
#: includes/i18n.php:
|
1376 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1377 |
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
msgid "I don't know what is Squid or ACL, help me!"
|
1381 |
msgstr "I don't know what is Squid or ACL, help me!"
|
1382 |
|
1383 |
-
#: includes/i18n.php:
|
1384 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1385 |
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1386 |
|
1387 |
-
#: includes/i18n.php:
|
1388 |
msgid "I'm a system administrator"
|
1389 |
msgstr "I'm a system administrator"
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
1392 |
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1393 |
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1394 |
|
1395 |
-
#: includes/i18n.php:
|
1396 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1397 |
msgstr "I don't know what is cURL or how to install it, help me!"
|
1398 |
|
1399 |
-
#: includes/i18n.php:
|
1400 |
-
msgid "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1401 |
-
msgstr "Great, please install cURL and enable it in your php.ini file. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1402 |
|
1403 |
-
#: includes/i18n.php:
|
1404 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1405 |
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1406 |
|
1407 |
-
#: includes/i18n.php:
|
1408 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1409 |
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1410 |
|
1411 |
-
#: includes/i18n.php:
|
1412 |
msgid "Yes - I'm giving you a chance to fix it"
|
1413 |
msgstr "Yes - I'm giving you a chance to fix it"
|
1414 |
|
1415 |
-
#: includes/i18n.php:
|
1416 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1417 |
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1418 |
|
1419 |
-
#: includes/i18n.php:
|
1420 |
msgid "Let's try your previous version"
|
1421 |
msgstr "Let's try your previous version"
|
1422 |
|
1423 |
-
#: includes/i18n.php:
|
1424 |
msgid "Uninstall this version and install the previous one."
|
1425 |
msgstr "Uninstall this version and install the previous one."
|
1426 |
|
1427 |
-
#: includes/i18n.php:
|
1428 |
msgid "That's exhausting, please deactivate"
|
1429 |
msgstr "That's exhausting, please deactivate"
|
1430 |
|
1431 |
-
#: includes/i18n.php:
|
1432 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1433 |
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1434 |
|
1435 |
-
#: includes/i18n.php:
|
1436 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1437 |
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1441 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1442 |
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1446 |
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1447 |
|
1448 |
-
#: includes/i18n.php:
|
1449 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1450 |
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1451 |
|
1452 |
-
#: includes/i18n.php:
|
1453 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1454 |
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1455 |
|
1456 |
-
#: includes/i18n.php:
|
1457 |
msgid "%s is the new owner of the account."
|
1458 |
msgstr "%s is the new owner of the account."
|
1459 |
|
1460 |
-
#: includes/i18n.php:
|
1461 |
msgctxt "addonX cannot run without pluginY"
|
1462 |
msgid "%s cannot run without %s."
|
1463 |
msgstr "%s cannot run without %s."
|
1464 |
|
1465 |
-
#: includes/i18n.php:
|
1466 |
msgctxt "addonX cannot run..."
|
1467 |
msgid "%s cannot run without the plugin."
|
1468 |
msgstr "%s cannot run without the plugin."
|
1469 |
|
1470 |
-
#: includes/i18n.php:
|
1471 |
msgctxt "pluginX activation was successfully..."
|
1472 |
msgid "%s activation was successfully completed."
|
1473 |
msgstr "%s activation was successfully completed."
|
1474 |
|
1475 |
-
#: includes/i18n.php:
|
1476 |
msgctxt "Plugin installer section title"
|
1477 |
msgid "Features & Pricing"
|
1478 |
msgstr "Features & Pricing"
|
1479 |
|
1480 |
-
#: includes/i18n.php:
|
1481 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1482 |
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1483 |
|
1484 |
-
#: includes/i18n.php:
|
1485 |
msgid "Paid add-on must be deployed to Freemius."
|
1486 |
msgstr "Paid add-on must be deployed to Freemius."
|
1487 |
|
1488 |
-
#: includes/i18n.php:
|
1489 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1490 |
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1494 |
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1495 |
|
1496 |
-
#: includes/i18n.php:
|
1497 |
msgctxt "as every month"
|
1498 |
msgid "Monthly"
|
1499 |
msgstr "Monthly"
|
1500 |
|
1501 |
-
#: includes/i18n.php:
|
1502 |
msgctxt "as monthly period"
|
1503 |
msgid "mo"
|
1504 |
msgstr "mo"
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
msgctxt "as once a year"
|
1508 |
msgid "Annual"
|
1509 |
msgstr "Annual"
|
1510 |
|
1511 |
-
#: includes/i18n.php:
|
1512 |
msgctxt "as once a year"
|
1513 |
msgid "Annually"
|
1514 |
msgstr "Annually"
|
1515 |
|
1516 |
-
#: includes/i18n.php:
|
1517 |
msgctxt "as once a year"
|
1518 |
msgid "Once"
|
1519 |
msgstr "Once"
|
1520 |
|
1521 |
-
#: includes/i18n.php:
|
1522 |
msgctxt "as annual period"
|
1523 |
msgid "year"
|
1524 |
msgstr "year"
|
1525 |
|
1526 |
-
#: includes/i18n.php:
|
1527 |
msgid "Lifetime"
|
1528 |
msgstr "Lifetime"
|
1529 |
|
1530 |
-
#: includes/i18n.php:
|
1531 |
msgctxt "e.g. the best product"
|
1532 |
msgid "Best"
|
1533 |
msgstr "Best"
|
1534 |
|
1535 |
-
#: includes/i18n.php:
|
1536 |
msgctxt "e.g. billed monthly"
|
1537 |
msgid "Billed %s"
|
1538 |
msgstr "Billed %s"
|
1539 |
|
1540 |
-
#: includes/i18n.php:
|
1541 |
msgctxt "as a discount of $5 or 10%"
|
1542 |
msgid "Save %s"
|
1543 |
msgstr "Save %s"
|
1544 |
|
1545 |
-
#: includes/i18n.php:
|
1546 |
msgid "View details"
|
1547 |
msgstr "View details"
|
1548 |
|
1549 |
-
#: includes/i18n.php:
|
1550 |
msgctxt "button label"
|
1551 |
msgid "Approve & Start Trial"
|
1552 |
msgstr "Approve & Start Trial"
|
1553 |
|
1554 |
-
#: includes/i18n.php:
|
1555 |
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1556 |
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1557 |
|
1558 |
-
#: includes/i18n.php:
|
1559 |
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1560 |
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1561 |
|
1562 |
-
#: includes/i18n.php:
|
1563 |
msgid "Business name"
|
1564 |
msgstr "Business name"
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
msgid "Tax / VAT ID"
|
1568 |
msgstr "Tax / VAT ID"
|
1569 |
|
1570 |
-
#: includes/i18n.php:
|
1571 |
msgid "Address Line %d"
|
1572 |
msgstr "Address Line %d"
|
1573 |
|
1574 |
-
#: includes/i18n.php:
|
1575 |
msgid "Country"
|
1576 |
msgstr "Country"
|
1577 |
|
1578 |
-
#: includes/i18n.php:
|
1579 |
msgid "Select Country"
|
1580 |
msgstr "Select Country"
|
1581 |
|
1582 |
-
#: includes/i18n.php:
|
1583 |
msgid "City"
|
1584 |
msgstr "City"
|
1585 |
|
1586 |
-
#: includes/i18n.php:
|
1587 |
msgid "Town"
|
1588 |
msgstr "Town"
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgid "State"
|
1592 |
msgstr "State"
|
1593 |
|
1594 |
-
#: includes/i18n.php:
|
1595 |
msgid "Province"
|
1596 |
msgstr "Province"
|
1597 |
|
1598 |
-
#: includes/i18n.php:
|
1599 |
msgid "ZIP / Postal Code"
|
1600 |
msgstr "ZIP / Postal Code"
|
1601 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1602 |
#: includes/i18n.php:481
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1603 |
msgctxt "Plugin installer section title"
|
1604 |
msgid "Description"
|
1605 |
msgstr "Description"
|
1606 |
|
1607 |
-
#: includes/i18n.php:
|
1608 |
msgctxt "Plugin installer section title"
|
1609 |
msgid "Installation"
|
1610 |
msgstr "Installation"
|
1611 |
|
1612 |
-
#: includes/i18n.php:
|
1613 |
msgctxt "Plugin installer section title"
|
1614 |
msgid "FAQ"
|
1615 |
msgstr "FAQ"
|
1616 |
|
1617 |
-
#: includes/i18n.php:
|
1618 |
msgctxt "Plugin installer section title"
|
1619 |
msgid "Changelog"
|
1620 |
msgstr "Changelog"
|
1621 |
|
1622 |
-
#: includes/i18n.php:
|
1623 |
msgctxt "Plugin installer section title"
|
1624 |
msgid "Reviews"
|
1625 |
msgstr "Reviews"
|
1626 |
|
1627 |
-
#: includes/i18n.php:
|
1628 |
msgctxt "Plugin installer section title"
|
1629 |
msgid "Other Notes"
|
1630 |
msgstr "Other Notes"
|
1631 |
|
1632 |
-
#: includes/i18n.php:
|
1633 |
msgid "%s star"
|
1634 |
msgstr "%s star"
|
1635 |
|
1636 |
-
#: includes/i18n.php:
|
1637 |
msgid "%s stars"
|
1638 |
msgstr "%s stars"
|
1639 |
|
1640 |
-
#: includes/i18n.php:
|
1641 |
msgid "%s rating"
|
1642 |
msgstr "%s rating"
|
1643 |
|
1644 |
-
#: includes/i18n.php:
|
1645 |
msgid "%s ratings"
|
1646 |
msgstr "%s ratings"
|
1647 |
|
1648 |
-
#: includes/i18n.php:
|
1649 |
msgid "%s time"
|
1650 |
msgstr "%s time"
|
1651 |
|
1652 |
-
#: includes/i18n.php:
|
1653 |
msgid "%s times"
|
1654 |
msgstr "%s times"
|
1655 |
|
1656 |
-
#: includes/i18n.php:
|
1657 |
msgid "Click to see reviews that provided a rating of %s"
|
1658 |
msgstr "Click to see reviews that provided a rating of %s"
|
1659 |
|
1660 |
-
#: includes/i18n.php:
|
1661 |
msgid "Last Updated"
|
1662 |
msgstr "Last Updated"
|
1663 |
|
1664 |
-
#: includes/i18n.php:
|
1665 |
msgid "Requires WordPress Version:"
|
1666 |
msgstr "Requires WordPress Version:"
|
1667 |
|
1668 |
-
#: includes/i18n.php:
|
1669 |
msgctxt "as the plugin author"
|
1670 |
msgid "Author:"
|
1671 |
msgstr "Author:"
|
1672 |
|
1673 |
-
#: includes/i18n.php:
|
1674 |
msgid "Compatible up to:"
|
1675 |
msgstr "Compatible up to:"
|
1676 |
|
1677 |
-
#: includes/i18n.php:
|
1678 |
msgid "Downloaded:"
|
1679 |
msgstr "Downloaded:"
|
1680 |
|
1681 |
-
#: includes/i18n.php:
|
1682 |
msgid "WordPress.org Plugin Page"
|
1683 |
msgstr "WordPress.org Plugin Page"
|
1684 |
|
1685 |
-
#: includes/i18n.php:
|
1686 |
msgid "Plugin Homepage"
|
1687 |
msgstr "Plugin Homepage"
|
1688 |
|
1689 |
-
#: includes/i18n.php:
|
1690 |
msgid "Donate to this plugin"
|
1691 |
msgstr "Donate to this plugin"
|
1692 |
|
1693 |
-
#: includes/i18n.php:
|
1694 |
msgid "Average Rating"
|
1695 |
msgstr "Average Rating"
|
1696 |
|
1697 |
-
#: includes/i18n.php:
|
1698 |
msgid "based on %s"
|
1699 |
msgstr "based on %s"
|
1700 |
|
1701 |
-
#: includes/i18n.php:
|
1702 |
msgid "Warning:"
|
1703 |
msgstr "Warning:"
|
1704 |
|
1705 |
-
#: includes/i18n.php:
|
1706 |
msgid "Contributors"
|
1707 |
msgstr "Contributors"
|
1708 |
|
1709 |
-
#: includes/i18n.php:
|
1710 |
msgid "Plugin Install"
|
1711 |
msgstr "Plugin Install"
|
1712 |
|
1713 |
-
#: includes/i18n.php:
|
1714 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1715 |
msgstr "This plugin has not been tested with your current version of WordPress."
|
1716 |
|
1717 |
-
#: includes/i18n.php:
|
1718 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1719 |
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1720 |
|
1721 |
-
#: includes/i18n.php:
|
1722 |
msgid "Newer Version (%s) Installed"
|
1723 |
msgstr "Newer Version (%s) Installed"
|
1724 |
|
1725 |
-
#: includes/i18n.php:
|
1726 |
msgid "Latest Version Installed"
|
1727 |
msgstr "Latest Version Installed"
|
80 |
msgstr "Downgrade"
|
81 |
|
82 |
#: includes/i18n.php:51
|
83 |
+
msgctxt "verb"
|
84 |
+
msgid "Cancel Subscription"
|
85 |
+
msgstr "Cancel Subscription"
|
86 |
+
|
87 |
+
#: includes/i18n.php:52
|
88 |
msgid "Cancel Trial"
|
89 |
msgstr "Cancel Trial"
|
90 |
|
91 |
+
#: includes/i18n.php:53
|
92 |
msgid "Free Trial"
|
93 |
msgstr "Free Trial"
|
94 |
|
95 |
+
#: includes/i18n.php:54
|
96 |
msgid "Start my free %s"
|
97 |
msgstr "Start my free %s"
|
98 |
|
99 |
+
#: includes/i18n.php:55
|
100 |
msgid "No commitment for %s - cancel anytime"
|
101 |
msgstr "No commitment for %s - cancel anytime"
|
102 |
|
103 |
+
#: includes/i18n.php:56
|
104 |
msgid "After your free %s, pay as little as %s"
|
105 |
msgstr "After your free %s, pay as little as %s"
|
106 |
|
107 |
+
#: includes/i18n.php:57
|
108 |
msgid "Details"
|
109 |
msgstr "Details"
|
110 |
|
111 |
+
#: includes/i18n.php:58
|
112 |
msgid "Account Details"
|
113 |
msgstr "Account Details"
|
114 |
|
115 |
+
#: includes/i18n.php:59
|
116 |
msgctxt "verb"
|
117 |
msgid "Delete"
|
118 |
msgstr "Delete"
|
119 |
|
120 |
+
#: includes/i18n.php:60
|
121 |
msgctxt "verb"
|
122 |
msgid "Show"
|
123 |
msgstr "Show"
|
124 |
|
125 |
+
#: includes/i18n.php:61
|
126 |
msgctxt "verb"
|
127 |
msgid "Hide"
|
128 |
msgstr "Hide"
|
129 |
|
130 |
+
#: includes/i18n.php:62
|
131 |
msgctxt "verb"
|
132 |
msgid "Edit"
|
133 |
msgstr "Edit"
|
134 |
|
135 |
+
#: includes/i18n.php:63
|
136 |
msgctxt "verb"
|
137 |
msgid "Update"
|
138 |
msgstr "Update"
|
139 |
|
140 |
+
#: includes/i18n.php:64
|
141 |
msgid "Date"
|
142 |
msgstr "Date"
|
143 |
|
144 |
+
#: includes/i18n.php:65
|
145 |
msgid "Amount"
|
146 |
msgstr "Amount"
|
147 |
|
148 |
+
#: includes/i18n.php:66
|
149 |
msgid "Invoice"
|
150 |
msgstr "Invoice"
|
151 |
|
152 |
+
#: includes/i18n.php:67
|
153 |
msgid "Billing"
|
154 |
msgstr "Billing"
|
155 |
|
156 |
+
#: includes/i18n.php:68
|
157 |
msgid "Payments"
|
158 |
msgstr "Payments"
|
159 |
|
160 |
+
#: includes/i18n.php:69
|
161 |
msgid "Delete Account"
|
162 |
msgstr "Delete Account"
|
163 |
|
164 |
+
#: includes/i18n.php:70
|
165 |
msgctxt "as close a window"
|
166 |
msgid "Dismiss"
|
167 |
msgstr "Dismiss"
|
168 |
|
169 |
+
#: includes/i18n.php:71
|
170 |
msgctxt "as product pricing plan"
|
171 |
msgid "Plan"
|
172 |
msgstr "Plan"
|
173 |
|
174 |
+
#: includes/i18n.php:72
|
175 |
msgid "Change Plan"
|
176 |
msgstr "Change Plan"
|
177 |
|
178 |
+
#: includes/i18n.php:73
|
179 |
msgctxt "as download professional version"
|
180 |
msgid "Download %s Version"
|
181 |
msgstr "Download %s Version"
|
182 |
|
183 |
+
#: includes/i18n.php:74
|
184 |
msgctxt "as download professional version now"
|
185 |
msgid "Download %s version now"
|
186 |
msgstr "Download %s version now"
|
187 |
|
188 |
+
#: includes/i18n.php:75
|
189 |
msgctxt "as download latest version"
|
190 |
msgid "Download Latest"
|
191 |
msgstr "Download Latest"
|
192 |
|
193 |
+
#: includes/i18n.php:76
|
194 |
msgctxt "E.g. you have a professional license."
|
195 |
msgid "You have a %s license."
|
196 |
msgstr "You have a %s license."
|
197 |
|
198 |
+
#: includes/i18n.php:77
|
199 |
msgid "New"
|
200 |
msgstr "New"
|
201 |
|
202 |
+
#: includes/i18n.php:78
|
203 |
msgid "Free"
|
204 |
msgstr "Free"
|
205 |
|
206 |
+
#: includes/i18n.php:79
|
207 |
msgctxt "as trial plan"
|
208 |
msgid "Trial"
|
209 |
msgstr "Trial"
|
210 |
|
211 |
+
#: includes/i18n.php:80
|
212 |
msgctxt "as starting a trial plan"
|
213 |
msgid "Start Trial"
|
214 |
msgstr "Start Trial"
|
215 |
|
216 |
+
#: includes/i18n.php:81
|
217 |
msgctxt "verb"
|
218 |
msgid "Purchase"
|
219 |
msgstr "Purchase"
|
220 |
|
221 |
+
#: includes/i18n.php:82
|
222 |
msgid "Purchase License"
|
223 |
msgstr "Purchase License"
|
224 |
|
225 |
+
#: includes/i18n.php:83
|
226 |
msgctxt "verb"
|
227 |
msgid "Buy"
|
228 |
msgstr "Buy"
|
229 |
|
230 |
+
#: includes/i18n.php:84
|
231 |
msgid "Buy License"
|
232 |
msgstr "Buy License"
|
233 |
|
234 |
+
#: includes/i18n.php:85
|
235 |
msgid "Single Site License"
|
236 |
msgstr "Single Site License"
|
237 |
|
238 |
+
#: includes/i18n.php:86
|
239 |
msgid "Unlimited Licenses"
|
240 |
msgstr "Unlimited Licenses"
|
241 |
|
242 |
+
#: includes/i18n.php:87
|
243 |
msgid "Up to %s Sites"
|
244 |
msgstr "Up to %s Sites"
|
245 |
|
246 |
+
#: includes/i18n.php:88
|
247 |
msgid "%sRenew your license now%s to access version %s features and support."
|
248 |
msgstr "%sRenew your license now%s to access version %s features and support."
|
249 |
|
250 |
+
#: includes/i18n.php:89
|
251 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
252 |
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
253 |
|
254 |
+
#: includes/i18n.php:90
|
255 |
msgctxt "e.g. Professional Plan"
|
256 |
msgid "%s Plan"
|
257 |
msgstr "%s Plan"
|
258 |
|
259 |
+
#: includes/i18n.php:91
|
260 |
msgid "You are just one step away - %s"
|
261 |
msgstr "You are just one step away - %s"
|
262 |
|
263 |
+
#: includes/i18n.php:92
|
264 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
265 |
msgid "Complete \"%s\" Activation Now"
|
266 |
msgstr "Complete \"%s\" Activation Now"
|
267 |
|
268 |
+
#: includes/i18n.php:94
|
269 |
msgid "We made a few tweaks to the plugin, %s"
|
270 |
msgstr "We made a few tweaks to the plugin, %s"
|
271 |
|
272 |
+
#: includes/i18n.php:95
|
273 |
msgid "Opt-in to make \"%s\" Better!"
|
274 |
msgstr "Opt-in to make \"%s\" Better!"
|
275 |
|
276 |
+
#: includes/i18n.php:96
|
277 |
msgid "Error"
|
278 |
msgstr "Error"
|
279 |
|
280 |
+
#: includes/i18n.php:97
|
281 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
282 |
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
283 |
|
284 |
+
#: includes/i18n.php:100
|
285 |
msgctxt "as expiration date"
|
286 |
msgid "Expiration"
|
287 |
msgstr "Expiration"
|
288 |
|
289 |
+
#: includes/i18n.php:101
|
290 |
msgctxt "as software license"
|
291 |
msgid "License"
|
292 |
msgstr "License"
|
293 |
|
294 |
+
#: includes/i18n.php:102
|
295 |
msgid "not verified"
|
296 |
msgstr "not verified"
|
297 |
|
298 |
+
#: includes/i18n.php:103
|
299 |
msgid "Verify Email"
|
300 |
msgstr "Verify Email"
|
301 |
|
302 |
+
#: includes/i18n.php:104
|
303 |
msgctxt "e.g. expires in 2 months"
|
304 |
msgid "Expires in %s"
|
305 |
msgstr "Expires in %s"
|
306 |
|
307 |
+
#: includes/i18n.php:105
|
308 |
msgctxt "e.g. auto renews in 2 months"
|
309 |
msgid "Auto renews in %s"
|
310 |
msgstr "Auto renews in %s"
|
311 |
|
312 |
+
#: includes/i18n.php:106
|
313 |
msgid "No expiration"
|
314 |
msgstr "No expiration"
|
315 |
|
316 |
+
#: includes/i18n.php:107
|
317 |
msgid "Expired"
|
318 |
msgstr "Expired"
|
319 |
|
320 |
+
#: includes/i18n.php:108
|
321 |
msgid "Cancelled"
|
322 |
msgstr "Cancelled"
|
323 |
|
324 |
+
#: includes/i18n.php:109
|
325 |
msgctxt "e.g. In 2 hours"
|
326 |
msgid "In %s"
|
327 |
msgstr "In %s"
|
328 |
|
329 |
+
#: includes/i18n.php:110
|
330 |
msgctxt "e.g. 2 min ago"
|
331 |
msgid "%s ago"
|
332 |
msgstr "%s ago"
|
333 |
|
334 |
+
#: includes/i18n.php:112
|
335 |
msgid "%s or higher"
|
336 |
msgstr "%s or higher"
|
337 |
|
338 |
+
#: includes/i18n.php:113
|
339 |
msgctxt "as plugin version"
|
340 |
msgid "Version"
|
341 |
msgstr "Version"
|
342 |
|
343 |
+
#: includes/i18n.php:114
|
344 |
msgid "Name"
|
345 |
msgstr "Name"
|
346 |
|
347 |
+
#: includes/i18n.php:115
|
348 |
msgid "Email"
|
349 |
msgstr "Email"
|
350 |
|
351 |
+
#: includes/i18n.php:116
|
352 |
msgid "Email address"
|
353 |
msgstr "Email address"
|
354 |
|
355 |
+
#: includes/i18n.php:117
|
356 |
msgid "Verified"
|
357 |
msgstr "Verified"
|
358 |
|
359 |
+
#: includes/i18n.php:118
|
360 |
msgid "Module"
|
361 |
msgstr "Module"
|
362 |
|
363 |
+
#: includes/i18n.php:119
|
364 |
msgid "Module Type"
|
365 |
msgstr "Module Type"
|
366 |
|
367 |
+
#: includes/i18n.php:120
|
368 |
msgid "Plugin"
|
369 |
msgstr "Plugin"
|
370 |
|
371 |
+
#: includes/i18n.php:121
|
372 |
msgid "Plugins"
|
373 |
msgstr "Plugins"
|
374 |
|
375 |
+
#: includes/i18n.php:122
|
376 |
msgid "Theme"
|
377 |
msgstr "Theme"
|
378 |
|
379 |
+
#: includes/i18n.php:123
|
380 |
msgid "Themes"
|
381 |
msgstr "Themes"
|
382 |
|
383 |
+
#: includes/i18n.php:124
|
384 |
msgctxt "as file/folder path"
|
385 |
msgid "Path"
|
386 |
msgstr "Path"
|
387 |
|
388 |
+
#: includes/i18n.php:125
|
389 |
msgid "Title"
|
390 |
msgstr "Title"
|
391 |
|
392 |
+
#: includes/i18n.php:126
|
393 |
msgid "Free version"
|
394 |
msgstr "Free version"
|
395 |
|
396 |
+
#: includes/i18n.php:127
|
397 |
msgid "Premium version"
|
398 |
msgstr "Premium version"
|
399 |
|
400 |
+
#: includes/i18n.php:128
|
401 |
msgctxt "as WP plugin slug"
|
402 |
msgid "Slug"
|
403 |
msgstr "Slug"
|
404 |
|
405 |
+
#: includes/i18n.php:129
|
406 |
msgid "ID"
|
407 |
msgstr "ID"
|
408 |
|
409 |
+
#: includes/i18n.php:130
|
410 |
msgid "Users"
|
411 |
msgstr "Users"
|
412 |
|
413 |
+
#: includes/i18n.php:131
|
414 |
msgid "Plugin Installs"
|
415 |
msgstr "Plugin Installs"
|
416 |
|
417 |
+
#: includes/i18n.php:132
|
418 |
msgid "%s Installs"
|
419 |
msgstr "%s Installs"
|
420 |
|
421 |
+
#: includes/i18n.php:133
|
422 |
msgctxt "like websites"
|
423 |
msgid "Sites"
|
424 |
msgstr "Sites"
|
425 |
|
426 |
+
#: includes/i18n.php:134
|
427 |
msgid "User ID"
|
428 |
msgstr "User ID"
|
429 |
|
430 |
+
#: includes/i18n.php:135
|
431 |
msgid "Site ID"
|
432 |
msgstr "Site ID"
|
433 |
|
434 |
+
#: includes/i18n.php:136
|
435 |
msgid "Public Key"
|
436 |
msgstr "Public Key"
|
437 |
|
438 |
+
#: includes/i18n.php:137
|
439 |
msgid "Secret Key"
|
440 |
msgstr "Secret Key"
|
441 |
|
442 |
+
#: includes/i18n.php:138
|
443 |
msgctxt "as secret encryption key missing"
|
444 |
msgid "No Secret"
|
445 |
msgstr "No Secret"
|
446 |
|
447 |
+
#: includes/i18n.php:139
|
448 |
msgid "No ID"
|
449 |
msgstr "No ID"
|
450 |
|
451 |
+
#: includes/i18n.php:140
|
452 |
msgctxt "as synchronize license"
|
453 |
msgid "Sync License"
|
454 |
msgstr "Sync License"
|
455 |
|
456 |
+
#: includes/i18n.php:141
|
457 |
msgctxt "as synchronize"
|
458 |
msgid "Sync"
|
459 |
msgstr "Sync"
|
460 |
|
461 |
+
#: includes/i18n.php:142
|
462 |
msgid "Activate License"
|
463 |
msgstr "Activate License"
|
464 |
|
465 |
+
#: includes/i18n.php:143
|
466 |
msgid "Activate Free Version"
|
467 |
msgstr "Activate Free Version"
|
468 |
|
469 |
+
#: includes/i18n.php:144
|
470 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
471 |
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
472 |
|
473 |
+
#: includes/i18n.php:145
|
474 |
msgid "Activating license..."
|
475 |
msgstr "Activating license..."
|
476 |
|
477 |
+
#: includes/i18n.php:146
|
478 |
msgid "Change License"
|
479 |
msgstr "Change License"
|
480 |
|
481 |
+
#: includes/i18n.php:147
|
482 |
msgid "Update License"
|
483 |
msgstr "Update License"
|
484 |
|
485 |
+
#: includes/i18n.php:148
|
486 |
msgid "Deactivate License"
|
487 |
msgstr "Deactivate License"
|
488 |
|
489 |
+
#: includes/i18n.php:149
|
490 |
msgid "Activate"
|
491 |
msgstr "Activate"
|
492 |
|
493 |
+
#: includes/i18n.php:150
|
494 |
msgid "Deactivate"
|
495 |
msgstr "Deactivate"
|
496 |
|
497 |
+
#: includes/i18n.php:151
|
498 |
msgid "Skip & Deactivate"
|
499 |
msgstr "Skip & Deactivate"
|
500 |
|
501 |
+
#: includes/i18n.php:152
|
502 |
msgid "Skip & %s"
|
503 |
msgstr "Skip & %s"
|
504 |
|
505 |
+
#: includes/i18n.php:153
|
506 |
msgid "No - just deactivate"
|
507 |
msgstr "No - just deactivate"
|
508 |
|
509 |
+
#: includes/i18n.php:154
|
510 |
msgid "Yes - do your thing"
|
511 |
msgstr "Yes - do your thing"
|
512 |
|
513 |
+
#: includes/i18n.php:155
|
514 |
msgctxt "active mode"
|
515 |
msgid "Active"
|
516 |
msgstr "Active"
|
517 |
|
518 |
+
#: includes/i18n.php:156
|
519 |
msgctxt "is active mode?"
|
520 |
msgid "Is Active"
|
521 |
msgstr "Is Active"
|
522 |
|
523 |
+
#: includes/i18n.php:157
|
524 |
msgid "Install Now"
|
525 |
msgstr "Install Now"
|
526 |
|
527 |
+
#: includes/i18n.php:158
|
528 |
msgid "Install Update Now"
|
529 |
msgstr "Install Update Now"
|
530 |
|
531 |
+
#: includes/i18n.php:159
|
532 |
msgid "More information about %s"
|
533 |
msgstr "More information about %s"
|
534 |
|
535 |
+
#: includes/i18n.php:160
|
536 |
msgid "Localhost"
|
537 |
msgstr "Localhost"
|
538 |
|
539 |
+
#: includes/i18n.php:161
|
540 |
msgctxt "as activate Professional plan"
|
541 |
msgid "Activate %s Plan"
|
542 |
msgstr "Activate %s Plan"
|
543 |
|
544 |
+
#: includes/i18n.php:162
|
545 |
msgctxt "as 5 licenses left"
|
546 |
msgid "%s left"
|
547 |
msgstr "%s left"
|
548 |
|
549 |
+
#: includes/i18n.php:163
|
550 |
msgid "Last license"
|
551 |
msgstr "Last license"
|
552 |
|
553 |
+
#: includes/i18n.php:164
|
554 |
msgid "What is your %s?"
|
555 |
msgstr "What is your %s?"
|
556 |
|
557 |
+
#: includes/i18n.php:165
|
558 |
msgid "Activate this add-on"
|
559 |
msgstr "Activate this add-on"
|
560 |
|
561 |
+
#: includes/i18n.php:166
|
562 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
563 |
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
564 |
|
565 |
+
#: includes/i18n.php:167
|
566 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
567 |
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
568 |
|
569 |
+
#: includes/i18n.php:168
|
570 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
571 |
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
572 |
|
573 |
+
#: includes/i18n.php:169
|
574 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
575 |
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
576 |
|
577 |
+
#: includes/i18n.php:170
|
578 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
579 |
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
580 |
|
581 |
+
#: includes/i18n.php:171
|
582 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
583 |
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
584 |
|
585 |
+
#: includes/i18n.php:172
|
586 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
587 |
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
588 |
|
589 |
+
#: includes/i18n.php:173
|
590 |
msgid "Are you sure you want to proceed?"
|
591 |
msgstr "Are you sure you want to proceed?"
|
592 |
|
593 |
+
#: includes/i18n.php:176
|
594 |
msgid "Add Ons for %s"
|
595 |
msgstr "Add Ons for %s"
|
596 |
|
597 |
+
#: includes/i18n.php:177
|
598 |
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
599 |
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
600 |
|
601 |
+
#: includes/i18n.php:179
|
602 |
msgid "Anonymous feedback"
|
603 |
msgstr "Anonymous feedback"
|
604 |
|
605 |
+
#: includes/i18n.php:180
|
606 |
msgid "Quick feedback"
|
607 |
msgstr "Quick feedback"
|
608 |
|
609 |
+
#: includes/i18n.php:181
|
610 |
msgid "If you have a moment, please let us know why you are deactivating"
|
611 |
msgstr "If you have a moment, please let us know why you are deactivating"
|
612 |
|
613 |
+
#: includes/i18n.php:182
|
614 |
msgid "Yes - Deactivate"
|
615 |
msgstr "Yes - Deactivate"
|
616 |
|
617 |
+
#: includes/i18n.php:183
|
618 |
msgid "Submit & Deactivate"
|
619 |
msgstr "Submit & Deactivate"
|
620 |
|
621 |
+
#: includes/i18n.php:184
|
622 |
msgid "Cancel"
|
623 |
msgstr "Cancel"
|
624 |
|
625 |
+
#: includes/i18n.php:185
|
626 |
msgid "I no longer need the plugin"
|
627 |
msgstr "I no longer need the plugin"
|
628 |
|
629 |
+
#: includes/i18n.php:186
|
630 |
msgid "I found a better plugin"
|
631 |
msgstr "I found a better plugin"
|
632 |
|
633 |
+
#: includes/i18n.php:187
|
634 |
msgid "I only needed the plugin for a short period"
|
635 |
msgstr "I only needed the plugin for a short period"
|
636 |
|
637 |
+
#: includes/i18n.php:188
|
638 |
msgid "The plugin broke my site"
|
639 |
msgstr "The plugin broke my site"
|
640 |
|
641 |
+
#: includes/i18n.php:189
|
642 |
msgid "The plugin suddenly stopped working"
|
643 |
msgstr "The plugin suddenly stopped working"
|
644 |
|
645 |
+
#: includes/i18n.php:190
|
646 |
msgid "I can't pay for it anymore"
|
647 |
msgstr "I can't pay for it anymore"
|
648 |
|
649 |
+
#: includes/i18n.php:191
|
650 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
651 |
msgstr "It's a temporary deactivation. I'm just debugging an issue."
|
652 |
|
653 |
+
#: includes/i18n.php:192
|
654 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
655 |
msgid "Other"
|
656 |
msgstr "Other"
|
657 |
|
658 |
+
#: includes/i18n.php:194
|
659 |
msgid "Kindly tell us the reason so we can improve."
|
660 |
msgstr "Kindly tell us the reason so we can improve."
|
661 |
|
662 |
+
#: includes/i18n.php:195
|
663 |
msgid "What's the plugin's name?"
|
664 |
msgstr "What's the plugin's name?"
|
665 |
|
666 |
+
#: includes/i18n.php:196
|
667 |
msgid "What price would you feel comfortable paying?"
|
668 |
msgstr "What price would you feel comfortable paying?"
|
669 |
|
670 |
+
#: includes/i18n.php:197
|
671 |
msgid "I couldn't understand how to make it work"
|
672 |
msgstr "I couldn't understand how to make it work"
|
673 |
|
674 |
+
#: includes/i18n.php:198
|
675 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
676 |
msgstr "The plugin is great, but I need specific feature that you don't support"
|
677 |
|
678 |
+
#: includes/i18n.php:199
|
679 |
msgid "The plugin is not working"
|
680 |
msgstr "The plugin is not working"
|
681 |
|
682 |
+
#: includes/i18n.php:200
|
683 |
msgid "It's not what I was looking for"
|
684 |
msgstr "It's not what I was looking for"
|
685 |
|
686 |
+
#: includes/i18n.php:201
|
687 |
msgid "The plugin didn't work as expected"
|
688 |
msgstr "The plugin didn't work as expected"
|
689 |
|
690 |
+
#: includes/i18n.php:202
|
691 |
msgid "What feature?"
|
692 |
msgstr "What feature?"
|
693 |
|
694 |
+
#: includes/i18n.php:203
|
695 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
696 |
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
697 |
|
698 |
+
#: includes/i18n.php:204
|
699 |
msgid "What you've been looking for?"
|
700 |
msgstr "What you've been looking for?"
|
701 |
|
702 |
+
#: includes/i18n.php:205
|
703 |
msgid "What did you expect?"
|
704 |
msgstr "What did you expect?"
|
705 |
|
706 |
+
#: includes/i18n.php:206
|
707 |
msgid "The plugin didn't work"
|
708 |
msgstr "The plugin didn't work"
|
709 |
|
710 |
+
#: includes/i18n.php:207
|
711 |
msgid "I don't like to share my information with you"
|
712 |
msgstr "I don't like to share my information with you"
|
713 |
|
714 |
+
#: includes/i18n.php:208
|
715 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
716 |
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
717 |
|
718 |
+
#: includes/i18n.php:212
|
719 |
msgctxt "greeting"
|
720 |
msgid "Hey %s,"
|
721 |
msgstr "Hey %s,"
|
722 |
|
723 |
+
#: includes/i18n.php:213
|
724 |
msgctxt "a greeting. E.g. Thanks John!"
|
725 |
msgid "Thanks %s!"
|
726 |
msgstr "Thanks %s!"
|
727 |
|
728 |
+
#: includes/i18n.php:214
|
729 |
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
730 |
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
731 |
|
732 |
+
#: includes/i18n.php:215
|
733 |
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
734 |
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
735 |
|
736 |
+
#: includes/i18n.php:216
|
737 |
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
738 |
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
739 |
|
740 |
+
#: includes/i18n.php:217
|
741 |
msgid "complete the install"
|
742 |
msgstr "complete the install"
|
743 |
|
744 |
+
#: includes/i18n.php:218
|
745 |
msgid "start the trial"
|
746 |
msgstr "start the trial"
|
747 |
|
748 |
+
#: includes/i18n.php:219
|
749 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
750 |
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
751 |
|
752 |
+
#: includes/i18n.php:220
|
753 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
754 |
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
755 |
|
756 |
+
#: includes/i18n.php:221
|
757 |
msgid "What permissions are being granted?"
|
758 |
msgstr "What permissions are being granted?"
|
759 |
|
760 |
+
#: includes/i18n.php:222
|
761 |
msgid "Your Profile Overview"
|
762 |
msgstr "Your Profile Overview"
|
763 |
|
764 |
+
#: includes/i18n.php:223
|
765 |
msgid "Name and email address"
|
766 |
msgstr "Name and email address"
|
767 |
|
768 |
+
#: includes/i18n.php:224
|
769 |
msgid "Your Site Overview"
|
770 |
msgstr "Your Site Overview"
|
771 |
|
772 |
+
#: includes/i18n.php:225
|
773 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
774 |
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
775 |
|
776 |
+
#: includes/i18n.php:226
|
777 |
msgid "Current Plugin Events"
|
778 |
msgstr "Current Plugin Events"
|
779 |
|
780 |
+
#: includes/i18n.php:227
|
781 |
msgid "Activation, deactivation and uninstall"
|
782 |
msgstr "Activation, deactivation and uninstall"
|
783 |
|
784 |
+
#: includes/i18n.php:228
|
785 |
msgid "Plugins & Themes"
|
786 |
msgstr "Plugins & Themes"
|
787 |
|
788 |
+
#: includes/i18n.php:229
|
789 |
msgid "Titles, versions and state."
|
790 |
msgstr "Titles, versions and state."
|
791 |
|
792 |
+
#: includes/i18n.php:230
|
793 |
msgid "Admin Notices"
|
794 |
msgstr "Admin Notices"
|
795 |
|
796 |
+
#: includes/i18n.php:231
|
797 |
msgid "Newsletter"
|
798 |
msgstr "Newsletter"
|
799 |
|
800 |
+
#: includes/i18n.php:232
|
801 |
msgid "Updates, announcements, marketing, no spam"
|
802 |
msgstr "Updates, announcements, marketing, no spam"
|
803 |
|
804 |
+
#: includes/i18n.php:233
|
805 |
msgid "Privacy Policy"
|
806 |
msgstr "Privacy Policy"
|
807 |
|
808 |
+
#: includes/i18n.php:234
|
809 |
msgid "Terms of Service"
|
810 |
msgstr "Terms of Service"
|
811 |
|
812 |
+
#: includes/i18n.php:235
|
813 |
msgctxt "as activating plugin"
|
814 |
msgid "Activating"
|
815 |
msgstr "Activating"
|
816 |
|
817 |
+
#: includes/i18n.php:236
|
818 |
msgctxt "as in the process of sending an email"
|
819 |
msgid "Sending email"
|
820 |
msgstr "Sending email"
|
821 |
|
822 |
+
#: includes/i18n.php:237
|
823 |
msgctxt "button label"
|
824 |
msgid "Allow & Continue"
|
825 |
msgstr "Allow & Continue"
|
826 |
|
827 |
+
#: includes/i18n.php:238
|
828 |
msgctxt "button label"
|
829 |
msgid "Agree & Activate License"
|
830 |
msgstr "Agree & Activate License"
|
831 |
|
832 |
+
#: includes/i18n.php:239
|
833 |
msgctxt "verb"
|
834 |
msgid "Skip"
|
835 |
msgstr "Skip"
|
836 |
|
837 |
+
#: includes/i18n.php:240
|
838 |
msgid "Click here to use the plugin anonymously"
|
839 |
msgstr "Click here to use the plugin anonymously"
|
840 |
|
841 |
+
#: includes/i18n.php:241
|
842 |
msgid "Re-send activation email"
|
843 |
msgstr "Re-send activation email"
|
844 |
|
845 |
+
#: includes/i18n.php:242
|
846 |
msgid "License key"
|
847 |
msgstr "License key"
|
848 |
|
849 |
+
#: includes/i18n.php:243
|
850 |
msgid "Send License Key"
|
851 |
msgstr "Send License Key"
|
852 |
|
853 |
+
#: includes/i18n.php:244
|
854 |
msgid "Sending license key"
|
855 |
msgstr "Sending license key"
|
856 |
|
857 |
+
#: includes/i18n.php:245
|
858 |
msgid "Have a license key?"
|
859 |
msgstr "Have a license key?"
|
860 |
|
861 |
+
#: includes/i18n.php:246
|
862 |
msgid "Don't have a license key?"
|
863 |
msgstr "Don't have a license key?"
|
864 |
|
865 |
+
#: includes/i18n.php:247
|
866 |
msgid "Can't find your license key?"
|
867 |
msgstr "Can't find your license key?"
|
868 |
|
869 |
+
#: includes/i18n.php:248
|
870 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
871 |
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
872 |
|
873 |
+
#: includes/i18n.php:249
|
874 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
875 |
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
876 |
|
877 |
+
#: includes/i18n.php:250
|
878 |
msgid "Opt In"
|
879 |
msgstr "Opt In"
|
880 |
|
881 |
+
#: includes/i18n.php:251
|
882 |
msgid "Opt Out"
|
883 |
msgstr "Opt Out"
|
884 |
|
885 |
+
#: includes/i18n.php:252
|
886 |
msgid "On second thought - I want to continue helping"
|
887 |
msgstr "On second thought - I want to continue helping"
|
888 |
|
889 |
+
#: includes/i18n.php:253
|
890 |
msgid "Opting out..."
|
891 |
msgstr "Opting out..."
|
892 |
|
893 |
+
#: includes/i18n.php:254
|
894 |
msgid "Opting in..."
|
895 |
msgstr "Opting in..."
|
896 |
|
897 |
+
#: includes/i18n.php:255
|
898 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
899 |
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
900 |
|
901 |
+
#: includes/i18n.php:256
|
902 |
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
903 |
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
904 |
|
905 |
+
#: includes/i18n.php:257
|
906 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
907 |
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
908 |
|
909 |
+
#: includes/i18n.php:261
|
910 |
msgid "Screenshots"
|
911 |
msgstr "Screenshots"
|
912 |
|
913 |
+
#: includes/i18n.php:262
|
914 |
msgid "Click to view full-size screenshot %d"
|
915 |
msgstr "Click to view full-size screenshot %d"
|
916 |
|
917 |
+
#: includes/i18n.php:266
|
918 |
msgid "Freemius Debug"
|
919 |
msgstr "Freemius Debug"
|
920 |
|
921 |
+
#: includes/i18n.php:267
|
922 |
msgctxt "as turned on"
|
923 |
msgid "On"
|
924 |
msgstr "On"
|
925 |
|
926 |
+
#: includes/i18n.php:268
|
927 |
msgctxt "as turned off"
|
928 |
msgid "Off"
|
929 |
msgstr "Off"
|
930 |
|
931 |
+
#: includes/i18n.php:269
|
932 |
msgctxt "as code debugging"
|
933 |
msgid "Debugging"
|
934 |
msgstr "Debugging"
|
935 |
|
936 |
+
#: includes/i18n.php:270
|
937 |
msgid "Freemius State"
|
938 |
msgstr "Freemius State"
|
939 |
|
940 |
+
#: includes/i18n.php:271
|
941 |
msgctxt "as connection was successful"
|
942 |
msgid "Connected"
|
943 |
msgstr "Connected"
|
944 |
|
945 |
+
#: includes/i18n.php:272
|
946 |
msgctxt "as connection blocked"
|
947 |
msgid "Blocked"
|
948 |
msgstr "Blocked"
|
949 |
|
950 |
+
#: includes/i18n.php:273
|
951 |
msgctxt "as application program interface"
|
952 |
msgid "API"
|
953 |
msgstr "API"
|
954 |
|
955 |
+
#: includes/i18n.php:274
|
956 |
msgctxt "as software development kit versions"
|
957 |
msgid "SDK"
|
958 |
msgstr "SDK"
|
959 |
|
960 |
+
#: includes/i18n.php:275
|
961 |
msgctxt "as software development kit versions"
|
962 |
msgid "SDK Versions"
|
963 |
msgstr "SDK Versions"
|
964 |
|
965 |
+
#: includes/i18n.php:276
|
966 |
msgctxt "as plugin folder path"
|
967 |
msgid "Plugin Path"
|
968 |
msgstr "Plugin Path"
|
969 |
|
970 |
+
#: includes/i18n.php:277
|
971 |
msgctxt "as sdk path"
|
972 |
msgid "SDK Path"
|
973 |
msgstr "SDK Path"
|
974 |
|
975 |
+
#: includes/i18n.php:278
|
976 |
msgid "Add Ons of Plugin %s"
|
977 |
msgstr "Add Ons of Plugin %s"
|
978 |
|
979 |
+
#: includes/i18n.php:279
|
980 |
msgid "Are you sure you want to delete all Freemius data?"
|
981 |
msgstr "Are you sure you want to delete all Freemius data?"
|
982 |
|
983 |
+
#: includes/i18n.php:280
|
984 |
msgid "Actions"
|
985 |
msgstr "Actions"
|
986 |
|
987 |
+
#: includes/i18n.php:281
|
988 |
msgid "Delete All Accounts"
|
989 |
msgstr "Delete All Accounts"
|
990 |
|
991 |
+
#: includes/i18n.php:282
|
992 |
msgid "Start Fresh"
|
993 |
msgstr "Start Fresh"
|
994 |
|
995 |
+
#: includes/i18n.php:283
|
996 |
msgid "Clear API Cache"
|
997 |
msgstr "Clear API Cache"
|
998 |
|
999 |
+
#: includes/i18n.php:284
|
1000 |
msgid "Sync Data From Server"
|
1001 |
msgstr "Sync Data From Server"
|
1002 |
|
1003 |
+
#: includes/i18n.php:285
|
1004 |
msgid "Scheduled Crons"
|
1005 |
msgstr "Scheduled Crons"
|
1006 |
|
1007 |
+
#: includes/i18n.php:286
|
1008 |
msgid "Cron Type"
|
1009 |
msgstr "Cron Type"
|
1010 |
|
1011 |
+
#: includes/i18n.php:287
|
1012 |
msgid "Plugins & Themes Sync"
|
1013 |
msgstr "Plugins & Themes Sync"
|
1014 |
|
1015 |
+
#: includes/i18n.php:288
|
1016 |
msgid "Licenses"
|
1017 |
msgstr "Licenses"
|
1018 |
|
1019 |
+
#: includes/i18n.php:289
|
1020 |
msgid "Debug Log"
|
1021 |
msgstr "Debug Log"
|
1022 |
|
1023 |
+
#: includes/i18n.php:290
|
1024 |
msgid "All"
|
1025 |
msgstr "All"
|
1026 |
|
1027 |
+
#: includes/i18n.php:291
|
1028 |
msgid "File"
|
1029 |
msgstr "File"
|
1030 |
|
1031 |
+
#: includes/i18n.php:292
|
1032 |
msgid "Function"
|
1033 |
msgstr "Function"
|
1034 |
|
1035 |
+
#: includes/i18n.php:293
|
1036 |
msgid "Process ID"
|
1037 |
msgstr "Process ID"
|
1038 |
|
1039 |
+
#: includes/i18n.php:294
|
1040 |
msgid "Logger"
|
1041 |
msgstr "Logger"
|
1042 |
|
1043 |
+
#: includes/i18n.php:295
|
1044 |
msgid "Message"
|
1045 |
msgstr "Message"
|
1046 |
|
1047 |
+
#: includes/i18n.php:296
|
1048 |
msgid "Download"
|
1049 |
msgstr "Download"
|
1050 |
|
1051 |
+
#: includes/i18n.php:297
|
1052 |
msgid "Filter"
|
1053 |
msgstr "Filter"
|
1054 |
|
1055 |
+
#: includes/i18n.php:298
|
1056 |
msgid "Type"
|
1057 |
msgstr "Type"
|
1058 |
|
1059 |
+
#: includes/i18n.php:299
|
1060 |
msgid "All Types"
|
1061 |
msgstr "All Types"
|
1062 |
|
1063 |
+
#: includes/i18n.php:300
|
1064 |
msgid "All Requests"
|
1065 |
msgstr "All Requests"
|
1066 |
|
1067 |
+
#: includes/i18n.php:304
|
1068 |
msgctxt "as congratulations"
|
1069 |
msgid "Congrats"
|
1070 |
msgstr "Congrats"
|
1071 |
|
1072 |
+
#: includes/i18n.php:305
|
1073 |
msgctxt "exclamation"
|
1074 |
msgid "Oops"
|
1075 |
msgstr "Oops"
|
1076 |
|
1077 |
+
#: includes/i18n.php:306
|
1078 |
msgctxt "interjection expressing joy or exuberance"
|
1079 |
msgid "Yee-haw"
|
1080 |
msgstr "Yee-haw"
|
1081 |
|
1082 |
+
#: includes/i18n.php:307
|
1083 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1084 |
msgid "W00t"
|
1085 |
msgstr "W00t"
|
1086 |
|
1087 |
+
#: includes/i18n.php:309
|
1088 |
msgctxt "a positive response"
|
1089 |
msgid "Right on"
|
1090 |
msgstr "Right on"
|
1091 |
|
1092 |
+
#: includes/i18n.php:310
|
1093 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1094 |
msgid "Hmm"
|
1095 |
msgstr "Hmm"
|
1096 |
|
1097 |
+
#: includes/i18n.php:312
|
1098 |
msgid "O.K"
|
1099 |
msgstr "O.K"
|
1100 |
|
1101 |
+
#: includes/i18n.php:313
|
1102 |
msgctxt "exclamation"
|
1103 |
msgid "Hey"
|
1104 |
msgstr "Hey"
|
1105 |
|
1106 |
+
#: includes/i18n.php:314
|
1107 |
msgctxt "advance notice of something that will need attention."
|
1108 |
msgid "Heads up"
|
1109 |
msgstr "Heads up"
|
1110 |
|
1111 |
+
#: includes/i18n.php:319
|
1112 |
msgid "Seems like you got the latest release."
|
1113 |
msgstr "Seems like you got the latest release."
|
1114 |
|
1115 |
+
#: includes/i18n.php:320
|
1116 |
msgid "You are all good!"
|
1117 |
msgstr "You are all good!"
|
1118 |
|
1119 |
+
#: includes/i18n.php:321
|
1120 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1121 |
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1122 |
|
1123 |
+
#: includes/i18n.php:322
|
1124 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1125 |
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1126 |
|
1127 |
+
#: includes/i18n.php:323
|
1128 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1129 |
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1130 |
|
1131 |
+
#: includes/i18n.php:324
|
1132 |
msgid "Your name was successfully updated."
|
1133 |
msgstr "Your name was successfully updated."
|
1134 |
|
1135 |
+
#: includes/i18n.php:325
|
1136 |
msgid "You have successfully updated your %s."
|
1137 |
msgstr "You have successfully updated your %s."
|
1138 |
|
1139 |
+
#: includes/i18n.php:326
|
1140 |
msgid "Please provide your full name."
|
1141 |
msgstr "Please provide your full name."
|
1142 |
|
1143 |
+
#: includes/i18n.php:327
|
1144 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1145 |
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1146 |
|
1147 |
+
#: includes/i18n.php:328
|
1148 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1149 |
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1150 |
|
1151 |
+
#: includes/i18n.php:329
|
1152 |
msgid "No credit card required"
|
1153 |
msgstr "No credit card required"
|
1154 |
|
1155 |
+
#: includes/i18n.php:330
|
1156 |
msgid "Premium plugin version was successfully activated."
|
1157 |
msgstr "Premium plugin version was successfully activated."
|
1158 |
|
1159 |
+
#: includes/i18n.php:331
|
1160 |
msgid "The upgrade of %s was successfully completed."
|
1161 |
msgstr "The upgrade of %s was successfully completed."
|
1162 |
|
1163 |
+
#: includes/i18n.php:332
|
1164 |
msgid "Your account was successfully activated with the %s plan."
|
1165 |
msgstr "Your account was successfully activated with the %s plan."
|
1166 |
|
1167 |
+
#: includes/i18n.php:333
|
1168 |
msgid "Download the latest %s version now"
|
1169 |
msgstr "Download the latest %s version now"
|
1170 |
|
1171 |
+
#: includes/i18n.php:334
|
1172 |
msgid "Please follow these steps to complete the upgrade"
|
1173 |
msgstr "Please follow these steps to complete the upgrade"
|
1174 |
|
1175 |
+
#: includes/i18n.php:335
|
1176 |
msgid "Download the latest %s version"
|
1177 |
msgstr "Download the latest %s version"
|
1178 |
|
1179 |
+
#: includes/i18n.php:336
|
1180 |
msgid "Download the latest version"
|
1181 |
msgstr "Download the latest version"
|
1182 |
|
1183 |
+
#: includes/i18n.php:337
|
1184 |
msgid "Deactivate the free version"
|
1185 |
msgstr "Deactivate the free version"
|
1186 |
|
1187 |
+
#: includes/i18n.php:338
|
1188 |
msgid "Upload and activate the downloaded version"
|
1189 |
msgstr "Upload and activate the downloaded version"
|
1190 |
|
1191 |
+
#: includes/i18n.php:339
|
1192 |
msgid "How to upload and activate?"
|
1193 |
msgstr "How to upload and activate?"
|
1194 |
|
1195 |
+
#: includes/i18n.php:340
|
1196 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1197 |
msgid "%s Add-on was successfully purchased."
|
1198 |
msgstr "%s Add-on was successfully purchased."
|
1199 |
|
1200 |
+
#: includes/i18n.php:342
|
1201 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1202 |
msgstr "Your %s Add-on plan was successfully upgraded."
|
1203 |
|
1204 |
+
#: includes/i18n.php:343
|
1205 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1206 |
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1207 |
|
1208 |
+
#: includes/i18n.php:344
|
1209 |
msgid "Your plan was successfully upgraded."
|
1210 |
msgstr "Your plan was successfully upgraded."
|
1211 |
|
1212 |
+
#: includes/i18n.php:345
|
1213 |
msgid "Your plan was successfully changed to %s."
|
1214 |
msgstr "Your plan was successfully changed to %s."
|
1215 |
|
1216 |
+
#: includes/i18n.php:346
|
1217 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1218 |
msgstr "Your license has expired. You can still continue using the free plugin forever."
|
1219 |
|
1220 |
+
#: includes/i18n.php:347
|
1221 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1222 |
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1223 |
|
1224 |
+
#: includes/i18n.php:348
|
1225 |
msgid "Your trial has been successfully started."
|
1226 |
msgstr "Your trial has been successfully started."
|
1227 |
|
1228 |
+
#: includes/i18n.php:349
|
1229 |
msgid "Your license was successfully activated."
|
1230 |
msgstr "Your license was successfully activated."
|
1231 |
|
1232 |
+
#: includes/i18n.php:350
|
1233 |
msgid "It looks like your site currently doesn't have an active license."
|
1234 |
msgstr "It looks like your site currently doesn't have an active license."
|
1235 |
|
1236 |
+
#: includes/i18n.php:351
|
1237 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1238 |
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
1239 |
|
1240 |
+
#: includes/i18n.php:352
|
1241 |
msgid "It looks like the license deactivation failed."
|
1242 |
msgstr "It looks like the license deactivation failed."
|
1243 |
|
1244 |
+
#: includes/i18n.php:353
|
1245 |
msgid "It looks like the license could not be activated."
|
1246 |
msgstr "It looks like the license could not be activated."
|
1247 |
|
1248 |
+
#: includes/i18n.php:354
|
1249 |
msgid "Error received from the server:"
|
1250 |
msgstr "Error received from the server:"
|
1251 |
|
1252 |
+
#: includes/i18n.php:355
|
1253 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1254 |
msgstr "Your trial has expired. You can still continue using all our free features."
|
1255 |
|
1256 |
+
#: includes/i18n.php:356
|
1257 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1258 |
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1259 |
|
1260 |
+
#: includes/i18n.php:357
|
1261 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1262 |
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1263 |
|
1264 |
+
#: includes/i18n.php:358
|
1265 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1266 |
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1267 |
|
1268 |
+
#: includes/i18n.php:359
|
1269 |
msgid "Your %s free trial was successfully cancelled."
|
1270 |
msgstr "Your %s free trial was successfully cancelled."
|
1271 |
|
1272 |
+
#: includes/i18n.php:360
|
1273 |
msgctxt "%s - numeric version number"
|
1274 |
msgid "Version %s was released."
|
1275 |
msgstr "Version %s was released."
|
1276 |
|
1277 |
+
#: includes/i18n.php:361
|
1278 |
msgid "Please download %s."
|
1279 |
msgstr "Please download %s."
|
1280 |
|
1281 |
+
#: includes/i18n.php:362
|
1282 |
msgctxt "%s - plan name, as the latest professional version here"
|
1283 |
msgid "the latest %s version here"
|
1284 |
msgstr "the latest %s version here"
|
1285 |
|
1286 |
+
#: includes/i18n.php:364
|
1287 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1288 |
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1289 |
|
1290 |
+
#: includes/i18n.php:365
|
1291 |
msgctxt "call to action"
|
1292 |
msgid "Start free trial"
|
1293 |
msgstr "Start free trial"
|
1294 |
|
1295 |
+
#: includes/i18n.php:366
|
1296 |
msgid "Starting trial"
|
1297 |
msgstr "Starting trial"
|
1298 |
|
1299 |
+
#: includes/i18n.php:367
|
1300 |
msgid "Please wait"
|
1301 |
msgstr "Please wait"
|
1302 |
|
1303 |
+
#: includes/i18n.php:368
|
1304 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1305 |
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1306 |
|
1307 |
+
#: includes/i18n.php:369
|
1308 |
msgid "You already utilized a trial before."
|
1309 |
msgstr "You already utilized a trial before."
|
1310 |
|
1311 |
+
#: includes/i18n.php:370
|
1312 |
msgid "You are already running the plugin in a trial mode."
|
1313 |
msgstr "You are already running the plugin in a trial mode."
|
1314 |
|
1315 |
+
#: includes/i18n.php:371
|
1316 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1317 |
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
|
1319 |
+
#: includes/i18n.php:372
|
1320 |
msgid "Plan %s does not support a trial period."
|
1321 |
msgstr "Plan %s does not support a trial period."
|
1322 |
|
1323 |
+
#: includes/i18n.php:373
|
1324 |
msgid "None of the plugin's plans supports a trial period."
|
1325 |
msgstr "None of the plugin's plans supports a trial period."
|
1326 |
|
1327 |
+
#: includes/i18n.php:374
|
1328 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1329 |
msgstr "Unexpected API error. Please contact the plugin's author with the following error."
|
1330 |
|
1331 |
+
#: includes/i18n.php:375
|
1332 |
msgid "No commitment for %s days - cancel anytime!"
|
1333 |
msgstr "No commitment for %s days - cancel anytime!"
|
1334 |
|
1335 |
+
#: includes/i18n.php:376
|
1336 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1337 |
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1338 |
|
1339 |
+
#: includes/i18n.php:377
|
1340 |
msgid "Couldn't activate %s."
|
1341 |
msgstr "Couldn't activate %s."
|
1342 |
|
1343 |
+
#: includes/i18n.php:378
|
1344 |
msgid "Please contact us with the following message:"
|
1345 |
msgstr "Please contact us with the following message:"
|
1346 |
|
1347 |
+
#: includes/i18n.php:379
|
1348 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1349 |
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1350 |
|
1351 |
+
#: includes/i18n.php:380
|
1352 |
msgid "Please contact us here"
|
1353 |
msgstr "Please contact us here"
|
1354 |
|
1355 |
+
#: includes/i18n.php:381
|
1356 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1357 |
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1358 |
|
1359 |
+
#: includes/i18n.php:384
|
1360 |
msgid "From unknown reason, the API connectivity test failed."
|
1361 |
msgstr "From unknown reason, the API connectivity test failed."
|
1362 |
|
1363 |
+
#: includes/i18n.php:385
|
1364 |
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1365 |
msgstr "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
1366 |
|
|
|
|
|
|
|
|
|
1367 |
#: includes/i18n.php:386
|
1368 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1369 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1370 |
+
|
1371 |
+
#: includes/i18n.php:387
|
1372 |
+
msgid "Disabled method(s):"
|
1373 |
+
msgstr "Disabled method(s):"
|
1374 |
+
|
1375 |
+
#: includes/i18n.php:388
|
1376 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1377 |
msgstr "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1378 |
|
1379 |
+
#: includes/i18n.php:389
|
1380 |
msgctxt "as pluginX requires an access to our API"
|
1381 |
msgid "%s requires an access to our API."
|
1382 |
msgstr "%s requires an access to our API."
|
1383 |
|
1384 |
+
#: includes/i18n.php:391
|
1385 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1386 |
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1387 |
|
1388 |
+
#: includes/i18n.php:392
|
1389 |
msgid "I don't know what is Squid or ACL, help me!"
|
1390 |
msgstr "I don't know what is Squid or ACL, help me!"
|
1391 |
|
1392 |
+
#: includes/i18n.php:393, includes/i18n.php:397
|
1393 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1394 |
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1395 |
|
1396 |
+
#: includes/i18n.php:394
|
1397 |
msgid "I'm a system administrator"
|
1398 |
msgstr "I'm a system administrator"
|
1399 |
|
1400 |
+
#: includes/i18n.php:395
|
1401 |
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1402 |
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1403 |
|
1404 |
+
#: includes/i18n.php:396
|
1405 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1406 |
msgstr "I don't know what is cURL or how to install it, help me!"
|
1407 |
|
1408 |
+
#: includes/i18n.php:398
|
1409 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1410 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1411 |
|
1412 |
+
#: includes/i18n.php:399
|
1413 |
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1414 |
msgstr "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
1415 |
|
1416 |
+
#: includes/i18n.php:400
|
1417 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1418 |
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1419 |
|
1420 |
+
#: includes/i18n.php:401
|
1421 |
msgid "Yes - I'm giving you a chance to fix it"
|
1422 |
msgstr "Yes - I'm giving you a chance to fix it"
|
1423 |
|
1424 |
+
#: includes/i18n.php:402
|
1425 |
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1426 |
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1427 |
|
1428 |
+
#: includes/i18n.php:403
|
1429 |
msgid "Let's try your previous version"
|
1430 |
msgstr "Let's try your previous version"
|
1431 |
|
1432 |
+
#: includes/i18n.php:404
|
1433 |
msgid "Uninstall this version and install the previous one."
|
1434 |
msgstr "Uninstall this version and install the previous one."
|
1435 |
|
1436 |
+
#: includes/i18n.php:405
|
1437 |
msgid "That's exhausting, please deactivate"
|
1438 |
msgstr "That's exhausting, please deactivate"
|
1439 |
|
1440 |
+
#: includes/i18n.php:406
|
1441 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1442 |
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1443 |
|
1444 |
+
#: includes/i18n.php:407
|
1445 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1446 |
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1447 |
|
1448 |
+
#: includes/i18n.php:408
|
1449 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1450 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1451 |
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1452 |
|
1453 |
+
#: includes/i18n.php:410
|
1454 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1455 |
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1456 |
|
1457 |
+
#: includes/i18n.php:413
|
1458 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1459 |
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1460 |
|
1461 |
+
#: includes/i18n.php:414
|
1462 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1463 |
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1464 |
|
1465 |
+
#: includes/i18n.php:415
|
1466 |
msgid "%s is the new owner of the account."
|
1467 |
msgstr "%s is the new owner of the account."
|
1468 |
|
1469 |
+
#: includes/i18n.php:417
|
1470 |
msgctxt "addonX cannot run without pluginY"
|
1471 |
msgid "%s cannot run without %s."
|
1472 |
msgstr "%s cannot run without %s."
|
1473 |
|
1474 |
+
#: includes/i18n.php:419
|
1475 |
msgctxt "addonX cannot run..."
|
1476 |
msgid "%s cannot run without the plugin."
|
1477 |
msgstr "%s cannot run without the plugin."
|
1478 |
|
1479 |
+
#: includes/i18n.php:420
|
1480 |
msgctxt "pluginX activation was successfully..."
|
1481 |
msgid "%s activation was successfully completed."
|
1482 |
msgstr "%s activation was successfully completed."
|
1483 |
|
1484 |
+
#: includes/i18n.php:422
|
1485 |
msgctxt "Plugin installer section title"
|
1486 |
msgid "Features & Pricing"
|
1487 |
msgstr "Features & Pricing"
|
1488 |
|
1489 |
+
#: includes/i18n.php:423
|
1490 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1491 |
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1492 |
|
1493 |
+
#: includes/i18n.php:424
|
1494 |
msgid "Paid add-on must be deployed to Freemius."
|
1495 |
msgstr "Paid add-on must be deployed to Freemius."
|
1496 |
|
1497 |
+
#: includes/i18n.php:428
|
1498 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1499 |
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1500 |
|
1501 |
+
#: includes/i18n.php:429
|
1502 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1503 |
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1504 |
|
1505 |
+
#: includes/i18n.php:434
|
1506 |
msgctxt "as every month"
|
1507 |
msgid "Monthly"
|
1508 |
msgstr "Monthly"
|
1509 |
|
1510 |
+
#: includes/i18n.php:435
|
1511 |
msgctxt "as monthly period"
|
1512 |
msgid "mo"
|
1513 |
msgstr "mo"
|
1514 |
|
1515 |
+
#: includes/i18n.php:436
|
1516 |
msgctxt "as once a year"
|
1517 |
msgid "Annual"
|
1518 |
msgstr "Annual"
|
1519 |
|
1520 |
+
#: includes/i18n.php:437
|
1521 |
msgctxt "as once a year"
|
1522 |
msgid "Annually"
|
1523 |
msgstr "Annually"
|
1524 |
|
1525 |
+
#: includes/i18n.php:438
|
1526 |
msgctxt "as once a year"
|
1527 |
msgid "Once"
|
1528 |
msgstr "Once"
|
1529 |
|
1530 |
+
#: includes/i18n.php:439
|
1531 |
msgctxt "as annual period"
|
1532 |
msgid "year"
|
1533 |
msgstr "year"
|
1534 |
|
1535 |
+
#: includes/i18n.php:440
|
1536 |
msgid "Lifetime"
|
1537 |
msgstr "Lifetime"
|
1538 |
|
1539 |
+
#: includes/i18n.php:441
|
1540 |
msgctxt "e.g. the best product"
|
1541 |
msgid "Best"
|
1542 |
msgstr "Best"
|
1543 |
|
1544 |
+
#: includes/i18n.php:442
|
1545 |
msgctxt "e.g. billed monthly"
|
1546 |
msgid "Billed %s"
|
1547 |
msgstr "Billed %s"
|
1548 |
|
1549 |
+
#: includes/i18n.php:443
|
1550 |
msgctxt "as a discount of $5 or 10%"
|
1551 |
msgid "Save %s"
|
1552 |
msgstr "Save %s"
|
1553 |
|
1554 |
+
#: includes/i18n.php:445
|
1555 |
msgid "View details"
|
1556 |
msgstr "View details"
|
1557 |
|
1558 |
+
#: includes/i18n.php:449
|
1559 |
msgctxt "button label"
|
1560 |
msgid "Approve & Start Trial"
|
1561 |
msgstr "Approve & Start Trial"
|
1562 |
|
1563 |
+
#: includes/i18n.php:451
|
1564 |
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1565 |
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1566 |
|
1567 |
+
#: includes/i18n.php:453
|
1568 |
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1569 |
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1570 |
|
1571 |
+
#: includes/i18n.php:459
|
1572 |
msgid "Business name"
|
1573 |
msgstr "Business name"
|
1574 |
|
1575 |
+
#: includes/i18n.php:460
|
1576 |
msgid "Tax / VAT ID"
|
1577 |
msgstr "Tax / VAT ID"
|
1578 |
|
1579 |
+
#: includes/i18n.php:461
|
1580 |
msgid "Address Line %d"
|
1581 |
msgstr "Address Line %d"
|
1582 |
|
1583 |
+
#: includes/i18n.php:462
|
1584 |
msgid "Country"
|
1585 |
msgstr "Country"
|
1586 |
|
1587 |
+
#: includes/i18n.php:463
|
1588 |
msgid "Select Country"
|
1589 |
msgstr "Select Country"
|
1590 |
|
1591 |
+
#: includes/i18n.php:464
|
1592 |
msgid "City"
|
1593 |
msgstr "City"
|
1594 |
|
1595 |
+
#: includes/i18n.php:465
|
1596 |
msgid "Town"
|
1597 |
msgstr "Town"
|
1598 |
|
1599 |
+
#: includes/i18n.php:466
|
1600 |
msgid "State"
|
1601 |
msgstr "State"
|
1602 |
|
1603 |
+
#: includes/i18n.php:467
|
1604 |
msgid "Province"
|
1605 |
msgstr "Province"
|
1606 |
|
1607 |
+
#: includes/i18n.php:468
|
1608 |
msgid "ZIP / Postal Code"
|
1609 |
msgstr "ZIP / Postal Code"
|
1610 |
|
1611 |
+
#: includes/i18n.php:473
|
1612 |
+
msgid "Installing plugin: %s"
|
1613 |
+
msgstr "Installing plugin: %s"
|
1614 |
+
|
1615 |
+
#: includes/i18n.php:474
|
1616 |
+
msgid "Automatic Installation"
|
1617 |
+
msgstr "Automatic Installation"
|
1618 |
+
|
1619 |
+
#: includes/i18n.php:476
|
1620 |
+
msgid "%s sec"
|
1621 |
+
msgstr "%s sec"
|
1622 |
+
|
1623 |
+
#: includes/i18n.php:477
|
1624 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1625 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1626 |
+
|
1627 |
+
#: includes/i18n.php:478
|
1628 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1629 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1630 |
+
|
1631 |
+
#: includes/i18n.php:479
|
1632 |
+
msgid "Cancel Installation"
|
1633 |
+
msgstr "Cancel Installation"
|
1634 |
+
|
1635 |
+
#: includes/i18n.php:480
|
1636 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1637 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1638 |
+
|
1639 |
#: includes/i18n.php:481
|
1640 |
+
msgid "Invalid module ID."
|
1641 |
+
msgstr "Invalid module ID."
|
1642 |
+
|
1643 |
+
#: includes/i18n.php:482
|
1644 |
+
msgid "Auto installation only works for opted-in users."
|
1645 |
+
msgstr "Auto installation only works for opted-in users."
|
1646 |
+
|
1647 |
+
#: includes/i18n.php:483
|
1648 |
+
msgid "Premium version already active."
|
1649 |
+
msgstr "Premium version already active."
|
1650 |
+
|
1651 |
+
#: includes/i18n.php:484
|
1652 |
+
msgid "Premium add-on version already installed."
|
1653 |
+
msgstr "Premium add-on version already installed."
|
1654 |
+
|
1655 |
+
#: includes/i18n.php:485
|
1656 |
+
msgid "You do not have a valid license to access the premium version."
|
1657 |
+
msgstr "You do not have a valid license to access the premium version."
|
1658 |
+
|
1659 |
+
#: includes/i18n.php:486
|
1660 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1661 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1662 |
+
|
1663 |
+
#: includes/i18n.php:501
|
1664 |
msgctxt "Plugin installer section title"
|
1665 |
msgid "Description"
|
1666 |
msgstr "Description"
|
1667 |
|
1668 |
+
#: includes/i18n.php:502
|
1669 |
msgctxt "Plugin installer section title"
|
1670 |
msgid "Installation"
|
1671 |
msgstr "Installation"
|
1672 |
|
1673 |
+
#: includes/i18n.php:503
|
1674 |
msgctxt "Plugin installer section title"
|
1675 |
msgid "FAQ"
|
1676 |
msgstr "FAQ"
|
1677 |
|
1678 |
+
#: includes/i18n.php:504
|
1679 |
msgctxt "Plugin installer section title"
|
1680 |
msgid "Changelog"
|
1681 |
msgstr "Changelog"
|
1682 |
|
1683 |
+
#: includes/i18n.php:505
|
1684 |
msgctxt "Plugin installer section title"
|
1685 |
msgid "Reviews"
|
1686 |
msgstr "Reviews"
|
1687 |
|
1688 |
+
#: includes/i18n.php:506
|
1689 |
msgctxt "Plugin installer section title"
|
1690 |
msgid "Other Notes"
|
1691 |
msgstr "Other Notes"
|
1692 |
|
1693 |
+
#: includes/i18n.php:508
|
1694 |
msgid "%s star"
|
1695 |
msgstr "%s star"
|
1696 |
|
1697 |
+
#: includes/i18n.php:510
|
1698 |
msgid "%s stars"
|
1699 |
msgstr "%s stars"
|
1700 |
|
1701 |
+
#: includes/i18n.php:512
|
1702 |
msgid "%s rating"
|
1703 |
msgstr "%s rating"
|
1704 |
|
1705 |
+
#: includes/i18n.php:514
|
1706 |
msgid "%s ratings"
|
1707 |
msgstr "%s ratings"
|
1708 |
|
1709 |
+
#: includes/i18n.php:516
|
1710 |
msgid "%s time"
|
1711 |
msgstr "%s time"
|
1712 |
|
1713 |
+
#: includes/i18n.php:518
|
1714 |
msgid "%s times"
|
1715 |
msgstr "%s times"
|
1716 |
|
1717 |
+
#: includes/i18n.php:520
|
1718 |
msgid "Click to see reviews that provided a rating of %s"
|
1719 |
msgstr "Click to see reviews that provided a rating of %s"
|
1720 |
|
1721 |
+
#: includes/i18n.php:521
|
1722 |
msgid "Last Updated"
|
1723 |
msgstr "Last Updated"
|
1724 |
|
1725 |
+
#: includes/i18n.php:522
|
1726 |
msgid "Requires WordPress Version:"
|
1727 |
msgstr "Requires WordPress Version:"
|
1728 |
|
1729 |
+
#: includes/i18n.php:523
|
1730 |
msgctxt "as the plugin author"
|
1731 |
msgid "Author:"
|
1732 |
msgstr "Author:"
|
1733 |
|
1734 |
+
#: includes/i18n.php:524
|
1735 |
msgid "Compatible up to:"
|
1736 |
msgstr "Compatible up to:"
|
1737 |
|
1738 |
+
#: includes/i18n.php:525
|
1739 |
msgid "Downloaded:"
|
1740 |
msgstr "Downloaded:"
|
1741 |
|
1742 |
+
#: includes/i18n.php:526
|
1743 |
msgid "WordPress.org Plugin Page"
|
1744 |
msgstr "WordPress.org Plugin Page"
|
1745 |
|
1746 |
+
#: includes/i18n.php:527
|
1747 |
msgid "Plugin Homepage"
|
1748 |
msgstr "Plugin Homepage"
|
1749 |
|
1750 |
+
#: includes/i18n.php:528
|
1751 |
msgid "Donate to this plugin"
|
1752 |
msgstr "Donate to this plugin"
|
1753 |
|
1754 |
+
#: includes/i18n.php:529
|
1755 |
msgid "Average Rating"
|
1756 |
msgstr "Average Rating"
|
1757 |
|
1758 |
+
#: includes/i18n.php:530
|
1759 |
msgid "based on %s"
|
1760 |
msgstr "based on %s"
|
1761 |
|
1762 |
+
#: includes/i18n.php:531
|
1763 |
msgid "Warning:"
|
1764 |
msgstr "Warning:"
|
1765 |
|
1766 |
+
#: includes/i18n.php:532
|
1767 |
msgid "Contributors"
|
1768 |
msgstr "Contributors"
|
1769 |
|
1770 |
+
#: includes/i18n.php:533
|
1771 |
msgid "Plugin Install"
|
1772 |
msgstr "Plugin Install"
|
1773 |
|
1774 |
+
#: includes/i18n.php:534
|
1775 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1776 |
msgstr "This plugin has not been tested with your current version of WordPress."
|
1777 |
|
1778 |
+
#: includes/i18n.php:535
|
1779 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1780 |
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1781 |
|
1782 |
+
#: includes/i18n.php:536
|
1783 |
msgid "Newer Version (%s) Installed"
|
1784 |
msgstr "Newer Version (%s) Installed"
|
1785 |
|
1786 |
+
#: includes/i18n.php:537
|
1787 |
msgid "Latest Version Installed"
|
1788 |
msgstr "Latest Version Installed"
|
freemius/languages/freemius-he.mo
CHANGED
Binary file
|
freemius/languages/freemius-he.po
CHANGED
@@ -1,1661 +1,1791 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
|
|
4 |
# Vova Feldman <vova@freemius.com>, 2016
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
-
"
|
|
|
10 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
11 |
"Language-Team: Hebrew (http://www.transifex.com/freemius/wordpress-sdk/language/he/)\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"Language: he\n"
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
17 |
"X-Poedit-Basepath: ..\n"
|
18 |
-
"X-Poedit-KeywordsList:
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
21 |
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
|
23 |
-
#: includes/i18n.
|
24 |
-
msgid "Yes - I'm in!"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: includes/i18n.php43, includes/i18n.php:57
|
28 |
-
msgid "Not today"
|
29 |
-
msgstr "לא היום"
|
30 |
-
|
31 |
-
#: includes/i18n.php:69
|
32 |
msgid "Account"
|
33 |
msgstr "חשבון"
|
34 |
|
35 |
-
#: includes/i18n.php:
|
36 |
msgid "Add On"
|
37 |
-
msgstr "
|
38 |
|
39 |
-
#: includes/i18n.php:
|
40 |
msgid "Contact Us"
|
41 |
msgstr "יצירת קשר"
|
42 |
|
43 |
-
#: includes/i18n.php:
|
44 |
msgid "Contact Support"
|
45 |
msgstr "צור קשר"
|
46 |
|
47 |
-
#: includes/i18n.php:
|
48 |
msgid "Change Ownership"
|
49 |
msgstr "עדכון בעלות"
|
50 |
|
51 |
-
#: includes/i18n.php:
|
52 |
msgid "Support"
|
53 |
msgstr "תמיכה"
|
54 |
|
55 |
-
#: includes/i18n.php:
|
56 |
msgid "Support Forum"
|
57 |
msgstr "פורום תמיכה"
|
58 |
|
59 |
-
#: includes/i18n.php:
|
60 |
msgid "Add Ons"
|
61 |
-
msgstr "
|
62 |
|
63 |
-
#: includes/i18n.php:
|
64 |
msgctxt "verb"
|
65 |
msgid "Upgrade"
|
66 |
msgstr "שדרג"
|
67 |
|
68 |
-
#: includes/i18n.php:
|
69 |
msgid "Awesome"
|
70 |
msgstr "אדיר"
|
71 |
|
72 |
-
#: includes/i18n.php:
|
73 |
msgctxt "noun"
|
74 |
msgid "Pricing"
|
75 |
msgstr "מחירון"
|
76 |
|
77 |
-
#: includes/i18n.php:
|
78 |
msgctxt "noun"
|
79 |
msgid "Price"
|
80 |
msgstr "מחיר"
|
81 |
|
82 |
-
#: includes/i18n.php:
|
83 |
msgid "Unlimited Updates"
|
84 |
msgstr "עדכונים ללא הגבלה"
|
85 |
|
86 |
-
#: includes/i18n.php:
|
87 |
msgctxt "verb"
|
88 |
msgid "Downgrade"
|
89 |
msgstr "שנמך"
|
90 |
|
91 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
92 |
msgid "Cancel Trial"
|
93 |
msgstr "ביט"
|
94 |
|
95 |
-
#: includes/i18n.php:
|
96 |
msgid "Free Trial"
|
97 |
msgstr "ניסיון חינם"
|
98 |
|
99 |
-
#: includes/i18n.php:
|
100 |
msgid "Start my free %s"
|
101 |
msgstr "התחל את %s הניסיון שלי"
|
102 |
|
103 |
-
#: includes/i18n.php:
|
104 |
msgid "No commitment for %s - cancel anytime"
|
105 |
-
msgstr ""
|
106 |
|
107 |
-
#: includes/i18n.php:
|
108 |
msgid "After your free %s, pay as little as %s"
|
109 |
-
msgstr ""
|
110 |
|
111 |
-
#: includes/i18n.php:
|
112 |
msgid "Details"
|
113 |
msgstr "פרטים"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgid "Account Details"
|
117 |
msgstr "פרטי חשבון"
|
118 |
|
119 |
-
#: includes/i18n.php:
|
120 |
msgctxt "verb"
|
121 |
msgid "Delete"
|
122 |
msgstr "מחק"
|
123 |
|
124 |
-
#: includes/i18n.php:
|
125 |
msgctxt "verb"
|
126 |
msgid "Show"
|
127 |
msgstr "הצג"
|
128 |
|
129 |
-
#: includes/i18n.php:
|
130 |
msgctxt "verb"
|
131 |
msgid "Hide"
|
132 |
msgstr "הסתר"
|
133 |
|
134 |
-
#: includes/i18n.php:
|
135 |
msgctxt "verb"
|
136 |
msgid "Edit"
|
137 |
msgstr "ערוך"
|
138 |
|
139 |
-
#: includes/i18n.php:
|
140 |
msgctxt "verb"
|
141 |
msgid "Update"
|
142 |
-
msgstr ""
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Date"
|
146 |
msgstr "תאריך"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Amount"
|
150 |
msgstr "סכום"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Invoice"
|
154 |
msgstr "חשבונית"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgid "Billing"
|
158 |
msgstr "בילינג"
|
159 |
|
160 |
-
#: includes/i18n.php:
|
161 |
msgid "Payments"
|
162 |
msgstr "תשלומים"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgid "Delete Account"
|
166 |
msgstr "מחיקת חשבון"
|
167 |
|
168 |
-
#: includes/i18n.php:
|
169 |
msgctxt "as close a window"
|
170 |
msgid "Dismiss"
|
171 |
msgstr "סגירה"
|
172 |
|
173 |
-
#: includes/i18n.php:
|
174 |
msgctxt "as product pricing plan"
|
175 |
msgid "Plan"
|
176 |
msgstr "חבילה"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgid "Change Plan"
|
180 |
msgstr "שינוי חבילה"
|
181 |
|
182 |
-
#: includes/i18n.php:
|
183 |
msgctxt "as download professional version"
|
184 |
msgid "Download %s Version"
|
185 |
-
msgstr ""
|
186 |
|
187 |
-
#: includes/i18n.php:
|
188 |
msgctxt "as download professional version now"
|
189 |
msgid "Download %s version now"
|
190 |
-
msgstr ""
|
191 |
|
192 |
-
#: includes/i18n.php:
|
193 |
msgctxt "as download latest version"
|
194 |
msgid "Download Latest"
|
195 |
msgstr "הורד גרסה אחרונה"
|
196 |
|
197 |
-
#: includes/i18n.php:
|
198 |
msgctxt "E.g. you have a professional license."
|
199 |
msgid "You have a %s license."
|
200 |
-
msgstr ""
|
201 |
|
202 |
-
#: includes/i18n.php:
|
203 |
msgid "New"
|
204 |
msgstr "חדש"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgid "Free"
|
208 |
msgstr "חינם"
|
209 |
|
210 |
-
#: includes/i18n.php:
|
211 |
msgctxt "as trial plan"
|
212 |
msgid "Trial"
|
213 |
msgstr "ניסיון"
|
214 |
|
215 |
-
#: includes/i18n.php:
|
216 |
msgctxt "as starting a trial plan"
|
217 |
msgid "Start Trial"
|
218 |
-
msgstr ""
|
219 |
|
220 |
-
#: includes/i18n.php:
|
221 |
msgctxt "verb"
|
222 |
msgid "Purchase"
|
223 |
msgstr "רכישה"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgid "Purchase License"
|
227 |
msgstr "קניית רישיון"
|
228 |
|
229 |
-
#: includes/i18n.php:
|
230 |
msgctxt "verb"
|
231 |
msgid "Buy"
|
232 |
msgstr "קנייה"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Buy License"
|
236 |
msgstr "קניית רישיון"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "Single Site License"
|
240 |
msgstr "רשיון לאתר אחד"
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Unlimited Licenses"
|
244 |
msgstr "רשיונות ללא הגבלה"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "Up to %s Sites"
|
248 |
msgstr "עד %s אתרים"
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
msgid "%sRenew your license now%s to access version %s features and support."
|
252 |
-
msgstr ""
|
253 |
|
254 |
-
#: includes/i18n.php:
|
255 |
-
msgid ""
|
256 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
257 |
-
" you the license key."
|
258 |
-
msgstr ""
|
259 |
|
260 |
-
#: includes/i18n.php:
|
261 |
msgctxt "e.g. Professional Plan"
|
262 |
msgid "%s Plan"
|
263 |
-
msgstr ""
|
264 |
|
265 |
-
#: includes/i18n.php:
|
266 |
msgid "You are just one step away - %s"
|
267 |
-
msgstr ""
|
268 |
|
269 |
-
#: includes/i18n.php:
|
270 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
271 |
msgid "Complete \"%s\" Activation Now"
|
272 |
-
msgstr ""
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid "We made a few tweaks to the plugin, %s"
|
276 |
msgstr "ביצענו מספר שינויים לתוסף, %s"
|
277 |
|
278 |
-
#: includes/i18n.php:
|
279 |
msgid "Opt-in to make \"%s\" Better!"
|
280 |
-
msgstr ""
|
281 |
|
282 |
-
#: includes/i18n.php:
|
283 |
msgid "Error"
|
284 |
msgstr "שגיאה"
|
285 |
|
286 |
-
#: includes/i18n.php:
|
287 |
-
msgid ""
|
288 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
289 |
-
"sdk@freemius.com with the current error."
|
290 |
-
msgstr ""
|
291 |
|
292 |
-
#: includes/i18n.php:
|
293 |
msgctxt "as expiration date"
|
294 |
msgid "Expiration"
|
295 |
msgstr "תפוגה"
|
296 |
|
297 |
-
#: includes/i18n.php:
|
298 |
msgctxt "as software license"
|
299 |
msgid "License"
|
300 |
msgstr "רישיון"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "not verified"
|
304 |
msgstr "לא מאומת"
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgid "Verify Email"
|
308 |
msgstr "אמת כתובת דוא\"ל"
|
309 |
|
310 |
-
#: includes/i18n.php:
|
311 |
msgctxt "e.g. expires in 2 months"
|
312 |
msgid "Expires in %s"
|
313 |
-
msgstr ""
|
314 |
|
315 |
-
#: includes/i18n.php:
|
316 |
msgctxt "e.g. auto renews in 2 months"
|
317 |
msgid "Auto renews in %s"
|
318 |
-
msgstr ""
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgid "No expiration"
|
322 |
msgstr "ללא תפוגה"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgid "Expired"
|
326 |
msgstr "פג תוקף"
|
327 |
|
328 |
-
#: includes/i18n.php:
|
329 |
msgid "Cancelled"
|
330 |
msgstr "בוטל"
|
331 |
|
332 |
-
#: includes/i18n.php:
|
333 |
msgctxt "e.g. In 2 hours"
|
334 |
msgid "In %s"
|
335 |
msgstr "בעוד %s"
|
336 |
|
337 |
-
#: includes/i18n.php:
|
338 |
msgctxt "e.g. 2 min ago"
|
339 |
msgid "%s ago"
|
340 |
-
msgstr ""
|
341 |
|
342 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
343 |
msgctxt "as plugin version"
|
344 |
msgid "Version"
|
345 |
msgstr "גרסה"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Name"
|
349 |
msgstr "שם"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Email"
|
353 |
msgstr "דוא\"ל"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Email address"
|
357 |
msgstr "כתובת דוא\"ל"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Verified"
|
361 |
msgstr "מאומת"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
msgid "Plugin"
|
365 |
msgstr "תוסף"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Plugins"
|
369 |
msgstr "תוספים"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
372 |
msgid "Themes"
|
373 |
msgstr "תבניות"
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgctxt "as file/folder path"
|
377 |
msgid "Path"
|
378 |
-
msgstr ""
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Title"
|
382 |
msgstr "כותרת"
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Free version"
|
386 |
msgstr "גירסה חינאמית"
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgid "Premium version"
|
390 |
msgstr "גירסת פרימיום"
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgctxt "as WP plugin slug"
|
394 |
msgid "Slug"
|
395 |
-
msgstr ""
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "ID"
|
399 |
msgstr "מזהה"
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Users"
|
403 |
msgstr "משתמשים"
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Plugin Installs"
|
407 |
msgstr "התקנות תוסף"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
410 |
msgctxt "like websites"
|
411 |
msgid "Sites"
|
412 |
msgstr "אתרים"
|
413 |
|
414 |
-
#: includes/i18n.php:
|
415 |
msgid "User ID"
|
416 |
msgstr "מזהה משתמש"
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgid "Site ID"
|
420 |
msgstr "מזהה אתר"
|
421 |
|
422 |
-
#: includes/i18n.php:
|
423 |
msgid "Public Key"
|
424 |
msgstr "מפתח פומבי"
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgid "Secret Key"
|
428 |
msgstr "מפתח סודי"
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgctxt "as secret encryption key missing"
|
432 |
msgid "No Secret"
|
433 |
msgstr "אין מפתח סודי"
|
434 |
|
435 |
-
#: includes/i18n.php:
|
436 |
msgid "No ID"
|
437 |
msgstr "אין מזהה"
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgctxt "as synchronize license"
|
441 |
msgid "Sync License"
|
442 |
msgstr "סינכרן רישיון"
|
443 |
|
444 |
-
#: includes/i18n.php:
|
445 |
msgctxt "as synchronize"
|
446 |
msgid "Sync"
|
447 |
msgstr "סינכרון"
|
448 |
|
449 |
-
#: includes/i18n.php:
|
450 |
msgid "Activate License"
|
451 |
msgstr "הפעלת רישיון"
|
452 |
|
453 |
-
#: includes/i18n.php:
|
454 |
msgid "Activate Free Version"
|
455 |
msgstr "הפעלת גירסה חינאמית"
|
456 |
|
457 |
-
#: includes/i18n.php:
|
458 |
-
msgid ""
|
459 |
-
"Please enter the license key that you received in the email right after the "
|
460 |
-
"purchase:"
|
461 |
-
msgstr ""
|
462 |
|
463 |
-
#: includes/i18n.php:
|
464 |
msgid "Activating license..."
|
465 |
msgstr "מפעיל רישיון..."
|
466 |
|
467 |
-
#: includes/i18n.php:
|
468 |
msgid "Change License"
|
469 |
msgstr "שינוי רישיון"
|
470 |
|
471 |
-
#: includes/i18n.php:
|
472 |
msgid "Update License"
|
473 |
msgstr "עדכון רישיון"
|
474 |
|
475 |
-
#: includes/i18n.php:
|
476 |
msgid "Deactivate License"
|
477 |
msgstr "שיחרור רישיון"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "Activate"
|
481 |
msgstr "הפעלה"
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Deactivate"
|
485 |
msgstr "כיבוי"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgid "Skip & Deactivate"
|
489 |
msgstr "דלג והמשך כיבוי"
|
490 |
|
491 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
492 |
msgid "No - just deactivate"
|
493 |
msgstr "לא - פשוט כבה"
|
494 |
|
495 |
-
#: includes/i18n.php:
|
496 |
msgid "Yes - do your thing"
|
497 |
msgstr "כן - בצעו את מה שצריך"
|
498 |
|
499 |
-
#: includes/i18n.php:
|
500 |
msgctxt "active mode"
|
501 |
msgid "Active"
|
502 |
msgstr "מופעל"
|
503 |
|
504 |
-
#: includes/i18n.php:
|
505 |
msgctxt "is active mode?"
|
506 |
msgid "Is Active"
|
507 |
msgstr "האם פעיל"
|
508 |
|
509 |
-
#: includes/i18n.php:
|
510 |
msgid "Install Now"
|
511 |
msgstr "התקן עכשיו"
|
512 |
|
513 |
-
#: includes/i18n.php:
|
514 |
msgid "Install Update Now"
|
515 |
msgstr "התקן עדכון במיידי"
|
516 |
|
517 |
-
#: includes/i18n.php:
|
518 |
msgid "More information about %s"
|
519 |
-
msgstr ""
|
520 |
|
521 |
-
#: includes/i18n.php:
|
522 |
msgid "Localhost"
|
523 |
msgstr "שרת לוקאלי"
|
524 |
|
525 |
-
#: includes/i18n.php:
|
526 |
msgctxt "as activate Professional plan"
|
527 |
msgid "Activate %s Plan"
|
528 |
-
msgstr ""
|
529 |
|
530 |
-
#: includes/i18n.php:
|
531 |
msgctxt "as 5 licenses left"
|
532 |
msgid "%s left"
|
533 |
msgstr "נשארו %s"
|
534 |
|
535 |
-
#: includes/i18n.php:
|
536 |
msgid "Last license"
|
537 |
msgstr "רישיון אחרון"
|
538 |
|
539 |
-
#: includes/i18n.php:
|
540 |
msgid "What is your %s?"
|
541 |
-
msgstr ""
|
542 |
|
543 |
-
#: includes/i18n.php:
|
544 |
msgid "Activate this add-on"
|
545 |
-
msgstr "הפעל את
|
546 |
|
547 |
-
#: includes/i18n.php:
|
548 |
-
msgid ""
|
549 |
-
"Deactivating your license will block all premium features, but will enable "
|
550 |
-
"you to activate the license on another site. Are you sure you want to "
|
551 |
-
"proceed?"
|
552 |
-
msgstr ""
|
553 |
|
554 |
-
#: includes/i18n.php:
|
555 |
-
msgid ""
|
556 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
557 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
558 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
559 |
-
"account. Are you sure you would like to continue with the deletion?"
|
560 |
-
msgstr ""
|
561 |
|
562 |
-
#: includes/i18n.php:
|
563 |
-
msgid ""
|
564 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
565 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
566 |
-
msgstr ""
|
567 |
|
568 |
-
#: includes/i18n.php:
|
569 |
-
msgid ""
|
570 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
571 |
-
"and your %s plan license will expire in %s."
|
572 |
-
msgstr ""
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
-
msgid ""
|
576 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
577 |
-
"Are you sure?"
|
578 |
-
msgstr ""
|
579 |
|
580 |
-
#: includes/i18n.php:
|
581 |
-
msgid ""
|
582 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
583 |
-
"updates and support."
|
584 |
-
msgstr ""
|
585 |
|
586 |
-
#: includes/i18n.php:
|
587 |
-
msgid ""
|
588 |
-
"Once your license
|
589 |
-
" have access to the %s features."
|
590 |
-
msgstr ""
|
591 |
|
592 |
-
#: includes/i18n.php:
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
msgstr "האם את/ה בטוח רוצה להמשיך?"
|
595 |
|
596 |
-
#: includes/i18n.php:
|
597 |
msgid "Add Ons for %s"
|
598 |
-
msgstr ""
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
-
msgid ""
|
602 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
603 |
-
"please try to come back in few minutes."
|
604 |
-
msgstr ""
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
msgid "Anonymous feedback"
|
608 |
msgstr "פידבק אנונימי"
|
609 |
|
610 |
-
#: includes/i18n.php:
|
611 |
msgid "Quick feedback"
|
612 |
msgstr "פידבק זריז"
|
613 |
|
614 |
-
#: includes/i18n.php:
|
615 |
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
-
msgstr ""
|
617 |
|
618 |
-
#: includes/i18n.php:
|
619 |
msgid "Yes - Deactivate"
|
620 |
msgstr "כן - "
|
621 |
|
622 |
-
#: includes/i18n.php:
|
623 |
msgid "Submit & Deactivate"
|
624 |
msgstr "שלח וכבה"
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "Cancel"
|
628 |
msgstr "בטל"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "I no longer need the plugin"
|
632 |
msgstr "אין לי צורך יותר בתוסף"
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "I found a better plugin"
|
636 |
msgstr "מצאתי תוסף טוב יותר"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "I only needed the plugin for a short period"
|
640 |
msgstr "השתמשתי בתוסף לתקופה קצרה"
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "The plugin broke my site"
|
644 |
msgstr "התוסף הרס לי את האתר"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "The plugin suddenly stopped working"
|
648 |
msgstr "התוסף לפתע הפסיק לעבוד"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "I can't pay for it anymore"
|
652 |
msgstr "אני לא יכול/ה להמשיך לשלם על זה"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
msgstr "כיבוי זמני לשם דיבאג."
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgctxt ""
|
660 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
661 |
-
"in the modal box."
|
662 |
msgid "Other"
|
663 |
msgstr "אחר"
|
664 |
|
665 |
-
#: includes/i18n.php:
|
666 |
msgid "Kindly tell us the reason so we can improve."
|
667 |
msgstr "אנא שתף את הסיבה כדי שנוכל להשתפר."
|
668 |
|
669 |
-
#: includes/i18n.php:
|
670 |
msgid "What's the plugin's name?"
|
671 |
msgstr "מהו שם התוסף?"
|
672 |
|
673 |
-
#: includes/i18n.php:
|
674 |
msgid "What price would you feel comfortable paying?"
|
675 |
msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
|
676 |
|
677 |
-
#: includes/i18n.php:
|
678 |
msgid "I couldn't understand how to make it work"
|
679 |
msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
|
680 |
|
681 |
-
#: includes/i18n.php:
|
682 |
-
msgid ""
|
683 |
-
"The plugin is great, but I need specific feature that you don't support"
|
684 |
msgstr "התוסף מעולה, אבל אני צריכ\\ה פיצ'ר ספציפי שלא נתמך"
|
685 |
|
686 |
-
#: includes/i18n.php:
|
687 |
msgid "The plugin is not working"
|
688 |
msgstr "התוסף לא עובד"
|
689 |
|
690 |
-
#: includes/i18n.php:
|
691 |
msgid "It's not what I was looking for"
|
692 |
msgstr "חיפשתי משהו אחר"
|
693 |
|
694 |
-
#: includes/i18n.php:
|
695 |
msgid "The plugin didn't work as expected"
|
696 |
msgstr "התוסף לא עבד כמצופה"
|
697 |
|
698 |
-
#: includes/i18n.php:
|
699 |
msgid "What feature?"
|
700 |
msgstr "איזה פיטצ'ר?"
|
701 |
|
702 |
-
#: includes/i18n.php:
|
703 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
704 |
msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "What you've been looking for?"
|
708 |
msgstr "מה חיפשת?"
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgid "What did you expect?"
|
712 |
msgstr "למה ציפית?"
|
713 |
|
714 |
-
#: includes/i18n.php:
|
715 |
msgid "The plugin didn't work"
|
716 |
msgstr "התוסף לא עבד"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgid "I don't like to share my information with you"
|
720 |
msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
-
msgid ""
|
724 |
-
"You might have missed it, but you don't have to share any data and can just "
|
725 |
-
"%s the opt-in."
|
726 |
msgstr "אולי פספסת את זה אבל אינך חייב\\ת לשתף כל מידע איתנו, ביכולתך %s על שיתוף המידע."
|
727 |
|
728 |
-
#: includes/i18n.php:
|
729 |
msgctxt "greeting"
|
730 |
msgid "Hey %s,"
|
731 |
msgstr "היי %s,"
|
732 |
|
733 |
-
#: includes/i18n.php:
|
734 |
msgctxt "a greeting. E.g. Thanks John!"
|
735 |
msgid "Thanks %s!"
|
736 |
msgstr "תודה %s!"
|
737 |
|
738 |
-
#: includes/i18n.php:
|
739 |
-
msgid ""
|
740 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
741 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
742 |
-
msgstr ""
|
743 |
|
744 |
-
#: includes/i18n.php:
|
745 |
-
msgid ""
|
746 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
747 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
748 |
-
"work just fine."
|
749 |
-
msgstr ""
|
750 |
|
751 |
-
#: includes/i18n.php:
|
752 |
-
msgid ""
|
753 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
754 |
-
"make sure you click the activation button in that email to %s."
|
755 |
-
msgstr ""
|
756 |
|
757 |
-
#: includes/i18n.php:
|
758 |
msgid "complete the install"
|
759 |
-
msgstr ""
|
760 |
|
761 |
-
#: includes/i18n.php:
|
762 |
msgid "start the trial"
|
763 |
-
msgstr ""
|
764 |
|
765 |
-
#: includes/i18n.php:
|
766 |
-
msgid ""
|
767 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
768 |
-
msgstr ""
|
769 |
|
770 |
-
#: includes/i18n.php:
|
771 |
-
msgid ""
|
772 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
773 |
-
"updates and verify the validity of your license."
|
774 |
-
msgstr ""
|
775 |
|
776 |
-
#: includes/i18n.php:
|
777 |
msgid "What permissions are being granted?"
|
778 |
msgstr "מהן ההרשאות המוענקות?"
|
779 |
|
780 |
-
#: includes/i18n.php:
|
781 |
msgid "Your Profile Overview"
|
782 |
msgstr "פרטים כלליים על הפרופיל"
|
783 |
|
784 |
-
#: includes/i18n.php:
|
785 |
msgid "Name and email address"
|
786 |
msgstr "שם וכתובת דו\"אל"
|
787 |
|
788 |
-
#: includes/i18n.php:
|
789 |
msgid "Your Site Overview"
|
790 |
msgstr "פרטים כלליים על האתר"
|
791 |
|
792 |
-
#: includes/i18n.php:
|
793 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
794 |
msgstr "כתובת אתר, גרסת וורדפרס, פרטי PHP, תוספים ותבניות"
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "Current Plugin Events"
|
798 |
msgstr "שינויי מצב בתוסף הנוכחי"
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Activation, deactivation and uninstall"
|
802 |
msgstr "הפעלה, כיבוי והסרה"
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Plugins & Themes"
|
806 |
msgstr "תוספים ותבניות"
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Titles, versions and state."
|
810 |
msgstr "שמות, גרסאות וסטאטוס."
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Admin Notices"
|
814 |
-
msgstr ""
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Newsletter"
|
818 |
msgstr "ניוסלטר"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Updates, announcements, marketing, no spam"
|
822 |
-
msgstr ""
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgid "Privacy Policy"
|
826 |
msgstr "מדיניות פרטיות"
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Terms of Service"
|
830 |
msgstr "תנאי השירות"
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgctxt "as activating plugin"
|
834 |
msgid "Activating"
|
835 |
msgstr "מפעיל"
|
836 |
|
837 |
-
#: includes/i18n.php:
|
838 |
msgctxt "as in the process of sending an email"
|
839 |
msgid "Sending email"
|
840 |
msgstr "שולח דוא\"ל"
|
841 |
|
842 |
-
#: includes/i18n.php:
|
843 |
msgctxt "button label"
|
844 |
msgid "Allow & Continue"
|
845 |
msgstr "אפשר\\י והמשכ\\י"
|
846 |
|
847 |
-
#: includes/i18n.php:
|
848 |
msgctxt "button label"
|
849 |
msgid "Agree & Activate License"
|
850 |
msgstr "הסכמה והפעלת רישיון"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "verb"
|
854 |
msgid "Skip"
|
855 |
msgstr "דלג"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgid "Click here to use the plugin anonymously"
|
859 |
-
msgstr ""
|
860 |
|
861 |
-
#: includes/i18n.php:
|
862 |
msgid "Re-send activation email"
|
863 |
msgstr "שליחה חוזרת של מייל האקטיבציה"
|
864 |
|
865 |
-
#: includes/i18n.php:
|
866 |
msgid "License key"
|
867 |
msgstr "מפתח רישיון"
|
868 |
|
869 |
-
#: includes/i18n.php:
|
870 |
msgid "Send License Key"
|
871 |
msgstr "שליחת מפתח רישיון"
|
872 |
|
873 |
-
#: includes/i18n.php:
|
874 |
msgid "Sending license key"
|
875 |
msgstr "שולח מפתח רישיון"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "Have a license key?"
|
879 |
msgstr "האם ברשותך רישיון?"
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Don't have a license key?"
|
883 |
msgstr "האם אין ברשותך מפתח רישיון?"
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "Can't find your license key?"
|
887 |
msgstr "האם אינך מוצא את מפתח הרישיון?"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
-
msgid ""
|
891 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
892 |
-
"right address?"
|
893 |
-
msgstr ""
|
894 |
|
895 |
-
#: includes/i18n.php:
|
896 |
-
msgid ""
|
897 |
-
"We can't see any active licenses associated with that email address, are you"
|
898 |
-
" sure it's the right address?"
|
899 |
-
msgstr ""
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Opt In"
|
903 |
-
msgstr ""
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Opt Out"
|
907 |
-
msgstr ""
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
msgid "On second thought - I want to continue helping"
|
911 |
-
msgstr ""
|
912 |
|
913 |
-
#: includes/i18n.php:
|
914 |
msgid "Opting out..."
|
915 |
-
msgstr ""
|
916 |
|
917 |
-
#: includes/i18n.php:
|
918 |
msgid "Opting in..."
|
919 |
-
msgstr ""
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
-
msgid ""
|
923 |
-
"We appreciate your help in making the %s better by letting us track some "
|
924 |
-
"usage data."
|
925 |
-
msgstr ""
|
926 |
|
927 |
-
#: includes/i18n.php:
|
928 |
-
msgid ""
|
929 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
930 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
931 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
932 |
-
msgstr ""
|
933 |
|
934 |
-
#: includes/i18n.php:
|
935 |
-
msgid ""
|
936 |
-
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
937 |
-
"%s."
|
938 |
-
msgstr ""
|
939 |
|
940 |
-
#: includes/i18n.php:
|
941 |
msgid "Screenshots"
|
942 |
msgstr "צילומי מסך"
|
943 |
|
944 |
-
#: includes/i18n.php:
|
945 |
msgid "Click to view full-size screenshot %d"
|
946 |
-
msgstr ""
|
947 |
|
948 |
-
#: includes/i18n.php:
|
949 |
msgid "Freemius Debug"
|
950 |
-
msgstr ""
|
951 |
|
952 |
-
#: includes/i18n.php:
|
953 |
msgctxt "as turned on"
|
954 |
msgid "On"
|
955 |
msgstr "דלוק"
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgctxt "as turned off"
|
959 |
msgid "Off"
|
960 |
msgstr "כבוי"
|
961 |
|
962 |
-
#: includes/i18n.php:
|
963 |
msgctxt "as code debugging"
|
964 |
msgid "Debugging"
|
965 |
msgstr "דיבוג"
|
966 |
|
967 |
-
#: includes/i18n.php:
|
968 |
msgid "Freemius State"
|
969 |
-
msgstr ""
|
970 |
|
971 |
-
#: includes/i18n.php:
|
972 |
msgctxt "as connection was successful"
|
973 |
msgid "Connected"
|
974 |
msgstr "מחובר"
|
975 |
|
976 |
-
#: includes/i18n.php:
|
977 |
msgctxt "as connection blocked"
|
978 |
msgid "Blocked"
|
979 |
msgstr "חסום"
|
980 |
|
981 |
-
#: includes/i18n.php:
|
982 |
msgctxt "as application program interface"
|
983 |
msgid "API"
|
984 |
msgstr "API"
|
985 |
|
986 |
-
#: includes/i18n.php:
|
987 |
msgctxt "as software development kit versions"
|
988 |
msgid "SDK"
|
989 |
msgstr "SDK"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "as software development kit versions"
|
993 |
msgid "SDK Versions"
|
994 |
msgstr "גרסאות SDK"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt "as plugin folder path"
|
998 |
msgid "Plugin Path"
|
999 |
-
msgstr ""
|
1000 |
|
1001 |
-
#: includes/i18n.php:
|
1002 |
msgctxt "as sdk path"
|
1003 |
msgid "SDK Path"
|
1004 |
msgstr "מיקום SDK"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgid "Add Ons of Plugin %s"
|
1008 |
-
msgstr ""
|
1009 |
|
1010 |
-
#: includes/i18n.php:
|
1011 |
msgid "Are you sure you want to delete all Freemius data?"
|
1012 |
-
msgstr ""
|
1013 |
|
1014 |
-
#: includes/i18n.php:
|
1015 |
msgid "Actions"
|
1016 |
msgstr "פעולות"
|
1017 |
|
1018 |
-
#: includes/i18n.php:
|
1019 |
msgid "Delete All Accounts"
|
1020 |
msgstr "מחיקת כל החשבונות"
|
1021 |
|
1022 |
-
#: includes/i18n.php:
|
1023 |
msgid "Start Fresh"
|
1024 |
msgstr "התחל מחדש"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Clear API Cache"
|
1028 |
msgstr "ניקוי מטמון ה-API"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Sync Data From Server"
|
1032 |
msgstr "סנכרון מידע מהשרת"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Scheduled Crons"
|
1036 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
1039 |
msgid "Plugins & Themes Sync"
|
1040 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1043 |
msgctxt "as congratulations"
|
1044 |
msgid "Congrats"
|
1045 |
msgstr "מזל טוב"
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgctxt "exclamation"
|
1049 |
msgid "Oops"
|
1050 |
msgstr "אופס"
|
1051 |
|
1052 |
-
#: includes/i18n.php:
|
1053 |
msgctxt "interjection expressing joy or exuberance"
|
1054 |
msgid "Yee-haw"
|
1055 |
-
msgstr ""
|
1056 |
|
1057 |
-
#: includes/i18n.php:
|
1058 |
msgctxt ""
|
1059 |
-
"(especially in electronic communication) used to express elation, "
|
1060 |
-
"enthusiasm, or triumph."
|
1061 |
msgid "W00t"
|
1062 |
-
msgstr ""
|
1063 |
|
1064 |
-
#: includes/i18n.php:
|
1065 |
msgctxt "a positive response"
|
1066 |
msgid "Right on"
|
1067 |
-
msgstr ""
|
1068 |
|
1069 |
-
#: includes/i18n.php:
|
1070 |
msgctxt ""
|
1071 |
-
"something somebody says when they are thinking about what you have just "
|
1072 |
-
"said. "
|
1073 |
msgid "Hmm"
|
1074 |
msgstr "הממ"
|
1075 |
|
1076 |
-
#: includes/i18n.php:
|
1077 |
msgid "O.K"
|
1078 |
msgstr "אוקיי"
|
1079 |
|
1080 |
-
#: includes/i18n.php:
|
1081 |
msgctxt "exclamation"
|
1082 |
msgid "Hey"
|
1083 |
msgstr "היי"
|
1084 |
|
1085 |
-
#: includes/i18n.php:
|
1086 |
msgctxt "advance notice of something that will need attention."
|
1087 |
msgid "Heads up"
|
1088 |
msgstr "לתשמות לבך"
|
1089 |
|
1090 |
-
#: includes/i18n.php:
|
1091 |
msgid "Seems like you got the latest release."
|
1092 |
-
msgstr ""
|
1093 |
|
1094 |
-
#: includes/i18n.php:
|
1095 |
msgid "You are all good!"
|
1096 |
msgstr "את\\ה מסודר!"
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
-
msgid ""
|
1100 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1101 |
-
"email is already registered."
|
1102 |
-
msgstr ""
|
1103 |
|
1104 |
-
#: includes/i18n.php:
|
1105 |
-
msgid ""
|
1106 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1107 |
-
"click the Change Ownership button."
|
1108 |
-
msgstr ""
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
-
msgid ""
|
1112 |
-
"Your email was successfully updated. You should receive an email with "
|
1113 |
-
"confirmation instructions in few moments."
|
1114 |
-
msgstr ""
|
1115 |
|
1116 |
-
#: includes/i18n.php:
|
1117 |
msgid "Your name was successfully updated."
|
1118 |
msgstr "שמך עודכן בהצלחה."
|
1119 |
|
1120 |
-
#: includes/i18n.php:
|
1121 |
msgid "You have successfully updated your %s."
|
1122 |
-
msgstr ""
|
1123 |
|
1124 |
-
#: includes/i18n.php:
|
1125 |
msgid "Please provide your full name."
|
1126 |
msgstr "נא למלא את שמך המלא."
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
-
msgid ""
|
1130 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1131 |
-
"please check your spam box."
|
1132 |
-
msgstr ""
|
1133 |
|
1134 |
-
#: includes/i18n.php:
|
1135 |
-
msgid ""
|
1136 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1137 |
-
"from an external server."
|
1138 |
-
msgstr ""
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgid "No credit card required"
|
1142 |
msgstr "לא נדרש כרטיס אשראי"
|
1143 |
|
1144 |
-
#: includes/i18n.php:
|
1145 |
msgid "Premium plugin version was successfully activated."
|
1146 |
-
msgstr ""
|
1147 |
|
1148 |
-
#: includes/i18n.php:
|
1149 |
msgid "The upgrade of %s was successfully completed."
|
1150 |
-
msgstr ""
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid "Your account was successfully activated with the %s plan."
|
1154 |
-
msgstr "חשבונך הופעל בהצלחה עם חבילת
|
1155 |
|
1156 |
-
#: includes/i18n.php:
|
1157 |
msgid "Download the latest %s version now"
|
1158 |
msgstr "הורדת גרסת ה-%s העדכנית - עכשיו"
|
1159 |
|
1160 |
-
#: includes/i18n.php:
|
1161 |
msgid "Please follow these steps to complete the upgrade"
|
1162 |
msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
|
1163 |
|
1164 |
-
#: includes/i18n.php:
|
1165 |
msgid "Download the latest %s version"
|
1166 |
msgstr "הורד\\י את גרסת ה-%s העדכנית"
|
1167 |
|
1168 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1169 |
msgid "Deactivate the free version"
|
1170 |
msgstr "כבה\\י את הגרסה החינאמית"
|
1171 |
|
1172 |
-
#: includes/i18n.php:
|
1173 |
msgid "Upload and activate the downloaded version"
|
1174 |
msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
|
1175 |
|
1176 |
-
#: includes/i18n.php:
|
1177 |
msgid "How to upload and activate?"
|
1178 |
msgstr "איך להעלות ולהפעיל?"
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1182 |
msgid "%s Add-on was successfully purchased."
|
1183 |
-
msgstr ""
|
1184 |
|
1185 |
-
#: includes/i18n.php:
|
1186 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1187 |
-
msgstr ""
|
1188 |
|
1189 |
-
#: includes/i18n.php:
|
1190 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1191 |
-
msgstr ""
|
1192 |
|
1193 |
-
#: includes/i18n.php:
|
1194 |
msgid "Your plan was successfully upgraded."
|
1195 |
-
msgstr "החבילה
|
1196 |
|
1197 |
-
#: includes/i18n.php:
|
1198 |
msgid "Your plan was successfully changed to %s."
|
1199 |
-
msgstr ""
|
1200 |
|
1201 |
-
#: includes/i18n.php:
|
1202 |
-
msgid ""
|
1203 |
-
"Your license has expired. You can still continue using the free plugin "
|
1204 |
-
"forever."
|
1205 |
msgstr "פג תוקפו של הרישיון. עדיין ניתן להמשיך להשתמש בגרסה החינאמית של התוסף ללא מגבלת זמן."
|
1206 |
|
1207 |
-
#: includes/i18n.php:
|
1208 |
-
msgid ""
|
1209 |
-
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1210 |
-
" support."
|
1211 |
msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
|
1212 |
|
1213 |
-
#: includes/i18n.php:
|
1214 |
msgid "Your trial has been successfully started."
|
1215 |
msgstr "הניסיון שלך הופעל בהצלחה."
|
1216 |
|
1217 |
-
#: includes/i18n.php:
|
1218 |
msgid "Your license was successfully activated."
|
1219 |
msgstr "הרישיון הופעל בהצלחה."
|
1220 |
|
1221 |
-
#: includes/i18n.php:
|
1222 |
msgid "It looks like your site currently doesn't have an active license."
|
1223 |
msgstr "נראה לאתר עדיין אין רישיון פעיל."
|
1224 |
|
1225 |
-
#: includes/i18n.php:
|
1226 |
-
msgid ""
|
1227 |
-
"
|
1228 |
-
msgstr "רישיונך נותק בהצלחה, חזרת לחבילת ה-%s"
|
1229 |
|
1230 |
-
#: includes/i18n.php:
|
1231 |
msgid "It looks like the license deactivation failed."
|
1232 |
msgstr "נראה שניתוק הרישיון נכשל."
|
1233 |
|
1234 |
-
#: includes/i18n.php:
|
1235 |
msgid "It looks like the license could not be activated."
|
1236 |
msgstr "נראה שלא ניתן להפעיל את הרישיון."
|
1237 |
|
1238 |
-
#: includes/i18n.php:
|
1239 |
msgid "Error received from the server:"
|
1240 |
msgstr "הוחזרה שגיאה מהשרת:"
|
1241 |
|
1242 |
-
#: includes/i18n.php:
|
1243 |
-
msgid ""
|
1244 |
-
"Your trial has expired. You can still continue using all our free features."
|
1245 |
msgstr "תקופת הניסיון נגמרה. ביכולתך להמשיך להשתמש בכל הפיטצ'רים החינאמיים."
|
1246 |
|
1247 |
-
#: includes/i18n.php:
|
1248 |
-
msgid ""
|
1249 |
-
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1250 |
-
"%s."
|
1251 |
-
msgstr ""
|
1252 |
|
1253 |
-
#: includes/i18n.php:
|
1254 |
-
msgid ""
|
1255 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1256 |
-
"Please try again in few minutes."
|
1257 |
-
msgstr ""
|
1258 |
|
1259 |
-
#: includes/i18n.php:
|
1260 |
-
msgid ""
|
1261 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1262 |
-
" :)"
|
1263 |
-
msgstr ""
|
1264 |
|
1265 |
-
#: includes/i18n.php:
|
1266 |
msgid "Your %s free trial was successfully cancelled."
|
1267 |
-
msgstr ""
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgctxt "%s - numeric version number"
|
1271 |
msgid "Version %s was released."
|
1272 |
msgstr "גרסה %s הושקה."
|
1273 |
|
1274 |
-
#: includes/i18n.php:
|
1275 |
msgid "Please download %s."
|
1276 |
-
msgstr ""
|
1277 |
|
1278 |
-
#: includes/i18n.php:
|
1279 |
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
msgid "the latest %s version here"
|
1281 |
msgstr "גרסת ה-%s האחרונה כאן"
|
1282 |
|
1283 |
-
#: includes/i18n.php:
|
1284 |
-
msgid ""
|
1285 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1286 |
-
"free trial."
|
1287 |
-
msgstr ""
|
1288 |
|
1289 |
-
#: includes/i18n.php:
|
1290 |
msgctxt "call to action"
|
1291 |
msgid "Start free trial"
|
1292 |
msgstr "התחלת ניסיון חינם"
|
1293 |
|
1294 |
-
#: includes/i18n.php:
|
1295 |
msgid "Starting trial"
|
1296 |
-
msgstr ""
|
1297 |
|
1298 |
-
#: includes/i18n.php:
|
1299 |
msgid "Please wait"
|
1300 |
-
msgstr ""
|
1301 |
|
1302 |
-
#: includes/i18n.php:
|
1303 |
-
msgid ""
|
1304 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1305 |
-
"Please try again in few minutes."
|
1306 |
-
msgstr ""
|
1307 |
|
1308 |
-
#: includes/i18n.php:
|
1309 |
msgid "You already utilized a trial before."
|
1310 |
msgstr "הניסיון כבר נוצל בעבר."
|
1311 |
|
1312 |
-
#: includes/i18n.php:
|
1313 |
msgid "You are already running the plugin in a trial mode."
|
1314 |
msgstr "התוסף כבר עכשיו בתקופת ניסיון."
|
1315 |
|
1316 |
-
#: includes/i18n.php:
|
1317 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1318 |
-
msgstr ""
|
1319 |
|
1320 |
-
#: includes/i18n.php:
|
1321 |
msgid "Plan %s does not support a trial period."
|
1322 |
-
msgstr ""
|
1323 |
|
1324 |
-
#: includes/i18n.php:
|
1325 |
msgid "None of the plugin's plans supports a trial period."
|
1326 |
-
msgstr "אף אחת
|
1327 |
|
1328 |
-
#: includes/i18n.php:
|
1329 |
-
msgid ""
|
1330 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1331 |
-
"error."
|
1332 |
msgstr "שגיאת API בלתי צפוייה. נא לפנות למפתח התוסף עם השגיאה הבאה."
|
1333 |
|
1334 |
-
#: includes/i18n.php:
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
-
msgstr ""
|
1337 |
|
1338 |
-
#: includes/i18n.php:
|
1339 |
-
msgid ""
|
1340 |
-
"Your license has expired. You can still continue using all the %s features, "
|
1341 |
-
"but you'll need to renew your license to continue getting updates and "
|
1342 |
-
"support."
|
1343 |
-
msgstr ""
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid "Couldn't activate %s."
|
1347 |
-
msgstr ""
|
1348 |
|
1349 |
-
#: includes/i18n.php:
|
1350 |
msgid "Please contact us with the following message:"
|
1351 |
msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
|
1352 |
|
1353 |
-
#: includes/i18n.php:
|
1354 |
-
msgid ""
|
1355 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1356 |
-
"your plan, it's probably an issue on our side - sorry."
|
1357 |
-
msgstr ""
|
1358 |
|
1359 |
-
#: includes/i18n.php:
|
1360 |
msgid "Please contact us here"
|
1361 |
msgstr "אנא צור איתנו קשר כאן"
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
-
msgid ""
|
1365 |
-
"
|
1366 |
-
"remains %s."
|
1367 |
-
msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s"
|
1368 |
|
1369 |
-
#: includes/i18n.php:
|
1370 |
msgid "From unknown reason, the API connectivity test failed."
|
1371 |
msgstr "יש בעיית תקשורת ל-API מסיבה בלתי ברורה."
|
1372 |
|
1373 |
-
#: includes/i18n.php:
|
1374 |
-
msgid ""
|
1375 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1376 |
-
"permission, would it be o.k to run another connectivity test?"
|
1377 |
msgstr "ככל הנראה זאת בעיה זמנית בצד שלנו. ברשותך, ורק כדי להיות בטוחים שזאת הבעיה, האם זה יהיה בסדר לבצע בדיקת תקשורת נוספת?"
|
1378 |
|
1379 |
-
#: includes/i18n.php:
|
1380 |
-
msgid ""
|
1381 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1382 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1383 |
-
"on your server."
|
1384 |
-
msgstr ""
|
1385 |
|
1386 |
-
#: includes/i18n.php:
|
1387 |
-
msgid ""
|
1388 |
-
"
|
|
|
|
|
|
|
1389 |
msgstr "מסיבה בלתי ברורה, CloudFlare, חומת האש שאנחנו משתמשים בה, חוסמת את התקשורת."
|
1390 |
|
1391 |
-
#: includes/i18n.php:
|
1392 |
msgctxt "as pluginX requires an access to our API"
|
1393 |
msgid "%s requires an access to our API."
|
1394 |
msgstr "%s מחייב גישה ל-API שלנו."
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
-
msgid ""
|
1398 |
-
"It looks like your server is using Squid ACL (access control lists), which "
|
1399 |
-
"blocks the connection."
|
1400 |
-
msgstr ""
|
1401 |
|
1402 |
-
#: includes/i18n.php:
|
1403 |
msgid "I don't know what is Squid or ACL, help me!"
|
1404 |
msgstr "אין לי מושג מה זה Squid או ACL - אשמח לעזרה!"
|
1405 |
|
1406 |
-
#: includes/i18n.
|
1407 |
-
msgid ""
|
1408 |
-
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1409 |
-
"will get a follow-up email to %s once we have an update."
|
1410 |
-
msgstr ""
|
1411 |
|
1412 |
-
#: includes/i18n.php:
|
1413 |
msgid "I'm a system administrator"
|
1414 |
-
msgstr ""
|
1415 |
|
1416 |
-
#: includes/i18n.php:
|
1417 |
-
msgid ""
|
1418 |
-
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1419 |
-
" the plugin and activate it again."
|
1420 |
-
msgstr ""
|
1421 |
|
1422 |
-
#: includes/i18n.php:
|
1423 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1424 |
msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
|
1425 |
|
1426 |
-
#: includes/i18n.php:
|
1427 |
-
msgid ""
|
1428 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1429 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1430 |
-
"the plugin and reactivate it back again."
|
1431 |
-
msgstr ""
|
1432 |
|
1433 |
-
#: includes/i18n.php:
|
1434 |
-
msgid ""
|
1435 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1436 |
-
"you ASAP if you give us a chance."
|
1437 |
msgstr "זו בטח בעיה בצד שלנו ואנחנו נשמח לעזור כדי לפתור את העניין בהקדם האפשר, רק במידה ותאפשר\\י זאת."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
-
msgid ""
|
1441 |
-
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1442 |
msgstr "מצטערים על חוסר הנעימות, אנחנו כאן כדי לעזור אם תאפשר\\י זאת."
|
1443 |
|
1444 |
-
#: includes/i18n.php:
|
1445 |
msgid "Yes - I'm giving you a chance to fix it"
|
1446 |
msgstr "כן - אני נותן לך צ'אנס לתקן את זה"
|
1447 |
|
1448 |
-
#: includes/i18n.php:
|
1449 |
-
msgid ""
|
1450 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1451 |
-
"You will get a follow-up email to %s once we have an update."
|
1452 |
-
msgstr ""
|
1453 |
|
1454 |
-
#: includes/i18n.php:
|
1455 |
msgid "Let's try your previous version"
|
1456 |
msgstr "בוא ננסה את הגירסה הקודמת"
|
1457 |
|
1458 |
-
#: includes/i18n.php:
|
1459 |
msgid "Uninstall this version and install the previous one."
|
1460 |
msgstr "הסר את הגרסה הנוכחית והתקן את הגרסה קודמת."
|
1461 |
|
1462 |
-
#: includes/i18n.php:
|
1463 |
msgid "That's exhausting, please deactivate"
|
1464 |
msgstr "זה מתיש, אנא לכבות"
|
1465 |
|
1466 |
-
#: includes/i18n.php:
|
1467 |
-
msgid ""
|
1468 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1469 |
-
" to see you again in the future."
|
1470 |
-
msgstr ""
|
1471 |
|
1472 |
-
#: includes/i18n.php:
|
1473 |
-
msgid ""
|
1474 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1475 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1476 |
-
" Appreciate your patience."
|
1477 |
-
msgstr ""
|
1478 |
|
1479 |
-
#: includes/i18n.php:
|
1480 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1481 |
-
msgid ""
|
1482 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1483 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1484 |
-
msgstr ""
|
1485 |
|
1486 |
-
#: includes/i18n.php:
|
1487 |
-
msgid ""
|
1488 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1489 |
-
"Public Key, Secret Key & User ID, and try again."
|
1490 |
-
msgstr ""
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
-
msgid ""
|
1494 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1495 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1496 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1497 |
-
"folder."
|
1498 |
-
msgstr ""
|
1499 |
|
1500 |
-
#: includes/i18n.php:
|
1501 |
-
msgid ""
|
1502 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1503 |
-
" final approval."
|
1504 |
msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
msgid "%s is the new owner of the account."
|
1508 |
msgstr "%s הינו הבעלים החד של חשבון זה."
|
1509 |
|
1510 |
-
#: includes/i18n.php:
|
1511 |
msgctxt "addonX cannot run without pluginY"
|
1512 |
msgid "%s cannot run without %s."
|
1513 |
msgstr "%s לא יכול לעבוד ללא %s."
|
1514 |
|
1515 |
-
#: includes/i18n.php:
|
1516 |
msgctxt "addonX cannot run..."
|
1517 |
msgid "%s cannot run without the plugin."
|
1518 |
-
msgstr ""
|
1519 |
|
1520 |
-
#: includes/i18n.php:
|
1521 |
msgctxt "pluginX activation was successfully..."
|
1522 |
msgid "%s activation was successfully completed."
|
1523 |
-
msgstr ""
|
1524 |
|
1525 |
-
#: includes/i18n.php:
|
1526 |
msgctxt "Plugin installer section title"
|
1527 |
msgid "Features & Pricing"
|
1528 |
msgstr "פיטצ'רים ומחירים"
|
1529 |
|
1530 |
-
#: includes/i18n.php:
|
1531 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1532 |
-
msgstr ""
|
1533 |
|
1534 |
-
#: includes/i18n.php:
|
1535 |
msgid "Paid add-on must be deployed to Freemius."
|
1536 |
-
msgstr ""
|
1537 |
|
1538 |
-
#: includes/i18n.php:
|
1539 |
-
msgid ""
|
1540 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1541 |
-
"activating the plugin."
|
1542 |
-
msgstr ""
|
1543 |
|
1544 |
-
#: includes/i18n.php:
|
1545 |
-
msgid ""
|
1546 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1547 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1548 |
-
"you'll have to purchase a license."
|
1549 |
-
msgstr ""
|
1550 |
|
1551 |
-
#: includes/i18n.php:
|
1552 |
msgctxt "as every month"
|
1553 |
msgid "Monthly"
|
1554 |
msgstr "חודשי"
|
1555 |
|
1556 |
-
#: includes/i18n.php:
|
1557 |
msgctxt "as monthly period"
|
1558 |
msgid "mo"
|
1559 |
-
msgstr ""
|
1560 |
|
1561 |
-
#: includes/i18n.php:
|
1562 |
msgctxt "as once a year"
|
1563 |
msgid "Annual"
|
1564 |
msgstr "שנתי"
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
msgctxt "as once a year"
|
1568 |
msgid "Annually"
|
1569 |
msgstr "שנתי"
|
1570 |
|
1571 |
-
#: includes/i18n.php:
|
1572 |
msgctxt "as once a year"
|
1573 |
msgid "Once"
|
1574 |
msgstr "פעם אחת"
|
1575 |
|
1576 |
-
#: includes/i18n.php:
|
1577 |
msgctxt "as annual period"
|
1578 |
msgid "year"
|
1579 |
msgstr "שנה"
|
1580 |
|
1581 |
-
#: includes/i18n.php:
|
1582 |
msgid "Lifetime"
|
1583 |
msgstr "לכל החיים"
|
1584 |
|
1585 |
-
#: includes/i18n.php:
|
1586 |
msgctxt "e.g. the best product"
|
1587 |
msgid "Best"
|
1588 |
msgstr "הכי טוב"
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgctxt "e.g. billed monthly"
|
1592 |
msgid "Billed %s"
|
1593 |
msgstr "מחוייב על בסיס %s"
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgctxt "as a discount of $5 or 10%"
|
1597 |
msgid "Save %s"
|
1598 |
msgstr "שמירת %s"
|
1599 |
|
1600 |
-
#: includes/i18n.php:
|
1601 |
msgid "View details"
|
1602 |
msgstr "פרטים נוספים"
|
1603 |
|
1604 |
-
#: includes/i18n.php:
|
1605 |
msgctxt "button label"
|
1606 |
msgid "Approve & Start Trial"
|
1607 |
-
msgstr ""
|
1608 |
|
1609 |
-
#: includes/i18n.php:
|
1610 |
-
msgid ""
|
1611 |
-
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1612 |
-
"plan."
|
1613 |
-
msgstr ""
|
1614 |
|
1615 |
-
#: includes/i18n.php:
|
1616 |
-
msgid ""
|
1617 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1618 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1619 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1620 |
-
"updates and to validate your trial."
|
1621 |
-
msgstr ""
|
1622 |
|
1623 |
-
#: includes/i18n.php:
|
1624 |
msgid "Business name"
|
1625 |
-
msgstr ""
|
1626 |
|
1627 |
-
#: includes/i18n.php:
|
1628 |
msgid "Tax / VAT ID"
|
1629 |
-
msgstr ""
|
1630 |
|
1631 |
-
#: includes/i18n.php:
|
1632 |
msgid "Address Line %d"
|
1633 |
-
msgstr ""
|
1634 |
|
1635 |
-
#: includes/i18n.php:
|
1636 |
msgid "Country"
|
1637 |
-
msgstr ""
|
1638 |
|
1639 |
-
#: includes/i18n.php:
|
1640 |
msgid "Select Country"
|
1641 |
-
msgstr ""
|
1642 |
|
1643 |
-
#: includes/i18n.php:
|
1644 |
msgid "City"
|
1645 |
-
msgstr ""
|
1646 |
|
1647 |
-
#: includes/i18n.php:
|
1648 |
msgid "Town"
|
1649 |
-
msgstr ""
|
1650 |
|
1651 |
-
#: includes/i18n.php:
|
1652 |
msgid "State"
|
1653 |
-
msgstr ""
|
1654 |
|
1655 |
-
#: includes/i18n.php:
|
1656 |
msgid "Province"
|
1657 |
-
msgstr ""
|
1658 |
|
1659 |
-
#: includes/i18n.php:
|
1660 |
msgid "ZIP / Postal Code"
|
1661 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
+
# Rami Yushuvaev <r_a_m_i@hotmail.com>, 2017
|
5 |
# Vova Feldman <vova@freemius.com>, 2016
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
10 |
+
"POT-Creation-Date: \n"
|
11 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
12 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
13 |
+
"Language: he\n"
|
14 |
"Language-Team: Hebrew (http://www.transifex.com/freemius/wordpress-sdk/language/he/)\n"
|
|
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
+
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-Basepath: ..\n"
|
20 |
+
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
21 |
"X-Poedit-SearchPath-0: .\n"
|
22 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
|
25 |
+
#: includes/i18n.php:37
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
msgid "Account"
|
27 |
msgstr "חשבון"
|
28 |
|
29 |
+
#: includes/i18n.php:38
|
30 |
msgid "Add On"
|
31 |
+
msgstr "הרחבה"
|
32 |
|
33 |
+
#: includes/i18n.php:39
|
34 |
msgid "Contact Us"
|
35 |
msgstr "יצירת קשר"
|
36 |
|
37 |
+
#: includes/i18n.php:40
|
38 |
msgid "Contact Support"
|
39 |
msgstr "צור קשר"
|
40 |
|
41 |
+
#: includes/i18n.php:41
|
42 |
msgid "Change Ownership"
|
43 |
msgstr "עדכון בעלות"
|
44 |
|
45 |
+
#: includes/i18n.php:42
|
46 |
msgid "Support"
|
47 |
msgstr "תמיכה"
|
48 |
|
49 |
+
#: includes/i18n.php:43
|
50 |
msgid "Support Forum"
|
51 |
msgstr "פורום תמיכה"
|
52 |
|
53 |
+
#: includes/i18n.php:44
|
54 |
msgid "Add Ons"
|
55 |
+
msgstr "הרחבות"
|
56 |
|
57 |
+
#: includes/i18n.php:45
|
58 |
msgctxt "verb"
|
59 |
msgid "Upgrade"
|
60 |
msgstr "שדרג"
|
61 |
|
62 |
+
#: includes/i18n.php:46
|
63 |
msgid "Awesome"
|
64 |
msgstr "אדיר"
|
65 |
|
66 |
+
#: includes/i18n.php:47
|
67 |
msgctxt "noun"
|
68 |
msgid "Pricing"
|
69 |
msgstr "מחירון"
|
70 |
|
71 |
+
#: includes/i18n.php:48
|
72 |
msgctxt "noun"
|
73 |
msgid "Price"
|
74 |
msgstr "מחיר"
|
75 |
|
76 |
+
#: includes/i18n.php:49
|
77 |
msgid "Unlimited Updates"
|
78 |
msgstr "עדכונים ללא הגבלה"
|
79 |
|
80 |
+
#: includes/i18n.php:50
|
81 |
msgctxt "verb"
|
82 |
msgid "Downgrade"
|
83 |
msgstr "שנמך"
|
84 |
|
85 |
+
#: includes/i18n.php:51
|
86 |
+
msgctxt "verb"
|
87 |
+
msgid "Cancel Subscription"
|
88 |
+
msgstr "Cancel Subscription"
|
89 |
+
|
90 |
+
#: includes/i18n.php:52
|
91 |
msgid "Cancel Trial"
|
92 |
msgstr "ביט"
|
93 |
|
94 |
+
#: includes/i18n.php:53
|
95 |
msgid "Free Trial"
|
96 |
msgstr "ניסיון חינם"
|
97 |
|
98 |
+
#: includes/i18n.php:54
|
99 |
msgid "Start my free %s"
|
100 |
msgstr "התחל את %s הניסיון שלי"
|
101 |
|
102 |
+
#: includes/i18n.php:55
|
103 |
msgid "No commitment for %s - cancel anytime"
|
104 |
+
msgstr "No commitment for %s - cancel anytime"
|
105 |
|
106 |
+
#: includes/i18n.php:56
|
107 |
msgid "After your free %s, pay as little as %s"
|
108 |
+
msgstr "After your free %s, pay as little as %s"
|
109 |
|
110 |
+
#: includes/i18n.php:57
|
111 |
msgid "Details"
|
112 |
msgstr "פרטים"
|
113 |
|
114 |
+
#: includes/i18n.php:58
|
115 |
msgid "Account Details"
|
116 |
msgstr "פרטי חשבון"
|
117 |
|
118 |
+
#: includes/i18n.php:59
|
119 |
msgctxt "verb"
|
120 |
msgid "Delete"
|
121 |
msgstr "מחק"
|
122 |
|
123 |
+
#: includes/i18n.php:60
|
124 |
msgctxt "verb"
|
125 |
msgid "Show"
|
126 |
msgstr "הצג"
|
127 |
|
128 |
+
#: includes/i18n.php:61
|
129 |
msgctxt "verb"
|
130 |
msgid "Hide"
|
131 |
msgstr "הסתר"
|
132 |
|
133 |
+
#: includes/i18n.php:62
|
134 |
msgctxt "verb"
|
135 |
msgid "Edit"
|
136 |
msgstr "ערוך"
|
137 |
|
138 |
+
#: includes/i18n.php:63
|
139 |
msgctxt "verb"
|
140 |
msgid "Update"
|
141 |
+
msgstr "עדכן"
|
142 |
|
143 |
+
#: includes/i18n.php:64
|
144 |
msgid "Date"
|
145 |
msgstr "תאריך"
|
146 |
|
147 |
+
#: includes/i18n.php:65
|
148 |
msgid "Amount"
|
149 |
msgstr "סכום"
|
150 |
|
151 |
+
#: includes/i18n.php:66
|
152 |
msgid "Invoice"
|
153 |
msgstr "חשבונית"
|
154 |
|
155 |
+
#: includes/i18n.php:67
|
156 |
msgid "Billing"
|
157 |
msgstr "בילינג"
|
158 |
|
159 |
+
#: includes/i18n.php:68
|
160 |
msgid "Payments"
|
161 |
msgstr "תשלומים"
|
162 |
|
163 |
+
#: includes/i18n.php:69
|
164 |
msgid "Delete Account"
|
165 |
msgstr "מחיקת חשבון"
|
166 |
|
167 |
+
#: includes/i18n.php:70
|
168 |
msgctxt "as close a window"
|
169 |
msgid "Dismiss"
|
170 |
msgstr "סגירה"
|
171 |
|
172 |
+
#: includes/i18n.php:71
|
173 |
msgctxt "as product pricing plan"
|
174 |
msgid "Plan"
|
175 |
msgstr "חבילה"
|
176 |
|
177 |
+
#: includes/i18n.php:72
|
178 |
msgid "Change Plan"
|
179 |
msgstr "שינוי חבילה"
|
180 |
|
181 |
+
#: includes/i18n.php:73
|
182 |
msgctxt "as download professional version"
|
183 |
msgid "Download %s Version"
|
184 |
+
msgstr "הורד גרסת %s"
|
185 |
|
186 |
+
#: includes/i18n.php:74
|
187 |
msgctxt "as download professional version now"
|
188 |
msgid "Download %s version now"
|
189 |
+
msgstr "הורד עכשיו גרסת %s"
|
190 |
|
191 |
+
#: includes/i18n.php:75
|
192 |
msgctxt "as download latest version"
|
193 |
msgid "Download Latest"
|
194 |
msgstr "הורד גרסה אחרונה"
|
195 |
|
196 |
+
#: includes/i18n.php:76
|
197 |
msgctxt "E.g. you have a professional license."
|
198 |
msgid "You have a %s license."
|
199 |
+
msgstr "יש לך רישיון %s."
|
200 |
|
201 |
+
#: includes/i18n.php:77
|
202 |
msgid "New"
|
203 |
msgstr "חדש"
|
204 |
|
205 |
+
#: includes/i18n.php:78
|
206 |
msgid "Free"
|
207 |
msgstr "חינם"
|
208 |
|
209 |
+
#: includes/i18n.php:79
|
210 |
msgctxt "as trial plan"
|
211 |
msgid "Trial"
|
212 |
msgstr "ניסיון"
|
213 |
|
214 |
+
#: includes/i18n.php:80
|
215 |
msgctxt "as starting a trial plan"
|
216 |
msgid "Start Trial"
|
217 |
+
msgstr "התחל תקופת ניסיון"
|
218 |
|
219 |
+
#: includes/i18n.php:81
|
220 |
msgctxt "verb"
|
221 |
msgid "Purchase"
|
222 |
msgstr "רכישה"
|
223 |
|
224 |
+
#: includes/i18n.php:82
|
225 |
msgid "Purchase License"
|
226 |
msgstr "קניית רישיון"
|
227 |
|
228 |
+
#: includes/i18n.php:83
|
229 |
msgctxt "verb"
|
230 |
msgid "Buy"
|
231 |
msgstr "קנייה"
|
232 |
|
233 |
+
#: includes/i18n.php:84
|
234 |
msgid "Buy License"
|
235 |
msgstr "קניית רישיון"
|
236 |
|
237 |
+
#: includes/i18n.php:85
|
238 |
msgid "Single Site License"
|
239 |
msgstr "רשיון לאתר אחד"
|
240 |
|
241 |
+
#: includes/i18n.php:86
|
242 |
msgid "Unlimited Licenses"
|
243 |
msgstr "רשיונות ללא הגבלה"
|
244 |
|
245 |
+
#: includes/i18n.php:87
|
246 |
msgid "Up to %s Sites"
|
247 |
msgstr "עד %s אתרים"
|
248 |
|
249 |
+
#: includes/i18n.php:88
|
250 |
msgid "%sRenew your license now%s to access version %s features and support."
|
251 |
+
msgstr "%sRenew your license now%s to access version %s features and support."
|
252 |
|
253 |
+
#: includes/i18n.php:89
|
254 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
255 |
+
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
256 |
|
257 |
+
#: includes/i18n.php:90
|
258 |
msgctxt "e.g. Professional Plan"
|
259 |
msgid "%s Plan"
|
260 |
+
msgstr "חבילה %s"
|
261 |
|
262 |
+
#: includes/i18n.php:91
|
263 |
msgid "You are just one step away - %s"
|
264 |
+
msgstr "You are just one step away - %s"
|
265 |
|
266 |
+
#: includes/i18n.php:92
|
267 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
+
msgstr "השלם הפעלת \"%s\" עכשיו"
|
270 |
|
271 |
+
#: includes/i18n.php:94
|
272 |
msgid "We made a few tweaks to the plugin, %s"
|
273 |
msgstr "ביצענו מספר שינויים לתוסף, %s"
|
274 |
|
275 |
+
#: includes/i18n.php:95
|
276 |
msgid "Opt-in to make \"%s\" Better!"
|
277 |
+
msgstr "Opt-in to make \"%s\" Better!"
|
278 |
|
279 |
+
#: includes/i18n.php:96
|
280 |
msgid "Error"
|
281 |
msgstr "שגיאה"
|
282 |
|
283 |
+
#: includes/i18n.php:97
|
284 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
285 |
+
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
286 |
|
287 |
+
#: includes/i18n.php:100
|
288 |
msgctxt "as expiration date"
|
289 |
msgid "Expiration"
|
290 |
msgstr "תפוגה"
|
291 |
|
292 |
+
#: includes/i18n.php:101
|
293 |
msgctxt "as software license"
|
294 |
msgid "License"
|
295 |
msgstr "רישיון"
|
296 |
|
297 |
+
#: includes/i18n.php:102
|
298 |
msgid "not verified"
|
299 |
msgstr "לא מאומת"
|
300 |
|
301 |
+
#: includes/i18n.php:103
|
302 |
msgid "Verify Email"
|
303 |
msgstr "אמת כתובת דוא\"ל"
|
304 |
|
305 |
+
#: includes/i18n.php:104
|
306 |
msgctxt "e.g. expires in 2 months"
|
307 |
msgid "Expires in %s"
|
308 |
+
msgstr "פג תוקף בעוד %s"
|
309 |
|
310 |
+
#: includes/i18n.php:105
|
311 |
msgctxt "e.g. auto renews in 2 months"
|
312 |
msgid "Auto renews in %s"
|
313 |
+
msgstr "עדכן אוטומטית בעוד %s"
|
314 |
|
315 |
+
#: includes/i18n.php:106
|
316 |
msgid "No expiration"
|
317 |
msgstr "ללא תפוגה"
|
318 |
|
319 |
+
#: includes/i18n.php:107
|
320 |
msgid "Expired"
|
321 |
msgstr "פג תוקף"
|
322 |
|
323 |
+
#: includes/i18n.php:108
|
324 |
msgid "Cancelled"
|
325 |
msgstr "בוטל"
|
326 |
|
327 |
+
#: includes/i18n.php:109
|
328 |
msgctxt "e.g. In 2 hours"
|
329 |
msgid "In %s"
|
330 |
msgstr "בעוד %s"
|
331 |
|
332 |
+
#: includes/i18n.php:110
|
333 |
msgctxt "e.g. 2 min ago"
|
334 |
msgid "%s ago"
|
335 |
+
msgstr "לפני %s"
|
336 |
|
337 |
+
#: includes/i18n.php:112
|
338 |
+
msgid "%s or higher"
|
339 |
+
msgstr "%s ומעלה"
|
340 |
+
|
341 |
+
#: includes/i18n.php:113
|
342 |
msgctxt "as plugin version"
|
343 |
msgid "Version"
|
344 |
msgstr "גרסה"
|
345 |
|
346 |
+
#: includes/i18n.php:114
|
347 |
msgid "Name"
|
348 |
msgstr "שם"
|
349 |
|
350 |
+
#: includes/i18n.php:115
|
351 |
msgid "Email"
|
352 |
msgstr "דוא\"ל"
|
353 |
|
354 |
+
#: includes/i18n.php:116
|
355 |
msgid "Email address"
|
356 |
msgstr "כתובת דוא\"ל"
|
357 |
|
358 |
+
#: includes/i18n.php:117
|
359 |
msgid "Verified"
|
360 |
msgstr "מאומת"
|
361 |
|
362 |
+
#: includes/i18n.php:118
|
363 |
+
msgid "Module"
|
364 |
+
msgstr "מודול"
|
365 |
+
|
366 |
+
#: includes/i18n.php:119
|
367 |
+
msgid "Module Type"
|
368 |
+
msgstr "סוג מודול"
|
369 |
+
|
370 |
+
#: includes/i18n.php:120
|
371 |
msgid "Plugin"
|
372 |
msgstr "תוסף"
|
373 |
|
374 |
+
#: includes/i18n.php:121
|
375 |
msgid "Plugins"
|
376 |
msgstr "תוספים"
|
377 |
|
378 |
+
#: includes/i18n.php:122
|
379 |
+
msgid "Theme"
|
380 |
+
msgstr "תבנית"
|
381 |
+
|
382 |
+
#: includes/i18n.php:123
|
383 |
msgid "Themes"
|
384 |
msgstr "תבניות"
|
385 |
|
386 |
+
#: includes/i18n.php:124
|
387 |
msgctxt "as file/folder path"
|
388 |
msgid "Path"
|
389 |
+
msgstr "נתיב"
|
390 |
|
391 |
+
#: includes/i18n.php:125
|
392 |
msgid "Title"
|
393 |
msgstr "כותרת"
|
394 |
|
395 |
+
#: includes/i18n.php:126
|
396 |
msgid "Free version"
|
397 |
msgstr "גירסה חינאמית"
|
398 |
|
399 |
+
#: includes/i18n.php:127
|
400 |
msgid "Premium version"
|
401 |
msgstr "גירסת פרימיום"
|
402 |
|
403 |
+
#: includes/i18n.php:128
|
404 |
msgctxt "as WP plugin slug"
|
405 |
msgid "Slug"
|
406 |
+
msgstr "מזהה כתובת"
|
407 |
|
408 |
+
#: includes/i18n.php:129
|
409 |
msgid "ID"
|
410 |
msgstr "מזהה"
|
411 |
|
412 |
+
#: includes/i18n.php:130
|
413 |
msgid "Users"
|
414 |
msgstr "משתמשים"
|
415 |
|
416 |
+
#: includes/i18n.php:131
|
417 |
msgid "Plugin Installs"
|
418 |
msgstr "התקנות תוסף"
|
419 |
|
420 |
+
#: includes/i18n.php:132
|
421 |
+
msgid "%s Installs"
|
422 |
+
msgstr "%s התקנות"
|
423 |
+
|
424 |
+
#: includes/i18n.php:133
|
425 |
msgctxt "like websites"
|
426 |
msgid "Sites"
|
427 |
msgstr "אתרים"
|
428 |
|
429 |
+
#: includes/i18n.php:134
|
430 |
msgid "User ID"
|
431 |
msgstr "מזהה משתמש"
|
432 |
|
433 |
+
#: includes/i18n.php:135
|
434 |
msgid "Site ID"
|
435 |
msgstr "מזהה אתר"
|
436 |
|
437 |
+
#: includes/i18n.php:136
|
438 |
msgid "Public Key"
|
439 |
msgstr "מפתח פומבי"
|
440 |
|
441 |
+
#: includes/i18n.php:137
|
442 |
msgid "Secret Key"
|
443 |
msgstr "מפתח סודי"
|
444 |
|
445 |
+
#: includes/i18n.php:138
|
446 |
msgctxt "as secret encryption key missing"
|
447 |
msgid "No Secret"
|
448 |
msgstr "אין מפתח סודי"
|
449 |
|
450 |
+
#: includes/i18n.php:139
|
451 |
msgid "No ID"
|
452 |
msgstr "אין מזהה"
|
453 |
|
454 |
+
#: includes/i18n.php:140
|
455 |
msgctxt "as synchronize license"
|
456 |
msgid "Sync License"
|
457 |
msgstr "סינכרן רישיון"
|
458 |
|
459 |
+
#: includes/i18n.php:141
|
460 |
msgctxt "as synchronize"
|
461 |
msgid "Sync"
|
462 |
msgstr "סינכרון"
|
463 |
|
464 |
+
#: includes/i18n.php:142
|
465 |
msgid "Activate License"
|
466 |
msgstr "הפעלת רישיון"
|
467 |
|
468 |
+
#: includes/i18n.php:143
|
469 |
msgid "Activate Free Version"
|
470 |
msgstr "הפעלת גירסה חינאמית"
|
471 |
|
472 |
+
#: includes/i18n.php:144
|
473 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
474 |
+
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
475 |
|
476 |
+
#: includes/i18n.php:145
|
477 |
msgid "Activating license..."
|
478 |
msgstr "מפעיל רישיון..."
|
479 |
|
480 |
+
#: includes/i18n.php:146
|
481 |
msgid "Change License"
|
482 |
msgstr "שינוי רישיון"
|
483 |
|
484 |
+
#: includes/i18n.php:147
|
485 |
msgid "Update License"
|
486 |
msgstr "עדכון רישיון"
|
487 |
|
488 |
+
#: includes/i18n.php:148
|
489 |
msgid "Deactivate License"
|
490 |
msgstr "שיחרור רישיון"
|
491 |
|
492 |
+
#: includes/i18n.php:149
|
493 |
msgid "Activate"
|
494 |
msgstr "הפעלה"
|
495 |
|
496 |
+
#: includes/i18n.php:150
|
497 |
msgid "Deactivate"
|
498 |
msgstr "כיבוי"
|
499 |
|
500 |
+
#: includes/i18n.php:151
|
501 |
msgid "Skip & Deactivate"
|
502 |
msgstr "דלג והמשך כיבוי"
|
503 |
|
504 |
+
#: includes/i18n.php:152
|
505 |
+
msgid "Skip & %s"
|
506 |
+
msgstr "דלג ו%s"
|
507 |
+
|
508 |
+
#: includes/i18n.php:153
|
509 |
msgid "No - just deactivate"
|
510 |
msgstr "לא - פשוט כבה"
|
511 |
|
512 |
+
#: includes/i18n.php:154
|
513 |
msgid "Yes - do your thing"
|
514 |
msgstr "כן - בצעו את מה שצריך"
|
515 |
|
516 |
+
#: includes/i18n.php:155
|
517 |
msgctxt "active mode"
|
518 |
msgid "Active"
|
519 |
msgstr "מופעל"
|
520 |
|
521 |
+
#: includes/i18n.php:156
|
522 |
msgctxt "is active mode?"
|
523 |
msgid "Is Active"
|
524 |
msgstr "האם פעיל"
|
525 |
|
526 |
+
#: includes/i18n.php:157
|
527 |
msgid "Install Now"
|
528 |
msgstr "התקן עכשיו"
|
529 |
|
530 |
+
#: includes/i18n.php:158
|
531 |
msgid "Install Update Now"
|
532 |
msgstr "התקן עדכון במיידי"
|
533 |
|
534 |
+
#: includes/i18n.php:159
|
535 |
msgid "More information about %s"
|
536 |
+
msgstr "מידע נוסף אודות %s"
|
537 |
|
538 |
+
#: includes/i18n.php:160
|
539 |
msgid "Localhost"
|
540 |
msgstr "שרת לוקאלי"
|
541 |
|
542 |
+
#: includes/i18n.php:161
|
543 |
msgctxt "as activate Professional plan"
|
544 |
msgid "Activate %s Plan"
|
545 |
+
msgstr "הפעל חבילה %s"
|
546 |
|
547 |
+
#: includes/i18n.php:162
|
548 |
msgctxt "as 5 licenses left"
|
549 |
msgid "%s left"
|
550 |
msgstr "נשארו %s"
|
551 |
|
552 |
+
#: includes/i18n.php:163
|
553 |
msgid "Last license"
|
554 |
msgstr "רישיון אחרון"
|
555 |
|
556 |
+
#: includes/i18n.php:164
|
557 |
msgid "What is your %s?"
|
558 |
+
msgstr "מה ה%s שלך?"
|
559 |
|
560 |
+
#: includes/i18n.php:165
|
561 |
msgid "Activate this add-on"
|
562 |
+
msgstr "הפעל את ההרחבה"
|
563 |
|
564 |
+
#: includes/i18n.php:166
|
565 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
566 |
+
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
567 |
|
568 |
+
#: includes/i18n.php:167
|
569 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
570 |
+
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
571 |
|
572 |
+
#: includes/i18n.php:168
|
573 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
574 |
+
msgstr "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
575 |
|
576 |
+
#: includes/i18n.php:169
|
577 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
578 |
+
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
579 |
|
580 |
+
#: includes/i18n.php:170
|
581 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
582 |
+
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
583 |
|
584 |
+
#: includes/i18n.php:171
|
585 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
586 |
+
msgstr "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
587 |
|
588 |
+
#: includes/i18n.php:172
|
589 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
590 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
591 |
|
592 |
+
#: includes/i18n.php:173
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
msgstr "האם את/ה בטוח רוצה להמשיך?"
|
595 |
|
596 |
+
#: includes/i18n.php:176
|
597 |
msgid "Add Ons for %s"
|
598 |
+
msgstr "הרחבות עבור %s"
|
599 |
|
600 |
+
#: includes/i18n.php:177
|
601 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
602 |
+
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
603 |
|
604 |
+
#: includes/i18n.php:179
|
605 |
msgid "Anonymous feedback"
|
606 |
msgstr "פידבק אנונימי"
|
607 |
|
608 |
+
#: includes/i18n.php:180
|
609 |
msgid "Quick feedback"
|
610 |
msgstr "פידבק זריז"
|
611 |
|
612 |
+
#: includes/i18n.php:181
|
613 |
msgid "If you have a moment, please let us know why you are deactivating"
|
614 |
+
msgstr "If you have a moment, please let us know why you are deactivating"
|
615 |
|
616 |
+
#: includes/i18n.php:182
|
617 |
msgid "Yes - Deactivate"
|
618 |
msgstr "כן - "
|
619 |
|
620 |
+
#: includes/i18n.php:183
|
621 |
msgid "Submit & Deactivate"
|
622 |
msgstr "שלח וכבה"
|
623 |
|
624 |
+
#: includes/i18n.php:184
|
625 |
msgid "Cancel"
|
626 |
msgstr "בטל"
|
627 |
|
628 |
+
#: includes/i18n.php:185
|
629 |
msgid "I no longer need the plugin"
|
630 |
msgstr "אין לי צורך יותר בתוסף"
|
631 |
|
632 |
+
#: includes/i18n.php:186
|
633 |
msgid "I found a better plugin"
|
634 |
msgstr "מצאתי תוסף טוב יותר"
|
635 |
|
636 |
+
#: includes/i18n.php:187
|
637 |
msgid "I only needed the plugin for a short period"
|
638 |
msgstr "השתמשתי בתוסף לתקופה קצרה"
|
639 |
|
640 |
+
#: includes/i18n.php:188
|
641 |
msgid "The plugin broke my site"
|
642 |
msgstr "התוסף הרס לי את האתר"
|
643 |
|
644 |
+
#: includes/i18n.php:189
|
645 |
msgid "The plugin suddenly stopped working"
|
646 |
msgstr "התוסף לפתע הפסיק לעבוד"
|
647 |
|
648 |
+
#: includes/i18n.php:190
|
649 |
msgid "I can't pay for it anymore"
|
650 |
msgstr "אני לא יכול/ה להמשיך לשלם על זה"
|
651 |
|
652 |
+
#: includes/i18n.php:191
|
653 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
654 |
msgstr "כיבוי זמני לשם דיבאג."
|
655 |
|
656 |
+
#: includes/i18n.php:192
|
657 |
msgctxt ""
|
|
|
|
|
658 |
msgid "Other"
|
659 |
msgstr "אחר"
|
660 |
|
661 |
+
#: includes/i18n.php:194
|
662 |
msgid "Kindly tell us the reason so we can improve."
|
663 |
msgstr "אנא שתף את הסיבה כדי שנוכל להשתפר."
|
664 |
|
665 |
+
#: includes/i18n.php:195
|
666 |
msgid "What's the plugin's name?"
|
667 |
msgstr "מהו שם התוסף?"
|
668 |
|
669 |
+
#: includes/i18n.php:196
|
670 |
msgid "What price would you feel comfortable paying?"
|
671 |
msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
|
672 |
|
673 |
+
#: includes/i18n.php:197
|
674 |
msgid "I couldn't understand how to make it work"
|
675 |
msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
|
676 |
|
677 |
+
#: includes/i18n.php:198
|
678 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
|
|
679 |
msgstr "התוסף מעולה, אבל אני צריכ\\ה פיצ'ר ספציפי שלא נתמך"
|
680 |
|
681 |
+
#: includes/i18n.php:199
|
682 |
msgid "The plugin is not working"
|
683 |
msgstr "התוסף לא עובד"
|
684 |
|
685 |
+
#: includes/i18n.php:200
|
686 |
msgid "It's not what I was looking for"
|
687 |
msgstr "חיפשתי משהו אחר"
|
688 |
|
689 |
+
#: includes/i18n.php:201
|
690 |
msgid "The plugin didn't work as expected"
|
691 |
msgstr "התוסף לא עבד כמצופה"
|
692 |
|
693 |
+
#: includes/i18n.php:202
|
694 |
msgid "What feature?"
|
695 |
msgstr "איזה פיטצ'ר?"
|
696 |
|
697 |
+
#: includes/i18n.php:203
|
698 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
699 |
msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
|
700 |
|
701 |
+
#: includes/i18n.php:204
|
702 |
msgid "What you've been looking for?"
|
703 |
msgstr "מה חיפשת?"
|
704 |
|
705 |
+
#: includes/i18n.php:205
|
706 |
msgid "What did you expect?"
|
707 |
msgstr "למה ציפית?"
|
708 |
|
709 |
+
#: includes/i18n.php:206
|
710 |
msgid "The plugin didn't work"
|
711 |
msgstr "התוסף לא עבד"
|
712 |
|
713 |
+
#: includes/i18n.php:207
|
714 |
msgid "I don't like to share my information with you"
|
715 |
msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
|
716 |
|
717 |
+
#: includes/i18n.php:208
|
718 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
719 |
msgstr "אולי פספסת את זה אבל אינך חייב\\ת לשתף כל מידע איתנו, ביכולתך %s על שיתוף המידע."
|
720 |
|
721 |
+
#: includes/i18n.php:212
|
722 |
msgctxt "greeting"
|
723 |
msgid "Hey %s,"
|
724 |
msgstr "היי %s,"
|
725 |
|
726 |
+
#: includes/i18n.php:213
|
727 |
msgctxt "a greeting. E.g. Thanks John!"
|
728 |
msgid "Thanks %s!"
|
729 |
msgstr "תודה %s!"
|
730 |
|
731 |
+
#: includes/i18n.php:214
|
732 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
733 |
+
msgstr "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
734 |
|
735 |
+
#: includes/i18n.php:215
|
736 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
737 |
+
msgstr "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
738 |
|
739 |
+
#: includes/i18n.php:216
|
740 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
741 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
742 |
|
743 |
+
#: includes/i18n.php:217
|
744 |
msgid "complete the install"
|
745 |
+
msgstr "השלם התקנה"
|
746 |
|
747 |
+
#: includes/i18n.php:218
|
748 |
msgid "start the trial"
|
749 |
+
msgstr "התחל תקופת ניסיון"
|
750 |
|
751 |
+
#: includes/i18n.php:219
|
752 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
753 |
+
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
754 |
|
755 |
+
#: includes/i18n.php:220
|
756 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
757 |
+
msgstr "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
758 |
|
759 |
+
#: includes/i18n.php:221
|
760 |
msgid "What permissions are being granted?"
|
761 |
msgstr "מהן ההרשאות המוענקות?"
|
762 |
|
763 |
+
#: includes/i18n.php:222
|
764 |
msgid "Your Profile Overview"
|
765 |
msgstr "פרטים כלליים על הפרופיל"
|
766 |
|
767 |
+
#: includes/i18n.php:223
|
768 |
msgid "Name and email address"
|
769 |
msgstr "שם וכתובת דו\"אל"
|
770 |
|
771 |
+
#: includes/i18n.php:224
|
772 |
msgid "Your Site Overview"
|
773 |
msgstr "פרטים כלליים על האתר"
|
774 |
|
775 |
+
#: includes/i18n.php:225
|
776 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
777 |
msgstr "כתובת אתר, גרסת וורדפרס, פרטי PHP, תוספים ותבניות"
|
778 |
|
779 |
+
#: includes/i18n.php:226
|
780 |
msgid "Current Plugin Events"
|
781 |
msgstr "שינויי מצב בתוסף הנוכחי"
|
782 |
|
783 |
+
#: includes/i18n.php:227
|
784 |
msgid "Activation, deactivation and uninstall"
|
785 |
msgstr "הפעלה, כיבוי והסרה"
|
786 |
|
787 |
+
#: includes/i18n.php:228
|
788 |
msgid "Plugins & Themes"
|
789 |
msgstr "תוספים ותבניות"
|
790 |
|
791 |
+
#: includes/i18n.php:229
|
792 |
msgid "Titles, versions and state."
|
793 |
msgstr "שמות, גרסאות וסטאטוס."
|
794 |
|
795 |
+
#: includes/i18n.php:230
|
796 |
msgid "Admin Notices"
|
797 |
+
msgstr "התראות מנהל"
|
798 |
|
799 |
+
#: includes/i18n.php:231
|
800 |
msgid "Newsletter"
|
801 |
msgstr "ניוסלטר"
|
802 |
|
803 |
+
#: includes/i18n.php:232
|
804 |
msgid "Updates, announcements, marketing, no spam"
|
805 |
+
msgstr "Updates, announcements, marketing, no spam"
|
806 |
|
807 |
+
#: includes/i18n.php:233
|
808 |
msgid "Privacy Policy"
|
809 |
msgstr "מדיניות פרטיות"
|
810 |
|
811 |
+
#: includes/i18n.php:234
|
812 |
msgid "Terms of Service"
|
813 |
msgstr "תנאי השירות"
|
814 |
|
815 |
+
#: includes/i18n.php:235
|
816 |
msgctxt "as activating plugin"
|
817 |
msgid "Activating"
|
818 |
msgstr "מפעיל"
|
819 |
|
820 |
+
#: includes/i18n.php:236
|
821 |
msgctxt "as in the process of sending an email"
|
822 |
msgid "Sending email"
|
823 |
msgstr "שולח דוא\"ל"
|
824 |
|
825 |
+
#: includes/i18n.php:237
|
826 |
msgctxt "button label"
|
827 |
msgid "Allow & Continue"
|
828 |
msgstr "אפשר\\י והמשכ\\י"
|
829 |
|
830 |
+
#: includes/i18n.php:238
|
831 |
msgctxt "button label"
|
832 |
msgid "Agree & Activate License"
|
833 |
msgstr "הסכמה והפעלת רישיון"
|
834 |
|
835 |
+
#: includes/i18n.php:239
|
836 |
msgctxt "verb"
|
837 |
msgid "Skip"
|
838 |
msgstr "דלג"
|
839 |
|
840 |
+
#: includes/i18n.php:240
|
841 |
msgid "Click here to use the plugin anonymously"
|
842 |
+
msgstr "Click here to use the plugin anonymously"
|
843 |
|
844 |
+
#: includes/i18n.php:241
|
845 |
msgid "Re-send activation email"
|
846 |
msgstr "שליחה חוזרת של מייל האקטיבציה"
|
847 |
|
848 |
+
#: includes/i18n.php:242
|
849 |
msgid "License key"
|
850 |
msgstr "מפתח רישיון"
|
851 |
|
852 |
+
#: includes/i18n.php:243
|
853 |
msgid "Send License Key"
|
854 |
msgstr "שליחת מפתח רישיון"
|
855 |
|
856 |
+
#: includes/i18n.php:244
|
857 |
msgid "Sending license key"
|
858 |
msgstr "שולח מפתח רישיון"
|
859 |
|
860 |
+
#: includes/i18n.php:245
|
861 |
msgid "Have a license key?"
|
862 |
msgstr "האם ברשותך רישיון?"
|
863 |
|
864 |
+
#: includes/i18n.php:246
|
865 |
msgid "Don't have a license key?"
|
866 |
msgstr "האם אין ברשותך מפתח רישיון?"
|
867 |
|
868 |
+
#: includes/i18n.php:247
|
869 |
msgid "Can't find your license key?"
|
870 |
msgstr "האם אינך מוצא את מפתח הרישיון?"
|
871 |
|
872 |
+
#: includes/i18n.php:248
|
873 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
874 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
875 |
|
876 |
+
#: includes/i18n.php:249
|
877 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
878 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
879 |
|
880 |
+
#: includes/i18n.php:250
|
881 |
msgid "Opt In"
|
882 |
+
msgstr "Opt In"
|
883 |
|
884 |
+
#: includes/i18n.php:251
|
885 |
msgid "Opt Out"
|
886 |
+
msgstr "Opt Out"
|
887 |
|
888 |
+
#: includes/i18n.php:252
|
889 |
msgid "On second thought - I want to continue helping"
|
890 |
+
msgstr "במחשבה שנייה - אני רוצה להמשיך לעזור"
|
891 |
|
892 |
+
#: includes/i18n.php:253
|
893 |
msgid "Opting out..."
|
894 |
+
msgstr "Opting out..."
|
895 |
|
896 |
+
#: includes/i18n.php:254
|
897 |
msgid "Opting in..."
|
898 |
+
msgstr "Opting in..."
|
899 |
|
900 |
+
#: includes/i18n.php:255
|
901 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
902 |
+
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
903 |
|
904 |
+
#: includes/i18n.php:256
|
905 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
906 |
+
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
907 |
|
908 |
+
#: includes/i18n.php:257
|
909 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
910 |
+
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
|
|
|
|
911 |
|
912 |
+
#: includes/i18n.php:261
|
913 |
msgid "Screenshots"
|
914 |
msgstr "צילומי מסך"
|
915 |
|
916 |
+
#: includes/i18n.php:262
|
917 |
msgid "Click to view full-size screenshot %d"
|
918 |
+
msgstr "Click to view full-size screenshot %d"
|
919 |
|
920 |
+
#: includes/i18n.php:266
|
921 |
msgid "Freemius Debug"
|
922 |
+
msgstr "Freemius Debug"
|
923 |
|
924 |
+
#: includes/i18n.php:267
|
925 |
msgctxt "as turned on"
|
926 |
msgid "On"
|
927 |
msgstr "דלוק"
|
928 |
|
929 |
+
#: includes/i18n.php:268
|
930 |
msgctxt "as turned off"
|
931 |
msgid "Off"
|
932 |
msgstr "כבוי"
|
933 |
|
934 |
+
#: includes/i18n.php:269
|
935 |
msgctxt "as code debugging"
|
936 |
msgid "Debugging"
|
937 |
msgstr "דיבוג"
|
938 |
|
939 |
+
#: includes/i18n.php:270
|
940 |
msgid "Freemius State"
|
941 |
+
msgstr "Freemius State"
|
942 |
|
943 |
+
#: includes/i18n.php:271
|
944 |
msgctxt "as connection was successful"
|
945 |
msgid "Connected"
|
946 |
msgstr "מחובר"
|
947 |
|
948 |
+
#: includes/i18n.php:272
|
949 |
msgctxt "as connection blocked"
|
950 |
msgid "Blocked"
|
951 |
msgstr "חסום"
|
952 |
|
953 |
+
#: includes/i18n.php:273
|
954 |
msgctxt "as application program interface"
|
955 |
msgid "API"
|
956 |
msgstr "API"
|
957 |
|
958 |
+
#: includes/i18n.php:274
|
959 |
msgctxt "as software development kit versions"
|
960 |
msgid "SDK"
|
961 |
msgstr "SDK"
|
962 |
|
963 |
+
#: includes/i18n.php:275
|
964 |
msgctxt "as software development kit versions"
|
965 |
msgid "SDK Versions"
|
966 |
msgstr "גרסאות SDK"
|
967 |
|
968 |
+
#: includes/i18n.php:276
|
969 |
msgctxt "as plugin folder path"
|
970 |
msgid "Plugin Path"
|
971 |
+
msgstr "נתיב התוסף"
|
972 |
|
973 |
+
#: includes/i18n.php:277
|
974 |
msgctxt "as sdk path"
|
975 |
msgid "SDK Path"
|
976 |
msgstr "מיקום SDK"
|
977 |
|
978 |
+
#: includes/i18n.php:278
|
979 |
msgid "Add Ons of Plugin %s"
|
980 |
+
msgstr "הרחבות עבור %s"
|
981 |
|
982 |
+
#: includes/i18n.php:279
|
983 |
msgid "Are you sure you want to delete all Freemius data?"
|
984 |
+
msgstr "Are you sure you want to delete all Freemius data?"
|
985 |
|
986 |
+
#: includes/i18n.php:280
|
987 |
msgid "Actions"
|
988 |
msgstr "פעולות"
|
989 |
|
990 |
+
#: includes/i18n.php:281
|
991 |
msgid "Delete All Accounts"
|
992 |
msgstr "מחיקת כל החשבונות"
|
993 |
|
994 |
+
#: includes/i18n.php:282
|
995 |
msgid "Start Fresh"
|
996 |
msgstr "התחל מחדש"
|
997 |
|
998 |
+
#: includes/i18n.php:283
|
999 |
msgid "Clear API Cache"
|
1000 |
msgstr "ניקוי מטמון ה-API"
|
1001 |
|
1002 |
+
#: includes/i18n.php:284
|
1003 |
msgid "Sync Data From Server"
|
1004 |
msgstr "סנכרון מידע מהשרת"
|
1005 |
|
1006 |
+
#: includes/i18n.php:285
|
1007 |
msgid "Scheduled Crons"
|
1008 |
+
msgstr "Scheduled Crons"
|
1009 |
+
|
1010 |
+
#: includes/i18n.php:286
|
1011 |
+
msgid "Cron Type"
|
1012 |
+
msgstr "Cron Type"
|
1013 |
|
1014 |
+
#: includes/i18n.php:287
|
1015 |
msgid "Plugins & Themes Sync"
|
1016 |
+
msgstr "Plugins & Themes Sync"
|
1017 |
+
|
1018 |
+
#: includes/i18n.php:288
|
1019 |
+
msgid "Licenses"
|
1020 |
+
msgstr "רישיונות"
|
1021 |
+
|
1022 |
+
#: includes/i18n.php:289
|
1023 |
+
msgid "Debug Log"
|
1024 |
+
msgstr "Debug Log"
|
1025 |
+
|
1026 |
+
#: includes/i18n.php:290
|
1027 |
+
msgid "All"
|
1028 |
+
msgstr "הכל"
|
1029 |
+
|
1030 |
+
#: includes/i18n.php:291
|
1031 |
+
msgid "File"
|
1032 |
+
msgstr "קובץ"
|
1033 |
|
1034 |
+
#: includes/i18n.php:292
|
1035 |
+
msgid "Function"
|
1036 |
+
msgstr "פונקציה"
|
1037 |
+
|
1038 |
+
#: includes/i18n.php:293
|
1039 |
+
msgid "Process ID"
|
1040 |
+
msgstr "Process ID"
|
1041 |
+
|
1042 |
+
#: includes/i18n.php:294
|
1043 |
+
msgid "Logger"
|
1044 |
+
msgstr "Logger"
|
1045 |
+
|
1046 |
+
#: includes/i18n.php:295
|
1047 |
+
msgid "Message"
|
1048 |
+
msgstr "הודעה"
|
1049 |
+
|
1050 |
+
#: includes/i18n.php:296
|
1051 |
+
msgid "Download"
|
1052 |
+
msgstr "הורדה"
|
1053 |
+
|
1054 |
+
#: includes/i18n.php:297
|
1055 |
+
msgid "Filter"
|
1056 |
+
msgstr "פילטר"
|
1057 |
+
|
1058 |
+
#: includes/i18n.php:298
|
1059 |
+
msgid "Type"
|
1060 |
+
msgstr "סוג"
|
1061 |
+
|
1062 |
+
#: includes/i18n.php:299
|
1063 |
+
msgid "All Types"
|
1064 |
+
msgstr "כל הסוגים"
|
1065 |
+
|
1066 |
+
#: includes/i18n.php:300
|
1067 |
+
msgid "All Requests"
|
1068 |
+
msgstr "כל הבקשות"
|
1069 |
+
|
1070 |
+
#: includes/i18n.php:304
|
1071 |
msgctxt "as congratulations"
|
1072 |
msgid "Congrats"
|
1073 |
msgstr "מזל טוב"
|
1074 |
|
1075 |
+
#: includes/i18n.php:305
|
1076 |
msgctxt "exclamation"
|
1077 |
msgid "Oops"
|
1078 |
msgstr "אופס"
|
1079 |
|
1080 |
+
#: includes/i18n.php:306
|
1081 |
msgctxt "interjection expressing joy or exuberance"
|
1082 |
msgid "Yee-haw"
|
1083 |
+
msgstr "Yee-haw"
|
1084 |
|
1085 |
+
#: includes/i18n.php:307
|
1086 |
msgctxt ""
|
|
|
|
|
1087 |
msgid "W00t"
|
1088 |
+
msgstr "W00t"
|
1089 |
|
1090 |
+
#: includes/i18n.php:309
|
1091 |
msgctxt "a positive response"
|
1092 |
msgid "Right on"
|
1093 |
+
msgstr "מעולה"
|
1094 |
|
1095 |
+
#: includes/i18n.php:310
|
1096 |
msgctxt ""
|
|
|
|
|
1097 |
msgid "Hmm"
|
1098 |
msgstr "הממ"
|
1099 |
|
1100 |
+
#: includes/i18n.php:312
|
1101 |
msgid "O.K"
|
1102 |
msgstr "אוקיי"
|
1103 |
|
1104 |
+
#: includes/i18n.php:313
|
1105 |
msgctxt "exclamation"
|
1106 |
msgid "Hey"
|
1107 |
msgstr "היי"
|
1108 |
|
1109 |
+
#: includes/i18n.php:314
|
1110 |
msgctxt "advance notice of something that will need attention."
|
1111 |
msgid "Heads up"
|
1112 |
msgstr "לתשמות לבך"
|
1113 |
|
1114 |
+
#: includes/i18n.php:319
|
1115 |
msgid "Seems like you got the latest release."
|
1116 |
+
msgstr "Seems like you got the latest release."
|
1117 |
|
1118 |
+
#: includes/i18n.php:320
|
1119 |
msgid "You are all good!"
|
1120 |
msgstr "את\\ה מסודר!"
|
1121 |
|
1122 |
+
#: includes/i18n.php:321
|
1123 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1124 |
+
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1125 |
|
1126 |
+
#: includes/i18n.php:322
|
1127 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1128 |
+
msgstr "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1129 |
|
1130 |
+
#: includes/i18n.php:323
|
1131 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1132 |
+
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1133 |
|
1134 |
+
#: includes/i18n.php:324
|
1135 |
msgid "Your name was successfully updated."
|
1136 |
msgstr "שמך עודכן בהצלחה."
|
1137 |
|
1138 |
+
#: includes/i18n.php:325
|
1139 |
msgid "You have successfully updated your %s."
|
1140 |
+
msgstr "You have successfully updated your %s."
|
1141 |
|
1142 |
+
#: includes/i18n.php:326
|
1143 |
msgid "Please provide your full name."
|
1144 |
msgstr "נא למלא את שמך המלא."
|
1145 |
|
1146 |
+
#: includes/i18n.php:327
|
1147 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1148 |
+
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1149 |
|
1150 |
+
#: includes/i18n.php:328
|
1151 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1152 |
+
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1153 |
|
1154 |
+
#: includes/i18n.php:329
|
1155 |
msgid "No credit card required"
|
1156 |
msgstr "לא נדרש כרטיס אשראי"
|
1157 |
|
1158 |
+
#: includes/i18n.php:330
|
1159 |
msgid "Premium plugin version was successfully activated."
|
1160 |
+
msgstr "Premium plugin version was successfully activated."
|
1161 |
|
1162 |
+
#: includes/i18n.php:331
|
1163 |
msgid "The upgrade of %s was successfully completed."
|
1164 |
+
msgstr "The upgrade of %s was successfully completed."
|
1165 |
|
1166 |
+
#: includes/i18n.php:332
|
1167 |
msgid "Your account was successfully activated with the %s plan."
|
1168 |
+
msgstr "חשבונך הופעל בהצלחה עם חבילת %s."
|
1169 |
|
1170 |
+
#: includes/i18n.php:333
|
1171 |
msgid "Download the latest %s version now"
|
1172 |
msgstr "הורדת גרסת ה-%s העדכנית - עכשיו"
|
1173 |
|
1174 |
+
#: includes/i18n.php:334
|
1175 |
msgid "Please follow these steps to complete the upgrade"
|
1176 |
msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
|
1177 |
|
1178 |
+
#: includes/i18n.php:335
|
1179 |
msgid "Download the latest %s version"
|
1180 |
msgstr "הורד\\י את גרסת ה-%s העדכנית"
|
1181 |
|
1182 |
+
#: includes/i18n.php:336
|
1183 |
+
msgid "Download the latest version"
|
1184 |
+
msgstr "הורד את הגרסה האחרונה"
|
1185 |
+
|
1186 |
+
#: includes/i18n.php:337
|
1187 |
msgid "Deactivate the free version"
|
1188 |
msgstr "כבה\\י את הגרסה החינאמית"
|
1189 |
|
1190 |
+
#: includes/i18n.php:338
|
1191 |
msgid "Upload and activate the downloaded version"
|
1192 |
msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
|
1193 |
|
1194 |
+
#: includes/i18n.php:339
|
1195 |
msgid "How to upload and activate?"
|
1196 |
msgstr "איך להעלות ולהפעיל?"
|
1197 |
|
1198 |
+
#: includes/i18n.php:340
|
1199 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1200 |
msgid "%s Add-on was successfully purchased."
|
1201 |
+
msgstr "ההרחבה %s נרכשה בהצלחה."
|
1202 |
|
1203 |
+
#: includes/i18n.php:342
|
1204 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1205 |
+
msgstr "חבילת ההרחבה %s שודרגה בהצלחה."
|
1206 |
|
1207 |
+
#: includes/i18n.php:343
|
1208 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1209 |
+
msgstr "Your email has been successfully verified - you are AWESOME!"
|
1210 |
|
1211 |
+
#: includes/i18n.php:344
|
1212 |
msgid "Your plan was successfully upgraded."
|
1213 |
+
msgstr "החבילה שודרגה בהצלחה."
|
1214 |
|
1215 |
+
#: includes/i18n.php:345
|
1216 |
msgid "Your plan was successfully changed to %s."
|
1217 |
+
msgstr "החבילה עודכנה בהצלחה אל %s."
|
1218 |
|
1219 |
+
#: includes/i18n.php:346
|
1220 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
|
|
|
|
1221 |
msgstr "פג תוקפו של הרישיון. עדיין ניתן להמשיך להשתמש בגרסה החינאמית של התוסף ללא מגבלת זמן."
|
1222 |
|
1223 |
+
#: includes/i18n.php:347
|
1224 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
|
|
|
|
1225 |
msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
|
1226 |
|
1227 |
+
#: includes/i18n.php:348
|
1228 |
msgid "Your trial has been successfully started."
|
1229 |
msgstr "הניסיון שלך הופעל בהצלחה."
|
1230 |
|
1231 |
+
#: includes/i18n.php:349
|
1232 |
msgid "Your license was successfully activated."
|
1233 |
msgstr "הרישיון הופעל בהצלחה."
|
1234 |
|
1235 |
+
#: includes/i18n.php:350
|
1236 |
msgid "It looks like your site currently doesn't have an active license."
|
1237 |
msgstr "נראה לאתר עדיין אין רישיון פעיל."
|
1238 |
|
1239 |
+
#: includes/i18n.php:351
|
1240 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1241 |
+
msgstr "רישיונך נותק בהצלחה, חזרת לחבילת %s"
|
|
|
1242 |
|
1243 |
+
#: includes/i18n.php:352
|
1244 |
msgid "It looks like the license deactivation failed."
|
1245 |
msgstr "נראה שניתוק הרישיון נכשל."
|
1246 |
|
1247 |
+
#: includes/i18n.php:353
|
1248 |
msgid "It looks like the license could not be activated."
|
1249 |
msgstr "נראה שלא ניתן להפעיל את הרישיון."
|
1250 |
|
1251 |
+
#: includes/i18n.php:354
|
1252 |
msgid "Error received from the server:"
|
1253 |
msgstr "הוחזרה שגיאה מהשרת:"
|
1254 |
|
1255 |
+
#: includes/i18n.php:355
|
1256 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1257 |
msgstr "תקופת הניסיון נגמרה. ביכולתך להמשיך להשתמש בכל הפיטצ'רים החינאמיים."
|
1258 |
|
1259 |
+
#: includes/i18n.php:356
|
1260 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1261 |
+
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
|
|
|
|
1262 |
|
1263 |
+
#: includes/i18n.php:357
|
1264 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1265 |
+
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1266 |
|
1267 |
+
#: includes/i18n.php:358
|
1268 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1269 |
+
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1270 |
|
1271 |
+
#: includes/i18n.php:359
|
1272 |
msgid "Your %s free trial was successfully cancelled."
|
1273 |
+
msgstr "תקופת הניסיון החינמית של %s בוטלה בהצלחה."
|
1274 |
|
1275 |
+
#: includes/i18n.php:360
|
1276 |
msgctxt "%s - numeric version number"
|
1277 |
msgid "Version %s was released."
|
1278 |
msgstr "גרסה %s הושקה."
|
1279 |
|
1280 |
+
#: includes/i18n.php:361
|
1281 |
msgid "Please download %s."
|
1282 |
+
msgstr "נא להוריד את %s."
|
1283 |
|
1284 |
+
#: includes/i18n.php:362
|
1285 |
msgctxt "%s - plan name, as the latest professional version here"
|
1286 |
msgid "the latest %s version here"
|
1287 |
msgstr "גרסת ה-%s האחרונה כאן"
|
1288 |
|
1289 |
+
#: includes/i18n.php:364
|
1290 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1291 |
+
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1292 |
|
1293 |
+
#: includes/i18n.php:365
|
1294 |
msgctxt "call to action"
|
1295 |
msgid "Start free trial"
|
1296 |
msgstr "התחלת ניסיון חינם"
|
1297 |
|
1298 |
+
#: includes/i18n.php:366
|
1299 |
msgid "Starting trial"
|
1300 |
+
msgstr "מתחיל תקופת ניסיון"
|
1301 |
|
1302 |
+
#: includes/i18n.php:367
|
1303 |
msgid "Please wait"
|
1304 |
+
msgstr "נא להמתין"
|
1305 |
|
1306 |
+
#: includes/i18n.php:368
|
1307 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1308 |
+
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1309 |
|
1310 |
+
#: includes/i18n.php:369
|
1311 |
msgid "You already utilized a trial before."
|
1312 |
msgstr "הניסיון כבר נוצל בעבר."
|
1313 |
|
1314 |
+
#: includes/i18n.php:370
|
1315 |
msgid "You are already running the plugin in a trial mode."
|
1316 |
msgstr "התוסף כבר עכשיו בתקופת ניסיון."
|
1317 |
|
1318 |
+
#: includes/i18n.php:371
|
1319 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1320 |
+
msgstr "החבילה %s אינה קיימת, לכן, לא ניתן להתחיל תקופת ניסיון."
|
1321 |
|
1322 |
+
#: includes/i18n.php:372
|
1323 |
msgid "Plan %s does not support a trial period."
|
1324 |
+
msgstr "תוכנית %s אינה תומכת בתקופת ניסיון."
|
1325 |
|
1326 |
+
#: includes/i18n.php:373
|
1327 |
msgid "None of the plugin's plans supports a trial period."
|
1328 |
+
msgstr "אף אחת מהחבילות אינה מאפשרת תקופת ניסיון."
|
1329 |
|
1330 |
+
#: includes/i18n.php:374
|
1331 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1332 |
msgstr "שגיאת API בלתי צפוייה. נא לפנות למפתח התוסף עם השגיאה הבאה."
|
1333 |
|
1334 |
+
#: includes/i18n.php:375
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
+
msgstr "ללא התחייבות ל-%s ימין - בטלו בכל רגע!"
|
1337 |
|
1338 |
+
#: includes/i18n.php:376
|
1339 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
1340 |
+
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
|
|
|
|
1341 |
|
1342 |
+
#: includes/i18n.php:377
|
1343 |
msgid "Couldn't activate %s."
|
1344 |
+
msgstr "לא ניתן להפעיל את %s."
|
1345 |
|
1346 |
+
#: includes/i18n.php:378
|
1347 |
msgid "Please contact us with the following message:"
|
1348 |
msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
|
1349 |
|
1350 |
+
#: includes/i18n.php:379
|
1351 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
1352 |
+
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1353 |
|
1354 |
+
#: includes/i18n.php:380
|
1355 |
msgid "Please contact us here"
|
1356 |
msgstr "אנא צור איתנו קשר כאן"
|
1357 |
|
1358 |
+
#: includes/i18n.php:381
|
1359 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1360 |
+
msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s."
|
|
|
|
|
1361 |
|
1362 |
+
#: includes/i18n.php:384
|
1363 |
msgid "From unknown reason, the API connectivity test failed."
|
1364 |
msgstr "יש בעיית תקשורת ל-API מסיבה בלתי ברורה."
|
1365 |
|
1366 |
+
#: includes/i18n.php:385
|
1367 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1368 |
msgstr "ככל הנראה זאת בעיה זמנית בצד שלנו. ברשותך, ורק כדי להיות בטוחים שזאת הבעיה, האם זה יהיה בסדר לבצע בדיקת תקשורת נוספת?"
|
1369 |
|
1370 |
+
#: includes/i18n.php:386
|
1371 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1372 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1373 |
|
1374 |
+
#: includes/i18n.php:387
|
1375 |
+
msgid "Disabled method(s):"
|
1376 |
+
msgstr "Disabled method(s):"
|
1377 |
+
|
1378 |
+
#: includes/i18n.php:388
|
1379 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1380 |
msgstr "מסיבה בלתי ברורה, CloudFlare, חומת האש שאנחנו משתמשים בה, חוסמת את התקשורת."
|
1381 |
|
1382 |
+
#: includes/i18n.php:389
|
1383 |
msgctxt "as pluginX requires an access to our API"
|
1384 |
msgid "%s requires an access to our API."
|
1385 |
msgstr "%s מחייב גישה ל-API שלנו."
|
1386 |
|
1387 |
+
#: includes/i18n.php:391
|
1388 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1389 |
+
msgstr "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
|
|
|
|
1390 |
|
1391 |
+
#: includes/i18n.php:392
|
1392 |
msgid "I don't know what is Squid or ACL, help me!"
|
1393 |
msgstr "אין לי מושג מה זה Squid או ACL - אשמח לעזרה!"
|
1394 |
|
1395 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1396 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
1397 |
+
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1398 |
|
1399 |
+
#: includes/i18n.php:394
|
1400 |
msgid "I'm a system administrator"
|
1401 |
+
msgstr "אני מנהל מערכת"
|
1402 |
|
1403 |
+
#: includes/i18n.php:395
|
1404 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1405 |
+
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
|
|
|
|
1406 |
|
1407 |
+
#: includes/i18n.php:396
|
1408 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1409 |
msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
|
1410 |
|
1411 |
+
#: includes/i18n.php:398
|
1412 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1413 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1414 |
|
1415 |
+
#: includes/i18n.php:399
|
1416 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1417 |
msgstr "זו בטח בעיה בצד שלנו ואנחנו נשמח לעזור כדי לפתור את העניין בהקדם האפשר, רק במידה ותאפשר\\י זאת."
|
1418 |
|
1419 |
+
#: includes/i18n.php:400
|
1420 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1421 |
msgstr "מצטערים על חוסר הנעימות, אנחנו כאן כדי לעזור אם תאפשר\\י זאת."
|
1422 |
|
1423 |
+
#: includes/i18n.php:401
|
1424 |
msgid "Yes - I'm giving you a chance to fix it"
|
1425 |
msgstr "כן - אני נותן לך צ'אנס לתקן את זה"
|
1426 |
|
1427 |
+
#: includes/i18n.php:402
|
1428 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
1429 |
+
msgstr "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1430 |
|
1431 |
+
#: includes/i18n.php:403
|
1432 |
msgid "Let's try your previous version"
|
1433 |
msgstr "בוא ננסה את הגירסה הקודמת"
|
1434 |
|
1435 |
+
#: includes/i18n.php:404
|
1436 |
msgid "Uninstall this version and install the previous one."
|
1437 |
msgstr "הסר את הגרסה הנוכחית והתקן את הגרסה קודמת."
|
1438 |
|
1439 |
+
#: includes/i18n.php:405
|
1440 |
msgid "That's exhausting, please deactivate"
|
1441 |
msgstr "זה מתיש, אנא לכבות"
|
1442 |
|
1443 |
+
#: includes/i18n.php:406
|
1444 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1445 |
+
msgstr "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1446 |
|
1447 |
+
#: includes/i18n.php:407
|
1448 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
1449 |
+
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1450 |
|
1451 |
+
#: includes/i18n.php:408
|
1452 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1453 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1454 |
+
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1455 |
|
1456 |
+
#: includes/i18n.php:410
|
1457 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1458 |
+
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1459 |
|
1460 |
+
#: includes/i18n.php:413
|
1461 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
1462 |
+
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1463 |
|
1464 |
+
#: includes/i18n.php:414
|
1465 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1466 |
msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
|
1467 |
|
1468 |
+
#: includes/i18n.php:415
|
1469 |
msgid "%s is the new owner of the account."
|
1470 |
msgstr "%s הינו הבעלים החד של חשבון זה."
|
1471 |
|
1472 |
+
#: includes/i18n.php:417
|
1473 |
msgctxt "addonX cannot run without pluginY"
|
1474 |
msgid "%s cannot run without %s."
|
1475 |
msgstr "%s לא יכול לעבוד ללא %s."
|
1476 |
|
1477 |
+
#: includes/i18n.php:419
|
1478 |
msgctxt "addonX cannot run..."
|
1479 |
msgid "%s cannot run without the plugin."
|
1480 |
+
msgstr "ההרחבה %s אינה יכולה לפעול ללא התוסף."
|
1481 |
|
1482 |
+
#: includes/i18n.php:420
|
1483 |
msgctxt "pluginX activation was successfully..."
|
1484 |
msgid "%s activation was successfully completed."
|
1485 |
+
msgstr "הפעלת %s הושלמה בהצלחה."
|
1486 |
|
1487 |
+
#: includes/i18n.php:422
|
1488 |
msgctxt "Plugin installer section title"
|
1489 |
msgid "Features & Pricing"
|
1490 |
msgstr "פיטצ'רים ומחירים"
|
1491 |
|
1492 |
+
#: includes/i18n.php:423
|
1493 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1494 |
+
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
1495 |
|
1496 |
+
#: includes/i18n.php:424
|
1497 |
msgid "Paid add-on must be deployed to Freemius."
|
1498 |
+
msgstr "Paid add-on must be deployed to Freemius."
|
1499 |
|
1500 |
+
#: includes/i18n.php:428
|
1501 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1502 |
+
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1503 |
|
1504 |
+
#: includes/i18n.php:429
|
1505 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
1506 |
+
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1507 |
|
1508 |
+
#: includes/i18n.php:434
|
1509 |
msgctxt "as every month"
|
1510 |
msgid "Monthly"
|
1511 |
msgstr "חודשי"
|
1512 |
|
1513 |
+
#: includes/i18n.php:435
|
1514 |
msgctxt "as monthly period"
|
1515 |
msgid "mo"
|
1516 |
+
msgstr "חודשים"
|
1517 |
|
1518 |
+
#: includes/i18n.php:436
|
1519 |
msgctxt "as once a year"
|
1520 |
msgid "Annual"
|
1521 |
msgstr "שנתי"
|
1522 |
|
1523 |
+
#: includes/i18n.php:437
|
1524 |
msgctxt "as once a year"
|
1525 |
msgid "Annually"
|
1526 |
msgstr "שנתי"
|
1527 |
|
1528 |
+
#: includes/i18n.php:438
|
1529 |
msgctxt "as once a year"
|
1530 |
msgid "Once"
|
1531 |
msgstr "פעם אחת"
|
1532 |
|
1533 |
+
#: includes/i18n.php:439
|
1534 |
msgctxt "as annual period"
|
1535 |
msgid "year"
|
1536 |
msgstr "שנה"
|
1537 |
|
1538 |
+
#: includes/i18n.php:440
|
1539 |
msgid "Lifetime"
|
1540 |
msgstr "לכל החיים"
|
1541 |
|
1542 |
+
#: includes/i18n.php:441
|
1543 |
msgctxt "e.g. the best product"
|
1544 |
msgid "Best"
|
1545 |
msgstr "הכי טוב"
|
1546 |
|
1547 |
+
#: includes/i18n.php:442
|
1548 |
msgctxt "e.g. billed monthly"
|
1549 |
msgid "Billed %s"
|
1550 |
msgstr "מחוייב על בסיס %s"
|
1551 |
|
1552 |
+
#: includes/i18n.php:443
|
1553 |
msgctxt "as a discount of $5 or 10%"
|
1554 |
msgid "Save %s"
|
1555 |
msgstr "שמירת %s"
|
1556 |
|
1557 |
+
#: includes/i18n.php:445
|
1558 |
msgid "View details"
|
1559 |
msgstr "פרטים נוספים"
|
1560 |
|
1561 |
+
#: includes/i18n.php:449
|
1562 |
msgctxt "button label"
|
1563 |
msgid "Approve & Start Trial"
|
1564 |
+
msgstr "אשר והתחל תקופת ניסיון"
|
1565 |
|
1566 |
+
#: includes/i18n.php:451
|
1567 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1568 |
+
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
|
|
|
|
1569 |
|
1570 |
+
#: includes/i18n.php:453
|
1571 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
1572 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1573 |
|
1574 |
+
#: includes/i18n.php:459
|
1575 |
msgid "Business name"
|
1576 |
+
msgstr "שם עסק"
|
1577 |
|
1578 |
+
#: includes/i18n.php:460
|
1579 |
msgid "Tax / VAT ID"
|
1580 |
+
msgstr "Tax / VAT ID"
|
1581 |
|
1582 |
+
#: includes/i18n.php:461
|
1583 |
msgid "Address Line %d"
|
1584 |
+
msgstr "כתובת %s"
|
1585 |
|
1586 |
+
#: includes/i18n.php:462
|
1587 |
msgid "Country"
|
1588 |
+
msgstr "מדינה"
|
1589 |
|
1590 |
+
#: includes/i18n.php:463
|
1591 |
msgid "Select Country"
|
1592 |
+
msgstr "בחר מדינה"
|
1593 |
|
1594 |
+
#: includes/i18n.php:464
|
1595 |
msgid "City"
|
1596 |
+
msgstr "עיר"
|
1597 |
|
1598 |
+
#: includes/i18n.php:465
|
1599 |
msgid "Town"
|
1600 |
+
msgstr "כפר"
|
1601 |
|
1602 |
+
#: includes/i18n.php:466
|
1603 |
msgid "State"
|
1604 |
+
msgstr "מחוז/מדינה"
|
1605 |
|
1606 |
+
#: includes/i18n.php:467
|
1607 |
msgid "Province"
|
1608 |
+
msgstr "פרובינציה"
|
1609 |
|
1610 |
+
#: includes/i18n.php:468
|
1611 |
msgid "ZIP / Postal Code"
|
1612 |
+
msgstr "מיקוד / תא דואר"
|
1613 |
+
|
1614 |
+
#: includes/i18n.php:473
|
1615 |
+
msgid "Installing plugin: %s"
|
1616 |
+
msgstr "Installing plugin: %s"
|
1617 |
+
|
1618 |
+
#: includes/i18n.php:474
|
1619 |
+
msgid "Automatic Installation"
|
1620 |
+
msgstr "Automatic Installation"
|
1621 |
+
|
1622 |
+
#: includes/i18n.php:476
|
1623 |
+
msgid "%s sec"
|
1624 |
+
msgstr "%s sec"
|
1625 |
+
|
1626 |
+
#: includes/i18n.php:477
|
1627 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1628 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1629 |
+
|
1630 |
+
#: includes/i18n.php:478
|
1631 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1632 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1633 |
+
|
1634 |
+
#: includes/i18n.php:479
|
1635 |
+
msgid "Cancel Installation"
|
1636 |
+
msgstr "Cancel Installation"
|
1637 |
+
|
1638 |
+
#: includes/i18n.php:480
|
1639 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1640 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1641 |
+
|
1642 |
+
#: includes/i18n.php:481
|
1643 |
+
msgid "Invalid module ID."
|
1644 |
+
msgstr "Invalid module ID."
|
1645 |
+
|
1646 |
+
#: includes/i18n.php:482
|
1647 |
+
msgid "Auto installation only works for opted-in users."
|
1648 |
+
msgstr "Auto installation only works for opted-in users."
|
1649 |
+
|
1650 |
+
#: includes/i18n.php:483
|
1651 |
+
msgid "Premium version already active."
|
1652 |
+
msgstr "Premium version already active."
|
1653 |
+
|
1654 |
+
#: includes/i18n.php:484
|
1655 |
+
msgid "Premium add-on version already installed."
|
1656 |
+
msgstr "Premium add-on version already installed."
|
1657 |
+
|
1658 |
+
#: includes/i18n.php:485
|
1659 |
+
msgid "You do not have a valid license to access the premium version."
|
1660 |
+
msgstr "You do not have a valid license to access the premium version."
|
1661 |
+
|
1662 |
+
#: includes/i18n.php:486
|
1663 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1664 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1665 |
+
|
1666 |
+
#: includes/i18n.php:501
|
1667 |
+
msgctxt "Plugin installer section title"
|
1668 |
+
msgid "Description"
|
1669 |
+
msgstr "תיאור"
|
1670 |
+
|
1671 |
+
#: includes/i18n.php:502
|
1672 |
+
msgctxt "Plugin installer section title"
|
1673 |
+
msgid "Installation"
|
1674 |
+
msgstr "התקנה"
|
1675 |
+
|
1676 |
+
#: includes/i18n.php:503
|
1677 |
+
msgctxt "Plugin installer section title"
|
1678 |
+
msgid "FAQ"
|
1679 |
+
msgstr "שאלות נפוצות"
|
1680 |
+
|
1681 |
+
#: includes/i18n.php:504
|
1682 |
+
msgctxt "Plugin installer section title"
|
1683 |
+
msgid "Changelog"
|
1684 |
+
msgstr "לוג שינויים"
|
1685 |
+
|
1686 |
+
#: includes/i18n.php:505
|
1687 |
+
msgctxt "Plugin installer section title"
|
1688 |
+
msgid "Reviews"
|
1689 |
+
msgstr "ביקורות"
|
1690 |
+
|
1691 |
+
#: includes/i18n.php:506
|
1692 |
+
msgctxt "Plugin installer section title"
|
1693 |
+
msgid "Other Notes"
|
1694 |
+
msgstr "היערות נוספות"
|
1695 |
+
|
1696 |
+
#: includes/i18n.php:508
|
1697 |
+
msgid "%s star"
|
1698 |
+
msgstr "כוכב %s"
|
1699 |
+
|
1700 |
+
#: includes/i18n.php:510
|
1701 |
+
msgid "%s stars"
|
1702 |
+
msgstr "%s כוכבים"
|
1703 |
+
|
1704 |
+
#: includes/i18n.php:512
|
1705 |
+
msgid "%s rating"
|
1706 |
+
msgstr "דרוג %s"
|
1707 |
+
|
1708 |
+
#: includes/i18n.php:514
|
1709 |
+
msgid "%s ratings"
|
1710 |
+
msgstr "%s דרוגים"
|
1711 |
+
|
1712 |
+
#: includes/i18n.php:516
|
1713 |
+
msgid "%s time"
|
1714 |
+
msgstr "פעם %s"
|
1715 |
+
|
1716 |
+
#: includes/i18n.php:518
|
1717 |
+
msgid "%s times"
|
1718 |
+
msgstr "%s פעמים"
|
1719 |
+
|
1720 |
+
#: includes/i18n.php:520
|
1721 |
+
msgid "Click to see reviews that provided a rating of %s"
|
1722 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
1723 |
+
|
1724 |
+
#: includes/i18n.php:521
|
1725 |
+
msgid "Last Updated"
|
1726 |
+
msgstr "עודכן לאחרונה"
|
1727 |
+
|
1728 |
+
#: includes/i18n.php:522
|
1729 |
+
msgid "Requires WordPress Version:"
|
1730 |
+
msgstr "Requires WordPress Version:"
|
1731 |
+
|
1732 |
+
#: includes/i18n.php:523
|
1733 |
+
msgctxt "as the plugin author"
|
1734 |
+
msgid "Author:"
|
1735 |
+
msgstr "מחבר:"
|
1736 |
+
|
1737 |
+
#: includes/i18n.php:524
|
1738 |
+
msgid "Compatible up to:"
|
1739 |
+
msgstr "Compatible up to:"
|
1740 |
+
|
1741 |
+
#: includes/i18n.php:525
|
1742 |
+
msgid "Downloaded:"
|
1743 |
+
msgstr "הורדות:"
|
1744 |
+
|
1745 |
+
#: includes/i18n.php:526
|
1746 |
+
msgid "WordPress.org Plugin Page"
|
1747 |
+
msgstr "WordPress.org Plugin Page"
|
1748 |
+
|
1749 |
+
#: includes/i18n.php:527
|
1750 |
+
msgid "Plugin Homepage"
|
1751 |
+
msgstr "Plugin Homepage"
|
1752 |
+
|
1753 |
+
#: includes/i18n.php:528
|
1754 |
+
msgid "Donate to this plugin"
|
1755 |
+
msgstr "Donate to this plugin"
|
1756 |
+
|
1757 |
+
#: includes/i18n.php:529
|
1758 |
+
msgid "Average Rating"
|
1759 |
+
msgstr "דירוג ממוצע"
|
1760 |
+
|
1761 |
+
#: includes/i18n.php:530
|
1762 |
+
msgid "based on %s"
|
1763 |
+
msgstr "מבוסס על %s"
|
1764 |
+
|
1765 |
+
#: includes/i18n.php:531
|
1766 |
+
msgid "Warning:"
|
1767 |
+
msgstr "אזהרה:"
|
1768 |
+
|
1769 |
+
#: includes/i18n.php:532
|
1770 |
+
msgid "Contributors"
|
1771 |
+
msgstr "תורמים"
|
1772 |
+
|
1773 |
+
#: includes/i18n.php:533
|
1774 |
+
msgid "Plugin Install"
|
1775 |
+
msgstr "התקנת תוסף"
|
1776 |
+
|
1777 |
+
#: includes/i18n.php:534
|
1778 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
1779 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
1780 |
+
|
1781 |
+
#: includes/i18n.php:535
|
1782 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1783 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1784 |
+
|
1785 |
+
#: includes/i18n.php:536
|
1786 |
+
msgid "Newer Version (%s) Installed"
|
1787 |
+
msgstr "גרסה חדשה (%s) הותקנה"
|
1788 |
+
|
1789 |
+
#: includes/i18n.php:537
|
1790 |
+
msgid "Latest Version Installed"
|
1791 |
+
msgstr "הגרסה האחרונה הותקנה"
|
freemius/languages/freemius-it_IT.mo
CHANGED
Binary file
|
freemius/languages/freemius-it_IT.po
CHANGED
@@ -10,1862 +10,1784 @@ msgstr ""
|
|
10 |
"Project-Id-Version: WordPress SDK\n"
|
11 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
12 |
"POT-Creation-Date: \n"
|
13 |
-
"PO-Revision-Date: 2017-
|
14 |
-
"Last-Translator:
|
|
|
15 |
"Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
|
16 |
-
"MIME-Version: 1.0\n"
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
-
"Language: it_IT\n"
|
20 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
|
21 |
"X-Poedit-Basepath: ..\n"
|
22 |
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
23 |
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
25 |
"X-Poedit-SourceCharset: UTF-8\n"
|
26 |
|
27 |
-
#: includes/i18n.php:
|
28 |
msgid "Account"
|
29 |
msgstr "Account"
|
30 |
|
31 |
-
#: includes/i18n.php:
|
32 |
msgid "Add On"
|
33 |
msgstr "Add-on"
|
34 |
|
35 |
-
#: includes/i18n.php:
|
36 |
msgid "Contact Us"
|
37 |
msgstr "Contattaci"
|
38 |
|
39 |
-
#: includes/i18n.php:
|
40 |
msgid "Contact Support"
|
41 |
msgstr "Contatta il supporto"
|
42 |
|
43 |
-
#: includes/i18n.php:
|
44 |
msgid "Change Ownership"
|
45 |
msgstr "Cambia Proprietario"
|
46 |
|
47 |
-
#: includes/i18n.php:
|
48 |
msgid "Support"
|
49 |
msgstr "Supporto"
|
50 |
|
51 |
-
#: includes/i18n.php:
|
52 |
msgid "Support Forum"
|
53 |
msgstr "Forum di supporto"
|
54 |
|
55 |
-
#: includes/i18n.php:
|
56 |
msgid "Add Ons"
|
57 |
msgstr "Add-on"
|
58 |
|
59 |
-
#: includes/i18n.php:
|
60 |
msgctxt "verb"
|
61 |
msgid "Upgrade"
|
62 |
msgstr "Aggiornamento"
|
63 |
|
64 |
-
#: includes/i18n.php:
|
65 |
msgid "Awesome"
|
66 |
msgstr "Fantastico"
|
67 |
|
68 |
-
#: includes/i18n.php:
|
69 |
msgctxt "noun"
|
70 |
msgid "Pricing"
|
71 |
msgstr "Prezzi"
|
72 |
|
73 |
-
#: includes/i18n.php:
|
74 |
msgctxt "noun"
|
75 |
msgid "Price"
|
76 |
msgstr "Prezzo"
|
77 |
|
78 |
-
#: includes/i18n.php:
|
79 |
msgid "Unlimited Updates"
|
80 |
msgstr "Aggiornamenti Illimitati"
|
81 |
|
82 |
-
#: includes/i18n.php:
|
83 |
msgctxt "verb"
|
84 |
msgid "Downgrade"
|
85 |
msgstr "Downgrade"
|
86 |
|
87 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
88 |
msgid "Cancel Trial"
|
89 |
msgstr "Annulla prova gratuita"
|
90 |
|
91 |
-
#: includes/i18n.php:
|
92 |
msgid "Free Trial"
|
93 |
msgstr "Prova gratuita"
|
94 |
|
95 |
-
#: includes/i18n.php:
|
96 |
msgid "Start my free %s"
|
97 |
msgstr "Inizia la mia %s"
|
98 |
|
99 |
-
#: includes/i18n.php:
|
100 |
msgid "No commitment for %s - cancel anytime"
|
101 |
msgstr "Nessun impegno con %s - cancella quando vuoi"
|
102 |
|
103 |
-
#: includes/i18n.php:
|
104 |
msgid "After your free %s, pay as little as %s"
|
105 |
msgstr "Dopo il tuo %s gratuito, paghi solamente %s"
|
106 |
|
107 |
-
#: includes/i18n.php:
|
108 |
msgid "Details"
|
109 |
msgstr "Dettagli"
|
110 |
|
111 |
-
#: includes/i18n.php:
|
112 |
msgid "Account Details"
|
113 |
msgstr "Dettagli dell'account"
|
114 |
|
115 |
-
#: includes/i18n.php:
|
116 |
msgctxt "verb"
|
117 |
msgid "Delete"
|
118 |
msgstr "Elimina"
|
119 |
|
120 |
-
#: includes/i18n.php:
|
121 |
msgctxt "verb"
|
122 |
msgid "Show"
|
123 |
msgstr "Mostra"
|
124 |
|
125 |
-
#: includes/i18n.php:
|
126 |
msgctxt "verb"
|
127 |
msgid "Hide"
|
128 |
msgstr "Nascondi"
|
129 |
|
130 |
-
#: includes/i18n.php:
|
131 |
msgctxt "verb"
|
132 |
msgid "Edit"
|
133 |
msgstr "Modifica"
|
134 |
|
135 |
-
#: includes/i18n.php:
|
136 |
msgctxt "verb"
|
137 |
msgid "Update"
|
138 |
msgstr "Aggiorna"
|
139 |
|
140 |
-
#: includes/i18n.php:
|
141 |
msgid "Date"
|
142 |
msgstr "Data"
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Amount"
|
146 |
msgstr "Importo"
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Invoice"
|
150 |
msgstr "Fattura"
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Billing"
|
154 |
msgstr "Fatturazione"
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgid "Payments"
|
158 |
msgstr "Pagamenti"
|
159 |
|
160 |
-
#: includes/i18n.php:
|
161 |
msgid "Delete Account"
|
162 |
msgstr "Elimina Account"
|
163 |
|
164 |
-
#: includes/i18n.php:
|
165 |
msgctxt "as close a window"
|
166 |
msgid "Dismiss"
|
167 |
msgstr "Chiudi"
|
168 |
|
169 |
-
#: includes/i18n.php:
|
170 |
msgctxt "as product pricing plan"
|
171 |
msgid "Plan"
|
172 |
msgstr "Piano"
|
173 |
|
174 |
-
#: includes/i18n.php:
|
175 |
msgid "Change Plan"
|
176 |
msgstr "Cambia piano"
|
177 |
|
178 |
-
#: includes/i18n.php:
|
179 |
msgctxt "as download professional version"
|
180 |
msgid "Download %s Version"
|
181 |
msgstr "Scarica la versione %s"
|
182 |
|
183 |
-
#: includes/i18n.php:
|
184 |
msgctxt "as download professional version now"
|
185 |
msgid "Download %s version now"
|
186 |
msgstr "Scarica la versione %s ora"
|
187 |
|
188 |
-
#: includes/i18n.php:
|
189 |
msgctxt "as download latest version"
|
190 |
msgid "Download Latest"
|
191 |
msgstr "Scarica l'ultima versione"
|
192 |
|
193 |
-
#: includes/i18n.php:
|
194 |
msgctxt "E.g. you have a professional license."
|
195 |
msgid "You have a %s license."
|
196 |
msgstr "Hai la licenza %s."
|
197 |
|
198 |
-
#: includes/i18n.php:
|
199 |
msgid "New"
|
200 |
msgstr "Nuovo"
|
201 |
|
202 |
-
#: includes/i18n.php:
|
203 |
msgid "Free"
|
204 |
msgstr "Gratuito"
|
205 |
|
206 |
-
#: includes/i18n.php:
|
207 |
msgctxt "as trial plan"
|
208 |
msgid "Trial"
|
209 |
msgstr "Prova gratuita"
|
210 |
|
211 |
-
#: includes/i18n.php:
|
212 |
msgctxt "as starting a trial plan"
|
213 |
msgid "Start Trial"
|
214 |
msgstr "Inizia il periodo di prova gratuito"
|
215 |
|
216 |
-
#: includes/i18n.php:
|
217 |
msgctxt "verb"
|
218 |
msgid "Purchase"
|
219 |
msgstr "Acquisto"
|
220 |
|
221 |
-
#: includes/i18n.php:
|
222 |
msgid "Purchase License"
|
223 |
msgstr "Acquista licenza"
|
224 |
|
225 |
-
#: includes/i18n.php:
|
226 |
msgctxt "verb"
|
227 |
msgid "Buy"
|
228 |
msgstr "Compra"
|
229 |
|
230 |
-
#: includes/i18n.php:
|
231 |
msgid "Buy License"
|
232 |
msgstr "Compra licenza"
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Single Site License"
|
236 |
msgstr "Licenza per sito singolo"
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "Unlimited Licenses"
|
240 |
msgstr "Licenze illimitate"
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Up to %s Sites"
|
244 |
msgstr "Fino a %s siti"
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgid "%sRenew your license now%s to access version %s features and support."
|
248 |
msgstr "%sRinnova la tua licenza ora%s per accedere a funzionalità e supporto della versione %s."
|
249 |
|
250 |
-
#: includes/i18n.php:
|
251 |
-
msgid ""
|
252 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
253 |
-
" you the license key."
|
254 |
msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
|
255 |
|
256 |
-
#: includes/i18n.php:
|
257 |
msgctxt "e.g. Professional Plan"
|
258 |
msgid "%s Plan"
|
259 |
msgstr "Piano %s"
|
260 |
|
261 |
-
#: includes/i18n.php:
|
262 |
msgid "You are just one step away - %s"
|
263 |
msgstr "Sei a un passo dalla fine - %s"
|
264 |
|
265 |
-
#: includes/i18n.php:
|
266 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
267 |
msgid "Complete \"%s\" Activation Now"
|
268 |
msgstr "Completa l'attivazione di \"%s\" ora"
|
269 |
|
270 |
-
#: includes/i18n.php:
|
271 |
msgid "We made a few tweaks to the plugin, %s"
|
272 |
msgstr "Abbiamo apportato alcune modifiche al plugin, %s"
|
273 |
|
274 |
-
#: includes/i18n.php:
|
275 |
msgid "Opt-in to make \"%s\" Better!"
|
276 |
msgstr "Contribuisci a rendere \"%s\" migliore!"
|
277 |
|
278 |
-
#: includes/i18n.php:
|
279 |
msgid "Error"
|
280 |
msgstr "Errore"
|
281 |
|
282 |
-
#: includes/i18n.php:
|
283 |
-
msgid ""
|
284 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
285 |
-
"sdk@freemius.com with the current error."
|
286 |
msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
|
287 |
|
288 |
-
#: includes/i18n.php:
|
289 |
msgctxt "as expiration date"
|
290 |
msgid "Expiration"
|
291 |
msgstr "Scadenza"
|
292 |
|
293 |
-
#: includes/i18n.php:
|
294 |
msgctxt "as software license"
|
295 |
msgid "License"
|
296 |
msgstr "Licenza"
|
297 |
|
298 |
-
#: includes/i18n.php:
|
299 |
msgid "not verified"
|
300 |
msgstr "non verificato"
|
301 |
|
302 |
-
#: includes/i18n.php:
|
303 |
msgid "Verify Email"
|
304 |
msgstr "Verifica email"
|
305 |
|
306 |
-
#: includes/i18n.php:
|
307 |
msgctxt "e.g. expires in 2 months"
|
308 |
msgid "Expires in %s"
|
309 |
msgstr "Scade in %s"
|
310 |
|
311 |
-
#: includes/i18n.php:
|
312 |
msgctxt "e.g. auto renews in 2 months"
|
313 |
msgid "Auto renews in %s"
|
314 |
msgstr "Rinnovo automatico in %s"
|
315 |
|
316 |
-
#: includes/i18n.php:
|
317 |
msgid "No expiration"
|
318 |
msgstr "Nessuna scadenza"
|
319 |
|
320 |
-
#: includes/i18n.php:
|
321 |
msgid "Expired"
|
322 |
msgstr "Scaduto"
|
323 |
|
324 |
-
#: includes/i18n.php:
|
325 |
msgid "Cancelled"
|
326 |
msgstr "Annullato"
|
327 |
|
328 |
-
#: includes/i18n.php:
|
329 |
msgctxt "e.g. In 2 hours"
|
330 |
msgid "In %s"
|
331 |
msgstr "In %s"
|
332 |
|
333 |
-
#: includes/i18n.php:
|
334 |
msgctxt "e.g. 2 min ago"
|
335 |
msgid "%s ago"
|
336 |
msgstr "%s fa"
|
337 |
|
338 |
-
#: includes/i18n.php:
|
339 |
msgid "%s or higher"
|
340 |
msgstr "%s o superiore"
|
341 |
|
342 |
-
#: includes/i18n.php:
|
343 |
msgctxt "as plugin version"
|
344 |
msgid "Version"
|
345 |
msgstr "Versione"
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Name"
|
349 |
msgstr "Nome"
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Email"
|
353 |
msgstr "Email"
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Email address"
|
357 |
msgstr "Indirizzo email"
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Verified"
|
361 |
msgstr "Verificato"
|
362 |
|
363 |
-
#: includes/i18n.php:
|
364 |
msgid "Module"
|
365 |
msgstr "Modulo"
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Module Type"
|
369 |
msgstr "Tipo di modulo"
|
370 |
|
371 |
-
#: includes/i18n.php:
|
372 |
msgid "Plugin"
|
373 |
msgstr "Plugin"
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgid "Plugins"
|
377 |
msgstr "Plugin"
|
378 |
|
379 |
-
#: includes/i18n.php:
|
380 |
msgid "Theme"
|
381 |
msgstr "Tema"
|
382 |
|
383 |
-
#: includes/i18n.php:
|
384 |
msgid "Themes"
|
385 |
msgstr "Temi"
|
386 |
|
387 |
-
#: includes/i18n.php:
|
388 |
msgctxt "as file/folder path"
|
389 |
msgid "Path"
|
390 |
msgstr "Percorso"
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgid "Title"
|
394 |
msgstr "Titolo"
|
395 |
|
396 |
-
#: includes/i18n.php:
|
397 |
msgid "Free version"
|
398 |
msgstr "Versione gratuita"
|
399 |
|
400 |
-
#: includes/i18n.php:
|
401 |
msgid "Premium version"
|
402 |
msgstr "Versione premium"
|
403 |
|
404 |
-
#: includes/i18n.php:
|
405 |
msgctxt "as WP plugin slug"
|
406 |
msgid "Slug"
|
407 |
msgstr "Slug"
|
408 |
|
409 |
-
#: includes/i18n.php:
|
410 |
msgid "ID"
|
411 |
msgstr "ID"
|
412 |
|
413 |
-
#: includes/i18n.php:
|
414 |
msgid "Users"
|
415 |
msgstr "Utenti"
|
416 |
|
417 |
-
#: includes/i18n.php:
|
418 |
msgid "Plugin Installs"
|
419 |
msgstr "Installazioni Plugin"
|
420 |
|
421 |
-
#: includes/i18n.php:
|
422 |
msgid "%s Installs"
|
423 |
msgstr "%s Installazioni"
|
424 |
|
425 |
-
#: includes/i18n.php:
|
426 |
msgctxt "like websites"
|
427 |
msgid "Sites"
|
428 |
msgstr "Siti"
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgid "User ID"
|
432 |
msgstr "ID utente"
|
433 |
|
434 |
-
#: includes/i18n.php:
|
435 |
msgid "Site ID"
|
436 |
msgstr "ID del sito"
|
437 |
|
438 |
-
#: includes/i18n.php:
|
439 |
msgid "Public Key"
|
440 |
msgstr "Chiave pubblica"
|
441 |
|
442 |
-
#: includes/i18n.php:
|
443 |
msgid "Secret Key"
|
444 |
msgstr "Chiave segreta"
|
445 |
|
446 |
-
#: includes/i18n.php:
|
447 |
msgctxt "as secret encryption key missing"
|
448 |
msgid "No Secret"
|
449 |
msgstr "Nessuna chiave"
|
450 |
|
451 |
-
#: includes/i18n.php:
|
452 |
msgid "No ID"
|
453 |
msgstr "Nessun ID"
|
454 |
|
455 |
-
#: includes/i18n.php:
|
456 |
msgctxt "as synchronize license"
|
457 |
msgid "Sync License"
|
458 |
msgstr "Sincronizza la licenza"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgctxt "as synchronize"
|
462 |
msgid "Sync"
|
463 |
msgstr "Sincronizza"
|
464 |
|
465 |
-
#: includes/i18n.php:
|
466 |
msgid "Activate License"
|
467 |
msgstr "Attiva licenza"
|
468 |
|
469 |
-
#: includes/i18n.php:
|
470 |
msgid "Activate Free Version"
|
471 |
msgstr "Attiva versione gratuita"
|
472 |
|
473 |
-
#: includes/i18n.php:
|
474 |
-
msgid ""
|
475 |
-
"Please enter the license key that you received in the email right after the "
|
476 |
-
"purchase:"
|
477 |
msgstr "Per favore inserisci la chiave di licenza che hai ricevuto via mail subito dopo l'acquisto:"
|
478 |
|
479 |
-
#: includes/i18n.php:
|
480 |
msgid "Activating license..."
|
481 |
msgstr "Sto attivando la licenza..."
|
482 |
|
483 |
-
#: includes/i18n.php:
|
484 |
msgid "Change License"
|
485 |
msgstr "Cambia licenza"
|
486 |
|
487 |
-
#: includes/i18n.php:
|
488 |
msgid "Update License"
|
489 |
msgstr "Aggiorna licenza"
|
490 |
|
491 |
-
#: includes/i18n.php:
|
492 |
msgid "Deactivate License"
|
493 |
msgstr "Disattiva licenza"
|
494 |
|
495 |
-
#: includes/i18n.php:
|
496 |
msgid "Activate"
|
497 |
msgstr "Attiva"
|
498 |
|
499 |
-
#: includes/i18n.php:
|
500 |
msgid "Deactivate"
|
501 |
msgstr "Disattiva"
|
502 |
|
503 |
-
#: includes/i18n.php:
|
504 |
msgid "Skip & Deactivate"
|
505 |
msgstr "Salta e disattiva"
|
506 |
|
507 |
-
#: includes/i18n.php:
|
508 |
msgid "Skip & %s"
|
509 |
msgstr "Salta & %s"
|
510 |
|
511 |
-
#: includes/i18n.php:
|
512 |
msgid "No - just deactivate"
|
513 |
msgstr "No - disattiva e basta"
|
514 |
|
515 |
-
#: includes/i18n.php:
|
516 |
msgid "Yes - do your thing"
|
517 |
msgstr "Sì - fai pure"
|
518 |
|
519 |
-
#: includes/i18n.php:
|
520 |
msgctxt "active mode"
|
521 |
msgid "Active"
|
522 |
msgstr "Attiva"
|
523 |
|
524 |
-
#: includes/i18n.php:
|
525 |
msgctxt "is active mode?"
|
526 |
msgid "Is Active"
|
527 |
msgstr "è attiva"
|
528 |
|
529 |
-
#: includes/i18n.php:
|
530 |
msgid "Install Now"
|
531 |
msgstr "Installa ora"
|
532 |
|
533 |
-
#: includes/i18n.php:
|
534 |
msgid "Install Update Now"
|
535 |
msgstr "Installa l'aggiornamento ora"
|
536 |
|
537 |
-
#: includes/i18n.php:
|
538 |
msgid "More information about %s"
|
539 |
msgstr "Ulteriori informazioni su %s"
|
540 |
|
541 |
-
#: includes/i18n.php:
|
542 |
msgid "Localhost"
|
543 |
msgstr "Localhost"
|
544 |
|
545 |
-
#: includes/i18n.php:
|
546 |
msgctxt "as activate Professional plan"
|
547 |
msgid "Activate %s Plan"
|
548 |
msgstr "Attivare il piano %s"
|
549 |
|
550 |
-
#: includes/i18n.php:
|
551 |
msgctxt "as 5 licenses left"
|
552 |
msgid "%s left"
|
553 |
msgstr "%s rimanenti"
|
554 |
|
555 |
-
#: includes/i18n.php:
|
556 |
msgid "Last license"
|
557 |
msgstr "Ultima licenza"
|
558 |
|
559 |
-
#: includes/i18n.php:
|
560 |
msgid "What is your %s?"
|
561 |
msgstr "Qual è il tuo %s?"
|
562 |
|
563 |
-
#: includes/i18n.php:
|
564 |
msgid "Activate this add-on"
|
565 |
msgstr "Attivare questo addon"
|
566 |
|
567 |
-
#: includes/i18n.php:
|
568 |
-
msgid ""
|
569 |
-
"Deactivating your license will block all premium features, but will enable "
|
570 |
-
"you to activate the license on another site. Are you sure you want to "
|
571 |
-
"proceed?"
|
572 |
msgstr "La disattivazione della licenza bloccherà tutte le funzionalità premium, ma vi permetterà di attivare la licenza su un altro sito. Sei sicuro di voler procedere?"
|
573 |
|
574 |
-
#: includes/i18n.php:
|
575 |
-
msgid ""
|
576 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
577 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
578 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
579 |
-
"account. Are you sure you would like to continue with the deletion?"
|
580 |
msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
|
581 |
|
582 |
-
#: includes/i18n.php:
|
583 |
-
msgid ""
|
584 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
585 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
586 |
msgstr "L'eliminazione non è temporanea. Cancella solo se non si desidera più utilizzare questo plugin. Sei sicuro di voler continuare con l'eliminazione?"
|
587 |
|
588 |
-
#: includes/i18n.php:
|
589 |
-
msgid ""
|
590 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
591 |
-
"and your %s plan license will expire in %s."
|
592 |
msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
|
593 |
|
594 |
-
#: includes/i18n.php:
|
595 |
-
msgid ""
|
596 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
597 |
-
"Are you sure?"
|
598 |
msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
|
599 |
|
600 |
-
#: includes/i18n.php:
|
601 |
-
msgid ""
|
602 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
603 |
-
"updates and support."
|
604 |
msgstr "Puoi ancora sfruttare tutte le funzionalità di %s, ma non avrai accesso al supporto ed agli aggiornamenti del plugin."
|
605 |
|
606 |
-
#: includes/i18n.php:
|
607 |
-
msgid ""
|
608 |
-
"Once your license expires you can still use the Free version but you will "
|
609 |
-
"NOT have access to the %s features."
|
610 |
msgstr "Quando la tua licenza scadrà, potrai comunque continuare a usare la versione gratuita, ma NON avrai accesso alle funzionalità %s."
|
611 |
|
612 |
-
#: includes/i18n.php:
|
613 |
msgid "Are you sure you want to proceed?"
|
614 |
msgstr "Sei sicuro di voler procedere?"
|
615 |
|
616 |
-
#: includes/i18n.php:
|
617 |
msgid "Add Ons for %s"
|
618 |
msgstr "Add-on per %s"
|
619 |
|
620 |
-
#: includes/i18n.php:
|
621 |
-
msgid ""
|
622 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
623 |
-
"please try to come back in few minutes."
|
624 |
msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
|
625 |
|
626 |
-
#: includes/i18n.php:
|
627 |
msgid "Anonymous feedback"
|
628 |
msgstr "Feedback anonimo"
|
629 |
|
630 |
-
#: includes/i18n.php:
|
631 |
msgid "Quick feedback"
|
632 |
msgstr "Feedback veloce"
|
633 |
|
634 |
-
#: includes/i18n.php:
|
635 |
msgid "If you have a moment, please let us know why you are deactivating"
|
636 |
msgstr "Se hai un momento, potresti dirci perché lo hai disattivato?"
|
637 |
|
638 |
-
#: includes/i18n.php:
|
639 |
msgid "Yes - Deactivate"
|
640 |
msgstr "Si - Disattiva"
|
641 |
|
642 |
-
#: includes/i18n.php:
|
643 |
msgid "Submit & Deactivate"
|
644 |
msgstr "Invia & Disattiva"
|
645 |
|
646 |
-
#: includes/i18n.php:
|
647 |
msgid "Cancel"
|
648 |
msgstr "Annulla"
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "I no longer need the plugin"
|
652 |
msgstr "Non ho piú bisogno di questo plugin"
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "I found a better plugin"
|
656 |
msgstr "Ho trovato un plugin migliore"
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgid "I only needed the plugin for a short period"
|
660 |
msgstr "Avevo bisogno del plugin solo per un breve periodo"
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "The plugin broke my site"
|
664 |
msgstr "Il plugin ha causato problemi al mio sito"
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "The plugin suddenly stopped working"
|
668 |
msgstr "Il plugin ha smesso di funzionare"
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid "I can't pay for it anymore"
|
672 |
msgstr "Non posso piú pagarlo"
|
673 |
|
674 |
-
#: includes/i18n.php:
|
675 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
676 |
msgstr "È una disattivazione temporanea. Sto solo cercando di risolvere un problema."
|
677 |
|
678 |
-
#: includes/i18n.php:
|
679 |
msgctxt ""
|
680 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
681 |
-
"in the modal box."
|
682 |
msgid "Other"
|
683 |
msgstr "Altro"
|
684 |
|
685 |
-
#: includes/i18n.php:
|
686 |
msgid "Kindly tell us the reason so we can improve."
|
687 |
msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
|
688 |
|
689 |
-
#: includes/i18n.php:
|
690 |
msgid "What's the plugin's name?"
|
691 |
msgstr "Qual è il nome del plugin?"
|
692 |
|
693 |
-
#: includes/i18n.php:
|
694 |
msgid "What price would you feel comfortable paying?"
|
695 |
msgstr "Che prezzo ritieni opportuno pagare?"
|
696 |
|
697 |
-
#: includes/i18n.php:
|
698 |
msgid "I couldn't understand how to make it work"
|
699 |
msgstr "Non capisco come farlo funzionare"
|
700 |
|
701 |
-
#: includes/i18n.php:
|
702 |
-
msgid ""
|
703 |
-
"The plugin is great, but I need specific feature that you don't support"
|
704 |
msgstr "Il plugin é ottimo ma ho bisogno di una funzionalitá specifica che non é supportata"
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "The plugin is not working"
|
708 |
msgstr "Il plugin non funziona"
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgid "It's not what I was looking for"
|
712 |
msgstr "Non é quello che stavo cercando"
|
713 |
|
714 |
-
#: includes/i18n.php:
|
715 |
msgid "The plugin didn't work as expected"
|
716 |
msgstr "Il plugin non funziona come mi aspettavo"
|
717 |
|
718 |
-
#: includes/i18n.php:
|
719 |
msgid "What feature?"
|
720 |
msgstr "Quale funzionalitá?"
|
721 |
|
722 |
-
#: includes/i18n.php:
|
723 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
724 |
msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
|
725 |
|
726 |
-
#: includes/i18n.php:
|
727 |
msgid "What you've been looking for?"
|
728 |
msgstr "Che cosa stai cercando?"
|
729 |
|
730 |
-
#: includes/i18n.php:
|
731 |
msgid "What did you expect?"
|
732 |
msgstr "Che cosa ti aspettavi?"
|
733 |
|
734 |
-
#: includes/i18n.php:
|
735 |
msgid "The plugin didn't work"
|
736 |
msgstr "Il plugin non funziona"
|
737 |
|
738 |
-
#: includes/i18n.php:
|
739 |
msgid "I don't like to share my information with you"
|
740 |
msgstr "Non voglio condividere i miei dati con te"
|
741 |
|
742 |
-
#: includes/i18n.php:
|
743 |
-
msgid ""
|
744 |
-
"You might have missed it, but you don't have to share any data and can just "
|
745 |
-
"%s the opt-in."
|
746 |
msgstr "Potresti non averci fatto caso, ma non sei obbligato a condividere i tuoi dati e puoi semplicemente %s la tua partecipazione."
|
747 |
|
748 |
-
#: includes/i18n.php:
|
749 |
msgctxt "greeting"
|
750 |
msgid "Hey %s,"
|
751 |
msgstr "Hey %s,"
|
752 |
|
753 |
-
#: includes/i18n.php:
|
754 |
msgctxt "a greeting. E.g. Thanks John!"
|
755 |
msgid "Thanks %s!"
|
756 |
msgstr "Grazie %s!"
|
757 |
|
758 |
-
#: includes/i18n.php:
|
759 |
-
msgid ""
|
760 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
761 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
762 |
msgstr "Non perdere nessun aggiornamento importante - iscriviti per ricevere notifiche su aggiornamenti relativi alla sicurezza e nuove versioni, oltre al tracciamento di diagnostica non sensibile con %4$s."
|
763 |
|
764 |
-
#: includes/i18n.php:
|
765 |
-
msgid ""
|
766 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
767 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
768 |
-
"work just fine."
|
769 |
msgstr "Aiutaci a migliorare %1$s! Se ti iscrivi, alcuni dati riguardanti il tuo utilizzo di %1$s verranno inviati a %4$s. Se salti questo passaggio, non c'è problema! %1$s funzionerà ugualmente."
|
770 |
|
771 |
-
#: includes/i18n.php:
|
772 |
-
msgid ""
|
773 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
774 |
-
"make sure you click the activation button in that email to %s."
|
775 |
msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per %s."
|
776 |
|
777 |
-
#: includes/i18n.php:
|
778 |
msgid "complete the install"
|
779 |
msgstr "completa l'installazione"
|
780 |
|
781 |
-
#: includes/i18n.php:
|
782 |
msgid "start the trial"
|
783 |
msgstr "Inizia il periodo di prova gratuito"
|
784 |
|
785 |
-
#: includes/i18n.php:
|
786 |
-
msgid ""
|
787 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
788 |
msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
|
789 |
|
790 |
-
#: includes/i18n.php:
|
791 |
-
msgid ""
|
792 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
793 |
-
"updates and verify the validity of your license."
|
794 |
msgstr "Il plugin invierà dati periodicamente a %s per controllare l'esistenza di aggiornamenti e verificare la validità della tua licenza."
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "What permissions are being granted?"
|
798 |
msgstr "Quali autorizzazioni vengono concesse?"
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Your Profile Overview"
|
802 |
msgstr "Panoramica del tuo profilo"
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgid "Name and email address"
|
806 |
msgstr "Nome ed indirizzo email"
|
807 |
|
808 |
-
#: includes/i18n.php:
|
809 |
msgid "Your Site Overview"
|
810 |
msgstr "Panoramica del tuo sito"
|
811 |
|
812 |
-
#: includes/i18n.php:
|
813 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
814 |
msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
|
815 |
|
816 |
-
#: includes/i18n.php:
|
817 |
msgid "Current Plugin Events"
|
818 |
msgstr "Eventi correnti del plugin"
|
819 |
|
820 |
-
#: includes/i18n.php:
|
821 |
msgid "Activation, deactivation and uninstall"
|
822 |
msgstr "Attiva, disattivazione e disinstallazione"
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgid "Plugins & Themes"
|
826 |
msgstr "Plugin e temi"
|
827 |
|
828 |
-
#: includes/i18n.php:
|
829 |
msgid "Titles, versions and state."
|
830 |
msgstr "Titoli, versioni e stato."
|
831 |
|
832 |
-
#: includes/i18n.php:
|
833 |
msgid "Admin Notices"
|
834 |
msgstr "Avvisi amministratore"
|
835 |
|
836 |
-
#: includes/i18n.php:
|
837 |
msgid "Newsletter"
|
838 |
msgstr "Newsletter"
|
839 |
|
840 |
-
#: includes/i18n.php:
|
841 |
msgid "Updates, announcements, marketing, no spam"
|
842 |
msgstr "Aggiornamenti, annunci, marketing, no spam"
|
843 |
|
844 |
-
#: includes/i18n.php:
|
845 |
msgid "Privacy Policy"
|
846 |
msgstr "Politica sulla privacy"
|
847 |
|
848 |
-
#: includes/i18n.php:
|
849 |
msgid "Terms of Service"
|
850 |
msgstr "Termini del Servizio"
|
851 |
|
852 |
-
#: includes/i18n.php:
|
853 |
msgctxt "as activating plugin"
|
854 |
msgid "Activating"
|
855 |
msgstr "Attivazione"
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgctxt "as in the process of sending an email"
|
859 |
msgid "Sending email"
|
860 |
msgstr "Invio email"
|
861 |
|
862 |
-
#: includes/i18n.php:
|
863 |
msgctxt "button label"
|
864 |
msgid "Allow & Continue"
|
865 |
msgstr "Consenti & Continua"
|
866 |
|
867 |
-
#: includes/i18n.php:
|
868 |
msgctxt "button label"
|
869 |
msgid "Agree & Activate License"
|
870 |
msgstr "Accetta e attiva la licenza"
|
871 |
|
872 |
-
#: includes/i18n.php:
|
873 |
msgctxt "verb"
|
874 |
msgid "Skip"
|
875 |
msgstr "Salta"
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "Click here to use the plugin anonymously"
|
879 |
msgstr "Fai clic qui per usare il plugin anonimamente"
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Re-send activation email"
|
883 |
msgstr "Invia nuovamente l'email di attivazione"
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "License key"
|
887 |
msgstr "Chiave di licenza"
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
msgid "Send License Key"
|
891 |
msgstr "Invia chiave di licenza"
|
892 |
|
893 |
-
#: includes/i18n.php:
|
894 |
msgid "Sending license key"
|
895 |
msgstr "Invio chiave di licenza"
|
896 |
|
897 |
-
#: includes/i18n.php:
|
898 |
msgid "Have a license key?"
|
899 |
msgstr "Hai una chiave di licenza?"
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Don't have a license key?"
|
903 |
msgstr "Non hai una chiave di licenza?"
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Can't find your license key?"
|
907 |
msgstr "Non trovi la tua chiave di licenza?"
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
-
msgid ""
|
911 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
912 |
-
"right address?"
|
913 |
msgstr "Non siamo riusciti a trovare il tuo indirizzo email nel sistema, sei sicuro che sia l'indirizzo giusto?"
|
914 |
|
915 |
-
#: includes/i18n.php:
|
916 |
-
msgid ""
|
917 |
-
"We can't see any active licenses associated with that email address, are you"
|
918 |
-
" sure it's the right address?"
|
919 |
msgstr "Non siamo riusciti a trovare alcuna licenza attiva associata al tuo indirizzo email, sei sicuro che sia l'indirizzo giusto?"
|
920 |
|
921 |
-
#: includes/i18n.php:
|
922 |
msgid "Opt In"
|
923 |
msgstr "Iscriviti"
|
924 |
|
925 |
-
#: includes/i18n.php:
|
926 |
msgid "Opt Out"
|
927 |
msgstr "Cancella iscrizione"
|
928 |
|
929 |
-
#: includes/i18n.php:
|
930 |
msgid "On second thought - I want to continue helping"
|
931 |
msgstr "Ci ho ripensato, voglio continuare a fornire il mio aiuto"
|
932 |
|
933 |
-
#: includes/i18n.php:
|
934 |
msgid "Opting out..."
|
935 |
msgstr "Cancellamento dell'iscrizione..."
|
936 |
|
937 |
-
#: includes/i18n.php:
|
938 |
msgid "Opting in..."
|
939 |
msgstr "Iscrizione in corso..."
|
940 |
|
941 |
-
#: includes/i18n.php:
|
942 |
-
msgid ""
|
943 |
-
"We appreciate your help in making the %s better by letting us track some "
|
944 |
-
"usage data."
|
945 |
msgstr "Ti ringraziamo per averci concesso di tracciare alcuni dati di utilizzo al fine di migliorare %s"
|
946 |
|
947 |
-
#: includes/i18n.php:
|
948 |
-
msgid ""
|
949 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
950 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
951 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
952 |
msgstr "Tracciamo l'utilizzo esclusivamente per rendere %s migliore, creando una migliore esperienza utente e dando priorità a nuove funzionalità, oltre a molte altre buone cose. Saremmo veramente felici di vederti cambiare idea e lasciarci continuare con il tracciamento."
|
953 |
|
954 |
-
#: includes/i18n.php:
|
955 |
-
msgid ""
|
956 |
-
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
957 |
-
"%s."
|
958 |
msgstr "Cliccando su \"Cancella iscrizione\", non invieremo più nessuna informazione da %s a %s."
|
959 |
|
960 |
-
#: includes/i18n.php:
|
961 |
msgid "Screenshots"
|
962 |
msgstr "Screenshots"
|
963 |
|
964 |
-
#: includes/i18n.php:
|
965 |
msgid "Click to view full-size screenshot %d"
|
966 |
msgstr "Fare clic per visualizzare lo screenshot in grandi dimensioni %d"
|
967 |
|
968 |
-
#: includes/i18n.php:
|
969 |
msgid "Freemius Debug"
|
970 |
msgstr "Debug Freemius"
|
971 |
|
972 |
-
#: includes/i18n.php:
|
973 |
msgctxt "as turned on"
|
974 |
msgid "On"
|
975 |
msgstr "Attivo"
|
976 |
|
977 |
-
#: includes/i18n.php:
|
978 |
msgctxt "as turned off"
|
979 |
msgid "Off"
|
980 |
msgstr "Non attivo"
|
981 |
|
982 |
-
#: includes/i18n.php:
|
983 |
msgctxt "as code debugging"
|
984 |
msgid "Debugging"
|
985 |
msgstr "Debugging"
|
986 |
|
987 |
-
#: includes/i18n.php:
|
988 |
msgid "Freemius State"
|
989 |
msgstr "Stato di Freemius"
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgctxt "as connection was successful"
|
993 |
msgid "Connected"
|
994 |
msgstr "Connesso"
|
995 |
|
996 |
-
#: includes/i18n.php:
|
997 |
msgctxt "as connection blocked"
|
998 |
msgid "Blocked"
|
999 |
msgstr "Bloccato"
|
1000 |
|
1001 |
-
#: includes/i18n.php:
|
1002 |
msgctxt "as application program interface"
|
1003 |
msgid "API"
|
1004 |
msgstr "API"
|
1005 |
|
1006 |
-
#: includes/i18n.php:
|
1007 |
msgctxt "as software development kit versions"
|
1008 |
msgid "SDK"
|
1009 |
msgstr "SDK"
|
1010 |
|
1011 |
-
#: includes/i18n.php:
|
1012 |
msgctxt "as software development kit versions"
|
1013 |
msgid "SDK Versions"
|
1014 |
msgstr "Versioni SDK"
|
1015 |
|
1016 |
-
#: includes/i18n.php:
|
1017 |
msgctxt "as plugin folder path"
|
1018 |
msgid "Plugin Path"
|
1019 |
msgstr "Percorso del plugin"
|
1020 |
|
1021 |
-
#: includes/i18n.php:
|
1022 |
msgctxt "as sdk path"
|
1023 |
msgid "SDK Path"
|
1024 |
msgstr "Percorso SDK"
|
1025 |
|
1026 |
-
#: includes/i18n.php:
|
1027 |
msgid "Add Ons of Plugin %s"
|
1028 |
msgstr "Add-on del Plugin %s"
|
1029 |
|
1030 |
-
#: includes/i18n.php:
|
1031 |
msgid "Are you sure you want to delete all Freemius data?"
|
1032 |
msgstr "Sei sicuro di voler eliminare tutti i dati di Freemius?"
|
1033 |
|
1034 |
-
#: includes/i18n.php:
|
1035 |
msgid "Actions"
|
1036 |
msgstr "Azioni"
|
1037 |
|
1038 |
-
#: includes/i18n.php:
|
1039 |
msgid "Delete All Accounts"
|
1040 |
msgstr "Eliminare tutti gli account"
|
1041 |
|
1042 |
-
#: includes/i18n.php:
|
1043 |
msgid "Start Fresh"
|
1044 |
msgstr "Inizia da capo"
|
1045 |
|
1046 |
-
#: includes/i18n.php:
|
1047 |
msgid "Clear API Cache"
|
1048 |
msgstr "Elimina cache API"
|
1049 |
|
1050 |
-
#: includes/i18n.php:
|
1051 |
msgid "Sync Data From Server"
|
1052 |
msgstr "Sincronizza i dati dal server"
|
1053 |
|
1054 |
-
#: includes/i18n.php:
|
1055 |
msgid "Scheduled Crons"
|
1056 |
msgstr "Azioni programmate"
|
1057 |
|
1058 |
-
#: includes/i18n.php:
|
1059 |
msgid "Cron Type"
|
1060 |
msgstr "Tipo di Cron"
|
1061 |
|
1062 |
-
#: includes/i18n.php:
|
1063 |
msgid "Plugins & Themes Sync"
|
1064 |
msgstr "Sincronizzazione plugin e temi"
|
1065 |
|
1066 |
-
#: includes/i18n.php:
|
1067 |
msgid "Licenses"
|
1068 |
msgstr "Licenze"
|
1069 |
|
1070 |
-
#: includes/i18n.php:
|
1071 |
msgid "Debug Log"
|
1072 |
msgstr "Debug Log"
|
1073 |
|
1074 |
-
#: includes/i18n.php:
|
1075 |
msgid "All"
|
1076 |
msgstr "Tutto"
|
1077 |
|
1078 |
-
#: includes/i18n.php:
|
1079 |
msgid "File"
|
1080 |
msgstr "File"
|
1081 |
|
1082 |
-
#: includes/i18n.php:
|
1083 |
msgid "Function"
|
1084 |
msgstr "Funzione"
|
1085 |
|
1086 |
-
#: includes/i18n.php:
|
1087 |
msgid "Process ID"
|
1088 |
msgstr "ID processo"
|
1089 |
|
1090 |
-
#: includes/i18n.php:
|
1091 |
msgid "Logger"
|
1092 |
msgstr "Logger"
|
1093 |
|
1094 |
-
#: includes/i18n.php:
|
1095 |
msgid "Message"
|
1096 |
msgstr "Messaggio"
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
msgid "Download"
|
1100 |
msgstr "Download"
|
1101 |
|
1102 |
-
#: includes/i18n.php:
|
1103 |
msgid "Filter"
|
1104 |
msgstr "Filtro"
|
1105 |
|
1106 |
-
#: includes/i18n.php:
|
1107 |
msgid "Type"
|
1108 |
msgstr "Tipo"
|
1109 |
|
1110 |
-
#: includes/i18n.php:
|
1111 |
msgid "All Types"
|
1112 |
msgstr "Tutti i tipi"
|
1113 |
|
1114 |
-
#: includes/i18n.php:
|
1115 |
msgid "All Requests"
|
1116 |
msgstr "Tutte le richieste"
|
1117 |
|
1118 |
-
#: includes/i18n.php:
|
1119 |
msgctxt "as congratulations"
|
1120 |
msgid "Congrats"
|
1121 |
msgstr "Congratulazioni"
|
1122 |
|
1123 |
-
#: includes/i18n.php:
|
1124 |
msgctxt "exclamation"
|
1125 |
msgid "Oops"
|
1126 |
msgstr "Ops"
|
1127 |
|
1128 |
-
#: includes/i18n.php:
|
1129 |
msgctxt "interjection expressing joy or exuberance"
|
1130 |
msgid "Yee-haw"
|
1131 |
msgstr "Evvai"
|
1132 |
|
1133 |
-
#: includes/i18n.php:
|
1134 |
msgctxt ""
|
1135 |
-
"(especially in electronic communication) used to express elation, "
|
1136 |
-
"enthusiasm, or triumph."
|
1137 |
msgid "W00t"
|
1138 |
msgstr "Forte"
|
1139 |
|
1140 |
-
#: includes/i18n.php:
|
1141 |
msgctxt "a positive response"
|
1142 |
msgid "Right on"
|
1143 |
msgstr "Sì"
|
1144 |
|
1145 |
-
#: includes/i18n.php:
|
1146 |
msgctxt ""
|
1147 |
-
"something somebody says when they are thinking about what you have just "
|
1148 |
-
"said. "
|
1149 |
msgid "Hmm"
|
1150 |
msgstr "Uhm"
|
1151 |
|
1152 |
-
#: includes/i18n.php:
|
1153 |
msgid "O.K"
|
1154 |
msgstr "OK"
|
1155 |
|
1156 |
-
#: includes/i18n.php:
|
1157 |
msgctxt "exclamation"
|
1158 |
msgid "Hey"
|
1159 |
msgstr "Hey"
|
1160 |
|
1161 |
-
#: includes/i18n.php:
|
1162 |
msgctxt "advance notice of something that will need attention."
|
1163 |
msgid "Heads up"
|
1164 |
msgstr "Attenzione"
|
1165 |
|
1166 |
-
#: includes/i18n.php:
|
1167 |
msgid "Seems like you got the latest release."
|
1168 |
msgstr "Sembra che tu abbia la versione più recente."
|
1169 |
|
1170 |
-
#: includes/i18n.php:
|
1171 |
msgid "You are all good!"
|
1172 |
msgstr "Sei fantastico!"
|
1173 |
|
1174 |
-
#: includes/i18n.php:
|
1175 |
-
msgid ""
|
1176 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1177 |
-
"email is already registered."
|
1178 |
msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
|
1179 |
|
1180 |
-
#: includes/i18n.php:
|
1181 |
-
msgid ""
|
1182 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1183 |
-
"click the Change Ownership button."
|
1184 |
msgstr "Se vuoi cedere la proprietá dell'account del plugin a %s clicca su Cambia Proprietà."
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
-
msgid ""
|
1188 |
-
"Your email was successfully updated. You should receive an email with "
|
1189 |
-
"confirmation instructions in few moments."
|
1190 |
msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
|
1191 |
|
1192 |
-
#: includes/i18n.php:
|
1193 |
msgid "Your name was successfully updated."
|
1194 |
msgstr "Il tuo nome è stato aggiornato correttamente."
|
1195 |
|
1196 |
-
#: includes/i18n.php:
|
1197 |
msgid "You have successfully updated your %s."
|
1198 |
msgstr "Hai aggiornato con successo il tuo %s."
|
1199 |
|
1200 |
-
#: includes/i18n.php:
|
1201 |
msgid "Please provide your full name."
|
1202 |
msgstr "Per favore inserisci il tuo nome completo."
|
1203 |
|
1204 |
-
#: includes/i18n.php:
|
1205 |
-
msgid ""
|
1206 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1207 |
-
"please check your spam box."
|
1208 |
msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
|
1209 |
|
1210 |
-
#: includes/i18n.php:
|
1211 |
-
msgid ""
|
1212 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1213 |
-
"from an external server."
|
1214 |
msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
|
1215 |
|
1216 |
-
#: includes/i18n.php:
|
1217 |
msgid "No credit card required"
|
1218 |
msgstr "Nessuna carta di credito richiesta"
|
1219 |
|
1220 |
-
#: includes/i18n.php:
|
1221 |
msgid "Premium plugin version was successfully activated."
|
1222 |
msgstr "La versione Premium del plugin è stata attivata correttamente."
|
1223 |
|
1224 |
-
#: includes/i18n.php:
|
1225 |
msgid "The upgrade of %s was successfully completed."
|
1226 |
msgstr "L'aggiornamento di %s è stato completato con successo."
|
1227 |
|
1228 |
-
#: includes/i18n.php:
|
1229 |
msgid "Your account was successfully activated with the %s plan."
|
1230 |
msgstr "Il tuo account è stato attivato correttamente con il piano %s."
|
1231 |
|
1232 |
-
#: includes/i18n.php:
|
1233 |
msgid "Download the latest %s version now"
|
1234 |
msgstr "Scarica l'ultima versione di %s"
|
1235 |
|
1236 |
-
#: includes/i18n.php:
|
1237 |
msgid "Please follow these steps to complete the upgrade"
|
1238 |
msgstr "Segui i passi seguenti per completare l'aggiornamento"
|
1239 |
|
1240 |
-
#: includes/i18n.php:
|
1241 |
msgid "Download the latest %s version"
|
1242 |
msgstr "Scarica l'ultima versione di %s"
|
1243 |
|
1244 |
-
#: includes/i18n.php:
|
1245 |
msgid "Download the latest version"
|
1246 |
msgstr "Scarica l'ultima versione"
|
1247 |
|
1248 |
-
#: includes/i18n.php:
|
1249 |
msgid "Deactivate the free version"
|
1250 |
msgstr "Disattiva la versione gratuita"
|
1251 |
|
1252 |
-
#: includes/i18n.php:
|
1253 |
msgid "Upload and activate the downloaded version"
|
1254 |
msgstr "Carica e attiva la versione scaricata"
|
1255 |
|
1256 |
-
#: includes/i18n.php:
|
1257 |
msgid "How to upload and activate?"
|
1258 |
msgstr "Come faccio a caricare ed attivare?"
|
1259 |
|
1260 |
-
#: includes/i18n.php:
|
1261 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1262 |
msgid "%s Add-on was successfully purchased."
|
1263 |
msgstr "L' add-on %s è stato acquistato con successo."
|
1264 |
|
1265 |
-
#: includes/i18n.php:
|
1266 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1267 |
msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1271 |
msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
|
1272 |
|
1273 |
-
#: includes/i18n.php:
|
1274 |
msgid "Your plan was successfully upgraded."
|
1275 |
msgstr "Il piano è stato aggiornato con successo."
|
1276 |
|
1277 |
-
#: includes/i18n.php:
|
1278 |
msgid "Your plan was successfully changed to %s."
|
1279 |
msgstr "Il piano è stato cambiato con successo a %s."
|
1280 |
|
1281 |
-
#: includes/i18n.php:
|
1282 |
-
msgid ""
|
1283 |
-
"Your license has expired. You can still continue using the free plugin "
|
1284 |
-
"forever."
|
1285 |
msgstr "La licenza è scaduta. È comunque possibile continuare ad utilizzare il plugin gratuito per sempre."
|
1286 |
|
1287 |
-
#: includes/i18n.php:
|
1288 |
-
msgid ""
|
1289 |
-
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1290 |
-
" support."
|
1291 |
msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
|
1292 |
|
1293 |
-
#: includes/i18n.php:
|
1294 |
msgid "Your trial has been successfully started."
|
1295 |
msgstr "La versione di prova è stata avviata correttamente."
|
1296 |
|
1297 |
-
#: includes/i18n.php:
|
1298 |
msgid "Your license was successfully activated."
|
1299 |
msgstr "La tua licenza è stata attivata correttamente."
|
1300 |
|
1301 |
-
#: includes/i18n.php:
|
1302 |
msgid "It looks like your site currently doesn't have an active license."
|
1303 |
msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
|
1304 |
|
1305 |
-
#: includes/i18n.php:
|
1306 |
-
msgid ""
|
1307 |
-
"Your license was successfully deactivated, you are back to the %s plan."
|
1308 |
msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
|
1309 |
|
1310 |
-
#: includes/i18n.php:
|
1311 |
msgid "It looks like the license deactivation failed."
|
1312 |
msgstr "Sembra che la disattivazione della licenza non sia riuscita."
|
1313 |
|
1314 |
-
#: includes/i18n.php:
|
1315 |
msgid "It looks like the license could not be activated."
|
1316 |
msgstr "Sembra che la licenza non possa essere attivata."
|
1317 |
|
1318 |
-
#: includes/i18n.php:
|
1319 |
msgid "Error received from the server:"
|
1320 |
msgstr "Errore ricevuto dal server:"
|
1321 |
|
1322 |
-
#: includes/i18n.php:
|
1323 |
-
msgid ""
|
1324 |
-
"Your trial has expired. You can still continue using all our free features."
|
1325 |
msgstr "La versione di prova è scaduta. Si può comunque continuare a utilizzare tutte le nostre funzioni gratuite."
|
1326 |
|
1327 |
-
#: includes/i18n.php:
|
1328 |
-
msgid ""
|
1329 |
-
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1330 |
-
"%s."
|
1331 |
msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
|
1332 |
|
1333 |
-
#: includes/i18n.php:
|
1334 |
-
msgid ""
|
1335 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1336 |
-
"Please try again in few minutes."
|
1337 |
msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
|
1338 |
|
1339 |
-
#: includes/i18n.php:
|
1340 |
-
msgid ""
|
1341 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1342 |
-
" :)"
|
1343 |
msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
|
1344 |
|
1345 |
-
#: includes/i18n.php:
|
1346 |
msgid "Your %s free trial was successfully cancelled."
|
1347 |
msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
|
1348 |
|
1349 |
-
#: includes/i18n.php:
|
1350 |
msgctxt "%s - numeric version number"
|
1351 |
msgid "Version %s was released."
|
1352 |
msgstr "La versione %s é stata rilasciata."
|
1353 |
|
1354 |
-
#: includes/i18n.php:
|
1355 |
msgid "Please download %s."
|
1356 |
msgstr "Scarica %s."
|
1357 |
|
1358 |
-
#: includes/i18n.php:
|
1359 |
msgctxt "%s - plan name, as the latest professional version here"
|
1360 |
msgid "the latest %s version here"
|
1361 |
msgstr "l'ultima versione %s é quì"
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
1364 |
-
msgid ""
|
1365 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1366 |
-
"free trial."
|
1367 |
msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
|
1368 |
|
1369 |
-
#: includes/i18n.php:
|
1370 |
msgctxt "call to action"
|
1371 |
msgid "Start free trial"
|
1372 |
msgstr "Inizia il periodo di prova gratuito"
|
1373 |
|
1374 |
-
#: includes/i18n.php:
|
1375 |
msgid "Starting trial"
|
1376 |
msgstr "Inizio del periodo di prova gratuito"
|
1377 |
|
1378 |
-
#: includes/i18n.php:
|
1379 |
msgid "Please wait"
|
1380 |
msgstr "Attendere"
|
1381 |
|
1382 |
-
#: includes/i18n.php:
|
1383 |
-
msgid ""
|
1384 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1385 |
-
"Please try again in few minutes."
|
1386 |
msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
|
1387 |
|
1388 |
-
#: includes/i18n.php:
|
1389 |
msgid "You already utilized a trial before."
|
1390 |
msgstr "Hai già utilizzato una prova gratuita in passato."
|
1391 |
|
1392 |
-
#: includes/i18n.php:
|
1393 |
msgid "You are already running the plugin in a trial mode."
|
1394 |
msgstr "Stai già usando il plugin in modalità di prova gratuita."
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1398 |
msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
|
1399 |
|
1400 |
-
#: includes/i18n.php:
|
1401 |
msgid "Plan %s does not support a trial period."
|
1402 |
msgstr "Il piano %s non supporta il periodo di prova."
|
1403 |
|
1404 |
-
#: includes/i18n.php:
|
1405 |
msgid "None of the plugin's plans supports a trial period."
|
1406 |
msgstr "Non esiste alcun piano del plugin che offra il periodo di prova."
|
1407 |
|
1408 |
-
#: includes/i18n.php:
|
1409 |
-
msgid ""
|
1410 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1411 |
-
"error."
|
1412 |
msgstr "Errore inaspettato dell'API. Per favore contatta l'autore del plugin riportando il seguente errore."
|
1413 |
|
1414 |
-
#: includes/i18n.php:
|
1415 |
msgid "No commitment for %s days - cancel anytime!"
|
1416 |
msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
|
1417 |
|
1418 |
-
#: includes/i18n.php:
|
1419 |
-
msgid ""
|
1420 |
-
"Your license has expired. You can still continue using all the %s features, "
|
1421 |
-
"but you'll need to renew your license to continue getting updates and "
|
1422 |
-
"support."
|
1423 |
msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
|
1424 |
|
1425 |
-
#: includes/i18n.php:
|
1426 |
msgid "Couldn't activate %s."
|
1427 |
msgstr "Non é stato possibile attivare %s."
|
1428 |
|
1429 |
-
#: includes/i18n.php:
|
1430 |
msgid "Please contact us with the following message:"
|
1431 |
msgstr "Contattaci con il seguente messaggio:"
|
1432 |
|
1433 |
-
#: includes/i18n.php:
|
1434 |
-
msgid ""
|
1435 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1436 |
-
"your plan, it's probably an issue on our side - sorry."
|
1437 |
msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
|
1438 |
|
1439 |
-
#: includes/i18n.php:
|
1440 |
msgid "Please contact us here"
|
1441 |
msgstr "Contattaci qui"
|
1442 |
|
1443 |
-
#: includes/i18n.php:
|
1444 |
-
msgid ""
|
1445 |
-
"I have upgraded my account but when I try to Sync the License, the plan "
|
1446 |
-
"remains %s."
|
1447 |
msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
|
1448 |
|
1449 |
-
#: includes/i18n.php:
|
1450 |
msgid "From unknown reason, the API connectivity test failed."
|
1451 |
msgstr "Il test di connettività dell'API ha fallito per motivi sconosciuti."
|
1452 |
|
1453 |
-
#: includes/i18n.php:
|
1454 |
-
msgid ""
|
1455 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1456 |
-
"permission, would it be o.k to run another connectivity test?"
|
1457 |
msgstr "Si tratta probabilmente di un problema nei nostri sistemi. Per esserne sicuri, potresti darci il permesso di effettuare un ulteriore test della connettività? "
|
1458 |
|
1459 |
-
#: includes/i18n.php:
|
1460 |
-
msgid ""
|
1461 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1462 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1463 |
-
"on your server."
|
1464 |
-
msgstr "Utilizziamo la libreria PHP cURL per le chiamate alla nostra API. Questa libreria è molto comune ed è installata di base. Sfortunatamente cURL non è presente nel tuo server."
|
1465 |
|
1466 |
-
#: includes/i18n.php:
|
1467 |
-
msgid ""
|
1468 |
-
"
|
|
|
|
|
|
|
1469 |
msgstr "Per un motivo sconosciuto, CloudFlare, il firewall che utilizziamo, blocca la connessione."
|
1470 |
|
1471 |
-
#: includes/i18n.php:
|
1472 |
msgctxt "as pluginX requires an access to our API"
|
1473 |
msgid "%s requires an access to our API."
|
1474 |
msgstr "%s richiede un accesso alla nostra API."
|
1475 |
|
1476 |
-
#: includes/i18n.php:
|
1477 |
-
msgid ""
|
1478 |
-
"It looks like your server is using Squid ACL (access control lists), which "
|
1479 |
-
"blocks the connection."
|
1480 |
msgstr "Sembra che il tuo server stia usando Squid ACL (lista per il controllo degli accessi) il quale blocca la connessione."
|
1481 |
|
1482 |
-
#: includes/i18n.php:
|
1483 |
msgid "I don't know what is Squid or ACL, help me!"
|
1484 |
msgstr "Non ho idea di cosa sia Squid o ACL, aiutami!"
|
1485 |
|
1486 |
-
#: includes/i18n.
|
1487 |
-
msgid ""
|
1488 |
-
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1489 |
-
"will get a follow-up email to %s once we have an update."
|
1490 |
msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
|
1491 |
|
1492 |
-
#: includes/i18n.php:
|
1493 |
msgid "I'm a system administrator"
|
1494 |
msgstr "Sono un sistemista"
|
1495 |
|
1496 |
-
#: includes/i18n.php:
|
1497 |
-
msgid ""
|
1498 |
-
"Great, please whitelist the following domains: %s. Once you are done, "
|
1499 |
-
"deactivate the plugin and activate it again."
|
1500 |
msgstr "Perfetto, ora per favore aggiungi alla whitelist i seguenti domini: %s. Quando hai fatto, disattiva il plugin e riattivalo di nuovo."
|
1501 |
|
1502 |
-
#: includes/i18n.php:
|
1503 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1504 |
msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
|
1505 |
|
1506 |
-
#: includes/i18n.php:
|
1507 |
-
msgid ""
|
1508 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1509 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1510 |
-
"the plugin and reactivate it back again."
|
1511 |
-
msgstr "Perfetto, installa cURL ed attivalo nel tuo file php.ini. Per essere sicuro di averlo attivato con successo, usa \"phpinfo()\". Una volta attivato disattva il plugin e attivalo di nuovo."
|
1512 |
|
1513 |
-
#: includes/i18n.php:
|
1514 |
-
msgid ""
|
1515 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1516 |
-
"you ASAP if you give us a chance."
|
1517 |
msgstr "Siamo sicuri che sia un nostro problema e siamo più che felici di risolverlo per te al più presto. Per poter procedere abbiamo bisogno del tuo consenso."
|
1518 |
|
1519 |
-
#: includes/i18n.php:
|
1520 |
-
msgid ""
|
1521 |
-
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1522 |
msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo permesso."
|
1523 |
|
1524 |
-
#: includes/i18n.php:
|
1525 |
msgid "Yes - I'm giving you a chance to fix it"
|
1526 |
msgstr "Sì - sto dandovi la possibilità di risolvere il problema"
|
1527 |
|
1528 |
-
#: includes/i18n.php:
|
1529 |
-
msgid ""
|
1530 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1531 |
-
"You will get a follow-up email to %s once we have an update."
|
1532 |
msgstr "Faremo del nostro meglio per mettere il server in whitelist e risolvere il problema il prima possibile. Avrai un aggiornamento dello stato tramite email all'indirizzo %s."
|
1533 |
|
1534 |
-
#: includes/i18n.php:
|
1535 |
msgid "Let's try your previous version"
|
1536 |
msgstr "Proviamo con la versione precedente"
|
1537 |
|
1538 |
-
#: includes/i18n.php:
|
1539 |
msgid "Uninstall this version and install the previous one."
|
1540 |
msgstr "Disinstalla questa versione e installa quella precedente."
|
1541 |
|
1542 |
-
#: includes/i18n.php:
|
1543 |
msgid "That's exhausting, please deactivate"
|
1544 |
msgstr "È estenuante, disattivalo"
|
1545 |
|
1546 |
-
#: includes/i18n.php:
|
1547 |
-
msgid ""
|
1548 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1549 |
-
" to see you again in the future."
|
1550 |
msgstr "Capiamo la tua frustrazione e ci scusiamo per l'inconveniente. Speriamo di rivederti nuovamente in futuro."
|
1551 |
|
1552 |
-
#: includes/i18n.php:
|
1553 |
-
msgid ""
|
1554 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1555 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1556 |
-
" Appreciate your patience."
|
1557 |
msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
|
1558 |
|
1559 |
-
#: includes/i18n.php:
|
1560 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1561 |
-
msgid ""
|
1562 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1563 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1564 |
msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
|
1565 |
|
1566 |
-
#: includes/i18n.php:
|
1567 |
-
msgid ""
|
1568 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1569 |
-
"Public Key, Secret Key & User ID, and try again."
|
1570 |
msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
|
1571 |
|
1572 |
-
#: includes/i18n.php:
|
1573 |
-
msgid ""
|
1574 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1575 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1576 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1577 |
-
"folder."
|
1578 |
msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
|
1579 |
|
1580 |
-
#: includes/i18n.php:
|
1581 |
-
msgid ""
|
1582 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1583 |
-
" final approval."
|
1584 |
msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
|
1585 |
|
1586 |
-
#: includes/i18n.php:
|
1587 |
msgid "%s is the new owner of the account."
|
1588 |
msgstr "%s è il nuovo proprietario dell'account."
|
1589 |
|
1590 |
-
#: includes/i18n.php:
|
1591 |
msgctxt "addonX cannot run without pluginY"
|
1592 |
msgid "%s cannot run without %s."
|
1593 |
msgstr "%s non può funzionare senza %s."
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgctxt "addonX cannot run..."
|
1597 |
msgid "%s cannot run without the plugin."
|
1598 |
msgstr "%s non può funzionare senza il plugin."
|
1599 |
|
1600 |
-
#: includes/i18n.php:
|
1601 |
msgctxt "pluginX activation was successfully..."
|
1602 |
msgid "%s activation was successfully completed."
|
1603 |
msgstr "%s è stato attivato con successo."
|
1604 |
|
1605 |
-
#: includes/i18n.php:
|
1606 |
msgctxt "Plugin installer section title"
|
1607 |
msgid "Features & Pricing"
|
1608 |
msgstr "Caratteristiche & prezzi"
|
1609 |
|
1610 |
-
#: includes/i18n.php:
|
1611 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1612 |
msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
|
1613 |
|
1614 |
-
#: includes/i18n.php:
|
1615 |
msgid "Paid add-on must be deployed to Freemius."
|
1616 |
msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
|
1617 |
|
1618 |
-
#: includes/i18n.php:
|
1619 |
-
msgid ""
|
1620 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1621 |
-
"activating the plugin."
|
1622 |
msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
|
1623 |
|
1624 |
-
#: includes/i18n.php:
|
1625 |
-
msgid ""
|
1626 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1627 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1628 |
-
"you'll have to purchase a license."
|
1629 |
msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
|
1630 |
|
1631 |
-
#: includes/i18n.php:
|
1632 |
msgctxt "as every month"
|
1633 |
msgid "Monthly"
|
1634 |
msgstr "Mensilmente"
|
1635 |
|
1636 |
-
#: includes/i18n.php:
|
1637 |
msgctxt "as monthly period"
|
1638 |
msgid "mo"
|
1639 |
msgstr "mese"
|
1640 |
|
1641 |
-
#: includes/i18n.php:
|
1642 |
msgctxt "as once a year"
|
1643 |
msgid "Annual"
|
1644 |
msgstr "Annuale"
|
1645 |
|
1646 |
-
#: includes/i18n.php:
|
1647 |
msgctxt "as once a year"
|
1648 |
msgid "Annually"
|
1649 |
msgstr "Annualmente"
|
1650 |
|
1651 |
-
#: includes/i18n.php:
|
1652 |
msgctxt "as once a year"
|
1653 |
msgid "Once"
|
1654 |
msgstr "Una volta"
|
1655 |
|
1656 |
-
#: includes/i18n.php:
|
1657 |
msgctxt "as annual period"
|
1658 |
msgid "year"
|
1659 |
msgstr "anno"
|
1660 |
|
1661 |
-
#: includes/i18n.php:
|
1662 |
msgid "Lifetime"
|
1663 |
msgstr "Tutta la vita"
|
1664 |
|
1665 |
-
#: includes/i18n.php:
|
1666 |
msgctxt "e.g. the best product"
|
1667 |
msgid "Best"
|
1668 |
msgstr "Migliore"
|
1669 |
|
1670 |
-
#: includes/i18n.php:
|
1671 |
msgctxt "e.g. billed monthly"
|
1672 |
msgid "Billed %s"
|
1673 |
msgstr "Fatturato %s"
|
1674 |
|
1675 |
-
#: includes/i18n.php:
|
1676 |
msgctxt "as a discount of $5 or 10%"
|
1677 |
msgid "Save %s"
|
1678 |
msgstr "Risparmia %s"
|
1679 |
|
1680 |
-
#: includes/i18n.php:
|
1681 |
msgid "View details"
|
1682 |
msgstr "Visualizza dettagli"
|
1683 |
|
1684 |
-
#: includes/i18n.php:
|
1685 |
msgctxt "button label"
|
1686 |
msgid "Approve & Start Trial"
|
1687 |
msgstr "Approva e inizia il periodo di prova gratuito"
|
1688 |
|
1689 |
-
#: includes/i18n.php:
|
1690 |
-
msgid ""
|
1691 |
-
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1692 |
-
"plan."
|
1693 |
msgstr "Sei a un clic di distanza dall'iniziare il tuo periodo di prova gratuito di %1$s giorni per il piano %2$s."
|
1694 |
|
1695 |
-
#: includes/i18n.php:
|
1696 |
-
msgid ""
|
1697 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1698 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1699 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1700 |
-
"updates and to validate your trial."
|
1701 |
msgstr "Per seguire le linee guida di WordPress, prima di iniziare il periodo di prova ti chiediamo di iscriverti con il tuo utente e i dati non sensibili inerenti al tuo sito, così da permettere periodicamente al plugin di inviare dati a %s per poter controllare la presenza di nuove versioni e convalidare il tuo periodo di prova gratuito."
|
1702 |
|
1703 |
-
#: includes/i18n.php:
|
1704 |
msgid "Business name"
|
1705 |
msgstr "Nome della compagnia"
|
1706 |
|
1707 |
-
#: includes/i18n.php:
|
1708 |
msgid "Tax / VAT ID"
|
1709 |
msgstr "Numero Partita Iva o VAT"
|
1710 |
|
1711 |
-
#: includes/i18n.php:
|
1712 |
msgid "Address Line %d"
|
1713 |
msgstr "Riga indirizzo %d"
|
1714 |
|
1715 |
-
#: includes/i18n.php:
|
1716 |
msgid "Country"
|
1717 |
msgstr "Nazione"
|
1718 |
|
1719 |
-
#: includes/i18n.php:
|
1720 |
msgid "Select Country"
|
1721 |
msgstr "Seleziona Nazione"
|
1722 |
|
1723 |
-
#: includes/i18n.php:
|
1724 |
msgid "City"
|
1725 |
msgstr "Città"
|
1726 |
|
1727 |
-
#: includes/i18n.php:
|
1728 |
msgid "Town"
|
1729 |
msgstr "Cittadina"
|
1730 |
|
1731 |
-
#: includes/i18n.php:
|
1732 |
msgid "State"
|
1733 |
msgstr "Stato"
|
1734 |
|
1735 |
-
#: includes/i18n.php:
|
1736 |
msgid "Province"
|
1737 |
msgstr "Provincia"
|
1738 |
|
1739 |
-
#: includes/i18n.php:
|
1740 |
msgid "ZIP / Postal Code"
|
1741 |
msgstr "CAP"
|
1742 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1743 |
#: includes/i18n.php:479
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1744 |
msgctxt "Plugin installer section title"
|
1745 |
msgid "Description"
|
1746 |
msgstr "Descrizione"
|
1747 |
|
1748 |
-
#: includes/i18n.php:
|
1749 |
msgctxt "Plugin installer section title"
|
1750 |
msgid "Installation"
|
1751 |
msgstr "Installazione"
|
1752 |
|
1753 |
-
#: includes/i18n.php:
|
1754 |
msgctxt "Plugin installer section title"
|
1755 |
msgid "FAQ"
|
1756 |
msgstr "FAQ"
|
1757 |
|
1758 |
-
#: includes/i18n.php:
|
1759 |
msgctxt "Plugin installer section title"
|
1760 |
msgid "Changelog"
|
1761 |
msgstr "Changelog"
|
1762 |
|
1763 |
-
#: includes/i18n.php:
|
1764 |
msgctxt "Plugin installer section title"
|
1765 |
msgid "Reviews"
|
1766 |
msgstr "Recensioni"
|
1767 |
|
1768 |
-
#: includes/i18n.php:
|
1769 |
msgctxt "Plugin installer section title"
|
1770 |
msgid "Other Notes"
|
1771 |
msgstr "Altre note"
|
1772 |
|
1773 |
-
#: includes/i18n.php:
|
1774 |
msgid "%s star"
|
1775 |
msgstr "%s stella"
|
1776 |
|
1777 |
-
#: includes/i18n.php:
|
1778 |
msgid "%s stars"
|
1779 |
msgstr "%s stelle"
|
1780 |
|
1781 |
-
#: includes/i18n.php:
|
1782 |
msgid "%s rating"
|
1783 |
msgstr "%s valutazione"
|
1784 |
|
1785 |
-
#: includes/i18n.php:
|
1786 |
msgid "%s ratings"
|
1787 |
msgstr "%s valutazioni"
|
1788 |
|
1789 |
-
#: includes/i18n.php:
|
1790 |
msgid "%s time"
|
1791 |
msgstr "% volta"
|
1792 |
|
1793 |
-
#: includes/i18n.php:
|
1794 |
msgid "%s times"
|
1795 |
msgstr "%s volte"
|
1796 |
|
1797 |
-
#: includes/i18n.php:
|
1798 |
msgid "Click to see reviews that provided a rating of %s"
|
1799 |
msgstr "Fai clic per vedere le recensioni che hanno fornito una valutazione di %s"
|
1800 |
|
1801 |
-
#: includes/i18n.php:
|
1802 |
msgid "Last Updated"
|
1803 |
msgstr "Ultimo aggiornamento"
|
1804 |
|
1805 |
-
#: includes/i18n.php:
|
1806 |
msgid "Requires WordPress Version:"
|
1807 |
msgstr "Richiede la versione di WordPress:"
|
1808 |
|
1809 |
-
#: includes/i18n.php:
|
1810 |
msgctxt "as the plugin author"
|
1811 |
msgid "Author:"
|
1812 |
msgstr "Autore:"
|
1813 |
|
1814 |
-
#: includes/i18n.php:
|
1815 |
msgid "Compatible up to:"
|
1816 |
msgstr "Compatibile fino a:"
|
1817 |
|
1818 |
-
#: includes/i18n.php:
|
1819 |
msgid "Downloaded:"
|
1820 |
msgstr "Scaricato:"
|
1821 |
|
1822 |
-
#: includes/i18n.php:
|
1823 |
msgid "WordPress.org Plugin Page"
|
1824 |
msgstr "Pagina dei plugin di WordPress.org"
|
1825 |
|
1826 |
-
#: includes/i18n.php:
|
1827 |
msgid "Plugin Homepage"
|
1828 |
msgstr "Homepage del plugin"
|
1829 |
|
1830 |
-
#: includes/i18n.php:
|
1831 |
msgid "Donate to this plugin"
|
1832 |
msgstr "Fai una donazione a questo plugin"
|
1833 |
|
1834 |
-
#: includes/i18n.php:
|
1835 |
msgid "Average Rating"
|
1836 |
msgstr "Valutazione media"
|
1837 |
|
1838 |
-
#: includes/i18n.php:
|
1839 |
msgid "based on %s"
|
1840 |
msgstr "basato su %s"
|
1841 |
|
1842 |
-
#: includes/i18n.php:
|
1843 |
msgid "Warning:"
|
1844 |
msgstr "Avviso:"
|
1845 |
|
1846 |
-
#: includes/i18n.php:
|
1847 |
msgid "Contributors"
|
1848 |
msgstr "Contributori"
|
1849 |
|
1850 |
-
#: includes/i18n.php:
|
1851 |
msgid "Plugin Install"
|
1852 |
msgstr "Installazione del plugin"
|
1853 |
|
1854 |
-
#: includes/i18n.php:
|
1855 |
-
msgid ""
|
1856 |
-
"This plugin has not been tested with your current version of WordPress."
|
1857 |
msgstr "Questo plugin non è stato testato con la versione corrente di WordPress."
|
1858 |
|
1859 |
-
#: includes/i18n.php:
|
1860 |
-
msgid ""
|
1861 |
-
"This plugin has not been marked as compatible with your version of "
|
1862 |
-
"WordPress."
|
1863 |
msgstr "Questo plugin non è stato segnato come compatibile con la tua versione di WordPress."
|
1864 |
|
1865 |
-
#: includes/i18n.php:
|
1866 |
msgid "Newer Version (%s) Installed"
|
1867 |
msgstr "Versione più recente (%s) installata"
|
1868 |
|
1869 |
-
#: includes/i18n.php:
|
1870 |
msgid "Latest Version Installed"
|
1871 |
msgstr "Versione più recente installata"
|
10 |
"Project-Id-Version: WordPress SDK\n"
|
11 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
12 |
"POT-Creation-Date: \n"
|
13 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
14 |
+
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
15 |
+
"Language: it_IT\n"
|
16 |
"Language-Team: Italian (Italy) (http://www.transifex.com/freemius/wordpress-sdk/language/it_IT/)\n"
|
|
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
19 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20 |
+
"MIME-Version: 1.0\n"
|
21 |
"X-Poedit-Basepath: ..\n"
|
22 |
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
23 |
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
25 |
"X-Poedit-SourceCharset: UTF-8\n"
|
26 |
|
27 |
+
#: includes/i18n.php:37
|
28 |
msgid "Account"
|
29 |
msgstr "Account"
|
30 |
|
31 |
+
#: includes/i18n.php:38
|
32 |
msgid "Add On"
|
33 |
msgstr "Add-on"
|
34 |
|
35 |
+
#: includes/i18n.php:39
|
36 |
msgid "Contact Us"
|
37 |
msgstr "Contattaci"
|
38 |
|
39 |
+
#: includes/i18n.php:40
|
40 |
msgid "Contact Support"
|
41 |
msgstr "Contatta il supporto"
|
42 |
|
43 |
+
#: includes/i18n.php:41
|
44 |
msgid "Change Ownership"
|
45 |
msgstr "Cambia Proprietario"
|
46 |
|
47 |
+
#: includes/i18n.php:42
|
48 |
msgid "Support"
|
49 |
msgstr "Supporto"
|
50 |
|
51 |
+
#: includes/i18n.php:43
|
52 |
msgid "Support Forum"
|
53 |
msgstr "Forum di supporto"
|
54 |
|
55 |
+
#: includes/i18n.php:44
|
56 |
msgid "Add Ons"
|
57 |
msgstr "Add-on"
|
58 |
|
59 |
+
#: includes/i18n.php:45
|
60 |
msgctxt "verb"
|
61 |
msgid "Upgrade"
|
62 |
msgstr "Aggiornamento"
|
63 |
|
64 |
+
#: includes/i18n.php:46
|
65 |
msgid "Awesome"
|
66 |
msgstr "Fantastico"
|
67 |
|
68 |
+
#: includes/i18n.php:47
|
69 |
msgctxt "noun"
|
70 |
msgid "Pricing"
|
71 |
msgstr "Prezzi"
|
72 |
|
73 |
+
#: includes/i18n.php:48
|
74 |
msgctxt "noun"
|
75 |
msgid "Price"
|
76 |
msgstr "Prezzo"
|
77 |
|
78 |
+
#: includes/i18n.php:49
|
79 |
msgid "Unlimited Updates"
|
80 |
msgstr "Aggiornamenti Illimitati"
|
81 |
|
82 |
+
#: includes/i18n.php:50
|
83 |
msgctxt "verb"
|
84 |
msgid "Downgrade"
|
85 |
msgstr "Downgrade"
|
86 |
|
87 |
+
#: includes/i18n.php:51
|
88 |
+
msgctxt "verb"
|
89 |
+
msgid "Cancel Subscription"
|
90 |
+
msgstr "Cancel Subscription"
|
91 |
+
|
92 |
+
#: includes/i18n.php:52
|
93 |
msgid "Cancel Trial"
|
94 |
msgstr "Annulla prova gratuita"
|
95 |
|
96 |
+
#: includes/i18n.php:53
|
97 |
msgid "Free Trial"
|
98 |
msgstr "Prova gratuita"
|
99 |
|
100 |
+
#: includes/i18n.php:54
|
101 |
msgid "Start my free %s"
|
102 |
msgstr "Inizia la mia %s"
|
103 |
|
104 |
+
#: includes/i18n.php:55
|
105 |
msgid "No commitment for %s - cancel anytime"
|
106 |
msgstr "Nessun impegno con %s - cancella quando vuoi"
|
107 |
|
108 |
+
#: includes/i18n.php:56
|
109 |
msgid "After your free %s, pay as little as %s"
|
110 |
msgstr "Dopo il tuo %s gratuito, paghi solamente %s"
|
111 |
|
112 |
+
#: includes/i18n.php:57
|
113 |
msgid "Details"
|
114 |
msgstr "Dettagli"
|
115 |
|
116 |
+
#: includes/i18n.php:58
|
117 |
msgid "Account Details"
|
118 |
msgstr "Dettagli dell'account"
|
119 |
|
120 |
+
#: includes/i18n.php:59
|
121 |
msgctxt "verb"
|
122 |
msgid "Delete"
|
123 |
msgstr "Elimina"
|
124 |
|
125 |
+
#: includes/i18n.php:60
|
126 |
msgctxt "verb"
|
127 |
msgid "Show"
|
128 |
msgstr "Mostra"
|
129 |
|
130 |
+
#: includes/i18n.php:61
|
131 |
msgctxt "verb"
|
132 |
msgid "Hide"
|
133 |
msgstr "Nascondi"
|
134 |
|
135 |
+
#: includes/i18n.php:62
|
136 |
msgctxt "verb"
|
137 |
msgid "Edit"
|
138 |
msgstr "Modifica"
|
139 |
|
140 |
+
#: includes/i18n.php:63
|
141 |
msgctxt "verb"
|
142 |
msgid "Update"
|
143 |
msgstr "Aggiorna"
|
144 |
|
145 |
+
#: includes/i18n.php:64
|
146 |
msgid "Date"
|
147 |
msgstr "Data"
|
148 |
|
149 |
+
#: includes/i18n.php:65
|
150 |
msgid "Amount"
|
151 |
msgstr "Importo"
|
152 |
|
153 |
+
#: includes/i18n.php:66
|
154 |
msgid "Invoice"
|
155 |
msgstr "Fattura"
|
156 |
|
157 |
+
#: includes/i18n.php:67
|
158 |
msgid "Billing"
|
159 |
msgstr "Fatturazione"
|
160 |
|
161 |
+
#: includes/i18n.php:68
|
162 |
msgid "Payments"
|
163 |
msgstr "Pagamenti"
|
164 |
|
165 |
+
#: includes/i18n.php:69
|
166 |
msgid "Delete Account"
|
167 |
msgstr "Elimina Account"
|
168 |
|
169 |
+
#: includes/i18n.php:70
|
170 |
msgctxt "as close a window"
|
171 |
msgid "Dismiss"
|
172 |
msgstr "Chiudi"
|
173 |
|
174 |
+
#: includes/i18n.php:71
|
175 |
msgctxt "as product pricing plan"
|
176 |
msgid "Plan"
|
177 |
msgstr "Piano"
|
178 |
|
179 |
+
#: includes/i18n.php:72
|
180 |
msgid "Change Plan"
|
181 |
msgstr "Cambia piano"
|
182 |
|
183 |
+
#: includes/i18n.php:73
|
184 |
msgctxt "as download professional version"
|
185 |
msgid "Download %s Version"
|
186 |
msgstr "Scarica la versione %s"
|
187 |
|
188 |
+
#: includes/i18n.php:74
|
189 |
msgctxt "as download professional version now"
|
190 |
msgid "Download %s version now"
|
191 |
msgstr "Scarica la versione %s ora"
|
192 |
|
193 |
+
#: includes/i18n.php:75
|
194 |
msgctxt "as download latest version"
|
195 |
msgid "Download Latest"
|
196 |
msgstr "Scarica l'ultima versione"
|
197 |
|
198 |
+
#: includes/i18n.php:76
|
199 |
msgctxt "E.g. you have a professional license."
|
200 |
msgid "You have a %s license."
|
201 |
msgstr "Hai la licenza %s."
|
202 |
|
203 |
+
#: includes/i18n.php:77
|
204 |
msgid "New"
|
205 |
msgstr "Nuovo"
|
206 |
|
207 |
+
#: includes/i18n.php:78
|
208 |
msgid "Free"
|
209 |
msgstr "Gratuito"
|
210 |
|
211 |
+
#: includes/i18n.php:79
|
212 |
msgctxt "as trial plan"
|
213 |
msgid "Trial"
|
214 |
msgstr "Prova gratuita"
|
215 |
|
216 |
+
#: includes/i18n.php:80
|
217 |
msgctxt "as starting a trial plan"
|
218 |
msgid "Start Trial"
|
219 |
msgstr "Inizia il periodo di prova gratuito"
|
220 |
|
221 |
+
#: includes/i18n.php:81
|
222 |
msgctxt "verb"
|
223 |
msgid "Purchase"
|
224 |
msgstr "Acquisto"
|
225 |
|
226 |
+
#: includes/i18n.php:82
|
227 |
msgid "Purchase License"
|
228 |
msgstr "Acquista licenza"
|
229 |
|
230 |
+
#: includes/i18n.php:83
|
231 |
msgctxt "verb"
|
232 |
msgid "Buy"
|
233 |
msgstr "Compra"
|
234 |
|
235 |
+
#: includes/i18n.php:84
|
236 |
msgid "Buy License"
|
237 |
msgstr "Compra licenza"
|
238 |
|
239 |
+
#: includes/i18n.php:85
|
240 |
msgid "Single Site License"
|
241 |
msgstr "Licenza per sito singolo"
|
242 |
|
243 |
+
#: includes/i18n.php:86
|
244 |
msgid "Unlimited Licenses"
|
245 |
msgstr "Licenze illimitate"
|
246 |
|
247 |
+
#: includes/i18n.php:87
|
248 |
msgid "Up to %s Sites"
|
249 |
msgstr "Fino a %s siti"
|
250 |
|
251 |
+
#: includes/i18n.php:88
|
252 |
msgid "%sRenew your license now%s to access version %s features and support."
|
253 |
msgstr "%sRinnova la tua licenza ora%s per accedere a funzionalità e supporto della versione %s."
|
254 |
|
255 |
+
#: includes/i18n.php:89
|
256 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
257 |
msgstr "Inserisci qui sotto l'indirizzo email che hai usato per registrare l'aggiornamento e ti invieremo di nuovo la chiave di licenza."
|
258 |
|
259 |
+
#: includes/i18n.php:90
|
260 |
msgctxt "e.g. Professional Plan"
|
261 |
msgid "%s Plan"
|
262 |
msgstr "Piano %s"
|
263 |
|
264 |
+
#: includes/i18n.php:91
|
265 |
msgid "You are just one step away - %s"
|
266 |
msgstr "Sei a un passo dalla fine - %s"
|
267 |
|
268 |
+
#: includes/i18n.php:92
|
269 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
270 |
msgid "Complete \"%s\" Activation Now"
|
271 |
msgstr "Completa l'attivazione di \"%s\" ora"
|
272 |
|
273 |
+
#: includes/i18n.php:94
|
274 |
msgid "We made a few tweaks to the plugin, %s"
|
275 |
msgstr "Abbiamo apportato alcune modifiche al plugin, %s"
|
276 |
|
277 |
+
#: includes/i18n.php:95
|
278 |
msgid "Opt-in to make \"%s\" Better!"
|
279 |
msgstr "Contribuisci a rendere \"%s\" migliore!"
|
280 |
|
281 |
+
#: includes/i18n.php:96
|
282 |
msgid "Error"
|
283 |
msgstr "Errore"
|
284 |
|
285 |
+
#: includes/i18n.php:97
|
286 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
287 |
msgstr "L'SDK di Freemius non è riuscito a trovare il file principale del plugin. Per favore contatta sdk@freemius.com riportando l'errore."
|
288 |
|
289 |
+
#: includes/i18n.php:100
|
290 |
msgctxt "as expiration date"
|
291 |
msgid "Expiration"
|
292 |
msgstr "Scadenza"
|
293 |
|
294 |
+
#: includes/i18n.php:101
|
295 |
msgctxt "as software license"
|
296 |
msgid "License"
|
297 |
msgstr "Licenza"
|
298 |
|
299 |
+
#: includes/i18n.php:102
|
300 |
msgid "not verified"
|
301 |
msgstr "non verificato"
|
302 |
|
303 |
+
#: includes/i18n.php:103
|
304 |
msgid "Verify Email"
|
305 |
msgstr "Verifica email"
|
306 |
|
307 |
+
#: includes/i18n.php:104
|
308 |
msgctxt "e.g. expires in 2 months"
|
309 |
msgid "Expires in %s"
|
310 |
msgstr "Scade in %s"
|
311 |
|
312 |
+
#: includes/i18n.php:105
|
313 |
msgctxt "e.g. auto renews in 2 months"
|
314 |
msgid "Auto renews in %s"
|
315 |
msgstr "Rinnovo automatico in %s"
|
316 |
|
317 |
+
#: includes/i18n.php:106
|
318 |
msgid "No expiration"
|
319 |
msgstr "Nessuna scadenza"
|
320 |
|
321 |
+
#: includes/i18n.php:107
|
322 |
msgid "Expired"
|
323 |
msgstr "Scaduto"
|
324 |
|
325 |
+
#: includes/i18n.php:108
|
326 |
msgid "Cancelled"
|
327 |
msgstr "Annullato"
|
328 |
|
329 |
+
#: includes/i18n.php:109
|
330 |
msgctxt "e.g. In 2 hours"
|
331 |
msgid "In %s"
|
332 |
msgstr "In %s"
|
333 |
|
334 |
+
#: includes/i18n.php:110
|
335 |
msgctxt "e.g. 2 min ago"
|
336 |
msgid "%s ago"
|
337 |
msgstr "%s fa"
|
338 |
|
339 |
+
#: includes/i18n.php:112
|
340 |
msgid "%s or higher"
|
341 |
msgstr "%s o superiore"
|
342 |
|
343 |
+
#: includes/i18n.php:113
|
344 |
msgctxt "as plugin version"
|
345 |
msgid "Version"
|
346 |
msgstr "Versione"
|
347 |
|
348 |
+
#: includes/i18n.php:114
|
349 |
msgid "Name"
|
350 |
msgstr "Nome"
|
351 |
|
352 |
+
#: includes/i18n.php:115
|
353 |
msgid "Email"
|
354 |
msgstr "Email"
|
355 |
|
356 |
+
#: includes/i18n.php:116
|
357 |
msgid "Email address"
|
358 |
msgstr "Indirizzo email"
|
359 |
|
360 |
+
#: includes/i18n.php:117
|
361 |
msgid "Verified"
|
362 |
msgstr "Verificato"
|
363 |
|
364 |
+
#: includes/i18n.php:118
|
365 |
msgid "Module"
|
366 |
msgstr "Modulo"
|
367 |
|
368 |
+
#: includes/i18n.php:119
|
369 |
msgid "Module Type"
|
370 |
msgstr "Tipo di modulo"
|
371 |
|
372 |
+
#: includes/i18n.php:120
|
373 |
msgid "Plugin"
|
374 |
msgstr "Plugin"
|
375 |
|
376 |
+
#: includes/i18n.php:121
|
377 |
msgid "Plugins"
|
378 |
msgstr "Plugin"
|
379 |
|
380 |
+
#: includes/i18n.php:122
|
381 |
msgid "Theme"
|
382 |
msgstr "Tema"
|
383 |
|
384 |
+
#: includes/i18n.php:123
|
385 |
msgid "Themes"
|
386 |
msgstr "Temi"
|
387 |
|
388 |
+
#: includes/i18n.php:124
|
389 |
msgctxt "as file/folder path"
|
390 |
msgid "Path"
|
391 |
msgstr "Percorso"
|
392 |
|
393 |
+
#: includes/i18n.php:125
|
394 |
msgid "Title"
|
395 |
msgstr "Titolo"
|
396 |
|
397 |
+
#: includes/i18n.php:126
|
398 |
msgid "Free version"
|
399 |
msgstr "Versione gratuita"
|
400 |
|
401 |
+
#: includes/i18n.php:127
|
402 |
msgid "Premium version"
|
403 |
msgstr "Versione premium"
|
404 |
|
405 |
+
#: includes/i18n.php:128
|
406 |
msgctxt "as WP plugin slug"
|
407 |
msgid "Slug"
|
408 |
msgstr "Slug"
|
409 |
|
410 |
+
#: includes/i18n.php:129
|
411 |
msgid "ID"
|
412 |
msgstr "ID"
|
413 |
|
414 |
+
#: includes/i18n.php:130
|
415 |
msgid "Users"
|
416 |
msgstr "Utenti"
|
417 |
|
418 |
+
#: includes/i18n.php:131
|
419 |
msgid "Plugin Installs"
|
420 |
msgstr "Installazioni Plugin"
|
421 |
|
422 |
+
#: includes/i18n.php:132
|
423 |
msgid "%s Installs"
|
424 |
msgstr "%s Installazioni"
|
425 |
|
426 |
+
#: includes/i18n.php:133
|
427 |
msgctxt "like websites"
|
428 |
msgid "Sites"
|
429 |
msgstr "Siti"
|
430 |
|
431 |
+
#: includes/i18n.php:134
|
432 |
msgid "User ID"
|
433 |
msgstr "ID utente"
|
434 |
|
435 |
+
#: includes/i18n.php:135
|
436 |
msgid "Site ID"
|
437 |
msgstr "ID del sito"
|
438 |
|
439 |
+
#: includes/i18n.php:136
|
440 |
msgid "Public Key"
|
441 |
msgstr "Chiave pubblica"
|
442 |
|
443 |
+
#: includes/i18n.php:137
|
444 |
msgid "Secret Key"
|
445 |
msgstr "Chiave segreta"
|
446 |
|
447 |
+
#: includes/i18n.php:138
|
448 |
msgctxt "as secret encryption key missing"
|
449 |
msgid "No Secret"
|
450 |
msgstr "Nessuna chiave"
|
451 |
|
452 |
+
#: includes/i18n.php:139
|
453 |
msgid "No ID"
|
454 |
msgstr "Nessun ID"
|
455 |
|
456 |
+
#: includes/i18n.php:140
|
457 |
msgctxt "as synchronize license"
|
458 |
msgid "Sync License"
|
459 |
msgstr "Sincronizza la licenza"
|
460 |
|
461 |
+
#: includes/i18n.php:141
|
462 |
msgctxt "as synchronize"
|
463 |
msgid "Sync"
|
464 |
msgstr "Sincronizza"
|
465 |
|
466 |
+
#: includes/i18n.php:142
|
467 |
msgid "Activate License"
|
468 |
msgstr "Attiva licenza"
|
469 |
|
470 |
+
#: includes/i18n.php:143
|
471 |
msgid "Activate Free Version"
|
472 |
msgstr "Attiva versione gratuita"
|
473 |
|
474 |
+
#: includes/i18n.php:144
|
475 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
476 |
msgstr "Per favore inserisci la chiave di licenza che hai ricevuto via mail subito dopo l'acquisto:"
|
477 |
|
478 |
+
#: includes/i18n.php:145
|
479 |
msgid "Activating license..."
|
480 |
msgstr "Sto attivando la licenza..."
|
481 |
|
482 |
+
#: includes/i18n.php:146
|
483 |
msgid "Change License"
|
484 |
msgstr "Cambia licenza"
|
485 |
|
486 |
+
#: includes/i18n.php:147
|
487 |
msgid "Update License"
|
488 |
msgstr "Aggiorna licenza"
|
489 |
|
490 |
+
#: includes/i18n.php:148
|
491 |
msgid "Deactivate License"
|
492 |
msgstr "Disattiva licenza"
|
493 |
|
494 |
+
#: includes/i18n.php:149
|
495 |
msgid "Activate"
|
496 |
msgstr "Attiva"
|
497 |
|
498 |
+
#: includes/i18n.php:150
|
499 |
msgid "Deactivate"
|
500 |
msgstr "Disattiva"
|
501 |
|
502 |
+
#: includes/i18n.php:151
|
503 |
msgid "Skip & Deactivate"
|
504 |
msgstr "Salta e disattiva"
|
505 |
|
506 |
+
#: includes/i18n.php:152
|
507 |
msgid "Skip & %s"
|
508 |
msgstr "Salta & %s"
|
509 |
|
510 |
+
#: includes/i18n.php:153
|
511 |
msgid "No - just deactivate"
|
512 |
msgstr "No - disattiva e basta"
|
513 |
|
514 |
+
#: includes/i18n.php:154
|
515 |
msgid "Yes - do your thing"
|
516 |
msgstr "Sì - fai pure"
|
517 |
|
518 |
+
#: includes/i18n.php:155
|
519 |
msgctxt "active mode"
|
520 |
msgid "Active"
|
521 |
msgstr "Attiva"
|
522 |
|
523 |
+
#: includes/i18n.php:156
|
524 |
msgctxt "is active mode?"
|
525 |
msgid "Is Active"
|
526 |
msgstr "è attiva"
|
527 |
|
528 |
+
#: includes/i18n.php:157
|
529 |
msgid "Install Now"
|
530 |
msgstr "Installa ora"
|
531 |
|
532 |
+
#: includes/i18n.php:158
|
533 |
msgid "Install Update Now"
|
534 |
msgstr "Installa l'aggiornamento ora"
|
535 |
|
536 |
+
#: includes/i18n.php:159
|
537 |
msgid "More information about %s"
|
538 |
msgstr "Ulteriori informazioni su %s"
|
539 |
|
540 |
+
#: includes/i18n.php:160
|
541 |
msgid "Localhost"
|
542 |
msgstr "Localhost"
|
543 |
|
544 |
+
#: includes/i18n.php:161
|
545 |
msgctxt "as activate Professional plan"
|
546 |
msgid "Activate %s Plan"
|
547 |
msgstr "Attivare il piano %s"
|
548 |
|
549 |
+
#: includes/i18n.php:162
|
550 |
msgctxt "as 5 licenses left"
|
551 |
msgid "%s left"
|
552 |
msgstr "%s rimanenti"
|
553 |
|
554 |
+
#: includes/i18n.php:163
|
555 |
msgid "Last license"
|
556 |
msgstr "Ultima licenza"
|
557 |
|
558 |
+
#: includes/i18n.php:164
|
559 |
msgid "What is your %s?"
|
560 |
msgstr "Qual è il tuo %s?"
|
561 |
|
562 |
+
#: includes/i18n.php:165
|
563 |
msgid "Activate this add-on"
|
564 |
msgstr "Attivare questo addon"
|
565 |
|
566 |
+
#: includes/i18n.php:166
|
567 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
568 |
msgstr "La disattivazione della licenza bloccherà tutte le funzionalità premium, ma vi permetterà di attivare la licenza su un altro sito. Sei sicuro di voler procedere?"
|
569 |
|
570 |
+
#: includes/i18n.php:167
|
571 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
572 |
msgstr "L'eliminazione dell'account disattiva automaticamente la tua licenza del piano %s quindi è possibile utilizzarlo su altri siti. Se si desidera anche terminare i pagamenti ricorrenti, fare clic sul pulsante \"Annulla\" ed effettuare il \"Downgrade\" del tuo account. Sei sicuro di voler continuare con l'eliminazione?"
|
573 |
|
574 |
+
#: includes/i18n.php:168
|
575 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
576 |
msgstr "L'eliminazione non è temporanea. Cancella solo se non si desidera più utilizzare questo plugin. Sei sicuro di voler continuare con l'eliminazione?"
|
577 |
|
578 |
+
#: includes/i18n.php:169
|
579 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
580 |
msgstr "Effettuare il downgrade del piano interromperà immediatamente tutti i futuri pagamenti ricorrenti e la licenza del piano %s scadrà in %s."
|
581 |
|
582 |
+
#: includes/i18n.php:170
|
583 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
584 |
msgstr "Cancellando il periodo di prova gratuito bloccherai immediatamente l'accesso a tutte le funzionalità premium. Vuoi continuare?"
|
585 |
|
586 |
+
#: includes/i18n.php:171
|
587 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
588 |
msgstr "Puoi ancora sfruttare tutte le funzionalità di %s, ma non avrai accesso al supporto ed agli aggiornamenti del plugin."
|
589 |
|
590 |
+
#: includes/i18n.php:172
|
591 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
592 |
msgstr "Quando la tua licenza scadrà, potrai comunque continuare a usare la versione gratuita, ma NON avrai accesso alle funzionalità %s."
|
593 |
|
594 |
+
#: includes/i18n.php:173
|
595 |
msgid "Are you sure you want to proceed?"
|
596 |
msgstr "Sei sicuro di voler procedere?"
|
597 |
|
598 |
+
#: includes/i18n.php:176
|
599 |
msgid "Add Ons for %s"
|
600 |
msgstr "Add-on per %s"
|
601 |
|
602 |
+
#: includes/i18n.php:177
|
603 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
604 |
msgstr "Non siamo riusciti a caricare la lista degli add-on. Si tratta probabilmente di un problema nel nostro sistema, per favore riprova tra qualche minuto."
|
605 |
|
606 |
+
#: includes/i18n.php:179
|
607 |
msgid "Anonymous feedback"
|
608 |
msgstr "Feedback anonimo"
|
609 |
|
610 |
+
#: includes/i18n.php:180
|
611 |
msgid "Quick feedback"
|
612 |
msgstr "Feedback veloce"
|
613 |
|
614 |
+
#: includes/i18n.php:181
|
615 |
msgid "If you have a moment, please let us know why you are deactivating"
|
616 |
msgstr "Se hai un momento, potresti dirci perché lo hai disattivato?"
|
617 |
|
618 |
+
#: includes/i18n.php:182
|
619 |
msgid "Yes - Deactivate"
|
620 |
msgstr "Si - Disattiva"
|
621 |
|
622 |
+
#: includes/i18n.php:183
|
623 |
msgid "Submit & Deactivate"
|
624 |
msgstr "Invia & Disattiva"
|
625 |
|
626 |
+
#: includes/i18n.php:184
|
627 |
msgid "Cancel"
|
628 |
msgstr "Annulla"
|
629 |
|
630 |
+
#: includes/i18n.php:185
|
631 |
msgid "I no longer need the plugin"
|
632 |
msgstr "Non ho piú bisogno di questo plugin"
|
633 |
|
634 |
+
#: includes/i18n.php:186
|
635 |
msgid "I found a better plugin"
|
636 |
msgstr "Ho trovato un plugin migliore"
|
637 |
|
638 |
+
#: includes/i18n.php:187
|
639 |
msgid "I only needed the plugin for a short period"
|
640 |
msgstr "Avevo bisogno del plugin solo per un breve periodo"
|
641 |
|
642 |
+
#: includes/i18n.php:188
|
643 |
msgid "The plugin broke my site"
|
644 |
msgstr "Il plugin ha causato problemi al mio sito"
|
645 |
|
646 |
+
#: includes/i18n.php:189
|
647 |
msgid "The plugin suddenly stopped working"
|
648 |
msgstr "Il plugin ha smesso di funzionare"
|
649 |
|
650 |
+
#: includes/i18n.php:190
|
651 |
msgid "I can't pay for it anymore"
|
652 |
msgstr "Non posso piú pagarlo"
|
653 |
|
654 |
+
#: includes/i18n.php:191
|
655 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
656 |
msgstr "È una disattivazione temporanea. Sto solo cercando di risolvere un problema."
|
657 |
|
658 |
+
#: includes/i18n.php:192
|
659 |
msgctxt ""
|
|
|
|
|
660 |
msgid "Other"
|
661 |
msgstr "Altro"
|
662 |
|
663 |
+
#: includes/i18n.php:194
|
664 |
msgid "Kindly tell us the reason so we can improve."
|
665 |
msgstr "Spiegandoci il motivo ci aiuterai a migliorare."
|
666 |
|
667 |
+
#: includes/i18n.php:195
|
668 |
msgid "What's the plugin's name?"
|
669 |
msgstr "Qual è il nome del plugin?"
|
670 |
|
671 |
+
#: includes/i18n.php:196
|
672 |
msgid "What price would you feel comfortable paying?"
|
673 |
msgstr "Che prezzo ritieni opportuno pagare?"
|
674 |
|
675 |
+
#: includes/i18n.php:197
|
676 |
msgid "I couldn't understand how to make it work"
|
677 |
msgstr "Non capisco come farlo funzionare"
|
678 |
|
679 |
+
#: includes/i18n.php:198
|
680 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
|
|
681 |
msgstr "Il plugin é ottimo ma ho bisogno di una funzionalitá specifica che non é supportata"
|
682 |
|
683 |
+
#: includes/i18n.php:199
|
684 |
msgid "The plugin is not working"
|
685 |
msgstr "Il plugin non funziona"
|
686 |
|
687 |
+
#: includes/i18n.php:200
|
688 |
msgid "It's not what I was looking for"
|
689 |
msgstr "Non é quello che stavo cercando"
|
690 |
|
691 |
+
#: includes/i18n.php:201
|
692 |
msgid "The plugin didn't work as expected"
|
693 |
msgstr "Il plugin non funziona come mi aspettavo"
|
694 |
|
695 |
+
#: includes/i18n.php:202
|
696 |
msgid "What feature?"
|
697 |
msgstr "Quale funzionalitá?"
|
698 |
|
699 |
+
#: includes/i18n.php:203
|
700 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
701 |
msgstr "Condividi cosa non ha funzionato in modo da migliorare il prodotto per gli utenti futuri..."
|
702 |
|
703 |
+
#: includes/i18n.php:204
|
704 |
msgid "What you've been looking for?"
|
705 |
msgstr "Che cosa stai cercando?"
|
706 |
|
707 |
+
#: includes/i18n.php:205
|
708 |
msgid "What did you expect?"
|
709 |
msgstr "Che cosa ti aspettavi?"
|
710 |
|
711 |
+
#: includes/i18n.php:206
|
712 |
msgid "The plugin didn't work"
|
713 |
msgstr "Il plugin non funziona"
|
714 |
|
715 |
+
#: includes/i18n.php:207
|
716 |
msgid "I don't like to share my information with you"
|
717 |
msgstr "Non voglio condividere i miei dati con te"
|
718 |
|
719 |
+
#: includes/i18n.php:208
|
720 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
721 |
msgstr "Potresti non averci fatto caso, ma non sei obbligato a condividere i tuoi dati e puoi semplicemente %s la tua partecipazione."
|
722 |
|
723 |
+
#: includes/i18n.php:212
|
724 |
msgctxt "greeting"
|
725 |
msgid "Hey %s,"
|
726 |
msgstr "Hey %s,"
|
727 |
|
728 |
+
#: includes/i18n.php:213
|
729 |
msgctxt "a greeting. E.g. Thanks John!"
|
730 |
msgid "Thanks %s!"
|
731 |
msgstr "Grazie %s!"
|
732 |
|
733 |
+
#: includes/i18n.php:214
|
734 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
735 |
msgstr "Non perdere nessun aggiornamento importante - iscriviti per ricevere notifiche su aggiornamenti relativi alla sicurezza e nuove versioni, oltre al tracciamento di diagnostica non sensibile con %4$s."
|
736 |
|
737 |
+
#: includes/i18n.php:215
|
738 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
739 |
msgstr "Aiutaci a migliorare %1$s! Se ti iscrivi, alcuni dati riguardanti il tuo utilizzo di %1$s verranno inviati a %4$s. Se salti questo passaggio, non c'è problema! %1$s funzionerà ugualmente."
|
740 |
|
741 |
+
#: includes/i18n.php:216
|
742 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
743 |
msgstr "Dovresti ricevere un'email di attivazione di %s all'indirizzo %s. Assicurati di fare clic sul pulsante di attivazione nell'email per %s."
|
744 |
|
745 |
+
#: includes/i18n.php:217
|
746 |
msgid "complete the install"
|
747 |
msgstr "completa l'installazione"
|
748 |
|
749 |
+
#: includes/i18n.php:218
|
750 |
msgid "start the trial"
|
751 |
msgstr "Inizia il periodo di prova gratuito"
|
752 |
|
753 |
+
#: includes/i18n.php:219
|
754 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
755 |
msgstr "Grazie per aver acquistato %s! Per iniziare, per favore inserisci la tua chiave di licenza:"
|
756 |
|
757 |
+
#: includes/i18n.php:220
|
758 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
759 |
msgstr "Il plugin invierà dati periodicamente a %s per controllare l'esistenza di aggiornamenti e verificare la validità della tua licenza."
|
760 |
|
761 |
+
#: includes/i18n.php:221
|
762 |
msgid "What permissions are being granted?"
|
763 |
msgstr "Quali autorizzazioni vengono concesse?"
|
764 |
|
765 |
+
#: includes/i18n.php:222
|
766 |
msgid "Your Profile Overview"
|
767 |
msgstr "Panoramica del tuo profilo"
|
768 |
|
769 |
+
#: includes/i18n.php:223
|
770 |
msgid "Name and email address"
|
771 |
msgstr "Nome ed indirizzo email"
|
772 |
|
773 |
+
#: includes/i18n.php:224
|
774 |
msgid "Your Site Overview"
|
775 |
msgstr "Panoramica del tuo sito"
|
776 |
|
777 |
+
#: includes/i18n.php:225
|
778 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
779 |
msgstr "URL del sito, versione di WP, informazioni PHP, plugin e temi"
|
780 |
|
781 |
+
#: includes/i18n.php:226
|
782 |
msgid "Current Plugin Events"
|
783 |
msgstr "Eventi correnti del plugin"
|
784 |
|
785 |
+
#: includes/i18n.php:227
|
786 |
msgid "Activation, deactivation and uninstall"
|
787 |
msgstr "Attiva, disattivazione e disinstallazione"
|
788 |
|
789 |
+
#: includes/i18n.php:228
|
790 |
msgid "Plugins & Themes"
|
791 |
msgstr "Plugin e temi"
|
792 |
|
793 |
+
#: includes/i18n.php:229
|
794 |
msgid "Titles, versions and state."
|
795 |
msgstr "Titoli, versioni e stato."
|
796 |
|
797 |
+
#: includes/i18n.php:230
|
798 |
msgid "Admin Notices"
|
799 |
msgstr "Avvisi amministratore"
|
800 |
|
801 |
+
#: includes/i18n.php:231
|
802 |
msgid "Newsletter"
|
803 |
msgstr "Newsletter"
|
804 |
|
805 |
+
#: includes/i18n.php:232
|
806 |
msgid "Updates, announcements, marketing, no spam"
|
807 |
msgstr "Aggiornamenti, annunci, marketing, no spam"
|
808 |
|
809 |
+
#: includes/i18n.php:233
|
810 |
msgid "Privacy Policy"
|
811 |
msgstr "Politica sulla privacy"
|
812 |
|
813 |
+
#: includes/i18n.php:234
|
814 |
msgid "Terms of Service"
|
815 |
msgstr "Termini del Servizio"
|
816 |
|
817 |
+
#: includes/i18n.php:235
|
818 |
msgctxt "as activating plugin"
|
819 |
msgid "Activating"
|
820 |
msgstr "Attivazione"
|
821 |
|
822 |
+
#: includes/i18n.php:236
|
823 |
msgctxt "as in the process of sending an email"
|
824 |
msgid "Sending email"
|
825 |
msgstr "Invio email"
|
826 |
|
827 |
+
#: includes/i18n.php:237
|
828 |
msgctxt "button label"
|
829 |
msgid "Allow & Continue"
|
830 |
msgstr "Consenti & Continua"
|
831 |
|
832 |
+
#: includes/i18n.php:238
|
833 |
msgctxt "button label"
|
834 |
msgid "Agree & Activate License"
|
835 |
msgstr "Accetta e attiva la licenza"
|
836 |
|
837 |
+
#: includes/i18n.php:239
|
838 |
msgctxt "verb"
|
839 |
msgid "Skip"
|
840 |
msgstr "Salta"
|
841 |
|
842 |
+
#: includes/i18n.php:240
|
843 |
msgid "Click here to use the plugin anonymously"
|
844 |
msgstr "Fai clic qui per usare il plugin anonimamente"
|
845 |
|
846 |
+
#: includes/i18n.php:241
|
847 |
msgid "Re-send activation email"
|
848 |
msgstr "Invia nuovamente l'email di attivazione"
|
849 |
|
850 |
+
#: includes/i18n.php:242
|
851 |
msgid "License key"
|
852 |
msgstr "Chiave di licenza"
|
853 |
|
854 |
+
#: includes/i18n.php:243
|
855 |
msgid "Send License Key"
|
856 |
msgstr "Invia chiave di licenza"
|
857 |
|
858 |
+
#: includes/i18n.php:244
|
859 |
msgid "Sending license key"
|
860 |
msgstr "Invio chiave di licenza"
|
861 |
|
862 |
+
#: includes/i18n.php:245
|
863 |
msgid "Have a license key?"
|
864 |
msgstr "Hai una chiave di licenza?"
|
865 |
|
866 |
+
#: includes/i18n.php:246
|
867 |
msgid "Don't have a license key?"
|
868 |
msgstr "Non hai una chiave di licenza?"
|
869 |
|
870 |
+
#: includes/i18n.php:247
|
871 |
msgid "Can't find your license key?"
|
872 |
msgstr "Non trovi la tua chiave di licenza?"
|
873 |
|
874 |
+
#: includes/i18n.php:248
|
875 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
876 |
msgstr "Non siamo riusciti a trovare il tuo indirizzo email nel sistema, sei sicuro che sia l'indirizzo giusto?"
|
877 |
|
878 |
+
#: includes/i18n.php:249
|
879 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
880 |
msgstr "Non siamo riusciti a trovare alcuna licenza attiva associata al tuo indirizzo email, sei sicuro che sia l'indirizzo giusto?"
|
881 |
|
882 |
+
#: includes/i18n.php:250
|
883 |
msgid "Opt In"
|
884 |
msgstr "Iscriviti"
|
885 |
|
886 |
+
#: includes/i18n.php:251
|
887 |
msgid "Opt Out"
|
888 |
msgstr "Cancella iscrizione"
|
889 |
|
890 |
+
#: includes/i18n.php:252
|
891 |
msgid "On second thought - I want to continue helping"
|
892 |
msgstr "Ci ho ripensato, voglio continuare a fornire il mio aiuto"
|
893 |
|
894 |
+
#: includes/i18n.php:253
|
895 |
msgid "Opting out..."
|
896 |
msgstr "Cancellamento dell'iscrizione..."
|
897 |
|
898 |
+
#: includes/i18n.php:254
|
899 |
msgid "Opting in..."
|
900 |
msgstr "Iscrizione in corso..."
|
901 |
|
902 |
+
#: includes/i18n.php:255
|
903 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
904 |
msgstr "Ti ringraziamo per averci concesso di tracciare alcuni dati di utilizzo al fine di migliorare %s"
|
905 |
|
906 |
+
#: includes/i18n.php:256
|
907 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
908 |
msgstr "Tracciamo l'utilizzo esclusivamente per rendere %s migliore, creando una migliore esperienza utente e dando priorità a nuove funzionalità, oltre a molte altre buone cose. Saremmo veramente felici di vederti cambiare idea e lasciarci continuare con il tracciamento."
|
909 |
|
910 |
+
#: includes/i18n.php:257
|
911 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
|
|
|
|
912 |
msgstr "Cliccando su \"Cancella iscrizione\", non invieremo più nessuna informazione da %s a %s."
|
913 |
|
914 |
+
#: includes/i18n.php:261
|
915 |
msgid "Screenshots"
|
916 |
msgstr "Screenshots"
|
917 |
|
918 |
+
#: includes/i18n.php:262
|
919 |
msgid "Click to view full-size screenshot %d"
|
920 |
msgstr "Fare clic per visualizzare lo screenshot in grandi dimensioni %d"
|
921 |
|
922 |
+
#: includes/i18n.php:266
|
923 |
msgid "Freemius Debug"
|
924 |
msgstr "Debug Freemius"
|
925 |
|
926 |
+
#: includes/i18n.php:267
|
927 |
msgctxt "as turned on"
|
928 |
msgid "On"
|
929 |
msgstr "Attivo"
|
930 |
|
931 |
+
#: includes/i18n.php:268
|
932 |
msgctxt "as turned off"
|
933 |
msgid "Off"
|
934 |
msgstr "Non attivo"
|
935 |
|
936 |
+
#: includes/i18n.php:269
|
937 |
msgctxt "as code debugging"
|
938 |
msgid "Debugging"
|
939 |
msgstr "Debugging"
|
940 |
|
941 |
+
#: includes/i18n.php:270
|
942 |
msgid "Freemius State"
|
943 |
msgstr "Stato di Freemius"
|
944 |
|
945 |
+
#: includes/i18n.php:271
|
946 |
msgctxt "as connection was successful"
|
947 |
msgid "Connected"
|
948 |
msgstr "Connesso"
|
949 |
|
950 |
+
#: includes/i18n.php:272
|
951 |
msgctxt "as connection blocked"
|
952 |
msgid "Blocked"
|
953 |
msgstr "Bloccato"
|
954 |
|
955 |
+
#: includes/i18n.php:273
|
956 |
msgctxt "as application program interface"
|
957 |
msgid "API"
|
958 |
msgstr "API"
|
959 |
|
960 |
+
#: includes/i18n.php:274
|
961 |
msgctxt "as software development kit versions"
|
962 |
msgid "SDK"
|
963 |
msgstr "SDK"
|
964 |
|
965 |
+
#: includes/i18n.php:275
|
966 |
msgctxt "as software development kit versions"
|
967 |
msgid "SDK Versions"
|
968 |
msgstr "Versioni SDK"
|
969 |
|
970 |
+
#: includes/i18n.php:276
|
971 |
msgctxt "as plugin folder path"
|
972 |
msgid "Plugin Path"
|
973 |
msgstr "Percorso del plugin"
|
974 |
|
975 |
+
#: includes/i18n.php:277
|
976 |
msgctxt "as sdk path"
|
977 |
msgid "SDK Path"
|
978 |
msgstr "Percorso SDK"
|
979 |
|
980 |
+
#: includes/i18n.php:278
|
981 |
msgid "Add Ons of Plugin %s"
|
982 |
msgstr "Add-on del Plugin %s"
|
983 |
|
984 |
+
#: includes/i18n.php:279
|
985 |
msgid "Are you sure you want to delete all Freemius data?"
|
986 |
msgstr "Sei sicuro di voler eliminare tutti i dati di Freemius?"
|
987 |
|
988 |
+
#: includes/i18n.php:280
|
989 |
msgid "Actions"
|
990 |
msgstr "Azioni"
|
991 |
|
992 |
+
#: includes/i18n.php:281
|
993 |
msgid "Delete All Accounts"
|
994 |
msgstr "Eliminare tutti gli account"
|
995 |
|
996 |
+
#: includes/i18n.php:282
|
997 |
msgid "Start Fresh"
|
998 |
msgstr "Inizia da capo"
|
999 |
|
1000 |
+
#: includes/i18n.php:283
|
1001 |
msgid "Clear API Cache"
|
1002 |
msgstr "Elimina cache API"
|
1003 |
|
1004 |
+
#: includes/i18n.php:284
|
1005 |
msgid "Sync Data From Server"
|
1006 |
msgstr "Sincronizza i dati dal server"
|
1007 |
|
1008 |
+
#: includes/i18n.php:285
|
1009 |
msgid "Scheduled Crons"
|
1010 |
msgstr "Azioni programmate"
|
1011 |
|
1012 |
+
#: includes/i18n.php:286
|
1013 |
msgid "Cron Type"
|
1014 |
msgstr "Tipo di Cron"
|
1015 |
|
1016 |
+
#: includes/i18n.php:287
|
1017 |
msgid "Plugins & Themes Sync"
|
1018 |
msgstr "Sincronizzazione plugin e temi"
|
1019 |
|
1020 |
+
#: includes/i18n.php:288
|
1021 |
msgid "Licenses"
|
1022 |
msgstr "Licenze"
|
1023 |
|
1024 |
+
#: includes/i18n.php:289
|
1025 |
msgid "Debug Log"
|
1026 |
msgstr "Debug Log"
|
1027 |
|
1028 |
+
#: includes/i18n.php:290
|
1029 |
msgid "All"
|
1030 |
msgstr "Tutto"
|
1031 |
|
1032 |
+
#: includes/i18n.php:291
|
1033 |
msgid "File"
|
1034 |
msgstr "File"
|
1035 |
|
1036 |
+
#: includes/i18n.php:292
|
1037 |
msgid "Function"
|
1038 |
msgstr "Funzione"
|
1039 |
|
1040 |
+
#: includes/i18n.php:293
|
1041 |
msgid "Process ID"
|
1042 |
msgstr "ID processo"
|
1043 |
|
1044 |
+
#: includes/i18n.php:294
|
1045 |
msgid "Logger"
|
1046 |
msgstr "Logger"
|
1047 |
|
1048 |
+
#: includes/i18n.php:295
|
1049 |
msgid "Message"
|
1050 |
msgstr "Messaggio"
|
1051 |
|
1052 |
+
#: includes/i18n.php:296
|
1053 |
msgid "Download"
|
1054 |
msgstr "Download"
|
1055 |
|
1056 |
+
#: includes/i18n.php:297
|
1057 |
msgid "Filter"
|
1058 |
msgstr "Filtro"
|
1059 |
|
1060 |
+
#: includes/i18n.php:298
|
1061 |
msgid "Type"
|
1062 |
msgstr "Tipo"
|
1063 |
|
1064 |
+
#: includes/i18n.php:299
|
1065 |
msgid "All Types"
|
1066 |
msgstr "Tutti i tipi"
|
1067 |
|
1068 |
+
#: includes/i18n.php:300
|
1069 |
msgid "All Requests"
|
1070 |
msgstr "Tutte le richieste"
|
1071 |
|
1072 |
+
#: includes/i18n.php:304
|
1073 |
msgctxt "as congratulations"
|
1074 |
msgid "Congrats"
|
1075 |
msgstr "Congratulazioni"
|
1076 |
|
1077 |
+
#: includes/i18n.php:305
|
1078 |
msgctxt "exclamation"
|
1079 |
msgid "Oops"
|
1080 |
msgstr "Ops"
|
1081 |
|
1082 |
+
#: includes/i18n.php:306
|
1083 |
msgctxt "interjection expressing joy or exuberance"
|
1084 |
msgid "Yee-haw"
|
1085 |
msgstr "Evvai"
|
1086 |
|
1087 |
+
#: includes/i18n.php:307
|
1088 |
msgctxt ""
|
|
|
|
|
1089 |
msgid "W00t"
|
1090 |
msgstr "Forte"
|
1091 |
|
1092 |
+
#: includes/i18n.php:309
|
1093 |
msgctxt "a positive response"
|
1094 |
msgid "Right on"
|
1095 |
msgstr "Sì"
|
1096 |
|
1097 |
+
#: includes/i18n.php:310
|
1098 |
msgctxt ""
|
|
|
|
|
1099 |
msgid "Hmm"
|
1100 |
msgstr "Uhm"
|
1101 |
|
1102 |
+
#: includes/i18n.php:312
|
1103 |
msgid "O.K"
|
1104 |
msgstr "OK"
|
1105 |
|
1106 |
+
#: includes/i18n.php:313
|
1107 |
msgctxt "exclamation"
|
1108 |
msgid "Hey"
|
1109 |
msgstr "Hey"
|
1110 |
|
1111 |
+
#: includes/i18n.php:314
|
1112 |
msgctxt "advance notice of something that will need attention."
|
1113 |
msgid "Heads up"
|
1114 |
msgstr "Attenzione"
|
1115 |
|
1116 |
+
#: includes/i18n.php:319
|
1117 |
msgid "Seems like you got the latest release."
|
1118 |
msgstr "Sembra che tu abbia la versione più recente."
|
1119 |
|
1120 |
+
#: includes/i18n.php:320
|
1121 |
msgid "You are all good!"
|
1122 |
msgstr "Sei fantastico!"
|
1123 |
|
1124 |
+
#: includes/i18n.php:321
|
1125 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1126 |
msgstr "Siamo spiacenti, non siamo riusciti a completare l'aggiornamento via email. Un altro utente con lo stesso indirizzo email è già registrato."
|
1127 |
|
1128 |
+
#: includes/i18n.php:322
|
1129 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1130 |
msgstr "Se vuoi cedere la proprietá dell'account del plugin a %s clicca su Cambia Proprietà."
|
1131 |
|
1132 |
+
#: includes/i18n.php:323
|
1133 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1134 |
msgstr "Il tuo indirizzo email è stato aggiornato correttamente. Riceverai un'email con le istruzioni di conferma in pochi istanti."
|
1135 |
|
1136 |
+
#: includes/i18n.php:324
|
1137 |
msgid "Your name was successfully updated."
|
1138 |
msgstr "Il tuo nome è stato aggiornato correttamente."
|
1139 |
|
1140 |
+
#: includes/i18n.php:325
|
1141 |
msgid "You have successfully updated your %s."
|
1142 |
msgstr "Hai aggiornato con successo il tuo %s."
|
1143 |
|
1144 |
+
#: includes/i18n.php:326
|
1145 |
msgid "Please provide your full name."
|
1146 |
msgstr "Per favore inserisci il tuo nome completo."
|
1147 |
|
1148 |
+
#: includes/i18n.php:327
|
1149 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1150 |
msgstr "L'email di verifica è stata inviata a %s. Se dopo 5 minuti non è ancora arrivata, per favore controlla nella tua casella di posta indesiderata."
|
1151 |
|
1152 |
+
#: includes/i18n.php:328
|
1153 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1154 |
msgstr "Le informazioni sugli add-on di %s vengono scaricate da un server esterno."
|
1155 |
|
1156 |
+
#: includes/i18n.php:329
|
1157 |
msgid "No credit card required"
|
1158 |
msgstr "Nessuna carta di credito richiesta"
|
1159 |
|
1160 |
+
#: includes/i18n.php:330
|
1161 |
msgid "Premium plugin version was successfully activated."
|
1162 |
msgstr "La versione Premium del plugin è stata attivata correttamente."
|
1163 |
|
1164 |
+
#: includes/i18n.php:331
|
1165 |
msgid "The upgrade of %s was successfully completed."
|
1166 |
msgstr "L'aggiornamento di %s è stato completato con successo."
|
1167 |
|
1168 |
+
#: includes/i18n.php:332
|
1169 |
msgid "Your account was successfully activated with the %s plan."
|
1170 |
msgstr "Il tuo account è stato attivato correttamente con il piano %s."
|
1171 |
|
1172 |
+
#: includes/i18n.php:333
|
1173 |
msgid "Download the latest %s version now"
|
1174 |
msgstr "Scarica l'ultima versione di %s"
|
1175 |
|
1176 |
+
#: includes/i18n.php:334
|
1177 |
msgid "Please follow these steps to complete the upgrade"
|
1178 |
msgstr "Segui i passi seguenti per completare l'aggiornamento"
|
1179 |
|
1180 |
+
#: includes/i18n.php:335
|
1181 |
msgid "Download the latest %s version"
|
1182 |
msgstr "Scarica l'ultima versione di %s"
|
1183 |
|
1184 |
+
#: includes/i18n.php:336
|
1185 |
msgid "Download the latest version"
|
1186 |
msgstr "Scarica l'ultima versione"
|
1187 |
|
1188 |
+
#: includes/i18n.php:337
|
1189 |
msgid "Deactivate the free version"
|
1190 |
msgstr "Disattiva la versione gratuita"
|
1191 |
|
1192 |
+
#: includes/i18n.php:338
|
1193 |
msgid "Upload and activate the downloaded version"
|
1194 |
msgstr "Carica e attiva la versione scaricata"
|
1195 |
|
1196 |
+
#: includes/i18n.php:339
|
1197 |
msgid "How to upload and activate?"
|
1198 |
msgstr "Come faccio a caricare ed attivare?"
|
1199 |
|
1200 |
+
#: includes/i18n.php:340
|
1201 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1202 |
msgid "%s Add-on was successfully purchased."
|
1203 |
msgstr "L' add-on %s è stato acquistato con successo."
|
1204 |
|
1205 |
+
#: includes/i18n.php:342
|
1206 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1207 |
msgstr "Il piano del tuo add-on %s è stato aggiornato con successo."
|
1208 |
|
1209 |
+
#: includes/i18n.php:343
|
1210 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1211 |
msgstr "Il tuo indirizzo email è stato verificato con successo - SEI UN GRANDE!"
|
1212 |
|
1213 |
+
#: includes/i18n.php:344
|
1214 |
msgid "Your plan was successfully upgraded."
|
1215 |
msgstr "Il piano è stato aggiornato con successo."
|
1216 |
|
1217 |
+
#: includes/i18n.php:345
|
1218 |
msgid "Your plan was successfully changed to %s."
|
1219 |
msgstr "Il piano è stato cambiato con successo a %s."
|
1220 |
|
1221 |
+
#: includes/i18n.php:346
|
1222 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
|
|
|
|
1223 |
msgstr "La licenza è scaduta. È comunque possibile continuare ad utilizzare il plugin gratuito per sempre."
|
1224 |
|
1225 |
+
#: includes/i18n.php:347
|
1226 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
|
|
|
|
1227 |
msgstr "La tua licenza è stata cancellata. Se credi sia un errore, per favore contatta il supporto."
|
1228 |
|
1229 |
+
#: includes/i18n.php:348
|
1230 |
msgid "Your trial has been successfully started."
|
1231 |
msgstr "La versione di prova è stata avviata correttamente."
|
1232 |
|
1233 |
+
#: includes/i18n.php:349
|
1234 |
msgid "Your license was successfully activated."
|
1235 |
msgstr "La tua licenza è stata attivata correttamente."
|
1236 |
|
1237 |
+
#: includes/i18n.php:350
|
1238 |
msgid "It looks like your site currently doesn't have an active license."
|
1239 |
msgstr "Sembra che il tuo sito non disponga di alcuna licenza attiva."
|
1240 |
|
1241 |
+
#: includes/i18n.php:351
|
1242 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
|
|
1243 |
msgstr "La tua licenza é stata disattivata con successo, sei tornato al piano %s."
|
1244 |
|
1245 |
+
#: includes/i18n.php:352
|
1246 |
msgid "It looks like the license deactivation failed."
|
1247 |
msgstr "Sembra che la disattivazione della licenza non sia riuscita."
|
1248 |
|
1249 |
+
#: includes/i18n.php:353
|
1250 |
msgid "It looks like the license could not be activated."
|
1251 |
msgstr "Sembra che la licenza non possa essere attivata."
|
1252 |
|
1253 |
+
#: includes/i18n.php:354
|
1254 |
msgid "Error received from the server:"
|
1255 |
msgstr "Errore ricevuto dal server:"
|
1256 |
|
1257 |
+
#: includes/i18n.php:355
|
1258 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1259 |
msgstr "La versione di prova è scaduta. Si può comunque continuare a utilizzare tutte le nostre funzioni gratuite."
|
1260 |
|
1261 |
+
#: includes/i18n.php:356
|
1262 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
|
|
|
|
1263 |
msgstr "Il tuo piano è stato declassato con successo. La licenza del piano %s scadrà in %s."
|
1264 |
|
1265 |
+
#: includes/i18n.php:357
|
1266 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1267 |
msgstr "Stiamo avendo qualche problema temporaneo con il downgrade del piano. Riprova tra qualche minuto."
|
1268 |
|
1269 |
+
#: includes/i18n.php:358
|
1270 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1271 |
msgstr "Sembra che tu non stia più usando la prova gratuita, quindi non c'è niente che tu debba annullare :)"
|
1272 |
|
1273 |
+
#: includes/i18n.php:359
|
1274 |
msgid "Your %s free trial was successfully cancelled."
|
1275 |
msgstr "Il tuo periodo di prova gratuito %s è stato annullato con successo."
|
1276 |
|
1277 |
+
#: includes/i18n.php:360
|
1278 |
msgctxt "%s - numeric version number"
|
1279 |
msgid "Version %s was released."
|
1280 |
msgstr "La versione %s é stata rilasciata."
|
1281 |
|
1282 |
+
#: includes/i18n.php:361
|
1283 |
msgid "Please download %s."
|
1284 |
msgstr "Scarica %s."
|
1285 |
|
1286 |
+
#: includes/i18n.php:362
|
1287 |
msgctxt "%s - plan name, as the latest professional version here"
|
1288 |
msgid "the latest %s version here"
|
1289 |
msgstr "l'ultima versione %s é quì"
|
1290 |
|
1291 |
+
#: includes/i18n.php:364
|
1292 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1293 |
msgstr "Come sta andando con %s? Prova tutte le funzionalità premium di %s con una prova gratuita di %d giorni."
|
1294 |
|
1295 |
+
#: includes/i18n.php:365
|
1296 |
msgctxt "call to action"
|
1297 |
msgid "Start free trial"
|
1298 |
msgstr "Inizia il periodo di prova gratuito"
|
1299 |
|
1300 |
+
#: includes/i18n.php:366
|
1301 |
msgid "Starting trial"
|
1302 |
msgstr "Inizio del periodo di prova gratuito"
|
1303 |
|
1304 |
+
#: includes/i18n.php:367
|
1305 |
msgid "Please wait"
|
1306 |
msgstr "Attendere"
|
1307 |
|
1308 |
+
#: includes/i18n.php:368
|
1309 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1310 |
msgstr "Stiamo avendo qualche problema temporaneo con l'annullamento del periodo di prova. Riprova tra qualche minuto."
|
1311 |
|
1312 |
+
#: includes/i18n.php:369
|
1313 |
msgid "You already utilized a trial before."
|
1314 |
msgstr "Hai già utilizzato una prova gratuita in passato."
|
1315 |
|
1316 |
+
#: includes/i18n.php:370
|
1317 |
msgid "You are already running the plugin in a trial mode."
|
1318 |
msgstr "Stai già usando il plugin in modalità di prova gratuita."
|
1319 |
|
1320 |
+
#: includes/i18n.php:371
|
1321 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1322 |
msgstr "Il piano %s non esiste, per questo motivo non è possibile iniziare il periodo di prova."
|
1323 |
|
1324 |
+
#: includes/i18n.php:372
|
1325 |
msgid "Plan %s does not support a trial period."
|
1326 |
msgstr "Il piano %s non supporta il periodo di prova."
|
1327 |
|
1328 |
+
#: includes/i18n.php:373
|
1329 |
msgid "None of the plugin's plans supports a trial period."
|
1330 |
msgstr "Non esiste alcun piano del plugin che offra il periodo di prova."
|
1331 |
|
1332 |
+
#: includes/i18n.php:374
|
1333 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1334 |
msgstr "Errore inaspettato dell'API. Per favore contatta l'autore del plugin riportando il seguente errore."
|
1335 |
|
1336 |
+
#: includes/i18n.php:375
|
1337 |
msgid "No commitment for %s days - cancel anytime!"
|
1338 |
msgstr "Nessun impegno per %s giorni - puoi annullare in qualsiasi momento!"
|
1339 |
|
1340 |
+
#: includes/i18n.php:376
|
1341 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
|
|
|
|
1342 |
msgstr "La licenza è scaduta. È comunque possibile continuare a utilizzare tutte le funzionalità di %s, ma sarà necessario rinnovare la licenza per continuare a ricevere gli aggiornamenti ed il supporto."
|
1343 |
|
1344 |
+
#: includes/i18n.php:377
|
1345 |
msgid "Couldn't activate %s."
|
1346 |
msgstr "Non é stato possibile attivare %s."
|
1347 |
|
1348 |
+
#: includes/i18n.php:378
|
1349 |
msgid "Please contact us with the following message:"
|
1350 |
msgstr "Contattaci con il seguente messaggio:"
|
1351 |
|
1352 |
+
#: includes/i18n.php:379
|
1353 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1354 |
msgstr "Sembra che tu sia ancora usando il piano %s. Se hai effettuato un upgrade o cambiato il piano, è probabile che ci sia un problema nei nostri sistemi."
|
1355 |
|
1356 |
+
#: includes/i18n.php:380
|
1357 |
msgid "Please contact us here"
|
1358 |
msgstr "Contattaci qui"
|
1359 |
|
1360 |
+
#: includes/i18n.php:381
|
1361 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
|
|
|
|
1362 |
msgstr "Ho aggiornato il mio account, ma quando cerco di sincronizzare la licenza, il piano rimane %s."
|
1363 |
|
1364 |
+
#: includes/i18n.php:384
|
1365 |
msgid "From unknown reason, the API connectivity test failed."
|
1366 |
msgstr "Il test di connettività dell'API ha fallito per motivi sconosciuti."
|
1367 |
|
1368 |
+
#: includes/i18n.php:385
|
1369 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1370 |
msgstr "Si tratta probabilmente di un problema nei nostri sistemi. Per esserne sicuri, potresti darci il permesso di effettuare un ulteriore test della connettività? "
|
1371 |
|
1372 |
+
#: includes/i18n.php:386
|
1373 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1374 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1375 |
|
1376 |
+
#: includes/i18n.php:387
|
1377 |
+
msgid "Disabled method(s):"
|
1378 |
+
msgstr "Disabled method(s):"
|
1379 |
+
|
1380 |
+
#: includes/i18n.php:388
|
1381 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1382 |
msgstr "Per un motivo sconosciuto, CloudFlare, il firewall che utilizziamo, blocca la connessione."
|
1383 |
|
1384 |
+
#: includes/i18n.php:389
|
1385 |
msgctxt "as pluginX requires an access to our API"
|
1386 |
msgid "%s requires an access to our API."
|
1387 |
msgstr "%s richiede un accesso alla nostra API."
|
1388 |
|
1389 |
+
#: includes/i18n.php:391
|
1390 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
|
|
|
|
1391 |
msgstr "Sembra che il tuo server stia usando Squid ACL (lista per il controllo degli accessi) il quale blocca la connessione."
|
1392 |
|
1393 |
+
#: includes/i18n.php:392
|
1394 |
msgid "I don't know what is Squid or ACL, help me!"
|
1395 |
msgstr "Non ho idea di cosa sia Squid o ACL, aiutami!"
|
1396 |
|
1397 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1398 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1399 |
msgstr "Contatteremo il tuo hosting e risolveremo il problema. Riceverai un' email a %s non appena ci saranno aggiornamenti."
|
1400 |
|
1401 |
+
#: includes/i18n.php:394
|
1402 |
msgid "I'm a system administrator"
|
1403 |
msgstr "Sono un sistemista"
|
1404 |
|
1405 |
+
#: includes/i18n.php:395
|
1406 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
|
|
|
|
1407 |
msgstr "Perfetto, ora per favore aggiungi alla whitelist i seguenti domini: %s. Quando hai fatto, disattiva il plugin e riattivalo di nuovo."
|
1408 |
|
1409 |
+
#: includes/i18n.php:396
|
1410 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1411 |
msgstr "Non ho idea di cosa sia cURL o come installarlo, aiutami!"
|
1412 |
|
1413 |
+
#: includes/i18n.php:398
|
1414 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1415 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1416 |
|
1417 |
+
#: includes/i18n.php:399
|
1418 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1419 |
msgstr "Siamo sicuri che sia un nostro problema e siamo più che felici di risolverlo per te al più presto. Per poter procedere abbiamo bisogno del tuo consenso."
|
1420 |
|
1421 |
+
#: includes/i18n.php:400
|
1422 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1423 |
msgstr "Siamo spiacenti per l'inconveniente e siamo qui per aiutarti con il tuo permesso."
|
1424 |
|
1425 |
+
#: includes/i18n.php:401
|
1426 |
msgid "Yes - I'm giving you a chance to fix it"
|
1427 |
msgstr "Sì - sto dandovi la possibilità di risolvere il problema"
|
1428 |
|
1429 |
+
#: includes/i18n.php:402
|
1430 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1431 |
msgstr "Faremo del nostro meglio per mettere il server in whitelist e risolvere il problema il prima possibile. Avrai un aggiornamento dello stato tramite email all'indirizzo %s."
|
1432 |
|
1433 |
+
#: includes/i18n.php:403
|
1434 |
msgid "Let's try your previous version"
|
1435 |
msgstr "Proviamo con la versione precedente"
|
1436 |
|
1437 |
+
#: includes/i18n.php:404
|
1438 |
msgid "Uninstall this version and install the previous one."
|
1439 |
msgstr "Disinstalla questa versione e installa quella precedente."
|
1440 |
|
1441 |
+
#: includes/i18n.php:405
|
1442 |
msgid "That's exhausting, please deactivate"
|
1443 |
msgstr "È estenuante, disattivalo"
|
1444 |
|
1445 |
+
#: includes/i18n.php:406
|
1446 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1447 |
msgstr "Capiamo la tua frustrazione e ci scusiamo per l'inconveniente. Speriamo di rivederti nuovamente in futuro."
|
1448 |
|
1449 |
+
#: includes/i18n.php:407
|
1450 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1451 |
msgstr "Grazie per averci dato la possibilità di risolvere il problema! È stato appena inviato un messaggio al nostro staff tecnico. Ti risponderemo non appena avremo un aggiornamento riguardante %s. Grazie per la tua pazienza."
|
1452 |
|
1453 |
+
#: includes/i18n.php:408
|
1454 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1455 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1456 |
msgstr "Il tuo server sta bloccando l'accesso all'API di Freemius. L'accesso è cruciale per quanto riguarda la la sincronizzazione di %1s. Per favore contatta il tuo host per aggiungere %2s alla whitelist."
|
1457 |
|
1458 |
+
#: includes/i18n.php:410
|
1459 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1460 |
msgstr "Sembra che uno dei parametri di autenticazione sia sbagliato. Aggiorna la tua chiave pubblica, Secret Key & User ID e riprova."
|
1461 |
|
1462 |
+
#: includes/i18n.php:413
|
1463 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1464 |
msgstr "Verifica di aver ricevuto l'email da %s per confermare il cambiamento del proprietario. Per ragioni di sicurezza devi confermare il cambiamento entro 15 minuti. Se non trovi l'email controlla nella posta indesiderata."
|
1465 |
|
1466 |
+
#: includes/i18n.php:414
|
1467 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1468 |
msgstr "Grazie per aver confermato il cambiamento del proprietario. Un' email è stata appena inviata a %s per la conferma finale."
|
1469 |
|
1470 |
+
#: includes/i18n.php:415
|
1471 |
msgid "%s is the new owner of the account."
|
1472 |
msgstr "%s è il nuovo proprietario dell'account."
|
1473 |
|
1474 |
+
#: includes/i18n.php:417
|
1475 |
msgctxt "addonX cannot run without pluginY"
|
1476 |
msgid "%s cannot run without %s."
|
1477 |
msgstr "%s non può funzionare senza %s."
|
1478 |
|
1479 |
+
#: includes/i18n.php:419
|
1480 |
msgctxt "addonX cannot run..."
|
1481 |
msgid "%s cannot run without the plugin."
|
1482 |
msgstr "%s non può funzionare senza il plugin."
|
1483 |
|
1484 |
+
#: includes/i18n.php:420
|
1485 |
msgctxt "pluginX activation was successfully..."
|
1486 |
msgid "%s activation was successfully completed."
|
1487 |
msgstr "%s è stato attivato con successo."
|
1488 |
|
1489 |
+
#: includes/i18n.php:422
|
1490 |
msgctxt "Plugin installer section title"
|
1491 |
msgid "Features & Pricing"
|
1492 |
msgstr "Caratteristiche & prezzi"
|
1493 |
|
1494 |
+
#: includes/i18n.php:423
|
1495 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1496 |
msgstr "L'add-on dev'essere distribuito da WordPress.org o Freemius."
|
1497 |
|
1498 |
+
#: includes/i18n.php:424
|
1499 |
msgid "Paid add-on must be deployed to Freemius."
|
1500 |
msgstr "Gli add-on a pagamento devono essere distribuiti da Freemius."
|
1501 |
|
1502 |
+
#: includes/i18n.php:428
|
1503 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1504 |
msgstr "%s è un add-on premium. Devi comprare una licenza prima di poter attivare il plugin."
|
1505 |
|
1506 |
+
#: includes/i18n.php:429
|
1507 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1508 |
msgstr "Il periodo di prova gratuito %s è stato annullato con successo. Siccome l'add-on è premium, è stato disattivato automaticamente. Se vorrai usarlo in futuro, dovrai comprare una licenza."
|
1509 |
|
1510 |
+
#: includes/i18n.php:434
|
1511 |
msgctxt "as every month"
|
1512 |
msgid "Monthly"
|
1513 |
msgstr "Mensilmente"
|
1514 |
|
1515 |
+
#: includes/i18n.php:435
|
1516 |
msgctxt "as monthly period"
|
1517 |
msgid "mo"
|
1518 |
msgstr "mese"
|
1519 |
|
1520 |
+
#: includes/i18n.php:436
|
1521 |
msgctxt "as once a year"
|
1522 |
msgid "Annual"
|
1523 |
msgstr "Annuale"
|
1524 |
|
1525 |
+
#: includes/i18n.php:437
|
1526 |
msgctxt "as once a year"
|
1527 |
msgid "Annually"
|
1528 |
msgstr "Annualmente"
|
1529 |
|
1530 |
+
#: includes/i18n.php:438
|
1531 |
msgctxt "as once a year"
|
1532 |
msgid "Once"
|
1533 |
msgstr "Una volta"
|
1534 |
|
1535 |
+
#: includes/i18n.php:439
|
1536 |
msgctxt "as annual period"
|
1537 |
msgid "year"
|
1538 |
msgstr "anno"
|
1539 |
|
1540 |
+
#: includes/i18n.php:440
|
1541 |
msgid "Lifetime"
|
1542 |
msgstr "Tutta la vita"
|
1543 |
|
1544 |
+
#: includes/i18n.php:441
|
1545 |
msgctxt "e.g. the best product"
|
1546 |
msgid "Best"
|
1547 |
msgstr "Migliore"
|
1548 |
|
1549 |
+
#: includes/i18n.php:442
|
1550 |
msgctxt "e.g. billed monthly"
|
1551 |
msgid "Billed %s"
|
1552 |
msgstr "Fatturato %s"
|
1553 |
|
1554 |
+
#: includes/i18n.php:443
|
1555 |
msgctxt "as a discount of $5 or 10%"
|
1556 |
msgid "Save %s"
|
1557 |
msgstr "Risparmia %s"
|
1558 |
|
1559 |
+
#: includes/i18n.php:445
|
1560 |
msgid "View details"
|
1561 |
msgstr "Visualizza dettagli"
|
1562 |
|
1563 |
+
#: includes/i18n.php:449
|
1564 |
msgctxt "button label"
|
1565 |
msgid "Approve & Start Trial"
|
1566 |
msgstr "Approva e inizia il periodo di prova gratuito"
|
1567 |
|
1568 |
+
#: includes/i18n.php:451
|
1569 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
|
|
|
|
1570 |
msgstr "Sei a un clic di distanza dall'iniziare il tuo periodo di prova gratuito di %1$s giorni per il piano %2$s."
|
1571 |
|
1572 |
+
#: includes/i18n.php:453
|
1573 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1574 |
msgstr "Per seguire le linee guida di WordPress, prima di iniziare il periodo di prova ti chiediamo di iscriverti con il tuo utente e i dati non sensibili inerenti al tuo sito, così da permettere periodicamente al plugin di inviare dati a %s per poter controllare la presenza di nuove versioni e convalidare il tuo periodo di prova gratuito."
|
1575 |
|
1576 |
+
#: includes/i18n.php:459
|
1577 |
msgid "Business name"
|
1578 |
msgstr "Nome della compagnia"
|
1579 |
|
1580 |
+
#: includes/i18n.php:460
|
1581 |
msgid "Tax / VAT ID"
|
1582 |
msgstr "Numero Partita Iva o VAT"
|
1583 |
|
1584 |
+
#: includes/i18n.php:461
|
1585 |
msgid "Address Line %d"
|
1586 |
msgstr "Riga indirizzo %d"
|
1587 |
|
1588 |
+
#: includes/i18n.php:462
|
1589 |
msgid "Country"
|
1590 |
msgstr "Nazione"
|
1591 |
|
1592 |
+
#: includes/i18n.php:463
|
1593 |
msgid "Select Country"
|
1594 |
msgstr "Seleziona Nazione"
|
1595 |
|
1596 |
+
#: includes/i18n.php:464
|
1597 |
msgid "City"
|
1598 |
msgstr "Città"
|
1599 |
|
1600 |
+
#: includes/i18n.php:465
|
1601 |
msgid "Town"
|
1602 |
msgstr "Cittadina"
|
1603 |
|
1604 |
+
#: includes/i18n.php:466
|
1605 |
msgid "State"
|
1606 |
msgstr "Stato"
|
1607 |
|
1608 |
+
#: includes/i18n.php:467
|
1609 |
msgid "Province"
|
1610 |
msgstr "Provincia"
|
1611 |
|
1612 |
+
#: includes/i18n.php:468
|
1613 |
msgid "ZIP / Postal Code"
|
1614 |
msgstr "CAP"
|
1615 |
|
1616 |
+
#: includes/i18n.php:473
|
1617 |
+
msgid "Installing plugin: %s"
|
1618 |
+
msgstr "Installing plugin: %s"
|
1619 |
+
|
1620 |
+
#: includes/i18n.php:474
|
1621 |
+
msgid "Automatic Installation"
|
1622 |
+
msgstr "Automatic Installation"
|
1623 |
+
|
1624 |
+
#: includes/i18n.php:476
|
1625 |
+
msgid "%s sec"
|
1626 |
+
msgstr "%s sec"
|
1627 |
+
|
1628 |
+
#: includes/i18n.php:477
|
1629 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1630 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1631 |
+
|
1632 |
+
#: includes/i18n.php:478
|
1633 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1634 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1635 |
+
|
1636 |
#: includes/i18n.php:479
|
1637 |
+
msgid "Cancel Installation"
|
1638 |
+
msgstr "Cancel Installation"
|
1639 |
+
|
1640 |
+
#: includes/i18n.php:480
|
1641 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1642 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1643 |
+
|
1644 |
+
#: includes/i18n.php:481
|
1645 |
+
msgid "Invalid module ID."
|
1646 |
+
msgstr "Invalid module ID."
|
1647 |
+
|
1648 |
+
#: includes/i18n.php:482
|
1649 |
+
msgid "Auto installation only works for opted-in users."
|
1650 |
+
msgstr "Auto installation only works for opted-in users."
|
1651 |
+
|
1652 |
+
#: includes/i18n.php:483
|
1653 |
+
msgid "Premium version already active."
|
1654 |
+
msgstr "Premium version already active."
|
1655 |
+
|
1656 |
+
#: includes/i18n.php:484
|
1657 |
+
msgid "Premium add-on version already installed."
|
1658 |
+
msgstr "Premium add-on version already installed."
|
1659 |
+
|
1660 |
+
#: includes/i18n.php:485
|
1661 |
+
msgid "You do not have a valid license to access the premium version."
|
1662 |
+
msgstr "You do not have a valid license to access the premium version."
|
1663 |
+
|
1664 |
+
#: includes/i18n.php:486
|
1665 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1666 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1667 |
+
|
1668 |
+
#: includes/i18n.php:501
|
1669 |
msgctxt "Plugin installer section title"
|
1670 |
msgid "Description"
|
1671 |
msgstr "Descrizione"
|
1672 |
|
1673 |
+
#: includes/i18n.php:502
|
1674 |
msgctxt "Plugin installer section title"
|
1675 |
msgid "Installation"
|
1676 |
msgstr "Installazione"
|
1677 |
|
1678 |
+
#: includes/i18n.php:503
|
1679 |
msgctxt "Plugin installer section title"
|
1680 |
msgid "FAQ"
|
1681 |
msgstr "FAQ"
|
1682 |
|
1683 |
+
#: includes/i18n.php:504
|
1684 |
msgctxt "Plugin installer section title"
|
1685 |
msgid "Changelog"
|
1686 |
msgstr "Changelog"
|
1687 |
|
1688 |
+
#: includes/i18n.php:505
|
1689 |
msgctxt "Plugin installer section title"
|
1690 |
msgid "Reviews"
|
1691 |
msgstr "Recensioni"
|
1692 |
|
1693 |
+
#: includes/i18n.php:506
|
1694 |
msgctxt "Plugin installer section title"
|
1695 |
msgid "Other Notes"
|
1696 |
msgstr "Altre note"
|
1697 |
|
1698 |
+
#: includes/i18n.php:508
|
1699 |
msgid "%s star"
|
1700 |
msgstr "%s stella"
|
1701 |
|
1702 |
+
#: includes/i18n.php:510
|
1703 |
msgid "%s stars"
|
1704 |
msgstr "%s stelle"
|
1705 |
|
1706 |
+
#: includes/i18n.php:512
|
1707 |
msgid "%s rating"
|
1708 |
msgstr "%s valutazione"
|
1709 |
|
1710 |
+
#: includes/i18n.php:514
|
1711 |
msgid "%s ratings"
|
1712 |
msgstr "%s valutazioni"
|
1713 |
|
1714 |
+
#: includes/i18n.php:516
|
1715 |
msgid "%s time"
|
1716 |
msgstr "% volta"
|
1717 |
|
1718 |
+
#: includes/i18n.php:518
|
1719 |
msgid "%s times"
|
1720 |
msgstr "%s volte"
|
1721 |
|
1722 |
+
#: includes/i18n.php:520
|
1723 |
msgid "Click to see reviews that provided a rating of %s"
|
1724 |
msgstr "Fai clic per vedere le recensioni che hanno fornito una valutazione di %s"
|
1725 |
|
1726 |
+
#: includes/i18n.php:521
|
1727 |
msgid "Last Updated"
|
1728 |
msgstr "Ultimo aggiornamento"
|
1729 |
|
1730 |
+
#: includes/i18n.php:522
|
1731 |
msgid "Requires WordPress Version:"
|
1732 |
msgstr "Richiede la versione di WordPress:"
|
1733 |
|
1734 |
+
#: includes/i18n.php:523
|
1735 |
msgctxt "as the plugin author"
|
1736 |
msgid "Author:"
|
1737 |
msgstr "Autore:"
|
1738 |
|
1739 |
+
#: includes/i18n.php:524
|
1740 |
msgid "Compatible up to:"
|
1741 |
msgstr "Compatibile fino a:"
|
1742 |
|
1743 |
+
#: includes/i18n.php:525
|
1744 |
msgid "Downloaded:"
|
1745 |
msgstr "Scaricato:"
|
1746 |
|
1747 |
+
#: includes/i18n.php:526
|
1748 |
msgid "WordPress.org Plugin Page"
|
1749 |
msgstr "Pagina dei plugin di WordPress.org"
|
1750 |
|
1751 |
+
#: includes/i18n.php:527
|
1752 |
msgid "Plugin Homepage"
|
1753 |
msgstr "Homepage del plugin"
|
1754 |
|
1755 |
+
#: includes/i18n.php:528
|
1756 |
msgid "Donate to this plugin"
|
1757 |
msgstr "Fai una donazione a questo plugin"
|
1758 |
|
1759 |
+
#: includes/i18n.php:529
|
1760 |
msgid "Average Rating"
|
1761 |
msgstr "Valutazione media"
|
1762 |
|
1763 |
+
#: includes/i18n.php:530
|
1764 |
msgid "based on %s"
|
1765 |
msgstr "basato su %s"
|
1766 |
|
1767 |
+
#: includes/i18n.php:531
|
1768 |
msgid "Warning:"
|
1769 |
msgstr "Avviso:"
|
1770 |
|
1771 |
+
#: includes/i18n.php:532
|
1772 |
msgid "Contributors"
|
1773 |
msgstr "Contributori"
|
1774 |
|
1775 |
+
#: includes/i18n.php:533
|
1776 |
msgid "Plugin Install"
|
1777 |
msgstr "Installazione del plugin"
|
1778 |
|
1779 |
+
#: includes/i18n.php:534
|
1780 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
|
|
1781 |
msgstr "Questo plugin non è stato testato con la versione corrente di WordPress."
|
1782 |
|
1783 |
+
#: includes/i18n.php:535
|
1784 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
|
|
|
|
1785 |
msgstr "Questo plugin non è stato segnato come compatibile con la tua versione di WordPress."
|
1786 |
|
1787 |
+
#: includes/i18n.php:536
|
1788 |
msgid "Newer Version (%s) Installed"
|
1789 |
msgstr "Versione più recente (%s) installata"
|
1790 |
|
1791 |
+
#: includes/i18n.php:537
|
1792 |
msgid "Latest Version Installed"
|
1793 |
msgstr "Versione più recente installata"
|
freemius/languages/freemius-ja_JP.mo
CHANGED
Binary file
|
freemius/languages/freemius-ja_JP.po
CHANGED
@@ -1,1662 +1,1791 @@
|
|
1 |
-
#
|
|
|
2 |
# Translators:
|
3 |
# Odyssey <8bitodyssey+github@gmail.com>, 2016
|
4 |
# Takayuki Miyauchi <miya0001@users.noreply.github.com>, 2016
|
5 |
msgid ""
|
6 |
msgstr ""
|
7 |
"Project-Id-Version: WordPress SDK\n"
|
8 |
-
"Report-Msgid-Bugs-To: \n"
|
9 |
"POT-Creation-Date: \n"
|
10 |
-
"PO-Revision-Date: 2017-
|
11 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
|
|
12 |
"Language-Team: Japanese (Japan) (http://www.transifex.com/freemius/wordpress-sdk/language/ja_JP/)\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: \n"
|
15 |
-
"Language: ja_JP\n"
|
16 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
#: includes/i18n.
|
25 |
-
msgid "Not today"
|
26 |
-
msgstr "今日はやめておく"
|
27 |
-
|
28 |
-
#: includes/i18n.php:69
|
29 |
msgid "Account"
|
30 |
msgstr "アカウント"
|
31 |
|
32 |
-
#: includes/i18n.php:
|
33 |
msgid "Add On"
|
34 |
msgstr "アドオン"
|
35 |
|
36 |
-
#: includes/i18n.php:
|
37 |
msgid "Contact Us"
|
38 |
msgstr "連絡"
|
39 |
|
40 |
-
#: includes/i18n.php:
|
41 |
msgid "Contact Support"
|
42 |
msgstr "サポートに連絡"
|
43 |
|
44 |
-
#: includes/i18n.php:
|
45 |
msgid "Change Ownership"
|
46 |
msgstr "オーナーを変更"
|
47 |
|
48 |
-
#: includes/i18n.php:
|
49 |
msgid "Support"
|
50 |
msgstr "サポート"
|
51 |
|
52 |
-
#: includes/i18n.php:
|
53 |
msgid "Support Forum"
|
54 |
msgstr "サポートフォーラム"
|
55 |
|
56 |
-
#: includes/i18n.php:
|
57 |
msgid "Add Ons"
|
58 |
msgstr "アドオン"
|
59 |
|
60 |
-
#: includes/i18n.php:
|
61 |
msgctxt "verb"
|
62 |
msgid "Upgrade"
|
63 |
msgstr "アップグレード"
|
64 |
|
65 |
-
#: includes/i18n.php:
|
66 |
msgid "Awesome"
|
67 |
msgstr "すごい!"
|
68 |
|
69 |
-
#: includes/i18n.php:
|
70 |
msgctxt "noun"
|
71 |
msgid "Pricing"
|
72 |
msgstr "料金表"
|
73 |
|
74 |
-
#: includes/i18n.php:
|
75 |
msgctxt "noun"
|
76 |
msgid "Price"
|
77 |
msgstr "料金"
|
78 |
|
79 |
-
#: includes/i18n.php:
|
80 |
msgid "Unlimited Updates"
|
81 |
msgstr "無制限のアップデート"
|
82 |
|
83 |
-
#: includes/i18n.php:
|
84 |
msgctxt "verb"
|
85 |
msgid "Downgrade"
|
86 |
msgstr "ダウングレード"
|
87 |
|
88 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
89 |
msgid "Cancel Trial"
|
90 |
msgstr "トライアルをキャンセル"
|
91 |
|
92 |
-
#: includes/i18n.php:
|
93 |
msgid "Free Trial"
|
94 |
msgstr "フリートライアル"
|
95 |
|
96 |
-
#: includes/i18n.php:
|
97 |
msgid "Start my free %s"
|
98 |
msgstr "無料の %s を開始"
|
99 |
|
100 |
-
#: includes/i18n.php:
|
101 |
msgid "No commitment for %s - cancel anytime"
|
102 |
msgstr "%s の拘束はありません。いつでもキャンセルできます。"
|
103 |
|
104 |
-
#: includes/i18n.php:
|
105 |
msgid "After your free %s, pay as little as %s"
|
106 |
msgstr "無料の %s の後は、わずか %s だけお支払ください。"
|
107 |
|
108 |
-
#: includes/i18n.php:
|
109 |
msgid "Details"
|
110 |
msgstr "詳細"
|
111 |
|
112 |
-
#: includes/i18n.php:
|
113 |
msgid "Account Details"
|
114 |
msgstr "アカウント詳細"
|
115 |
|
116 |
-
#: includes/i18n.php:
|
117 |
msgctxt "verb"
|
118 |
msgid "Delete"
|
119 |
msgstr "削除"
|
120 |
|
121 |
-
#: includes/i18n.php:
|
122 |
msgctxt "verb"
|
123 |
msgid "Show"
|
124 |
msgstr "表示"
|
125 |
|
126 |
-
#: includes/i18n.php:
|
127 |
msgctxt "verb"
|
128 |
msgid "Hide"
|
129 |
msgstr "非表示"
|
130 |
|
131 |
-
#: includes/i18n.php:
|
132 |
msgctxt "verb"
|
133 |
msgid "Edit"
|
134 |
msgstr "編集"
|
135 |
|
136 |
-
#: includes/i18n.php:
|
137 |
msgctxt "verb"
|
138 |
msgid "Update"
|
139 |
msgstr "更新"
|
140 |
|
141 |
-
#: includes/i18n.php:
|
142 |
msgid "Date"
|
143 |
msgstr "日付"
|
144 |
|
145 |
-
#: includes/i18n.php:
|
146 |
msgid "Amount"
|
147 |
msgstr "総額"
|
148 |
|
149 |
-
#: includes/i18n.php:
|
150 |
msgid "Invoice"
|
151 |
msgstr "請求書"
|
152 |
|
153 |
-
#: includes/i18n.php:
|
154 |
msgid "Billing"
|
155 |
msgstr "請求書"
|
156 |
|
157 |
-
#: includes/i18n.php:
|
158 |
msgid "Payments"
|
159 |
msgstr "支払い"
|
160 |
|
161 |
-
#: includes/i18n.php:
|
162 |
msgid "Delete Account"
|
163 |
msgstr "アカウントを削除"
|
164 |
|
165 |
-
#: includes/i18n.php:
|
166 |
msgctxt "as close a window"
|
167 |
msgid "Dismiss"
|
168 |
msgstr "却下"
|
169 |
|
170 |
-
#: includes/i18n.php:
|
171 |
msgctxt "as product pricing plan"
|
172 |
msgid "Plan"
|
173 |
msgstr "プラン"
|
174 |
|
175 |
-
#: includes/i18n.php:
|
176 |
msgid "Change Plan"
|
177 |
msgstr "プラン変更"
|
178 |
|
179 |
-
#: includes/i18n.php:
|
180 |
msgctxt "as download professional version"
|
181 |
msgid "Download %s Version"
|
182 |
msgstr "%s バージョンをダウンロード"
|
183 |
|
184 |
-
#: includes/i18n.php:
|
185 |
msgctxt "as download professional version now"
|
186 |
msgid "Download %s version now"
|
187 |
msgstr "%s バージョンを今すぐダウンロード"
|
188 |
|
189 |
-
#: includes/i18n.php:
|
190 |
msgctxt "as download latest version"
|
191 |
msgid "Download Latest"
|
192 |
msgstr "最新版をダウンロード"
|
193 |
|
194 |
-
#: includes/i18n.php:
|
195 |
msgctxt "E.g. you have a professional license."
|
196 |
msgid "You have a %s license."
|
197 |
msgstr "%s ライセンスを持っています。"
|
198 |
|
199 |
-
#: includes/i18n.php:
|
200 |
msgid "New"
|
201 |
msgstr "新規"
|
202 |
|
203 |
-
#: includes/i18n.php:
|
204 |
msgid "Free"
|
205 |
msgstr "無料"
|
206 |
|
207 |
-
#: includes/i18n.php:
|
208 |
msgctxt "as trial plan"
|
209 |
msgid "Trial"
|
210 |
msgstr "トライアル"
|
211 |
|
212 |
-
#: includes/i18n.php:
|
213 |
msgctxt "as starting a trial plan"
|
214 |
msgid "Start Trial"
|
215 |
msgstr "トライアルを開始"
|
216 |
|
217 |
-
#: includes/i18n.php:
|
218 |
msgctxt "verb"
|
219 |
msgid "Purchase"
|
220 |
msgstr "購入"
|
221 |
|
222 |
-
#: includes/i18n.php:
|
223 |
msgid "Purchase License"
|
224 |
msgstr "ライセンスを購入"
|
225 |
|
226 |
-
#: includes/i18n.php:
|
227 |
msgctxt "verb"
|
228 |
msgid "Buy"
|
229 |
msgstr "買う"
|
230 |
|
231 |
-
#: includes/i18n.php:
|
232 |
msgid "Buy License"
|
233 |
msgstr "ライセンスを買う"
|
234 |
|
235 |
-
#: includes/i18n.php:
|
236 |
msgid "Single Site License"
|
237 |
msgstr "シングルサイトライセンス"
|
238 |
|
239 |
-
#: includes/i18n.php:
|
240 |
msgid "Unlimited Licenses"
|
241 |
msgstr "無制限ライセンス"
|
242 |
|
243 |
-
#: includes/i18n.php:
|
244 |
msgid "Up to %s Sites"
|
245 |
msgstr "%sサイトまで"
|
246 |
|
247 |
-
#: includes/i18n.php:
|
248 |
msgid "%sRenew your license now%s to access version %s features and support."
|
249 |
msgstr "%sいますぐライセンスを更新して%s バージョン %s の機能とサポートにアクセスする"
|
250 |
|
251 |
-
#: includes/i18n.php:
|
252 |
-
msgid ""
|
253 |
-
"Enter the email address you've used for the upgrade below and we will resend"
|
254 |
-
" you the license key."
|
255 |
msgstr "アップグレードに使用したメールアドレスを下に入力してください。そうすれば、ライセンスキーをお送りします。"
|
256 |
|
257 |
-
#: includes/i18n.php:
|
258 |
msgctxt "e.g. Professional Plan"
|
259 |
msgid "%s Plan"
|
260 |
msgstr "%s プラン"
|
261 |
|
262 |
-
#: includes/i18n.php:
|
263 |
msgid "You are just one step away - %s"
|
264 |
msgstr "もうあとわずかです - %s"
|
265 |
|
266 |
-
#: includes/i18n.php:
|
267 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
msgstr "すぐに \"%s\" 有効化を完了してください"
|
270 |
|
271 |
-
#: includes/i18n.php:
|
272 |
msgid "We made a few tweaks to the plugin, %s"
|
273 |
msgstr "プラグインを微調整します, %s"
|
274 |
|
275 |
-
#: includes/i18n.php:
|
276 |
msgid "Opt-in to make \"%s\" Better!"
|
277 |
msgstr "\"%s\" をより良くするためにオプトインしてください!"
|
278 |
|
279 |
-
#: includes/i18n.php:
|
280 |
msgid "Error"
|
281 |
msgstr "エラー"
|
282 |
|
283 |
-
#: includes/i18n.php:
|
284 |
-
msgid ""
|
285 |
-
"Freemius SDK couldn't find the plugin's main file. Please contact "
|
286 |
-
"sdk@freemius.com with the current error."
|
287 |
msgstr "Freemius SDK がプラグインのメインファイルを見つけることができませんでした。現在のエラーを添えて sdk@freemius.com に連絡してください。"
|
288 |
|
289 |
-
#: includes/i18n.php:
|
290 |
msgctxt "as expiration date"
|
291 |
msgid "Expiration"
|
292 |
msgstr "期限切れ"
|
293 |
|
294 |
-
#: includes/i18n.php:
|
295 |
msgctxt "as software license"
|
296 |
msgid "License"
|
297 |
msgstr "ライセンス"
|
298 |
|
299 |
-
#: includes/i18n.php:
|
300 |
msgid "not verified"
|
301 |
msgstr "未認証"
|
302 |
|
303 |
-
#: includes/i18n.php:
|
304 |
msgid "Verify Email"
|
305 |
msgstr "認証メール"
|
306 |
|
307 |
-
#: includes/i18n.php:
|
308 |
msgctxt "e.g. expires in 2 months"
|
309 |
msgid "Expires in %s"
|
310 |
msgstr "%s で期間終了"
|
311 |
|
312 |
-
#: includes/i18n.php:
|
313 |
msgctxt "e.g. auto renews in 2 months"
|
314 |
msgid "Auto renews in %s"
|
315 |
msgstr "%s に自動更新"
|
316 |
|
317 |
-
#: includes/i18n.php:
|
318 |
msgid "No expiration"
|
319 |
msgstr "有効期限なし"
|
320 |
|
321 |
-
#: includes/i18n.php:
|
322 |
msgid "Expired"
|
323 |
msgstr "期限切れ"
|
324 |
|
325 |
-
#: includes/i18n.php:
|
326 |
msgid "Cancelled"
|
327 |
msgstr "キャンセル"
|
328 |
|
329 |
-
#: includes/i18n.php:
|
330 |
msgctxt "e.g. In 2 hours"
|
331 |
msgid "In %s"
|
332 |
msgstr "%s 内"
|
333 |
|
334 |
-
#: includes/i18n.php:
|
335 |
msgctxt "e.g. 2 min ago"
|
336 |
msgid "%s ago"
|
337 |
msgstr "%s 前"
|
338 |
|
339 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
340 |
msgctxt "as plugin version"
|
341 |
msgid "Version"
|
342 |
msgstr "バージョン"
|
343 |
|
344 |
-
#: includes/i18n.php:
|
345 |
msgid "Name"
|
346 |
msgstr "名前"
|
347 |
|
348 |
-
#: includes/i18n.php:
|
349 |
msgid "Email"
|
350 |
msgstr "Email"
|
351 |
|
352 |
-
#: includes/i18n.php:
|
353 |
msgid "Email address"
|
354 |
msgstr "メールアドレス"
|
355 |
|
356 |
-
#: includes/i18n.php:
|
357 |
msgid "Verified"
|
358 |
msgstr "認証済み"
|
359 |
|
360 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
msgid "Plugin"
|
362 |
msgstr "プラグイン"
|
363 |
|
364 |
-
#: includes/i18n.php:
|
365 |
msgid "Plugins"
|
366 |
msgstr "プラグイン"
|
367 |
|
368 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
369 |
msgid "Themes"
|
370 |
msgstr "テーマ"
|
371 |
|
372 |
-
#: includes/i18n.php:
|
373 |
msgctxt "as file/folder path"
|
374 |
msgid "Path"
|
375 |
msgstr "パス"
|
376 |
|
377 |
-
#: includes/i18n.php:
|
378 |
msgid "Title"
|
379 |
msgstr "タイトル"
|
380 |
|
381 |
-
#: includes/i18n.php:
|
382 |
msgid "Free version"
|
383 |
msgstr "フリーバージョン"
|
384 |
|
385 |
-
#: includes/i18n.php:
|
386 |
msgid "Premium version"
|
387 |
msgstr "プレミアムバージョン"
|
388 |
|
389 |
-
#: includes/i18n.php:
|
390 |
msgctxt "as WP plugin slug"
|
391 |
msgid "Slug"
|
392 |
msgstr "スラッグ"
|
393 |
|
394 |
-
#: includes/i18n.php:
|
395 |
msgid "ID"
|
396 |
msgstr "ID"
|
397 |
|
398 |
-
#: includes/i18n.php:
|
399 |
msgid "Users"
|
400 |
msgstr "ユーザー"
|
401 |
|
402 |
-
#: includes/i18n.php:
|
403 |
msgid "Plugin Installs"
|
404 |
msgstr "プラグインインストール数"
|
405 |
|
406 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
407 |
msgctxt "like websites"
|
408 |
msgid "Sites"
|
409 |
msgstr "サイト数"
|
410 |
|
411 |
-
#: includes/i18n.php:
|
412 |
msgid "User ID"
|
413 |
msgstr "ユーザー ID"
|
414 |
|
415 |
-
#: includes/i18n.php:
|
416 |
msgid "Site ID"
|
417 |
msgstr "サイト ID"
|
418 |
|
419 |
-
#: includes/i18n.php:
|
420 |
msgid "Public Key"
|
421 |
msgstr "公開鍵"
|
422 |
|
423 |
-
#: includes/i18n.php:
|
424 |
msgid "Secret Key"
|
425 |
msgstr "秘密鍵"
|
426 |
|
427 |
-
#: includes/i18n.php:
|
428 |
msgctxt "as secret encryption key missing"
|
429 |
msgid "No Secret"
|
430 |
msgstr "秘密鍵がありません"
|
431 |
|
432 |
-
#: includes/i18n.php:
|
433 |
msgid "No ID"
|
434 |
msgstr "ID がありません"
|
435 |
|
436 |
-
#: includes/i18n.php:
|
437 |
msgctxt "as synchronize license"
|
438 |
msgid "Sync License"
|
439 |
msgstr "ライセンスを同期"
|
440 |
|
441 |
-
#: includes/i18n.php:
|
442 |
msgctxt "as synchronize"
|
443 |
msgid "Sync"
|
444 |
msgstr "同期"
|
445 |
|
446 |
-
#: includes/i18n.php:
|
447 |
msgid "Activate License"
|
448 |
msgstr "ライセンスを有効化"
|
449 |
|
450 |
-
#: includes/i18n.php:
|
451 |
msgid "Activate Free Version"
|
452 |
msgstr "フリーバージョンを有効化"
|
453 |
|
454 |
-
#: includes/i18n.php:
|
455 |
-
msgid ""
|
456 |
-
"Please enter the license key that you received in the email right after the "
|
457 |
-
"purchase:"
|
458 |
msgstr "購入後すぐにメールで受け取ったライセンスキーを入力してください:"
|
459 |
|
460 |
-
#: includes/i18n.php:
|
461 |
msgid "Activating license..."
|
462 |
msgstr "ライセンスを有効化中…"
|
463 |
|
464 |
-
#: includes/i18n.php:
|
465 |
msgid "Change License"
|
466 |
msgstr "ライセンスを変更"
|
467 |
|
468 |
-
#: includes/i18n.php:
|
469 |
msgid "Update License"
|
470 |
msgstr "ライセンスを更新"
|
471 |
|
472 |
-
#: includes/i18n.php:
|
473 |
msgid "Deactivate License"
|
474 |
msgstr "ライセンスを無効化"
|
475 |
|
476 |
-
#: includes/i18n.php:
|
477 |
msgid "Activate"
|
478 |
msgstr "有効化"
|
479 |
|
480 |
-
#: includes/i18n.php:
|
481 |
msgid "Deactivate"
|
482 |
msgstr "無効化"
|
483 |
|
484 |
-
#: includes/i18n.php:
|
485 |
msgid "Skip & Deactivate"
|
486 |
msgstr "スキップし、無効化"
|
487 |
|
488 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
489 |
msgid "No - just deactivate"
|
490 |
msgstr "いいえ - すぐに無効化"
|
491 |
|
492 |
-
#: includes/i18n.php:
|
493 |
msgid "Yes - do your thing"
|
494 |
msgstr "はい - お構いなく"
|
495 |
|
496 |
-
#: includes/i18n.php:
|
497 |
msgctxt "active mode"
|
498 |
msgid "Active"
|
499 |
msgstr "有効"
|
500 |
|
501 |
-
#: includes/i18n.php:
|
502 |
msgctxt "is active mode?"
|
503 |
msgid "Is Active"
|
504 |
msgstr "有効"
|
505 |
|
506 |
-
#: includes/i18n.php:
|
507 |
msgid "Install Now"
|
508 |
msgstr "今すぐインストール"
|
509 |
|
510 |
-
#: includes/i18n.php:
|
511 |
msgid "Install Update Now"
|
512 |
msgstr "今すぐ更新をインストール"
|
513 |
|
514 |
-
#: includes/i18n.php:
|
515 |
msgid "More information about %s"
|
516 |
msgstr "%s に関する詳細情報"
|
517 |
|
518 |
-
#: includes/i18n.php:
|
519 |
msgid "Localhost"
|
520 |
msgstr "localhost"
|
521 |
|
522 |
-
#: includes/i18n.php:
|
523 |
msgctxt "as activate Professional plan"
|
524 |
msgid "Activate %s Plan"
|
525 |
msgstr "%s プランを有効化"
|
526 |
|
527 |
-
#: includes/i18n.php:
|
528 |
msgctxt "as 5 licenses left"
|
529 |
msgid "%s left"
|
530 |
msgstr "あと %s"
|
531 |
|
532 |
-
#: includes/i18n.php:
|
533 |
msgid "Last license"
|
534 |
msgstr "最新のライセンス"
|
535 |
|
536 |
-
#: includes/i18n.php:
|
537 |
msgid "What is your %s?"
|
538 |
msgstr "自分の %s はなんですか?"
|
539 |
|
540 |
-
#: includes/i18n.php:
|
541 |
msgid "Activate this add-on"
|
542 |
msgstr "このアドオンを有効化"
|
543 |
|
544 |
-
#: includes/i18n.php:
|
545 |
-
msgid ""
|
546 |
-
"Deactivating your license will block all premium features, but will enable "
|
547 |
-
"you to activate the license on another site. Are you sure you want to "
|
548 |
-
"proceed?"
|
549 |
msgstr "ライセンスを無効化するとすべてのプレミアム機能が使えなくなりますが、他のサイトでライセンスを有効にすることができるようになります。本当に実行しますか?"
|
550 |
|
551 |
-
#: includes/i18n.php:
|
552 |
-
msgid ""
|
553 |
-
"Deleting the account will automatically deactivate your %s plan license so "
|
554 |
-
"you can use it on other sites. If you want to terminate the recurring "
|
555 |
-
"payments as well, click the \"Cancel\" button, and first \"Downgrade\" your "
|
556 |
-
"account. Are you sure you would like to continue with the deletion?"
|
557 |
msgstr "アカウントを削除すると自動的に %s プランライセンスが無効になり、他のサイトで使うことができます。定期の支払いも終了したい場合は、\"キャンセル\"ボタンをクリックし、まずアカウントを\"ダウングレード\"してください。本当に削除を続行してもいいですか?"
|
558 |
|
559 |
-
#: includes/i18n.php:
|
560 |
-
msgid ""
|
561 |
-
"Deletion is not temporary. Only delete if you no longer want to use this "
|
562 |
-
"plugin anymore. Are you sure you would like to continue with the deletion?"
|
563 |
msgstr "削除は一時的なものではありません。このプラグインを今後使いたくない場合にだけ削除してください。本当に削除を続行してもいいですか?"
|
564 |
|
565 |
-
#: includes/i18n.php:
|
566 |
-
msgid ""
|
567 |
-
"Downgrading your plan will immediately stop all future recurring payments "
|
568 |
-
"and your %s plan license will expire in %s."
|
569 |
msgstr "プランをダウングレードするとすぐに将来の定期の支払いはすべて停止し、%s プランライセンスは %s で期限切れとなります。"
|
570 |
|
571 |
-
#: includes/i18n.php:
|
572 |
-
msgid ""
|
573 |
-
"Cancelling the trial will immediately block access to all premium features. "
|
574 |
-
"Are you sure?"
|
575 |
msgstr "トライアルをキャンセルするとすぐにすべてのプレミアム機能へのアクセスができなくなります。本当に実行しますか?"
|
576 |
|
577 |
-
#: includes/i18n.php:
|
578 |
-
msgid ""
|
579 |
-
"You can still enjoy all %s features but you will not have access to plugin "
|
580 |
-
"updates and support."
|
581 |
msgstr "すべての %s 機能をまだ楽しむことができますが、プラグインの更新とサポートにアクセスすることはできなくなります。"
|
582 |
|
583 |
-
#: includes/i18n.php:
|
584 |
-
msgid ""
|
585 |
-
"Once your license
|
586 |
-
" have access to the %s features."
|
587 |
-
msgstr "ライセンスが期限切れになるとフリーバージョンを使うことはできますが、%s 機能にアクセスすることはできなくなります。"
|
588 |
|
589 |
-
#: includes/i18n.php:
|
590 |
msgid "Are you sure you want to proceed?"
|
591 |
msgstr "本当に続行していいですか?"
|
592 |
|
593 |
-
#: includes/i18n.php:
|
594 |
msgid "Add Ons for %s"
|
595 |
msgstr "%s のアドオン"
|
596 |
|
597 |
-
#: includes/i18n.php:
|
598 |
-
msgid ""
|
599 |
-
"We could'nt load the add-ons list. It's probably an issue on our side, "
|
600 |
-
"please try to come back in few minutes."
|
601 |
msgstr "アドオンリストを読み込むことができませんでした。おそらく運営側の問題になりますので、しばらくしてからお試しください。"
|
602 |
|
603 |
-
#: includes/i18n.php:
|
604 |
msgid "Anonymous feedback"
|
605 |
msgstr "匿名のフィードバック"
|
606 |
|
607 |
-
#: includes/i18n.php:
|
608 |
msgid "Quick feedback"
|
609 |
msgstr "クイックフィードバック"
|
610 |
|
611 |
-
#: includes/i18n.php:
|
612 |
msgid "If you have a moment, please let us know why you are deactivating"
|
613 |
msgstr "お時間があれば、なぜ無効化するのか理由を教えてください。"
|
614 |
|
615 |
-
#: includes/i18n.php:
|
616 |
msgid "Yes - Deactivate"
|
617 |
msgstr "はい - 無効化します"
|
618 |
|
619 |
-
#: includes/i18n.php:
|
620 |
msgid "Submit & Deactivate"
|
621 |
msgstr "送信し無効化"
|
622 |
|
623 |
-
#: includes/i18n.php:
|
624 |
msgid "Cancel"
|
625 |
msgstr "キャンセル"
|
626 |
|
627 |
-
#: includes/i18n.php:
|
628 |
msgid "I no longer need the plugin"
|
629 |
msgstr "もうプラグインを必要としていません"
|
630 |
|
631 |
-
#: includes/i18n.php:
|
632 |
msgid "I found a better plugin"
|
633 |
msgstr "もっと良いプラグインを見つけました"
|
634 |
|
635 |
-
#: includes/i18n.php:
|
636 |
msgid "I only needed the plugin for a short period"
|
637 |
msgstr "短期間プラグインを必要としていただけです"
|
638 |
|
639 |
-
#: includes/i18n.php:
|
640 |
msgid "The plugin broke my site"
|
641 |
msgstr "プラグインのせいでサイトが壊れました"
|
642 |
|
643 |
-
#: includes/i18n.php:
|
644 |
msgid "The plugin suddenly stopped working"
|
645 |
msgstr "プラグインはすぐに動かなくなりました"
|
646 |
|
647 |
-
#: includes/i18n.php:
|
648 |
msgid "I can't pay for it anymore"
|
649 |
msgstr "もう払うことができません"
|
650 |
|
651 |
-
#: includes/i18n.php:
|
652 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
653 |
msgstr "一時的な無効化です。問題をデバッグしているだけです。"
|
654 |
|
655 |
-
#: includes/i18n.php:
|
656 |
msgctxt ""
|
657 |
-
"the text of the \"other\" reason for deactivating the plugin that is shown "
|
658 |
-
"in the modal box."
|
659 |
msgid "Other"
|
660 |
msgstr "その他"
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "Kindly tell us the reason so we can improve."
|
664 |
msgstr "改善できるよう、どうか理由を教えてください。"
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "What's the plugin's name?"
|
668 |
msgstr "プラグイン名は何ですか?"
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid "What price would you feel comfortable paying?"
|
672 |
msgstr " 支払ってもよいと思う価格はいくらですか?"
|
673 |
|
674 |
-
#: includes/i18n.php:
|
675 |
msgid "I couldn't understand how to make it work"
|
676 |
msgstr "どうしたら動作するか分かりませんでした。"
|
677 |
|
678 |
-
#: includes/i18n.php:
|
679 |
-
msgid ""
|
680 |
-
"The plugin is great, but I need specific feature that you don't support"
|
681 |
msgstr "プラグインは素晴らしいけれど、サポートしていないある機能を必要としています"
|
682 |
|
683 |
-
#: includes/i18n.php:
|
684 |
msgid "The plugin is not working"
|
685 |
msgstr "プラグインが動いていません"
|
686 |
|
687 |
-
#: includes/i18n.php:
|
688 |
msgid "It's not what I was looking for"
|
689 |
msgstr "探していたものではありません"
|
690 |
|
691 |
-
#: includes/i18n.php:
|
692 |
msgid "The plugin didn't work as expected"
|
693 |
msgstr "プラグインは期待通りには動きませんでした"
|
694 |
|
695 |
-
#: includes/i18n.php:
|
696 |
msgid "What feature?"
|
697 |
msgstr "何の機能ですか?"
|
698 |
|
699 |
-
#: includes/i18n.php:
|
700 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
701 |
msgstr "将来のユーザーのために修正できるよう、何が動作しなかったのかどうか共有してください…"
|
702 |
|
703 |
-
#: includes/i18n.php:
|
704 |
msgid "What you've been looking for?"
|
705 |
msgstr "探していたのは何ですか?"
|
706 |
|
707 |
-
#: includes/i18n.php:
|
708 |
msgid "What did you expect?"
|
709 |
msgstr "何を期待していましたか?"
|
710 |
|
711 |
-
#: includes/i18n.php:
|
712 |
msgid "The plugin didn't work"
|
713 |
msgstr "プラグインが動作しませんでした"
|
714 |
|
715 |
-
#: includes/i18n.php:
|
716 |
msgid "I don't like to share my information with you"
|
717 |
msgstr "自分の情報を共有したくありません"
|
718 |
|
719 |
-
#: includes/i18n.php:
|
720 |
-
msgid ""
|
721 |
-
"You might have missed it, but you don't have to share any data and can just "
|
722 |
-
"%s the opt-in."
|
723 |
msgstr "見逃していたかもしれませんが、どんな情報も共有する必要はなく、オプトインを $s することができます。 "
|
724 |
|
725 |
-
#: includes/i18n.php:
|
726 |
msgctxt "greeting"
|
727 |
msgid "Hey %s,"
|
728 |
msgstr "おおい %s さん、"
|
729 |
|
730 |
-
#: includes/i18n.php:
|
731 |
msgctxt "a greeting. E.g. Thanks John!"
|
732 |
msgid "Thanks %s!"
|
733 |
msgstr "ありがとう $s さん!"
|
734 |
|
735 |
-
#: includes/i18n.php:
|
736 |
-
msgid ""
|
737 |
-
"Never miss an important update - opt-in to our security and feature updates "
|
738 |
-
"notifications, and non-sensitive diagnostic tracking with %4$s."
|
739 |
msgstr "重要な更新を逃さないように - セキュリティとおすすめの更新通知、%4$s とセンシティブではない診断トラッキングをオプトイン"
|
740 |
|
741 |
-
#: includes/i18n.php:
|
742 |
-
msgid ""
|
743 |
-
"Please help us improve %1$s! If you opt-in, some data about your usage of "
|
744 |
-
"%1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still "
|
745 |
-
"work just fine."
|
746 |
msgstr "%1$s を改善するのを手伝ってください。オプトインすれば、あなたの %1$s の使用に関するデータが %4$s へと送られます。これをスキップしても大丈夫です! %1$s は今でも素晴らしいでしょう。"
|
747 |
|
748 |
-
#: includes/i18n.php:
|
749 |
-
msgid ""
|
750 |
-
"You should receive an activation email for %s to your mailbox at %s. Please "
|
751 |
-
"make sure you click the activation button in that email to %s."
|
752 |
msgstr "%s のメールボックスに %s の有効化のメールを受け取っているはずです。%s のメールに記載された有効化ボタンをクリックしてください。"
|
753 |
|
754 |
-
#: includes/i18n.php:
|
755 |
msgid "complete the install"
|
756 |
msgstr "インストールを完了"
|
757 |
|
758 |
-
#: includes/i18n.php:
|
759 |
msgid "start the trial"
|
760 |
msgstr "トライアルを開始"
|
761 |
|
762 |
-
#: includes/i18n.php:
|
763 |
-
msgid ""
|
764 |
-
"Thanks for purchasing %s! To get started, please enter your license key:"
|
765 |
msgstr "%s を購入いただきありがとうございます。はじめにライセンスキーを入力してください:"
|
766 |
|
767 |
-
#: includes/i18n.php:
|
768 |
-
msgid ""
|
769 |
-
"The plugin will be periodically sending data to %s to check for plugin "
|
770 |
-
"updates and verify the validity of your license."
|
771 |
msgstr "プラグインはプラグインの更新をチェックし、ライセンスが有効か確認するために、%s に周期的にデータを送信します。"
|
772 |
|
773 |
-
#: includes/i18n.php:
|
774 |
msgid "What permissions are being granted?"
|
775 |
msgstr "付与されているパーミッションは何ですか?"
|
776 |
|
777 |
-
#: includes/i18n.php:
|
778 |
msgid "Your Profile Overview"
|
779 |
msgstr "プロフィール概要"
|
780 |
|
781 |
-
#: includes/i18n.php:
|
782 |
msgid "Name and email address"
|
783 |
msgstr "名前とメールアドレス"
|
784 |
|
785 |
-
#: includes/i18n.php:
|
786 |
msgid "Your Site Overview"
|
787 |
msgstr "サイト概要"
|
788 |
|
789 |
-
#: includes/i18n.php:
|
790 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
791 |
msgstr "サイト URL、WP バージョン、PHP info、プラグインとテーマ"
|
792 |
|
793 |
-
#: includes/i18n.php:
|
794 |
msgid "Current Plugin Events"
|
795 |
msgstr "現在のプラグインイベント"
|
796 |
|
797 |
-
#: includes/i18n.php:
|
798 |
msgid "Activation, deactivation and uninstall"
|
799 |
msgstr "有効化、無効化、アンインストール"
|
800 |
|
801 |
-
#: includes/i18n.php:
|
802 |
msgid "Plugins & Themes"
|
803 |
msgstr "プラグインとテーマ"
|
804 |
|
805 |
-
#: includes/i18n.php:
|
806 |
msgid "Titles, versions and state."
|
807 |
msgstr "タイトル、バージョン、状態"
|
808 |
|
809 |
-
#: includes/i18n.php:
|
810 |
msgid "Admin Notices"
|
811 |
msgstr "管理者通知"
|
812 |
|
813 |
-
#: includes/i18n.php:
|
814 |
msgid "Newsletter"
|
815 |
msgstr "ニュースレター"
|
816 |
|
817 |
-
#: includes/i18n.php:
|
818 |
msgid "Updates, announcements, marketing, no spam"
|
819 |
msgstr "更新、発表、マーケティング、スパムなし"
|
820 |
|
821 |
-
#: includes/i18n.php:
|
822 |
msgid "Privacy Policy"
|
823 |
msgstr "プライバシーポリシー"
|
824 |
|
825 |
-
#: includes/i18n.php:
|
826 |
msgid "Terms of Service"
|
827 |
msgstr "利用規約"
|
828 |
|
829 |
-
#: includes/i18n.php:
|
830 |
msgctxt "as activating plugin"
|
831 |
msgid "Activating"
|
832 |
msgstr "有効化中"
|
833 |
|
834 |
-
#: includes/i18n.php:
|
835 |
msgctxt "as in the process of sending an email"
|
836 |
msgid "Sending email"
|
837 |
msgstr "メール送信中"
|
838 |
|
839 |
-
#: includes/i18n.php:
|
840 |
msgctxt "button label"
|
841 |
msgid "Allow & Continue"
|
842 |
msgstr "許可して続ける"
|
843 |
|
844 |
-
#: includes/i18n.php:
|
845 |
msgctxt "button label"
|
846 |
msgid "Agree & Activate License"
|
847 |
msgstr "同意してライセンスを有効化"
|
848 |
|
849 |
-
#: includes/i18n.php:
|
850 |
msgctxt "verb"
|
851 |
msgid "Skip"
|
852 |
msgstr "スキップ"
|
853 |
|
854 |
-
#: includes/i18n.php:
|
855 |
msgid "Click here to use the plugin anonymously"
|
856 |
msgstr "匿名でプラグインを使用するにはこちらをクリック"
|
857 |
|
858 |
-
#: includes/i18n.php:
|
859 |
msgid "Re-send activation email"
|
860 |
msgstr "有効化メールを再送信"
|
861 |
|
862 |
-
#: includes/i18n.php:
|
863 |
msgid "License key"
|
864 |
msgstr "ライセンスキー"
|
865 |
|
866 |
-
#: includes/i18n.php:
|
867 |
msgid "Send License Key"
|
868 |
msgstr "ライセンスキーを送信"
|
869 |
|
870 |
-
#: includes/i18n.php:
|
871 |
msgid "Sending license key"
|
872 |
msgstr "ライセンスキーを送信中"
|
873 |
|
874 |
-
#: includes/i18n.php:
|
875 |
msgid "Have a license key?"
|
876 |
msgstr "ライセンスキーはお持ちですか?"
|
877 |
|
878 |
-
#: includes/i18n.php:
|
879 |
msgid "Don't have a license key?"
|
880 |
msgstr "ライセンスキーをお持ちではありませんか?"
|
881 |
|
882 |
-
#: includes/i18n.php:
|
883 |
msgid "Can't find your license key?"
|
884 |
msgstr "ライセンスキーは見つかりませんか?"
|
885 |
|
886 |
-
#: includes/i18n.php:
|
887 |
-
msgid ""
|
888 |
-
"We couldn't find your email address in the system, are you sure it's the "
|
889 |
-
"right address?"
|
890 |
msgstr "システムではメールアドレスを見つけることができませんでした。メールアドレスが正しいか確認してください。"
|
891 |
|
892 |
-
#: includes/i18n.php:
|
893 |
-
msgid ""
|
894 |
-
"We can't see any active licenses associated with that email address, are you"
|
895 |
-
" sure it's the right address?"
|
896 |
msgstr "メールアドレスに関連付けられた有効なライセンスが見つかりません。メールアドレスが正しいか確認してください。"
|
897 |
|
898 |
-
#: includes/i18n.php:
|
899 |
msgid "Opt In"
|
900 |
msgstr "オプトイン"
|
901 |
|
902 |
-
#: includes/i18n.php:
|
903 |
msgid "Opt Out"
|
904 |
msgstr "オプトアウト"
|
905 |
|
906 |
-
#: includes/i18n.php:
|
907 |
msgid "On second thought - I want to continue helping"
|
908 |
msgstr "第二の考えで - 手伝い続けたいです"
|
909 |
|
910 |
-
#: includes/i18n.php:
|
911 |
msgid "Opting out..."
|
912 |
msgstr "オプトアウト中…"
|
913 |
|
914 |
-
#: includes/i18n.php:
|
915 |
msgid "Opting in..."
|
916 |
msgstr "オプトイン中…"
|
917 |
|
918 |
-
#: includes/i18n.php:
|
919 |
-
msgid ""
|
920 |
-
"We appreciate your help in making the %s better by letting us track some "
|
921 |
-
"usage data."
|
922 |
msgstr "使用データを追跡できるよう許可してくれたことで、%s をより良くするための手助けに感謝致します。"
|
923 |
|
924 |
-
#: includes/i18n.php:
|
925 |
-
msgid ""
|
926 |
-
"Usage tracking is done in the name of making %s better. Making a better user"
|
927 |
-
" experience, prioritizing new features, and more good things. We'd really "
|
928 |
-
"appreciate if you'll reconsider letting us continue with the tracking."
|
929 |
msgstr "使用の追跡は %s をより良くする名目の下に行われています。ユーザー体験をより良くし、新機能に優先順位をつけるためなどに使います。追跡を続けてもよいと再考してくれるなら本当に感謝致します。"
|
930 |
|
931 |
-
#: includes/i18n.php:
|
932 |
-
msgid ""
|
933 |
-
"By clicking \"Opt Out\", we will no longer be sending any data from %s to "
|
934 |
-
"%s."
|
935 |
msgstr "\"オプトアウト\"をクリックすることで、もう %s から %s へのデータの送信は行いません。"
|
936 |
|
937 |
-
#: includes/i18n.php:
|
938 |
msgid "Screenshots"
|
939 |
msgstr "スクリーンショット"
|
940 |
|
941 |
-
#: includes/i18n.php:
|
942 |
msgid "Click to view full-size screenshot %d"
|
943 |
msgstr "クリックしてフルサイズのスクリーンショットを見る %d"
|
944 |
|
945 |
-
#: includes/i18n.php:
|
946 |
msgid "Freemius Debug"
|
947 |
msgstr "Freemius デバッグ"
|
948 |
|
949 |
-
#: includes/i18n.php:
|
950 |
msgctxt "as turned on"
|
951 |
msgid "On"
|
952 |
msgstr "オン"
|
953 |
|
954 |
-
#: includes/i18n.php:
|
955 |
msgctxt "as turned off"
|
956 |
msgid "Off"
|
957 |
msgstr "オフ"
|
958 |
|
959 |
-
#: includes/i18n.php:
|
960 |
msgctxt "as code debugging"
|
961 |
msgid "Debugging"
|
962 |
msgstr "デバッグ"
|
963 |
|
964 |
-
#: includes/i18n.php:
|
965 |
msgid "Freemius State"
|
966 |
msgstr "Freemius ステータス"
|
967 |
|
968 |
-
#: includes/i18n.php:
|
969 |
msgctxt "as connection was successful"
|
970 |
msgid "Connected"
|
971 |
msgstr "接続"
|
972 |
|
973 |
-
#: includes/i18n.php:
|
974 |
msgctxt "as connection blocked"
|
975 |
msgid "Blocked"
|
976 |
msgstr "ブロック"
|
977 |
|
978 |
-
#: includes/i18n.php:
|
979 |
msgctxt "as application program interface"
|
980 |
msgid "API"
|
981 |
msgstr "API"
|
982 |
|
983 |
-
#: includes/i18n.php:
|
984 |
msgctxt "as software development kit versions"
|
985 |
msgid "SDK"
|
986 |
msgstr "SDK"
|
987 |
|
988 |
-
#: includes/i18n.php:
|
989 |
msgctxt "as software development kit versions"
|
990 |
msgid "SDK Versions"
|
991 |
msgstr "SDK バージョン"
|
992 |
|
993 |
-
#: includes/i18n.php:
|
994 |
msgctxt "as plugin folder path"
|
995 |
msgid "Plugin Path"
|
996 |
msgstr "プラグインのパス"
|
997 |
|
998 |
-
#: includes/i18n.php:
|
999 |
msgctxt "as sdk path"
|
1000 |
msgid "SDK Path"
|
1001 |
msgstr "SDK のパス"
|
1002 |
|
1003 |
-
#: includes/i18n.php:
|
1004 |
msgid "Add Ons of Plugin %s"
|
1005 |
msgstr "プラグインのアドオン %s"
|
1006 |
|
1007 |
-
#: includes/i18n.php:
|
1008 |
msgid "Are you sure you want to delete all Freemius data?"
|
1009 |
msgstr "ほんとうに全ての Freemius データを削除しますか?"
|
1010 |
|
1011 |
-
#: includes/i18n.php:
|
1012 |
msgid "Actions"
|
1013 |
msgstr "アクション"
|
1014 |
|
1015 |
-
#: includes/i18n.php:
|
1016 |
msgid "Delete All Accounts"
|
1017 |
msgstr "全てのアカウントを削除"
|
1018 |
|
1019 |
-
#: includes/i18n.php:
|
1020 |
msgid "Start Fresh"
|
1021 |
msgstr "初期化を開始"
|
1022 |
|
1023 |
-
#: includes/i18n.php:
|
1024 |
msgid "Clear API Cache"
|
1025 |
msgstr "API キャッシュをクリア"
|
1026 |
|
1027 |
-
#: includes/i18n.php:
|
1028 |
msgid "Sync Data From Server"
|
1029 |
msgstr "サーバーからのデータを同期"
|
1030 |
|
1031 |
-
#: includes/i18n.php:
|
1032 |
msgid "Scheduled Crons"
|
1033 |
msgstr "スケジュール Cron"
|
1034 |
|
1035 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1036 |
msgid "Plugins & Themes Sync"
|
1037 |
msgstr "プラグインとテーマを同期"
|
1038 |
|
1039 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1040 |
msgctxt "as congratulations"
|
1041 |
msgid "Congrats"
|
1042 |
msgstr "おめでとう"
|
1043 |
|
1044 |
-
#: includes/i18n.php:
|
1045 |
msgctxt "exclamation"
|
1046 |
msgid "Oops"
|
1047 |
msgstr "おっと"
|
1048 |
|
1049 |
-
#: includes/i18n.php:
|
1050 |
msgctxt "interjection expressing joy or exuberance"
|
1051 |
msgid "Yee-haw"
|
1052 |
msgstr "ヤッホー"
|
1053 |
|
1054 |
-
#: includes/i18n.php:
|
1055 |
msgctxt ""
|
1056 |
-
"(especially in electronic communication) used to express elation, "
|
1057 |
-
"enthusiasm, or triumph."
|
1058 |
msgid "W00t"
|
1059 |
msgstr "やったー"
|
1060 |
|
1061 |
-
#: includes/i18n.php:
|
1062 |
msgctxt "a positive response"
|
1063 |
msgid "Right on"
|
1064 |
msgstr "そうだ"
|
1065 |
|
1066 |
-
#: includes/i18n.php:
|
1067 |
msgctxt ""
|
1068 |
-
"something somebody says when they are thinking about what you have just "
|
1069 |
-
"said. "
|
1070 |
msgid "Hmm"
|
1071 |
msgstr "ふむ"
|
1072 |
|
1073 |
-
#: includes/i18n.php:
|
1074 |
msgid "O.K"
|
1075 |
msgstr "O.K"
|
1076 |
|
1077 |
-
#: includes/i18n.php:
|
1078 |
msgctxt "exclamation"
|
1079 |
msgid "Hey"
|
1080 |
msgstr "ヘイ"
|
1081 |
|
1082 |
-
#: includes/i18n.php:
|
1083 |
msgctxt "advance notice of something that will need attention."
|
1084 |
msgid "Heads up"
|
1085 |
msgstr "警告"
|
1086 |
|
1087 |
-
#: includes/i18n.php:
|
1088 |
msgid "Seems like you got the latest release."
|
1089 |
msgstr "最新版を取得できました。"
|
1090 |
|
1091 |
-
#: includes/i18n.php:
|
1092 |
msgid "You are all good!"
|
1093 |
msgstr "すべて完璧です!"
|
1094 |
|
1095 |
-
#: includes/i18n.php:
|
1096 |
-
msgid ""
|
1097 |
-
"Sorry, we could not complete the email update. Another user with the same "
|
1098 |
-
"email is already registered."
|
1099 |
msgstr "メールアドレスのアップデートを完了できませんでした。他のユーザーがすでに同じメールアドレスで登録しているようです。"
|
1100 |
|
1101 |
-
#: includes/i18n.php:
|
1102 |
-
msgid ""
|
1103 |
-
"If you would like to give up the ownership of the plugin's account to %s "
|
1104 |
-
"click the Change Ownership button."
|
1105 |
msgstr "もし%s にプラグインの所有権を譲りたいなら、所有権を変更ボタンをクリックしてください。"
|
1106 |
|
1107 |
-
#: includes/i18n.php:
|
1108 |
-
msgid ""
|
1109 |
-
"Your email was successfully updated. You should receive an email with "
|
1110 |
-
"confirmation instructions in few moments."
|
1111 |
msgstr "メールアドレスのアップデートが完了しました。まもなく確認メールが届きます。"
|
1112 |
|
1113 |
-
#: includes/i18n.php:
|
1114 |
msgid "Your name was successfully updated."
|
1115 |
msgstr "名前のアップデートが成功しました。"
|
1116 |
|
1117 |
-
#: includes/i18n.php:
|
1118 |
msgid "You have successfully updated your %s."
|
1119 |
msgstr "%s のアップデートが成功しました。"
|
1120 |
|
1121 |
-
#: includes/i18n.php:
|
1122 |
msgid "Please provide your full name."
|
1123 |
msgstr "フルネームを入力してください。"
|
1124 |
|
1125 |
-
#: includes/i18n.php:
|
1126 |
-
msgid ""
|
1127 |
-
"Verification mail was just sent to %s. If you can't find it after 5 min, "
|
1128 |
-
"please check your spam box."
|
1129 |
msgstr "%s に確認メールを送信しました。もし5分以内にそれが届かない場合、迷惑メールボックスを確認してください。"
|
1130 |
|
1131 |
-
#: includes/i18n.php:
|
1132 |
-
msgid ""
|
1133 |
-
"Just letting you know that the add-ons information of %s is being pulled "
|
1134 |
-
"from an external server."
|
1135 |
msgstr "%s のアドオンに関する情報は、外部サーバーから取得されます。"
|
1136 |
|
1137 |
-
#: includes/i18n.php:
|
1138 |
msgid "No credit card required"
|
1139 |
msgstr "クレジットカードは必要ありません。"
|
1140 |
|
1141 |
-
#: includes/i18n.php:
|
1142 |
msgid "Premium plugin version was successfully activated."
|
1143 |
msgstr "プレミアムプラグインのバージョンの有効化に成功しました。"
|
1144 |
|
1145 |
-
#: includes/i18n.php:
|
1146 |
msgid "The upgrade of %s was successfully completed."
|
1147 |
msgstr "%s のアップグレードが完了しました。"
|
1148 |
|
1149 |
-
#: includes/i18n.php:
|
1150 |
msgid "Your account was successfully activated with the %s plan."
|
1151 |
msgstr "アカウントが %s プランで有効化できました。"
|
1152 |
|
1153 |
-
#: includes/i18n.php:
|
1154 |
msgid "Download the latest %s version now"
|
1155 |
msgstr "%s の最新版をダウンロードする"
|
1156 |
|
1157 |
-
#: includes/i18n.php:
|
1158 |
msgid "Please follow these steps to complete the upgrade"
|
1159 |
msgstr "アップグレードを完了するには以下の手順を完了させてください。"
|
1160 |
|
1161 |
-
#: includes/i18n.php:
|
1162 |
msgid "Download the latest %s version"
|
1163 |
msgstr "最新の %s をダウンロード"
|
1164 |
|
1165 |
-
#: includes/i18n.php:
|
1166 |
msgid "Download the latest version"
|
1167 |
msgstr "最新版をダウンロード"
|
1168 |
|
1169 |
-
#: includes/i18n.php:
|
1170 |
msgid "Deactivate the free version"
|
1171 |
msgstr "無料バージョンを無効化"
|
1172 |
|
1173 |
-
#: includes/i18n.php:
|
1174 |
msgid "Upload and activate the downloaded version"
|
1175 |
msgstr "ダウンロードしたバージョンをアップロードして有効化"
|
1176 |
|
1177 |
-
#: includes/i18n.php:
|
1178 |
msgid "How to upload and activate?"
|
1179 |
msgstr "アップロードと有効化の方法"
|
1180 |
|
1181 |
-
#: includes/i18n.php:
|
1182 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1183 |
msgid "%s Add-on was successfully purchased."
|
1184 |
msgstr "%s のアドオンの支払いが完了しました。"
|
1185 |
|
1186 |
-
#: includes/i18n.php:
|
1187 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1188 |
msgstr "%s のアドオンのプランのアップグレードが完了しました。"
|
1189 |
|
1190 |
-
#: includes/i18n.php:
|
1191 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1192 |
msgstr "あなたのメールアドレスの承認が完了しました。すごい!"
|
1193 |
|
1194 |
-
#: includes/i18n.php:
|
1195 |
msgid "Your plan was successfully upgraded."
|
1196 |
msgstr "プランのアップグレードが成功しました。"
|
1197 |
|
1198 |
-
#: includes/i18n.php:
|
1199 |
msgid "Your plan was successfully changed to %s."
|
1200 |
msgstr "プランの %s への変更が成功しました。"
|
1201 |
|
1202 |
-
#: includes/i18n.php:
|
1203 |
-
msgid ""
|
1204 |
-
"Your license has expired. You can still continue using the free plugin "
|
1205 |
-
"forever."
|
1206 |
msgstr "ライセンスの有効期限が切れました。無料バージョンの利用を継続することができます。"
|
1207 |
|
1208 |
-
#: includes/i18n.php:
|
1209 |
-
msgid ""
|
1210 |
-
"Your license has been cancelled. If you think it's a mistake, please contact"
|
1211 |
-
" support."
|
1212 |
msgstr "ライセンスはキャンセルされました。もしそれが間違いだと思うならサポートに連絡してください。"
|
1213 |
|
1214 |
-
#: includes/i18n.php:
|
1215 |
msgid "Your trial has been successfully started."
|
1216 |
msgstr "トライアル版の利用を開始しました。"
|
1217 |
|
1218 |
-
#: includes/i18n.php:
|
1219 |
msgid "Your license was successfully activated."
|
1220 |
msgstr "ライセンスの有効化が成功しました。"
|
1221 |
|
1222 |
-
#: includes/i18n.php:
|
1223 |
msgid "It looks like your site currently doesn't have an active license."
|
1224 |
msgstr "サイトは有効なライセンスを持っていないようです。"
|
1225 |
|
1226 |
-
#: includes/i18n.php:
|
1227 |
-
msgid ""
|
1228 |
-
"Your license was successfully deactivated, you are back to the %s plan."
|
1229 |
msgstr "ライセンスの無効化が完了しました。%s プランに戻りました。"
|
1230 |
|
1231 |
-
#: includes/i18n.php:
|
1232 |
msgid "It looks like the license deactivation failed."
|
1233 |
msgstr "ライセンスの無効化ができませんでした。"
|
1234 |
|
1235 |
-
#: includes/i18n.php:
|
1236 |
msgid "It looks like the license could not be activated."
|
1237 |
msgstr "ライセンスの有効化ができませんでした。"
|
1238 |
|
1239 |
-
#: includes/i18n.php:
|
1240 |
msgid "Error received from the server:"
|
1241 |
msgstr "サーバーからエラーを受信しました。"
|
1242 |
|
1243 |
-
#: includes/i18n.php:
|
1244 |
-
msgid ""
|
1245 |
-
"Your trial has expired. You can still continue using all our free features."
|
1246 |
msgstr "トライアルの有効期限が切れました。引き続き無料の機能の利用を続けることができます。"
|
1247 |
|
1248 |
-
#: includes/i18n.php:
|
1249 |
-
msgid ""
|
1250 |
-
"Your plan was successfully downgraded. Your %s plan license will expire in "
|
1251 |
-
"%s."
|
1252 |
msgstr "プランのダウングレードが完了しました。%s プランは %s に有効期限が切れます。"
|
1253 |
|
1254 |
-
#: includes/i18n.php:
|
1255 |
-
msgid ""
|
1256 |
-
"Seems like we are having some temporary issue with your plan downgrade. "
|
1257 |
-
"Please try again in few minutes."
|
1258 |
msgstr "プランのダウングレードの際に一時的な問題が発生したようです。数分後に再度操作してください。"
|
1259 |
|
1260 |
-
#: includes/i18n.php:
|
1261 |
-
msgid ""
|
1262 |
-
"It looks like you are not in trial mode anymore so there's nothing to cancel"
|
1263 |
-
" :)"
|
1264 |
msgstr "すでにトライアルモードではないようなので、キャンセルする必要はありません :)"
|
1265 |
|
1266 |
-
#: includes/i18n.php:
|
1267 |
msgid "Your %s free trial was successfully cancelled."
|
1268 |
msgstr "%s のフリートライアルはキャンセルされました。"
|
1269 |
|
1270 |
-
#: includes/i18n.php:
|
1271 |
msgctxt "%s - numeric version number"
|
1272 |
msgid "Version %s was released."
|
1273 |
msgstr "バージョン %s をリリースしました。"
|
1274 |
|
1275 |
-
#: includes/i18n.php:
|
1276 |
msgid "Please download %s."
|
1277 |
msgstr "%s をダウンロードしてください。"
|
1278 |
|
1279 |
-
#: includes/i18n.php:
|
1280 |
msgctxt "%s - plan name, as the latest professional version here"
|
1281 |
msgid "the latest %s version here"
|
1282 |
msgstr "最新の %s バージョンはこちらです。"
|
1283 |
|
1284 |
-
#: includes/i18n.php:
|
1285 |
-
msgid ""
|
1286 |
-
"How do you like %s so far? Test all our %s premium features with a %d-day "
|
1287 |
-
"free trial."
|
1288 |
msgstr "%s はどうですか? 私たちの全ての %s のプレミアム機能をお試しください。"
|
1289 |
|
1290 |
-
#: includes/i18n.php:
|
1291 |
msgctxt "call to action"
|
1292 |
msgid "Start free trial"
|
1293 |
msgstr "フリートライアルを開始"
|
1294 |
|
1295 |
-
#: includes/i18n.php:
|
1296 |
msgid "Starting trial"
|
1297 |
msgstr "トライアルを開始"
|
1298 |
|
1299 |
-
#: includes/i18n.php:
|
1300 |
msgid "Please wait"
|
1301 |
msgstr "お待ちください"
|
1302 |
|
1303 |
-
#: includes/i18n.php:
|
1304 |
-
msgid ""
|
1305 |
-
"Seems like we are having some temporary issue with your trial cancellation. "
|
1306 |
-
"Please try again in few minutes."
|
1307 |
msgstr "トライアルのキャンセルに一時的な問題がありました。数分後に再度お試しください。"
|
1308 |
|
1309 |
-
#: includes/i18n.php:
|
1310 |
msgid "You already utilized a trial before."
|
1311 |
msgstr "以前すでに試用版を利用しました。"
|
1312 |
|
1313 |
-
#: includes/i18n.php:
|
1314 |
msgid "You are already running the plugin in a trial mode."
|
1315 |
msgstr "すでにトライアル版のプラグインを利用しています。"
|
1316 |
|
1317 |
-
#: includes/i18n.php:
|
1318 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1319 |
msgstr "%s プランは存在しないため、試用を開始できません。"
|
1320 |
|
1321 |
-
#: includes/i18n.php:
|
1322 |
msgid "Plan %s does not support a trial period."
|
1323 |
msgstr "%s プランにはトライアル期間はありません。"
|
1324 |
|
1325 |
-
#: includes/i18n.php:
|
1326 |
msgid "None of the plugin's plans supports a trial period."
|
1327 |
msgstr "トライアル期間をサポートしているプランのプラグインはありません。"
|
1328 |
|
1329 |
-
#: includes/i18n.php:
|
1330 |
-
msgid ""
|
1331 |
-
"Unexpected API error. Please contact the plugin's author with the following "
|
1332 |
-
"error."
|
1333 |
msgstr "予期しない API のエラー。プラグイン開発者に連絡をとってください。"
|
1334 |
|
1335 |
-
#: includes/i18n.php:
|
1336 |
msgid "No commitment for %s days - cancel anytime!"
|
1337 |
msgstr "%s 日以内であればいつでもキャンセルできます。"
|
1338 |
|
1339 |
-
#: includes/i18n.php:
|
1340 |
-
msgid ""
|
1341 |
-
"Your license has expired. You can still continue using all the %s features, "
|
1342 |
-
"but you'll need to renew your license to continue getting updates and "
|
1343 |
-
"support."
|
1344 |
msgstr "ライセンスは有効期限がきれました。%s の機能を引き続き利用することができます。ただし、アップデートやサポートをうけるにはライセンスをアップデートする必要があります。"
|
1345 |
|
1346 |
-
#: includes/i18n.php:
|
1347 |
msgid "Couldn't activate %s."
|
1348 |
msgstr "%s を有効化できません。"
|
1349 |
|
1350 |
-
#: includes/i18n.php:
|
1351 |
msgid "Please contact us with the following message:"
|
1352 |
msgstr "以下のメッセージとともに私たちに連絡をください。"
|
1353 |
|
1354 |
-
#: includes/i18n.php:
|
1355 |
-
msgid ""
|
1356 |
-
"It looks like you are still on the %s plan. If you did upgrade or change "
|
1357 |
-
"your plan, it's probably an issue on our side - sorry."
|
1358 |
msgstr "まだ %s プランのようです。もしアップグレードやプランの変更をしたのなら、こちらで何らかの問題が発生しているようです。申し訳ありません。"
|
1359 |
|
1360 |
-
#: includes/i18n.php:
|
1361 |
msgid "Please contact us here"
|
1362 |
msgstr "こちらで私たちに連絡をとってください。"
|
1363 |
|
1364 |
-
#: includes/i18n.php:
|
1365 |
-
msgid ""
|
1366 |
-
"I have upgraded my account but when I try to Sync the License, the plan "
|
1367 |
-
"remains %s."
|
1368 |
msgstr "アカウントをアップグレードしましたが、ライセンスを同期しようとするとプランが %s のままです。"
|
1369 |
|
1370 |
-
#: includes/i18n.php:
|
1371 |
msgid "From unknown reason, the API connectivity test failed."
|
1372 |
msgstr "不明のエラーにより、API 接続ができませんでした。"
|
1373 |
|
1374 |
-
#: includes/i18n.php:
|
1375 |
-
msgid ""
|
1376 |
-
"It's probably a temporary issue on our end. Just to be sure, with your "
|
1377 |
-
"permission, would it be o.k to run another connectivity test?"
|
1378 |
msgstr "それは私たちの一時的な問題のようです。もし許可していただけるなら他の接続テストをしてもよいですか?"
|
1379 |
|
1380 |
-
#: includes/i18n.php:
|
1381 |
-
msgid ""
|
1382 |
-
"We use PHP cURL library for the API calls, which is a very common library "
|
1383 |
-
"and usually installed out of the box. Unfortunately, cURL is not installed "
|
1384 |
-
"on your server."
|
1385 |
-
msgstr "私たちは、API コールに PHP の cURL ライブラリを使用しています。これは一般的なライブラリで多くの場合インストールされていますが、あなたのサーバーにはインストールされていないようです。"
|
1386 |
|
1387 |
-
#: includes/i18n.php:
|
1388 |
-
msgid ""
|
1389 |
-
"
|
|
|
|
|
|
|
1390 |
msgstr "不明のエラーにより私たちが使用している CloudFlare のファイヤーウォールが接続を拒否したようです。"
|
1391 |
|
1392 |
-
#: includes/i18n.php:
|
1393 |
msgctxt "as pluginX requires an access to our API"
|
1394 |
msgid "%s requires an access to our API."
|
1395 |
msgstr "%s は、私たちの API への接続が必要です。"
|
1396 |
|
1397 |
-
#: includes/i18n.php:
|
1398 |
-
msgid ""
|
1399 |
-
"It looks like your server is using Squid ACL (access control lists), which "
|
1400 |
-
"blocks the connection."
|
1401 |
msgstr "サーバーは Squid ACL(Access control lists) を使用しているらしく、それが接続をブロックしています。"
|
1402 |
|
1403 |
-
#: includes/i18n.php:
|
1404 |
msgid "I don't know what is Squid or ACL, help me!"
|
1405 |
msgstr "Squid ACL について知りません。助けてください!"
|
1406 |
|
1407 |
-
#: includes/i18n.
|
1408 |
-
msgid ""
|
1409 |
-
"We'll make sure to contact your hosting company and resolve the issue. You "
|
1410 |
-
"will get a follow-up email to %s once we have an update."
|
1411 |
msgstr "ホスティング会社に連絡して問題を解決してください。 更新が完了したら、 %s へのフォローアップメールが届きます。"
|
1412 |
|
1413 |
-
#: includes/i18n.php:
|
1414 |
msgid "I'm a system administrator"
|
1415 |
msgstr "私はシステム管理者です"
|
1416 |
|
1417 |
-
#: includes/i18n.php:
|
1418 |
-
msgid ""
|
1419 |
-
"Great, please whitelist the following domains: %s. Once you done, deactivate"
|
1420 |
-
" the plugin and activate it again."
|
1421 |
-
msgstr "以下のドメインを許可してください: %s 。それが完了したらそのプラグインを無効化して有効化してください。"
|
1422 |
|
1423 |
-
#: includes/i18n.php:
|
1424 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1425 |
msgstr "cURL がなにか、そのインストール方法を知りません。助けてください。"
|
1426 |
|
1427 |
-
#: includes/i18n.php:
|
1428 |
-
msgid ""
|
1429 |
-
"Great, please install cURL and enable it in your php.ini file. To make sure "
|
1430 |
-
"it was successfully activated, use 'phpinfo()'. Once activated, deactivate "
|
1431 |
-
"the plugin and reactivate it back again."
|
1432 |
-
msgstr "cURLをインストールし、php.iniファイルで有効にしてください。 正常に起動されたことを確認するには、 'phpinfo()' を使用してください。 プラグインを有効化したら、プラグインを無効化して再度有効化し直してください。"
|
1433 |
|
1434 |
-
#: includes/i18n.php:
|
1435 |
-
msgid ""
|
1436 |
-
"We are sure it's an issue on our side and more than happy to resolve it for "
|
1437 |
-
"you ASAP if you give us a chance."
|
1438 |
msgstr "それは私たちの側の問題だと確信しています。もし機会をくれるなら私たちはそれを一刻でも早く修正します。"
|
1439 |
|
1440 |
-
#: includes/i18n.php:
|
1441 |
-
msgid ""
|
1442 |
-
"Sorry for the inconvenience and we are here to help if you give us a chance."
|
1443 |
msgstr "ご迷惑をおかけしてすいません。もし機会をいただけたらお手伝いをします。"
|
1444 |
|
1445 |
-
#: includes/i18n.php:
|
1446 |
msgid "Yes - I'm giving you a chance to fix it"
|
1447 |
msgstr "はい、修正をお願いします。"
|
1448 |
|
1449 |
-
#: includes/i18n.php:
|
1450 |
-
msgid ""
|
1451 |
-
"We will do our best to whitelist your server and resolve this issue ASAP. "
|
1452 |
-
"You will get a follow-up email to %s once we have an update."
|
1453 |
msgstr "私たちは、少しでも早くサーバーをホワイトリストに登録して問題を修正します。アップデートを行ったら、%s あてに報告を送信します。"
|
1454 |
|
1455 |
-
#: includes/i18n.php:
|
1456 |
msgid "Let's try your previous version"
|
1457 |
msgstr "以前のバージョンでお試しください。"
|
1458 |
|
1459 |
-
#: includes/i18n.php:
|
1460 |
msgid "Uninstall this version and install the previous one."
|
1461 |
msgstr "このバージョンをアンインストールして、以前のバージョンをインストールする。"
|
1462 |
|
1463 |
-
#: includes/i18n.php:
|
1464 |
msgid "That's exhausting, please deactivate"
|
1465 |
msgstr "それは、使用できません。無効化してください。"
|
1466 |
|
1467 |
-
#: includes/i18n.php:
|
1468 |
-
msgid ""
|
1469 |
-
"We feel your frustration and sincerely apologize for the inconvenience. Hope"
|
1470 |
-
" to see you again in the future."
|
1471 |
msgstr "ご迷惑をおかけして心からお詫び申し上げます。将来ふたたびお会いできることを楽しみにしています。"
|
1472 |
|
1473 |
-
#: includes/i18n.php:
|
1474 |
-
msgid ""
|
1475 |
-
"Thank for giving us the chance to fix it! A message was just sent to our "
|
1476 |
-
"technical staff. We will get back to you as soon as we have an update to %s."
|
1477 |
-
" Appreciate your patience."
|
1478 |
msgstr "修正するチャンスをいただきありがとうございます! テクニカルスタッフにメッセージが送信されました。 %s への更新が行われるとすぐにあなたに連絡します。 あなたの忍耐に感謝します。"
|
1479 |
|
1480 |
-
#: includes/i18n.php:
|
1481 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1482 |
-
msgid ""
|
1483 |
-
"Your server is blocking the access to Freemius' API, which is crucial for "
|
1484 |
-
"%1s synchronization. Please contact your host to whitelist %2s"
|
1485 |
msgstr "サーバーは %1s の同期に不可欠な Freemius の API へのアクセスをブロックしています。 ホワイトリストに %2s を追加していただけるようあなたのホスティング会社に連絡してください。"
|
1486 |
|
1487 |
-
#: includes/i18n.php:
|
1488 |
-
msgid ""
|
1489 |
-
"It seems like one of the authentication parameters is wrong. Update your "
|
1490 |
-
"Public Key, Secret Key & User ID, and try again."
|
1491 |
msgstr "認証パラメータの1つが間違っているようです。 公開鍵、秘密鍵、ユーザーIDを更新して、もう一度お試しください。"
|
1492 |
|
1493 |
-
#: includes/i18n.php:
|
1494 |
-
msgid ""
|
1495 |
-
"Please check your mailbox, you should receive an email via %s to confirm the"
|
1496 |
-
" ownership change. From security reasons, you must confirm the change within"
|
1497 |
-
" the next 15 min. If you cannot find the email, please check your spam "
|
1498 |
-
"folder."
|
1499 |
msgstr "メールボックスを確認してください。所有権の変更を確認するには、%s でメールを受け取る必要があります。 セキュリティ上の理由から、次の15分以内に変更を確認する必要があります。 電子メールが見つからない場合は、迷惑メールフォルダを確認してください。"
|
1500 |
|
1501 |
-
#: includes/i18n.php:
|
1502 |
-
msgid ""
|
1503 |
-
"Thanks for confirming the ownership change. An email was just sent to %s for"
|
1504 |
-
" final approval."
|
1505 |
msgstr "所有権の変更を確認していただきありがとうございます。 %s に承認メールが送信されました。"
|
1506 |
|
1507 |
-
#: includes/i18n.php:
|
1508 |
msgid "%s is the new owner of the account."
|
1509 |
msgstr "%s は新しいオーナーです。"
|
1510 |
|
1511 |
-
#: includes/i18n.php:
|
1512 |
msgctxt "addonX cannot run without pluginY"
|
1513 |
msgid "%s cannot run without %s."
|
1514 |
msgstr "%s は、%s が無いと実行することができません。"
|
1515 |
|
1516 |
-
#: includes/i18n.php:
|
1517 |
msgctxt "addonX cannot run..."
|
1518 |
msgid "%s cannot run without the plugin."
|
1519 |
msgstr "%s は、プラグインが無いと実行することができません。"
|
1520 |
|
1521 |
-
#: includes/i18n.php:
|
1522 |
msgctxt "pluginX activation was successfully..."
|
1523 |
msgid "%s activation was successfully completed."
|
1524 |
msgstr "%s の有効化が成功しました。"
|
1525 |
|
1526 |
-
#: includes/i18n.php:
|
1527 |
msgctxt "Plugin installer section title"
|
1528 |
msgid "Features & Pricing"
|
1529 |
msgstr "機能 & 料金"
|
1530 |
|
1531 |
-
#: includes/i18n.php:
|
1532 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1533 |
msgstr "アドオンが WordPress.org か Freemius にデプロイされている必要があります。"
|
1534 |
|
1535 |
-
#: includes/i18n.php:
|
1536 |
msgid "Paid add-on must be deployed to Freemius."
|
1537 |
msgstr "有料アドオンは Freemius にデプロイされている必要があります。"
|
1538 |
|
1539 |
-
#: includes/i18n.php:
|
1540 |
-
msgid ""
|
1541 |
-
"%s is a premium only add-on. You have to purchase a license first before "
|
1542 |
-
"activating the plugin."
|
1543 |
msgstr "%s はプレミアムのみのアドオンです。そのプラグインを有効化する前にライセンスを購入する必要があります。"
|
1544 |
|
1545 |
-
#: includes/i18n.php:
|
1546 |
-
msgid ""
|
1547 |
-
"%s free trial was successfully cancelled. Since the add-on is premium only "
|
1548 |
-
"it was automatically deactivated. If you like to use it in the future, "
|
1549 |
-
"you'll have to purchase a license."
|
1550 |
msgstr "%s の無料試用が正常にキャンセルされました。 アドオンはプレミアムなので、自動的に無効化されました。 将来使用したい場合は、ライセンスを購入する必要があります。"
|
1551 |
|
1552 |
-
#: includes/i18n.php:
|
1553 |
msgctxt "as every month"
|
1554 |
msgid "Monthly"
|
1555 |
msgstr "月"
|
1556 |
|
1557 |
-
#: includes/i18n.php:
|
1558 |
msgctxt "as monthly period"
|
1559 |
msgid "mo"
|
1560 |
msgstr "月"
|
1561 |
|
1562 |
-
#: includes/i18n.php:
|
1563 |
msgctxt "as once a year"
|
1564 |
msgid "Annual"
|
1565 |
msgstr "年次"
|
1566 |
|
1567 |
-
#: includes/i18n.php:
|
1568 |
msgctxt "as once a year"
|
1569 |
msgid "Annually"
|
1570 |
msgstr "毎年"
|
1571 |
|
1572 |
-
#: includes/i18n.php:
|
1573 |
msgctxt "as once a year"
|
1574 |
msgid "Once"
|
1575 |
msgstr "一度"
|
1576 |
|
1577 |
-
#: includes/i18n.php:
|
1578 |
msgctxt "as annual period"
|
1579 |
msgid "year"
|
1580 |
msgstr "年"
|
1581 |
|
1582 |
-
#: includes/i18n.php:
|
1583 |
msgid "Lifetime"
|
1584 |
msgstr "ライフタイム"
|
1585 |
|
1586 |
-
#: includes/i18n.php:
|
1587 |
msgctxt "e.g. the best product"
|
1588 |
msgid "Best"
|
1589 |
msgstr "ベスト"
|
1590 |
|
1591 |
-
#: includes/i18n.php:
|
1592 |
msgctxt "e.g. billed monthly"
|
1593 |
msgid "Billed %s"
|
1594 |
msgstr "%s への請求"
|
1595 |
|
1596 |
-
#: includes/i18n.php:
|
1597 |
msgctxt "as a discount of $5 or 10%"
|
1598 |
msgid "Save %s"
|
1599 |
msgstr "%s を保存"
|
1600 |
|
1601 |
-
#: includes/i18n.php:
|
1602 |
msgid "View details"
|
1603 |
msgstr "詳細を表示"
|
1604 |
|
1605 |
-
#: includes/i18n.php:
|
1606 |
msgctxt "button label"
|
1607 |
msgid "Approve & Start Trial"
|
1608 |
msgstr "気に入ったのでトライアルを開始"
|
1609 |
|
1610 |
-
#: includes/i18n.php:
|
1611 |
-
msgid ""
|
1612 |
-
"You are 1-click away from starting your %1$s-day free trial of the %2$s "
|
1613 |
-
"plan."
|
1614 |
msgstr "%2$s プランの%1$s日間のフリートライアルを開始するまであとワンクリックです。"
|
1615 |
|
1616 |
-
#: includes/i18n.php:
|
1617 |
-
msgid ""
|
1618 |
-
"For compliance with the WordPress.org guidelines, before we start the trial "
|
1619 |
-
"we ask that you opt-in with your user and non-sensitive site information, "
|
1620 |
-
"allowing the plugin to periodically send data to %s to check for version "
|
1621 |
-
"updates and to validate your trial."
|
1622 |
msgstr "WordPress.org ガイドラインの遵守のため、ユーザーとセンシティブでないサイト情報をオプトインすること、バージョンの更新確認のために %s へとプラグインが一時的にデータを送信することの許可、トライアルを有効にすることの3つについて、トライアルの開始前にお尋ねします。"
|
1623 |
|
1624 |
-
#: includes/i18n.php:
|
1625 |
msgid "Business name"
|
1626 |
msgstr "商号"
|
1627 |
|
1628 |
-
#: includes/i18n.php:
|
1629 |
msgid "Tax / VAT ID"
|
1630 |
msgstr "税金 / VAT ID"
|
1631 |
|
1632 |
-
#: includes/i18n.php:
|
1633 |
msgid "Address Line %d"
|
1634 |
msgstr "住所欄 %d"
|
1635 |
|
1636 |
-
#: includes/i18n.php:
|
1637 |
msgid "Country"
|
1638 |
msgstr "国"
|
1639 |
|
1640 |
-
#: includes/i18n.php:
|
1641 |
msgid "Select Country"
|
1642 |
msgstr "国を選択"
|
1643 |
|
1644 |
-
#: includes/i18n.php:
|
1645 |
msgid "City"
|
1646 |
msgstr "市"
|
1647 |
|
1648 |
-
#: includes/i18n.php:
|
1649 |
msgid "Town"
|
1650 |
msgstr "町"
|
1651 |
|
1652 |
-
#: includes/i18n.php:
|
1653 |
msgid "State"
|
1654 |
msgstr "州"
|
1655 |
|
1656 |
-
#: includes/i18n.php:
|
1657 |
msgid "Province"
|
1658 |
msgstr "県・州・省"
|
1659 |
|
1660 |
-
#: includes/i18n.php:
|
1661 |
msgid "ZIP / Postal Code"
|
1662 |
msgstr "ZIP / 郵便番号"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
+
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
# Odyssey <8bitodyssey+github@gmail.com>, 2016
|
5 |
# Takayuki Miyauchi <miya0001@users.noreply.github.com>, 2016
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
+
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
10 |
"POT-Creation-Date: \n"
|
11 |
+
"PO-Revision-Date: 2017-05-12 17:32+0000\n"
|
12 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
13 |
+
"Language: ja_JP\n"
|
14 |
"Language-Team: Japanese (Japan) (http://www.transifex.com/freemius/wordpress-sdk/language/ja_JP/)\n"
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
+
"Content-Transfer-Encoding: 8bit\n"
|
|
|
17 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
18 |
+
"MIME-Version: 1.0\n"
|
19 |
+
"X-Poedit-Basepath: ..\n"
|
20 |
+
"X-Poedit-KeywordsList: _fs_text;_fs_echo;_fs_esc_attr;_fs_esc_attr_echo;_fs_esc_html;_fs_esc_html_echo;_fs_x:1,2c;_fs_ex:1,2c;_fs_esc_attr_x:1,2c;_fs_esc_html_x:1,2c;_fs_n:1,2;_fs_n_noop:1,2;_fs_nx:1,2,4c;_fs_nx_noop:1,2,3c\n"
|
21 |
+
"X-Poedit-SearchPath-0: .\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
|
25 |
+
#: includes/i18n.php:37
|
|
|
|
|
|
|
|
|
26 |
msgid "Account"
|
27 |
msgstr "アカウント"
|
28 |
|
29 |
+
#: includes/i18n.php:38
|
30 |
msgid "Add On"
|
31 |
msgstr "アドオン"
|
32 |
|
33 |
+
#: includes/i18n.php:39
|
34 |
msgid "Contact Us"
|
35 |
msgstr "連絡"
|
36 |
|
37 |
+
#: includes/i18n.php:40
|
38 |
msgid "Contact Support"
|
39 |
msgstr "サポートに連絡"
|
40 |
|
41 |
+
#: includes/i18n.php:41
|
42 |
msgid "Change Ownership"
|
43 |
msgstr "オーナーを変更"
|
44 |
|
45 |
+
#: includes/i18n.php:42
|
46 |
msgid "Support"
|
47 |
msgstr "サポート"
|
48 |
|
49 |
+
#: includes/i18n.php:43
|
50 |
msgid "Support Forum"
|
51 |
msgstr "サポートフォーラム"
|
52 |
|
53 |
+
#: includes/i18n.php:44
|
54 |
msgid "Add Ons"
|
55 |
msgstr "アドオン"
|
56 |
|
57 |
+
#: includes/i18n.php:45
|
58 |
msgctxt "verb"
|
59 |
msgid "Upgrade"
|
60 |
msgstr "アップグレード"
|
61 |
|
62 |
+
#: includes/i18n.php:46
|
63 |
msgid "Awesome"
|
64 |
msgstr "すごい!"
|
65 |
|
66 |
+
#: includes/i18n.php:47
|
67 |
msgctxt "noun"
|
68 |
msgid "Pricing"
|
69 |
msgstr "料金表"
|
70 |
|
71 |
+
#: includes/i18n.php:48
|
72 |
msgctxt "noun"
|
73 |
msgid "Price"
|
74 |
msgstr "料金"
|
75 |
|
76 |
+
#: includes/i18n.php:49
|
77 |
msgid "Unlimited Updates"
|
78 |
msgstr "無制限のアップデート"
|
79 |
|
80 |
+
#: includes/i18n.php:50
|
81 |
msgctxt "verb"
|
82 |
msgid "Downgrade"
|
83 |
msgstr "ダウングレード"
|
84 |
|
85 |
+
#: includes/i18n.php:51
|
86 |
+
msgctxt "verb"
|
87 |
+
msgid "Cancel Subscription"
|
88 |
+
msgstr "Cancel Subscription"
|
89 |
+
|
90 |
+
#: includes/i18n.php:52
|
91 |
msgid "Cancel Trial"
|
92 |
msgstr "トライアルをキャンセル"
|
93 |
|
94 |
+
#: includes/i18n.php:53
|
95 |
msgid "Free Trial"
|
96 |
msgstr "フリートライアル"
|
97 |
|
98 |
+
#: includes/i18n.php:54
|
99 |
msgid "Start my free %s"
|
100 |
msgstr "無料の %s を開始"
|
101 |
|
102 |
+
#: includes/i18n.php:55
|
103 |
msgid "No commitment for %s - cancel anytime"
|
104 |
msgstr "%s の拘束はありません。いつでもキャンセルできます。"
|
105 |
|
106 |
+
#: includes/i18n.php:56
|
107 |
msgid "After your free %s, pay as little as %s"
|
108 |
msgstr "無料の %s の後は、わずか %s だけお支払ください。"
|
109 |
|
110 |
+
#: includes/i18n.php:57
|
111 |
msgid "Details"
|
112 |
msgstr "詳細"
|
113 |
|
114 |
+
#: includes/i18n.php:58
|
115 |
msgid "Account Details"
|
116 |
msgstr "アカウント詳細"
|
117 |
|
118 |
+
#: includes/i18n.php:59
|
119 |
msgctxt "verb"
|
120 |
msgid "Delete"
|
121 |
msgstr "削除"
|
122 |
|
123 |
+
#: includes/i18n.php:60
|
124 |
msgctxt "verb"
|
125 |
msgid "Show"
|
126 |
msgstr "表示"
|
127 |
|
128 |
+
#: includes/i18n.php:61
|
129 |
msgctxt "verb"
|
130 |
msgid "Hide"
|
131 |
msgstr "非表示"
|
132 |
|
133 |
+
#: includes/i18n.php:62
|
134 |
msgctxt "verb"
|
135 |
msgid "Edit"
|
136 |
msgstr "編集"
|
137 |
|
138 |
+
#: includes/i18n.php:63
|
139 |
msgctxt "verb"
|
140 |
msgid "Update"
|
141 |
msgstr "更新"
|
142 |
|
143 |
+
#: includes/i18n.php:64
|
144 |
msgid "Date"
|
145 |
msgstr "日付"
|
146 |
|
147 |
+
#: includes/i18n.php:65
|
148 |
msgid "Amount"
|
149 |
msgstr "総額"
|
150 |
|
151 |
+
#: includes/i18n.php:66
|
152 |
msgid "Invoice"
|
153 |
msgstr "請求書"
|
154 |
|
155 |
+
#: includes/i18n.php:67
|
156 |
msgid "Billing"
|
157 |
msgstr "請求書"
|
158 |
|
159 |
+
#: includes/i18n.php:68
|
160 |
msgid "Payments"
|
161 |
msgstr "支払い"
|
162 |
|
163 |
+
#: includes/i18n.php:69
|
164 |
msgid "Delete Account"
|
165 |
msgstr "アカウントを削除"
|
166 |
|
167 |
+
#: includes/i18n.php:70
|
168 |
msgctxt "as close a window"
|
169 |
msgid "Dismiss"
|
170 |
msgstr "却下"
|
171 |
|
172 |
+
#: includes/i18n.php:71
|
173 |
msgctxt "as product pricing plan"
|
174 |
msgid "Plan"
|
175 |
msgstr "プラン"
|
176 |
|
177 |
+
#: includes/i18n.php:72
|
178 |
msgid "Change Plan"
|
179 |
msgstr "プラン変更"
|
180 |
|
181 |
+
#: includes/i18n.php:73
|
182 |
msgctxt "as download professional version"
|
183 |
msgid "Download %s Version"
|
184 |
msgstr "%s バージョンをダウンロード"
|
185 |
|
186 |
+
#: includes/i18n.php:74
|
187 |
msgctxt "as download professional version now"
|
188 |
msgid "Download %s version now"
|
189 |
msgstr "%s バージョンを今すぐダウンロード"
|
190 |
|
191 |
+
#: includes/i18n.php:75
|
192 |
msgctxt "as download latest version"
|
193 |
msgid "Download Latest"
|
194 |
msgstr "最新版をダウンロード"
|
195 |
|
196 |
+
#: includes/i18n.php:76
|
197 |
msgctxt "E.g. you have a professional license."
|
198 |
msgid "You have a %s license."
|
199 |
msgstr "%s ライセンスを持っています。"
|
200 |
|
201 |
+
#: includes/i18n.php:77
|
202 |
msgid "New"
|
203 |
msgstr "新規"
|
204 |
|
205 |
+
#: includes/i18n.php:78
|
206 |
msgid "Free"
|
207 |
msgstr "無料"
|
208 |
|
209 |
+
#: includes/i18n.php:79
|
210 |
msgctxt "as trial plan"
|
211 |
msgid "Trial"
|
212 |
msgstr "トライアル"
|
213 |
|
214 |
+
#: includes/i18n.php:80
|
215 |
msgctxt "as starting a trial plan"
|
216 |
msgid "Start Trial"
|
217 |
msgstr "トライアルを開始"
|
218 |
|
219 |
+
#: includes/i18n.php:81
|
220 |
msgctxt "verb"
|
221 |
msgid "Purchase"
|
222 |
msgstr "購入"
|
223 |
|
224 |
+
#: includes/i18n.php:82
|
225 |
msgid "Purchase License"
|
226 |
msgstr "ライセンスを購入"
|
227 |
|
228 |
+
#: includes/i18n.php:83
|
229 |
msgctxt "verb"
|
230 |
msgid "Buy"
|
231 |
msgstr "買う"
|
232 |
|
233 |
+
#: includes/i18n.php:84
|
234 |
msgid "Buy License"
|
235 |
msgstr "ライセンスを買う"
|
236 |
|
237 |
+
#: includes/i18n.php:85
|
238 |
msgid "Single Site License"
|
239 |
msgstr "シングルサイトライセンス"
|
240 |
|
241 |
+
#: includes/i18n.php:86
|
242 |
msgid "Unlimited Licenses"
|
243 |
msgstr "無制限ライセンス"
|
244 |
|
245 |
+
#: includes/i18n.php:87
|
246 |
msgid "Up to %s Sites"
|
247 |
msgstr "%sサイトまで"
|
248 |
|
249 |
+
#: includes/i18n.php:88
|
250 |
msgid "%sRenew your license now%s to access version %s features and support."
|
251 |
msgstr "%sいますぐライセンスを更新して%s バージョン %s の機能とサポートにアクセスする"
|
252 |
|
253 |
+
#: includes/i18n.php:89
|
254 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
|
|
|
|
255 |
msgstr "アップグレードに使用したメールアドレスを下に入力してください。そうすれば、ライセンスキーをお送りします。"
|
256 |
|
257 |
+
#: includes/i18n.php:90
|
258 |
msgctxt "e.g. Professional Plan"
|
259 |
msgid "%s Plan"
|
260 |
msgstr "%s プラン"
|
261 |
|
262 |
+
#: includes/i18n.php:91
|
263 |
msgid "You are just one step away - %s"
|
264 |
msgstr "もうあとわずかです - %s"
|
265 |
|
266 |
+
#: includes/i18n.php:92
|
267 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
msgstr "すぐに \"%s\" 有効化を完了してください"
|
270 |
|
271 |
+
#: includes/i18n.php:94
|
272 |
msgid "We made a few tweaks to the plugin, %s"
|
273 |
msgstr "プラグインを微調整します, %s"
|
274 |
|
275 |
+
#: includes/i18n.php:95
|
276 |
msgid "Opt-in to make \"%s\" Better!"
|
277 |
msgstr "\"%s\" をより良くするためにオプトインしてください!"
|
278 |
|
279 |
+
#: includes/i18n.php:96
|
280 |
msgid "Error"
|
281 |
msgstr "エラー"
|
282 |
|
283 |
+
#: includes/i18n.php:97
|
284 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
285 |
msgstr "Freemius SDK がプラグインのメインファイルを見つけることができませんでした。現在のエラーを添えて sdk@freemius.com に連絡してください。"
|
286 |
|
287 |
+
#: includes/i18n.php:100
|
288 |
msgctxt "as expiration date"
|
289 |
msgid "Expiration"
|
290 |
msgstr "期限切れ"
|
291 |
|
292 |
+
#: includes/i18n.php:101
|
293 |
msgctxt "as software license"
|
294 |
msgid "License"
|
295 |
msgstr "ライセンス"
|
296 |
|
297 |
+
#: includes/i18n.php:102
|
298 |
msgid "not verified"
|
299 |
msgstr "未認証"
|
300 |
|
301 |
+
#: includes/i18n.php:103
|
302 |
msgid "Verify Email"
|
303 |
msgstr "認証メール"
|
304 |
|
305 |
+
#: includes/i18n.php:104
|
306 |
msgctxt "e.g. expires in 2 months"
|
307 |
msgid "Expires in %s"
|
308 |
msgstr "%s で期間終了"
|
309 |
|
310 |
+
#: includes/i18n.php:105
|
311 |
msgctxt "e.g. auto renews in 2 months"
|
312 |
msgid "Auto renews in %s"
|
313 |
msgstr "%s に自動更新"
|
314 |
|
315 |
+
#: includes/i18n.php:106
|
316 |
msgid "No expiration"
|
317 |
msgstr "有効期限なし"
|
318 |
|
319 |
+
#: includes/i18n.php:107
|
320 |
msgid "Expired"
|
321 |
msgstr "期限切れ"
|
322 |
|
323 |
+
#: includes/i18n.php:108
|
324 |
msgid "Cancelled"
|
325 |
msgstr "キャンセル"
|
326 |
|
327 |
+
#: includes/i18n.php:109
|
328 |
msgctxt "e.g. In 2 hours"
|
329 |
msgid "In %s"
|
330 |
msgstr "%s 内"
|
331 |
|
332 |
+
#: includes/i18n.php:110
|
333 |
msgctxt "e.g. 2 min ago"
|
334 |
msgid "%s ago"
|
335 |
msgstr "%s 前"
|
336 |
|
337 |
+
#: includes/i18n.php:112
|
338 |
+
msgid "%s or higher"
|
339 |
+
msgstr "%s or higher"
|
340 |
+
|
341 |
+
#: includes/i18n.php:113
|
342 |
msgctxt "as plugin version"
|
343 |
msgid "Version"
|
344 |
msgstr "バージョン"
|
345 |
|
346 |
+
#: includes/i18n.php:114
|
347 |
msgid "Name"
|
348 |
msgstr "名前"
|
349 |
|
350 |
+
#: includes/i18n.php:115
|
351 |
msgid "Email"
|
352 |
msgstr "Email"
|
353 |
|
354 |
+
#: includes/i18n.php:116
|
355 |
msgid "Email address"
|
356 |
msgstr "メールアドレス"
|
357 |
|
358 |
+
#: includes/i18n.php:117
|
359 |
msgid "Verified"
|
360 |
msgstr "認証済み"
|
361 |
|
362 |
+
#: includes/i18n.php:118
|
363 |
+
msgid "Module"
|
364 |
+
msgstr "Module"
|
365 |
+
|
366 |
+
#: includes/i18n.php:119
|
367 |
+
msgid "Module Type"
|
368 |
+
msgstr "Module Type"
|
369 |
+
|
370 |
+
#: includes/i18n.php:120
|
371 |
msgid "Plugin"
|
372 |
msgstr "プラグイン"
|
373 |
|
374 |
+
#: includes/i18n.php:121
|
375 |
msgid "Plugins"
|
376 |
msgstr "プラグイン"
|
377 |
|
378 |
+
#: includes/i18n.php:122
|
379 |
+
msgid "Theme"
|
380 |
+
msgstr "Theme"
|
381 |
+
|
382 |
+
#: includes/i18n.php:123
|
383 |
msgid "Themes"
|
384 |
msgstr "テーマ"
|
385 |
|
386 |
+
#: includes/i18n.php:124
|
387 |
msgctxt "as file/folder path"
|
388 |
msgid "Path"
|
389 |
msgstr "パス"
|
390 |
|
391 |
+
#: includes/i18n.php:125
|
392 |
msgid "Title"
|
393 |
msgstr "タイトル"
|
394 |
|
395 |
+
#: includes/i18n.php:126
|
396 |
msgid "Free version"
|
397 |
msgstr "フリーバージョン"
|
398 |
|
399 |
+
#: includes/i18n.php:127
|
400 |
msgid "Premium version"
|
401 |
msgstr "プレミアムバージョン"
|
402 |
|
403 |
+
#: includes/i18n.php:128
|
404 |
msgctxt "as WP plugin slug"
|
405 |
msgid "Slug"
|
406 |
msgstr "スラッグ"
|
407 |
|
408 |
+
#: includes/i18n.php:129
|
409 |
msgid "ID"
|
410 |
msgstr "ID"
|
411 |
|
412 |
+
#: includes/i18n.php:130
|
413 |
msgid "Users"
|
414 |
msgstr "ユーザー"
|
415 |
|
416 |
+
#: includes/i18n.php:131
|
417 |
msgid "Plugin Installs"
|
418 |
msgstr "プラグインインストール数"
|
419 |
|
420 |
+
#: includes/i18n.php:132
|
421 |
+
msgid "%s Installs"
|
422 |
+
msgstr "%s Installs"
|
423 |
+
|
424 |
+
#: includes/i18n.php:133
|
425 |
msgctxt "like websites"
|
426 |
msgid "Sites"
|
427 |
msgstr "サイト数"
|
428 |
|
429 |
+
#: includes/i18n.php:134
|
430 |
msgid "User ID"
|
431 |
msgstr "ユーザー ID"
|
432 |
|
433 |
+
#: includes/i18n.php:135
|
434 |
msgid "Site ID"
|
435 |
msgstr "サイト ID"
|
436 |
|
437 |
+
#: includes/i18n.php:136
|
438 |
msgid "Public Key"
|
439 |
msgstr "公開鍵"
|
440 |
|
441 |
+
#: includes/i18n.php:137
|
442 |
msgid "Secret Key"
|
443 |
msgstr "秘密鍵"
|
444 |
|
445 |
+
#: includes/i18n.php:138
|
446 |
msgctxt "as secret encryption key missing"
|
447 |
msgid "No Secret"
|
448 |
msgstr "秘密鍵がありません"
|
449 |
|
450 |
+
#: includes/i18n.php:139
|
451 |
msgid "No ID"
|
452 |
msgstr "ID がありません"
|
453 |
|
454 |
+
#: includes/i18n.php:140
|
455 |
msgctxt "as synchronize license"
|
456 |
msgid "Sync License"
|
457 |
msgstr "ライセンスを同期"
|
458 |
|
459 |
+
#: includes/i18n.php:141
|
460 |
msgctxt "as synchronize"
|
461 |
msgid "Sync"
|
462 |
msgstr "同期"
|
463 |
|
464 |
+
#: includes/i18n.php:142
|
465 |
msgid "Activate License"
|
466 |
msgstr "ライセンスを有効化"
|
467 |
|
468 |
+
#: includes/i18n.php:143
|
469 |
msgid "Activate Free Version"
|
470 |
msgstr "フリーバージョンを有効化"
|
471 |
|
472 |
+
#: includes/i18n.php:144
|
473 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
|
|
|
|
474 |
msgstr "購入後すぐにメールで受け取ったライセンスキーを入力してください:"
|
475 |
|
476 |
+
#: includes/i18n.php:145
|
477 |
msgid "Activating license..."
|
478 |
msgstr "ライセンスを有効化中…"
|
479 |
|
480 |
+
#: includes/i18n.php:146
|
481 |
msgid "Change License"
|
482 |
msgstr "ライセンスを変更"
|
483 |
|
484 |
+
#: includes/i18n.php:147
|
485 |
msgid "Update License"
|
486 |
msgstr "ライセンスを更新"
|
487 |
|
488 |
+
#: includes/i18n.php:148
|
489 |
msgid "Deactivate License"
|
490 |
msgstr "ライセンスを無効化"
|
491 |
|
492 |
+
#: includes/i18n.php:149
|
493 |
msgid "Activate"
|
494 |
msgstr "有効化"
|
495 |
|
496 |
+
#: includes/i18n.php:150
|
497 |
msgid "Deactivate"
|
498 |
msgstr "無効化"
|
499 |
|
500 |
+
#: includes/i18n.php:151
|
501 |
msgid "Skip & Deactivate"
|
502 |
msgstr "スキップし、無効化"
|
503 |
|
504 |
+
#: includes/i18n.php:152
|
505 |
+
msgid "Skip & %s"
|
506 |
+
msgstr "Skip & %s"
|
507 |
+
|
508 |
+
#: includes/i18n.php:153
|
509 |
msgid "No - just deactivate"
|
510 |
msgstr "いいえ - すぐに無効化"
|
511 |
|
512 |
+
#: includes/i18n.php:154
|
513 |
msgid "Yes - do your thing"
|
514 |
msgstr "はい - お構いなく"
|
515 |
|
516 |
+
#: includes/i18n.php:155
|
517 |
msgctxt "active mode"
|
518 |
msgid "Active"
|
519 |
msgstr "有効"
|
520 |
|
521 |
+
#: includes/i18n.php:156
|
522 |
msgctxt "is active mode?"
|
523 |
msgid "Is Active"
|
524 |
msgstr "有効"
|
525 |
|
526 |
+
#: includes/i18n.php:157
|
527 |
msgid "Install Now"
|
528 |
msgstr "今すぐインストール"
|
529 |
|
530 |
+
#: includes/i18n.php:158
|
531 |
msgid "Install Update Now"
|
532 |
msgstr "今すぐ更新をインストール"
|
533 |
|
534 |
+
#: includes/i18n.php:159
|
535 |
msgid "More information about %s"
|
536 |
msgstr "%s に関する詳細情報"
|
537 |
|
538 |
+
#: includes/i18n.php:160
|
539 |
msgid "Localhost"
|
540 |
msgstr "localhost"
|
541 |
|
542 |
+
#: includes/i18n.php:161
|
543 |
msgctxt "as activate Professional plan"
|
544 |
msgid "Activate %s Plan"
|
545 |
msgstr "%s プランを有効化"
|
546 |
|
547 |
+
#: includes/i18n.php:162
|
548 |
msgctxt "as 5 licenses left"
|
549 |
msgid "%s left"
|
550 |
msgstr "あと %s"
|
551 |
|
552 |
+
#: includes/i18n.php:163
|
553 |
msgid "Last license"
|
554 |
msgstr "最新のライセンス"
|
555 |
|
556 |
+
#: includes/i18n.php:164
|
557 |
msgid "What is your %s?"
|
558 |
msgstr "自分の %s はなんですか?"
|
559 |
|
560 |
+
#: includes/i18n.php:165
|
561 |
msgid "Activate this add-on"
|
562 |
msgstr "このアドオンを有効化"
|
563 |
|
564 |
+
#: includes/i18n.php:166
|
565 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
|
|
|
|
|
|
566 |
msgstr "ライセンスを無効化するとすべてのプレミアム機能が使えなくなりますが、他のサイトでライセンスを有効にすることができるようになります。本当に実行しますか?"
|
567 |
|
568 |
+
#: includes/i18n.php:167
|
569 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
|
|
|
|
570 |
msgstr "アカウントを削除すると自動的に %s プランライセンスが無効になり、他のサイトで使うことができます。定期の支払いも終了したい場合は、\"キャンセル\"ボタンをクリックし、まずアカウントを\"ダウングレード\"してください。本当に削除を続行してもいいですか?"
|
571 |
|
572 |
+
#: includes/i18n.php:168
|
573 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
|
|
|
|
574 |
msgstr "削除は一時的なものではありません。このプラグインを今後使いたくない場合にだけ削除してください。本当に削除を続行してもいいですか?"
|
575 |
|
576 |
+
#: includes/i18n.php:169
|
577 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
|
|
|
|
578 |
msgstr "プランをダウングレードするとすぐに将来の定期の支払いはすべて停止し、%s プランライセンスは %s で期限切れとなります。"
|
579 |
|
580 |
+
#: includes/i18n.php:170
|
581 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
|
|
|
|
582 |
msgstr "トライアルをキャンセルするとすぐにすべてのプレミアム機能へのアクセスができなくなります。本当に実行しますか?"
|
583 |
|
584 |
+
#: includes/i18n.php:171
|
585 |
+
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
|
|
|
|
586 |
msgstr "すべての %s 機能をまだ楽しむことができますが、プラグインの更新とサポートにアクセスすることはできなくなります。"
|
587 |
|
588 |
+
#: includes/i18n.php:172
|
589 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
590 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
|
|
|
|
591 |
|
592 |
+
#: includes/i18n.php:173
|
593 |
msgid "Are you sure you want to proceed?"
|
594 |
msgstr "本当に続行していいですか?"
|
595 |
|
596 |
+
#: includes/i18n.php:176
|
597 |
msgid "Add Ons for %s"
|
598 |
msgstr "%s のアドオン"
|
599 |
|
600 |
+
#: includes/i18n.php:177
|
601 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
|
|
602 |
msgstr "アドオンリストを読み込むことができませんでした。おそらく運営側の問題になりますので、しばらくしてからお試しください。"
|
603 |
|
604 |
+
#: includes/i18n.php:179
|
605 |
msgid "Anonymous feedback"
|
606 |
msgstr "匿名のフィードバック"
|
607 |
|
608 |
+
#: includes/i18n.php:180
|
609 |
msgid "Quick feedback"
|
610 |
msgstr "クイックフィードバック"
|
611 |
|
612 |
+
#: includes/i18n.php:181
|
613 |
msgid "If you have a moment, please let us know why you are deactivating"
|
614 |
msgstr "お時間があれば、なぜ無効化するのか理由を教えてください。"
|
615 |
|
616 |
+
#: includes/i18n.php:182
|
617 |
msgid "Yes - Deactivate"
|
618 |
msgstr "はい - 無効化します"
|
619 |
|
620 |
+
#: includes/i18n.php:183
|
621 |
msgid "Submit & Deactivate"
|
622 |
msgstr "送信し無効化"
|
623 |
|
624 |
+
#: includes/i18n.php:184
|
625 |
msgid "Cancel"
|
626 |
msgstr "キャンセル"
|
627 |
|
628 |
+
#: includes/i18n.php:185
|
629 |
msgid "I no longer need the plugin"
|
630 |
msgstr "もうプラグインを必要としていません"
|
631 |
|
632 |
+
#: includes/i18n.php:186
|
633 |
msgid "I found a better plugin"
|
634 |
msgstr "もっと良いプラグインを見つけました"
|
635 |
|
636 |
+
#: includes/i18n.php:187
|
637 |
msgid "I only needed the plugin for a short period"
|
638 |
msgstr "短期間プラグインを必要としていただけです"
|
639 |
|
640 |
+
#: includes/i18n.php:188
|
641 |
msgid "The plugin broke my site"
|
642 |
msgstr "プラグインのせいでサイトが壊れました"
|
643 |
|
644 |
+
#: includes/i18n.php:189
|
645 |
msgid "The plugin suddenly stopped working"
|
646 |
msgstr "プラグインはすぐに動かなくなりました"
|
647 |
|
648 |
+
#: includes/i18n.php:190
|
649 |
msgid "I can't pay for it anymore"
|
650 |
msgstr "もう払うことができません"
|
651 |
|
652 |
+
#: includes/i18n.php:191
|
653 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
654 |
msgstr "一時的な無効化です。問題をデバッグしているだけです。"
|
655 |
|
656 |
+
#: includes/i18n.php:192
|
657 |
msgctxt ""
|
|
|
|
|
658 |
msgid "Other"
|
659 |
msgstr "その他"
|
660 |
|
661 |
+
#: includes/i18n.php:194
|
662 |
msgid "Kindly tell us the reason so we can improve."
|
663 |
msgstr "改善できるよう、どうか理由を教えてください。"
|
664 |
|
665 |
+
#: includes/i18n.php:195
|
666 |
msgid "What's the plugin's name?"
|
667 |
msgstr "プラグイン名は何ですか?"
|
668 |
|
669 |
+
#: includes/i18n.php:196
|
670 |
msgid "What price would you feel comfortable paying?"
|
671 |
msgstr " 支払ってもよいと思う価格はいくらですか?"
|
672 |
|
673 |
+
#: includes/i18n.php:197
|
674 |
msgid "I couldn't understand how to make it work"
|
675 |
msgstr "どうしたら動作するか分かりませんでした。"
|
676 |
|
677 |
+
#: includes/i18n.php:198
|
678 |
+
msgid "The plugin is great, but I need specific feature that you don't support"
|
|
|
679 |
msgstr "プラグインは素晴らしいけれど、サポートしていないある機能を必要としています"
|
680 |
|
681 |
+
#: includes/i18n.php:199
|
682 |
msgid "The plugin is not working"
|
683 |
msgstr "プラグインが動いていません"
|
684 |
|
685 |
+
#: includes/i18n.php:200
|
686 |
msgid "It's not what I was looking for"
|
687 |
msgstr "探していたものではありません"
|
688 |
|
689 |
+
#: includes/i18n.php:201
|
690 |
msgid "The plugin didn't work as expected"
|
691 |
msgstr "プラグインは期待通りには動きませんでした"
|
692 |
|
693 |
+
#: includes/i18n.php:202
|
694 |
msgid "What feature?"
|
695 |
msgstr "何の機能ですか?"
|
696 |
|
697 |
+
#: includes/i18n.php:203
|
698 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
699 |
msgstr "将来のユーザーのために修正できるよう、何が動作しなかったのかどうか共有してください…"
|
700 |
|
701 |
+
#: includes/i18n.php:204
|
702 |
msgid "What you've been looking for?"
|
703 |
msgstr "探していたのは何ですか?"
|
704 |
|
705 |
+
#: includes/i18n.php:205
|
706 |
msgid "What did you expect?"
|
707 |
msgstr "何を期待していましたか?"
|
708 |
|
709 |
+
#: includes/i18n.php:206
|
710 |
msgid "The plugin didn't work"
|
711 |
msgstr "プラグインが動作しませんでした"
|
712 |
|
713 |
+
#: includes/i18n.php:207
|
714 |
msgid "I don't like to share my information with you"
|
715 |
msgstr "自分の情報を共有したくありません"
|
716 |
|
717 |
+
#: includes/i18n.php:208
|
718 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
|
|
|
|
719 |
msgstr "見逃していたかもしれませんが、どんな情報も共有する必要はなく、オプトインを $s することができます。 "
|
720 |
|
721 |
+
#: includes/i18n.php:212
|
722 |
msgctxt "greeting"
|
723 |
msgid "Hey %s,"
|
724 |
msgstr "おおい %s さん、"
|
725 |
|
726 |
+
#: includes/i18n.php:213
|
727 |
msgctxt "a greeting. E.g. Thanks John!"
|
728 |
msgid "Thanks %s!"
|
729 |
msgstr "ありがとう $s さん!"
|
730 |
|
731 |
+
#: includes/i18n.php:214
|
732 |
+
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
|
|
|
|
733 |
msgstr "重要な更新を逃さないように - セキュリティとおすすめの更新通知、%4$s とセンシティブではない診断トラッキングをオプトイン"
|
734 |
|
735 |
+
#: includes/i18n.php:215
|
736 |
+
msgid "Please help us improve %1$s! If you opt-in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
|
|
|
|
|
|
737 |
msgstr "%1$s を改善するのを手伝ってください。オプトインすれば、あなたの %1$s の使用に関するデータが %4$s へと送られます。これをスキップしても大丈夫です! %1$s は今でも素晴らしいでしょう。"
|
738 |
|
739 |
+
#: includes/i18n.php:216
|
740 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
741 |
msgstr "%s のメールボックスに %s の有効化のメールを受け取っているはずです。%s のメールに記載された有効化ボタンをクリックしてください。"
|
742 |
|
743 |
+
#: includes/i18n.php:217
|
744 |
msgid "complete the install"
|
745 |
msgstr "インストールを完了"
|
746 |
|
747 |
+
#: includes/i18n.php:218
|
748 |
msgid "start the trial"
|
749 |
msgstr "トライアルを開始"
|
750 |
|
751 |
+
#: includes/i18n.php:219
|
752 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
|
|
753 |
msgstr "%s を購入いただきありがとうございます。はじめにライセンスキーを入力してください:"
|
754 |
|
755 |
+
#: includes/i18n.php:220
|
756 |
+
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
|
|
|
|
757 |
msgstr "プラグインはプラグインの更新をチェックし、ライセンスが有効か確認するために、%s に周期的にデータを送信します。"
|
758 |
|
759 |
+
#: includes/i18n.php:221
|
760 |
msgid "What permissions are being granted?"
|
761 |
msgstr "付与されているパーミッションは何ですか?"
|
762 |
|
763 |
+
#: includes/i18n.php:222
|
764 |
msgid "Your Profile Overview"
|
765 |
msgstr "プロフィール概要"
|
766 |
|
767 |
+
#: includes/i18n.php:223
|
768 |
msgid "Name and email address"
|
769 |
msgstr "名前とメールアドレス"
|
770 |
|
771 |
+
#: includes/i18n.php:224
|
772 |
msgid "Your Site Overview"
|
773 |
msgstr "サイト概要"
|
774 |
|
775 |
+
#: includes/i18n.php:225
|
776 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
777 |
msgstr "サイト URL、WP バージョン、PHP info、プラグインとテーマ"
|
778 |
|
779 |
+
#: includes/i18n.php:226
|
780 |
msgid "Current Plugin Events"
|
781 |
msgstr "現在のプラグインイベント"
|
782 |
|
783 |
+
#: includes/i18n.php:227
|
784 |
msgid "Activation, deactivation and uninstall"
|
785 |
msgstr "有効化、無効化、アンインストール"
|
786 |
|
787 |
+
#: includes/i18n.php:228
|
788 |
msgid "Plugins & Themes"
|
789 |
msgstr "プラグインとテーマ"
|
790 |
|
791 |
+
#: includes/i18n.php:229
|
792 |
msgid "Titles, versions and state."
|
793 |
msgstr "タイトル、バージョン、状態"
|
794 |
|
795 |
+
#: includes/i18n.php:230
|
796 |
msgid "Admin Notices"
|
797 |
msgstr "管理者通知"
|
798 |
|
799 |
+
#: includes/i18n.php:231
|
800 |
msgid "Newsletter"
|
801 |
msgstr "ニュースレター"
|
802 |
|
803 |
+
#: includes/i18n.php:232
|
804 |
msgid "Updates, announcements, marketing, no spam"
|
805 |
msgstr "更新、発表、マーケティング、スパムなし"
|
806 |
|
807 |
+
#: includes/i18n.php:233
|
808 |
msgid "Privacy Policy"
|
809 |
msgstr "プライバシーポリシー"
|
810 |
|
811 |
+
#: includes/i18n.php:234
|
812 |
msgid "Terms of Service"
|
813 |
msgstr "利用規約"
|
814 |
|
815 |
+
#: includes/i18n.php:235
|
816 |
msgctxt "as activating plugin"
|
817 |
msgid "Activating"
|
818 |
msgstr "有効化中"
|
819 |
|
820 |
+
#: includes/i18n.php:236
|
821 |
msgctxt "as in the process of sending an email"
|
822 |
msgid "Sending email"
|
823 |
msgstr "メール送信中"
|
824 |
|
825 |
+
#: includes/i18n.php:237
|
826 |
msgctxt "button label"
|
827 |
msgid "Allow & Continue"
|
828 |
msgstr "許可して続ける"
|
829 |
|
830 |
+
#: includes/i18n.php:238
|
831 |
msgctxt "button label"
|
832 |
msgid "Agree & Activate License"
|
833 |
msgstr "同意してライセンスを有効化"
|
834 |
|
835 |
+
#: includes/i18n.php:239
|
836 |
msgctxt "verb"
|
837 |
msgid "Skip"
|
838 |
msgstr "スキップ"
|
839 |
|
840 |
+
#: includes/i18n.php:240
|
841 |
msgid "Click here to use the plugin anonymously"
|
842 |
msgstr "匿名でプラグインを使用するにはこちらをクリック"
|
843 |
|
844 |
+
#: includes/i18n.php:241
|
845 |
msgid "Re-send activation email"
|
846 |
msgstr "有効化メールを再送信"
|
847 |
|
848 |
+
#: includes/i18n.php:242
|
849 |
msgid "License key"
|
850 |
msgstr "ライセンスキー"
|
851 |
|
852 |
+
#: includes/i18n.php:243
|
853 |
msgid "Send License Key"
|
854 |
msgstr "ライセンスキーを送信"
|
855 |
|
856 |
+
#: includes/i18n.php:244
|
857 |
msgid "Sending license key"
|
858 |
msgstr "ライセンスキーを送信中"
|
859 |
|
860 |
+
#: includes/i18n.php:245
|
861 |
msgid "Have a license key?"
|
862 |
msgstr "ライセンスキーはお持ちですか?"
|
863 |
|
864 |
+
#: includes/i18n.php:246
|
865 |
msgid "Don't have a license key?"
|
866 |
msgstr "ライセンスキーをお持ちではありませんか?"
|
867 |
|
868 |
+
#: includes/i18n.php:247
|
869 |
msgid "Can't find your license key?"
|
870 |
msgstr "ライセンスキーは見つかりませんか?"
|
871 |
|
872 |
+
#: includes/i18n.php:248
|
873 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
|
|
|
|
874 |
msgstr "システムではメールアドレスを見つけることができませんでした。メールアドレスが正しいか確認してください。"
|
875 |
|
876 |
+
#: includes/i18n.php:249
|
877 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
|
|
878 |
msgstr "メールアドレスに関連付けられた有効なライセンスが見つかりません。メールアドレスが正しいか確認してください。"
|
879 |
|
880 |
+
#: includes/i18n.php:250
|
881 |
msgid "Opt In"
|
882 |
msgstr "オプトイン"
|
883 |
|
884 |
+
#: includes/i18n.php:251
|
885 |
msgid "Opt Out"
|
886 |
msgstr "オプトアウト"
|
887 |
|
888 |
+
#: includes/i18n.php:252
|
889 |
msgid "On second thought - I want to continue helping"
|
890 |
msgstr "第二の考えで - 手伝い続けたいです"
|
891 |
|
892 |
+
#: includes/i18n.php:253
|
893 |
msgid "Opting out..."
|
894 |
msgstr "オプトアウト中…"
|
895 |
|
896 |
+
#: includes/i18n.php:254
|
897 |
msgid "Opting in..."
|
898 |
msgstr "オプトイン中…"
|
899 |
|
900 |
+
#: includes/i18n.php:255
|
901 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
|
|
902 |
msgstr "使用データを追跡できるよう許可してくれたことで、%s をより良くするための手助けに感謝致します。"
|
903 |
|
904 |
+
#: includes/i18n.php:256
|
905 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
|
|
|
|
|
|
906 |
msgstr "使用の追跡は %s をより良くする名目の下に行われています。ユーザー体験をより良くし、新機能に優先順位をつけるためなどに使います。追跡を続けてもよいと再考してくれるなら本当に感謝致します。"
|
907 |
|
908 |
+
#: includes/i18n.php:257
|
909 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
|
|
|
|
910 |
msgstr "\"オプトアウト\"をクリックすることで、もう %s から %s へのデータの送信は行いません。"
|
911 |
|
912 |
+
#: includes/i18n.php:261
|
913 |
msgid "Screenshots"
|
914 |
msgstr "スクリーンショット"
|
915 |
|
916 |
+
#: includes/i18n.php:262
|
917 |
msgid "Click to view full-size screenshot %d"
|
918 |
msgstr "クリックしてフルサイズのスクリーンショットを見る %d"
|
919 |
|
920 |
+
#: includes/i18n.php:266
|
921 |
msgid "Freemius Debug"
|
922 |
msgstr "Freemius デバッグ"
|
923 |
|
924 |
+
#: includes/i18n.php:267
|
925 |
msgctxt "as turned on"
|
926 |
msgid "On"
|
927 |
msgstr "オン"
|
928 |
|
929 |
+
#: includes/i18n.php:268
|
930 |
msgctxt "as turned off"
|
931 |
msgid "Off"
|
932 |
msgstr "オフ"
|
933 |
|
934 |
+
#: includes/i18n.php:269
|
935 |
msgctxt "as code debugging"
|
936 |
msgid "Debugging"
|
937 |
msgstr "デバッグ"
|
938 |
|
939 |
+
#: includes/i18n.php:270
|
940 |
msgid "Freemius State"
|
941 |
msgstr "Freemius ステータス"
|
942 |
|
943 |
+
#: includes/i18n.php:271
|
944 |
msgctxt "as connection was successful"
|
945 |
msgid "Connected"
|
946 |
msgstr "接続"
|
947 |
|
948 |
+
#: includes/i18n.php:272
|
949 |
msgctxt "as connection blocked"
|
950 |
msgid "Blocked"
|
951 |
msgstr "ブロック"
|
952 |
|
953 |
+
#: includes/i18n.php:273
|
954 |
msgctxt "as application program interface"
|
955 |
msgid "API"
|
956 |
msgstr "API"
|
957 |
|
958 |
+
#: includes/i18n.php:274
|
959 |
msgctxt "as software development kit versions"
|
960 |
msgid "SDK"
|
961 |
msgstr "SDK"
|
962 |
|
963 |
+
#: includes/i18n.php:275
|
964 |
msgctxt "as software development kit versions"
|
965 |
msgid "SDK Versions"
|
966 |
msgstr "SDK バージョン"
|
967 |
|
968 |
+
#: includes/i18n.php:276
|
969 |
msgctxt "as plugin folder path"
|
970 |
msgid "Plugin Path"
|
971 |
msgstr "プラグインのパス"
|
972 |
|
973 |
+
#: includes/i18n.php:277
|
974 |
msgctxt "as sdk path"
|
975 |
msgid "SDK Path"
|
976 |
msgstr "SDK のパス"
|
977 |
|
978 |
+
#: includes/i18n.php:278
|
979 |
msgid "Add Ons of Plugin %s"
|
980 |
msgstr "プラグインのアドオン %s"
|
981 |
|
982 |
+
#: includes/i18n.php:279
|
983 |
msgid "Are you sure you want to delete all Freemius data?"
|
984 |
msgstr "ほんとうに全ての Freemius データを削除しますか?"
|
985 |
|
986 |
+
#: includes/i18n.php:280
|
987 |
msgid "Actions"
|
988 |
msgstr "アクション"
|
989 |
|
990 |
+
#: includes/i18n.php:281
|
991 |
msgid "Delete All Accounts"
|
992 |
msgstr "全てのアカウントを削除"
|
993 |
|
994 |
+
#: includes/i18n.php:282
|
995 |
msgid "Start Fresh"
|
996 |
msgstr "初期化を開始"
|
997 |
|
998 |
+
#: includes/i18n.php:283
|
999 |
msgid "Clear API Cache"
|
1000 |
msgstr "API キャッシュをクリア"
|
1001 |
|
1002 |
+
#: includes/i18n.php:284
|
1003 |
msgid "Sync Data From Server"
|
1004 |
msgstr "サーバーからのデータを同期"
|
1005 |
|
1006 |
+
#: includes/i18n.php:285
|
1007 |
msgid "Scheduled Crons"
|
1008 |
msgstr "スケジュール Cron"
|
1009 |
|
1010 |
+
#: includes/i18n.php:286
|
1011 |
+
msgid "Cron Type"
|
1012 |
+
msgstr "Cron Type"
|
1013 |
+
|
1014 |
+
#: includes/i18n.php:287
|
1015 |
msgid "Plugins & Themes Sync"
|
1016 |
msgstr "プラグインとテーマを同期"
|
1017 |
|
1018 |
+
#: includes/i18n.php:288
|
1019 |
+
msgid "Licenses"
|
1020 |
+
msgstr "Licenses"
|
1021 |
+
|
1022 |
+
#: includes/i18n.php:289
|
1023 |
+
msgid "Debug Log"
|
1024 |
+
msgstr "Debug Log"
|
1025 |
+
|
1026 |
+
#: includes/i18n.php:290
|
1027 |
+
msgid "All"
|
1028 |
+
msgstr "All"
|
1029 |
+
|
1030 |
+
#: includes/i18n.php:291
|
1031 |
+
msgid "File"
|
1032 |
+
msgstr "File"
|
1033 |
+
|
1034 |
+
#: includes/i18n.php:292
|
1035 |
+
msgid "Function"
|
1036 |
+
msgstr "Function"
|
1037 |
+
|
1038 |
+
#: includes/i18n.php:293
|
1039 |
+
msgid "Process ID"
|
1040 |
+
msgstr "Process ID"
|
1041 |
+
|
1042 |
+
#: includes/i18n.php:294
|
1043 |
+
msgid "Logger"
|
1044 |
+
msgstr "Logger"
|
1045 |
+
|
1046 |
+
#: includes/i18n.php:295
|
1047 |
+
msgid "Message"
|
1048 |
+
msgstr "Message"
|
1049 |
+
|
1050 |
+
#: includes/i18n.php:296
|
1051 |
+
msgid "Download"
|
1052 |
+
msgstr "Download"
|
1053 |
+
|
1054 |
+
#: includes/i18n.php:297
|
1055 |
+
msgid "Filter"
|
1056 |
+
msgstr "Filter"
|
1057 |
+
|
1058 |
+
#: includes/i18n.php:298
|
1059 |
+
msgid "Type"
|
1060 |
+
msgstr "Type"
|
1061 |
+
|
1062 |
+
#: includes/i18n.php:299
|
1063 |
+
msgid "All Types"
|
1064 |
+
msgstr "All Types"
|
1065 |
+
|
1066 |
+
#: includes/i18n.php:300
|
1067 |
+
msgid "All Requests"
|
1068 |
+
msgstr "All Requests"
|
1069 |
+
|
1070 |
+
#: includes/i18n.php:304
|
1071 |
msgctxt "as congratulations"
|
1072 |
msgid "Congrats"
|
1073 |
msgstr "おめでとう"
|
1074 |
|
1075 |
+
#: includes/i18n.php:305
|
1076 |
msgctxt "exclamation"
|
1077 |
msgid "Oops"
|
1078 |
msgstr "おっと"
|
1079 |
|
1080 |
+
#: includes/i18n.php:306
|
1081 |
msgctxt "interjection expressing joy or exuberance"
|
1082 |
msgid "Yee-haw"
|
1083 |
msgstr "ヤッホー"
|
1084 |
|
1085 |
+
#: includes/i18n.php:307
|
1086 |
msgctxt ""
|
|
|
|
|
1087 |
msgid "W00t"
|
1088 |
msgstr "やったー"
|
1089 |
|
1090 |
+
#: includes/i18n.php:309
|
1091 |
msgctxt "a positive response"
|
1092 |
msgid "Right on"
|
1093 |
msgstr "そうだ"
|
1094 |
|
1095 |
+
#: includes/i18n.php:310
|
1096 |
msgctxt ""
|
|
|
|
|
1097 |
msgid "Hmm"
|
1098 |
msgstr "ふむ"
|
1099 |
|
1100 |
+
#: includes/i18n.php:312
|
1101 |
msgid "O.K"
|
1102 |
msgstr "O.K"
|
1103 |
|
1104 |
+
#: includes/i18n.php:313
|
1105 |
msgctxt "exclamation"
|
1106 |
msgid "Hey"
|
1107 |
msgstr "ヘイ"
|
1108 |
|
1109 |
+
#: includes/i18n.php:314
|
1110 |
msgctxt "advance notice of something that will need attention."
|
1111 |
msgid "Heads up"
|
1112 |
msgstr "警告"
|
1113 |
|
1114 |
+
#: includes/i18n.php:319
|
1115 |
msgid "Seems like you got the latest release."
|
1116 |
msgstr "最新版を取得できました。"
|
1117 |
|
1118 |
+
#: includes/i18n.php:320
|
1119 |
msgid "You are all good!"
|
1120 |
msgstr "すべて完璧です!"
|
1121 |
|
1122 |
+
#: includes/i18n.php:321
|
1123 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
|
|
|
|
1124 |
msgstr "メールアドレスのアップデートを完了できませんでした。他のユーザーがすでに同じメールアドレスで登録しているようです。"
|
1125 |
|
1126 |
+
#: includes/i18n.php:322
|
1127 |
+
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
|
|
|
|
1128 |
msgstr "もし%s にプラグインの所有権を譲りたいなら、所有権を変更ボタンをクリックしてください。"
|
1129 |
|
1130 |
+
#: includes/i18n.php:323
|
1131 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
|
|
|
|
1132 |
msgstr "メールアドレスのアップデートが完了しました。まもなく確認メールが届きます。"
|
1133 |
|
1134 |
+
#: includes/i18n.php:324
|
1135 |
msgid "Your name was successfully updated."
|
1136 |
msgstr "名前のアップデートが成功しました。"
|
1137 |
|
1138 |
+
#: includes/i18n.php:325
|
1139 |
msgid "You have successfully updated your %s."
|
1140 |
msgstr "%s のアップデートが成功しました。"
|
1141 |
|
1142 |
+
#: includes/i18n.php:326
|
1143 |
msgid "Please provide your full name."
|
1144 |
msgstr "フルネームを入力してください。"
|
1145 |
|
1146 |
+
#: includes/i18n.php:327
|
1147 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
|
|
|
|
1148 |
msgstr "%s に確認メールを送信しました。もし5分以内にそれが届かない場合、迷惑メールボックスを確認してください。"
|
1149 |
|
1150 |
+
#: includes/i18n.php:328
|
1151 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
|
|
|
|
1152 |
msgstr "%s のアドオンに関する情報は、外部サーバーから取得されます。"
|
1153 |
|
1154 |
+
#: includes/i18n.php:329
|
1155 |
msgid "No credit card required"
|
1156 |
msgstr "クレジットカードは必要ありません。"
|
1157 |
|
1158 |
+
#: includes/i18n.php:330
|
1159 |
msgid "Premium plugin version was successfully activated."
|
1160 |
msgstr "プレミアムプラグインのバージョンの有効化に成功しました。"
|
1161 |
|
1162 |
+
#: includes/i18n.php:331
|
1163 |
msgid "The upgrade of %s was successfully completed."
|
1164 |
msgstr "%s のアップグレードが完了しました。"
|
1165 |
|
1166 |
+
#: includes/i18n.php:332
|
1167 |
msgid "Your account was successfully activated with the %s plan."
|
1168 |
msgstr "アカウントが %s プランで有効化できました。"
|
1169 |
|
1170 |
+
#: includes/i18n.php:333
|
1171 |
msgid "Download the latest %s version now"
|
1172 |
msgstr "%s の最新版をダウンロードする"
|
1173 |
|
1174 |
+
#: includes/i18n.php:334
|
1175 |
msgid "Please follow these steps to complete the upgrade"
|
1176 |
msgstr "アップグレードを完了するには以下の手順を完了させてください。"
|
1177 |
|
1178 |
+
#: includes/i18n.php:335
|
1179 |
msgid "Download the latest %s version"
|
1180 |
msgstr "最新の %s をダウンロード"
|
1181 |
|
1182 |
+
#: includes/i18n.php:336
|
1183 |
msgid "Download the latest version"
|
1184 |
msgstr "最新版をダウンロード"
|
1185 |
|
1186 |
+
#: includes/i18n.php:337
|
1187 |
msgid "Deactivate the free version"
|
1188 |
msgstr "無料バージョンを無効化"
|
1189 |
|
1190 |
+
#: includes/i18n.php:338
|
1191 |
msgid "Upload and activate the downloaded version"
|
1192 |
msgstr "ダウンロードしたバージョンをアップロードして有効化"
|
1193 |
|
1194 |
+
#: includes/i18n.php:339
|
1195 |
msgid "How to upload and activate?"
|
1196 |
msgstr "アップロードと有効化の方法"
|
1197 |
|
1198 |
+
#: includes/i18n.php:340
|
1199 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1200 |
msgid "%s Add-on was successfully purchased."
|
1201 |
msgstr "%s のアドオンの支払いが完了しました。"
|
1202 |
|
1203 |
+
#: includes/i18n.php:342
|
1204 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1205 |
msgstr "%s のアドオンのプランのアップグレードが完了しました。"
|
1206 |
|
1207 |
+
#: includes/i18n.php:343
|
1208 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1209 |
msgstr "あなたのメールアドレスの承認が完了しました。すごい!"
|
1210 |
|
1211 |
+
#: includes/i18n.php:344
|
1212 |
msgid "Your plan was successfully upgraded."
|
1213 |
msgstr "プランのアップグレードが成功しました。"
|
1214 |
|
1215 |
+
#: includes/i18n.php:345
|
1216 |
msgid "Your plan was successfully changed to %s."
|
1217 |
msgstr "プランの %s への変更が成功しました。"
|
1218 |
|
1219 |
+
#: includes/i18n.php:346
|
1220 |
+
msgid "Your license has expired. You can still continue using the free plugin forever."
|
|
|
|
|
1221 |
msgstr "ライセンスの有効期限が切れました。無料バージョンの利用を継続することができます。"
|
1222 |
|
1223 |
+
#: includes/i18n.php:347
|
1224 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
|
|
|
|
1225 |
msgstr "ライセンスはキャンセルされました。もしそれが間違いだと思うならサポートに連絡してください。"
|
1226 |
|
1227 |
+
#: includes/i18n.php:348
|
1228 |
msgid "Your trial has been successfully started."
|
1229 |
msgstr "トライアル版の利用を開始しました。"
|
1230 |
|
1231 |
+
#: includes/i18n.php:349
|
1232 |
msgid "Your license was successfully activated."
|
1233 |
msgstr "ライセンスの有効化が成功しました。"
|
1234 |
|
1235 |
+
#: includes/i18n.php:350
|
1236 |
msgid "It looks like your site currently doesn't have an active license."
|
1237 |
msgstr "サイトは有効なライセンスを持っていないようです。"
|
1238 |
|
1239 |
+
#: includes/i18n.php:351
|
1240 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
|
|
1241 |
msgstr "ライセンスの無効化が完了しました。%s プランに戻りました。"
|
1242 |
|
1243 |
+
#: includes/i18n.php:352
|
1244 |
msgid "It looks like the license deactivation failed."
|
1245 |
msgstr "ライセンスの無効化ができませんでした。"
|
1246 |
|
1247 |
+
#: includes/i18n.php:353
|
1248 |
msgid "It looks like the license could not be activated."
|
1249 |
msgstr "ライセンスの有効化ができませんでした。"
|
1250 |
|
1251 |
+
#: includes/i18n.php:354
|
1252 |
msgid "Error received from the server:"
|
1253 |
msgstr "サーバーからエラーを受信しました。"
|
1254 |
|
1255 |
+
#: includes/i18n.php:355
|
1256 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
|
|
1257 |
msgstr "トライアルの有効期限が切れました。引き続き無料の機能の利用を続けることができます。"
|
1258 |
|
1259 |
+
#: includes/i18n.php:356
|
1260 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
|
|
|
|
1261 |
msgstr "プランのダウングレードが完了しました。%s プランは %s に有効期限が切れます。"
|
1262 |
|
1263 |
+
#: includes/i18n.php:357
|
1264 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
|
|
|
|
1265 |
msgstr "プランのダウングレードの際に一時的な問題が発生したようです。数分後に再度操作してください。"
|
1266 |
|
1267 |
+
#: includes/i18n.php:358
|
1268 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
|
|
|
|
1269 |
msgstr "すでにトライアルモードではないようなので、キャンセルする必要はありません :)"
|
1270 |
|
1271 |
+
#: includes/i18n.php:359
|
1272 |
msgid "Your %s free trial was successfully cancelled."
|
1273 |
msgstr "%s のフリートライアルはキャンセルされました。"
|
1274 |
|
1275 |
+
#: includes/i18n.php:360
|
1276 |
msgctxt "%s - numeric version number"
|
1277 |
msgid "Version %s was released."
|
1278 |
msgstr "バージョン %s をリリースしました。"
|
1279 |
|
1280 |
+
#: includes/i18n.php:361
|
1281 |
msgid "Please download %s."
|
1282 |
msgstr "%s をダウンロードしてください。"
|
1283 |
|
1284 |
+
#: includes/i18n.php:362
|
1285 |
msgctxt "%s - plan name, as the latest professional version here"
|
1286 |
msgid "the latest %s version here"
|
1287 |
msgstr "最新の %s バージョンはこちらです。"
|
1288 |
|
1289 |
+
#: includes/i18n.php:364
|
1290 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
|
|
|
|
1291 |
msgstr "%s はどうですか? 私たちの全ての %s のプレミアム機能をお試しください。"
|
1292 |
|
1293 |
+
#: includes/i18n.php:365
|
1294 |
msgctxt "call to action"
|
1295 |
msgid "Start free trial"
|
1296 |
msgstr "フリートライアルを開始"
|
1297 |
|
1298 |
+
#: includes/i18n.php:366
|
1299 |
msgid "Starting trial"
|
1300 |
msgstr "トライアルを開始"
|
1301 |
|
1302 |
+
#: includes/i18n.php:367
|
1303 |
msgid "Please wait"
|
1304 |
msgstr "お待ちください"
|
1305 |
|
1306 |
+
#: includes/i18n.php:368
|
1307 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
|
|
|
|
1308 |
msgstr "トライアルのキャンセルに一時的な問題がありました。数分後に再度お試しください。"
|
1309 |
|
1310 |
+
#: includes/i18n.php:369
|
1311 |
msgid "You already utilized a trial before."
|
1312 |
msgstr "以前すでに試用版を利用しました。"
|
1313 |
|
1314 |
+
#: includes/i18n.php:370
|
1315 |
msgid "You are already running the plugin in a trial mode."
|
1316 |
msgstr "すでにトライアル版のプラグインを利用しています。"
|
1317 |
|
1318 |
+
#: includes/i18n.php:371
|
1319 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1320 |
msgstr "%s プランは存在しないため、試用を開始できません。"
|
1321 |
|
1322 |
+
#: includes/i18n.php:372
|
1323 |
msgid "Plan %s does not support a trial period."
|
1324 |
msgstr "%s プランにはトライアル期間はありません。"
|
1325 |
|
1326 |
+
#: includes/i18n.php:373
|
1327 |
msgid "None of the plugin's plans supports a trial period."
|
1328 |
msgstr "トライアル期間をサポートしているプランのプラグインはありません。"
|
1329 |
|
1330 |
+
#: includes/i18n.php:374
|
1331 |
+
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
|
|
|
|
1332 |
msgstr "予期しない API のエラー。プラグイン開発者に連絡をとってください。"
|
1333 |
|
1334 |
+
#: includes/i18n.php:375
|
1335 |
msgid "No commitment for %s days - cancel anytime!"
|
1336 |
msgstr "%s 日以内であればいつでもキャンセルできます。"
|
1337 |
|
1338 |
+
#: includes/i18n.php:376
|
1339 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
|
|
|
|
1340 |
msgstr "ライセンスは有効期限がきれました。%s の機能を引き続き利用することができます。ただし、アップデートやサポートをうけるにはライセンスをアップデートする必要があります。"
|
1341 |
|
1342 |
+
#: includes/i18n.php:377
|
1343 |
msgid "Couldn't activate %s."
|
1344 |
msgstr "%s を有効化できません。"
|
1345 |
|
1346 |
+
#: includes/i18n.php:378
|
1347 |
msgid "Please contact us with the following message:"
|
1348 |
msgstr "以下のメッセージとともに私たちに連絡をください。"
|
1349 |
|
1350 |
+
#: includes/i18n.php:379
|
1351 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
|
|
|
|
1352 |
msgstr "まだ %s プランのようです。もしアップグレードやプランの変更をしたのなら、こちらで何らかの問題が発生しているようです。申し訳ありません。"
|
1353 |
|
1354 |
+
#: includes/i18n.php:380
|
1355 |
msgid "Please contact us here"
|
1356 |
msgstr "こちらで私たちに連絡をとってください。"
|
1357 |
|
1358 |
+
#: includes/i18n.php:381
|
1359 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
|
|
|
|
1360 |
msgstr "アカウントをアップグレードしましたが、ライセンスを同期しようとするとプランが %s のままです。"
|
1361 |
|
1362 |
+
#: includes/i18n.php:384
|
1363 |
msgid "From unknown reason, the API connectivity test failed."
|
1364 |
msgstr "不明のエラーにより、API 接続ができませんでした。"
|
1365 |
|
1366 |
+
#: includes/i18n.php:385
|
1367 |
+
msgid "It's probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?"
|
|
|
|
|
1368 |
msgstr "それは私たちの一時的な問題のようです。もし許可していただけるなら他の接続テストをしてもよいですか?"
|
1369 |
|
1370 |
+
#: includes/i18n.php:386
|
1371 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1372 |
+
msgstr "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
|
|
|
|
|
|
1373 |
|
1374 |
+
#: includes/i18n.php:387
|
1375 |
+
msgid "Disabled method(s):"
|
1376 |
+
msgstr "Disabled method(s):"
|
1377 |
+
|
1378 |
+
#: includes/i18n.php:388
|
1379 |
+
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1380 |
msgstr "不明のエラーにより私たちが使用している CloudFlare のファイヤーウォールが接続を拒否したようです。"
|
1381 |
|
1382 |
+
#: includes/i18n.php:389
|
1383 |
msgctxt "as pluginX requires an access to our API"
|
1384 |
msgid "%s requires an access to our API."
|
1385 |
msgstr "%s は、私たちの API への接続が必要です。"
|
1386 |
|
1387 |
+
#: includes/i18n.php:391
|
1388 |
+
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
|
|
|
|
1389 |
msgstr "サーバーは Squid ACL(Access control lists) を使用しているらしく、それが接続をブロックしています。"
|
1390 |
|
1391 |
+
#: includes/i18n.php:392
|
1392 |
msgid "I don't know what is Squid or ACL, help me!"
|
1393 |
msgstr "Squid ACL について知りません。助けてください!"
|
1394 |
|
1395 |
+
#: includes/i18n.php393, includes/i18n.php:397
|
1396 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1397 |
msgstr "ホスティング会社に連絡して問題を解決してください。 更新が完了したら、 %s へのフォローアップメールが届きます。"
|
1398 |
|
1399 |
+
#: includes/i18n.php:394
|
1400 |
msgid "I'm a system administrator"
|
1401 |
msgstr "私はシステム管理者です"
|
1402 |
|
1403 |
+
#: includes/i18n.php:395
|
1404 |
+
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1405 |
+
msgstr "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
|
|
|
|
1406 |
|
1407 |
+
#: includes/i18n.php:396
|
1408 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1409 |
msgstr "cURL がなにか、そのインストール方法を知りません。助けてください。"
|
1410 |
|
1411 |
+
#: includes/i18n.php:398
|
1412 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1413 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
|
|
|
|
|
|
1414 |
|
1415 |
+
#: includes/i18n.php:399
|
1416 |
+
msgid "We are sure it's an issue on our side and more than happy to resolve it for you ASAP if you give us a chance."
|
|
|
|
|
1417 |
msgstr "それは私たちの側の問題だと確信しています。もし機会をくれるなら私たちはそれを一刻でも早く修正します。"
|
1418 |
|
1419 |
+
#: includes/i18n.php:400
|
1420 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1421 |
msgstr "ご迷惑をおかけしてすいません。もし機会をいただけたらお手伝いをします。"
|
1422 |
|
1423 |
+
#: includes/i18n.php:401
|
1424 |
msgid "Yes - I'm giving you a chance to fix it"
|
1425 |
msgstr "はい、修正をお願いします。"
|
1426 |
|
1427 |
+
#: includes/i18n.php:402
|
1428 |
+
msgid "We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update."
|
|
|
|
|
1429 |
msgstr "私たちは、少しでも早くサーバーをホワイトリストに登録して問題を修正します。アップデートを行ったら、%s あてに報告を送信します。"
|
1430 |
|
1431 |
+
#: includes/i18n.php:403
|
1432 |
msgid "Let's try your previous version"
|
1433 |
msgstr "以前のバージョンでお試しください。"
|
1434 |
|
1435 |
+
#: includes/i18n.php:404
|
1436 |
msgid "Uninstall this version and install the previous one."
|
1437 |
msgstr "このバージョンをアンインストールして、以前のバージョンをインストールする。"
|
1438 |
|
1439 |
+
#: includes/i18n.php:405
|
1440 |
msgid "That's exhausting, please deactivate"
|
1441 |
msgstr "それは、使用できません。無効化してください。"
|
1442 |
|
1443 |
+
#: includes/i18n.php:406
|
1444 |
+
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
|
|
|
|
1445 |
msgstr "ご迷惑をおかけして心からお詫び申し上げます。将来ふたたびお会いできることを楽しみにしています。"
|
1446 |
|
1447 |
+
#: includes/i18n.php:407
|
1448 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
|
|
|
|
1449 |
msgstr "修正するチャンスをいただきありがとうございます! テクニカルスタッフにメッセージが送信されました。 %s への更新が行われるとすぐにあなたに連絡します。 あなたの忍耐に感謝します。"
|
1450 |
|
1451 |
+
#: includes/i18n.php:408
|
1452 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1453 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
|
|
|
|
1454 |
msgstr "サーバーは %1s の同期に不可欠な Freemius の API へのアクセスをブロックしています。 ホワイトリストに %2s を追加していただけるようあなたのホスティング会社に連絡してください。"
|
1455 |
|
1456 |
+
#: includes/i18n.php:410
|
1457 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
|
|
1458 |
msgstr "認証パラメータの1つが間違っているようです。 公開鍵、秘密鍵、ユーザーIDを更新して、もう一度お試しください。"
|
1459 |
|
1460 |
+
#: includes/i18n.php:413
|
1461 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
|
|
|
|
|
|
|
|
1462 |
msgstr "メールボックスを確認してください。所有権の変更を確認するには、%s でメールを受け取る必要があります。 セキュリティ上の理由から、次の15分以内に変更を確認する必要があります。 電子メールが見つからない場合は、迷惑メールフォルダを確認してください。"
|
1463 |
|
1464 |
+
#: includes/i18n.php:414
|
1465 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
|
|
|
|
1466 |
msgstr "所有権の変更を確認していただきありがとうございます。 %s に承認メールが送信されました。"
|
1467 |
|
1468 |
+
#: includes/i18n.php:415
|
1469 |
msgid "%s is the new owner of the account."
|
1470 |
msgstr "%s は新しいオーナーです。"
|
1471 |
|
1472 |
+
#: includes/i18n.php:417
|
1473 |
msgctxt "addonX cannot run without pluginY"
|
1474 |
msgid "%s cannot run without %s."
|
1475 |
msgstr "%s は、%s が無いと実行することができません。"
|
1476 |
|
1477 |
+
#: includes/i18n.php:419
|
1478 |
msgctxt "addonX cannot run..."
|
1479 |
msgid "%s cannot run without the plugin."
|
1480 |
msgstr "%s は、プラグインが無いと実行することができません。"
|
1481 |
|
1482 |
+
#: includes/i18n.php:420
|
1483 |
msgctxt "pluginX activation was successfully..."
|
1484 |
msgid "%s activation was successfully completed."
|
1485 |
msgstr "%s の有効化が成功しました。"
|
1486 |
|
1487 |
+
#: includes/i18n.php:422
|
1488 |
msgctxt "Plugin installer section title"
|
1489 |
msgid "Features & Pricing"
|
1490 |
msgstr "機能 & 料金"
|
1491 |
|
1492 |
+
#: includes/i18n.php:423
|
1493 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1494 |
msgstr "アドオンが WordPress.org か Freemius にデプロイされている必要があります。"
|
1495 |
|
1496 |
+
#: includes/i18n.php:424
|
1497 |
msgid "Paid add-on must be deployed to Freemius."
|
1498 |
msgstr "有料アドオンは Freemius にデプロイされている必要があります。"
|
1499 |
|
1500 |
+
#: includes/i18n.php:428
|
1501 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
|
|
1502 |
msgstr "%s はプレミアムのみのアドオンです。そのプラグインを有効化する前にライセンスを購入する必要があります。"
|
1503 |
|
1504 |
+
#: includes/i18n.php:429
|
1505 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
|
|
|
|
1506 |
msgstr "%s の無料試用が正常にキャンセルされました。 アドオンはプレミアムなので、自動的に無効化されました。 将来使用したい場合は、ライセンスを購入する必要があります。"
|
1507 |
|
1508 |
+
#: includes/i18n.php:434
|
1509 |
msgctxt "as every month"
|
1510 |
msgid "Monthly"
|
1511 |
msgstr "月"
|
1512 |
|
1513 |
+
#: includes/i18n.php:435
|
1514 |
msgctxt "as monthly period"
|
1515 |
msgid "mo"
|
1516 |
msgstr "月"
|
1517 |
|
1518 |
+
#: includes/i18n.php:436
|
1519 |
msgctxt "as once a year"
|
1520 |
msgid "Annual"
|
1521 |
msgstr "年次"
|
1522 |
|
1523 |
+
#: includes/i18n.php:437
|
1524 |
msgctxt "as once a year"
|
1525 |
msgid "Annually"
|
1526 |
msgstr "毎年"
|
1527 |
|
1528 |
+
#: includes/i18n.php:438
|
1529 |
msgctxt "as once a year"
|
1530 |
msgid "Once"
|
1531 |
msgstr "一度"
|
1532 |
|
1533 |
+
#: includes/i18n.php:439
|
1534 |
msgctxt "as annual period"
|
1535 |
msgid "year"
|
1536 |
msgstr "年"
|
1537 |
|
1538 |
+
#: includes/i18n.php:440
|
1539 |
msgid "Lifetime"
|
1540 |
msgstr "ライフタイム"
|
1541 |
|
1542 |
+
#: includes/i18n.php:441
|
1543 |
msgctxt "e.g. the best product"
|
1544 |
msgid "Best"
|
1545 |
msgstr "ベスト"
|
1546 |
|
1547 |
+
#: includes/i18n.php:442
|
1548 |
msgctxt "e.g. billed monthly"
|
1549 |
msgid "Billed %s"
|
1550 |
msgstr "%s への請求"
|
1551 |
|
1552 |
+
#: includes/i18n.php:443
|
1553 |
msgctxt "as a discount of $5 or 10%"
|
1554 |
msgid "Save %s"
|
1555 |
msgstr "%s を保存"
|
1556 |
|
1557 |
+
#: includes/i18n.php:445
|
1558 |
msgid "View details"
|
1559 |
msgstr "詳細を表示"
|
1560 |
|
1561 |
+
#: includes/i18n.php:449
|
1562 |
msgctxt "button label"
|
1563 |
msgid "Approve & Start Trial"
|
1564 |
msgstr "気に入ったのでトライアルを開始"
|
1565 |
|
1566 |
+
#: includes/i18n.php:451
|
1567 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
|
|
|
|
1568 |
msgstr "%2$s プランの%1$s日間のフリートライアルを開始するまであとワンクリックです。"
|
1569 |
|
1570 |
+
#: includes/i18n.php:453
|
1571 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt-in with your user and non-sensitive site information, allowing the plugin to periodically send data to %s to check for version updates and to validate your trial."
|
|
|
|
|
|
|
|
|
1572 |
msgstr "WordPress.org ガイドラインの遵守のため、ユーザーとセンシティブでないサイト情報をオプトインすること、バージョンの更新確認のために %s へとプラグインが一時的にデータを送信することの許可、トライアルを有効にすることの3つについて、トライアルの開始前にお尋ねします。"
|
1573 |
|
1574 |
+
#: includes/i18n.php:459
|
1575 |
msgid "Business name"
|
1576 |
msgstr "商号"
|
1577 |
|
1578 |
+
#: includes/i18n.php:460
|
1579 |
msgid "Tax / VAT ID"
|
1580 |
msgstr "税金 / VAT ID"
|
1581 |
|
1582 |
+
#: includes/i18n.php:461
|
1583 |
msgid "Address Line %d"
|
1584 |
msgstr "住所欄 %d"
|
1585 |
|
1586 |
+
#: includes/i18n.php:462
|
1587 |
msgid "Country"
|
1588 |
msgstr "国"
|
1589 |
|
1590 |
+
#: includes/i18n.php:463
|
1591 |
msgid "Select Country"
|
1592 |
msgstr "国を選択"
|
1593 |
|
1594 |
+
#: includes/i18n.php:464
|
1595 |
msgid "City"
|
1596 |
msgstr "市"
|
1597 |
|
1598 |
+
#: includes/i18n.php:465
|
1599 |
msgid "Town"
|
1600 |
msgstr "町"
|
1601 |
|
1602 |
+
#: includes/i18n.php:466
|
1603 |
msgid "State"
|
1604 |
msgstr "州"
|
1605 |
|
1606 |
+
#: includes/i18n.php:467
|
1607 |
msgid "Province"
|
1608 |
msgstr "県・州・省"
|
1609 |
|
1610 |
+
#: includes/i18n.php:468
|
1611 |
msgid "ZIP / Postal Code"
|
1612 |
msgstr "ZIP / 郵便番号"
|
1613 |
+
|
1614 |
+
#: includes/i18n.php:473
|
1615 |
+
msgid "Installing plugin: %s"
|
1616 |
+
msgstr "Installing plugin: %s"
|
1617 |
+
|
1618 |
+
#: includes/i18n.php:474
|
1619 |
+
msgid "Automatic Installation"
|
1620 |
+
msgstr "Automatic Installation"
|
1621 |
+
|
1622 |
+
#: includes/i18n.php:476
|
1623 |
+
msgid "%s sec"
|
1624 |
+
msgstr "%s sec"
|
1625 |
+
|
1626 |
+
#: includes/i18n.php:477
|
1627 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1628 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1629 |
+
|
1630 |
+
#: includes/i18n.php:478
|
1631 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1632 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1633 |
+
|
1634 |
+
#: includes/i18n.php:479
|
1635 |
+
msgid "Cancel Installation"
|
1636 |
+
msgstr "Cancel Installation"
|
1637 |
+
|
1638 |
+
#: includes/i18n.php:480
|
1639 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1640 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1641 |
+
|
1642 |
+
#: includes/i18n.php:481
|
1643 |
+
msgid "Invalid module ID."
|
1644 |
+
msgstr "Invalid module ID."
|
1645 |
+
|
1646 |
+
#: includes/i18n.php:482
|
1647 |
+
msgid "Auto installation only works for opted-in users."
|
1648 |
+
msgstr "Auto installation only works for opted-in users."
|
1649 |
+
|
1650 |
+
#: includes/i18n.php:483
|
1651 |
+
msgid "Premium version already active."
|
1652 |
+
msgstr "Premium version already active."
|
1653 |
+
|
1654 |
+
#: includes/i18n.php:484
|
1655 |
+
msgid "Premium add-on version already installed."
|
1656 |
+
msgstr "Premium add-on version already installed."
|
1657 |
+
|
1658 |
+
#: includes/i18n.php:485
|
1659 |
+
msgid "You do not have a valid license to access the premium version."
|
1660 |
+
msgstr "You do not have a valid license to access the premium version."
|
1661 |
+
|
1662 |
+
#: includes/i18n.php:486
|
1663 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1664 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1665 |
+
|
1666 |
+
#: includes/i18n.php:501
|
1667 |
+
msgctxt "Plugin installer section title"
|
1668 |
+
msgid "Description"
|
1669 |
+
msgstr "Description"
|
1670 |
+
|
1671 |
+
#: includes/i18n.php:502
|
1672 |
+
msgctxt "Plugin installer section title"
|
1673 |
+
msgid "Installation"
|
1674 |
+
msgstr "Installation"
|
1675 |
+
|
1676 |
+
#: includes/i18n.php:503
|
1677 |
+
msgctxt "Plugin installer section title"
|
1678 |
+
msgid "FAQ"
|
1679 |
+
msgstr "FAQ"
|
1680 |
+
|
1681 |
+
#: includes/i18n.php:504
|
1682 |
+
msgctxt "Plugin installer section title"
|
1683 |
+
msgid "Changelog"
|
1684 |
+
msgstr "Changelog"
|
1685 |
+
|
1686 |
+
#: includes/i18n.php:505
|
1687 |
+
msgctxt "Plugin installer section title"
|
1688 |
+
msgid "Reviews"
|
1689 |
+
msgstr "Reviews"
|
1690 |
+
|
1691 |
+
#: includes/i18n.php:506
|
1692 |
+
msgctxt "Plugin installer section title"
|
1693 |
+
msgid "Other Notes"
|
1694 |
+
msgstr "Other Notes"
|
1695 |
+
|
1696 |
+
#: includes/i18n.php:508
|
1697 |
+
msgid "%s star"
|
1698 |
+
msgstr "%s star"
|
1699 |
+
|
1700 |
+
#: includes/i18n.php:510
|
1701 |
+
msgid "%s stars"
|
1702 |
+
msgstr "%s stars"
|
1703 |
+
|
1704 |
+
#: includes/i18n.php:512
|
1705 |
+
msgid "%s rating"
|
1706 |
+
msgstr "%s rating"
|
1707 |
+
|
1708 |
+
#: includes/i18n.php:514
|
1709 |
+
msgid "%s ratings"
|
1710 |
+
msgstr "%s ratings"
|
1711 |
+
|
1712 |
+
#: includes/i18n.php:516
|
1713 |
+
msgid "%s time"
|
1714 |
+
msgstr "%s time"
|
1715 |
+
|
1716 |
+
#: includes/i18n.php:518
|
1717 |
+
msgid "%s times"
|
1718 |
+
msgstr "%s times"
|
1719 |
+
|
1720 |
+
#: includes/i18n.php:520
|
1721 |
+
msgid "Click to see reviews that provided a rating of %s"
|
1722 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
1723 |
+
|
1724 |
+
#: includes/i18n.php:521
|
1725 |
+
msgid "Last Updated"
|
1726 |
+
msgstr "Last Updated"
|
1727 |
+
|
1728 |
+
#: includes/i18n.php:522
|
1729 |
+
msgid "Requires WordPress Version:"
|
1730 |
+
msgstr "Requires WordPress Version:"
|
1731 |
+
|
1732 |
+
#: includes/i18n.php:523
|
1733 |
+
msgctxt "as the plugin author"
|
1734 |
+
msgid "Author:"
|
1735 |
+
msgstr "Author:"
|
1736 |
+
|
1737 |
+
#: includes/i18n.php:524
|
1738 |
+
msgid "Compatible up to:"
|
1739 |
+
msgstr "Compatible up to:"
|
1740 |
+
|
1741 |
+
#: includes/i18n.php:525
|
1742 |
+
msgid "Downloaded:"
|
1743 |
+
msgstr "Downloaded:"
|
1744 |
+
|
1745 |
+
#: includes/i18n.php:526
|
1746 |
+
msgid "WordPress.org Plugin Page"
|
1747 |
+
msgstr "WordPress.org Plugin Page"
|
1748 |
+
|
1749 |
+
#: includes/i18n.php:527
|
1750 |
+
msgid "Plugin Homepage"
|
1751 |
+
msgstr "Plugin Homepage"
|
1752 |
+
|
1753 |
+
#: includes/i18n.php:528
|
1754 |
+
msgid "Donate to this plugin"
|
1755 |
+
msgstr "Donate to this plugin"
|
1756 |
+
|
1757 |
+
#: includes/i18n.php:529
|
1758 |
+
msgid "Average Rating"
|
1759 |
+
msgstr "Average Rating"
|
1760 |
+
|
1761 |
+
#: includes/i18n.php:530
|
1762 |
+
msgid "based on %s"
|
1763 |
+
msgstr "based on %s"
|
1764 |
+
|
1765 |
+
#: includes/i18n.php:531
|
1766 |
+
msgid "Warning:"
|
1767 |
+
msgstr "Warning:"
|
1768 |
+
|
1769 |
+
#: includes/i18n.php:532
|
1770 |
+
msgid "Contributors"
|
1771 |
+
msgstr "Contributors"
|
1772 |
+
|
1773 |
+
#: includes/i18n.php:533
|
1774 |
+
msgid "Plugin Install"
|
1775 |
+
msgstr "Plugin Install"
|
1776 |
+
|
1777 |
+
#: includes/i18n.php:534
|
1778 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
1779 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
1780 |
+
|
1781 |
+
#: includes/i18n.php:535
|
1782 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1783 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
1784 |
+
|
1785 |
+
#: includes/i18n.php:536
|
1786 |
+
msgid "Newer Version (%s) Installed"
|
1787 |
+
msgstr "Newer Version (%s) Installed"
|
1788 |
+
|
1789 |
+
#: includes/i18n.php:537
|
1790 |
+
msgid "Latest Version Installed"
|
1791 |
+
msgstr "Latest Version Installed"
|
freemius/languages/freemius.pot
CHANGED
@@ -77,1648 +77,1709 @@ msgid "Downgrade"
|
|
77 |
msgstr ""
|
78 |
|
79 |
#: includes/i18n.php:51
|
80 |
-
|
|
|
81 |
msgstr ""
|
82 |
|
83 |
#: includes/i18n.php:52
|
84 |
-
msgid "
|
85 |
msgstr ""
|
86 |
|
87 |
#: includes/i18n.php:53
|
88 |
-
msgid "
|
89 |
msgstr ""
|
90 |
|
91 |
#: includes/i18n.php:54
|
92 |
-
msgid "
|
93 |
msgstr ""
|
94 |
|
95 |
#: includes/i18n.php:55
|
96 |
-
msgid "
|
97 |
msgstr ""
|
98 |
|
99 |
#: includes/i18n.php:56
|
100 |
-
msgid "
|
101 |
msgstr ""
|
102 |
|
103 |
#: includes/i18n.php:57
|
104 |
-
msgid "
|
105 |
msgstr ""
|
106 |
|
107 |
#: includes/i18n.php:58
|
|
|
|
|
|
|
|
|
108 |
msgctxt "verb"
|
109 |
msgid "Delete"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: includes/i18n.php:
|
113 |
msgctxt "verb"
|
114 |
msgid "Show"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: includes/i18n.php:
|
118 |
msgctxt "verb"
|
119 |
msgid "Hide"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: includes/i18n.php:
|
123 |
msgctxt "verb"
|
124 |
msgid "Edit"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: includes/i18n.php:
|
128 |
msgctxt "verb"
|
129 |
msgid "Update"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: includes/i18n.php:
|
133 |
msgid "Date"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: includes/i18n.php:
|
137 |
msgid "Amount"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: includes/i18n.php:
|
141 |
msgid "Invoice"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: includes/i18n.php:
|
145 |
msgid "Billing"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: includes/i18n.php:
|
149 |
msgid "Payments"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: includes/i18n.php:
|
153 |
msgid "Delete Account"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: includes/i18n.php:
|
157 |
msgctxt "as close a window"
|
158 |
msgid "Dismiss"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: includes/i18n.php:
|
162 |
msgctxt "as product pricing plan"
|
163 |
msgid "Plan"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: includes/i18n.php:
|
167 |
msgid "Change Plan"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: includes/i18n.php:
|
171 |
msgctxt "as download professional version"
|
172 |
msgid "Download %s Version"
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: includes/i18n.php:
|
176 |
msgctxt "as download professional version now"
|
177 |
msgid "Download %s version now"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: includes/i18n.php:
|
181 |
msgctxt "as download latest version"
|
182 |
msgid "Download Latest"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: includes/i18n.php:
|
186 |
msgctxt "E.g. you have a professional license."
|
187 |
msgid "You have a %s license."
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: includes/i18n.php:
|
191 |
msgid "New"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: includes/i18n.php:
|
195 |
msgid "Free"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: includes/i18n.php:
|
199 |
msgctxt "as trial plan"
|
200 |
msgid "Trial"
|
201 |
msgstr ""
|
202 |
|
203 |
-
#: includes/i18n.php:
|
204 |
msgctxt "as starting a trial plan"
|
205 |
msgid "Start Trial"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: includes/i18n.php:
|
209 |
msgctxt "verb"
|
210 |
msgid "Purchase"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: includes/i18n.php:
|
214 |
msgid "Purchase License"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: includes/i18n.php:
|
218 |
msgctxt "verb"
|
219 |
msgid "Buy"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: includes/i18n.php:
|
223 |
msgid "Buy License"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: includes/i18n.php:
|
227 |
msgid "Single Site License"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: includes/i18n.php:
|
231 |
msgid "Unlimited Licenses"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: includes/i18n.php:
|
235 |
msgid "Up to %s Sites"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: includes/i18n.php:
|
239 |
msgid "%sRenew your license now%s to access version %s features and support."
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: includes/i18n.php:
|
243 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: includes/i18n.php:
|
247 |
msgctxt "e.g. Professional Plan"
|
248 |
msgid "%s Plan"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: includes/i18n.php:
|
252 |
msgid "You are just one step away - %s"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: includes/i18n.php:
|
256 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
257 |
msgid "Complete \"%s\" Activation Now"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: includes/i18n.php:
|
261 |
msgid "We made a few tweaks to the plugin, %s"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: includes/i18n.php:
|
265 |
msgid "Opt-in to make \"%s\" Better!"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: includes/i18n.php:
|
269 |
msgid "Error"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: includes/i18n.php:
|
273 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: includes/i18n.php:
|
277 |
msgctxt "as expiration date"
|
278 |
msgid "Expiration"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: includes/i18n.php:
|
282 |
msgctxt "as software license"
|
283 |
msgid "License"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: includes/i18n.php:
|
287 |
msgid "not verified"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: includes/i18n.php:
|
291 |
msgid "Verify Email"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: includes/i18n.php:
|
295 |
msgctxt "e.g. expires in 2 months"
|
296 |
msgid "Expires in %s"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: includes/i18n.php:
|
300 |
msgctxt "e.g. auto renews in 2 months"
|
301 |
msgid "Auto renews in %s"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: includes/i18n.php:
|
305 |
msgid "No expiration"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: includes/i18n.php:
|
309 |
msgid "Expired"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: includes/i18n.php:
|
313 |
msgid "Cancelled"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: includes/i18n.php:
|
317 |
msgctxt "e.g. In 2 hours"
|
318 |
msgid "In %s"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: includes/i18n.php:
|
322 |
msgctxt "e.g. 2 min ago"
|
323 |
msgid "%s ago"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: includes/i18n.php:
|
327 |
msgid "%s or higher"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: includes/i18n.php:
|
331 |
msgctxt "as plugin version"
|
332 |
msgid "Version"
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: includes/i18n.php:
|
336 |
msgid "Name"
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: includes/i18n.php:
|
340 |
msgid "Email"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: includes/i18n.php:
|
344 |
msgid "Email address"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: includes/i18n.php:
|
348 |
msgid "Verified"
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: includes/i18n.php:
|
352 |
msgid "Module"
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: includes/i18n.php:
|
356 |
msgid "Module Type"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: includes/i18n.php:
|
360 |
msgid "Plugin"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: includes/i18n.php:
|
364 |
msgid "Plugins"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: includes/i18n.php:
|
368 |
msgid "Theme"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: includes/i18n.php:
|
372 |
msgid "Themes"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: includes/i18n.php:
|
376 |
msgctxt "as file/folder path"
|
377 |
msgid "Path"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: includes/i18n.php:
|
381 |
msgid "Title"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: includes/i18n.php:
|
385 |
msgid "Free version"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: includes/i18n.php:
|
389 |
msgid "Premium version"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: includes/i18n.php:
|
393 |
msgctxt "as WP plugin slug"
|
394 |
msgid "Slug"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: includes/i18n.php:
|
398 |
msgid "ID"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: includes/i18n.php:
|
402 |
msgid "Users"
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: includes/i18n.php:
|
406 |
msgid "Plugin Installs"
|
407 |
msgstr ""
|
408 |
|
409 |
-
#: includes/i18n.php:
|
410 |
msgid "%s Installs"
|
411 |
msgstr ""
|
412 |
|
413 |
-
#: includes/i18n.php:
|
414 |
msgctxt "like websites"
|
415 |
msgid "Sites"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/i18n.php:
|
419 |
msgid "User ID"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/i18n.php:
|
423 |
msgid "Site ID"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/i18n.php:
|
427 |
msgid "Public Key"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/i18n.php:
|
431 |
msgid "Secret Key"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/i18n.php:
|
435 |
msgctxt "as secret encryption key missing"
|
436 |
msgid "No Secret"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: includes/i18n.php:
|
440 |
msgid "No ID"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: includes/i18n.php:
|
444 |
msgctxt "as synchronize license"
|
445 |
msgid "Sync License"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: includes/i18n.php:
|
449 |
msgctxt "as synchronize"
|
450 |
msgid "Sync"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: includes/i18n.php:
|
454 |
msgid "Activate License"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: includes/i18n.php:
|
458 |
msgid "Activate Free Version"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: includes/i18n.php:
|
462 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: includes/i18n.php:
|
466 |
msgid "Activating license..."
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: includes/i18n.php:
|
470 |
msgid "Change License"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: includes/i18n.php:
|
474 |
msgid "Update License"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: includes/i18n.php:
|
478 |
msgid "Deactivate License"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/i18n.php:
|
482 |
msgid "Activate"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: includes/i18n.php:
|
486 |
msgid "Deactivate"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: includes/i18n.php:
|
490 |
msgid "Skip & Deactivate"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/i18n.php:
|
494 |
msgid "Skip & %s"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: includes/i18n.php:
|
498 |
msgid "No - just deactivate"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: includes/i18n.php:
|
502 |
msgid "Yes - do your thing"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: includes/i18n.php:
|
506 |
msgctxt "active mode"
|
507 |
msgid "Active"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/i18n.php:
|
511 |
msgctxt "is active mode?"
|
512 |
msgid "Is Active"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: includes/i18n.php:
|
516 |
msgid "Install Now"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/i18n.php:
|
520 |
msgid "Install Update Now"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: includes/i18n.php:
|
524 |
msgid "More information about %s"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: includes/i18n.php:
|
528 |
msgid "Localhost"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: includes/i18n.php:
|
532 |
msgctxt "as activate Professional plan"
|
533 |
msgid "Activate %s Plan"
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: includes/i18n.php:
|
537 |
msgctxt "as 5 licenses left"
|
538 |
msgid "%s left"
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: includes/i18n.php:
|
542 |
msgid "Last license"
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: includes/i18n.php:
|
546 |
msgid "What is your %s?"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: includes/i18n.php:
|
550 |
msgid "Activate this add-on"
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: includes/i18n.php:
|
554 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: includes/i18n.php:
|
558 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: includes/i18n.php:
|
562 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
563 |
msgstr ""
|
564 |
|
565 |
-
#: includes/i18n.php:
|
566 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: includes/i18n.php:
|
570 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: includes/i18n.php:
|
574 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
575 |
msgstr ""
|
576 |
|
577 |
-
#: includes/i18n.php:
|
578 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: includes/i18n.php:
|
582 |
msgid "Are you sure you want to proceed?"
|
583 |
msgstr ""
|
584 |
|
585 |
-
#: includes/i18n.php:
|
586 |
msgid "Add Ons for %s"
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: includes/i18n.php:
|
590 |
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."
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: includes/i18n.php:
|
594 |
msgid "Anonymous feedback"
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: includes/i18n.php:
|
598 |
msgid "Quick feedback"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: includes/i18n.php:
|
602 |
msgid "If you have a moment, please let us know why you are deactivating"
|
603 |
msgstr ""
|
604 |
|
605 |
-
#: includes/i18n.php:
|
606 |
msgid "Yes - Deactivate"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: includes/i18n.php:
|
610 |
msgid "Submit & Deactivate"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: includes/i18n.php:
|
614 |
msgid "Cancel"
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: includes/i18n.php:
|
618 |
msgid "I no longer need the plugin"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: includes/i18n.php:
|
622 |
msgid "I found a better plugin"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: includes/i18n.php:
|
626 |
msgid "I only needed the plugin for a short period"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: includes/i18n.php:
|
630 |
msgid "The plugin broke my site"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: includes/i18n.php:
|
634 |
msgid "The plugin suddenly stopped working"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: includes/i18n.php:
|
638 |
msgid "I can't pay for it anymore"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: includes/i18n.php:
|
642 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: includes/i18n.php:
|
646 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
647 |
msgid "Other"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: includes/i18n.php:
|
651 |
msgid "Kindly tell us the reason so we can improve."
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: includes/i18n.php:
|
655 |
msgid "What's the plugin's name?"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: includes/i18n.php:
|
659 |
msgid "What price would you feel comfortable paying?"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: includes/i18n.php:
|
663 |
msgid "I couldn't understand how to make it work"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: includes/i18n.php:
|
667 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: includes/i18n.php:
|
671 |
msgid "The plugin is not working"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: includes/i18n.php:
|
675 |
msgid "It's not what I was looking for"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: includes/i18n.php:
|
679 |
msgid "The plugin didn't work as expected"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: includes/i18n.php:
|
683 |
msgid "What feature?"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: includes/i18n.php:
|
687 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: includes/i18n.php:
|
691 |
msgid "What you've been looking for?"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: includes/i18n.php:
|
695 |
msgid "What did you expect?"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: includes/i18n.php:
|
699 |
msgid "The plugin didn't work"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: includes/i18n.php:
|
703 |
msgid "I don't like to share my information with you"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: includes/i18n.php:
|
707 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: includes/i18n.php:
|
711 |
msgctxt "greeting"
|
712 |
msgid "Hey %s,"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: includes/i18n.php:
|
716 |
msgctxt "a greeting. E.g. Thanks John!"
|
717 |
msgid "Thanks %s!"
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: includes/i18n.php:
|
721 |
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: includes/i18n.php:
|
725 |
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."
|
726 |
msgstr ""
|
727 |
|
728 |
-
#: includes/i18n.php:
|
729 |
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."
|
730 |
msgstr ""
|
731 |
|
732 |
-
#: includes/i18n.php:
|
733 |
msgid "complete the install"
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: includes/i18n.php:
|
737 |
msgid "start the trial"
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: includes/i18n.php:
|
741 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
742 |
msgstr ""
|
743 |
|
744 |
-
#: includes/i18n.php:
|
745 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
746 |
msgstr ""
|
747 |
|
748 |
-
#: includes/i18n.php:
|
749 |
msgid "What permissions are being granted?"
|
750 |
msgstr ""
|
751 |
|
752 |
-
#: includes/i18n.php:
|
753 |
msgid "Your Profile Overview"
|
754 |
msgstr ""
|
755 |
|
756 |
-
#: includes/i18n.php:
|
757 |
msgid "Name and email address"
|
758 |
msgstr ""
|
759 |
|
760 |
-
#: includes/i18n.php:
|
761 |
msgid "Your Site Overview"
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: includes/i18n.php:
|
765 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
766 |
msgstr ""
|
767 |
|
768 |
-
#: includes/i18n.php:
|
769 |
msgid "Current Plugin Events"
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: includes/i18n.php:
|
773 |
msgid "Activation, deactivation and uninstall"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: includes/i18n.php:
|
777 |
msgid "Plugins & Themes"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: includes/i18n.php:
|
781 |
msgid "Titles, versions and state."
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: includes/i18n.php:
|
785 |
msgid "Admin Notices"
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: includes/i18n.php:
|
789 |
msgid "Newsletter"
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: includes/i18n.php:
|
793 |
msgid "Updates, announcements, marketing, no spam"
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: includes/i18n.php:
|
797 |
msgid "Privacy Policy"
|
798 |
msgstr ""
|
799 |
|
800 |
-
#: includes/i18n.php:
|
801 |
msgid "Terms of Service"
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: includes/i18n.php:
|
805 |
msgctxt "as activating plugin"
|
806 |
msgid "Activating"
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: includes/i18n.php:
|
810 |
msgctxt "as in the process of sending an email"
|
811 |
msgid "Sending email"
|
812 |
msgstr ""
|
813 |
|
814 |
-
#: includes/i18n.php:
|
815 |
msgctxt "button label"
|
816 |
msgid "Allow & Continue"
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: includes/i18n.php:
|
820 |
msgctxt "button label"
|
821 |
msgid "Agree & Activate License"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: includes/i18n.php:
|
825 |
msgctxt "verb"
|
826 |
msgid "Skip"
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: includes/i18n.php:
|
830 |
msgid "Click here to use the plugin anonymously"
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: includes/i18n.php:
|
834 |
msgid "Re-send activation email"
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: includes/i18n.php:
|
838 |
msgid "License key"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: includes/i18n.php:
|
842 |
msgid "Send License Key"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: includes/i18n.php:
|
846 |
msgid "Sending license key"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: includes/i18n.php:
|
850 |
msgid "Have a license key?"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: includes/i18n.php:
|
854 |
msgid "Don't have a license key?"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: includes/i18n.php:
|
858 |
msgid "Can't find your license key?"
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: includes/i18n.php:
|
862 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: includes/i18n.php:
|
866 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: includes/i18n.php:
|
870 |
msgid "Opt In"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: includes/i18n.php:
|
874 |
msgid "Opt Out"
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: includes/i18n.php:
|
878 |
msgid "On second thought - I want to continue helping"
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: includes/i18n.php:
|
882 |
msgid "Opting out..."
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: includes/i18n.php:
|
886 |
msgid "Opting in..."
|
887 |
msgstr ""
|
888 |
|
889 |
-
#: includes/i18n.php:
|
890 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: includes/i18n.php:
|
894 |
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."
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: includes/i18n.php:
|
898 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: includes/i18n.php:
|
902 |
msgid "Screenshots"
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: includes/i18n.php:
|
906 |
msgid "Click to view full-size screenshot %d"
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: includes/i18n.php:
|
910 |
msgid "Freemius Debug"
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: includes/i18n.php:
|
914 |
msgctxt "as turned on"
|
915 |
msgid "On"
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: includes/i18n.php:
|
919 |
msgctxt "as turned off"
|
920 |
msgid "Off"
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: includes/i18n.php:
|
924 |
msgctxt "as code debugging"
|
925 |
msgid "Debugging"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#: includes/i18n.php:
|
929 |
msgid "Freemius State"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: includes/i18n.php:
|
933 |
msgctxt "as connection was successful"
|
934 |
msgid "Connected"
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: includes/i18n.php:
|
938 |
msgctxt "as connection blocked"
|
939 |
msgid "Blocked"
|
940 |
msgstr ""
|
941 |
|
942 |
-
#: includes/i18n.php:
|
943 |
msgctxt "as application program interface"
|
944 |
msgid "API"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: includes/i18n.php:
|
948 |
msgctxt "as software development kit versions"
|
949 |
msgid "SDK"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: includes/i18n.php:
|
953 |
msgctxt "as software development kit versions"
|
954 |
msgid "SDK Versions"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: includes/i18n.php:
|
958 |
msgctxt "as plugin folder path"
|
959 |
msgid "Plugin Path"
|
960 |
msgstr ""
|
961 |
|
962 |
-
#: includes/i18n.php:
|
963 |
msgctxt "as sdk path"
|
964 |
msgid "SDK Path"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: includes/i18n.php:
|
968 |
msgid "Add Ons of Plugin %s"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: includes/i18n.php:
|
972 |
msgid "Are you sure you want to delete all Freemius data?"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: includes/i18n.php:
|
976 |
msgid "Actions"
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: includes/i18n.php:
|
980 |
msgid "Delete All Accounts"
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: includes/i18n.php:
|
984 |
msgid "Start Fresh"
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: includes/i18n.php:
|
988 |
msgid "Clear API Cache"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: includes/i18n.php:
|
992 |
msgid "Sync Data From Server"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: includes/i18n.php:
|
996 |
msgid "Scheduled Crons"
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: includes/i18n.php:
|
1000 |
msgid "Cron Type"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: includes/i18n.php:
|
1004 |
msgid "Plugins & Themes Sync"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: includes/i18n.php:
|
1008 |
msgid "Licenses"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: includes/i18n.php:
|
1012 |
msgid "Debug Log"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: includes/i18n.php:
|
1016 |
msgid "All"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: includes/i18n.php:
|
1020 |
msgid "File"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: includes/i18n.php:
|
1024 |
msgid "Function"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
-
#: includes/i18n.php:
|
1028 |
msgid "Process ID"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: includes/i18n.php:
|
1032 |
msgid "Logger"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: includes/i18n.php:
|
1036 |
msgid "Message"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: includes/i18n.php:
|
1040 |
msgid "Download"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: includes/i18n.php:
|
1044 |
msgid "Filter"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: includes/i18n.php:
|
1048 |
msgid "Type"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: includes/i18n.php:
|
1052 |
msgid "All Types"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: includes/i18n.php:
|
1056 |
msgid "All Requests"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: includes/i18n.php:
|
1060 |
msgctxt "as congratulations"
|
1061 |
msgid "Congrats"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: includes/i18n.php:
|
1065 |
msgctxt "exclamation"
|
1066 |
msgid "Oops"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: includes/i18n.php:
|
1070 |
msgctxt "interjection expressing joy or exuberance"
|
1071 |
msgid "Yee-haw"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
-
#: includes/i18n.php:
|
1075 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1076 |
msgid "W00t"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: includes/i18n.php:
|
1080 |
msgctxt "a positive response"
|
1081 |
msgid "Right on"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
-
#: includes/i18n.php:
|
1085 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1086 |
msgid "Hmm"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
-
#: includes/i18n.php:
|
1090 |
msgid "O.K"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
-
#: includes/i18n.php:
|
1094 |
msgctxt "exclamation"
|
1095 |
msgid "Hey"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: includes/i18n.php:
|
1099 |
msgctxt "advance notice of something that will need attention."
|
1100 |
msgid "Heads up"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: includes/i18n.php:
|
1104 |
msgid "Seems like you got the latest release."
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: includes/i18n.php:
|
1108 |
msgid "You are all good!"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: includes/i18n.php:
|
1112 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: includes/i18n.php:
|
1116 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: includes/i18n.php:
|
1120 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: includes/i18n.php:
|
1124 |
msgid "Your name was successfully updated."
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: includes/i18n.php:
|
1128 |
msgid "You have successfully updated your %s."
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: includes/i18n.php:
|
1132 |
msgid "Please provide your full name."
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: includes/i18n.php:
|
1136 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: includes/i18n.php:
|
1140 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: includes/i18n.php:
|
1144 |
msgid "No credit card required"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: includes/i18n.php:
|
1148 |
msgid "Premium plugin version was successfully activated."
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: includes/i18n.php:
|
1152 |
msgid "The upgrade of %s was successfully completed."
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: includes/i18n.php:
|
1156 |
msgid "Your account was successfully activated with the %s plan."
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: includes/i18n.php:
|
1160 |
msgid "Download the latest %s version now"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: includes/i18n.php:
|
1164 |
msgid "Please follow these steps to complete the upgrade"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: includes/i18n.php:
|
1168 |
msgid "Download the latest %s version"
|
1169 |
msgstr ""
|
1170 |
|
1171 |
-
#: includes/i18n.php:
|
1172 |
msgid "Download the latest version"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: includes/i18n.php:
|
1176 |
msgid "Deactivate the free version"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
-
#: includes/i18n.php:
|
1180 |
msgid "Upload and activate the downloaded version"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
-
#: includes/i18n.php:
|
1184 |
msgid "How to upload and activate?"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: includes/i18n.php:
|
1188 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1189 |
msgid "%s Add-on was successfully purchased."
|
1190 |
msgstr ""
|
1191 |
|
1192 |
-
#: includes/i18n.php:
|
1193 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1194 |
msgstr ""
|
1195 |
|
1196 |
-
#: includes/i18n.php:
|
1197 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
-
#: includes/i18n.php:
|
1201 |
msgid "Your plan was successfully upgraded."
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: includes/i18n.php:
|
1205 |
msgid "Your plan was successfully changed to %s."
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: includes/i18n.php:
|
1209 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: includes/i18n.php:
|
1213 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: includes/i18n.php:
|
1217 |
msgid "Your trial has been successfully started."
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: includes/i18n.php:
|
1221 |
msgid "Your license was successfully activated."
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: includes/i18n.php:
|
1225 |
msgid "It looks like your site currently doesn't have an active license."
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: includes/i18n.php:
|
1229 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: includes/i18n.php:
|
1233 |
msgid "It looks like the license deactivation failed."
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: includes/i18n.php:
|
1237 |
msgid "It looks like the license could not be activated."
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: includes/i18n.php:
|
1241 |
msgid "Error received from the server:"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: includes/i18n.php:
|
1245 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: includes/i18n.php:
|
1249 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1250 |
msgstr ""
|
1251 |
|
1252 |
-
#: includes/i18n.php:
|
1253 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: includes/i18n.php:
|
1257 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
-
#: includes/i18n.php:
|
1261 |
msgid "Your %s free trial was successfully cancelled."
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: includes/i18n.php:
|
1265 |
msgctxt "%s - numeric version number"
|
1266 |
msgid "Version %s was released."
|
1267 |
msgstr ""
|
1268 |
|
1269 |
-
#: includes/i18n.php:
|
1270 |
msgid "Please download %s."
|
1271 |
msgstr ""
|
1272 |
|
1273 |
-
#: includes/i18n.php:
|
1274 |
msgctxt "%s - plan name, as the latest professional version here"
|
1275 |
msgid "the latest %s version here"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#: includes/i18n.php:
|
1279 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#: includes/i18n.php:
|
1283 |
msgctxt "call to action"
|
1284 |
msgid "Start free trial"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
-
#: includes/i18n.php:
|
1288 |
msgid "Starting trial"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
-
#: includes/i18n.php:
|
1292 |
msgid "Please wait"
|
1293 |
msgstr ""
|
1294 |
|
1295 |
-
#: includes/i18n.php:
|
1296 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1297 |
msgstr ""
|
1298 |
|
1299 |
-
#: includes/i18n.php:
|
1300 |
msgid "You already utilized a trial before."
|
1301 |
msgstr ""
|
1302 |
|
1303 |
-
#: includes/i18n.php:
|
1304 |
msgid "You are already running the plugin in a trial mode."
|
1305 |
msgstr ""
|
1306 |
|
1307 |
-
#: includes/i18n.php:
|
1308 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1309 |
msgstr ""
|
1310 |
|
1311 |
-
#: includes/i18n.php:
|
1312 |
msgid "Plan %s does not support a trial period."
|
1313 |
msgstr ""
|
1314 |
|
1315 |
-
#: includes/i18n.php:
|
1316 |
msgid "None of the plugin's plans supports a trial period."
|
1317 |
msgstr ""
|
1318 |
|
1319 |
-
#: includes/i18n.php:
|
1320 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1321 |
msgstr ""
|
1322 |
|
1323 |
-
#: includes/i18n.php:
|
1324 |
msgid "No commitment for %s days - cancel anytime!"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: includes/i18n.php:
|
1328 |
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."
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: includes/i18n.php:
|
1332 |
msgid "Couldn't activate %s."
|
1333 |
msgstr ""
|
1334 |
|
1335 |
-
#: includes/i18n.php:
|
1336 |
msgid "Please contact us with the following message:"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#: includes/i18n.php:
|
1340 |
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."
|
1341 |
msgstr ""
|
1342 |
|
1343 |
-
#: includes/i18n.php:
|
1344 |
msgid "Please contact us here"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
-
#: includes/i18n.php:
|
1348 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1349 |
msgstr ""
|
1350 |
|
1351 |
-
#: includes/i18n.php:
|
1352 |
msgid "From unknown reason, the API connectivity test failed."
|
1353 |
msgstr ""
|
1354 |
|
1355 |
-
#: includes/i18n.php:
|
1356 |
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?"
|
1357 |
msgstr ""
|
1358 |
|
1359 |
-
#: includes/i18n.php:
|
1360 |
-
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
|
1361 |
msgstr ""
|
1362 |
|
1363 |
-
#: includes/i18n.php:
|
|
|
|
|
|
|
|
|
1364 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1365 |
msgstr ""
|
1366 |
|
1367 |
-
#: includes/i18n.php:
|
1368 |
msgctxt "as pluginX requires an access to our API"
|
1369 |
msgid "%s requires an access to our API."
|
1370 |
msgstr ""
|
1371 |
|
1372 |
-
#: includes/i18n.php:
|
1373 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: includes/i18n.php:
|
1377 |
msgid "I don't know what is Squid or ACL, help me!"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: includes/i18n.php:
|
1381 |
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."
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: includes/i18n.php:
|
1385 |
msgid "I'm a system administrator"
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: includes/i18n.php:
|
1389 |
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1390 |
msgstr ""
|
1391 |
|
1392 |
-
#: includes/i18n.php:
|
1393 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: includes/i18n.php:
|
1397 |
-
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."
|
1398 |
msgstr ""
|
1399 |
|
1400 |
-
#: includes/i18n.php:
|
1401 |
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."
|
1402 |
msgstr ""
|
1403 |
|
1404 |
-
#: includes/i18n.php:
|
1405 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1406 |
msgstr ""
|
1407 |
|
1408 |
-
#: includes/i18n.php:
|
1409 |
msgid "Yes - I'm giving you a chance to fix it"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: includes/i18n.php:
|
1413 |
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."
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: includes/i18n.php:
|
1417 |
msgid "Let's try your previous version"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: includes/i18n.php:
|
1421 |
msgid "Uninstall this version and install the previous one."
|
1422 |
msgstr ""
|
1423 |
|
1424 |
-
#: includes/i18n.php:
|
1425 |
msgid "That's exhausting, please deactivate"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: includes/i18n.php:
|
1429 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1430 |
msgstr ""
|
1431 |
|
1432 |
-
#: includes/i18n.php:
|
1433 |
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."
|
1434 |
msgstr ""
|
1435 |
|
1436 |
-
#: includes/i18n.php:
|
1437 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1438 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
-
#: includes/i18n.php:
|
1442 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1443 |
msgstr ""
|
1444 |
|
1445 |
-
#: includes/i18n.php:
|
1446 |
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."
|
1447 |
msgstr ""
|
1448 |
|
1449 |
-
#: includes/i18n.php:
|
1450 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: includes/i18n.php:
|
1454 |
msgid "%s is the new owner of the account."
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: includes/i18n.php:
|
1458 |
msgctxt "addonX cannot run without pluginY"
|
1459 |
msgid "%s cannot run without %s."
|
1460 |
msgstr ""
|
1461 |
|
1462 |
-
#: includes/i18n.php:
|
1463 |
msgctxt "addonX cannot run..."
|
1464 |
msgid "%s cannot run without the plugin."
|
1465 |
msgstr ""
|
1466 |
|
1467 |
-
#: includes/i18n.php:
|
1468 |
msgctxt "pluginX activation was successfully..."
|
1469 |
msgid "%s activation was successfully completed."
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: includes/i18n.php:
|
1473 |
msgctxt "Plugin installer section title"
|
1474 |
msgid "Features & Pricing"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: includes/i18n.php:
|
1478 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: includes/i18n.php:
|
1482 |
msgid "Paid add-on must be deployed to Freemius."
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: includes/i18n.php:
|
1486 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: includes/i18n.php:
|
1490 |
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."
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: includes/i18n.php:
|
1494 |
msgctxt "as every month"
|
1495 |
msgid "Monthly"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
-
#: includes/i18n.php:
|
1499 |
msgctxt "as monthly period"
|
1500 |
msgid "mo"
|
1501 |
msgstr ""
|
1502 |
|
1503 |
-
#: includes/i18n.php:
|
1504 |
msgctxt "as once a year"
|
1505 |
msgid "Annual"
|
1506 |
msgstr ""
|
1507 |
|
1508 |
-
#: includes/i18n.php:
|
1509 |
msgctxt "as once a year"
|
1510 |
msgid "Annually"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: includes/i18n.php:
|
1514 |
msgctxt "as once a year"
|
1515 |
msgid "Once"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
-
#: includes/i18n.php:
|
1519 |
msgctxt "as annual period"
|
1520 |
msgid "year"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
-
#: includes/i18n.php:
|
1524 |
msgid "Lifetime"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
-
#: includes/i18n.php:
|
1528 |
msgctxt "e.g. the best product"
|
1529 |
msgid "Best"
|
1530 |
msgstr ""
|
1531 |
|
1532 |
-
#: includes/i18n.php:
|
1533 |
msgctxt "e.g. billed monthly"
|
1534 |
msgid "Billed %s"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
-
#: includes/i18n.php:
|
1538 |
msgctxt "as a discount of $5 or 10%"
|
1539 |
msgid "Save %s"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: includes/i18n.php:
|
1543 |
msgid "View details"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: includes/i18n.php:
|
1547 |
msgctxt "button label"
|
1548 |
msgid "Approve & Start Trial"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
-
#: includes/i18n.php:
|
1552 |
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1553 |
msgstr ""
|
1554 |
|
1555 |
-
#: includes/i18n.php:
|
1556 |
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."
|
1557 |
msgstr ""
|
1558 |
|
1559 |
-
#: includes/i18n.php:
|
1560 |
msgid "Business name"
|
1561 |
msgstr ""
|
1562 |
|
1563 |
-
#: includes/i18n.php:
|
1564 |
msgid "Tax / VAT ID"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
-
#: includes/i18n.php:
|
1568 |
msgid "Address Line %d"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
-
#: includes/i18n.php:
|
1572 |
msgid "Country"
|
1573 |
msgstr ""
|
1574 |
|
1575 |
-
#: includes/i18n.php:
|
1576 |
msgid "Select Country"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
-
#: includes/i18n.php:
|
1580 |
msgid "City"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
-
#: includes/i18n.php:
|
1584 |
msgid "Town"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
-
#: includes/i18n.php:
|
1588 |
msgid "State"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
-
#: includes/i18n.php:
|
1592 |
msgid "Province"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
-
#: includes/i18n.php:
|
1596 |
msgid "ZIP / Postal Code"
|
1597 |
msgstr ""
|
1598 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1599 |
#: includes/i18n.php:481
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1600 |
msgctxt "Plugin installer section title"
|
1601 |
msgid "Description"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
-
#: includes/i18n.php:
|
1605 |
msgctxt "Plugin installer section title"
|
1606 |
msgid "Installation"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
-
#: includes/i18n.php:
|
1610 |
msgctxt "Plugin installer section title"
|
1611 |
msgid "FAQ"
|
1612 |
msgstr ""
|
1613 |
|
1614 |
-
#: includes/i18n.php:
|
1615 |
msgctxt "Plugin installer section title"
|
1616 |
msgid "Changelog"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: includes/i18n.php:
|
1620 |
msgctxt "Plugin installer section title"
|
1621 |
msgid "Reviews"
|
1622 |
msgstr ""
|
1623 |
|
1624 |
-
#: includes/i18n.php:
|
1625 |
msgctxt "Plugin installer section title"
|
1626 |
msgid "Other Notes"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#: includes/i18n.php:
|
1630 |
msgid "%s star"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#: includes/i18n.php:
|
1634 |
msgid "%s stars"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
-
#: includes/i18n.php:
|
1638 |
msgid "%s rating"
|
1639 |
msgstr ""
|
1640 |
|
1641 |
-
#: includes/i18n.php:
|
1642 |
msgid "%s ratings"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
-
#: includes/i18n.php:
|
1646 |
msgid "%s time"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
-
#: includes/i18n.php:
|
1650 |
msgid "%s times"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#: includes/i18n.php:
|
1654 |
msgid "Click to see reviews that provided a rating of %s"
|
1655 |
msgstr ""
|
1656 |
|
1657 |
-
#: includes/i18n.php:
|
1658 |
msgid "Last Updated"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
-
#: includes/i18n.php:
|
1662 |
msgid "Requires WordPress Version:"
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#: includes/i18n.php:
|
1666 |
msgctxt "as the plugin author"
|
1667 |
msgid "Author:"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
-
#: includes/i18n.php:
|
1671 |
msgid "Compatible up to:"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
-
#: includes/i18n.php:
|
1675 |
msgid "Downloaded:"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
-
#: includes/i18n.php:
|
1679 |
msgid "WordPress.org Plugin Page"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
-
#: includes/i18n.php:
|
1683 |
msgid "Plugin Homepage"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
-
#: includes/i18n.php:
|
1687 |
msgid "Donate to this plugin"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
-
#: includes/i18n.php:
|
1691 |
msgid "Average Rating"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
-
#: includes/i18n.php:
|
1695 |
msgid "based on %s"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
-
#: includes/i18n.php:
|
1699 |
msgid "Warning:"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
-
#: includes/i18n.php:
|
1703 |
msgid "Contributors"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
-
#: includes/i18n.php:
|
1707 |
msgid "Plugin Install"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
-
#: includes/i18n.php:
|
1711 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1712 |
msgstr ""
|
1713 |
|
1714 |
-
#: includes/i18n.php:
|
1715 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1716 |
msgstr ""
|
1717 |
|
1718 |
-
#: includes/i18n.php:
|
1719 |
msgid "Newer Version (%s) Installed"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
-
#: includes/i18n.php:
|
1723 |
msgid "Latest Version Installed"
|
1724 |
msgstr ""
|
77 |
msgstr ""
|
78 |
|
79 |
#: includes/i18n.php:51
|
80 |
+
msgctxt "verb"
|
81 |
+
msgid "Cancel Subscription"
|
82 |
msgstr ""
|
83 |
|
84 |
#: includes/i18n.php:52
|
85 |
+
msgid "Cancel Trial"
|
86 |
msgstr ""
|
87 |
|
88 |
#: includes/i18n.php:53
|
89 |
+
msgid "Free Trial"
|
90 |
msgstr ""
|
91 |
|
92 |
#: includes/i18n.php:54
|
93 |
+
msgid "Start my free %s"
|
94 |
msgstr ""
|
95 |
|
96 |
#: includes/i18n.php:55
|
97 |
+
msgid "No commitment for %s - cancel anytime"
|
98 |
msgstr ""
|
99 |
|
100 |
#: includes/i18n.php:56
|
101 |
+
msgid "After your free %s, pay as little as %s"
|
102 |
msgstr ""
|
103 |
|
104 |
#: includes/i18n.php:57
|
105 |
+
msgid "Details"
|
106 |
msgstr ""
|
107 |
|
108 |
#: includes/i18n.php:58
|
109 |
+
msgid "Account Details"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: includes/i18n.php:59
|
113 |
msgctxt "verb"
|
114 |
msgid "Delete"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: includes/i18n.php:60
|
118 |
msgctxt "verb"
|
119 |
msgid "Show"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: includes/i18n.php:61
|
123 |
msgctxt "verb"
|
124 |
msgid "Hide"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: includes/i18n.php:62
|
128 |
msgctxt "verb"
|
129 |
msgid "Edit"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: includes/i18n.php:63
|
133 |
msgctxt "verb"
|
134 |
msgid "Update"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: includes/i18n.php:64
|
138 |
msgid "Date"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: includes/i18n.php:65
|
142 |
msgid "Amount"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: includes/i18n.php:66
|
146 |
msgid "Invoice"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: includes/i18n.php:67
|
150 |
msgid "Billing"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: includes/i18n.php:68
|
154 |
msgid "Payments"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: includes/i18n.php:69
|
158 |
msgid "Delete Account"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: includes/i18n.php:70
|
162 |
msgctxt "as close a window"
|
163 |
msgid "Dismiss"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: includes/i18n.php:71
|
167 |
msgctxt "as product pricing plan"
|
168 |
msgid "Plan"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: includes/i18n.php:72
|
172 |
msgid "Change Plan"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: includes/i18n.php:73
|
176 |
msgctxt "as download professional version"
|
177 |
msgid "Download %s Version"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: includes/i18n.php:74
|
181 |
msgctxt "as download professional version now"
|
182 |
msgid "Download %s version now"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: includes/i18n.php:75
|
186 |
msgctxt "as download latest version"
|
187 |
msgid "Download Latest"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: includes/i18n.php:76
|
191 |
msgctxt "E.g. you have a professional license."
|
192 |
msgid "You have a %s license."
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: includes/i18n.php:77
|
196 |
msgid "New"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: includes/i18n.php:78
|
200 |
msgid "Free"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: includes/i18n.php:79
|
204 |
msgctxt "as trial plan"
|
205 |
msgid "Trial"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: includes/i18n.php:80
|
209 |
msgctxt "as starting a trial plan"
|
210 |
msgid "Start Trial"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: includes/i18n.php:81
|
214 |
msgctxt "verb"
|
215 |
msgid "Purchase"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: includes/i18n.php:82
|
219 |
msgid "Purchase License"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: includes/i18n.php:83
|
223 |
msgctxt "verb"
|
224 |
msgid "Buy"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: includes/i18n.php:84
|
228 |
msgid "Buy License"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: includes/i18n.php:85
|
232 |
msgid "Single Site License"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: includes/i18n.php:86
|
236 |
msgid "Unlimited Licenses"
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: includes/i18n.php:87
|
240 |
msgid "Up to %s Sites"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: includes/i18n.php:88
|
244 |
msgid "%sRenew your license now%s to access version %s features and support."
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: includes/i18n.php:89
|
248 |
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: includes/i18n.php:90
|
252 |
msgctxt "e.g. Professional Plan"
|
253 |
msgid "%s Plan"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: includes/i18n.php:91
|
257 |
msgid "You are just one step away - %s"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: includes/i18n.php:92
|
261 |
msgctxt "%s - plugin name. As complete \"Jetpack\" activation now"
|
262 |
msgid "Complete \"%s\" Activation Now"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: includes/i18n.php:94
|
266 |
msgid "We made a few tweaks to the plugin, %s"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: includes/i18n.php:95
|
270 |
msgid "Opt-in to make \"%s\" Better!"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: includes/i18n.php:96
|
274 |
msgid "Error"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: includes/i18n.php:97
|
278 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: includes/i18n.php:100
|
282 |
msgctxt "as expiration date"
|
283 |
msgid "Expiration"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: includes/i18n.php:101
|
287 |
msgctxt "as software license"
|
288 |
msgid "License"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: includes/i18n.php:102
|
292 |
msgid "not verified"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: includes/i18n.php:103
|
296 |
msgid "Verify Email"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: includes/i18n.php:104
|
300 |
msgctxt "e.g. expires in 2 months"
|
301 |
msgid "Expires in %s"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: includes/i18n.php:105
|
305 |
msgctxt "e.g. auto renews in 2 months"
|
306 |
msgid "Auto renews in %s"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: includes/i18n.php:106
|
310 |
msgid "No expiration"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: includes/i18n.php:107
|
314 |
msgid "Expired"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: includes/i18n.php:108
|
318 |
msgid "Cancelled"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: includes/i18n.php:109
|
322 |
msgctxt "e.g. In 2 hours"
|
323 |
msgid "In %s"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: includes/i18n.php:110
|
327 |
msgctxt "e.g. 2 min ago"
|
328 |
msgid "%s ago"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: includes/i18n.php:112
|
332 |
msgid "%s or higher"
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: includes/i18n.php:113
|
336 |
msgctxt "as plugin version"
|
337 |
msgid "Version"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: includes/i18n.php:114
|
341 |
msgid "Name"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: includes/i18n.php:115
|
345 |
msgid "Email"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: includes/i18n.php:116
|
349 |
msgid "Email address"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: includes/i18n.php:117
|
353 |
msgid "Verified"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: includes/i18n.php:118
|
357 |
msgid "Module"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: includes/i18n.php:119
|
361 |
msgid "Module Type"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: includes/i18n.php:120
|
365 |
msgid "Plugin"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: includes/i18n.php:121
|
369 |
msgid "Plugins"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: includes/i18n.php:122
|
373 |
msgid "Theme"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: includes/i18n.php:123
|
377 |
msgid "Themes"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: includes/i18n.php:124
|
381 |
msgctxt "as file/folder path"
|
382 |
msgid "Path"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: includes/i18n.php:125
|
386 |
msgid "Title"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: includes/i18n.php:126
|
390 |
msgid "Free version"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: includes/i18n.php:127
|
394 |
msgid "Premium version"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: includes/i18n.php:128
|
398 |
msgctxt "as WP plugin slug"
|
399 |
msgid "Slug"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: includes/i18n.php:129
|
403 |
msgid "ID"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/i18n.php:130
|
407 |
msgid "Users"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/i18n.php:131
|
411 |
msgid "Plugin Installs"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/i18n.php:132
|
415 |
msgid "%s Installs"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/i18n.php:133
|
419 |
msgctxt "like websites"
|
420 |
msgid "Sites"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: includes/i18n.php:134
|
424 |
msgid "User ID"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/i18n.php:135
|
428 |
msgid "Site ID"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/i18n.php:136
|
432 |
msgid "Public Key"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/i18n.php:137
|
436 |
msgid "Secret Key"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/i18n.php:138
|
440 |
msgctxt "as secret encryption key missing"
|
441 |
msgid "No Secret"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: includes/i18n.php:139
|
445 |
msgid "No ID"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: includes/i18n.php:140
|
449 |
msgctxt "as synchronize license"
|
450 |
msgid "Sync License"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: includes/i18n.php:141
|
454 |
msgctxt "as synchronize"
|
455 |
msgid "Sync"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: includes/i18n.php:142
|
459 |
msgid "Activate License"
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/i18n.php:143
|
463 |
msgid "Activate Free Version"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: includes/i18n.php:144
|
467 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: includes/i18n.php:145
|
471 |
msgid "Activating license..."
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: includes/i18n.php:146
|
475 |
msgid "Change License"
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: includes/i18n.php:147
|
479 |
msgid "Update License"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: includes/i18n.php:148
|
483 |
msgid "Deactivate License"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/i18n.php:149
|
487 |
msgid "Activate"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/i18n.php:150
|
491 |
msgid "Deactivate"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: includes/i18n.php:151
|
495 |
msgid "Skip & Deactivate"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: includes/i18n.php:152
|
499 |
msgid "Skip & %s"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: includes/i18n.php:153
|
503 |
msgid "No - just deactivate"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: includes/i18n.php:154
|
507 |
msgid "Yes - do your thing"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: includes/i18n.php:155
|
511 |
msgctxt "active mode"
|
512 |
msgid "Active"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: includes/i18n.php:156
|
516 |
msgctxt "is active mode?"
|
517 |
msgid "Is Active"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: includes/i18n.php:157
|
521 |
msgid "Install Now"
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: includes/i18n.php:158
|
525 |
msgid "Install Update Now"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: includes/i18n.php:159
|
529 |
msgid "More information about %s"
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: includes/i18n.php:160
|
533 |
msgid "Localhost"
|
534 |
msgstr ""
|
535 |
|
536 |
+
#: includes/i18n.php:161
|
537 |
msgctxt "as activate Professional plan"
|
538 |
msgid "Activate %s Plan"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: includes/i18n.php:162
|
542 |
msgctxt "as 5 licenses left"
|
543 |
msgid "%s left"
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: includes/i18n.php:163
|
547 |
msgid "Last license"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: includes/i18n.php:164
|
551 |
msgid "What is your %s?"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: includes/i18n.php:165
|
555 |
msgid "Activate this add-on"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: includes/i18n.php:166
|
559 |
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: includes/i18n.php:167
|
563 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: includes/i18n.php:168
|
567 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this plugin anymore. Are you sure you would like to continue with the deletion?"
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: includes/i18n.php:169
|
571 |
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: includes/i18n.php:170
|
575 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
576 |
msgstr ""
|
577 |
|
578 |
+
#: includes/i18n.php:171
|
579 |
msgid "You can still enjoy all %s features but you will not have access to plugin updates and support."
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: includes/i18n.php:172
|
583 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: includes/i18n.php:173
|
587 |
msgid "Are you sure you want to proceed?"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: includes/i18n.php:176
|
591 |
msgid "Add Ons for %s"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: includes/i18n.php:177
|
595 |
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."
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: includes/i18n.php:179
|
599 |
msgid "Anonymous feedback"
|
600 |
msgstr ""
|
601 |
|
602 |
+
#: includes/i18n.php:180
|
603 |
msgid "Quick feedback"
|
604 |
msgstr ""
|
605 |
|
606 |
+
#: includes/i18n.php:181
|
607 |
msgid "If you have a moment, please let us know why you are deactivating"
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: includes/i18n.php:182
|
611 |
msgid "Yes - Deactivate"
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: includes/i18n.php:183
|
615 |
msgid "Submit & Deactivate"
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: includes/i18n.php:184
|
619 |
msgid "Cancel"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: includes/i18n.php:185
|
623 |
msgid "I no longer need the plugin"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: includes/i18n.php:186
|
627 |
msgid "I found a better plugin"
|
628 |
msgstr ""
|
629 |
|
630 |
+
#: includes/i18n.php:187
|
631 |
msgid "I only needed the plugin for a short period"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: includes/i18n.php:188
|
635 |
msgid "The plugin broke my site"
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: includes/i18n.php:189
|
639 |
msgid "The plugin suddenly stopped working"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: includes/i18n.php:190
|
643 |
msgid "I can't pay for it anymore"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: includes/i18n.php:191
|
647 |
msgid "It's a temporary deactivation. I'm just debugging an issue."
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: includes/i18n.php:192
|
651 |
msgctxt "the text of the \"other\" reason for deactivating the plugin that is shown in the modal box."
|
652 |
msgid "Other"
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: includes/i18n.php:194
|
656 |
msgid "Kindly tell us the reason so we can improve."
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: includes/i18n.php:195
|
660 |
msgid "What's the plugin's name?"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: includes/i18n.php:196
|
664 |
msgid "What price would you feel comfortable paying?"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: includes/i18n.php:197
|
668 |
msgid "I couldn't understand how to make it work"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: includes/i18n.php:198
|
672 |
msgid "The plugin is great, but I need specific feature that you don't support"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: includes/i18n.php:199
|
676 |
msgid "The plugin is not working"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: includes/i18n.php:200
|
680 |
msgid "It's not what I was looking for"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: includes/i18n.php:201
|
684 |
msgid "The plugin didn't work as expected"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: includes/i18n.php:202
|
688 |
msgid "What feature?"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: includes/i18n.php:203
|
692 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: includes/i18n.php:204
|
696 |
msgid "What you've been looking for?"
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: includes/i18n.php:205
|
700 |
msgid "What did you expect?"
|
701 |
msgstr ""
|
702 |
|
703 |
+
#: includes/i18n.php:206
|
704 |
msgid "The plugin didn't work"
|
705 |
msgstr ""
|
706 |
|
707 |
+
#: includes/i18n.php:207
|
708 |
msgid "I don't like to share my information with you"
|
709 |
msgstr ""
|
710 |
|
711 |
+
#: includes/i18n.php:208
|
712 |
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: includes/i18n.php:212
|
716 |
msgctxt "greeting"
|
717 |
msgid "Hey %s,"
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: includes/i18n.php:213
|
721 |
msgctxt "a greeting. E.g. Thanks John!"
|
722 |
msgid "Thanks %s!"
|
723 |
msgstr ""
|
724 |
|
725 |
+
#: includes/i18n.php:214
|
726 |
msgid "Never miss an important update - opt-in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: includes/i18n.php:215
|
730 |
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."
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: includes/i18n.php:216
|
734 |
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."
|
735 |
msgstr ""
|
736 |
|
737 |
+
#: includes/i18n.php:217
|
738 |
msgid "complete the install"
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: includes/i18n.php:218
|
742 |
msgid "start the trial"
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: includes/i18n.php:219
|
746 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: includes/i18n.php:220
|
750 |
msgid "The plugin will be periodically sending data to %s to check for plugin updates and verify the validity of your license."
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: includes/i18n.php:221
|
754 |
msgid "What permissions are being granted?"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: includes/i18n.php:222
|
758 |
msgid "Your Profile Overview"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: includes/i18n.php:223
|
762 |
msgid "Name and email address"
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: includes/i18n.php:224
|
766 |
msgid "Your Site Overview"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: includes/i18n.php:225
|
770 |
msgid "Site URL, WP version, PHP info, plugins & themes"
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: includes/i18n.php:226
|
774 |
msgid "Current Plugin Events"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: includes/i18n.php:227
|
778 |
msgid "Activation, deactivation and uninstall"
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: includes/i18n.php:228
|
782 |
msgid "Plugins & Themes"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: includes/i18n.php:229
|
786 |
msgid "Titles, versions and state."
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: includes/i18n.php:230
|
790 |
msgid "Admin Notices"
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: includes/i18n.php:231
|
794 |
msgid "Newsletter"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: includes/i18n.php:232
|
798 |
msgid "Updates, announcements, marketing, no spam"
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: includes/i18n.php:233
|
802 |
msgid "Privacy Policy"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: includes/i18n.php:234
|
806 |
msgid "Terms of Service"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: includes/i18n.php:235
|
810 |
msgctxt "as activating plugin"
|
811 |
msgid "Activating"
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: includes/i18n.php:236
|
815 |
msgctxt "as in the process of sending an email"
|
816 |
msgid "Sending email"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: includes/i18n.php:237
|
820 |
msgctxt "button label"
|
821 |
msgid "Allow & Continue"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: includes/i18n.php:238
|
825 |
msgctxt "button label"
|
826 |
msgid "Agree & Activate License"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: includes/i18n.php:239
|
830 |
msgctxt "verb"
|
831 |
msgid "Skip"
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: includes/i18n.php:240
|
835 |
msgid "Click here to use the plugin anonymously"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: includes/i18n.php:241
|
839 |
msgid "Re-send activation email"
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: includes/i18n.php:242
|
843 |
msgid "License key"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: includes/i18n.php:243
|
847 |
msgid "Send License Key"
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: includes/i18n.php:244
|
851 |
msgid "Sending license key"
|
852 |
msgstr ""
|
853 |
|
854 |
+
#: includes/i18n.php:245
|
855 |
msgid "Have a license key?"
|
856 |
msgstr ""
|
857 |
|
858 |
+
#: includes/i18n.php:246
|
859 |
msgid "Don't have a license key?"
|
860 |
msgstr ""
|
861 |
|
862 |
+
#: includes/i18n.php:247
|
863 |
msgid "Can't find your license key?"
|
864 |
msgstr ""
|
865 |
|
866 |
+
#: includes/i18n.php:248
|
867 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: includes/i18n.php:249
|
871 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
872 |
msgstr ""
|
873 |
|
874 |
+
#: includes/i18n.php:250
|
875 |
msgid "Opt In"
|
876 |
msgstr ""
|
877 |
|
878 |
+
#: includes/i18n.php:251
|
879 |
msgid "Opt Out"
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: includes/i18n.php:252
|
883 |
msgid "On second thought - I want to continue helping"
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: includes/i18n.php:253
|
887 |
msgid "Opting out..."
|
888 |
msgstr ""
|
889 |
|
890 |
+
#: includes/i18n.php:254
|
891 |
msgid "Opting in..."
|
892 |
msgstr ""
|
893 |
|
894 |
+
#: includes/i18n.php:255
|
895 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
896 |
msgstr ""
|
897 |
|
898 |
+
#: includes/i18n.php:256
|
899 |
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."
|
900 |
msgstr ""
|
901 |
|
902 |
+
#: includes/i18n.php:257
|
903 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
904 |
msgstr ""
|
905 |
|
906 |
+
#: includes/i18n.php:261
|
907 |
msgid "Screenshots"
|
908 |
msgstr ""
|
909 |
|
910 |
+
#: includes/i18n.php:262
|
911 |
msgid "Click to view full-size screenshot %d"
|
912 |
msgstr ""
|
913 |
|
914 |
+
#: includes/i18n.php:266
|
915 |
msgid "Freemius Debug"
|
916 |
msgstr ""
|
917 |
|
918 |
+
#: includes/i18n.php:267
|
919 |
msgctxt "as turned on"
|
920 |
msgid "On"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: includes/i18n.php:268
|
924 |
msgctxt "as turned off"
|
925 |
msgid "Off"
|
926 |
msgstr ""
|
927 |
|
928 |
+
#: includes/i18n.php:269
|
929 |
msgctxt "as code debugging"
|
930 |
msgid "Debugging"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: includes/i18n.php:270
|
934 |
msgid "Freemius State"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: includes/i18n.php:271
|
938 |
msgctxt "as connection was successful"
|
939 |
msgid "Connected"
|
940 |
msgstr ""
|
941 |
|
942 |
+
#: includes/i18n.php:272
|
943 |
msgctxt "as connection blocked"
|
944 |
msgid "Blocked"
|
945 |
msgstr ""
|
946 |
|
947 |
+
#: includes/i18n.php:273
|
948 |
msgctxt "as application program interface"
|
949 |
msgid "API"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: includes/i18n.php:274
|
953 |
msgctxt "as software development kit versions"
|
954 |
msgid "SDK"
|
955 |
msgstr ""
|
956 |
|
957 |
+
#: includes/i18n.php:275
|
958 |
msgctxt "as software development kit versions"
|
959 |
msgid "SDK Versions"
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: includes/i18n.php:276
|
963 |
msgctxt "as plugin folder path"
|
964 |
msgid "Plugin Path"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: includes/i18n.php:277
|
968 |
msgctxt "as sdk path"
|
969 |
msgid "SDK Path"
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: includes/i18n.php:278
|
973 |
msgid "Add Ons of Plugin %s"
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: includes/i18n.php:279
|
977 |
msgid "Are you sure you want to delete all Freemius data?"
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: includes/i18n.php:280
|
981 |
msgid "Actions"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: includes/i18n.php:281
|
985 |
msgid "Delete All Accounts"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: includes/i18n.php:282
|
989 |
msgid "Start Fresh"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: includes/i18n.php:283
|
993 |
msgid "Clear API Cache"
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: includes/i18n.php:284
|
997 |
msgid "Sync Data From Server"
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: includes/i18n.php:285
|
1001 |
msgid "Scheduled Crons"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: includes/i18n.php:286
|
1005 |
msgid "Cron Type"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: includes/i18n.php:287
|
1009 |
msgid "Plugins & Themes Sync"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: includes/i18n.php:288
|
1013 |
msgid "Licenses"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: includes/i18n.php:289
|
1017 |
msgid "Debug Log"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: includes/i18n.php:290
|
1021 |
msgid "All"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: includes/i18n.php:291
|
1025 |
msgid "File"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: includes/i18n.php:292
|
1029 |
msgid "Function"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: includes/i18n.php:293
|
1033 |
msgid "Process ID"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: includes/i18n.php:294
|
1037 |
msgid "Logger"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: includes/i18n.php:295
|
1041 |
msgid "Message"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: includes/i18n.php:296
|
1045 |
msgid "Download"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: includes/i18n.php:297
|
1049 |
msgid "Filter"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: includes/i18n.php:298
|
1053 |
msgid "Type"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: includes/i18n.php:299
|
1057 |
msgid "All Types"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: includes/i18n.php:300
|
1061 |
msgid "All Requests"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: includes/i18n.php:304
|
1065 |
msgctxt "as congratulations"
|
1066 |
msgid "Congrats"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
+
#: includes/i18n.php:305
|
1070 |
msgctxt "exclamation"
|
1071 |
msgid "Oops"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: includes/i18n.php:306
|
1075 |
msgctxt "interjection expressing joy or exuberance"
|
1076 |
msgid "Yee-haw"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
+
#: includes/i18n.php:307
|
1080 |
msgctxt "(especially in electronic communication) used to express elation, enthusiasm, or triumph."
|
1081 |
msgid "W00t"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: includes/i18n.php:309
|
1085 |
msgctxt "a positive response"
|
1086 |
msgid "Right on"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
+
#: includes/i18n.php:310
|
1090 |
msgctxt "something somebody says when they are thinking about what you have just said. "
|
1091 |
msgid "Hmm"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/i18n.php:312
|
1095 |
msgid "O.K"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/i18n.php:313
|
1099 |
msgctxt "exclamation"
|
1100 |
msgid "Hey"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
+
#: includes/i18n.php:314
|
1104 |
msgctxt "advance notice of something that will need attention."
|
1105 |
msgid "Heads up"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: includes/i18n.php:319
|
1109 |
msgid "Seems like you got the latest release."
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: includes/i18n.php:320
|
1113 |
msgid "You are all good!"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: includes/i18n.php:321
|
1117 |
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: includes/i18n.php:322
|
1121 |
msgid "If you would like to give up the ownership of the plugin's account to %s click the Change Ownership button."
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: includes/i18n.php:323
|
1125 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: includes/i18n.php:324
|
1129 |
msgid "Your name was successfully updated."
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: includes/i18n.php:325
|
1133 |
msgid "You have successfully updated your %s."
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: includes/i18n.php:326
|
1137 |
msgid "Please provide your full name."
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: includes/i18n.php:327
|
1141 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: includes/i18n.php:328
|
1145 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
1146 |
msgstr ""
|
1147 |
|
1148 |
+
#: includes/i18n.php:329
|
1149 |
msgid "No credit card required"
|
1150 |
msgstr ""
|
1151 |
|
1152 |
+
#: includes/i18n.php:330
|
1153 |
msgid "Premium plugin version was successfully activated."
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: includes/i18n.php:331
|
1157 |
msgid "The upgrade of %s was successfully completed."
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: includes/i18n.php:332
|
1161 |
msgid "Your account was successfully activated with the %s plan."
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: includes/i18n.php:333
|
1165 |
msgid "Download the latest %s version now"
|
1166 |
msgstr ""
|
1167 |
|
1168 |
+
#: includes/i18n.php:334
|
1169 |
msgid "Please follow these steps to complete the upgrade"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: includes/i18n.php:335
|
1173 |
msgid "Download the latest %s version"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
+
#: includes/i18n.php:336
|
1177 |
msgid "Download the latest version"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: includes/i18n.php:337
|
1181 |
msgid "Deactivate the free version"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: includes/i18n.php:338
|
1185 |
msgid "Upload and activate the downloaded version"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: includes/i18n.php:339
|
1189 |
msgid "How to upload and activate?"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: includes/i18n.php:340
|
1193 |
msgctxt "%s - product name, e.g. Facebook add-on was successfully..."
|
1194 |
msgid "%s Add-on was successfully purchased."
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: includes/i18n.php:342
|
1198 |
msgid "Your %s Add-on plan was successfully upgraded."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: includes/i18n.php:343
|
1202 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: includes/i18n.php:344
|
1206 |
msgid "Your plan was successfully upgraded."
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: includes/i18n.php:345
|
1210 |
msgid "Your plan was successfully changed to %s."
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: includes/i18n.php:346
|
1214 |
msgid "Your license has expired. You can still continue using the free plugin forever."
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: includes/i18n.php:347
|
1218 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: includes/i18n.php:348
|
1222 |
msgid "Your trial has been successfully started."
|
1223 |
msgstr ""
|
1224 |
|
1225 |
+
#: includes/i18n.php:349
|
1226 |
msgid "Your license was successfully activated."
|
1227 |
msgstr ""
|
1228 |
|
1229 |
+
#: includes/i18n.php:350
|
1230 |
msgid "It looks like your site currently doesn't have an active license."
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: includes/i18n.php:351
|
1234 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: includes/i18n.php:352
|
1238 |
msgid "It looks like the license deactivation failed."
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: includes/i18n.php:353
|
1242 |
msgid "It looks like the license could not be activated."
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: includes/i18n.php:354
|
1246 |
msgid "Error received from the server:"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: includes/i18n.php:355
|
1250 |
msgid "Your trial has expired. You can still continue using all our free features."
|
1251 |
msgstr ""
|
1252 |
|
1253 |
+
#: includes/i18n.php:356
|
1254 |
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
1255 |
msgstr ""
|
1256 |
|
1257 |
+
#: includes/i18n.php:357
|
1258 |
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
1259 |
msgstr ""
|
1260 |
|
1261 |
+
#: includes/i18n.php:358
|
1262 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: includes/i18n.php:359
|
1266 |
msgid "Your %s free trial was successfully cancelled."
|
1267 |
msgstr ""
|
1268 |
|
1269 |
+
#: includes/i18n.php:360
|
1270 |
msgctxt "%s - numeric version number"
|
1271 |
msgid "Version %s was released."
|
1272 |
msgstr ""
|
1273 |
|
1274 |
+
#: includes/i18n.php:361
|
1275 |
msgid "Please download %s."
|
1276 |
msgstr ""
|
1277 |
|
1278 |
+
#: includes/i18n.php:362
|
1279 |
msgctxt "%s - plan name, as the latest professional version here"
|
1280 |
msgid "the latest %s version here"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: includes/i18n.php:364
|
1284 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: includes/i18n.php:365
|
1288 |
msgctxt "call to action"
|
1289 |
msgid "Start free trial"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
+
#: includes/i18n.php:366
|
1293 |
msgid "Starting trial"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: includes/i18n.php:367
|
1297 |
msgid "Please wait"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: includes/i18n.php:368
|
1301 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: includes/i18n.php:369
|
1305 |
msgid "You already utilized a trial before."
|
1306 |
msgstr ""
|
1307 |
|
1308 |
+
#: includes/i18n.php:370
|
1309 |
msgid "You are already running the plugin in a trial mode."
|
1310 |
msgstr ""
|
1311 |
|
1312 |
+
#: includes/i18n.php:371
|
1313 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: includes/i18n.php:372
|
1317 |
msgid "Plan %s does not support a trial period."
|
1318 |
msgstr ""
|
1319 |
|
1320 |
+
#: includes/i18n.php:373
|
1321 |
msgid "None of the plugin's plans supports a trial period."
|
1322 |
msgstr ""
|
1323 |
|
1324 |
+
#: includes/i18n.php:374
|
1325 |
msgid "Unexpected API error. Please contact the plugin's author with the following error."
|
1326 |
msgstr ""
|
1327 |
|
1328 |
+
#: includes/i18n.php:375
|
1329 |
msgid "No commitment for %s days - cancel anytime!"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
+
#: includes/i18n.php:376
|
1333 |
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."
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#: includes/i18n.php:377
|
1337 |
msgid "Couldn't activate %s."
|
1338 |
msgstr ""
|
1339 |
|
1340 |
+
#: includes/i18n.php:378
|
1341 |
msgid "Please contact us with the following message:"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
+
#: includes/i18n.php:379
|
1345 |
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."
|
1346 |
msgstr ""
|
1347 |
|
1348 |
+
#: includes/i18n.php:380
|
1349 |
msgid "Please contact us here"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
+
#: includes/i18n.php:381
|
1353 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
1354 |
msgstr ""
|
1355 |
|
1356 |
+
#: includes/i18n.php:384
|
1357 |
msgid "From unknown reason, the API connectivity test failed."
|
1358 |
msgstr ""
|
1359 |
|
1360 |
+
#: includes/i18n.php:385
|
1361 |
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?"
|
1362 |
msgstr ""
|
1363 |
|
1364 |
+
#: includes/i18n.php:386
|
1365 |
+
msgid "We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server."
|
1366 |
msgstr ""
|
1367 |
|
1368 |
+
#: includes/i18n.php:387
|
1369 |
+
msgid "Disabled method(s):"
|
1370 |
+
msgstr ""
|
1371 |
+
|
1372 |
+
#: includes/i18n.php:388
|
1373 |
msgid "From unknown reason, CloudFlare, the firewall we use, blocks the connection."
|
1374 |
msgstr ""
|
1375 |
|
1376 |
+
#: includes/i18n.php:389
|
1377 |
msgctxt "as pluginX requires an access to our API"
|
1378 |
msgid "%s requires an access to our API."
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: includes/i18n.php:391
|
1382 |
msgid "It looks like your server is using Squid ACL (access control lists), which blocks the connection."
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: includes/i18n.php:392
|
1386 |
msgid "I don't know what is Squid or ACL, help me!"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: includes/i18n.php:393, includes/i18n.php:397
|
1390 |
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."
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: includes/i18n.php:394
|
1394 |
msgid "I'm a system administrator"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: includes/i18n.php:395
|
1398 |
msgid "Great, please whitelist the following domains: %s. Once you are done, deactivate the plugin and activate it again."
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: includes/i18n.php:396
|
1402 |
msgid "I don't know what is cURL or how to install it, help me!"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: includes/i18n.php:398
|
1406 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the plugin and reactivate it back again."
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: includes/i18n.php:399
|
1410 |
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."
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: includes/i18n.php:400
|
1414 |
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: includes/i18n.php:401
|
1418 |
msgid "Yes - I'm giving you a chance to fix it"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: includes/i18n.php:402
|
1422 |
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."
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: includes/i18n.php:403
|
1426 |
msgid "Let's try your previous version"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
+
#: includes/i18n.php:404
|
1430 |
msgid "Uninstall this version and install the previous one."
|
1431 |
msgstr ""
|
1432 |
|
1433 |
+
#: includes/i18n.php:405
|
1434 |
msgid "That's exhausting, please deactivate"
|
1435 |
msgstr ""
|
1436 |
|
1437 |
+
#: includes/i18n.php:406
|
1438 |
msgid "We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future."
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: includes/i18n.php:407
|
1442 |
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."
|
1443 |
msgstr ""
|
1444 |
|
1445 |
+
#: includes/i18n.php:408
|
1446 |
msgctxt "%1s - plugin title, %2s - API domain"
|
1447 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1448 |
msgstr ""
|
1449 |
|
1450 |
+
#: includes/i18n.php:410
|
1451 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
1452 |
msgstr ""
|
1453 |
|
1454 |
+
#: includes/i18n.php:413
|
1455 |
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."
|
1456 |
msgstr ""
|
1457 |
|
1458 |
+
#: includes/i18n.php:414
|
1459 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
1460 |
msgstr ""
|
1461 |
|
1462 |
+
#: includes/i18n.php:415
|
1463 |
msgid "%s is the new owner of the account."
|
1464 |
msgstr ""
|
1465 |
|
1466 |
+
#: includes/i18n.php:417
|
1467 |
msgctxt "addonX cannot run without pluginY"
|
1468 |
msgid "%s cannot run without %s."
|
1469 |
msgstr ""
|
1470 |
|
1471 |
+
#: includes/i18n.php:419
|
1472 |
msgctxt "addonX cannot run..."
|
1473 |
msgid "%s cannot run without the plugin."
|
1474 |
msgstr ""
|
1475 |
|
1476 |
+
#: includes/i18n.php:420
|
1477 |
msgctxt "pluginX activation was successfully..."
|
1478 |
msgid "%s activation was successfully completed."
|
1479 |
msgstr ""
|
1480 |
|
1481 |
+
#: includes/i18n.php:422
|
1482 |
msgctxt "Plugin installer section title"
|
1483 |
msgid "Features & Pricing"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
+
#: includes/i18n.php:423
|
1487 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1488 |
msgstr ""
|
1489 |
|
1490 |
+
#: includes/i18n.php:424
|
1491 |
msgid "Paid add-on must be deployed to Freemius."
|
1492 |
msgstr ""
|
1493 |
|
1494 |
+
#: includes/i18n.php:428
|
1495 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
1496 |
msgstr ""
|
1497 |
|
1498 |
+
#: includes/i18n.php:429
|
1499 |
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."
|
1500 |
msgstr ""
|
1501 |
|
1502 |
+
#: includes/i18n.php:434
|
1503 |
msgctxt "as every month"
|
1504 |
msgid "Monthly"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
+
#: includes/i18n.php:435
|
1508 |
msgctxt "as monthly period"
|
1509 |
msgid "mo"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
+
#: includes/i18n.php:436
|
1513 |
msgctxt "as once a year"
|
1514 |
msgid "Annual"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: includes/i18n.php:437
|
1518 |
msgctxt "as once a year"
|
1519 |
msgid "Annually"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
+
#: includes/i18n.php:438
|
1523 |
msgctxt "as once a year"
|
1524 |
msgid "Once"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: includes/i18n.php:439
|
1528 |
msgctxt "as annual period"
|
1529 |
msgid "year"
|
1530 |
msgstr ""
|
1531 |
|
1532 |
+
#: includes/i18n.php:440
|
1533 |
msgid "Lifetime"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
+
#: includes/i18n.php:441
|
1537 |
msgctxt "e.g. the best product"
|
1538 |
msgid "Best"
|
1539 |
msgstr ""
|
1540 |
|
1541 |
+
#: includes/i18n.php:442
|
1542 |
msgctxt "e.g. billed monthly"
|
1543 |
msgid "Billed %s"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: includes/i18n.php:443
|
1547 |
msgctxt "as a discount of $5 or 10%"
|
1548 |
msgid "Save %s"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: includes/i18n.php:445
|
1552 |
msgid "View details"
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: includes/i18n.php:449
|
1556 |
msgctxt "button label"
|
1557 |
msgid "Approve & Start Trial"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
+
#: includes/i18n.php:451
|
1561 |
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1562 |
msgstr ""
|
1563 |
|
1564 |
+
#: includes/i18n.php:453
|
1565 |
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."
|
1566 |
msgstr ""
|
1567 |
|
1568 |
+
#: includes/i18n.php:459
|
1569 |
msgid "Business name"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
+
#: includes/i18n.php:460
|
1573 |
msgid "Tax / VAT ID"
|
1574 |
msgstr ""
|
1575 |
|
1576 |
+
#: includes/i18n.php:461
|
1577 |
msgid "Address Line %d"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
+
#: includes/i18n.php:462
|
1581 |
msgid "Country"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
+
#: includes/i18n.php:463
|
1585 |
msgid "Select Country"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: includes/i18n.php:464
|
1589 |
msgid "City"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: includes/i18n.php:465
|
1593 |
msgid "Town"
|
1594 |
msgstr ""
|
1595 |
|
1596 |
+
#: includes/i18n.php:466
|
1597 |
msgid "State"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
+
#: includes/i18n.php:467
|
1601 |
msgid "Province"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
+
#: includes/i18n.php:468
|
1605 |
msgid "ZIP / Postal Code"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
+
#: includes/i18n.php:473
|
1609 |
+
msgid "Installing plugin: %s"
|
1610 |
+
msgstr ""
|
1611 |
+
|
1612 |
+
#: includes/i18n.php:474
|
1613 |
+
msgid "Automatic Installation"
|
1614 |
+
msgstr ""
|
1615 |
+
|
1616 |
+
#: includes/i18n.php:476
|
1617 |
+
msgid "%s sec"
|
1618 |
+
msgstr ""
|
1619 |
+
|
1620 |
+
#: includes/i18n.php:477
|
1621 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1622 |
+
msgstr ""
|
1623 |
+
|
1624 |
+
#: includes/i18n.php:478
|
1625 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1626 |
+
msgstr ""
|
1627 |
+
|
1628 |
+
#: includes/i18n.php:479
|
1629 |
+
msgid "Cancel Installation"
|
1630 |
+
msgstr ""
|
1631 |
+
|
1632 |
+
#: includes/i18n.php:480
|
1633 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
1634 |
+
msgstr ""
|
1635 |
+
|
1636 |
#: includes/i18n.php:481
|
1637 |
+
msgid "Invalid module ID."
|
1638 |
+
msgstr ""
|
1639 |
+
|
1640 |
+
#: includes/i18n.php:482
|
1641 |
+
msgid "Auto installation only works for opted-in users."
|
1642 |
+
msgstr ""
|
1643 |
+
|
1644 |
+
#: includes/i18n.php:483
|
1645 |
+
msgid "Premium version already active."
|
1646 |
+
msgstr ""
|
1647 |
+
|
1648 |
+
#: includes/i18n.php:484
|
1649 |
+
msgid "Premium add-on version already installed."
|
1650 |
+
msgstr ""
|
1651 |
+
|
1652 |
+
#: includes/i18n.php:485
|
1653 |
+
msgid "You do not have a valid license to access the premium version."
|
1654 |
+
msgstr ""
|
1655 |
+
|
1656 |
+
#: includes/i18n.php:486
|
1657 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
1658 |
+
msgstr ""
|
1659 |
+
|
1660 |
+
#: includes/i18n.php:501
|
1661 |
msgctxt "Plugin installer section title"
|
1662 |
msgid "Description"
|
1663 |
msgstr ""
|
1664 |
|
1665 |
+
#: includes/i18n.php:502
|
1666 |
msgctxt "Plugin installer section title"
|
1667 |
msgid "Installation"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
+
#: includes/i18n.php:503
|
1671 |
msgctxt "Plugin installer section title"
|
1672 |
msgid "FAQ"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
+
#: includes/i18n.php:504
|
1676 |
msgctxt "Plugin installer section title"
|
1677 |
msgid "Changelog"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
+
#: includes/i18n.php:505
|
1681 |
msgctxt "Plugin installer section title"
|
1682 |
msgid "Reviews"
|
1683 |
msgstr ""
|
1684 |
|
1685 |
+
#: includes/i18n.php:506
|
1686 |
msgctxt "Plugin installer section title"
|
1687 |
msgid "Other Notes"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
+
#: includes/i18n.php:508
|
1691 |
msgid "%s star"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
+
#: includes/i18n.php:510
|
1695 |
msgid "%s stars"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
+
#: includes/i18n.php:512
|
1699 |
msgid "%s rating"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
+
#: includes/i18n.php:514
|
1703 |
msgid "%s ratings"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
+
#: includes/i18n.php:516
|
1707 |
msgid "%s time"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
+
#: includes/i18n.php:518
|
1711 |
msgid "%s times"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
+
#: includes/i18n.php:520
|
1715 |
msgid "Click to see reviews that provided a rating of %s"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
+
#: includes/i18n.php:521
|
1719 |
msgid "Last Updated"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
+
#: includes/i18n.php:522
|
1723 |
msgid "Requires WordPress Version:"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
+
#: includes/i18n.php:523
|
1727 |
msgctxt "as the plugin author"
|
1728 |
msgid "Author:"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: includes/i18n.php:524
|
1732 |
msgid "Compatible up to:"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: includes/i18n.php:525
|
1736 |
msgid "Downloaded:"
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: includes/i18n.php:526
|
1740 |
msgid "WordPress.org Plugin Page"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: includes/i18n.php:527
|
1744 |
msgid "Plugin Homepage"
|
1745 |
msgstr ""
|
1746 |
|
1747 |
+
#: includes/i18n.php:528
|
1748 |
msgid "Donate to this plugin"
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: includes/i18n.php:529
|
1752 |
msgid "Average Rating"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: includes/i18n.php:530
|
1756 |
msgid "based on %s"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
+
#: includes/i18n.php:531
|
1760 |
msgid "Warning:"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
+
#: includes/i18n.php:532
|
1764 |
msgid "Contributors"
|
1765 |
msgstr ""
|
1766 |
|
1767 |
+
#: includes/i18n.php:533
|
1768 |
msgid "Plugin Install"
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: includes/i18n.php:534
|
1772 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: includes/i18n.php:535
|
1776 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: includes/i18n.php:536
|
1780 |
msgid "Newer Version (%s) Installed"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: includes/i18n.php:537
|
1784 |
msgid "Latest Version Installed"
|
1785 |
msgstr ""
|
freemius/package.json
CHANGED
@@ -5,11 +5,15 @@
|
|
5 |
"main": "gulpfile.js",
|
6 |
"dependencies": {
|
7 |
"gulp": "^3.9.1",
|
|
|
|
|
8 |
"gulp-gettext": "^0.3.0",
|
|
|
9 |
"gulp-pofill": "^1.0.0",
|
10 |
"gulp-rename": "^1.2.2",
|
11 |
"gulp-sort": "^2.0.0",
|
12 |
-
"gulp-wp-pot": "^2.0.4"
|
|
|
13 |
},
|
14 |
"scripts": {
|
15 |
"test": "echo \"Error: no test specified\" && exit 1"
|
@@ -23,10 +27,14 @@
|
|
23 |
"homepage": "https://freemius.com",
|
24 |
"devDependencies": {
|
25 |
"gulp": "^3.9.1",
|
|
|
|
|
26 |
"gulp-gettext": "^0.3.0",
|
|
|
27 |
"gulp-pofill": "^1.0.0",
|
28 |
"gulp-rename": "^1.2.2",
|
29 |
"gulp-sort": "^2.0.0",
|
30 |
-
"gulp-wp-pot": "^2.0.4"
|
|
|
31 |
}
|
32 |
}
|
5 |
"main": "gulpfile.js",
|
6 |
"dependencies": {
|
7 |
"gulp": "^3.9.1",
|
8 |
+
"gulp-clean": "^0.3.2",
|
9 |
+
"gulp-fs": "0.0.2",
|
10 |
"gulp-gettext": "^0.3.0",
|
11 |
+
"gulp-path": "^3.0.3",
|
12 |
"gulp-pofill": "^1.0.0",
|
13 |
"gulp-rename": "^1.2.2",
|
14 |
"gulp-sort": "^2.0.0",
|
15 |
+
"gulp-wp-pot": "^2.0.4",
|
16 |
+
"gulp-transifex": "^0.1.17"
|
17 |
},
|
18 |
"scripts": {
|
19 |
"test": "echo \"Error: no test specified\" && exit 1"
|
27 |
"homepage": "https://freemius.com",
|
28 |
"devDependencies": {
|
29 |
"gulp": "^3.9.1",
|
30 |
+
"gulp-clean": "^0.3.2",
|
31 |
+
"gulp-fs": "0.0.2",
|
32 |
"gulp-gettext": "^0.3.0",
|
33 |
+
"gulp-path": "^3.0.3",
|
34 |
"gulp-pofill": "^1.0.0",
|
35 |
"gulp-rename": "^1.2.2",
|
36 |
"gulp-sort": "^2.0.0",
|
37 |
+
"gulp-wp-pot": "^2.0.4",
|
38 |
+
"gulp-transifex": "^0.1.17"
|
39 |
}
|
40 |
}
|
freemius/require.php
CHANGED
@@ -8,12 +8,12 @@
|
|
8 |
|
9 |
// Configuration should be loaded first.
|
10 |
require_once dirname( __FILE__ ) . '/config.php';
|
|
|
11 |
|
12 |
// Logger must be loaded before any other.
|
13 |
require_once WP_FS__DIR_INCLUDES . '/class-fs-logger.php';
|
14 |
require_once WP_FS__DIR_INCLUDES . '/debug/debug-bar-start.php';
|
15 |
|
16 |
-
require_once WP_FS__DIR_INCLUDES . '/fs-core-functions.php';
|
17 |
// require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-abstract-manager.php';
|
18 |
require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-option-manager.php';
|
19 |
require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-cache-manager.php';
|
8 |
|
9 |
// Configuration should be loaded first.
|
10 |
require_once dirname( __FILE__ ) . '/config.php';
|
11 |
+
require_once WP_FS__DIR_INCLUDES . '/fs-core-functions.php';
|
12 |
|
13 |
// Logger must be loaded before any other.
|
14 |
require_once WP_FS__DIR_INCLUDES . '/class-fs-logger.php';
|
15 |
require_once WP_FS__DIR_INCLUDES . '/debug/debug-bar-start.php';
|
16 |
|
|
|
17 |
// require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-abstract-manager.php';
|
18 |
require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-option-manager.php';
|
19 |
require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-cache-manager.php';
|
freemius/start.php
CHANGED
@@ -1,308 +1,417 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
-
* @since 1.0.3
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Freemius SDK Version.
|
15 |
-
*
|
16 |
-
* @var string
|
17 |
-
*/
|
18 |
-
$this_sdk_version = '1.2.1.
|
19 |
-
|
20 |
-
#region SDK Selection Logic --------------------------------------------------------------------
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Special logic added on 1.1.6 to make sure that every Freemius powered plugin
|
24 |
-
* will ALWAYS be loaded with the newest SDK from the active Freemius powered plugins.
|
25 |
-
*
|
26 |
-
* Since Freemius SDK is backward compatible, this will make sure that all Freemius powered
|
27 |
-
* plugins will run correctly.
|
28 |
-
*
|
29 |
-
* @since 1.1.6
|
30 |
-
*/
|
31 |
-
|
32 |
-
global $fs_active_plugins;
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
)
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
*
|
226 |
-
*
|
227 |
-
*
|
228 |
-
*
|
229 |
-
*
|
230 |
-
*
|
231 |
-
*
|
232 |
-
*
|
233 |
-
*
|
234 |
-
*
|
235 |
-
*
|
236 |
-
*
|
237 |
-
*
|
238 |
-
*
|
239 |
-
*
|
240 |
-
*
|
241 |
-
*
|
242 |
-
*
|
243 |
-
*
|
244 |
-
*
|
245 |
-
*
|
246 |
-
*
|
247 |
-
*
|
248 |
-
*
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.0.3
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Freemius SDK Version.
|
15 |
+
*
|
16 |
+
* @var string
|
17 |
+
*/
|
18 |
+
$this_sdk_version = '1.2.1.7.1';
|
19 |
+
|
20 |
+
#region SDK Selection Logic --------------------------------------------------------------------
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Special logic added on 1.1.6 to make sure that every Freemius powered plugin
|
24 |
+
* will ALWAYS be loaded with the newest SDK from the active Freemius powered plugins.
|
25 |
+
*
|
26 |
+
* Since Freemius SDK is backward compatible, this will make sure that all Freemius powered
|
27 |
+
* plugins will run correctly.
|
28 |
+
*
|
29 |
+
* @since 1.1.6
|
30 |
+
*/
|
31 |
+
|
32 |
+
global $fs_active_plugins;
|
33 |
+
|
34 |
+
if ( ! function_exists( 'fs_find_caller_plugin_file' ) ) {
|
35 |
+
// Require SDK essentials.
|
36 |
+
require_once dirname( __FILE__ ) . '/includes/fs-essential-functions.php';
|
37 |
+
}
|
38 |
+
|
39 |
+
$file_path = fs_normalize_path( __FILE__ );
|
40 |
+
$fs_root_path = dirname( $file_path );
|
41 |
+
$this_sdk_relative_path = plugin_basename( $fs_root_path );
|
42 |
+
|
43 |
+
if ( ! isset( $fs_active_plugins ) ) {
|
44 |
+
if ( ! function_exists( '__fs' ) ) {
|
45 |
+
// Require SDK essentials.
|
46 |
+
require_once dirname( __FILE__ ) . '/includes/fs-essential-functions.php';
|
47 |
+
}
|
48 |
+
|
49 |
+
// Load all Freemius powered active plugins.
|
50 |
+
$fs_active_plugins = get_option( 'fs_active_plugins', new stdClass() );
|
51 |
+
|
52 |
+
if ( ! isset( $fs_active_plugins->plugins ) ) {
|
53 |
+
$fs_active_plugins->plugins = array();
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
if ( empty( $fs_active_plugins->abspath ) ) {
|
58 |
+
/**
|
59 |
+
* Store the WP install absolute path reference to identify environment change
|
60 |
+
* while replicating the storage.
|
61 |
+
*
|
62 |
+
* @author Vova Feldman (@svovaf)
|
63 |
+
* @since 1.2.1.7
|
64 |
+
*/
|
65 |
+
$fs_active_plugins->abspath = ABSPATH;
|
66 |
+
} else {
|
67 |
+
if ( ABSPATH !== $fs_active_plugins->abspath ) {
|
68 |
+
/**
|
69 |
+
* WordPress path has changed, cleanup the SDK references cache.
|
70 |
+
* This resolves issues triggered when spinning a staging environments
|
71 |
+
* while replicating the database.
|
72 |
+
*
|
73 |
+
* @author Vova Feldman (@svovaf)
|
74 |
+
* @since 1.2.1.7
|
75 |
+
*/
|
76 |
+
$fs_active_plugins->abspath = ABSPATH;
|
77 |
+
$fs_active_plugins->plugins = array();
|
78 |
+
unset( $fs_active_plugins->newest );
|
79 |
+
} else {
|
80 |
+
/**
|
81 |
+
* Make sure SDK references are still valid. This resolves
|
82 |
+
* issues when users hard delete modules via FTP.
|
83 |
+
*
|
84 |
+
* @author Vova Feldman (@svovaf)
|
85 |
+
* @since 1.2.1.7
|
86 |
+
*/
|
87 |
+
foreach ( $fs_active_plugins->plugins as $sdk_path => &$data ) {
|
88 |
+
if ( ! file_exists( WP_PLUGIN_DIR . '/' . $sdk_path ) ) {
|
89 |
+
unset( $fs_active_plugins->plugins[ $sdk_path ] );
|
90 |
+
}
|
91 |
+
|
92 |
+
update_option( 'fs_active_plugins', $fs_active_plugins );
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
if ( ! function_exists( 'fs_find_direct_caller_plugin_file' ) ) {
|
98 |
+
require_once dirname( __FILE__ ) . '/includes/supplements/fs-essential-functions-1.1.7.1.php';
|
99 |
+
}
|
100 |
+
|
101 |
+
// Update current SDK info based on the SDK path.
|
102 |
+
if ( ! isset( $fs_active_plugins->plugins[ $this_sdk_relative_path ] ) ||
|
103 |
+
$this_sdk_version != $fs_active_plugins->plugins[ $this_sdk_relative_path ]->version
|
104 |
+
) {
|
105 |
+
$fs_active_plugins->plugins[ $this_sdk_relative_path ] = (object) array(
|
106 |
+
'version' => $this_sdk_version,
|
107 |
+
'timestamp' => time(),
|
108 |
+
'plugin_path' => plugin_basename( fs_find_direct_caller_plugin_file( __FILE__ ) ),
|
109 |
+
);
|
110 |
+
}
|
111 |
+
|
112 |
+
$is_current_sdk_newest = isset( $fs_active_plugins->newest ) && ( $this_sdk_relative_path == $fs_active_plugins->newest->sdk_path );
|
113 |
+
|
114 |
+
if ( ! isset( $fs_active_plugins->newest ) ) {
|
115 |
+
/**
|
116 |
+
* This will be executed only once, for the first time a Freemius powered plugin is activated.
|
117 |
+
*/
|
118 |
+
fs_update_sdk_newest_version( $this_sdk_relative_path, $fs_active_plugins->plugins[ $this_sdk_relative_path ]->plugin_path );
|
119 |
+
|
120 |
+
$is_current_sdk_newest = true;
|
121 |
+
} else if ( version_compare( $fs_active_plugins->newest->version, $this_sdk_version, '<' ) ) {
|
122 |
+
/**
|
123 |
+
* Current SDK is newer than the newest stored SDK.
|
124 |
+
*/
|
125 |
+
fs_update_sdk_newest_version( $this_sdk_relative_path, $fs_active_plugins->plugins[ $this_sdk_relative_path ]->plugin_path );
|
126 |
+
|
127 |
+
if ( class_exists( 'Freemius' ) ) {
|
128 |
+
// Older SDK version was already loaded.
|
129 |
+
|
130 |
+
if ( ! $fs_active_plugins->newest->in_activation ) {
|
131 |
+
// Re-order plugins to load this plugin first.
|
132 |
+
fs_newest_sdk_plugin_first();
|
133 |
+
}
|
134 |
+
|
135 |
+
// Refresh page.
|
136 |
+
fs_redirect( $_SERVER['REQUEST_URI'] );
|
137 |
+
}
|
138 |
+
} else {
|
139 |
+
if ( ! function_exists( 'get_plugins' ) ) {
|
140 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
141 |
+
}
|
142 |
+
|
143 |
+
$is_newest_sdk_plugin_active = is_plugin_active( $fs_active_plugins->newest->plugin_path );
|
144 |
+
|
145 |
+
if ( $is_current_sdk_newest &&
|
146 |
+
! $is_newest_sdk_plugin_active &&
|
147 |
+
! $fs_active_plugins->newest->in_activation
|
148 |
+
) {
|
149 |
+
// If current SDK is the newest and the plugin is NOT active, it means
|
150 |
+
// that the current plugin in activation mode.
|
151 |
+
$fs_active_plugins->newest->in_activation = true;
|
152 |
+
update_option( 'fs_active_plugins', $fs_active_plugins );
|
153 |
+
}
|
154 |
+
|
155 |
+
$is_newest_sdk_path_valid = ( $is_newest_sdk_plugin_active || $fs_active_plugins->newest->in_activation ) && file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $this_sdk_relative_path . '/start.php' ) );
|
156 |
+
|
157 |
+
if ( ! $is_newest_sdk_path_valid && ! $is_current_sdk_newest ) {
|
158 |
+
// Plugin with newest SDK is no longer active, or SDK was moved to a different location.
|
159 |
+
unset( $fs_active_plugins->plugins[ $fs_active_plugins->newest->sdk_path ] );
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( ! ( $is_newest_sdk_plugin_active || $fs_active_plugins->newest->in_activation ) ||
|
163 |
+
! $is_newest_sdk_path_valid ||
|
164 |
+
// Is newest SDK downgraded.
|
165 |
+
( $this_sdk_relative_path == $fs_active_plugins->newest->sdk_path &&
|
166 |
+
version_compare( $fs_active_plugins->newest->version, $this_sdk_version, '>' ) )
|
167 |
+
) {
|
168 |
+
/**
|
169 |
+
* Plugin with newest SDK is no longer active.
|
170 |
+
* OR
|
171 |
+
* The newest SDK was in the current plugin. BUT, seems like the version of
|
172 |
+
* the SDK was downgraded to a lower SDK.
|
173 |
+
*/
|
174 |
+
// Find the active plugin with the newest SDK version and update the newest reference.
|
175 |
+
fs_fallback_to_newest_active_sdk();
|
176 |
+
} else {
|
177 |
+
if ( $is_newest_sdk_plugin_active &&
|
178 |
+
$this_sdk_relative_path == $fs_active_plugins->newest->sdk_path &&
|
179 |
+
( $fs_active_plugins->newest->in_activation ||
|
180 |
+
( class_exists( 'Freemius' ) && ( ! defined( 'WP_FS__SDK_VERSION' ) || version_compare( WP_FS__SDK_VERSION, $this_sdk_version, '<' ) ) )
|
181 |
+
)
|
182 |
+
|
183 |
+
) {
|
184 |
+
if ( $fs_active_plugins->newest->in_activation ) {
|
185 |
+
// Plugin no more in activation.
|
186 |
+
$fs_active_plugins->newest->in_activation = false;
|
187 |
+
update_option( 'fs_active_plugins', $fs_active_plugins );
|
188 |
+
}
|
189 |
+
|
190 |
+
// Reorder plugins to load plugin with newest SDK first.
|
191 |
+
if ( fs_newest_sdk_plugin_first() ) {
|
192 |
+
// Refresh page after re-order to make sure activated plugin loads newest SDK.
|
193 |
+
if ( class_exists( 'Freemius' ) ) {
|
194 |
+
fs_redirect( $_SERVER['REQUEST_URI'] );
|
195 |
+
}
|
196 |
+
}
|
197 |
+
}
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
if ( class_exists( 'Freemius' ) ) {
|
202 |
+
// SDK was already loaded.
|
203 |
+
return;
|
204 |
+
}
|
205 |
+
|
206 |
+
if ( version_compare( $this_sdk_version, $fs_active_plugins->newest->version, '<' ) ) {
|
207 |
+
$newest_sdk_starter = fs_normalize_path( WP_PLUGIN_DIR . '/' . $fs_active_plugins->newest->sdk_path . '/start.php' );
|
208 |
+
|
209 |
+
if ( file_exists( $newest_sdk_starter ) ) {
|
210 |
+
// Reorder plugins to load plugin with newest SDK first.
|
211 |
+
fs_newest_sdk_plugin_first();
|
212 |
+
|
213 |
+
// There's a newer SDK version, load it instead of the current one!
|
214 |
+
require_once $newest_sdk_starter;
|
215 |
+
|
216 |
+
return;
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
#endregion SDK Selection Logic --------------------------------------------------------------------
|
221 |
+
|
222 |
+
#region Hooks & Filters Collection --------------------------------------------------------------------
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Freemius hooks (actions & filters) tags structure:
|
226 |
+
*
|
227 |
+
* fs_{filter/action_name}_{plugin_slug}
|
228 |
+
*
|
229 |
+
* --------------------------------------------------------
|
230 |
+
*
|
231 |
+
* Usage with WordPress' add_action() / add_filter():
|
232 |
+
*
|
233 |
+
* add_action('fs_{filter/action_name}_{plugin_slug}', $callable);
|
234 |
+
*
|
235 |
+
* --------------------------------------------------------
|
236 |
+
*
|
237 |
+
* Usage with Freemius' instance add_action() / add_filter():
|
238 |
+
*
|
239 |
+
* // No need to add 'fs_' prefix nor '_{plugin_slug}' suffix.
|
240 |
+
* my_freemius()->add_action('{action_name}', $callable);
|
241 |
+
*
|
242 |
+
* --------------------------------------------------------
|
243 |
+
*
|
244 |
+
* Freemius filters collection:
|
245 |
+
*
|
246 |
+
* fs_connect_url_{plugin_slug}
|
247 |
+
* fs_trial_promotion_message_{plugin_slug}
|
248 |
+
* fs_is_long_term_user_{plugin_slug}
|
249 |
+
* fs_uninstall_reasons_{plugin_slug}
|
250 |
+
* fs_is_plugin_update_{plugin_slug}
|
251 |
+
* fs_api_domains_{plugin_slug}
|
252 |
+
* fs_email_template_sections_{plugin_slug}
|
253 |
+
* fs_support_forum_submenu_{plugin_slug}
|
254 |
+
* fs_support_forum_url_{plugin_slug}
|
255 |
+
* fs_connect_message_{plugin_slug}
|
256 |
+
* fs_connect_message_on_update_{plugin_slug}
|
257 |
+
* fs_uninstall_confirmation_message_{plugin_slug}
|
258 |
+
* fs_pending_activation_message_{plugin_slug}
|
259 |
+
* fs_is_submenu_visible_{plugin_slug}
|
260 |
+
* fs_plugin_icon_{plugin_slug}
|
261 |
+
* fs_show_trial_{plugin_slug}
|
262 |
+
*
|
263 |
+
* --------------------------------------------------------
|
264 |
+
*
|
265 |
+
* Freemius actions collection:
|
266 |
+
*
|
267 |
+
* fs_after_license_loaded_{plugin_slug}
|
268 |
+
* fs_after_license_change_{plugin_slug}
|
269 |
+
* fs_after_plans_sync_{plugin_slug}
|
270 |
+
*
|
271 |
+
* fs_after_account_details_{plugin_slug}
|
272 |
+
* fs_after_account_user_sync_{plugin_slug}
|
273 |
+
* fs_after_account_plan_sync_{plugin_slug}
|
274 |
+
* fs_before_account_load_{plugin_slug}
|
275 |
+
* fs_after_account_connection_{plugin_slug}
|
276 |
+
* fs_account_property_edit_{plugin_slug}
|
277 |
+
* fs_account_email_verified_{plugin_slug}
|
278 |
+
* fs_account_page_load_before_departure_{plugin_slug}
|
279 |
+
* fs_before_account_delete_{plugin_slug}
|
280 |
+
* fs_after_account_delete_{plugin_slug}
|
281 |
+
*
|
282 |
+
* fs_sdk_version_update_{plugin_slug}
|
283 |
+
* fs_plugin_version_update_{plugin_slug}
|
284 |
+
*
|
285 |
+
* fs_initiated_{plugin_slug}
|
286 |
+
* fs_after_init_plugin_registered_{plugin_slug}
|
287 |
+
* fs_after_init_plugin_anonymous_{plugin_slug}
|
288 |
+
* fs_after_init_plugin_pending_activations_{plugin_slug}
|
289 |
+
* fs_after_init_addon_registered_{plugin_slug}
|
290 |
+
* fs_after_init_addon_anonymous_{plugin_slug}
|
291 |
+
* fs_after_init_addon_pending_activations_{plugin_slug}
|
292 |
+
*
|
293 |
+
* fs_after_premium_version_activation_{plugin_slug}
|
294 |
+
* fs_after_free_version_reactivation_{plugin_slug}
|
295 |
+
*
|
296 |
+
* fs_after_uninstall_{plugin_slug}
|
297 |
+
* fs_before_admin_menu_init_{plugin_slug}
|
298 |
+
*/
|
299 |
+
|
300 |
+
#endregion Hooks & Filters Collection --------------------------------------------------------------------
|
301 |
+
|
302 |
+
if ( ! class_exists( 'Freemius' ) ) {
|
303 |
+
|
304 |
+
if ( ! defined( 'WP_FS__SDK_VERSION' ) ) {
|
305 |
+
define( 'WP_FS__SDK_VERSION', $this_sdk_version );
|
306 |
+
}
|
307 |
+
|
308 |
+
$plugins_or_theme_dir_path = WP_PLUGIN_DIR;
|
309 |
+
|
310 |
+
if ( 0 === strpos( $file_path, fs_normalize_path( $plugins_or_theme_dir_path ) ) ) {
|
311 |
+
// No symlinks
|
312 |
+
} else {
|
313 |
+
/**
|
314 |
+
* This logic finds the SDK symlink and set WP_FS__DIR to use it.
|
315 |
+
*
|
316 |
+
* @author Vova Feldman (@svovaf)
|
317 |
+
* @since 1.2.2.5
|
318 |
+
*/
|
319 |
+
$sdk_symlink = null;
|
320 |
+
|
321 |
+
// Try to load SDK's symlink from cache.
|
322 |
+
if ( isset( $fs_active_plugins->plugins[ $this_sdk_relative_path ] ) &&
|
323 |
+
is_object( $fs_active_plugins->plugins[ $this_sdk_relative_path ] ) &&
|
324 |
+
! empty( $fs_active_plugins->plugins[ $this_sdk_relative_path ]->sdk_symlink )
|
325 |
+
) {
|
326 |
+
$sdk_symlink = $fs_active_plugins->plugins[ $this_sdk_relative_path ]->sdk_symlink;
|
327 |
+
$realpath = realpath( $sdk_symlink );
|
328 |
+
|
329 |
+
if ( ! is_string( $realpath ) || ! file_exists( $realpath ) ) {
|
330 |
+
$sdk_symlink = null;
|
331 |
+
}
|
332 |
+
}
|
333 |
+
|
334 |
+
if ( empty( $sdk_symlink ) ) // Has symlinks, therefore, we need to configure WP_FS__DIR based on the symlink.
|
335 |
+
{
|
336 |
+
$partial_path_right = basename( $file_path );
|
337 |
+
$partial_path_left = dirname( $file_path );
|
338 |
+
$realpath = realpath( $plugins_or_theme_dir_path . $partial_path_right );
|
339 |
+
|
340 |
+
while ( '/' !== $partial_path_left &&
|
341 |
+
( false === $realpath || $file_path !== fs_normalize_path( $realpath ) )
|
342 |
+
) {
|
343 |
+
$partial_path_right = trailingslashit( basename( $partial_path_left ) ) . $partial_path_right;
|
344 |
+
$partial_path_left = dirname( $partial_path_left );
|
345 |
+
$realpath = realpath( $plugins_or_theme_dir_path . $partial_path_right );
|
346 |
+
}
|
347 |
+
|
348 |
+
if ( '/' !== $partial_path_left ) {
|
349 |
+
$sdk_symlink = fs_normalize_path( $plugins_or_theme_dir_path . dirname( $partial_path_right ) );
|
350 |
+
|
351 |
+
// Cache value.
|
352 |
+
if ( isset( $fs_active_plugins->plugins[ $this_sdk_relative_path ] ) &&
|
353 |
+
is_object( $fs_active_plugins->plugins[ $this_sdk_relative_path ] )
|
354 |
+
) {
|
355 |
+
$fs_active_plugins->plugins[ $this_sdk_relative_path ]->sdk_symlink = $sdk_symlink;
|
356 |
+
update_option( 'fs_active_plugins', $fs_active_plugins );
|
357 |
+
}
|
358 |
+
|
359 |
+
}
|
360 |
+
}
|
361 |
+
|
362 |
+
if ( ! empty( $sdk_symlink ) ) {
|
363 |
+
// Set SDK dir to the symlink path.
|
364 |
+
define( 'WP_FS__DIR', $sdk_symlink );
|
365 |
+
}
|
366 |
+
}
|
367 |
+
|
368 |
+
// Load SDK files.
|
369 |
+
require_once dirname( __FILE__ ) . '/require.php';
|
370 |
+
|
371 |
+
/**
|
372 |
+
* Quick shortcut to get Freemius for specified plugin.
|
373 |
+
* Used by various templates.
|
374 |
+
*
|
375 |
+
* @param string $slug
|
376 |
+
*
|
377 |
+
* @return Freemius
|
378 |
+
*/
|
379 |
+
function freemius( $slug ) {
|
380 |
+
return Freemius::instance( $slug );
|
381 |
+
}
|
382 |
+
|
383 |
+
/**
|
384 |
+
* @param string $slug
|
385 |
+
* @param number $plugin_id
|
386 |
+
* @param string $public_key
|
387 |
+
* @param bool $is_live Is live or test plugin.
|
388 |
+
* @param bool $is_premium Hints freemius if running the premium plugin or not.
|
389 |
+
*
|
390 |
+
* @return Freemius
|
391 |
+
*
|
392 |
+
* @deprecated Please use fs_dynamic_init().
|
393 |
+
*/
|
394 |
+
function fs_init( $slug, $plugin_id, $public_key, $is_live = true, $is_premium = true ) {
|
395 |
+
$fs = Freemius::instance( $slug, true );
|
396 |
+
$fs->init( $plugin_id, $public_key, $is_live, $is_premium );
|
397 |
+
|
398 |
+
return $fs;
|
399 |
+
}
|
400 |
+
|
401 |
+
/**
|
402 |
+
* @param array <string,string> $module Plugin or Theme details.
|
403 |
+
*
|
404 |
+
* @return Freemius
|
405 |
+
* @throws Freemius_Exception
|
406 |
+
*/
|
407 |
+
function fs_dynamic_init( $module ) {
|
408 |
+
$fs = Freemius::instance( $module['slug'], true );
|
409 |
+
$fs->dynamic_init( $module );
|
410 |
+
|
411 |
+
return $fs;
|
412 |
+
}
|
413 |
+
|
414 |
+
function fs_dump_log() {
|
415 |
+
FS_Logger::dump();
|
416 |
+
}
|
417 |
}
|
freemius/templates/account.php
CHANGED
@@ -38,24 +38,28 @@
|
|
38 |
if ( $fs->has_paid_plan() ) {
|
39 |
$fs->_add_license_activation_dialog_box();
|
40 |
}
|
|
|
|
|
|
|
|
|
41 |
?>
|
42 |
<div class="wrap">
|
43 |
<h2 class="nav-tab-wrapper">
|
44 |
<a href="<?php echo $fs->get_account_url() ?>"
|
45 |
-
class="nav-tab nav-tab-active"><?php
|
46 |
<?php if ( $fs->has_addons() ) : ?>
|
47 |
<a href="<?php echo $fs->_get_admin_page_url( 'addons' ) ?>"
|
48 |
-
class="nav-tab"><?php
|
49 |
<?php endif ?>
|
50 |
<?php if ( $show_upgrade ) : ?>
|
51 |
-
<a href="<?php echo $fs->get_upgrade_url() ?>" class="nav-tab"><?php
|
52 |
<?php if ( $fs->apply_filters( 'show_trial', true ) && ! $fs->is_trial_utilized() && $fs->has_trial_plan() ) : ?>
|
53 |
-
<a href="<?php echo $fs->get_trial_url() ?>" class="nav-tab"><?php
|
54 |
<?php endif ?>
|
55 |
<?php endif ?>
|
56 |
<?php if ( ! $plan->is_free() ) : ?>
|
57 |
<a href="<?php echo $fs->get_account_tab_url( 'billing' ) ?>"
|
58 |
-
class="nav-tab"><?php
|
59 |
<?php endif ?>
|
60 |
</h2>
|
61 |
|
@@ -64,78 +68,81 @@
|
|
64 |
<div class="has-sidebar has-right-sidebar">
|
65 |
<div class="has-sidebar-content">
|
66 |
<div class="postbox">
|
67 |
-
<h3><?php
|
68 |
|
69 |
<div class="fs-header-actions">
|
70 |
<ul>
|
71 |
-
|
72 |
-
<
|
73 |
-
<
|
74 |
-
|
75 |
-
|
76 |
-
if (
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
|
|
|
|
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' ) ?>
|
91 |
<a href="#"
|
92 |
-
onclick="if (confirm('<?php
|
93 |
-
class="dashicons dashicons-admin-network"></i> <?php
|
94 |
</a>
|
95 |
</form>
|
96 |
</li>
|
|
|
97 |
<?php if ( ! $license->is_lifetime() &&
|
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' ) ?>
|
105 |
<a href="#"
|
106 |
-
onclick="if (confirm('<?php printf(
|
107 |
-
printf(
|
108 |
} else {
|
109 |
-
printf(
|
110 |
-
}?> <?php
|
111 |
-
class="dashicons dashicons-download"></i> <?php _efs( 'downgrade', $slug ) ?></a>
|
112 |
</form>
|
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
|
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' ) ?>
|
126 |
<a href="#"
|
127 |
-
onclick="if (confirm('<?php
|
128 |
-
class="dashicons dashicons-download"></i> <?php
|
129 |
</form>
|
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' ) ?>
|
137 |
<a href="#" onclick="this.parentNode.submit(); return false;"><i
|
138 |
-
class="dashicons dashicons-image-rotate"></i> <?php
|
139 |
</form>
|
140 |
</li>
|
141 |
|
@@ -149,50 +156,50 @@
|
|
149 |
$profile = array();
|
150 |
$profile[] = array(
|
151 |
'id' => 'user_name',
|
152 |
-
'title' =>
|
153 |
'value' => $name
|
154 |
);
|
155 |
// if (isset($user->email) && false !== strpos($user->email, '@'))
|
156 |
$profile[] = array(
|
157 |
'id' => 'email',
|
158 |
-
'title' =>
|
159 |
'value' => $user->email
|
160 |
);
|
161 |
|
162 |
if ( is_numeric( $user->id ) ) {
|
163 |
$profile[] = array(
|
164 |
'id' => 'user_id',
|
165 |
-
'title' =>
|
166 |
'value' => $user->id
|
167 |
);
|
168 |
}
|
169 |
|
170 |
$profile[] = array(
|
171 |
'id' => 'site_id',
|
172 |
-
'title' =>
|
173 |
'value' => is_string( $site->id ) ?
|
174 |
$site->id :
|
175 |
-
|
176 |
);
|
177 |
|
178 |
$profile[] = array(
|
179 |
'id' => 'site_public_key',
|
180 |
-
'title' =>
|
181 |
'value' => $site->public_key
|
182 |
);
|
183 |
|
184 |
$profile[] = array(
|
185 |
'id' => 'site_secret_key',
|
186 |
-
'title' =>
|
187 |
'value' => ( ( is_string( $site->secret_key ) ) ?
|
188 |
$site->secret_key :
|
189 |
-
|
190 |
)
|
191 |
);
|
192 |
|
193 |
$profile[] = array(
|
194 |
'id' => 'version',
|
195 |
-
'title' =>
|
196 |
'value' => $fs->get_plugin_version()
|
197 |
);
|
198 |
|
@@ -202,25 +209,25 @@
|
|
202 |
|
203 |
$profile[] = array(
|
204 |
'id' => 'plan',
|
205 |
-
'title' =>
|
206 |
'value' => ( is_string( $trial_plan->name ) ?
|
207 |
strtoupper( $trial_plan->title ) :
|
208 |
-
|
209 |
);
|
210 |
} else {
|
211 |
$profile[] = array(
|
212 |
'id' => 'plan',
|
213 |
-
'title' =>
|
214 |
'value' => is_string( $site->plan->name ) ?
|
215 |
strtoupper( $site->plan->title ) :
|
216 |
-
strtoupper(
|
217 |
);
|
218 |
|
219 |
if ( is_object( $license ) ) {
|
220 |
if ( ! $hide_license_key ) {
|
221 |
$profile[] = array(
|
222 |
'id' => 'license_key',
|
223 |
-
'title' =>
|
224 |
'value' => $license->secret_key,
|
225 |
);
|
226 |
}
|
@@ -259,14 +266,14 @@
|
|
259 |
<?php if ( is_object( $license ) && ! $license->is_lifetime() ) : ?>
|
260 |
<?php if ( ! $is_active_subscription && ! $license->is_first_payment_pending() ) : ?>
|
261 |
<label
|
262 |
-
class="fs-tag fs-warn"><?php echo esc_html( sprintf(
|
263 |
<?php elseif ( $is_active_subscription && ! $subscription->is_first_payment_pending() ) : ?>
|
264 |
<label
|
265 |
-
class="fs-tag fs-success"><?php echo esc_html( sprintf(
|
266 |
<?php endif ?>
|
267 |
<?php elseif ( $fs->is_trial() ) : ?>
|
268 |
<label
|
269 |
-
class="fs-tag fs-warn"><?php echo esc_html( sprintf(
|
270 |
<?php endif ?>
|
271 |
<div class="button-group">
|
272 |
<?php $available_license = $fs->is_free_plan() ? $fs->_get_available_premium_license() : false ?>
|
@@ -279,15 +286,15 @@
|
|
279 |
<?php wp_nonce_field( 'activate_license' ) ?>
|
280 |
<input type="submit" class="button button-primary"
|
281 |
value="<?php echo esc_attr( sprintf(
|
282 |
-
|
283 |
$premium_plan->title,
|
284 |
( $site->is_localhost() && $available_license->is_free_localhost ) ?
|
285 |
-
' [' .
|
286 |
( $available_license->is_single_site() ?
|
287 |
'' :
|
288 |
' [' . ( 1 < $available_license->left() ?
|
289 |
-
sprintf(
|
290 |
-
strtolower(
|
291 |
)
|
292 |
) ) ?> ">
|
293 |
</form>
|
@@ -302,11 +309,14 @@
|
|
302 |
<input type="hidden" name="fs_action"
|
303 |
value="<?php echo $slug ?>_sync_license">
|
304 |
<?php wp_nonce_field( $slug . '_sync_license' ) ?>
|
|
|
305 |
<a href="<?php echo $fs->get_upgrade_url() ?>"
|
306 |
-
class="button<?php
|
307 |
-
echo
|
308 |
-
|
|
|
309 |
class="dashicons dashicons-cart"></i> <?php fs_esc_html_echo( $show_upgrade ? 'upgrade' : 'change-plan', $slug ) ?></a>
|
|
|
310 |
</form>
|
311 |
<?php endif ?>
|
312 |
</div>
|
@@ -337,7 +347,7 @@
|
|
337 |
<?php if ( $is_paying || $fs->is_trial() ) : ?>
|
338 |
<?php if ( ! $fs->is_allowed_to_install() ) : ?>
|
339 |
<a target="_blank" class="button button-primary"
|
340 |
-
href="<?php echo $fs->_get_latest_download_local_url() ?>"><?php echo sprintf(
|
341 |
<?php elseif ( is_object( $update ) ) : ?>
|
342 |
<a class="button button-primary"
|
343 |
href="<?php echo wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' . $fs->get_plugin_basename() ), 'upgrade-plugin_' . $fs->get_plugin_basename() ) ?>"><?php echo fs_esc_html( 'install-update-now', $slug ) . ' [' . $update->version . ']' ?></a>
|
@@ -347,9 +357,9 @@
|
|
347 |
<?php endif ?>
|
348 |
<?php
|
349 |
elseif ( in_array( $p['id'], array( 'license_key', 'site_secret_key' ) ) ) : ?>
|
350 |
-
<button class="button button-small fs-toggle-visibility"><?php
|
351 |
<?php if ('license_key' === $p['id']) : ?>
|
352 |
-
<button class="button button-small activate-license-trigger <?php echo $slug ?>"><?php
|
353 |
<?php endif ?>
|
354 |
<?php
|
355 |
elseif (/*in_array($p['id'], array('site_secret_key', 'site_id', 'site_public_key')) ||*/
|
@@ -359,7 +369,7 @@
|
|
359 |
) ) )
|
360 |
) : ?>
|
361 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST"
|
362 |
-
onsubmit="var val = prompt('<?php
|
363 |
<input type="hidden" name="fs_action" value="update_<?php echo $p['id'] ?>">
|
364 |
<input type="hidden" name="fs_<?php echo $p['id'] ?>_<?php echo $slug ?>"
|
365 |
value="">
|
@@ -487,37 +497,37 @@
|
|
487 |
$tags = array();
|
488 |
|
489 |
if ( $fs_addon->is_trial() ) {
|
490 |
-
$tags[] = array( 'label' =>
|
491 |
|
492 |
$tags[] = array(
|
493 |
-
'label' => sprintf(
|
494 |
'type' => ( $is_paid_trial ? 'success' : 'warn' )
|
495 |
);
|
496 |
} else {
|
497 |
if ( is_object( $license ) ) {
|
498 |
if ( $license->is_cancelled ) {
|
499 |
$tags[] = array(
|
500 |
-
'label' =>
|
501 |
'type' => 'error'
|
502 |
);
|
503 |
} else if ( $license->is_expired() ) {
|
504 |
$tags[] = array(
|
505 |
-
'label' =>
|
506 |
'type' => 'error'
|
507 |
);
|
508 |
} else if ( $license->is_lifetime() ) {
|
509 |
$tags[] = array(
|
510 |
-
'label' =>
|
511 |
'type' => 'success'
|
512 |
);
|
513 |
} else if ( ! $is_active_subscription && ! $license->is_first_payment_pending() ) {
|
514 |
$tags[] = array(
|
515 |
-
'label' => sprintf(
|
516 |
'type' => 'warn'
|
517 |
);
|
518 |
} else if ( $is_active_subscription && ! $subscription->is_first_payment_pending() ) {
|
519 |
$tags[] = array(
|
520 |
-
'label' => sprintf(
|
521 |
'type' => 'success'
|
522 |
);
|
523 |
}
|
@@ -537,13 +547,13 @@
|
|
537 |
$slug,
|
538 |
'account',
|
539 |
'deactivate_license',
|
540 |
-
|
541 |
array( 'plugin_id' => $addon_id ),
|
542 |
false
|
543 |
);
|
544 |
|
545 |
$human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
|
546 |
-
$downgrade_confirmation_message = sprintf(
|
547 |
$plan->title,
|
548 |
$human_readable_license_expiration );
|
549 |
|
@@ -551,14 +561,14 @@
|
|
551 |
'after-downgrade-non-blocking' :
|
552 |
'after-downgrade-blocking' );
|
553 |
|
554 |
-
$after_downgrade_message = sprintf(
|
555 |
|
556 |
if ( ! $license->is_lifetime() && $is_active_subscription ) {
|
557 |
$buttons[] = fs_ui_get_action_button(
|
558 |
$slug,
|
559 |
'account',
|
560 |
'downgrade_account',
|
561 |
-
|
562 |
array( 'plugin_id' => $addon_id ),
|
563 |
false,
|
564 |
false,
|
@@ -571,11 +581,11 @@
|
|
571 |
$slug,
|
572 |
'account',
|
573 |
'cancel_trial',
|
574 |
-
|
575 |
array( 'plugin_id' => $addon_id ),
|
576 |
false,
|
577 |
'dashicons dashicons-download',
|
578 |
-
|
579 |
'POST'
|
580 |
);
|
581 |
} else {
|
@@ -588,7 +598,7 @@
|
|
588 |
$slug,
|
589 |
'account',
|
590 |
'activate_license',
|
591 |
-
sprintf(
|
592 |
array(
|
593 |
'plugin_id' => $addon_id,
|
594 |
'license_id' => $premium_license->id,
|
@@ -603,7 +613,7 @@
|
|
603 |
$slug,
|
604 |
'account',
|
605 |
$slug . '_sync_license',
|
606 |
-
|
607 |
array( 'plugin_id' => $addon_id ),
|
608 |
false
|
609 |
);
|
@@ -616,20 +626,20 @@
|
|
616 |
'<a class="button button-primary edit" href="%s" title="%s">%s</a>',
|
617 |
wp_nonce_url( 'plugins.php?action=activate&plugin=' . $addon_file, 'activate-plugin_' . $addon_file ),
|
618 |
fs_esc_attr( 'activate-this-addon', $slug ),
|
619 |
-
|
620 |
);
|
621 |
} else {
|
622 |
if ( $fs->is_allowed_to_install() ) {
|
623 |
$buttons[] = sprintf(
|
624 |
'<a class="button button-primary edit" href="%s">%s</a>',
|
625 |
wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $addon->slug ), 'install-plugin_' . $addon->slug ),
|
626 |
-
|
627 |
);
|
628 |
} else {
|
629 |
$buttons[] = sprintf(
|
630 |
'<a target="_blank" class="button button-primary edit" href="%s">%s</a>',
|
631 |
$fs->_get_latest_download_local_url( $addon_id ),
|
632 |
-
|
633 |
);
|
634 |
}
|
635 |
}
|
@@ -639,9 +649,9 @@
|
|
639 |
$buttons[] = sprintf( '<a href="%s" class="thickbox button button-primary" aria-label="%s" data-title="%s"><i class="dashicons dashicons-cart"></i> %s</a>',
|
640 |
esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
|
641 |
'&TB_iframe=true&width=600&height=550' ) ),
|
642 |
-
esc_attr( sprintf(
|
643 |
esc_attr( $addon->title ),
|
644 |
-
|
645 |
);
|
646 |
}
|
647 |
|
@@ -690,7 +700,7 @@
|
|
690 |
fs_ui_action_button(
|
691 |
$slug, 'account',
|
692 |
'delete_account',
|
693 |
-
|
694 |
array( 'plugin_id' => $addon_id ),
|
695 |
false
|
696 |
);
|
38 |
if ( $fs->has_paid_plan() ) {
|
39 |
$fs->_add_license_activation_dialog_box();
|
40 |
}
|
41 |
+
|
42 |
+
if ( fs_request_get_bool( 'auto_install' ) ) {
|
43 |
+
$fs->_add_auto_installation_dialog_box();
|
44 |
+
}
|
45 |
?>
|
46 |
<div class="wrap">
|
47 |
<h2 class="nav-tab-wrapper">
|
48 |
<a href="<?php echo $fs->get_account_url() ?>"
|
49 |
+
class="nav-tab nav-tab-active"><?php fs_echo( 'account', $slug ) ?></a>
|
50 |
<?php if ( $fs->has_addons() ) : ?>
|
51 |
<a href="<?php echo $fs->_get_admin_page_url( 'addons' ) ?>"
|
52 |
+
class="nav-tab"><?php fs_echo( 'add-ons', $slug ) ?></a>
|
53 |
<?php endif ?>
|
54 |
<?php if ( $show_upgrade ) : ?>
|
55 |
+
<a href="<?php echo $fs->get_upgrade_url() ?>" class="nav-tab"><?php fs_echo( 'upgrade', $slug ) ?></a>
|
56 |
<?php if ( $fs->apply_filters( 'show_trial', true ) && ! $fs->is_trial_utilized() && $fs->has_trial_plan() ) : ?>
|
57 |
+
<a href="<?php echo $fs->get_trial_url() ?>" class="nav-tab"><?php fs_echo( 'free-trial', $slug ) ?></a>
|
58 |
<?php endif ?>
|
59 |
<?php endif ?>
|
60 |
<?php if ( ! $plan->is_free() ) : ?>
|
61 |
<a href="<?php echo $fs->get_account_tab_url( 'billing' ) ?>"
|
62 |
+
class="nav-tab"><?php fs_echo( 'billing', $slug ) ?></a>
|
63 |
<?php endif ?>
|
64 |
</h2>
|
65 |
|
68 |
<div class="has-sidebar has-right-sidebar">
|
69 |
<div class="has-sidebar-content">
|
70 |
<div class="postbox">
|
71 |
+
<h3><?php fs_echo( 'account-details', $slug ) ?></h3>
|
72 |
|
73 |
<div class="fs-header-actions">
|
74 |
<ul>
|
75 |
+
<?php if ( ! $is_paying ) : ?>
|
76 |
+
<li>
|
77 |
+
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
78 |
+
<input type="hidden" name="fs_action" value="delete_account">
|
79 |
+
<?php wp_nonce_field( 'delete_account' ) ?>
|
80 |
+
<a href="#" onclick="if (confirm('<?php
|
81 |
+
if ( $is_active_subscription ) {
|
82 |
+
echo esc_attr( sprintf( fs_text( 'delete-account-x-confirm', $slug ), $plan->title ) );
|
83 |
+
} else {
|
84 |
+
fs_echo( 'delete-account-confirm', $slug );
|
85 |
+
}
|
86 |
+
?>')) this.parentNode.submit(); return false;"><i
|
87 |
+
class="dashicons dashicons-no"></i> <?php fs_echo( 'delete-account', $slug ) ?></a>
|
88 |
+
</form>
|
89 |
+
</li>
|
90 |
+
<li> • </li>
|
91 |
+
<?php endif ?>
|
92 |
<?php if ( $is_paying ) : ?>
|
93 |
<li>
|
|
|
94 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
95 |
<input type="hidden" name="fs_action" value="deactivate_license">
|
96 |
<?php wp_nonce_field( 'deactivate_license' ) ?>
|
97 |
<a href="#"
|
98 |
+
onclick="if (confirm('<?php fs_echo( 'deactivate-license-confirm', $slug ) ?>')) this.parentNode.submit(); return false;"><i
|
99 |
+
class="dashicons dashicons-admin-network"></i> <?php fs_echo( 'deactivate-license', $slug ) ?>
|
100 |
</a>
|
101 |
</form>
|
102 |
</li>
|
103 |
+
<li> • </li>
|
104 |
<?php if ( ! $license->is_lifetime() &&
|
105 |
$is_active_subscription
|
106 |
) : ?>
|
107 |
<li>
|
|
|
108 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
109 |
<input type="hidden" name="fs_action" value="downgrade_account">
|
110 |
<?php wp_nonce_field( 'downgrade_account' ) ?>
|
111 |
<a href="#"
|
112 |
+
onclick="if (confirm('<?php printf( fs_text( 'downgrade-x-confirm', $slug ), $plan->title, human_time_diff( time(), strtotime( $license->expiration ) ) ) ?> <?php if ( ! $license->is_block_features ) {
|
113 |
+
printf( fs_text( 'after-downgrade-non-blocking', $slug ), $plan->title );
|
114 |
} else {
|
115 |
+
printf( fs_text( 'after-downgrade-blocking', $slug ), $plan->title );
|
116 |
+
}?> <?php fs_echo( 'proceed-confirmation', $slug ) ?>')) this.parentNode.submit(); return false;"><i class="dashicons dashicons-download"></i> <?php fs_echo( ( $fs->is_only_premium() ? 'cancel-subscription' : 'downgrade' ), $slug ) ?></a>
|
|
|
117 |
</form>
|
118 |
</li>
|
119 |
+
<li> • </li>
|
120 |
<?php endif ?>
|
121 |
+
<?php if ( ! $fs->is_single_plan() ) : ?>
|
122 |
<li>
|
|
|
123 |
<a href="<?php echo $fs->get_upgrade_url() ?>"><i
|
124 |
+
class="dashicons dashicons-grid-view"></i> <?php fs_echo( 'change-plan', $slug ) ?></a>
|
125 |
</li>
|
126 |
+
<li> • </li>
|
127 |
+
<?php endif ?>
|
128 |
<?php elseif ( $is_paid_trial ) : ?>
|
129 |
<li>
|
|
|
130 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
131 |
<input type="hidden" name="fs_action" value="cancel_trial">
|
132 |
<?php wp_nonce_field( 'cancel_trial' ) ?>
|
133 |
<a href="#"
|
134 |
+
onclick="if (confirm('<?php fs_echo( 'cancel-trial-confirm' ) ?>')) this.parentNode.submit(); return false;"><i
|
135 |
+
class="dashicons dashicons-download"></i> <?php fs_echo( 'cancel-trial', $slug ) ?></a>
|
136 |
</form>
|
137 |
</li>
|
138 |
+
<li> • </li>
|
139 |
<?php endif ?>
|
140 |
<li>
|
|
|
141 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
142 |
<input type="hidden" name="fs_action" value="<?php echo $slug ?>_sync_license">
|
143 |
<?php wp_nonce_field( $slug . '_sync_license' ) ?>
|
144 |
<a href="#" onclick="this.parentNode.submit(); return false;"><i
|
145 |
+
class="dashicons dashicons-image-rotate"></i> <?php fs_echo( 'sync', $slug ) ?></a>
|
146 |
</form>
|
147 |
</li>
|
148 |
|
156 |
$profile = array();
|
157 |
$profile[] = array(
|
158 |
'id' => 'user_name',
|
159 |
+
'title' => fs_text( 'name', $slug ),
|
160 |
'value' => $name
|
161 |
);
|
162 |
// if (isset($user->email) && false !== strpos($user->email, '@'))
|
163 |
$profile[] = array(
|
164 |
'id' => 'email',
|
165 |
+
'title' => fs_text( 'email', $slug ),
|
166 |
'value' => $user->email
|
167 |
);
|
168 |
|
169 |
if ( is_numeric( $user->id ) ) {
|
170 |
$profile[] = array(
|
171 |
'id' => 'user_id',
|
172 |
+
'title' => fs_text( 'user-id', $slug ),
|
173 |
'value' => $user->id
|
174 |
);
|
175 |
}
|
176 |
|
177 |
$profile[] = array(
|
178 |
'id' => 'site_id',
|
179 |
+
'title' => fs_text( 'site-id', $slug ),
|
180 |
'value' => is_string( $site->id ) ?
|
181 |
$site->id :
|
182 |
+
fs_text( 'no-id', $slug )
|
183 |
);
|
184 |
|
185 |
$profile[] = array(
|
186 |
'id' => 'site_public_key',
|
187 |
+
'title' => fs_text( 'public-key', $slug ),
|
188 |
'value' => $site->public_key
|
189 |
);
|
190 |
|
191 |
$profile[] = array(
|
192 |
'id' => 'site_secret_key',
|
193 |
+
'title' => fs_text( 'secret-key', $slug ),
|
194 |
'value' => ( ( is_string( $site->secret_key ) ) ?
|
195 |
$site->secret_key :
|
196 |
+
fs_text( 'no-secret', $slug )
|
197 |
)
|
198 |
);
|
199 |
|
200 |
$profile[] = array(
|
201 |
'id' => 'version',
|
202 |
+
'title' => fs_text( 'version', $slug ),
|
203 |
'value' => $fs->get_plugin_version()
|
204 |
);
|
205 |
|
209 |
|
210 |
$profile[] = array(
|
211 |
'id' => 'plan',
|
212 |
+
'title' => fs_text( 'plan', $slug ),
|
213 |
'value' => ( is_string( $trial_plan->name ) ?
|
214 |
strtoupper( $trial_plan->title ) :
|
215 |
+
fs_text( 'trial', $slug ) )
|
216 |
);
|
217 |
} else {
|
218 |
$profile[] = array(
|
219 |
'id' => 'plan',
|
220 |
+
'title' => fs_text( 'plan', $slug ),
|
221 |
'value' => is_string( $site->plan->name ) ?
|
222 |
strtoupper( $site->plan->title ) :
|
223 |
+
strtoupper( fs_text( 'free', $slug ) )
|
224 |
);
|
225 |
|
226 |
if ( is_object( $license ) ) {
|
227 |
if ( ! $hide_license_key ) {
|
228 |
$profile[] = array(
|
229 |
'id' => 'license_key',
|
230 |
+
'title' => fs_text( 'License Key', $slug ),
|
231 |
'value' => $license->secret_key,
|
232 |
);
|
233 |
}
|
266 |
<?php if ( is_object( $license ) && ! $license->is_lifetime() ) : ?>
|
267 |
<?php if ( ! $is_active_subscription && ! $license->is_first_payment_pending() ) : ?>
|
268 |
<label
|
269 |
+
class="fs-tag fs-warn"><?php echo esc_html( sprintf( fs_text( 'expires-in', $slug ), human_time_diff( time(), strtotime( $license->expiration ) ) ) ) ?></label>
|
270 |
<?php elseif ( $is_active_subscription && ! $subscription->is_first_payment_pending() ) : ?>
|
271 |
<label
|
272 |
+
class="fs-tag fs-success"><?php echo esc_html( sprintf( fs_text( 'renews-in', $slug ), human_time_diff( time(), strtotime( $subscription->next_payment ) ) ) ) ?></label>
|
273 |
<?php endif ?>
|
274 |
<?php elseif ( $fs->is_trial() ) : ?>
|
275 |
<label
|
276 |
+
class="fs-tag fs-warn"><?php echo esc_html( sprintf( fs_text( 'expires-in', $slug ), human_time_diff( time(), strtotime( $site->trial_ends ) ) ) ) ?></label>
|
277 |
<?php endif ?>
|
278 |
<div class="button-group">
|
279 |
<?php $available_license = $fs->is_free_plan() ? $fs->_get_available_premium_license() : false ?>
|
286 |
<?php wp_nonce_field( 'activate_license' ) ?>
|
287 |
<input type="submit" class="button button-primary"
|
288 |
value="<?php echo esc_attr( sprintf(
|
289 |
+
fs_text( 'activate-x-plan', $slug ) . '%s',
|
290 |
$premium_plan->title,
|
291 |
( $site->is_localhost() && $available_license->is_free_localhost ) ?
|
292 |
+
' [' . fs_text( 'localhost', $slug ) . ']' :
|
293 |
( $available_license->is_single_site() ?
|
294 |
'' :
|
295 |
' [' . ( 1 < $available_license->left() ?
|
296 |
+
sprintf( fs_text( 'x-left', $slug ), $available_license->left() ) :
|
297 |
+
strtolower( fs_text( 'last-license', $slug ) ) ) . ']'
|
298 |
)
|
299 |
) ) ?> ">
|
300 |
</form>
|
309 |
<input type="hidden" name="fs_action"
|
310 |
value="<?php echo $slug ?>_sync_license">
|
311 |
<?php wp_nonce_field( $slug . '_sync_license' ) ?>
|
312 |
+
<?php if ( $show_upgrade || ! $fs->is_single_plan() ) : ?>
|
313 |
<a href="<?php echo $fs->get_upgrade_url() ?>"
|
314 |
+
class="button<?php
|
315 |
+
echo $show_upgrade ?
|
316 |
+
' button-primary fs-upgrade' :
|
317 |
+
' fs-change-plan'; ?> button-upgrade"><i
|
318 |
class="dashicons dashicons-cart"></i> <?php fs_esc_html_echo( $show_upgrade ? 'upgrade' : 'change-plan', $slug ) ?></a>
|
319 |
+
<?php endif ?>
|
320 |
</form>
|
321 |
<?php endif ?>
|
322 |
</div>
|
347 |
<?php if ( $is_paying || $fs->is_trial() ) : ?>
|
348 |
<?php if ( ! $fs->is_allowed_to_install() ) : ?>
|
349 |
<a target="_blank" class="button button-primary"
|
350 |
+
href="<?php echo $fs->_get_latest_download_local_url() ?>"><?php echo sprintf( fs_text( 'download-x-version', $slug ), ( $fs->is_trial() ? $trial_plan->title : $site->plan->title ) ) . ( is_object( $update ) ? ' [' . $update->version . ']' : '' ) ?></a>
|
351 |
<?php elseif ( is_object( $update ) ) : ?>
|
352 |
<a class="button button-primary"
|
353 |
href="<?php echo wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' . $fs->get_plugin_basename() ), 'upgrade-plugin_' . $fs->get_plugin_basename() ) ?>"><?php echo fs_esc_html( 'install-update-now', $slug ) . ' [' . $update->version . ']' ?></a>
|
357 |
<?php endif ?>
|
358 |
<?php
|
359 |
elseif ( in_array( $p['id'], array( 'license_key', 'site_secret_key' ) ) ) : ?>
|
360 |
+
<button class="button button-small fs-toggle-visibility"><?php fs_esc_html_echo( 'show', $slug ) ?></button>
|
361 |
<?php if ('license_key' === $p['id']) : ?>
|
362 |
+
<button class="button button-small activate-license-trigger <?php echo $slug ?>"><?php fs_esc_html_echo( 'change-license', $slug ) ?></button>
|
363 |
<?php endif ?>
|
364 |
<?php
|
365 |
elseif (/*in_array($p['id'], array('site_secret_key', 'site_id', 'site_public_key')) ||*/
|
369 |
) ) )
|
370 |
) : ?>
|
371 |
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST"
|
372 |
+
onsubmit="var val = prompt('<?php echo esc_attr( sprintf( fs_text( 'what-is-your-x', $slug ), $p['title'] ) ) ?>', '<?php echo $p['value'] ?>'); if (null == val || '' === val) return false; jQuery('input[name=fs_<?php echo $p['id'] ?>_<?php echo $slug ?>]').val(val); return true;">
|
373 |
<input type="hidden" name="fs_action" value="update_<?php echo $p['id'] ?>">
|
374 |
<input type="hidden" name="fs_<?php echo $p['id'] ?>_<?php echo $slug ?>"
|
375 |
value="">
|
497 |
$tags = array();
|
498 |
|
499 |
if ( $fs_addon->is_trial() ) {
|
500 |
+
$tags[] = array( 'label' => fs_text( 'trial', $slug ), 'type' => 'success' );
|
501 |
|
502 |
$tags[] = array(
|
503 |
+
'label' => sprintf( fs_text( ( $is_paid_trial ? 'renews-in' : 'expires-in' ), $slug ), human_time_diff( time(), strtotime( $site->trial_ends ) ) ),
|
504 |
'type' => ( $is_paid_trial ? 'success' : 'warn' )
|
505 |
);
|
506 |
} else {
|
507 |
if ( is_object( $license ) ) {
|
508 |
if ( $license->is_cancelled ) {
|
509 |
$tags[] = array(
|
510 |
+
'label' => fs_text( 'cancelled', $slug ),
|
511 |
'type' => 'error'
|
512 |
);
|
513 |
} else if ( $license->is_expired() ) {
|
514 |
$tags[] = array(
|
515 |
+
'label' => fs_text( 'expired', $slug ),
|
516 |
'type' => 'error'
|
517 |
);
|
518 |
} else if ( $license->is_lifetime() ) {
|
519 |
$tags[] = array(
|
520 |
+
'label' => fs_text( 'no-expiration', $slug ),
|
521 |
'type' => 'success'
|
522 |
);
|
523 |
} else if ( ! $is_active_subscription && ! $license->is_first_payment_pending() ) {
|
524 |
$tags[] = array(
|
525 |
+
'label' => sprintf( fs_text( 'expires-in', $slug ), human_time_diff( time(), strtotime( $license->expiration ) ) ),
|
526 |
'type' => 'warn'
|
527 |
);
|
528 |
} else if ( $is_active_subscription && ! $subscription->is_first_payment_pending() ) {
|
529 |
$tags[] = array(
|
530 |
+
'label' => sprintf( fs_text( 'renews-in', $slug ), human_time_diff( time(), strtotime( $subscription->next_payment ) ) ),
|
531 |
'type' => 'success'
|
532 |
);
|
533 |
}
|
547 |
$slug,
|
548 |
'account',
|
549 |
'deactivate_license',
|
550 |
+
fs_text( 'deactivate-license', $slug ),
|
551 |
array( 'plugin_id' => $addon_id ),
|
552 |
false
|
553 |
);
|
554 |
|
555 |
$human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
|
556 |
+
$downgrade_confirmation_message = sprintf( fs_text( 'downgrade-x-confirm', $slug ),
|
557 |
$plan->title,
|
558 |
$human_readable_license_expiration );
|
559 |
|
561 |
'after-downgrade-non-blocking' :
|
562 |
'after-downgrade-blocking' );
|
563 |
|
564 |
+
$after_downgrade_message = sprintf( fs_text( $after_downgrade_message_id, $slug ), $plan->title );
|
565 |
|
566 |
if ( ! $license->is_lifetime() && $is_active_subscription ) {
|
567 |
$buttons[] = fs_ui_get_action_button(
|
568 |
$slug,
|
569 |
'account',
|
570 |
'downgrade_account',
|
571 |
+
fs_text( 'downgrade', $slug ),
|
572 |
array( 'plugin_id' => $addon_id ),
|
573 |
false,
|
574 |
false,
|
581 |
$slug,
|
582 |
'account',
|
583 |
'cancel_trial',
|
584 |
+
fs_text( 'cancel-trial', $slug ),
|
585 |
array( 'plugin_id' => $addon_id ),
|
586 |
false,
|
587 |
'dashicons dashicons-download',
|
588 |
+
fs_text( 'cancel-trial-confirm', $slug ),
|
589 |
'POST'
|
590 |
);
|
591 |
} else {
|
598 |
$slug,
|
599 |
'account',
|
600 |
'activate_license',
|
601 |
+
sprintf( fs_text( 'activate-x-plan', $slug ), $fs_addon->get_plan_title(), ( $site->is_localhost() && $premium_license->is_free_localhost ) ? '[localhost]' : ( 1 < $premium_license->left() ? $premium_license->left() . ' left' : '' ) ),
|
602 |
array(
|
603 |
'plugin_id' => $addon_id,
|
604 |
'license_id' => $premium_license->id,
|
613 |
$slug,
|
614 |
'account',
|
615 |
$slug . '_sync_license',
|
616 |
+
fs_text( 'sync-license', $slug ),
|
617 |
array( 'plugin_id' => $addon_id ),
|
618 |
false
|
619 |
);
|
626 |
'<a class="button button-primary edit" href="%s" title="%s">%s</a>',
|
627 |
wp_nonce_url( 'plugins.php?action=activate&plugin=' . $addon_file, 'activate-plugin_' . $addon_file ),
|
628 |
fs_esc_attr( 'activate-this-addon', $slug ),
|
629 |
+
fs_text( 'activate', $slug )
|
630 |
);
|
631 |
} else {
|
632 |
if ( $fs->is_allowed_to_install() ) {
|
633 |
$buttons[] = sprintf(
|
634 |
'<a class="button button-primary edit" href="%s">%s</a>',
|
635 |
wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $addon->slug ), 'install-plugin_' . $addon->slug ),
|
636 |
+
fs_text( 'install-now', $slug )
|
637 |
);
|
638 |
} else {
|
639 |
$buttons[] = sprintf(
|
640 |
'<a target="_blank" class="button button-primary edit" href="%s">%s</a>',
|
641 |
$fs->_get_latest_download_local_url( $addon_id ),
|
642 |
+
fs_text( 'download-latest', $slug )
|
643 |
);
|
644 |
}
|
645 |
}
|
649 |
$buttons[] = sprintf( '<a href="%s" class="thickbox button button-primary" aria-label="%s" data-title="%s"><i class="dashicons dashicons-cart"></i> %s</a>',
|
650 |
esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
|
651 |
'&TB_iframe=true&width=600&height=550' ) ),
|
652 |
+
esc_attr( sprintf( fs_text( 'more-information-about-x', $slug ), $addon->title ) ),
|
653 |
esc_attr( $addon->title ),
|
654 |
+
fs_text( ( $fs_addon->has_free_plan() ? 'upgrade' : 'purchase' ), $slug )
|
655 |
);
|
656 |
}
|
657 |
|
700 |
fs_ui_action_button(
|
701 |
$slug, 'account',
|
702 |
'delete_account',
|
703 |
+
fs_text( 'delete', $slug ),
|
704 |
array( 'plugin_id' => $addon_id ),
|
705 |
false
|
706 |
);
|
freemius/templates/add-ons.php
CHANGED
@@ -31,14 +31,14 @@
|
|
31 |
$has_addons = ( is_array( $addons ) && 0 < count( $addons ) );
|
32 |
?>
|
33 |
<div id="fs_addons" class="wrap">
|
34 |
-
<h2><?php printf(
|
35 |
|
36 |
<div id="poststuff">
|
37 |
<?php if ( ! $has_addons ) : ?>
|
38 |
<h3><?php printf(
|
39 |
'%s... %s',
|
40 |
-
|
41 |
-
|
42 |
) ?></h3>
|
43 |
<?php endif ?>
|
44 |
<ul class="fs-cards-list">
|
@@ -82,7 +82,7 @@
|
|
82 |
echo sprintf( '<a href="%s" class="thickbox fs-overlay" aria-label="%s" data-title="%s"></a>',
|
83 |
esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
|
84 |
'&TB_iframe=true&width=600&height=550' ) ),
|
85 |
-
esc_attr( sprintf(
|
86 |
esc_attr( $addon->title )
|
87 |
);
|
88 |
?>
|
@@ -105,10 +105,10 @@
|
|
105 |
<li class="fs-title"><?php echo $addon->title ?></li>
|
106 |
<li class="fs-offer">
|
107 |
<span
|
108 |
-
class="fs-price"><?php echo ( 0 == $price ) ?
|
109 |
</li>
|
110 |
<li class="fs-description"><?php echo ! empty( $addon->info->short_description ) ? $addon->info->short_description : 'SHORT DESCRIPTION' ?></li>
|
111 |
-
<li class="fs-cta"><a class="button"><?php
|
112 |
</ul>
|
113 |
</div>
|
114 |
</li>
|
31 |
$has_addons = ( is_array( $addons ) && 0 < count( $addons ) );
|
32 |
?>
|
33 |
<div id="fs_addons" class="wrap">
|
34 |
+
<h2><?php printf( fs_text( 'add-ons-for-x', $slug ), $fs->get_plugin_name() ) ?></h2>
|
35 |
|
36 |
<div id="poststuff">
|
37 |
<?php if ( ! $has_addons ) : ?>
|
38 |
<h3><?php printf(
|
39 |
'%s... %s',
|
40 |
+
fs_text( 'oops', $slug ),
|
41 |
+
fs_text( 'add-ons-missing', $slug )
|
42 |
) ?></h3>
|
43 |
<?php endif ?>
|
44 |
<ul class="fs-cards-list">
|
82 |
echo sprintf( '<a href="%s" class="thickbox fs-overlay" aria-label="%s" data-title="%s"></a>',
|
83 |
esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&parent_plugin_id=' . $fs->get_id() . '&plugin=' . $addon->slug .
|
84 |
'&TB_iframe=true&width=600&height=550' ) ),
|
85 |
+
esc_attr( sprintf( fs_text( 'more-information-about-x', $slug ), $addon->title ) ),
|
86 |
esc_attr( $addon->title )
|
87 |
);
|
88 |
?>
|
105 |
<li class="fs-title"><?php echo $addon->title ?></li>
|
106 |
<li class="fs-offer">
|
107 |
<span
|
108 |
+
class="fs-price"><?php echo ( 0 == $price ) ? fs_text( 'free', $slug ) : ('$' . number_format( $price, 2 ) . ($plan->has_trial() ? ' - ' . fs_text('trial', $slug) : '')) ?></span>
|
109 |
</li>
|
110 |
<li class="fs-description"><?php echo ! empty( $addon->info->short_description ) ? $addon->info->short_description : 'SHORT DESCRIPTION' ?></li>
|
111 |
+
<li class="fs-cta"><a class="button"><?php fs_echo( 'view-details', $slug ) ?></a></li>
|
112 |
</ul>
|
113 |
</div>
|
114 |
</li>
|
freemius/templates/admin-notice.php
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
<?php endif ?>
|
37 |
<?php if ( ! empty( $VARS['sticky'] ) ) : ?>
|
38 |
<div class="fs-close"><i class="dashicons dashicons-no"
|
39 |
-
title="<?php
|
40 |
</div>
|
41 |
<?php endif ?>
|
42 |
<div class="fs-notice-body">
|
36 |
<?php endif ?>
|
37 |
<?php if ( ! empty( $VARS['sticky'] ) ) : ?>
|
38 |
<div class="fs-close"><i class="dashicons dashicons-no"
|
39 |
+
title="<?php fs_echo( 'dismiss' ) ?>"></i> <span><?php fs_echo( 'dismiss' ) ?></span>
|
40 |
</div>
|
41 |
<?php endif ?>
|
42 |
<div class="fs-notice-body">
|
freemius/templates/ajax-loader.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<div class="fs-ajax-loader" style="display: none"><?php for ( $i = 1; $i <= 8; $i ++ ) : ?><div class="fs-ajax-loader-bar fs-ajax-loader-bar-<?php echo $i ?>"></div><?php endfor ?></div>
|
freemius/templates/auto-installation.php
ADDED
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
$plugin_id = $VARS['id'];
|
18 |
+
|
19 |
+
$fs = freemius( $slug );
|
20 |
+
|
21 |
+
$action = $fs->is_tracking_allowed() ?
|
22 |
+
'stop_tracking' :
|
23 |
+
'allow_tracking';
|
24 |
+
|
25 |
+
$title = $fs->get_plugin_title();
|
26 |
+
|
27 |
+
if ( $plugin_id != $fs->get_id() ) {
|
28 |
+
$addon = $fs->get_addon( $plugin_id );
|
29 |
+
|
30 |
+
if ( is_object( $addon ) ) {
|
31 |
+
$title = $addon->title . ' ' . fs_text( 'addon', $slug );
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
$plugin_title = sprintf(
|
36 |
+
'<strong>%s</strong>',
|
37 |
+
esc_html( $title )
|
38 |
+
);
|
39 |
+
|
40 |
+
$sec_countdown = 30;
|
41 |
+
$countdown_html = sprintf(
|
42 |
+
esc_js( fs_text( 'x-sec', $slug ) ),
|
43 |
+
sprintf( '<span class="fs-countdown">%s</span>', $sec_countdown )
|
44 |
+
);
|
45 |
+
|
46 |
+
fs_enqueue_local_style( 'dialog-boxes', '/admin/dialog-boxes.css' );
|
47 |
+
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
|
48 |
+
|
49 |
+
$params = array();
|
50 |
+
$loader_html = fs_get_template( 'ajax-loader.php', $params );
|
51 |
+
|
52 |
+
// Pass unique auto installation URL if WP_Filesystem is needed.
|
53 |
+
$install_url = $fs->_get_sync_license_url(
|
54 |
+
$plugin_id,
|
55 |
+
true,
|
56 |
+
array( 'auto_install' => 'true' )
|
57 |
+
);
|
58 |
+
|
59 |
+
|
60 |
+
ob_start();
|
61 |
+
|
62 |
+
$method = ''; // Leave blank so WP_Filesystem can populate it as necessary.
|
63 |
+
|
64 |
+
$credentials = request_filesystem_credentials(
|
65 |
+
esc_url_raw( $install_url ),
|
66 |
+
$method,
|
67 |
+
false,
|
68 |
+
WP_PLUGIN_DIR,
|
69 |
+
array()
|
70 |
+
);
|
71 |
+
|
72 |
+
$credentials_form = ob_get_clean();
|
73 |
+
|
74 |
+
$require_credentials = ! empty( $credentials_form );
|
75 |
+
?>
|
76 |
+
<div class="fs-modal fs-modal-auto-install">
|
77 |
+
<div class="fs-modal-dialog">
|
78 |
+
<div class="fs-modal-header">
|
79 |
+
<h4><?php echo esc_js( fs_text( 'auto-installation', $slug ) ) ?></h4>
|
80 |
+
</div>
|
81 |
+
<div class="fs-modal-body">
|
82 |
+
<div class="fs-notice-error" style="display: none"><p></p></div>
|
83 |
+
<?php if ( $require_credentials ) : ?>
|
84 |
+
<div id="request-filesystem-credentials-dialog">
|
85 |
+
<?php echo $credentials_form ?>
|
86 |
+
</div>
|
87 |
+
<?php else : ?>
|
88 |
+
<p class="fs-installation-notice"><?php echo sprintf(
|
89 |
+
fs_esc_html( 'installing-in-n', $slug ),
|
90 |
+
$plugin_title,
|
91 |
+
sprintf(
|
92 |
+
'<a href="%s" target="_blank">%s</a>',
|
93 |
+
'https://freemius.com',
|
94 |
+
'freemius.com'
|
95 |
+
),
|
96 |
+
$countdown_html
|
97 |
+
) ?></p>
|
98 |
+
<?php endif ?>
|
99 |
+
<p class="fs-installing"
|
100 |
+
style="display: none"><?php echo sprintf( fs_esc_html( 'installing-module-x', $slug ), $plugin_title ) ?></p>
|
101 |
+
</div>
|
102 |
+
<div class="fs-modal-footer">
|
103 |
+
<?php echo $loader_html ?>
|
104 |
+
<button
|
105 |
+
class="button button-secondary button-cancel"><?php fs_esc_html_echo( 'cancel-installation', $slug ) ?><?php if ( ! $require_credentials ) : ?> (<?php echo $countdown_html ?>)<?php endif ?></button>
|
106 |
+
<button
|
107 |
+
class="button button-primary"<?php //disabled($require_credentials) ?>><?php echo esc_js( fs_text( 'install-now', $slug ) ) ?></button>
|
108 |
+
</div>
|
109 |
+
</div>
|
110 |
+
</div>'
|
111 |
+
|
112 |
+
<script type="text/javascript">
|
113 |
+
(function ($) {
|
114 |
+
$(document).ready(function () {
|
115 |
+
var $modal = $('.fs-modal-auto-install'),
|
116 |
+
$body = $('body'),
|
117 |
+
$countdown = $modal.find('.fs-countdown'),
|
118 |
+
requireCredentials = <?php echo json_encode( $require_credentials ) ?>,
|
119 |
+
$credentialsForm = $('#request-filesystem-credentials-dialog'),
|
120 |
+
$errorNotice = $modal.find('.fs-notice-error'),
|
121 |
+
installing = false;
|
122 |
+
|
123 |
+
$modal.appendTo($body);
|
124 |
+
|
125 |
+
var startAutoInstall = function () {
|
126 |
+
if (installing)
|
127 |
+
return;
|
128 |
+
|
129 |
+
installing = true;
|
130 |
+
|
131 |
+
// Start auto-install.
|
132 |
+
$modal.addClass('fs-warn');
|
133 |
+
if (requireCredentials) {
|
134 |
+
$credentialsForm.hide();
|
135 |
+
} else {
|
136 |
+
$modal.find('.fs-installation-notice').hide();
|
137 |
+
}
|
138 |
+
|
139 |
+
$errorNotice.hide();
|
140 |
+
$modal.find('.fs-installing').show();
|
141 |
+
$modal.find('button').hide();
|
142 |
+
$modal.find('.fs-ajax-loader').show();
|
143 |
+
|
144 |
+
var data = {
|
145 |
+
action : '<?php echo $fs->get_ajax_action( 'install_premium_version' ) ?>',
|
146 |
+
security : '<?php echo $fs->get_ajax_security( 'install_premium_version' ) ?>',
|
147 |
+
slug : '<?php echo $slug ?>',
|
148 |
+
module_id: '<?php echo $plugin_id ?>'
|
149 |
+
};
|
150 |
+
|
151 |
+
if (requireCredentials) {
|
152 |
+
// Add filesystem credentials.
|
153 |
+
data.hostname = $('#hostname').val();
|
154 |
+
data.username = $('#username').val();
|
155 |
+
data.password = $('#password').val();
|
156 |
+
data.connection_type = $('input[name="connection_type"]:checked').val();
|
157 |
+
data.public_key = $('#public_key').val();
|
158 |
+
data.private_key = $('#private_key').val();
|
159 |
+
}
|
160 |
+
|
161 |
+
$.ajax({
|
162 |
+
url : ajaxurl,
|
163 |
+
method : 'POST',
|
164 |
+
data : data,
|
165 |
+
success: function (resultObj) {
|
166 |
+
var reloadAccount = false;
|
167 |
+
|
168 |
+
if (resultObj.success) {
|
169 |
+
// Reload account page to show new data.
|
170 |
+
reloadAccount = true;
|
171 |
+
} else {
|
172 |
+
switch (resultObj.error.code) {
|
173 |
+
case 'invalid_module_id':
|
174 |
+
case 'premium_installed':
|
175 |
+
reloadAccount = true;
|
176 |
+
break;
|
177 |
+
case 'invalid_license':
|
178 |
+
case 'premium_version_missing':
|
179 |
+
case 'unable_to_connect_to_filesystem':
|
180 |
+
default:
|
181 |
+
$modal.removeClass('fs-warn');
|
182 |
+
$modal.find('.fs-installing').hide();
|
183 |
+
$modal.find('.fs-ajax-loader').hide();
|
184 |
+
$modal.find('.button-cancel').html(<?php fs_json_encode_echo( 'cancel-installation', $slug ) ?>);
|
185 |
+
$modal.find('button').show();
|
186 |
+
|
187 |
+
$errorNotice.find('p').text(resultObj.error.message);
|
188 |
+
$errorNotice.addClass('notice notice-alt notice-error').show();
|
189 |
+
if (requireCredentials) {
|
190 |
+
$credentialsForm.show();
|
191 |
+
}
|
192 |
+
break;
|
193 |
+
}
|
194 |
+
}
|
195 |
+
|
196 |
+
if (reloadAccount) {
|
197 |
+
window.location = '<?php echo $fs->get_account_url() ?>';
|
198 |
+
}
|
199 |
+
|
200 |
+
installing = false;
|
201 |
+
}
|
202 |
+
});
|
203 |
+
};
|
204 |
+
|
205 |
+
var clearCountdown = function () {
|
206 |
+
clearInterval(countdownInterval);
|
207 |
+
countdownInterval = null;
|
208 |
+
};
|
209 |
+
|
210 |
+
var cancelAutoInstall = function () {
|
211 |
+
$modal.fadeOut(function () {
|
212 |
+
$modal.remove();
|
213 |
+
$body.removeClass('has-fs-modal');
|
214 |
+
});
|
215 |
+
};
|
216 |
+
|
217 |
+
var countdown = <?php echo $sec_countdown ?>,
|
218 |
+
countdownInterval = requireCredentials ? null : setInterval(function () {
|
219 |
+
$countdown.html(--countdown);
|
220 |
+
if (0 == countdown) {
|
221 |
+
clearCountdown();
|
222 |
+
startAutoInstall();
|
223 |
+
}
|
224 |
+
}, 1000);
|
225 |
+
|
226 |
+
$modal.addClass('active');
|
227 |
+
$body.addClass('has-fs-modal');
|
228 |
+
|
229 |
+
$modal.find('.button-primary').click(function () {
|
230 |
+
clearCountdown();
|
231 |
+
startAutoInstall();
|
232 |
+
});
|
233 |
+
|
234 |
+
$modal.find('.button-cancel').click(function () {
|
235 |
+
clearCountdown();
|
236 |
+
cancelAutoInstall();
|
237 |
+
});
|
238 |
+
|
239 |
+
if (requireCredentials) {
|
240 |
+
|
241 |
+
}
|
242 |
+
});
|
243 |
+
})(jQuery);
|
244 |
+
</script>
|
freemius/templates/billing.php
CHANGED
@@ -46,21 +46,21 @@
|
|
46 |
|
47 |
<div id="fs_account" class="wrap">
|
48 |
<h2 class="nav-tab-wrapper">
|
49 |
-
<a href="<?php echo $fs->get_account_url() ?>" class="nav-tab"><?php
|
50 |
<?php if ( $fs->has_addons() ) : ?>
|
51 |
<a href="<?php echo $fs->_get_admin_page_url( 'addons' ) ?>"
|
52 |
-
class="nav-tab"><?php
|
53 |
<?php endif ?>
|
54 |
<?php if ( $fs->is_not_paying() && $fs->has_paid_plan() ) : ?>
|
55 |
-
<a href="<?php echo $fs->get_upgrade_url() ?>" class="nav-tab"><?php
|
56 |
<?php if ( $fs->apply_filters( 'show_trial', true ) && ! $fs->is_trial_utilized() && $fs->has_trial_plan() ) : ?>
|
57 |
<a href="<?php echo $fs->get_trial_url() ?>"
|
58 |
-
class="nav-tab"><?php
|
59 |
<?php endif ?>
|
60 |
<?php endif ?>
|
61 |
<?php if ( ! $plan->is_free() ) : ?>
|
62 |
<a href="<?php echo $fs->get_account_tab_url( 'billing' ) ?>"
|
63 |
-
class="nav-tab nav-tab-active"><?php
|
64 |
<?php endif ?>
|
65 |
</h2>
|
66 |
|
@@ -69,21 +69,21 @@
|
|
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
|
73 |
<table id="fs_billing_address"<?php if ( $has_billing ) {
|
74 |
echo ' class="fs-read-mode"';
|
75 |
} ?>>
|
76 |
<tr>
|
77 |
-
<td><label><span><?php
|
78 |
-
<td><label><span><?php
|
79 |
</tr>
|
80 |
<tr>
|
81 |
-
<td><label><span><?php printf(
|
82 |
-
<td><label><span><?php printf(
|
83 |
</tr>
|
84 |
<tr>
|
85 |
-
<td><label><span><?php
|
86 |
-
<td><label><span><?php
|
87 |
</tr>
|
88 |
<tr>
|
89 |
<?php $countries = array(
|
@@ -338,29 +338,29 @@
|
|
338 |
'ZM' => 'Zambia',
|
339 |
'ZW' => 'Zimbabwe',
|
340 |
) ?>
|
341 |
-
<td><label><span><?php
|
342 |
<?php if ( empty( $billing->address_country_code ) ) : ?>
|
343 |
<option value=""
|
344 |
-
selected><?php
|
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
|
352 |
-
<input id="address_state" value="<?php echo $billing->address_state ?>" placeholder="<?php
|
353 |
</tr>
|
354 |
<tr>
|
355 |
<td colspan="2">
|
356 |
<button
|
357 |
-
class="button"><?php
|
358 |
</td>
|
359 |
</tr>
|
360 |
</table>
|
361 |
</div>
|
362 |
<div class="postbox">
|
363 |
-
<h3><span class="dashicons dashicons-paperclip"></span> <?php
|
364 |
|
365 |
<?php
|
366 |
$payments = $fs->_fetch_payments();
|
@@ -370,11 +370,11 @@
|
|
370 |
<table class="widefat">
|
371 |
<thead>
|
372 |
<tr>
|
373 |
-
<th><?php
|
374 |
-
<th><?php
|
375 |
-
<!-- <th>--><?php //
|
376 |
-
<th><?php
|
377 |
-
<th><?php
|
378 |
</tr>
|
379 |
</thead>
|
380 |
<tbody>
|
@@ -386,7 +386,7 @@
|
|
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
|
390 |
</tr>
|
391 |
<?php $odd = ! $odd; endforeach ?>
|
392 |
</tbody>
|
@@ -430,7 +430,7 @@
|
|
430 |
var isEditMode = !$billingAddress.hasClass('fs-read-mode');
|
431 |
|
432 |
$(this)
|
433 |
-
.html(isEditMode ? <?php echo json_encode(
|
434 |
.toggleClass('button-primary');
|
435 |
|
436 |
if (isEditMode) {
|
@@ -454,8 +454,8 @@
|
|
454 |
url : ajaxurl,
|
455 |
method : 'POST',
|
456 |
data : {
|
457 |
-
action
|
458 |
-
security: '<?php echo
|
459 |
slug : '<?php echo $slug ?>',
|
460 |
billing : billing
|
461 |
},
|
@@ -481,7 +481,7 @@
|
|
481 |
|
482 |
$billingAddress.toggleClass('fs-read-mode');
|
483 |
$billingAddress.find('.button')
|
484 |
-
.html(<?php echo json_encode(
|
485 |
.toggleClass('button-primary');
|
486 |
})
|
487 |
// If blured after editing only one field without changes, exit edit mode.
|
@@ -489,7 +489,7 @@
|
|
489 |
if (!isEditAllFieldsMode && !hasBillingChanged()) {
|
490 |
$billingAddress.toggleClass('fs-read-mode');
|
491 |
$billingAddress.find('.button')
|
492 |
-
.html(<?php echo json_encode(
|
493 |
.toggleClass('button-primary');
|
494 |
}
|
495 |
});
|
46 |
|
47 |
<div id="fs_account" class="wrap">
|
48 |
<h2 class="nav-tab-wrapper">
|
49 |
+
<a href="<?php echo $fs->get_account_url() ?>" class="nav-tab"><?php fs_echo( 'account', $slug ) ?></a>
|
50 |
<?php if ( $fs->has_addons() ) : ?>
|
51 |
<a href="<?php echo $fs->_get_admin_page_url( 'addons' ) ?>"
|
52 |
+
class="nav-tab"><?php fs_echo( 'add-ons', $slug ) ?></a>
|
53 |
<?php endif ?>
|
54 |
<?php if ( $fs->is_not_paying() && $fs->has_paid_plan() ) : ?>
|
55 |
+
<a href="<?php echo $fs->get_upgrade_url() ?>" class="nav-tab"><?php fs_echo( 'upgrade', $slug ) ?></a>
|
56 |
<?php if ( $fs->apply_filters( 'show_trial', true ) && ! $fs->is_trial_utilized() && $fs->has_trial_plan() ) : ?>
|
57 |
<a href="<?php echo $fs->get_trial_url() ?>"
|
58 |
+
class="nav-tab"><?php fs_echo( 'free-trial', $slug ) ?></a>
|
59 |
<?php endif ?>
|
60 |
<?php endif ?>
|
61 |
<?php if ( ! $plan->is_free() ) : ?>
|
62 |
<a href="<?php echo $fs->get_account_tab_url( 'billing' ) ?>"
|
63 |
+
class="nav-tab nav-tab-active"><?php fs_echo( 'billing', $slug ) ?></a>
|
64 |
<?php endif ?>
|
65 |
</h2>
|
66 |
|
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 fs_echo( '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 fs_echo( 'business-name', $slug ) ?>:</span> <input id="business_name" value="<?php echo $billing->business_name ?>" placeholder="<?php fs_echo( 'business-name', $slug ) ?>"></label></td>
|
78 |
+
<td><label><span><?php fs_echo( 'tax-vat-id', $slug ) ?>:</span> <input id="tax_id" value="<?php echo $billing->tax_id ?>" placeholder="<?php fs_echo( 'tax-vat-id', $slug ) ?>"></label></td>
|
79 |
</tr>
|
80 |
<tr>
|
81 |
+
<td><label><span><?php printf( fs_text( 'address-line-n', $slug ), 1 ) ?>:</span> <input id="address_street" value="<?php echo $billing->address_street ?>" placeholder="<?php printf( fs_text( 'address-line-n', $slug ), 1 ) ?>"></label></td>
|
82 |
+
<td><label><span><?php printf( fs_text( 'address-line-n', $slug ), 2 ) ?>:</span> <input id="address_apt" value="<?php echo $billing->address_apt ?>" placeholder="<?php printf( fs_text( 'address-line-n', $slug ), 2 ) ?>"></label></td>
|
83 |
</tr>
|
84 |
<tr>
|
85 |
+
<td><label><span><?php fs_echo( 'city', $slug ) ?> / <?php fs_echo( 'town', $slug ) ?>:</span> <input id="address_city" value="<?php echo $billing->address_city ?>" placeholder="<?php fs_echo( 'city', $slug ) ?> / <?php fs_echo( 'town', $slug ) ?>"></label></td>
|
86 |
+
<td><label><span><?php fs_echo( 'zip-postal-code', $slug ) ?>:</span> <input id="address_zip" value="<?php echo $billing->address_zip ?>" placeholder="<?php fs_echo( 'zip-postal-code', $slug ) ?>"></label></td>
|
87 |
</tr>
|
88 |
<tr>
|
89 |
<?php $countries = array(
|
338 |
'ZM' => 'Zambia',
|
339 |
'ZW' => 'Zimbabwe',
|
340 |
) ?>
|
341 |
+
<td><label><span><?php fs_echo( 'country', $slug ) ?>:</span> <select id="address_country_code">
|
342 |
<?php if ( empty( $billing->address_country_code ) ) : ?>
|
343 |
<option value=""
|
344 |
+
selected><?php fs_echo( '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 fs_echo( 'state', $slug ) ?> / <?php fs_echo( 'province', $slug ) ?>:</span>
|
352 |
+
<input id="address_state" value="<?php echo $billing->address_state ?>" placeholder="<?php fs_echo( 'state', $slug ) ?> / <?php fs_echo( 'province', $slug ) ?>"></label></td>
|
353 |
</tr>
|
354 |
<tr>
|
355 |
<td colspan="2">
|
356 |
<button
|
357 |
+
class="button"><?php fs_echo( $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 fs_echo( 'payments', $slug ) ?></h3>
|
364 |
|
365 |
<?php
|
366 |
$payments = $fs->_fetch_payments();
|
370 |
<table class="widefat">
|
371 |
<thead>
|
372 |
<tr>
|
373 |
+
<th><?php fs_echo( 'id', $slug ) ?></th>
|
374 |
+
<th><?php fs_echo( 'date', $slug ) ?></th>
|
375 |
+
<!-- <th>--><?php //fs_echo( 'transaction' ) ?><!--</th>-->
|
376 |
+
<th><?php fs_echo( 'amount', $slug ) ?></th>
|
377 |
+
<th><?php fs_echo( 'invoice', $slug ) ?></th>
|
378 |
</tr>
|
379 |
</thead>
|
380 |
<tbody>
|
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 fs_echo( 'invoice', $slug ) ?></a></td>
|
390 |
</tr>
|
391 |
<?php $odd = ! $odd; endforeach ?>
|
392 |
</tbody>
|
430 |
var isEditMode = !$billingAddress.hasClass('fs-read-mode');
|
431 |
|
432 |
$(this)
|
433 |
+
.html(isEditMode ? <?php echo json_encode(fs_text('update', $slug)) ?> : <?php echo json_encode(fs_text('edit', $slug)) ?>)
|
434 |
.toggleClass('button-primary');
|
435 |
|
436 |
if (isEditMode) {
|
454 |
url : ajaxurl,
|
455 |
method : 'POST',
|
456 |
data : {
|
457 |
+
action : '<?php echo $fs->get_ajax_action( 'update_billing' ) ?>',
|
458 |
+
security : '<?php echo $fs->get_ajax_security( 'update_billing' ) ?>',
|
459 |
slug : '<?php echo $slug ?>',
|
460 |
billing : billing
|
461 |
},
|
481 |
|
482 |
$billingAddress.toggleClass('fs-read-mode');
|
483 |
$billingAddress.find('.button')
|
484 |
+
.html(<?php echo json_encode( fs_text( 'update', $slug ) ) ?>)
|
485 |
.toggleClass('button-primary');
|
486 |
})
|
487 |
// If blured after editing only one field without changes, exit edit mode.
|
489 |
if (!isEditAllFieldsMode && !hasBillingChanged()) {
|
490 |
$billingAddress.toggleClass('fs-read-mode');
|
491 |
$billingAddress.find('.button')
|
492 |
+
.html(<?php echo json_encode( fs_text( 'edit', $slug ) ) ?>)
|
493 |
.toggleClass('button-primary');
|
494 |
}
|
495 |
});
|
freemius/templates/checkout.php
CHANGED
@@ -6,6 +6,25 @@
|
|
6 |
* @since 1.0.3
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -19,6 +38,7 @@
|
|
19 |
|
20 |
/**
|
21 |
* @var array $VARS
|
|
|
22 |
*/
|
23 |
$slug = $VARS['slug'];
|
24 |
$fs = freemius( $slug );
|
@@ -28,34 +48,47 @@
|
|
28 |
$context_params = array(
|
29 |
'plugin_id' => $fs->get_id(),
|
30 |
'plugin_version' => $fs->get_plugin_version(),
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
);
|
35 |
|
36 |
$plan_id = fs_request_get( 'plan_id' );
|
37 |
if ( FS_Plugin_Plan::is_valid_id( $plan_id ) ) {
|
38 |
-
|
39 |
-
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
|
46 |
$plugin_id = fs_request_get( 'plugin_id' );
|
47 |
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
48 |
$plugin_id = $fs->get_id();
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
// Get site context secure params.
|
52 |
if ( $fs->is_registered() ) {
|
53 |
$site = $fs->get_site();
|
54 |
|
55 |
if ( $plugin_id != $fs->get_id() ) {
|
56 |
if ( $fs->is_addon_activated( $plugin_id ) ) {
|
57 |
-
$fs_addon
|
58 |
-
$site
|
59 |
}
|
60 |
}
|
61 |
|
@@ -110,6 +143,7 @@
|
|
110 |
// Current plugin version.
|
111 |
'plugin_version' => $fs->get_plugin_version(),
|
112 |
'sdk_version' => WP_FS__SDK_VERSION,
|
|
|
113 |
'return_url' => $return_url,
|
114 |
// Admin CSS URL for style/design competability.
|
115 |
// 'wp_admin_css' => get_bloginfo('wpurl') . "/wp-admin/load-styles.php?c=1&load=buttons,wp-admin,dashicons",
|
@@ -117,145 +151,156 @@
|
|
117 |
|
118 |
$xdebug_session = fs_request_get( 'XDEBUG_SESSION' );
|
119 |
if ( false !== $xdebug_session ) {
|
120 |
-
|
121 |
-
|
122 |
?>
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
}
|
151 |
}
|
152 |
-
} else if (data != null) {
|
153 |
-
form.append($('<input>').attr({
|
154 |
-
type : 'hidden',
|
155 |
-
name : String(name),
|
156 |
-
value: String(data)
|
157 |
-
}));
|
158 |
}
|
159 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
}
|
165 |
}
|
|
|
166 |
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
}
|
169 |
});
|
170 |
-
});
|
171 |
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
src = base_url + '/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),
|
182 |
-
|
183 |
-
// Append the Iframe into the DOM.
|
184 |
-
iframe = $('<iframe " src="' + src + '" width="100%" height="' + iframe_height + 'px" scrolling="no" frameborder="0" style="background: transparent;"><\/iframe>')
|
185 |
-
.appendTo('#iframe');
|
186 |
-
|
187 |
-
FS.PostMessage.init(base_url, [iframe[0]]);
|
188 |
-
FS.PostMessage.receiveOnce('height', function (data) {
|
189 |
-
var h = data.height;
|
190 |
-
if (!isNaN(h) && h > 0 && h != iframe_height) {
|
191 |
-
iframe_height = h;
|
192 |
-
iframe.height(iframe_height + 'px');
|
193 |
-
|
194 |
-
FS.PostMessage.postScroll(iframe[0]);
|
195 |
-
}
|
196 |
-
});
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
$.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(
|
201 |
-
'fs_action' => $slug . '_activate_new',
|
202 |
-
'plugin_id' => $plugin_id
|
203 |
-
) ), $slug . '_activate_new' ) ?>', {
|
204 |
-
user_id : data.user.id,
|
205 |
-
user_secret_key : data.user.secret_key,
|
206 |
-
user_public_key : data.user.public_key,
|
207 |
-
install_id : data.install.id,
|
208 |
-
install_secret_key: data.install.secret_key,
|
209 |
-
install_public_key: data.install.public_key
|
210 |
-
}).submit();
|
211 |
-
});
|
212 |
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
user_email: data.user_email
|
220 |
-
}).submit();
|
221 |
-
});
|
222 |
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
// once he accepts the Terms of Service and Privacy Policy,
|
228 |
-
// and then click the purchase button, the context information
|
229 |
-
// of the user will be shared with Freemius in order to complete the
|
230 |
-
// purchase workflow and activate the license for the right user.
|
231 |
-
<?php $install_data = array_merge( $fs->get_opt_in_params(),
|
232 |
-
array(
|
233 |
-
'activation_url' => fs_nonce_url( $fs->_get_admin_page_url( '',
|
234 |
-
array(
|
235 |
-
'fs_action' => $slug . '_activate_new',
|
236 |
-
'plugin_id' => $plugin_id,
|
237 |
-
|
238 |
-
) ),
|
239 |
-
$slug . '_activate_new' )
|
240 |
-
) ) ?>
|
241 |
-
FS.PostMessage.post('context', <?php echo json_encode( $install_data ) ?>, iframe[0]);
|
242 |
-
});
|
243 |
|
244 |
-
|
245 |
-
|
246 |
-
height : $(document.body).height(),
|
247 |
-
scrollTop: $(document).scrollTop()
|
248 |
-
}, iframe[0]);
|
249 |
-
});
|
250 |
|
251 |
-
|
252 |
-
|
253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
|
255 |
-
|
|
|
256 |
|
257 |
-
|
|
|
|
|
|
|
258 |
});
|
259 |
-
|
260 |
-
|
261 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
* @since 1.0.3
|
7 |
*/
|
8 |
|
9 |
+
/**
|
10 |
+
* Note for WordPress.org Theme/Plugin reviewer:
|
11 |
+
* Freemius is an SDK for plugin and theme developers. Since the core
|
12 |
+
* of the SDK is relevant both for plugins and themes, for obvious reasons,
|
13 |
+
* we only develop and maintain one code base.
|
14 |
+
*
|
15 |
+
* This code (and page) will not run for wp.org themes (only plugins)
|
16 |
+
* since theme admin settings/options are now only allowed in the customizer.
|
17 |
+
*
|
18 |
+
* In addition, this page loads an i-frame. We intentionally named it 'frame'
|
19 |
+
* so it will pass the "Theme Check" that is looking for the string "i" . "frame".
|
20 |
+
*
|
21 |
+
* If you have any questions or need clarifications, please don't hesitate
|
22 |
+
* pinging me on slack, my username is @svovaf.
|
23 |
+
*
|
24 |
+
* @author Vova Feldman (@svovaf)
|
25 |
+
* @since 1.2.2
|
26 |
+
*/
|
27 |
+
|
28 |
if ( ! defined( 'ABSPATH' ) ) {
|
29 |
exit;
|
30 |
}
|
38 |
|
39 |
/**
|
40 |
* @var array $VARS
|
41 |
+
* @var Freemius $fs
|
42 |
*/
|
43 |
$slug = $VARS['slug'];
|
44 |
$fs = freemius( $slug );
|
48 |
$context_params = array(
|
49 |
'plugin_id' => $fs->get_id(),
|
50 |
'plugin_version' => $fs->get_plugin_version(),
|
51 |
+
'public_key' => $fs->get_public_key(),
|
52 |
+
'mode' => 'dashboard',
|
53 |
+
'trial' => fs_request_get_bool( 'trial' ),
|
54 |
);
|
55 |
|
56 |
$plan_id = fs_request_get( 'plan_id' );
|
57 |
if ( FS_Plugin_Plan::is_valid_id( $plan_id ) ) {
|
58 |
+
$context_params['plan_id'] = $plan_id;
|
59 |
+
}
|
60 |
|
61 |
+
$licenses = fs_request_get( 'licenses' );
|
62 |
+
if ( $licenses === strval( intval( $licenses ) ) && $licenses > 0 ) {
|
63 |
+
$context_params['licenses'] = $licenses;
|
64 |
+
}
|
65 |
|
66 |
$plugin_id = fs_request_get( 'plugin_id' );
|
67 |
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
68 |
$plugin_id = $fs->get_id();
|
69 |
}
|
70 |
|
71 |
+
if ( $plugin_id == $fs->get_id() ) {
|
72 |
+
$is_premium = $fs->is_premium();
|
73 |
+
}else {
|
74 |
+
// Identify the module code version of the checkout context module.
|
75 |
+
if ( $fs->is_addon_activated( $plugin_id ) ) {
|
76 |
+
$fs_addon = Freemius::get_instance_by_id( $plugin_id );
|
77 |
+
$is_premium = $fs_addon->is_premium();
|
78 |
+
} else {
|
79 |
+
// If add-on isn't activated assume the premium version isn't installed.
|
80 |
+
$is_premium = false;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
// Get site context secure params.
|
85 |
if ( $fs->is_registered() ) {
|
86 |
$site = $fs->get_site();
|
87 |
|
88 |
if ( $plugin_id != $fs->get_id() ) {
|
89 |
if ( $fs->is_addon_activated( $plugin_id ) ) {
|
90 |
+
$fs_addon = Freemius::get_instance_by_id( $plugin_id );
|
91 |
+
$site = $fs_addon->get_site();
|
92 |
}
|
93 |
}
|
94 |
|
143 |
// Current plugin version.
|
144 |
'plugin_version' => $fs->get_plugin_version(),
|
145 |
'sdk_version' => WP_FS__SDK_VERSION,
|
146 |
+
'is_premium' => $is_premium ? 'true' : 'false',
|
147 |
'return_url' => $return_url,
|
148 |
// Admin CSS URL for style/design competability.
|
149 |
// 'wp_admin_css' => get_bloginfo('wpurl') . "/wp-admin/load-styles.php?c=1&load=buttons,wp-admin,dashicons",
|
151 |
|
152 |
$xdebug_session = fs_request_get( 'XDEBUG_SESSION' );
|
153 |
if ( false !== $xdebug_session ) {
|
154 |
+
$query_params['XDEBUG_SESSION'] = $xdebug_session;
|
155 |
+
}
|
156 |
?>
|
157 |
+
<div id="fs_checkout" class="wrap fs-full-size-wrapper">
|
158 |
+
<div id="iframe"></div>
|
159 |
+
<script type="text/javascript">
|
160 |
+
// http://stackoverflow.com/questions/4583703/jquery-post-request-not-ajax
|
161 |
+
jQuery(function ($) {
|
162 |
+
$.extend({
|
163 |
+
form: function (url, data, method) {
|
164 |
+
if (method == null) method = 'POST';
|
165 |
+
if (data == null) data = {};
|
166 |
+
|
167 |
+
var form = $('<form>').attr({
|
168 |
+
method: method,
|
169 |
+
action: url
|
170 |
+
}).css({
|
171 |
+
display: 'none'
|
172 |
+
});
|
173 |
+
|
174 |
+
var addData = function (name, data) {
|
175 |
+
if ($.isArray(data)) {
|
176 |
+
for (var i = 0; i < data.length; i++) {
|
177 |
+
var value = data[i];
|
178 |
+
addData(name + '[]', value);
|
179 |
+
}
|
180 |
+
} else if (typeof data === 'object') {
|
181 |
+
for (var key in data) {
|
182 |
+
if (data.hasOwnProperty(key)) {
|
183 |
+
addData(name + '[' + key + ']', data[key]);
|
|
|
184 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
}
|
186 |
+
} else if (data != null) {
|
187 |
+
form.append($('<input>').attr({
|
188 |
+
type : 'hidden',
|
189 |
+
name : String(name),
|
190 |
+
value: String(data)
|
191 |
+
}));
|
192 |
+
}
|
193 |
+
};
|
194 |
|
195 |
+
for (var key in data) {
|
196 |
+
if (data.hasOwnProperty(key)) {
|
197 |
+
addData(key, data[key]);
|
|
|
198 |
}
|
199 |
+
}
|
200 |
|
201 |
+
return form.appendTo('body');
|
202 |
+
}
|
203 |
+
});
|
204 |
+
});
|
205 |
+
|
206 |
+
(function ($) {
|
207 |
+
$(function () {
|
208 |
+
|
209 |
+
var
|
210 |
+
// Keep track of the iframe height.
|
211 |
+
iframe_height = 800,
|
212 |
+
base_url = '<?php echo FS_CHECKOUT__ADDRESS ?>',
|
213 |
+
// Pass the parent page URL into the Iframe in a meaningful way (this URL could be
|
214 |
+
// passed via query string or hard coded into the child page, it depends on your needs).
|
215 |
+
src = base_url + '/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),
|
216 |
+
// Append the Iframe into the DOM.
|
217 |
+
iframe = $('<iframe " src="' + src + '" width="100%" height="' + iframe_height + 'px" scrolling="no" frameborder="0" style="background: transparent;"><\/iframe>')
|
218 |
+
.appendTo('#iframe');
|
219 |
+
|
220 |
+
FS.PostMessage.init(base_url, [iframe[0]]);
|
221 |
+
FS.PostMessage.receiveOnce('height', function (data) {
|
222 |
+
var h = data.height;
|
223 |
+
if (!isNaN(h) && h > 0 && h != iframe_height) {
|
224 |
+
iframe_height = h;
|
225 |
+
iframe.height(iframe_height + 'px');
|
226 |
+
|
227 |
+
FS.PostMessage.postScroll(iframe[0]);
|
228 |
}
|
229 |
});
|
|
|
230 |
|
231 |
+
FS.PostMessage.receiveOnce('install', function (data) {
|
232 |
+
var requestData = {
|
233 |
+
user_id : data.user.id,
|
234 |
+
user_secret_key : data.user.secret_key,
|
235 |
+
user_public_key : data.user.public_key,
|
236 |
+
install_id : data.install.id,
|
237 |
+
install_secret_key: data.install.secret_key,
|
238 |
+
install_public_key: data.install.public_key
|
239 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
|
241 |
+
if (true === data.auto_install)
|
242 |
+
requestData.auto_install = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
|
244 |
+
// Post data to activation URL.
|
245 |
+
$.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(
|
246 |
+
'fs_action' => $slug . '_activate_new',
|
247 |
+
'plugin_id' => $plugin_id
|
248 |
+
) ), $slug . '_activate_new' ) ?>', requestData).submit();
|
249 |
+
});
|
|
|
|
|
|
|
250 |
|
251 |
+
FS.PostMessage.receiveOnce('pending_activation', function (data) {
|
252 |
+
var requestData = {
|
253 |
+
user_email: data.user_email
|
254 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
|
256 |
+
if (true === data.auto_install)
|
257 |
+
requestData.auto_install = true;
|
|
|
|
|
|
|
|
|
258 |
|
259 |
+
$.form('<?php echo fs_nonce_url( $fs->_get_admin_page_url( 'account', array(
|
260 |
+
'fs_action' => $slug . '_activate_new',
|
261 |
+
'plugin_id' => $plugin_id,
|
262 |
+
'pending_activation' => true,
|
263 |
+
) ), $slug . '_activate_new' ) ?>', requestData).submit();
|
264 |
+
});
|
265 |
+
|
266 |
+
FS.PostMessage.receiveOnce('get_context', function () {
|
267 |
+
console.debug('receiveOnce', 'get_context');
|
268 |
+
|
269 |
+
// If the user didn't connect his account with Freemius,
|
270 |
+
// once he accepts the Terms of Service and Privacy Policy,
|
271 |
+
// and then click the purchase button, the context information
|
272 |
+
// of the user will be shared with Freemius in order to complete the
|
273 |
+
// purchase workflow and activate the license for the right user.
|
274 |
+
<?php $install_data = array_merge( $fs->get_opt_in_params(),
|
275 |
+
array(
|
276 |
+
'activation_url' => fs_nonce_url( $fs->_get_admin_page_url( '',
|
277 |
+
array(
|
278 |
+
'fs_action' => $slug . '_activate_new',
|
279 |
+
'plugin_id' => $plugin_id,
|
280 |
+
|
281 |
+
) ),
|
282 |
+
$slug . '_activate_new' )
|
283 |
+
) ) ?>
|
284 |
+
FS.PostMessage.post('context', <?php echo json_encode( $install_data ) ?>, iframe[0]);
|
285 |
+
});
|
286 |
|
287 |
+
FS.PostMessage.receiveOnce('get_dimensions', function (data) {
|
288 |
+
console.debug('receiveOnce', 'get_dimensions');
|
289 |
|
290 |
+
FS.PostMessage.post('dimensions', {
|
291 |
+
height : $(document.body).height(),
|
292 |
+
scrollTop: $(document).scrollTop()
|
293 |
+
}, iframe[0]);
|
294 |
});
|
295 |
+
|
296 |
+
var updateHeight = function () {
|
297 |
+
iframe.css('min-height', $('#wpwrap').height() + 'px');
|
298 |
+
};
|
299 |
+
|
300 |
+
$(document).ready(updateHeight);
|
301 |
+
|
302 |
+
$(window).resize(updateHeight);
|
303 |
+
});
|
304 |
+
})(jQuery);
|
305 |
+
</script>
|
306 |
+
</div>
|
freemius/templates/connect.php
CHANGED
@@ -1,407 +1,426 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
-
* @since 1.0.7
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
/**
|
14 |
-
* @var array
|
15 |
-
|
16 |
-
|
17 |
-
$
|
18 |
-
$
|
19 |
-
|
20 |
-
$
|
21 |
-
$
|
22 |
-
$
|
23 |
-
|
24 |
-
$fs->
|
25 |
-
|
26 |
-
$
|
27 |
-
|
28 |
-
$
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
$
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
$
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
if ( $
|
63 |
-
$
|
64 |
-
}
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
'
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
// If
|
120 |
-
//
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
$
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
$
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
echo
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
'
|
193 |
-
'
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
'
|
199 |
-
'
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
'
|
205 |
-
'
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
//
|
214 |
-
//
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
$
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
}
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
*
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
$
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
});
|
358 |
-
|
359 |
-
$
|
360 |
-
$(
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
407 |
</script>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
6 |
+
* @since 1.0.7
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var array $VARS
|
15 |
+
* @var Freemius $fs
|
16 |
+
*/
|
17 |
+
$slug = $VARS['slug'];
|
18 |
+
$fs = freemius( $slug );
|
19 |
+
|
20 |
+
$is_pending_activation = $fs->is_pending_activation();
|
21 |
+
$is_premium_only = $fs->is_only_premium();
|
22 |
+
$has_paid_plans = $fs->has_paid_plan();
|
23 |
+
$is_premium_code = $fs->is_premium();
|
24 |
+
$is_freemium = $fs->is_freemium();
|
25 |
+
|
26 |
+
$fs->_enqueue_connect_essentials();
|
27 |
+
|
28 |
+
$current_user = Freemius::_get_current_wp_user();
|
29 |
+
|
30 |
+
$first_name = $current_user->user_firstname;
|
31 |
+
if ( empty( $first_name ) ) {
|
32 |
+
$first_name = $current_user->nickname;
|
33 |
+
}
|
34 |
+
|
35 |
+
$site_url = get_site_url();
|
36 |
+
$protocol_pos = strpos( $site_url, '://' );
|
37 |
+
if ( false !== $protocol_pos ) {
|
38 |
+
$site_url = substr( $site_url, $protocol_pos + 3 );
|
39 |
+
}
|
40 |
+
|
41 |
+
$freemius_site_www = 'https://freemius.com';
|
42 |
+
|
43 |
+
$freemius_site_url = $freemius_site_www . '/' . ( $fs->is_premium() ?
|
44 |
+
'wordpress/' :
|
45 |
+
// Insights platform information.
|
46 |
+
'wordpress/usage-tracking/' . $fs->get_id() . "/{$slug}/" );
|
47 |
+
|
48 |
+
if ( $fs->is_premium() ) {
|
49 |
+
$freemius_site_url .= '?' . http_build_query( array(
|
50 |
+
'id' => $fs->get_id(),
|
51 |
+
'slug' => $slug,
|
52 |
+
) );
|
53 |
+
}
|
54 |
+
|
55 |
+
$freemius_link = '<a href="' . $freemius_site_url . '" target="_blank" tabindex="1">freemius.com</a>';
|
56 |
+
|
57 |
+
$error = fs_request_get( 'error' );
|
58 |
+
|
59 |
+
$require_license_key = $is_premium_only ||
|
60 |
+
( $is_freemium && $is_premium_code && fs_request_get_bool( 'require_license', true ) );
|
61 |
+
|
62 |
+
if ( $is_pending_activation ) {
|
63 |
+
$require_license_key = false;
|
64 |
+
}
|
65 |
+
|
66 |
+
if ( $require_license_key ) {
|
67 |
+
$fs->_add_license_activation_dialog_box();
|
68 |
+
}
|
69 |
+
|
70 |
+
$fs_user = Freemius::_get_user_by_email( $current_user->user_email );
|
71 |
+
$activate_with_current_user = is_object( $fs_user ) && ! $is_pending_activation;
|
72 |
+
?>
|
73 |
+
<div id="fs_connect"
|
74 |
+
class="wrap<?php if ( ! $fs->is_enable_anonymous() || $is_pending_activation || $require_license_key ) {
|
75 |
+
echo ' fs-anonymous-disabled';
|
76 |
+
} ?>">
|
77 |
+
<div class="fs-visual">
|
78 |
+
<b class="fs-site-icon"><i class="dashicons dashicons-wordpress"></i></b>
|
79 |
+
<i class="dashicons dashicons-plus fs-first"></i>
|
80 |
+
<?php
|
81 |
+
$vars = array( 'slug' => $slug );
|
82 |
+
fs_require_once_template( 'plugin-icon.php', $vars );
|
83 |
+
?>
|
84 |
+
<i class="dashicons dashicons-plus fs-second"></i>
|
85 |
+
<img class="fs-connect-logo" width="80" height="80" src="//img.freemius.com/connect-logo.png"/>
|
86 |
+
</div>
|
87 |
+
<div class="fs-content">
|
88 |
+
<?php if ( ! empty( $error ) ) : ?>
|
89 |
+
<p class="fs-error"><?php echo esc_html( $error ) ?></p>
|
90 |
+
<?php endif ?>
|
91 |
+
<p><?php
|
92 |
+
$button_label = 'opt-in-connect';
|
93 |
+
|
94 |
+
if ( $is_pending_activation ) {
|
95 |
+
$button_label = 'resend-activation-email';
|
96 |
+
|
97 |
+
echo $fs->apply_filters( 'pending_activation_message', sprintf(
|
98 |
+
fs_text( 'thanks-x', $slug ) . '<br>' .
|
99 |
+
fs_text( 'pending-activation-message', $slug ),
|
100 |
+
$first_name,
|
101 |
+
'<b>' . $fs->get_plugin_name() . '</b>',
|
102 |
+
'<b>' . $current_user->user_email . '</b>',
|
103 |
+
fs_text( 'complete-the-install', $slug )
|
104 |
+
) );
|
105 |
+
} else if ( $require_license_key ) {
|
106 |
+
$button_label = 'agree-activate-license';
|
107 |
+
|
108 |
+
echo $fs->apply_filters( 'connect-message_on-premium',
|
109 |
+
sprintf( fs_text( 'hey-x', $slug ), $first_name ) . '<br>' .
|
110 |
+
sprintf( fs_text( 'thanks-for-purchasing', $slug ), '<b>' . $fs->get_plugin_name() . '</b>' ),
|
111 |
+
$first_name,
|
112 |
+
$fs->get_plugin_name()
|
113 |
+
);
|
114 |
+
} else {
|
115 |
+
$filter = 'connect_message';
|
116 |
+
$default_optin_message = 'connect-message';
|
117 |
+
|
118 |
+
if ( $fs->is_plugin_update() ) {
|
119 |
+
// If Freemius was added on a plugin update, set different
|
120 |
+
// opt-in message.
|
121 |
+
$default_optin_message = 'connect-message_on-update';
|
122 |
+
|
123 |
+
// If user customized the opt-in message on update, use
|
124 |
+
// that message. Otherwise, fallback to regular opt-in
|
125 |
+
// custom message if exist.
|
126 |
+
if ( $fs->has_filter( 'connect_message_on_update' ) ) {
|
127 |
+
$filter = 'connect_message_on_update';
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
echo $fs->apply_filters( $filter,
|
132 |
+
sprintf( fs_text( 'hey-x', $slug ), $first_name ) . '<br>' .
|
133 |
+
sprintf(
|
134 |
+
fs_text( $default_optin_message, $slug ),
|
135 |
+
'<b>' . $fs->get_plugin_name() . '</b>',
|
136 |
+
'<b>' . $current_user->user_login . '</b>',
|
137 |
+
'<a href="' . $site_url . '" target="_blank">' . $site_url . '</a>',
|
138 |
+
$freemius_link
|
139 |
+
),
|
140 |
+
$first_name,
|
141 |
+
$fs->get_plugin_name(),
|
142 |
+
$current_user->user_login,
|
143 |
+
'<a href="' . $site_url . '" target="_blank">' . $site_url . '</a>',
|
144 |
+
$freemius_link
|
145 |
+
);
|
146 |
+
}
|
147 |
+
?></p>
|
148 |
+
<?php if ( $require_license_key ) : ?>
|
149 |
+
<div class="fs-license-key-container">
|
150 |
+
<input id="fs_license_key" name="fs_key" type="text" required maxlength="32"
|
151 |
+
placeholder="<?php fs_echo( 'license-key', $slug ) ?>" tabindex="1"/>
|
152 |
+
<i class="dashicons dashicons-admin-network"></i>
|
153 |
+
<a class="show-license-resend-modal show-license-resend-modal-<?php echo $slug; ?>"
|
154 |
+
href="#"><?php fs_echo( 'cant-find-license-key' ); ?></a>
|
155 |
+
</div>
|
156 |
+
<?php endif ?>
|
157 |
+
</div>
|
158 |
+
<div class="fs-actions">
|
159 |
+
<?php if ( $fs->is_enable_anonymous() && ! $is_pending_activation && ! $require_license_key ) : ?>
|
160 |
+
<a href="<?php echo fs_nonce_url( $fs->_get_admin_page_url( '', array( 'fs_action' => $slug . '_skip_activation' ) ), $slug . '_skip_activation' ) ?>"
|
161 |
+
class="button button-secondary" tabindex="2"><?php fs_echo( 'skip', $slug ) ?></a>
|
162 |
+
<?php endif ?>
|
163 |
+
|
164 |
+
<?php if ( $activate_with_current_user ) : ?>
|
165 |
+
<form action="" method="POST">
|
166 |
+
<input type="hidden" name="fs_action" value="<?php echo $slug ?>_activate_existing">
|
167 |
+
<?php wp_nonce_field( 'activate_existing_' . $fs->get_public_key() ) ?>
|
168 |
+
<button class="button button-primary" tabindex="1"
|
169 |
+
type="submit"<?php if ( $require_license_key ) {
|
170 |
+
echo ' disabled="disabled"';
|
171 |
+
} ?>><?php fs_echo( $button_label, $slug ) ?></button>
|
172 |
+
</form>
|
173 |
+
<?php else : ?>
|
174 |
+
<form method="post" action="<?php echo WP_FS__ADDRESS ?>/action/service/user/install/">
|
175 |
+
<?php $params = $fs->get_opt_in_params() ?>
|
176 |
+
<?php foreach ( $params as $name => $value ) : ?>
|
177 |
+
<input type="hidden" name="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>">
|
178 |
+
<?php endforeach ?>
|
179 |
+
<button class="button button-primary" tabindex="1"
|
180 |
+
type="submit"<?php if ( $require_license_key ) {
|
181 |
+
echo ' disabled="disabled"';
|
182 |
+
} ?>><?php fs_echo( $button_label, $slug ) ?></button>
|
183 |
+
</form>
|
184 |
+
<?php endif ?>
|
185 |
+
</div><?php
|
186 |
+
|
187 |
+
// Set core permission list items.
|
188 |
+
$permissions = array(
|
189 |
+
'profile' => array(
|
190 |
+
'icon-class' => 'dashicons dashicons-admin-users',
|
191 |
+
'label' => $fs->get_text( 'permissions-profile' ),
|
192 |
+
'desc' => $fs->get_text( 'permissions-profile_desc' ),
|
193 |
+
'priority' => 5,
|
194 |
+
),
|
195 |
+
'site' => array(
|
196 |
+
'icon-class' => 'dashicons dashicons-admin-settings',
|
197 |
+
'label' => $fs->get_text( 'permissions-site' ),
|
198 |
+
'desc' => $fs->get_text( 'permissions-site_desc' ),
|
199 |
+
'priority' => 10,
|
200 |
+
),
|
201 |
+
'notices' => array(
|
202 |
+
'icon-class' => 'dashicons dashicons-testimonial',
|
203 |
+
'label' => $fs->get_text( 'permissions-admin-notices' ),
|
204 |
+
'desc' => $fs->get_text( 'permissions-newsletter_desc' ),
|
205 |
+
'priority' => 13,
|
206 |
+
),
|
207 |
+
'events' => array(
|
208 |
+
'icon-class' => 'dashicons dashicons-admin-plugins',
|
209 |
+
'label' => $fs->get_text( 'permissions-events' ),
|
210 |
+
'desc' => $fs->get_text( 'permissions-events_desc' ),
|
211 |
+
'priority' => 20,
|
212 |
+
),
|
213 |
+
// 'plugins_themes' => array(
|
214 |
+
// 'icon-class' => 'dashicons dashicons-admin-settings',
|
215 |
+
// 'label' => fs_text( 'permissions-plugins_themes' ),
|
216 |
+
// 'desc' => fs_text( 'permissions-plugins_themes_desc' ),
|
217 |
+
// 'priority' => 30,
|
218 |
+
// ),
|
219 |
+
);
|
220 |
+
|
221 |
+
// Add newsletter permissions if enabled.
|
222 |
+
if ( $fs->is_permission_requested( 'newsletter' ) ) {
|
223 |
+
$permissions['newsletter'] = array(
|
224 |
+
'icon-class' => 'dashicons dashicons-email-alt',
|
225 |
+
'label' => $fs->get_text( 'permissions-newsletter' ),
|
226 |
+
'desc' => $fs->get_text( 'permissions-newsletter_desc' ),
|
227 |
+
'priority' => 15,
|
228 |
+
);
|
229 |
+
}
|
230 |
+
|
231 |
+
// Allow filtering of the permissions list.
|
232 |
+
$permissions = $fs->apply_filters( 'permission_list', $permissions );
|
233 |
+
|
234 |
+
// Sort by priority.
|
235 |
+
uasort( $permissions, 'fs_sort_by_priority' );
|
236 |
+
|
237 |
+
if ( ! empty( $permissions ) ) : ?>
|
238 |
+
<div class="fs-permissions">
|
239 |
+
<?php if ( $require_license_key ) : ?>
|
240 |
+
<p class="fs-license-sync-disclaimer"><?php printf( fs_esc_html( 'license-sync-disclaimer', $slug ), $freemius_link ) ?></p>
|
241 |
+
<?php endif ?>
|
242 |
+
<a class="fs-trigger" href="#" tabindex="1"><?php fs_echo( 'what-permissions', $slug ) ?></a>
|
243 |
+
<ul><?php
|
244 |
+
foreach ( $permissions as $id => $permission ) : ?>
|
245 |
+
<li id="fs-permission-<?php echo esc_attr( $id ); ?>"
|
246 |
+
class="fs-permission fs-<?php echo esc_attr( $id ); ?>">
|
247 |
+
<i class="<?php echo esc_attr( $permission['icon-class'] ); ?>"></i>
|
248 |
+
|
249 |
+
<div>
|
250 |
+
<span><?php echo esc_html( $permission['label'] ); ?></span>
|
251 |
+
|
252 |
+
<p><?php echo esc_html( $permission['desc'] ); ?></p>
|
253 |
+
</div>
|
254 |
+
</li>
|
255 |
+
<?php endforeach; ?>
|
256 |
+
</ul>
|
257 |
+
</div>
|
258 |
+
<?php endif ?>
|
259 |
+
<?php if ( $is_premium_code && $is_freemium ) : ?>
|
260 |
+
<div class="fs-freemium-licensing">
|
261 |
+
<p>
|
262 |
+
<?php if ( $require_license_key ) : ?>
|
263 |
+
<?php fs_echo( 'dont-have-license-key', $slug ) ?>
|
264 |
+
<a data-require-license="false" tabindex="1"><?php fs_echo( 'activate-free-version', $slug ) ?></a>
|
265 |
+
<?php else : ?>
|
266 |
+
<?php fs_echo( 'have-license-key', $slug ) ?>
|
267 |
+
<a data-require-license="true" tabindex="1"><?php fs_echo( 'activate-license', $slug ) ?></a>
|
268 |
+
<?php endif ?>
|
269 |
+
</p>
|
270 |
+
</div>
|
271 |
+
<?php endif ?>
|
272 |
+
<div class="fs-terms">
|
273 |
+
<a href="https://freemius.com/privacy/" target="_blank"
|
274 |
+
tabindex="1"><?php fs_echo( 'privacy-policy', $slug ) ?></a>
|
275 |
+
-
|
276 |
+
<a href="<?php echo $freemius_site_www ?>/terms/" target="_blank" tabindex="1"><?php fs_echo( 'tos', $slug ) ?></a>
|
277 |
+
</div>
|
278 |
+
</div>
|
279 |
+
<script type="text/javascript">
|
280 |
+
(function ($) {
|
281 |
+
var $primaryCta = $('.fs-actions .button.button-primary'),
|
282 |
+
$form = $('.fs-actions form'),
|
283 |
+
requireLicenseKey = <?php echo $require_license_key ? 'true' : 'false' ?>,
|
284 |
+
hasContextUser = <?php echo $activate_with_current_user ? 'true' : 'false' ?>,
|
285 |
+
$licenseSecret,
|
286 |
+
$licenseKeyInput = $('#fs_license_key');
|
287 |
+
|
288 |
+
$('.fs-actions .button').on('click', function () {
|
289 |
+
// Set loading mode.
|
290 |
+
$(document.body).css({'cursor': 'wait'});
|
291 |
+
|
292 |
+
var $this = $(this);
|
293 |
+
$this.css({'cursor': 'wait'});
|
294 |
+
|
295 |
+
setTimeout(function () {
|
296 |
+
$this.attr('disabled', 'disabled');
|
297 |
+
}, 200);
|
298 |
+
});
|
299 |
+
|
300 |
+
$form.on('submit', function () {
|
301 |
+
/**
|
302 |
+
* @author Vova Feldman (@svovaf)
|
303 |
+
* @since 1.1.9
|
304 |
+
*/
|
305 |
+
if (requireLicenseKey) {
|
306 |
+
if (!hasContextUser) {
|
307 |
+
$('.fs-error').remove();
|
308 |
+
|
309 |
+
/**
|
310 |
+
* Use the AJAX opt-in when license key is required to potentially
|
311 |
+
* process the after install failure hook.
|
312 |
+
*
|
313 |
+
* @author Vova Feldman (@svovaf)
|
314 |
+
* @since 1.2.1.5
|
315 |
+
*/
|
316 |
+
$.ajax({
|
317 |
+
url : ajaxurl,
|
318 |
+
method : 'POST',
|
319 |
+
data : {
|
320 |
+
action : '<?php echo $fs->get_ajax_action( 'activate_license' ) ?>',
|
321 |
+
security : '<?php echo $fs->get_ajax_security( 'activate_license' ) ?>',
|
322 |
+
license_key: $licenseKeyInput.val(),
|
323 |
+
slug : '<?php echo $slug ?>'
|
324 |
+
},
|
325 |
+
success: function (result) {
|
326 |
+
var resultObj = $.parseJSON(result);
|
327 |
+
if (resultObj.success) {
|
328 |
+
// Redirect to the "Account" page and sync the license.
|
329 |
+
window.location.href = resultObj.next_page;
|
330 |
+
} else {
|
331 |
+
// Show error.
|
332 |
+
$('.fs-content').prepend('<p class="fs-error">' + (resultObj.error.message ? resultObj.error.message : resultObj.error) + '</p>');
|
333 |
+
|
334 |
+
// Reset loading mode.
|
335 |
+
$primaryCta.removeClass('fs-loading').css({'cursor': 'auto'});
|
336 |
+
$primaryCta.html(<?php echo json_encode( fs_text( $button_label, $slug ) ) ?>);
|
337 |
+
$primaryCta.prop('disabled', false);
|
338 |
+
$(document.body).css({'cursor': 'auto'});
|
339 |
+
}
|
340 |
+
}
|
341 |
+
});
|
342 |
+
|
343 |
+
return false;
|
344 |
+
}
|
345 |
+
else {
|
346 |
+
if (null == $licenseSecret) {
|
347 |
+
$licenseSecret = $('<input type="hidden" name="license_secret_key" value="" />');
|
348 |
+
$form.append($licenseSecret);
|
349 |
+
}
|
350 |
+
|
351 |
+
// Update secret key if premium only plugin.
|
352 |
+
$licenseSecret.val($licenseKeyInput.val());
|
353 |
+
}
|
354 |
+
}
|
355 |
+
|
356 |
+
return true;
|
357 |
+
});
|
358 |
+
|
359 |
+
$primaryCta.on('click', function () {
|
360 |
+
$(this).addClass('fs-loading');
|
361 |
+
$(this).html(<?php echo json_encode( fs_text( $is_pending_activation ? 'sending-email' : 'activating', $slug ) ) ?> +'...');
|
362 |
+
});
|
363 |
+
|
364 |
+
$('.fs-permissions .fs-trigger').on('click', function () {
|
365 |
+
$('.fs-permissions').toggleClass('fs-open');
|
366 |
+
|
367 |
+
return false;
|
368 |
+
});
|
369 |
+
|
370 |
+
if (requireLicenseKey) {
|
371 |
+
/**
|
372 |
+
* Submit license key on enter.
|
373 |
+
*
|
374 |
+
* @author Vova Feldman (@svovaf)
|
375 |
+
* @since 1.1.9
|
376 |
+
*/
|
377 |
+
$licenseKeyInput.keypress(function (e) {
|
378 |
+
if (e.which == 13) {
|
379 |
+
if ('' !== $(this).val()) {
|
380 |
+
$primaryCta.click();
|
381 |
+
return false;
|
382 |
+
}
|
383 |
+
}
|
384 |
+
});
|
385 |
+
|
386 |
+
/**
|
387 |
+
* Disable activation button when empty license key.
|
388 |
+
*
|
389 |
+
* @author Vova Feldman (@svovaf)
|
390 |
+
* @since 1.1.9
|
391 |
+
*/
|
392 |
+
$licenseKeyInput.on('keyup paste delete cut', function () {
|
393 |
+
setTimeout(function () {
|
394 |
+
if ('' === $licenseKeyInput.val()) {
|
395 |
+
$primaryCta.attr('disabled', 'disabled');
|
396 |
+
} else {
|
397 |
+
$primaryCta.prop('disabled', false);
|
398 |
+
}
|
399 |
+
}, 100);
|
400 |
+
}).focus();
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Set license mode trigger URL.
|
405 |
+
*
|
406 |
+
* @author Vova Feldman (@svovaf)
|
407 |
+
* @since 1.1.9
|
408 |
+
*/
|
409 |
+
var
|
410 |
+
$connectLicenseModeTrigger = $('#fs_connect .fs-freemium-licensing a'),
|
411 |
+
href = window.location.href;
|
412 |
+
|
413 |
+
if (href.indexOf('?') > 0) {
|
414 |
+
href += '&';
|
415 |
+
} else {
|
416 |
+
href += '?';
|
417 |
+
}
|
418 |
+
|
419 |
+
if ($connectLicenseModeTrigger.length > 0) {
|
420 |
+
$connectLicenseModeTrigger.attr(
|
421 |
+
'href',
|
422 |
+
href + 'require_license=' + $connectLicenseModeTrigger.attr('data-require-license')
|
423 |
+
);
|
424 |
+
}
|
425 |
+
})(jQuery);
|
426 |
</script>
|
freemius/templates/debug.php
CHANGED
@@ -14,16 +14,16 @@
|
|
14 |
|
15 |
$fs_options = FS_Option_Manager::get_manager( WP_FS__ACCOUNTS_OPTION_NAME, true );
|
16 |
?>
|
17 |
-
<h1><?php echo
|
18 |
<div>
|
19 |
<!-- Debugging Switch -->
|
20 |
<?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
|
21 |
-
<span class="switch-label"><?php
|
22 |
|
23 |
<div class="switch <?php echo WP_FS__DEBUG_SDK ? 'off' : 'on' ?>">
|
24 |
<div class="toggle"></div>
|
25 |
-
<span class="on"><?php
|
26 |
-
<span class="off"><?php
|
27 |
</div>
|
28 |
<script type="text/javascript">
|
29 |
(function ($) {
|
@@ -48,7 +48,7 @@
|
|
48 |
}(jQuery));
|
49 |
</script>
|
50 |
</div>
|
51 |
-
<h2><?php
|
52 |
<table>
|
53 |
<tbody>
|
54 |
<tr>
|
@@ -58,26 +58,69 @@
|
|
58 |
<input type="hidden" name="fs_action" value="restart_freemius">
|
59 |
<?php wp_nonce_field( 'restart_freemius' ) ?>
|
60 |
<button class="button button-primary"
|
61 |
-
onclick="if (confirm('<?php
|
62 |
</form>
|
63 |
</td>
|
64 |
<td>
|
65 |
<!-- Clear API Cache -->
|
66 |
<form action="" method="POST">
|
67 |
<input type="hidden" name="fs_clear_api_cache" value="true">
|
68 |
-
<button class="button button-primary"><?php
|
69 |
</form>
|
70 |
</td>
|
71 |
<td>
|
72 |
<!-- Sync Data with Server -->
|
73 |
<form action="" method="POST">
|
74 |
<input type="hidden" name="background_sync" value="true">
|
75 |
-
<button class="button button-primary"><?php
|
76 |
</form>
|
77 |
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
</tr>
|
79 |
</tbody>
|
80 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
<?php
|
82 |
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
83 |
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
@@ -113,8 +156,8 @@
|
|
113 |
<table class="widefat">
|
114 |
<thead>
|
115 |
<tr>
|
116 |
-
<th><?php
|
117 |
-
<th><?php
|
118 |
</tr>
|
119 |
</thead>
|
120 |
<tbody>
|
@@ -130,14 +173,14 @@
|
|
130 |
<?php endforeach ?>
|
131 |
</tbody>
|
132 |
</table>
|
133 |
-
<h2><?php
|
134 |
<table id="fs_sdks" class="widefat">
|
135 |
<thead>
|
136 |
<tr>
|
137 |
-
<th><?php
|
138 |
-
<th><?php
|
139 |
-
<th><?php
|
140 |
-
<th><?php
|
141 |
</tr>
|
142 |
</thead>
|
143 |
<tbody>
|
@@ -156,19 +199,19 @@
|
|
156 |
</table>
|
157 |
<?php $plugins = $fs_options->get_option( 'plugins' ) ?>
|
158 |
<?php if ( is_array( $plugins ) && 0 < count( $plugins ) ) : ?>
|
159 |
-
<h2><?php
|
160 |
<table id="fs_plugins" class="widefat">
|
161 |
<thead>
|
162 |
<tr>
|
163 |
-
<th><?php
|
164 |
-
<th><?php
|
165 |
-
<th><?php
|
166 |
-
<th><?php
|
167 |
-
<th><?php
|
168 |
-
<th><?php
|
169 |
-
<th><?php
|
170 |
-
<th><?php
|
171 |
-
<th><?php
|
172 |
</tr>
|
173 |
</thead>
|
174 |
<tbody>
|
@@ -190,15 +233,15 @@
|
|
190 |
echo ' style="color: red; text-transform: uppercase;"';
|
191 |
} ?>><?php if ( $is_active ) {
|
192 |
echo $fs->has_api_connectivity() ?
|
193 |
-
|
194 |
-
|
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 |
-
|
201 |
-
|
202 |
} ?></td>
|
203 |
<td><?php echo $data->file ?></td>
|
204 |
<td><?php echo $data->public_key ?></td>
|
@@ -210,7 +253,7 @@
|
|
210 |
<?php wp_nonce_field( 'simulate_trial' ) ?>
|
211 |
|
212 |
<button type="submit"
|
213 |
-
class="button button-primary simulate-trial"><?php
|
214 |
</form>
|
215 |
<?php endif ?>
|
216 |
</td>
|
@@ -227,15 +270,15 @@
|
|
227 |
$sites = $VARS['sites'];
|
228 |
?>
|
229 |
<?php if ( is_array( $sites ) && 0 < count( $sites ) ) : ?>
|
230 |
-
<h2><?php
|
231 |
<table id="fs_installs" class="widefat">
|
232 |
<thead>
|
233 |
<tr>
|
234 |
-
<th><?php
|
235 |
-
<th><?php
|
236 |
-
<th><?php
|
237 |
-
<th><?php
|
238 |
-
<th><?php
|
239 |
</tr>
|
240 |
</thead>
|
241 |
<tbody>
|
@@ -245,7 +288,7 @@
|
|
245 |
<td><?php echo $slug ?></td>
|
246 |
<td><?php
|
247 |
echo is_object( $site->plan ) ?
|
248 |
-
|
249 |
''
|
250 |
?></td>
|
251 |
<td><?php echo $site->public_key ?></td>
|
@@ -259,16 +302,16 @@
|
|
259 |
$addons = $VARS['addons'];
|
260 |
?>
|
261 |
<?php foreach ( $addons as $plugin_id => $plugin_addons ) : ?>
|
262 |
-
<h2><?php printf(
|
263 |
<table id="fs_addons" class="widefat">
|
264 |
<thead>
|
265 |
<tr>
|
266 |
-
<th><?php
|
267 |
-
<th><?php
|
268 |
-
<th><?php
|
269 |
-
<th><?php
|
270 |
-
<th><?php
|
271 |
-
<th><?php
|
272 |
</tr>
|
273 |
</thead>
|
274 |
<tbody>
|
@@ -296,16 +339,16 @@
|
|
296 |
$users = $VARS['users'];
|
297 |
?>
|
298 |
<?php if ( is_array( $users ) && 0 < count( $users ) ) : ?>
|
299 |
-
<h2><?php
|
300 |
<table id="fs_users" class="widefat">
|
301 |
<thead>
|
302 |
<tr>
|
303 |
-
<th><?php
|
304 |
-
<th><?php
|
305 |
-
<th><?php
|
306 |
-
<th><?php
|
307 |
-
<th><?php
|
308 |
-
<th><?php
|
309 |
</tr>
|
310 |
</thead>
|
311 |
<tbody>
|
@@ -330,19 +373,19 @@
|
|
330 |
$licenses = $VARS['licenses'];
|
331 |
?>
|
332 |
<?php if ( is_array( $licenses ) && 0 < count( $licenses ) ) : ?>
|
333 |
-
<h2><?php
|
334 |
<table id="fs_users" class="widefat">
|
335 |
<thead>
|
336 |
<tr>
|
337 |
-
<th><?php
|
338 |
-
<th><?php
|
339 |
-
<th><?php
|
340 |
-
<th><?php
|
341 |
-
<th><?php
|
342 |
-
<th><?php
|
343 |
-
<th><?php
|
344 |
-
<th><?php
|
345 |
-
<th><?php
|
346 |
</tr>
|
347 |
</thead>
|
348 |
<tbody>
|
@@ -371,29 +414,29 @@
|
|
371 |
|
372 |
<?php if ( FS_Logger::is_storage_logging_on() ) : ?>
|
373 |
|
374 |
-
<h2><?php
|
375 |
|
376 |
<div id="fs_debug_filters">
|
377 |
<select name="type">
|
378 |
-
<option value="" selected="selected"><?php
|
379 |
<option value="warn_error">Warnings & Errors</option>
|
380 |
<option value="error">Errors</option>
|
381 |
<option value="warn">Warnings</option>
|
382 |
<option value="info">Info</option>
|
383 |
</select>
|
384 |
<select name="request_type">
|
385 |
-
<option value="" selected="selected"><?php
|
386 |
<option value="call">Sync</option>
|
387 |
<option value="ajax">AJAX</option>
|
388 |
<option value="cron">WP Cron</option>
|
389 |
</select>
|
390 |
-
<input name="file" type="text" placeholder="<?php
|
391 |
-
<input name="function" type="text" placeholder="<?php
|
392 |
-
<input name="process_id" type="text" placeholder="<?php
|
393 |
-
<input name="logger" type="text" placeholder="<?php
|
394 |
-
<input name="message" type="text" placeholder="<?php
|
395 |
<div style="margin: 10px 0">
|
396 |
-
<button id="fs_filter" class="button" style="float: left"><i class="dashicons dashicons-filter"></i> <?php
|
397 |
</button>
|
398 |
|
399 |
<form action="" method="POST" style="float: left; margin-left: 10px;">
|
@@ -401,7 +444,7 @@
|
|
401 |
<?php wp_nonce_field( 'download_logs' ) ?>
|
402 |
<div class="fs-filters"></div>
|
403 |
<button id="fs_download" class="button" type="submit"><i
|
404 |
-
class="dashicons dashicons-download"></i> <?php
|
405 |
</form>
|
406 |
<div style="clear: both"></div>
|
407 |
</div>
|
@@ -412,12 +455,12 @@
|
|
412 |
<thead>
|
413 |
<tr>
|
414 |
<th>#</th>
|
415 |
-
<th><?php
|
416 |
-
<th><?php
|
417 |
-
<th><?php
|
418 |
-
<th><?php
|
419 |
-
<th><?php
|
420 |
-
<th><?php
|
421 |
</tr>
|
422 |
</thead>
|
423 |
<tbody>
|
14 |
|
15 |
$fs_options = FS_Option_Manager::get_manager( WP_FS__ACCOUNTS_OPTION_NAME, true );
|
16 |
?>
|
17 |
+
<h1><?php echo fs_text( 'Freemius Debug' ) . ' - ' . fs_text( 'SDK' ) . ' v.' . $fs_active_plugins->newest->version ?></h1>
|
18 |
<div>
|
19 |
<!-- Debugging Switch -->
|
20 |
<?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
|
21 |
+
<span class="switch-label"><?php fs_echo( 'debugging' ) ?></span>
|
22 |
|
23 |
<div class="switch <?php echo WP_FS__DEBUG_SDK ? 'off' : 'on' ?>">
|
24 |
<div class="toggle"></div>
|
25 |
+
<span class="on"><?php fs_echo( 'on' ) ?></span>
|
26 |
+
<span class="off"><?php fs_echo( 'off' ) ?></span>
|
27 |
</div>
|
28 |
<script type="text/javascript">
|
29 |
(function ($) {
|
48 |
}(jQuery));
|
49 |
</script>
|
50 |
</div>
|
51 |
+
<h2><?php fs_echo( 'actions' ) ?></h2>
|
52 |
<table>
|
53 |
<tbody>
|
54 |
<tr>
|
58 |
<input type="hidden" name="fs_action" value="restart_freemius">
|
59 |
<?php wp_nonce_field( 'restart_freemius' ) ?>
|
60 |
<button class="button button-primary"
|
61 |
+
onclick="if (confirm('<?php fs_echo( 'delete-all-confirm' ) ?>')) this.parentNode.submit(); return false;"><?php fs_echo( 'delete-all-accounts' ) ?></button>
|
62 |
</form>
|
63 |
</td>
|
64 |
<td>
|
65 |
<!-- Clear API Cache -->
|
66 |
<form action="" method="POST">
|
67 |
<input type="hidden" name="fs_clear_api_cache" value="true">
|
68 |
+
<button class="button button-primary"><?php fs_echo( 'clear-api-cache' ) ?></button>
|
69 |
</form>
|
70 |
</td>
|
71 |
<td>
|
72 |
<!-- Sync Data with Server -->
|
73 |
<form action="" method="POST">
|
74 |
<input type="hidden" name="background_sync" value="true">
|
75 |
+
<button class="button button-primary"><?php fs_echo( 'sync-data-from-server' ) ?></button>
|
76 |
</form>
|
77 |
</td>
|
78 |
+
<td>
|
79 |
+
<button id="fs_load_db_option" class="button"><?php fs_echo( 'Load DB Option' ) ?></button>
|
80 |
+
</td>
|
81 |
+
<td>
|
82 |
+
<button id="fs_set_db_option" class="button"><?php fs_echo( 'Set DB Option' ) ?></button>
|
83 |
+
</td>
|
84 |
</tr>
|
85 |
</tbody>
|
86 |
</table>
|
87 |
+
<script type="text/javascript">
|
88 |
+
(function($){
|
89 |
+
$('#fs_load_db_option').click(function () {
|
90 |
+
var optionName = prompt('Please enter the option name:');
|
91 |
+
|
92 |
+
if (optionName) {
|
93 |
+
$.post(ajaxurl, {
|
94 |
+
action : 'fs_get_db_option',
|
95 |
+
option_name: optionName
|
96 |
+
}, function (response) {
|
97 |
+
if (response.data.value)
|
98 |
+
prompt('The option value is:', response.data.value);
|
99 |
+
else
|
100 |
+
alert('Oops... Option does not exist in the DB.');
|
101 |
+
});
|
102 |
+
}
|
103 |
+
});
|
104 |
+
|
105 |
+
$('#fs_set_db_option').click(function () {
|
106 |
+
var optionName = prompt('Please enter the option name:');
|
107 |
+
|
108 |
+
if (optionName) {
|
109 |
+
var optionValue = prompt('Please enter the option value:');
|
110 |
+
|
111 |
+
if (optionValue) {
|
112 |
+
$.post(ajaxurl, {
|
113 |
+
action : 'fs_set_db_option',
|
114 |
+
option_name : optionName,
|
115 |
+
option_value: optionValue
|
116 |
+
}, function () {
|
117 |
+
alert('Option was successfully set.');
|
118 |
+
});
|
119 |
+
}
|
120 |
+
}
|
121 |
+
});
|
122 |
+
})(jQuery);
|
123 |
+
</script>
|
124 |
<?php
|
125 |
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
126 |
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
156 |
<table class="widefat">
|
157 |
<thead>
|
158 |
<tr>
|
159 |
+
<th><?php fs_echo( 'key' ) ?></th>
|
160 |
+
<th><?php fs_echo( 'value' ) ?></th>
|
161 |
</tr>
|
162 |
</thead>
|
163 |
<tbody>
|
173 |
<?php endforeach ?>
|
174 |
</tbody>
|
175 |
</table>
|
176 |
+
<h2><?php fs_echo( 'sdk-versions' ) ?></h2>
|
177 |
<table id="fs_sdks" class="widefat">
|
178 |
<thead>
|
179 |
<tr>
|
180 |
+
<th><?php fs_echo( 'version' ) ?></th>
|
181 |
+
<th><?php fs_echo( 'sdk-path' ) ?></th>
|
182 |
+
<th><?php fs_echo( 'plugin-path' ) ?></th>
|
183 |
+
<th><?php fs_echo( 'is-active' ) ?></th>
|
184 |
</tr>
|
185 |
</thead>
|
186 |
<tbody>
|
199 |
</table>
|
200 |
<?php $plugins = $fs_options->get_option( 'plugins' ) ?>
|
201 |
<?php if ( is_array( $plugins ) && 0 < count( $plugins ) ) : ?>
|
202 |
+
<h2><?php fs_echo( 'plugins' ) ?></h2>
|
203 |
<table id="fs_plugins" class="widefat">
|
204 |
<thead>
|
205 |
<tr>
|
206 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
207 |
+
<th><?php fs_echo( 'slug' ) ?></th>
|
208 |
+
<th><?php fs_echo( 'version' ) ?></th>
|
209 |
+
<th><?php fs_echo( 'title' ) ?></th>
|
210 |
+
<th><?php fs_echo( 'api' ) ?></th>
|
211 |
+
<th><?php fs_echo( 'freemius-state' ) ?></th>
|
212 |
+
<th><?php fs_echo( 'plugin-path' ) ?></th>
|
213 |
+
<th><?php fs_echo( 'public-key' ) ?></th>
|
214 |
+
<th><?php fs_echo( 'actions' ) ?></th>
|
215 |
</tr>
|
216 |
</thead>
|
217 |
<tbody>
|
233 |
echo ' style="color: red; text-transform: uppercase;"';
|
234 |
} ?>><?php if ( $is_active ) {
|
235 |
echo $fs->has_api_connectivity() ?
|
236 |
+
fs_text( 'connected' ) :
|
237 |
+
fs_text( 'blocked' );
|
238 |
} ?></td>
|
239 |
<td<?php if ( $is_active && ! $fs->is_on() ) {
|
240 |
echo ' style="color: red; text-transform: uppercase;"';
|
241 |
} ?>><?php if ( $is_active ) {
|
242 |
echo $fs->is_on() ?
|
243 |
+
fs_text( 'on' ) :
|
244 |
+
fs_text( 'off' );
|
245 |
} ?></td>
|
246 |
<td><?php echo $data->file ?></td>
|
247 |
<td><?php echo $data->public_key ?></td>
|
253 |
<?php wp_nonce_field( 'simulate_trial' ) ?>
|
254 |
|
255 |
<button type="submit"
|
256 |
+
class="button button-primary simulate-trial"><?php fs_echo( 'Simulate Trial' ) ?></button>
|
257 |
</form>
|
258 |
<?php endif ?>
|
259 |
</td>
|
270 |
$sites = $VARS['sites'];
|
271 |
?>
|
272 |
<?php if ( is_array( $sites ) && 0 < count( $sites ) ) : ?>
|
273 |
+
<h2><?php fs_echo( 'plugin-installs' ) ?> / <?php fs_echo( 'sites' ) ?></h2>
|
274 |
<table id="fs_installs" class="widefat">
|
275 |
<thead>
|
276 |
<tr>
|
277 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
278 |
+
<th><?php fs_echo( 'slug' ) ?></th>
|
279 |
+
<th><?php fs_echo( 'plan' ) ?></th>
|
280 |
+
<th><?php fs_echo( 'public-key' ) ?></th>
|
281 |
+
<th><?php fs_echo( 'secret-key' ) ?></th>
|
282 |
</tr>
|
283 |
</thead>
|
284 |
<tbody>
|
288 |
<td><?php echo $slug ?></td>
|
289 |
<td><?php
|
290 |
echo is_object( $site->plan ) ?
|
291 |
+
Freemius::_decrypt( $site->plan->name ) :
|
292 |
''
|
293 |
?></td>
|
294 |
<td><?php echo $site->public_key ?></td>
|
302 |
$addons = $VARS['addons'];
|
303 |
?>
|
304 |
<?php foreach ( $addons as $plugin_id => $plugin_addons ) : ?>
|
305 |
+
<h2><?php printf( fs_text( 'addons-of-x' ), $plugin_id ) ?></h2>
|
306 |
<table id="fs_addons" class="widefat">
|
307 |
<thead>
|
308 |
<tr>
|
309 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
310 |
+
<th><?php fs_echo( 'title' ) ?></th>
|
311 |
+
<th><?php fs_echo( 'slug' ) ?></th>
|
312 |
+
<th><?php fs_echo( 'version' ) ?></th>
|
313 |
+
<th><?php fs_echo( 'public-key' ) ?></th>
|
314 |
+
<th><?php fs_echo( 'secret-key' ) ?></th>
|
315 |
</tr>
|
316 |
</thead>
|
317 |
<tbody>
|
339 |
$users = $VARS['users'];
|
340 |
?>
|
341 |
<?php if ( is_array( $users ) && 0 < count( $users ) ) : ?>
|
342 |
+
<h2><?php fs_echo( 'users' ) ?></h2>
|
343 |
<table id="fs_users" class="widefat">
|
344 |
<thead>
|
345 |
<tr>
|
346 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
347 |
+
<th><?php fs_echo( 'name' ) ?></th>
|
348 |
+
<th><?php fs_echo( 'email' ) ?></th>
|
349 |
+
<th><?php fs_echo( 'verified' ) ?></th>
|
350 |
+
<th><?php fs_echo( 'public-key' ) ?></th>
|
351 |
+
<th><?php fs_echo( 'secret-key' ) ?></th>
|
352 |
</tr>
|
353 |
</thead>
|
354 |
<tbody>
|
373 |
$licenses = $VARS['licenses'];
|
374 |
?>
|
375 |
<?php if ( is_array( $licenses ) && 0 < count( $licenses ) ) : ?>
|
376 |
+
<h2><?php fs_echo( 'licenses' ) ?></h2>
|
377 |
<table id="fs_users" class="widefat">
|
378 |
<thead>
|
379 |
<tr>
|
380 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
381 |
+
<th><?php fs_echo( 'plugin-id' ) ?></th>
|
382 |
+
<th><?php fs_echo( 'user-id' ) ?></th>
|
383 |
+
<th><?php fs_echo( 'plan-id' ) ?></th>
|
384 |
+
<th><?php fs_echo( 'quota' ) ?></th>
|
385 |
+
<th><?php fs_echo( 'activated' ) ?></th>
|
386 |
+
<th><?php fs_echo( 'blocking' ) ?></th>
|
387 |
+
<th><?php fs_echo( 'license-key' ) ?></th>
|
388 |
+
<th><?php fs_echo( 'expiration' ) ?></th>
|
389 |
</tr>
|
390 |
</thead>
|
391 |
<tbody>
|
414 |
|
415 |
<?php if ( FS_Logger::is_storage_logging_on() ) : ?>
|
416 |
|
417 |
+
<h2><?php fs_echo( 'debug-log' ) ?></h2>
|
418 |
|
419 |
<div id="fs_debug_filters">
|
420 |
<select name="type">
|
421 |
+
<option value="" selected="selected"><?php fs_echo( 'all-types' ) ?></option>
|
422 |
<option value="warn_error">Warnings & Errors</option>
|
423 |
<option value="error">Errors</option>
|
424 |
<option value="warn">Warnings</option>
|
425 |
<option value="info">Info</option>
|
426 |
</select>
|
427 |
<select name="request_type">
|
428 |
+
<option value="" selected="selected"><?php fs_echo( 'all-requests' ) ?></option>
|
429 |
<option value="call">Sync</option>
|
430 |
<option value="ajax">AJAX</option>
|
431 |
<option value="cron">WP Cron</option>
|
432 |
</select>
|
433 |
+
<input name="file" type="text" placeholder="<?php fs_echo( 'file' ) ?>"/>
|
434 |
+
<input name="function" type="text" placeholder="<?php fs_echo( 'function' ) ?>"/>
|
435 |
+
<input name="process_id" type="text" placeholder="<?php fs_echo( 'process-id' ) ?>"/>
|
436 |
+
<input name="logger" type="text" placeholder="<?php fs_echo( 'logger' ) ?>"/>
|
437 |
+
<input name="message" type="text" placeholder="<?php fs_echo( 'message' ) ?>"/>
|
438 |
<div style="margin: 10px 0">
|
439 |
+
<button id="fs_filter" class="button" style="float: left"><i class="dashicons dashicons-filter"></i> <?php fs_echo( 'filter' ) ?>
|
440 |
</button>
|
441 |
|
442 |
<form action="" method="POST" style="float: left; margin-left: 10px;">
|
444 |
<?php wp_nonce_field( 'download_logs' ) ?>
|
445 |
<div class="fs-filters"></div>
|
446 |
<button id="fs_download" class="button" type="submit"><i
|
447 |
+
class="dashicons dashicons-download"></i> <?php fs_echo( 'download' ) ?></button>
|
448 |
</form>
|
449 |
<div style="clear: both"></div>
|
450 |
</div>
|
455 |
<thead>
|
456 |
<tr>
|
457 |
<th>#</th>
|
458 |
+
<th><?php fs_echo( 'type' ) ?></th>
|
459 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
460 |
+
<th><?php fs_echo( 'function' ) ?></th>
|
461 |
+
<th><?php fs_echo( 'message' ) ?></th>
|
462 |
+
<th><?php fs_echo( 'file' ) ?></th>
|
463 |
+
<th><?php fs_echo( 'timestamp' ) ?></th>
|
464 |
</tr>
|
465 |
</thead>
|
466 |
<tbody>
|
freemius/templates/debug/api-calls.php
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
|
37 |
$root_path_len = strlen( ABSPATH );
|
38 |
?>
|
39 |
-
<h1><?php
|
40 |
|
41 |
<h2><span>Total Time:</span><?php echo Freemius_Debug_Bar_Panel::total_time() ?></h2>
|
42 |
|
@@ -48,16 +48,16 @@
|
|
48 |
<thead>
|
49 |
<tr>
|
50 |
<th>#</th>
|
51 |
-
<th><?php
|
52 |
-
<th><?php
|
53 |
-
<th><?php
|
54 |
-
<th><?php
|
55 |
<?php if ( $show_body ) : ?>
|
56 |
-
<th><?php
|
57 |
<?php endif ?>
|
58 |
-
<th><?php
|
59 |
-
<th><?php
|
60 |
-
<th><?php
|
61 |
</tr>
|
62 |
</thead>
|
63 |
<tbody>
|
@@ -66,7 +66,7 @@
|
|
66 |
<td><?php echo $log['id'] ?>.</td>
|
67 |
<td><?php echo $log['method'] ?></td>
|
68 |
<td><?php echo $log['code'] ?></td>
|
69 |
-
<td><?php echo number_format( 100 * $log['total'], 2 ) . ' ' .
|
70 |
<td>
|
71 |
<?php
|
72 |
printf( '<a href="#" onclick="jQuery(this).parent().find(\'table\').toggle(); return false;">%s</a>',
|
@@ -130,8 +130,8 @@
|
|
130 |
?>
|
131 |
<pre<?php if ( $is_not_empty_result ) : ?> style="display: none"<?php endif ?>><code><?php echo esc_html( $result ) ?></code></pre>
|
132 |
</td>
|
133 |
-
<td><?php echo number_format( 100 * ( $log['start'] - WP_FS__SCRIPT_START_TIME ), 2 ) . ' ' .
|
134 |
-
<td><?php echo number_format( 100 * ( $log['end'] - WP_FS__SCRIPT_START_TIME ), 2 ) . ' ' .
|
135 |
</tr>
|
136 |
<?php endforeach ?>
|
137 |
</tbody>
|
36 |
|
37 |
$root_path_len = strlen( ABSPATH );
|
38 |
?>
|
39 |
+
<h1><?php fs_echo( 'API' ) ?></h1>
|
40 |
|
41 |
<h2><span>Total Time:</span><?php echo Freemius_Debug_Bar_Panel::total_time() ?></h2>
|
42 |
|
48 |
<thead>
|
49 |
<tr>
|
50 |
<th>#</th>
|
51 |
+
<th><?php fs_echo( 'Method' ) ?></th>
|
52 |
+
<th><?php fs_echo( 'Code' ) ?></th>
|
53 |
+
<th><?php fs_echo( 'Length' ) ?></th>
|
54 |
+
<th><?php fs_echo( 'Path' ) ?></th>
|
55 |
<?php if ( $show_body ) : ?>
|
56 |
+
<th><?php fs_echo( 'Body' ) ?></th>
|
57 |
<?php endif ?>
|
58 |
+
<th><?php fs_echo( 'Result' ) ?></th>
|
59 |
+
<th><?php fs_echo( 'Start' ) ?></th>
|
60 |
+
<th><?php fs_echo( 'End' ) ?></th>
|
61 |
</tr>
|
62 |
</thead>
|
63 |
<tbody>
|
66 |
<td><?php echo $log['id'] ?>.</td>
|
67 |
<td><?php echo $log['method'] ?></td>
|
68 |
<td><?php echo $log['code'] ?></td>
|
69 |
+
<td><?php echo number_format( 100 * $log['total'], 2 ) . ' ' . fs_text( 'ms' ) ?></td>
|
70 |
<td>
|
71 |
<?php
|
72 |
printf( '<a href="#" onclick="jQuery(this).parent().find(\'table\').toggle(); return false;">%s</a>',
|
130 |
?>
|
131 |
<pre<?php if ( $is_not_empty_result ) : ?> style="display: none"<?php endif ?>><code><?php echo esc_html( $result ) ?></code></pre>
|
132 |
</td>
|
133 |
+
<td><?php echo number_format( 100 * ( $log['start'] - WP_FS__SCRIPT_START_TIME ), 2 ) . ' ' . fs_text( 'ms' ) ?></td>
|
134 |
+
<td><?php echo number_format( 100 * ( $log['end'] - WP_FS__SCRIPT_START_TIME ), 2 ) . ' ' . fs_text( 'ms' ) ?></td>
|
135 |
</tr>
|
136 |
<?php endforeach ?>
|
137 |
</tbody>
|
freemius/templates/debug/logger.php
CHANGED
@@ -12,18 +12,18 @@
|
|
12 |
|
13 |
$log_book = FS_Logger::get_log();
|
14 |
?>
|
15 |
-
<h1><?php
|
16 |
|
17 |
<table class="widefat" style="font-size: 11px;">
|
18 |
<thead>
|
19 |
<tr>
|
20 |
<th>#</th>
|
21 |
-
<th><?php
|
22 |
-
<th><?php
|
23 |
-
<th><?php
|
24 |
-
<th><?php
|
25 |
-
<th><?php
|
26 |
-
<th><?php
|
27 |
</tr>
|
28 |
</thead>
|
29 |
<tbody>
|
@@ -59,7 +59,7 @@
|
|
59 |
echo substr( $log['file'], $logger->get_file() ) . ':' . $log['line'];
|
60 |
}
|
61 |
?></td>
|
62 |
-
<td><?php echo number_format( 100 * ( $log['timestamp'] - WP_FS__SCRIPT_START_TIME ), 2 ) . ' ' .
|
63 |
</tr>
|
64 |
<?php $i ++; endforeach ?>
|
65 |
</tbody>
|
12 |
|
13 |
$log_book = FS_Logger::get_log();
|
14 |
?>
|
15 |
+
<h1><?php fs_echo( 'Log' ) ?></h1>
|
16 |
|
17 |
<table class="widefat" style="font-size: 11px;">
|
18 |
<thead>
|
19 |
<tr>
|
20 |
<th>#</th>
|
21 |
+
<th><?php fs_echo( 'id' ) ?></th>
|
22 |
+
<th><?php fs_echo( 'type' ) ?></th>
|
23 |
+
<th><?php fs_echo( 'function' ) ?></th>
|
24 |
+
<th><?php fs_echo( 'message' ) ?></th>
|
25 |
+
<th><?php fs_echo( 'file' ) ?></th>
|
26 |
+
<th><?php fs_echo( 'timestamp' ) ?></th>
|
27 |
</tr>
|
28 |
</thead>
|
29 |
<tbody>
|
59 |
echo substr( $log['file'], $logger->get_file() ) . ':' . $log['line'];
|
60 |
}
|
61 |
?></td>
|
62 |
+
<td><?php echo number_format( 100 * ( $log['timestamp'] - WP_FS__SCRIPT_START_TIME ), 2 ) . ' ' . fs_text( 'ms' ) ?></td>
|
63 |
</tr>
|
64 |
<?php $i ++; endforeach ?>
|
65 |
</tbody>
|
freemius/templates/debug/plugins-themes-sync.php
CHANGED
@@ -14,31 +14,31 @@
|
|
14 |
$all_plugins = $fs_options->get_option( 'all_plugins' );
|
15 |
$all_themes = $fs_options->get_option( 'all_themes' );
|
16 |
?>
|
17 |
-
<h1><?php
|
18 |
<table class="widefat">
|
19 |
<thead>
|
20 |
<tr>
|
21 |
<th></th>
|
22 |
-
<th><?php
|
23 |
-
<th><?php
|
24 |
</tr>
|
25 |
</thead>
|
26 |
<tbody>
|
27 |
<?php if ( is_object( $all_plugins ) ) : ?>
|
28 |
<tr>
|
29 |
-
<td><?php
|
30 |
<td><?php echo count( $all_plugins->plugins ) ?></td>
|
31 |
<td><?php
|
32 |
if ( isset( $all_plugins->timestamp ) && is_numeric( $all_plugins->timestamp ) ) {
|
33 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $all_plugins->timestamp );
|
34 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
35 |
-
$diff . ' ' .
|
36 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $all_plugins->timestamp );
|
37 |
|
38 |
if ( WP_FS__SCRIPT_START_TIME < $all_plugins->timestamp ) {
|
39 |
-
printf(
|
40 |
} else {
|
41 |
-
printf(
|
42 |
}
|
43 |
}
|
44 |
?></td>
|
@@ -46,19 +46,19 @@
|
|
46 |
<?php endif ?>
|
47 |
<?php if ( is_object( $all_themes ) ) : ?>
|
48 |
<tr>
|
49 |
-
<td><?php
|
50 |
<td><?php echo count( $all_themes->themes ) ?></td>
|
51 |
<td><?php
|
52 |
if ( isset( $all_themes->timestamp ) && is_numeric( $all_themes->timestamp ) ) {
|
53 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $all_themes->timestamp );
|
54 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
55 |
-
$diff . ' ' .
|
56 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $all_themes->timestamp );
|
57 |
|
58 |
if ( WP_FS__SCRIPT_START_TIME < $all_themes->timestamp ) {
|
59 |
-
printf(
|
60 |
} else {
|
61 |
-
printf(
|
62 |
}
|
63 |
}
|
64 |
?></td>
|
14 |
$all_plugins = $fs_options->get_option( 'all_plugins' );
|
15 |
$all_themes = $fs_options->get_option( 'all_themes' );
|
16 |
?>
|
17 |
+
<h1><?php fs_echo( 'plugins-themes-sync' ) ?></h1>
|
18 |
<table class="widefat">
|
19 |
<thead>
|
20 |
<tr>
|
21 |
<th></th>
|
22 |
+
<th><?php fs_echo( 'total' ) ?></th>
|
23 |
+
<th><?php fs_echo( 'Last' ) ?></th>
|
24 |
</tr>
|
25 |
</thead>
|
26 |
<tbody>
|
27 |
<?php if ( is_object( $all_plugins ) ) : ?>
|
28 |
<tr>
|
29 |
+
<td><?php fs_echo( 'plugins' ) ?></td>
|
30 |
<td><?php echo count( $all_plugins->plugins ) ?></td>
|
31 |
<td><?php
|
32 |
if ( isset( $all_plugins->timestamp ) && is_numeric( $all_plugins->timestamp ) ) {
|
33 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $all_plugins->timestamp );
|
34 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
35 |
+
$diff . ' ' . fs_text( 'sec' ) :
|
36 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $all_plugins->timestamp );
|
37 |
|
38 |
if ( WP_FS__SCRIPT_START_TIME < $all_plugins->timestamp ) {
|
39 |
+
printf( fs_text( 'in-x' ), $human_diff );
|
40 |
} else {
|
41 |
+
printf( fs_text( 'x-ago' ), $human_diff );
|
42 |
}
|
43 |
}
|
44 |
?></td>
|
46 |
<?php endif ?>
|
47 |
<?php if ( is_object( $all_themes ) ) : ?>
|
48 |
<tr>
|
49 |
+
<td><?php fs_echo( 'themes' ) ?></td>
|
50 |
<td><?php echo count( $all_themes->themes ) ?></td>
|
51 |
<td><?php
|
52 |
if ( isset( $all_themes->timestamp ) && is_numeric( $all_themes->timestamp ) ) {
|
53 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $all_themes->timestamp );
|
54 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
55 |
+
$diff . ' ' . fs_text( 'sec' ) :
|
56 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $all_themes->timestamp );
|
57 |
|
58 |
if ( WP_FS__SCRIPT_START_TIME < $all_themes->timestamp ) {
|
59 |
+
printf( fs_text( 'in-x' ), $human_diff );
|
60 |
} else {
|
61 |
+
printf( fs_text( 'x-ago' ), $human_diff );
|
62 |
}
|
63 |
}
|
64 |
?></td>
|
freemius/templates/debug/scheduled-crons.php
CHANGED
@@ -54,15 +54,15 @@
|
|
54 |
}
|
55 |
}
|
56 |
?>
|
57 |
-
<h1><?php
|
58 |
<table class="widefat">
|
59 |
<thead>
|
60 |
<tr>
|
61 |
-
<th><?php
|
62 |
-
<th><?php
|
63 |
-
<th><?php
|
64 |
-
<th><?php
|
65 |
-
<th><?php
|
66 |
</tr>
|
67 |
</thead>
|
68 |
<tbody>
|
@@ -76,13 +76,13 @@
|
|
76 |
if ( is_numeric( $cron['last'] ) ) {
|
77 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $cron['last'] );
|
78 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
79 |
-
$diff . ' ' .
|
80 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $cron['last'] );
|
81 |
|
82 |
if ( WP_FS__SCRIPT_START_TIME < $cron['last'] ) {
|
83 |
-
printf(
|
84 |
} else {
|
85 |
-
printf(
|
86 |
}
|
87 |
|
88 |
// echo ' ' . $cron['last'];
|
@@ -92,13 +92,13 @@
|
|
92 |
if ( is_numeric( $cron['next'] ) ) {
|
93 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $cron['next'] );
|
94 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
95 |
-
$diff . ' ' .
|
96 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $cron['next'] );
|
97 |
|
98 |
if ( WP_FS__SCRIPT_START_TIME < $cron['next'] ) {
|
99 |
-
printf(
|
100 |
} else {
|
101 |
-
printf(
|
102 |
}
|
103 |
}
|
104 |
?></td>
|
54 |
}
|
55 |
}
|
56 |
?>
|
57 |
+
<h1><?php fs_echo( 'scheduled-crons' ) ?></h1>
|
58 |
<table class="widefat">
|
59 |
<thead>
|
60 |
<tr>
|
61 |
+
<th><?php fs_echo( 'slug' ) ?></th>
|
62 |
+
<th><?php fs_echo( 'plugin' ) ?></th>
|
63 |
+
<th><?php fs_echo( 'type' ) ?></th>
|
64 |
+
<th><?php fs_echo( 'Last' ) ?></th>
|
65 |
+
<th><?php fs_echo( 'Next' ) ?></th>
|
66 |
</tr>
|
67 |
</thead>
|
68 |
<tbody>
|
76 |
if ( is_numeric( $cron['last'] ) ) {
|
77 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $cron['last'] );
|
78 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
79 |
+
$diff . ' ' . fs_text( 'sec' ) :
|
80 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $cron['last'] );
|
81 |
|
82 |
if ( WP_FS__SCRIPT_START_TIME < $cron['last'] ) {
|
83 |
+
printf( fs_text( 'in-x' ), $human_diff );
|
84 |
} else {
|
85 |
+
printf( fs_text( 'x-ago' ), $human_diff );
|
86 |
}
|
87 |
|
88 |
// echo ' ' . $cron['last'];
|
92 |
if ( is_numeric( $cron['next'] ) ) {
|
93 |
$diff = abs( WP_FS__SCRIPT_START_TIME - $cron['next'] );
|
94 |
$human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
|
95 |
+
$diff . ' ' . fs_text( 'sec' ) :
|
96 |
human_time_diff( WP_FS__SCRIPT_START_TIME, $cron['next'] );
|
97 |
|
98 |
if ( WP_FS__SCRIPT_START_TIME < $cron['next'] ) {
|
99 |
+
printf( fs_text( 'in-x' ), $human_diff );
|
100 |
} else {
|
101 |
+
printf( fs_text( 'x-ago' ), $human_diff );
|
102 |
}
|
103 |
}
|
104 |
?></td>
|
freemius/templates/forms/deactivation/contact.php
CHANGED
@@ -16,8 +16,8 @@
|
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
-
echo
|
20 |
. sprintf(" <a href='%s' class='button button-small button-primary'>%s</a>",
|
21 |
$fs->contact_url( 'technical_support' ),
|
22 |
-
|
23 |
);
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
+
echo fs_text( 'contact-support-before-deactivation', $slug )
|
20 |
. sprintf(" <a href='%s' class='button button-small button-primary'>%s</a>",
|
21 |
$fs->contact_url( 'technical_support' ),
|
22 |
+
fs_text( 'contact-support', $slug )
|
23 |
);
|
freemius/templates/forms/deactivation/form.php
CHANGED
@@ -53,7 +53,7 @@ HTML;
|
|
53 |
if ( $is_anonymous ) {
|
54 |
$anonymous_feedback_checkbox_html =
|
55 |
'<label class="anonymous-feedback-label"><input type="checkbox" class="anonymous-feedback-checkbox"> '
|
56 |
-
.
|
57 |
. '</label>';
|
58 |
} else {
|
59 |
$anonymous_feedback_checkbox_html = '';
|
@@ -68,16 +68,16 @@ HTML;
|
|
68 |
'<div class="fs-modal fs-modal-deactivation-feedback<?php echo empty( $confirmation_message ) ? ' no-confirmation-message' : ''; ?>">'
|
69 |
+ ' <div class="fs-modal-dialog">'
|
70 |
+ ' <div class="fs-modal-header">'
|
71 |
-
+ ' <h4><?php
|
72 |
+ ' </div>'
|
73 |
+ ' <div class="fs-modal-body">'
|
74 |
+ ' <div class="fs-modal-panel" data-panel-id="confirm"><p><?php echo $confirmation_message; ?></p></div>'
|
75 |
-
+ ' <div class="fs-modal-panel active" data-panel-id="reasons"><h3><strong><?php
|
76 |
+ ' </div>'
|
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>',
|
@@ -167,11 +167,12 @@ HTML;
|
|
167 |
url : ajaxurl,
|
168 |
method : 'POST',
|
169 |
data : {
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
|
|
175 |
},
|
176 |
beforeSend: function () {
|
177 |
_parent.find('.fs-modal-footer .button').addClass('disabled');
|
@@ -211,7 +212,7 @@ HTML;
|
|
211 |
|
212 |
$modal.find('.reason-input').remove();
|
213 |
$modal.find( '.internal-message' ).hide();
|
214 |
-
$modal.find('.button-deactivate').text('<?php printf(
|
215 |
|
216 |
enableDeactivateButton();
|
217 |
|
@@ -228,7 +229,7 @@ HTML;
|
|
228 |
_parent.find('input, textarea').attr('placeholder', inputPlaceholder).focus();
|
229 |
|
230 |
if (isOtherReasonSelected()) {
|
231 |
-
showMessage('<?php printf(
|
232 |
disableDeactivateButton();
|
233 |
}
|
234 |
}
|
@@ -348,9 +349,9 @@ HTML;
|
|
348 |
|
349 |
// Reset the deactivate button's text.
|
350 |
if ('confirm' === getCurrentPanel()) {
|
351 |
-
$deactivateButton.text('<?php printf(
|
352 |
} else {
|
353 |
-
$deactivateButton.text('<?php printf(
|
354 |
}
|
355 |
}
|
356 |
|
53 |
if ( $is_anonymous ) {
|
54 |
$anonymous_feedback_checkbox_html =
|
55 |
'<label class="anonymous-feedback-label"><input type="checkbox" class="anonymous-feedback-checkbox"> '
|
56 |
+
. fs_text( 'anonymous-feedback', $slug )
|
57 |
. '</label>';
|
58 |
} else {
|
59 |
$anonymous_feedback_checkbox_html = '';
|
68 |
'<div class="fs-modal fs-modal-deactivation-feedback<?php echo empty( $confirmation_message ) ? ' no-confirmation-message' : ''; ?>">'
|
69 |
+ ' <div class="fs-modal-dialog">'
|
70 |
+ ' <div class="fs-modal-header">'
|
71 |
+
+ ' <h4><?php fs_esc_attr_echo('quick-feedback' , $slug) ?></h4>'
|
72 |
+ ' </div>'
|
73 |
+ ' <div class="fs-modal-body">'
|
74 |
+ ' <div class="fs-modal-panel" data-panel-id="confirm"><p><?php echo $confirmation_message; ?></p></div>'
|
75 |
+
+ ' <div class="fs-modal-panel active" data-panel-id="reasons"><h3><strong><?php fs_esc_attr_echo( 'deactivation-share-reason' , $slug ) ?>:</strong></h3><ul id="reasons-list">' + reasonsHtml + '</ul></div>'
|
76 |
+ ' </div>'
|
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 fs_echo( 'cancel' , $slug ) ?></a>'
|
81 |
+ ' </div>'
|
82 |
+ ' </div>'
|
83 |
+ '</div>',
|
167 |
url : ajaxurl,
|
168 |
method : 'POST',
|
169 |
data : {
|
170 |
+
action : '<?php echo $fs->get_ajax_action( 'submit_uninstall_reason' ) ?>',
|
171 |
+
security : '<?php echo $fs->get_ajax_security( 'submit_uninstall_reason' ) ?>',
|
172 |
+
slug : '<?php echo $slug ?>',
|
173 |
+
reason_id : $radio.val(),
|
174 |
+
reason_info : userReason,
|
175 |
+
is_anonymous: isAnonymousFeedback()
|
176 |
},
|
177 |
beforeSend: function () {
|
178 |
_parent.find('.fs-modal-footer .button').addClass('disabled');
|
212 |
|
213 |
$modal.find('.reason-input').remove();
|
214 |
$modal.find( '.internal-message' ).hide();
|
215 |
+
$modal.find('.button-deactivate').text('<?php printf( fs_text( 'deactivation-modal-button-submit' , $slug ) ); ?>');
|
216 |
|
217 |
enableDeactivateButton();
|
218 |
|
229 |
_parent.find('input, textarea').attr('placeholder', inputPlaceholder).focus();
|
230 |
|
231 |
if (isOtherReasonSelected()) {
|
232 |
+
showMessage('<?php printf( fs_text( 'ask-for-reason-message' , $slug ) ); ?>');
|
233 |
disableDeactivateButton();
|
234 |
}
|
235 |
}
|
349 |
|
350 |
// Reset the deactivate button's text.
|
351 |
if ('confirm' === getCurrentPanel()) {
|
352 |
+
$deactivateButton.text('<?php printf( fs_text( 'deactivation-modal-button-confirm' , $slug ) ); ?>');
|
353 |
} else {
|
354 |
+
$deactivateButton.text('<?php printf( fs_text( 'skip-deactivate' , $slug ) ); ?>');
|
355 |
}
|
356 |
}
|
357 |
|
freemius/templates/forms/deactivation/retry-skip.php
CHANGED
@@ -17,8 +17,8 @@
|
|
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(
|
21 |
-
$use_plugin_anonymously_text =
|
22 |
|
23 |
-
echo sprintf(
|
24 |
. " <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>";
|
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_text( 'skip', $slug ) );
|
21 |
+
$use_plugin_anonymously_text = fs_text( 'click-here-to-use-plugin-anonymously', $slug );
|
22 |
|
23 |
+
echo sprintf( fs_text( 'dont-have-to-share-any-data', $slug ), "<a href='{$skip_url}'>{$skip_text}</a>" )
|
24 |
. " <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>";
|
freemius/templates/forms/license-activation.php
CHANGED
@@ -16,11 +16,11 @@
|
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
-
$cant_find_license_key_text =
|
20 |
-
$message_above_input_field =
|
21 |
$message_below_input_field = '';
|
22 |
|
23 |
-
$header_title =
|
24 |
|
25 |
if ( $fs->is_registered() ) {
|
26 |
$activate_button_text = $header_title;
|
@@ -32,12 +32,12 @@
|
|
32 |
|
33 |
$freemius_link = '<a href="' . $freemius_site_url . '" target="_blank" tabindex="0">freemius.com</a>';
|
34 |
|
35 |
-
$message_below_input_field = sprintf(
|
36 |
|
37 |
-
$activate_button_text =
|
38 |
}
|
39 |
|
40 |
-
$license_key_text =
|
41 |
|
42 |
/**
|
43 |
* IMPORTANT:
|
@@ -133,7 +133,8 @@ HTML;
|
|
133 |
url: ajaxurl,
|
134 |
method: 'POST',
|
135 |
data: {
|
136 |
-
action : '
|
|
|
137 |
slug : pluginSlug,
|
138 |
license_key: licenseKey
|
139 |
},
|
@@ -148,7 +149,7 @@ HTML;
|
|
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();
|
153 |
}
|
154 |
}
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
+
$cant_find_license_key_text = fs_text( 'cant-find-license-key', $slug );
|
20 |
+
$message_above_input_field = fs_text( 'activate-license-message', $slug );
|
21 |
$message_below_input_field = '';
|
22 |
|
23 |
+
$header_title = fs_text( $fs->is_free_plan() ? 'activate-license' : 'update-license', $slug );
|
24 |
|
25 |
if ( $fs->is_registered() ) {
|
26 |
$activate_button_text = $header_title;
|
32 |
|
33 |
$freemius_link = '<a href="' . $freemius_site_url . '" target="_blank" tabindex="0">freemius.com</a>';
|
34 |
|
35 |
+
$message_below_input_field = sprintf( fs_text( 'license-sync-disclaimer', $slug ), $freemius_link );
|
36 |
|
37 |
+
$activate_button_text = fs_text( 'agree-activate-license', $slug );
|
38 |
}
|
39 |
|
40 |
+
$license_key_text = fs_text( 'license-key' , $slug );
|
41 |
|
42 |
/**
|
43 |
* IMPORTANT:
|
133 |
url: ajaxurl,
|
134 |
method: 'POST',
|
135 |
data: {
|
136 |
+
action : '<?php echo $fs->get_ajax_action( 'activate_license' ) ?>',
|
137 |
+
security : '<?php echo $fs->get_ajax_security( 'activate_license' ) ?>',
|
138 |
slug : pluginSlug,
|
139 |
license_key: licenseKey
|
140 |
},
|
149 |
// Redirect to the "Account" page and sync the license.
|
150 |
window.location.href = resultObj.next_page;
|
151 |
} else {
|
152 |
+
showError( resultObj.error.message ? resultObj.error.message : resultObj.error );
|
153 |
resetActivateLicenseButton();
|
154 |
}
|
155 |
}
|
freemius/templates/forms/optout.php
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
|
13 |
/**
|
14 |
* @var array $VARS
|
|
|
15 |
*/
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
@@ -21,12 +22,12 @@
|
|
21 |
'allow_tracking';
|
22 |
|
23 |
$plugin_title = "<strong>{$fs->get_plugin()->title}</strong>";
|
24 |
-
$opt_out_button_text =
|
25 |
// @todo Change 'plugin' with module type when migrating with 1.2.2 (themes version).
|
26 |
-
$opt_out_message_appreciation = sprintf(
|
27 |
-
$opt_out_message_usage_tracking = sprintf(
|
28 |
$opt_out_message_clicking_opt_out = sprintf(
|
29 |
-
|
30 |
$plugin_title,
|
31 |
sprintf(
|
32 |
'<a href="%s" target="_blank">%s</a>',
|
@@ -71,16 +72,14 @@ HTML;
|
|
71 |
+ ' </div>'
|
72 |
+ ' <div class="fs-modal-footer">'
|
73 |
+ ' <button class="button button-secondary button-opt-out" tabindex="1"><?php echo esc_js($opt_out_button_text) ?></button>'
|
74 |
-
+ ' <button class="button button-primary button-close" tabindex="2"><?php
|
75 |
+ ' </div>'
|
76 |
+ ' </div>'
|
77 |
+ '</div>',
|
78 |
$modal = $( modalHtml ),
|
79 |
$adminNotice = $( <?php echo json_encode( $admin_notice_html ) ?> ),
|
80 |
action = '<?php echo $action ?>',
|
81 |
-
|
82 |
-
optInActionTag = '<?php echo $fs->get_action_tag( 'allow_tracking' ) ?>',
|
83 |
-
$actionLink = $( 'span.opt-in-or-opt-out.<?php echo $VARS['slug'] ?> a' ),
|
84 |
$optOutButton = $modal.find( '.button-opt-out' ),
|
85 |
$optOutErrorMessage = $modal.find( '.opt-out-error-message' ),
|
86 |
pluginSlug = '<?php echo $slug ?>';
|
@@ -134,7 +133,7 @@ HTML;
|
|
134 |
|
135 |
function resetOptOutButton() {
|
136 |
enableOptOutButton();
|
137 |
-
$optOutButton.text( <?php echo json_encode($opt_out_button_text) ?> );
|
138 |
}
|
139 |
|
140 |
function resetModal() {
|
@@ -155,12 +154,19 @@ HTML;
|
|
155 |
url: ajaxurl,
|
156 |
method: 'POST',
|
157 |
data: {
|
158 |
-
action: ( 'stop_tracking' == action ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
slug : pluginSlug
|
160 |
},
|
161 |
beforeSend: function() {
|
162 |
if ( 'opt-in' == action ) {
|
163 |
-
$actionLink.text( <?php fs_json_encode_echo( 'opting-in', $slug ) ?> )
|
164 |
} else {
|
165 |
$optOutButton.text( <?php fs_json_encode_echo( 'opting-out', $slug ) ?> );
|
166 |
}
|
12 |
|
13 |
/**
|
14 |
* @var array $VARS
|
15 |
+
* @var Freemius $fs
|
16 |
*/
|
17 |
$slug = $VARS['slug'];
|
18 |
$fs = freemius( $slug );
|
22 |
'allow_tracking';
|
23 |
|
24 |
$plugin_title = "<strong>{$fs->get_plugin()->title}</strong>";
|
25 |
+
$opt_out_button_text = fs_text( 'opt-out', $slug );
|
26 |
// @todo Change 'plugin' with module type when migrating with 1.2.2 (themes version).
|
27 |
+
$opt_out_message_appreciation = sprintf( fs_text( 'opt-out-message-appreciation', $slug ), 'plugin' );
|
28 |
+
$opt_out_message_usage_tracking = sprintf( fs_text( 'opt-out-message-usage-tracking', $slug ), $plugin_title );
|
29 |
$opt_out_message_clicking_opt_out = sprintf(
|
30 |
+
fs_text( 'opt-out-message-clicking-opt-out', $slug ),
|
31 |
$plugin_title,
|
32 |
sprintf(
|
33 |
'<a href="%s" target="_blank">%s</a>',
|
72 |
+ ' </div>'
|
73 |
+ ' <div class="fs-modal-footer">'
|
74 |
+ ' <button class="button button-secondary button-opt-out" tabindex="1"><?php echo esc_js($opt_out_button_text) ?></button>'
|
75 |
+
+ ' <button class="button button-primary button-close" tabindex="2"><?php fs_esc_js_echo( 'opt-out-cancel', $slug ) ?></button>'
|
76 |
+ ' </div>'
|
77 |
+ ' </div>'
|
78 |
+ '</div>',
|
79 |
$modal = $( modalHtml ),
|
80 |
$adminNotice = $( <?php echo json_encode( $admin_notice_html ) ?> ),
|
81 |
action = '<?php echo $action ?>',
|
82 |
+
$actionLink = $( 'span.opt-in-or-opt-out.<?php echo $slug ?> a' ),
|
|
|
|
|
83 |
$optOutButton = $modal.find( '.button-opt-out' ),
|
84 |
$optOutErrorMessage = $modal.find( '.opt-out-error-message' ),
|
85 |
pluginSlug = '<?php echo $slug ?>';
|
133 |
|
134 |
function resetOptOutButton() {
|
135 |
enableOptOutButton();
|
136 |
+
$optOutButton.text( <?php echo json_encode( $opt_out_button_text ) ?> );
|
137 |
}
|
138 |
|
139 |
function resetModal() {
|
154 |
url: ajaxurl,
|
155 |
method: 'POST',
|
156 |
data: {
|
157 |
+
action : ( 'stop_tracking' == action ?
|
158 |
+
'<?php echo $fs->get_ajax_action( 'stop_tracking' ) ?>' :
|
159 |
+
'<?php echo $fs->get_ajax_action( 'allow_tracking' ) ?>'
|
160 |
+
),
|
161 |
+
security : ( 'stop_tracking' == action ?
|
162 |
+
'<?php echo $fs->get_ajax_security( 'stop_tracking' ) ?>' :
|
163 |
+
'<?php echo $fs->get_ajax_security( 'allow_tracking' ) ?>'
|
164 |
+
),
|
165 |
slug : pluginSlug
|
166 |
},
|
167 |
beforeSend: function() {
|
168 |
if ( 'opt-in' == action ) {
|
169 |
+
$actionLink.text( <?php fs_json_encode_echo( 'opting-in', $slug ) ?> );
|
170 |
} else {
|
171 |
$optOutButton.text( <?php fs_json_encode_echo( 'opting-out', $slug ) ?> );
|
172 |
}
|
freemius/templates/forms/resend-key.php
CHANGED
@@ -16,10 +16,10 @@
|
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
-
$send_button_text =
|
20 |
-
$cancel_button_text =
|
21 |
$email_address_placeholder = fs_esc_attr( 'email-address', $slug );
|
22 |
-
$other_text =
|
23 |
|
24 |
$is_freemium = $fs->is_freemium();
|
25 |
|
@@ -52,7 +52,7 @@ HTML;
|
|
52 |
HTML;
|
53 |
}
|
54 |
|
55 |
-
$message_above_input_field = esc_html(
|
56 |
$modal_content_html = <<< HTML
|
57 |
<div class="notice notice-error inline license-resend-message"><p></p></div>
|
58 |
<p>{$message_above_input_field}</p>
|
@@ -142,7 +142,8 @@ HTML;
|
|
142 |
url : ajaxurl,
|
143 |
method : 'POST',
|
144 |
data : {
|
145 |
-
action: '<?php echo $fs->
|
|
|
146 |
slug : moduleSlug,
|
147 |
email : email
|
148 |
},
|
@@ -226,10 +227,6 @@ HTML;
|
|
226 |
$sendButton.toggleClass('disabled', !( -1 < getEmail().indexOf('@') ));
|
227 |
}
|
228 |
|
229 |
-
function enableButton() {
|
230 |
-
$sendButton.removeClass('disabled');
|
231 |
-
}
|
232 |
-
|
233 |
function disableButton() {
|
234 |
$sendButton.addClass('disabled');
|
235 |
}
|
16 |
$slug = $VARS['slug'];
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
+
$send_button_text = fs_text( 'send-license-key', $slug );
|
20 |
+
$cancel_button_text = fs_text( 'cancel', $slug );
|
21 |
$email_address_placeholder = fs_esc_attr( 'email-address', $slug );
|
22 |
+
$other_text = fs_text( 'reason-other', $slug );
|
23 |
|
24 |
$is_freemium = $fs->is_freemium();
|
25 |
|
52 |
HTML;
|
53 |
}
|
54 |
|
55 |
+
$message_above_input_field = esc_html( fs_text( 'ask-for-upgrade-email-address', $slug ) );
|
56 |
$modal_content_html = <<< HTML
|
57 |
<div class="notice notice-error inline license-resend-message"><p></p></div>
|
58 |
<p>{$message_above_input_field}</p>
|
142 |
url : ajaxurl,
|
143 |
method : 'POST',
|
144 |
data : {
|
145 |
+
action : '<?php echo $fs->get_ajax_action( 'resend_license_key' ) ?>',
|
146 |
+
security : '<?php echo $fs->get_ajax_security( 'resend_license_key' ) ?>',
|
147 |
slug : moduleSlug,
|
148 |
email : email
|
149 |
},
|
227 |
$sendButton.toggleClass('disabled', !( -1 < getEmail().indexOf('@') ));
|
228 |
}
|
229 |
|
|
|
|
|
|
|
|
|
230 |
function disableButton() {
|
231 |
$sendButton.addClass('disabled');
|
232 |
}
|
freemius/templates/forms/trial-start.php
CHANGED
@@ -17,12 +17,12 @@
|
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
$message_header = sprintf(
|
20 |
-
|
21 |
'<span class="var-trial_period"></span>',
|
22 |
'<span class="var-plan_title"></span>'
|
23 |
);
|
24 |
$message_content = sprintf(
|
25 |
-
|
26 |
sprintf(
|
27 |
'<a href="%s" target="_blank">%s</a>',
|
28 |
'https://freemius.com',
|
@@ -80,8 +80,8 @@ HTML;
|
|
80 |
url : ajaxurl,
|
81 |
method : 'POST',
|
82 |
data : {
|
83 |
-
action : '<?php echo $fs->
|
84 |
-
security: '<?php echo
|
85 |
slug : moduleSlug,
|
86 |
trial : trialData
|
87 |
},
|
17 |
$fs = freemius( $slug );
|
18 |
|
19 |
$message_header = sprintf(
|
20 |
+
fs_text( '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_text( 'start-trial-prompt-message', $slug ),
|
26 |
sprintf(
|
27 |
'<a href="%s" target="_blank">%s</a>',
|
28 |
'https://freemius.com',
|
80 |
url : ajaxurl,
|
81 |
method : 'POST',
|
82 |
data : {
|
83 |
+
action : '<?php echo $fs->get_ajax_action( 'start_trial' ) ?>',
|
84 |
+
security: '<?php echo $fs->get_ajax_security( 'start_trial' ) ?>',
|
85 |
slug : moduleSlug,
|
86 |
trial : trialData
|
87 |
},
|
freemius/templates/plugin-info/description.php
CHANGED
@@ -52,7 +52,7 @@
|
|
52 |
<?php if ( ! empty( $plugin->info->screenshots ) ) : ?>
|
53 |
<?php $screenshots = $plugin->info->screenshots ?>
|
54 |
<div class="fs-screenshots clearfix">
|
55 |
-
<h2><?php
|
56 |
<ul>
|
57 |
<?php $i = 0;
|
58 |
foreach ( $screenshots as $s => $url ) : ?>
|
@@ -68,7 +68,7 @@
|
|
68 |
}
|
69 |
</style>
|
70 |
<a href="<?php echo $url ?>"
|
71 |
-
title="<?php printf(
|
72 |
class="fs-screenshot-<?php echo $i ?>"></a>
|
73 |
</li>
|
74 |
<?php $i ++; endforeach ?>
|
52 |
<?php if ( ! empty( $plugin->info->screenshots ) ) : ?>
|
53 |
<?php $screenshots = $plugin->info->screenshots ?>
|
54 |
<div class="fs-screenshots clearfix">
|
55 |
+
<h2><?php fs_echo( 'screenshots', $plugin->slug ) ?></h2>
|
56 |
<ul>
|
57 |
<?php $i = 0;
|
58 |
foreach ( $screenshots as $s => $url ) : ?>
|
68 |
}
|
69 |
</style>
|
70 |
<a href="<?php echo $url ?>"
|
71 |
+
title="<?php printf( fs_text( 'view-full-size-x', $plugin->slug ), $i ) ?>"
|
72 |
class="fs-screenshot-<?php echo $i ?>"></a>
|
73 |
</li>
|
74 |
<?php $i ++; endforeach ?>
|
freemius/templates/plugin-info/features.php
CHANGED
@@ -38,7 +38,7 @@
|
|
38 |
if ( ! isset( $features_plan_map['support'] ) ) {
|
39 |
$support_feature = new stdClass();
|
40 |
$support_feature->id = 'support';
|
41 |
-
$support_feature->title =
|
42 |
$features_plan_map[ $support_feature->id ] = array( 'feature' => $support_feature, 'plans' => array() );
|
43 |
} else {
|
44 |
$support_feature = $features_plan_map['support'];
|
@@ -51,7 +51,7 @@
|
|
51 |
// Add updates as a feature for all plans.
|
52 |
$updates_feature = new stdClass();
|
53 |
$updates_feature->id = 'updates';
|
54 |
-
$updates_feature->title =
|
55 |
$features_plan_map[ $updates_feature->id ] = array( 'feature' => $updates_feature, 'plans' => array() );
|
56 |
foreach ( $plans as $plan ) {
|
57 |
$features_plan_map[ $updates_feature->id ]['plans'][ $plan->id ] = $updates_feature;
|
38 |
if ( ! isset( $features_plan_map['support'] ) ) {
|
39 |
$support_feature = new stdClass();
|
40 |
$support_feature->id = 'support';
|
41 |
+
$support_feature->title = fs_text( 'Support', $plugin->slug );
|
42 |
$features_plan_map[ $support_feature->id ] = array( 'feature' => $support_feature, 'plans' => array() );
|
43 |
} else {
|
44 |
$support_feature = $features_plan_map['support'];
|
51 |
// Add updates as a feature for all plans.
|
52 |
$updates_feature = new stdClass();
|
53 |
$updates_feature->id = 'updates';
|
54 |
+
$updates_feature->title = fs_text( 'unlimited-updates', $plugin->slug );
|
55 |
$features_plan_map[ $updates_feature->id ] = array( 'feature' => $updates_feature, 'plans' => array() );
|
56 |
foreach ( $plans as $plan ) {
|
57 |
$features_plan_map[ $updates_feature->id ]['plans'][ $plan->id ] = $updates_feature;
|
freemius/templates/plugin-info/screenshots.php
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
$url = 'http' . ( WP_FS__IS_HTTPS ? 's' : '' ) . ':' . $url; ?>
|
29 |
<li>
|
30 |
<a href="<?php echo $url ?>"
|
31 |
-
title="<?php printf(
|
32 |
src="<?php echo $url ?>"></a>
|
33 |
</li>
|
34 |
<?php $i ++; endforeach ?>
|
28 |
$url = 'http' . ( WP_FS__IS_HTTPS ? 's' : '' ) . ':' . $url; ?>
|
29 |
<li>
|
30 |
<a href="<?php echo $url ?>"
|
31 |
+
title="<?php printf( fs_text( 'view-full-size-x', $plugin->slug ), $i ) ?>"><img
|
32 |
src="<?php echo $url ?>"></a>
|
33 |
</li>
|
34 |
<?php $i ++; endforeach ?>
|
popups.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
* @socialpopup
|
12 |
* Plugin Name: Popups - WordPress Popup
|
13 |
* Plugin URI: http://www.timersys.com/free-plugins/social-popup/
|
14 |
-
* Version: 1.7.
|
15 |
* Description: Most complete free Popups plugin, scroll triggered popups, compatible with social networks, Gravity Forms, Ninja Forms, Contact form 7, Mailpoet, Mailchimp for WP, Postmatic, etc
|
16 |
* Author: Damian Logghe
|
17 |
* Author URI: https://timersys.com
|
@@ -83,7 +83,7 @@ pop_fs()->add_filter('connect_message_on_update', 'pop_fs_custom_connect_message
|
|
83 |
* Public-Facing Functionality
|
84 |
*----------------------------------------------------------------------------*/
|
85 |
|
86 |
-
define( 'SPU_VERSION' , '1.7.
|
87 |
define( 'SPU_PLUGIN_DIR' , plugin_dir_path(__FILE__) );
|
88 |
define( 'SPU_PLUGIN_URL' , plugin_dir_url(__FILE__) );
|
89 |
define( 'SPU_PLUGIN_HOOK' , basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
|
11 |
* @socialpopup
|
12 |
* Plugin Name: Popups - WordPress Popup
|
13 |
* Plugin URI: http://www.timersys.com/free-plugins/social-popup/
|
14 |
+
* Version: 1.7.3
|
15 |
* Description: Most complete free Popups plugin, scroll triggered popups, compatible with social networks, Gravity Forms, Ninja Forms, Contact form 7, Mailpoet, Mailchimp for WP, Postmatic, etc
|
16 |
* Author: Damian Logghe
|
17 |
* Author URI: https://timersys.com
|
83 |
* Public-Facing Functionality
|
84 |
*----------------------------------------------------------------------------*/
|
85 |
|
86 |
+
define( 'SPU_VERSION' , '1.7.3' );
|
87 |
define( 'SPU_PLUGIN_DIR' , plugin_dir_path(__FILE__) );
|
88 |
define( 'SPU_PLUGIN_URL' , plugin_dir_url(__FILE__) );
|
89 |
define( 'SPU_PLUGIN_HOOK' , basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
|
public/class-social-popup.php
CHANGED
@@ -399,6 +399,13 @@ class SocialPopup {
|
|
399 |
return $spu_ids;
|
400 |
}
|
401 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
return $wpdb->get_results( "SELECT ID, post_content, MAX(CASE WHEN pm1.meta_key = 'spu_rules' then pm1.meta_value ELSE NULL END) as spu_rules,
|
403 |
MAX(CASE WHEN pm1.meta_key = 'spu_ab_parent' then pm1.meta_value ELSE NULL END) as spu_ab_parent
|
404 |
FROM $wpdb->posts p LEFT JOIN $wpdb->postmeta pm1 ON ( pm1.post_id = p.ID) WHERE post_type='spucpt' AND post_status='publish' GROUP BY p.ID");
|
@@ -700,6 +707,45 @@ class SocialPopup {
|
|
700 |
}
|
701 |
|
702 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
703 |
/**
|
704 |
* Return popups for current language
|
705 |
* @return bool | array of ids
|
399 |
return $spu_ids;
|
400 |
}
|
401 |
}
|
402 |
+
// IF polylang is active and spucpt is translated get correct ids for language
|
403 |
+
if( function_exists('pll_current_language') ) {
|
404 |
+
$spu_ids = $this->get_polylang_ids();
|
405 |
+
if(!empty($spu_ids)) {
|
406 |
+
return $spu_ids;
|
407 |
+
}
|
408 |
+
}
|
409 |
return $wpdb->get_results( "SELECT ID, post_content, MAX(CASE WHEN pm1.meta_key = 'spu_rules' then pm1.meta_value ELSE NULL END) as spu_rules,
|
410 |
MAX(CASE WHEN pm1.meta_key = 'spu_ab_parent' then pm1.meta_value ELSE NULL END) as spu_ab_parent
|
411 |
FROM $wpdb->posts p LEFT JOIN $wpdb->postmeta pm1 ON ( pm1.post_id = p.ID) WHERE post_type='spucpt' AND post_status='publish' GROUP BY p.ID");
|
707 |
}
|
708 |
|
709 |
|
710 |
+
/**
|
711 |
+
* Return popups for current language
|
712 |
+
* @return bool | array of ids
|
713 |
+
*/
|
714 |
+
protected function get_polylang_ids( ) {
|
715 |
+
global $wpdb;
|
716 |
+
|
717 |
+
$sql = "SELECT description
|
718 |
+
FROM $wpdb->posts p
|
719 |
+
LEFT JOIN $wpdb->term_relationships as tr ON p.ID = tr.object_id
|
720 |
+
LEFT JOIN $wpdb->term_taxonomy as tt ON tt.term_taxonomy_id = tr.term_taxonomy_id
|
721 |
+
WHERE post_type='spucpt' AND post_status='publish' AND tt.taxonomy = 'post_translations'
|
722 |
+
GROUP BY p.ID";
|
723 |
+
|
724 |
+
$ids = array();
|
725 |
+
$popups = $wpdb->get_results( $sql );
|
726 |
+
if( !empty($popups) ) {
|
727 |
+
$current = pll_current_language();
|
728 |
+
foreach ($popups as $p) {
|
729 |
+
$langs = unserialize($p->description);
|
730 |
+
|
731 |
+
if( isset($langs[$current]) )
|
732 |
+
$ids[] = $langs[$current];
|
733 |
+
}
|
734 |
+
}
|
735 |
+
|
736 |
+
if( !empty($ids)){
|
737 |
+
$sql = "SELECT DISTINCT ID, post_content,
|
738 |
+
MAX(CASE WHEN pm1.meta_key = 'spu_rules' then pm1.meta_value ELSE NULL END) as spu_rules,
|
739 |
+
MAX(CASE WHEN pm1.meta_key = 'spu_ab_parent' then pm1.meta_value ELSE NULL END) as spu_ab_parent
|
740 |
+
FROM $wpdb->posts p
|
741 |
+
LEFT JOIN $wpdb->postmeta pm1 ON ( pm1.post_id = p.ID)
|
742 |
+
WHERE post_type='spucpt' AND post_status='publish' AND ID IN (".implode(',',array_unique($ids)).")
|
743 |
+
GROUP BY p.ID";
|
744 |
+
return $wpdb->get_results( $sql );
|
745 |
+
}
|
746 |
+
|
747 |
+
return false;
|
748 |
+
}
|
749 |
/**
|
750 |
* Return popups for current language
|
751 |
* @return bool | array of ids
|
public/includes/class-spu-rules.php
CHANGED
@@ -76,7 +76,7 @@ class Spu_Rules
|
|
76 |
add_filter('spu/rules/rule_match/crawlers', array($this, 'rule_match_crawlers'), 10, 2);
|
77 |
add_filter('spu/rules/rule_match/query_string', array($this, 'rule_match_query_string'), 10, 2);
|
78 |
|
79 |
-
$this->post_id =
|
80 |
$this->referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
|
81 |
$this->query_string = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
|
82 |
|
@@ -748,6 +748,12 @@ class Spu_Rules
|
|
748 |
{
|
749 |
return false;
|
750 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
751 |
|
752 |
|
753 |
// post type
|
76 |
add_filter('spu/rules/rule_match/crawlers', array($this, 'rule_match_crawlers'), 10, 2);
|
77 |
add_filter('spu/rules/rule_match/query_string', array($this, 'rule_match_query_string'), 10, 2);
|
78 |
|
79 |
+
$this->post_id = get_queried_object_id();
|
80 |
$this->referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
|
81 |
$this->query_string = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
|
82 |
|
748 |
{
|
749 |
return false;
|
750 |
}
|
751 |
+
//check if we are in category page
|
752 |
+
if( ($cat = get_category($this->post_id) ) ) {
|
753 |
+
if($rule['operator'] == "==")
|
754 |
+
return $rule['value'] == $this->post_id;
|
755 |
+
return !($rule['value'] == $this->post_id);
|
756 |
+
}// otherwise think this of a single post page
|
757 |
|
758 |
|
759 |
// post type
|
public/views/popup.php
CHANGED
@@ -9,13 +9,13 @@
|
|
9 |
* @copyright 2014 Timersys
|
10 |
*/
|
11 |
|
12 |
-
?><!-- Popups v<?php echo self::VERSION; ?> -
|
13 |
$box = get_post( $spu_id );
|
14 |
$helper = new Spu_Helper;
|
15 |
|
16 |
// has box with this id been found?
|
17 |
if ( ! $box instanceof WP_Post || $box->post_status !== 'publish' ) {
|
18 |
-
return;
|
19 |
}
|
20 |
|
21 |
$opts = $helper->get_box_options( $box->ID );
|
@@ -28,7 +28,7 @@ $width = !empty( $css['width'] ) ? $css['width'] : '';
|
|
28 |
// run filters on content
|
29 |
$content = apply_filters( 'spu/popup/content', $content, $box );
|
30 |
|
31 |
-
// Qtranslate support
|
32 |
if ( function_exists('qtrans_useCurrentLanguageIfNotFoundShowAvailable') ) {
|
33 |
$content = qtrans_useCurrentLanguageIfNotFoundShowAvailable( $content );
|
34 |
}
|
@@ -56,7 +56,7 @@ do_action( 'spu/popup/before_popup', $box, $opts, $css);
|
|
56 |
<div class="spu-bg" id="spu-bg-<?php echo $box->ID; ?>"></div>
|
57 |
<div class="spu-box <?php echo apply_filters( 'spu/popup/box_class', $box_class, $opts, $css, $box );?> spu-<?php echo esc_attr( $opts['css']['position'] ); ?> spu-total-<?php echo get_post_meta($box->ID, 'spu_social',true);?> <?php echo get_post_meta($box->ID, 'spu_google',true) ? 'spu-gogl' : '';?>" id="spu-<?php echo $box->ID; ?>"
|
58 |
data-box-id="<?php echo $box->ID ; ?>" data-trigger="<?php echo esc_attr( $opts['trigger'] ); ?>"
|
59 |
-
data-trigger-number="<?php echo esc_attr( absint( $opts['trigger_number'] ) ); ?>"
|
60 |
data-spuanimation="<?php echo esc_attr($opts['animation']); ?>" data-cookie="<?php echo esc_attr( absint ( $opts['cookie'] ) ); ?>" data-close-cookie="<?php echo esc_attr( absint ( $opts['close-cookie'] ) ); ?>" data-test-mode="<?php echo esc_attr($opts['test_mode']); ?>"
|
61 |
data-auto-hide="<?php echo esc_attr($opts['auto_hide']); ?>" data-close-on-conversion="<?php echo $opts['conversion_close'] == 1 ?'1':''; ?>" data-bgopa="<?php echo esc_attr($css['bgopacity']);?>" data-total="<?php echo get_post_meta($box->ID, 'spu_social',true);?>"
|
62 |
style="left:-99999px !important;" data-width="<?php echo esc_attr(str_replace('px', '', $width)); ?>" <?php echo apply_filters( 'spu/popup/data_attrs', $data_attrs, $opts, $box );?>>
|
@@ -71,4 +71,4 @@ do_action( 'spu/popup/before_popup', $box, $opts, $css);
|
|
71 |
</div>
|
72 |
<!-- / Popups Box -->
|
73 |
<?php
|
74 |
-
do_action( 'spu/popup/after_popup', $box, $opts, $css);
|
9 |
* @copyright 2014 Timersys
|
10 |
*/
|
11 |
|
12 |
+
?><!-- Popups v<?php echo self::VERSION; ?> - https://wordpress.org/plugins/social-popup/ --><?php
|
13 |
$box = get_post( $spu_id );
|
14 |
$helper = new Spu_Helper;
|
15 |
|
16 |
// has box with this id been found?
|
17 |
if ( ! $box instanceof WP_Post || $box->post_status !== 'publish' ) {
|
18 |
+
return;
|
19 |
}
|
20 |
|
21 |
$opts = $helper->get_box_options( $box->ID );
|
28 |
// run filters on content
|
29 |
$content = apply_filters( 'spu/popup/content', $content, $box );
|
30 |
|
31 |
+
// Qtranslate support
|
32 |
if ( function_exists('qtrans_useCurrentLanguageIfNotFoundShowAvailable') ) {
|
33 |
$content = qtrans_useCurrentLanguageIfNotFoundShowAvailable( $content );
|
34 |
}
|
56 |
<div class="spu-bg" id="spu-bg-<?php echo $box->ID; ?>"></div>
|
57 |
<div class="spu-box <?php echo apply_filters( 'spu/popup/box_class', $box_class, $opts, $css, $box );?> spu-<?php echo esc_attr( $opts['css']['position'] ); ?> spu-total-<?php echo get_post_meta($box->ID, 'spu_social',true);?> <?php echo get_post_meta($box->ID, 'spu_google',true) ? 'spu-gogl' : '';?>" id="spu-<?php echo $box->ID; ?>"
|
58 |
data-box-id="<?php echo $box->ID ; ?>" data-trigger="<?php echo esc_attr( $opts['trigger'] ); ?>"
|
59 |
+
data-trigger-number="<?php echo esc_attr( absint( $opts['trigger_number'] ) ); ?>"
|
60 |
data-spuanimation="<?php echo esc_attr($opts['animation']); ?>" data-cookie="<?php echo esc_attr( absint ( $opts['cookie'] ) ); ?>" data-close-cookie="<?php echo esc_attr( absint ( $opts['close-cookie'] ) ); ?>" data-test-mode="<?php echo esc_attr($opts['test_mode']); ?>"
|
61 |
data-auto-hide="<?php echo esc_attr($opts['auto_hide']); ?>" data-close-on-conversion="<?php echo $opts['conversion_close'] == 1 ?'1':''; ?>" data-bgopa="<?php echo esc_attr($css['bgopacity']);?>" data-total="<?php echo get_post_meta($box->ID, 'spu_social',true);?>"
|
62 |
style="left:-99999px !important;" data-width="<?php echo esc_attr(str_replace('px', '', $width)); ?>" <?php echo apply_filters( 'spu/popup/data_attrs', $data_attrs, $opts, $box );?>>
|
71 |
</div>
|
72 |
<!-- / Popups Box -->
|
73 |
<?php
|
74 |
+
do_action( 'spu/popup/after_popup', $box, $opts, $css);
|