update 14 July 2016

This commit is contained in:
Kiefer Conrad
2016-07-14 20:58:12 +02:00
parent 3018dff1ff
commit 49b65729db
44 changed files with 199 additions and 199 deletions

View File

@ -254,7 +254,7 @@ class FranksRoastHouseTemplate {
), ),
array( array(
"type" => "text", "type" => "text",
"text" => __("<h2>New and Improved Hours!</h2>\n<p></p>\n<p>Frank's is now open even later, so you can get your caffeine fix all day long! Here's our new opening hours:</p>\n<p></p>\n<ul>\n<li>Monday - Thursday: 6am - 12am</li>\n<li>Friday - Saturday: 6am - 1:30am</li>\n<li>Sunday: 7:30am - 11pm</li>\n</ul>") "text" => __("<h2>New and Improved Hours!</h2>\n<p></p>\n<p>Frank's is now open even later, so you can get your caffeine fix all day (and night) long! Here's our new opening hours:</p>\n<p></p>\n<ul>\n<li>Monday - Thursday: 6am - 12am</li>\n<li>Friday - Saturday: 6am - 1:30am</li>\n<li>Sunday: 7:30am - 11pm</li>\n</ul>")
) )
) )
) )

View File

@ -13,8 +13,8 @@ class PostNotificationsBlankTemplate {
function get() { function get() {
return array( return array(
'name' => __("Post Notifications Blank Template"), 'name' => __("Blank Post Notifications Template"),
'description' => __("A simple and plain post notifications template for you to create your own email from."), 'description' => __("A simple post notifications template. Customize it and make it your own!"),
'readonly' => 0, 'readonly' => 0,
'thumbnail' => $this->getThumbnail(), 'thumbnail' => $this->getThumbnail(),
'body' => json_encode($this->getBody()), 'body' => json_encode($this->getBody()),
@ -72,7 +72,7 @@ class PostNotificationsBlankTemplate {
"blocks" => array( "blocks" => array(
array( array(
"type" => "text", "type" => "text",
"text" => __("<p style=\"text-align: right;\">Your&nbsp;posts below are generated using our <strong>Automated Latest Content widget</strong> in the right sidebar.</p>") "text" => __("<p style=\"text-align: right;\">Your&nbsp;posts below are generated using our <strong>Automated Latest Content widget</strong> on the right sidebar.</p>")
) )
) )
), ),

View File

@ -14,7 +14,7 @@ class WelcomeTemplate {
function get() { function get() {
return array( return array(
'name' => __("Welcome Email Example"), 'name' => __("Welcome Email Example"),
'description' => __("A really simple welcome email idea to help you say hello your new subscribers."), 'description' => __("A simple welcome email idea to help welcome your new subscribers."),
'readonly' => 0, 'readonly' => 0,
'thumbnail' => $this->getThumbnail(), 'thumbnail' => $this->getThumbnail(),
'body' => json_encode($this->getBody()), 'body' => json_encode($this->getBody()),
@ -101,7 +101,7 @@ class WelcomeTemplate {
"blocks" => array( "blocks" => array(
array( array(
"type" => "text", "type" => "text",
"text" => __("<h1 style=\"text-align: center;\"><strong>What's in a Welcome Email?&nbsp;</strong></h1>\n<p>How about thanking the person and telling them what they can expect from signing up as a subscriber,&nbsp;for example, how frequently they might receive newsletters from you and what type of content. If you also write a blog, why not share a few of your most recent posts using Automated Latest Content?</p>\n<p>Get help with your welcome email in our blog post: <a href=\"http://www.mailpoet.com/improve-your-signup-welcome-email/\">http://www.mailpoet.com/improve-your-signup-welcome-email/</a></p>\n<p></p>") "text" => __("<h1 style=\"text-align: center;\"><strong>What's should you put in a Welcome Email?&nbsp;</strong></h1>\n<p>We recommend thanking the person (for subscribing!) and telling them what they can expect in the future. &nbsp; For example, how the type of content you'll be sending (and how often you'll be sending it.) If you have a blog, why not share a few of your recent posts using the Automated Latest Content widget?</p>\n<p>Get some more tips on your Welcome Email in our blog post: <a href=\"http://www.mailpoet.com/improve-your-signup-welcome-email/\">http://www.mailpoet.com/improve-your-signup-welcome-email/</a></p>\n<p></p>")
) )
) )
) )

View File

@ -43,7 +43,7 @@ class Mailer {
function getMailerConfig() { function getMailerConfig() {
$mta_config = Setting::getValue('mta'); $mta_config = Setting::getValue('mta');
if(!$mta_config) { if(!$mta_config) {
throw new \Exception(__('Mailer is not configured.')); throw new \Exception(__('Mailer is not configured'));
} }
return $mta_config; return $mta_config;
} }
@ -90,7 +90,7 @@ class Mailer {
if($this->mta_log['sent'] === $frequency_limit && if($this->mta_log['sent'] === $frequency_limit &&
$elapsed_time <= $frequency_interval $elapsed_time <= $frequency_interval
) { ) {
throw new \Exception(__('Sending frequency limit has been reached.')); throw new \Exception(__('Sending frequency limit has been reached'));
} }
if($elapsed_time > $frequency_interval) { if($elapsed_time > $frequency_interval) {
$this->mta_log = array( $this->mta_log = array(

View File

@ -34,7 +34,7 @@ abstract class Base {
if(in_array($block['type'], array('radio', 'checkbox'))) { if(in_array($block['type'], array('radio', 'checkbox'))) {
$rules['group'] = 'custom_field_'.$block['id']; $rules['group'] = 'custom_field_'.$block['id'];
$rules['errors-container'] = '.mailpoet_error_'.$block['id']; $rules['errors-container'] = '.mailpoet_error_'.$block['id'];
$rules['required-message'] = __('Please select at least one option.'); $rules['required-message'] = __('Please select at least one option');
} }
$validation = array(); $validation = array();

View File

@ -17,7 +17,7 @@ class Widget extends \WP_Widget {
'mailpoet_form', 'mailpoet_form',
__('MailPoet Form'), __('MailPoet Form'),
array( array(
'description' => __('Add a newsletter subscription form.') 'description' => __('Add a newsletter subscription form')
) )
); );
} }

View File

@ -84,7 +84,7 @@ class Mailer {
); );
break; break;
default: default:
throw new \Exception(__('Mailing method does not exist.')); throw new \Exception(__('Mailing method does not exist'));
} }
return $mailer_instance; return $mailer_instance;
} }
@ -92,7 +92,7 @@ class Mailer {
function getMailer($mailer = false) { function getMailer($mailer = false) {
if(!$mailer) { if(!$mailer) {
$mailer = Setting::getValue('mta'); $mailer = Setting::getValue('mta');
if(!$mailer || !isset($mailer['method'])) throw new \Exception(__('Mailer is not configured.')); if(!$mailer || !isset($mailer['method'])) throw new \Exception(__('Mailer is not configured'));
} }
$mailer['class'] = 'MailPoet\\Mailer\\Methods\\' . $mailer['method']; $mailer['class'] = 'MailPoet\\Mailer\\Methods\\' . $mailer['method'];
return $mailer; return $mailer;
@ -101,7 +101,7 @@ class Mailer {
function getSender($sender = false) { function getSender($sender = false) {
if(empty($sender)) { if(empty($sender)) {
$sender = Setting::getValue('sender', array()); $sender = Setting::getValue('sender', array());
if(empty($sender['address'])) throw new \Exception(__('Sender name and email are not configured.')); if(empty($sender['address'])) throw new \Exception(__('Sender name and email are not configured'));
} }
return array( return array(
'from_name' => $sender['name'], 'from_name' => $sender['name'],

View File

@ -9,10 +9,10 @@ class CustomField extends Model {
function __construct() { function __construct() {
parent::__construct(); parent::__construct();
$this->addValidations('name', array( $this->addValidations('name', array(
'required' => __('Please specify a name.') 'required' => __('Please specify a name')
)); ));
$this->addValidations('type', array( $this->addValidations('type', array(
'required' => __('Please specify a type.') 'required' => __('Please specify a type')
)); ));
} }

View File

@ -10,7 +10,7 @@ class Form extends Model {
parent::__construct(); parent::__construct();
$this->addValidations('name', array( $this->addValidations('name', array(
'required' => __('Please specify a name.') 'required' => __('Please specify a name')
)); ));
} }

View File

@ -24,7 +24,7 @@ class Newsletter extends Model {
parent::__construct(); parent::__construct();
$this->addValidations('type', array( $this->addValidations('type', array(
'required' => __('Please specify a type.') 'required' => __('Please specify a type')
)); ));
} }

View File

@ -9,10 +9,10 @@ class NewsletterOptionField extends Model {
function __construct() { function __construct() {
parent::__construct(); parent::__construct();
$this->addValidations('name', array( $this->addValidations('name', array(
'required' => __('Please specify a name.') 'required' => __('Please specify a name')
)); ));
$this->addValidations('newsletter_type', array( $this->addValidations('newsletter_type', array(
'required' => __('Please specify a newsletter type.') 'required' => __('Please specify a newsletter type')
)); ));
} }

View File

@ -10,10 +10,10 @@ class NewsletterTemplate extends Model {
parent::__construct(); parent::__construct();
$this->addValidations('name', array( $this->addValidations('name', array(
'required' => __('Please specify a name.') 'required' => __('Please specify a name')
)); ));
$this->addValidations('body', array( $this->addValidations('body', array(
'required' => __('The template body cannot be empty.') 'required' => __('The template body cannot be empty')
)); ));
} }

View File

@ -10,7 +10,7 @@ class Segment extends Model {
parent::__construct(); parent::__construct();
$this->addValidations('name', array( $this->addValidations('name', array(
'required' => __('Please specify a name.') 'required' => __('Please specify a name')
)); ));
} }
@ -102,7 +102,7 @@ class Segment extends Model {
$wp_segment->hydrate(array( $wp_segment->hydrate(array(
'name' => __('WordPress Users'), 'name' => __('WordPress Users'),
'description' => 'description' =>
__('This lists containts all of your WordPress users.'), __('This lists containts all of your WordPress users'),
'type' => 'wp_users' 'type' => 'wp_users'
)); ));
$wp_segment->save(); $wp_segment->save();

View File

@ -17,7 +17,7 @@ class Setting extends Model {
parent::__construct(); parent::__construct();
$this->addValidations('name', array( $this->addValidations('name', array(
'required' => __('Please specify a name.') 'required' => __('Please specify a name')
)); ));
} }

View File

@ -18,8 +18,8 @@ class Subscriber extends Model {
parent::__construct(); parent::__construct();
$this->addValidations('email', array( $this->addValidations('email', array(
'required' => __('Please enter your email address.'), 'required' => __('Please enter your email address'),
'isEmail' => __('Your email address is invalid.') 'isEmail' => __('Your email address is invalid!')
)); ));
} }

View File

@ -165,7 +165,7 @@ class Newsletters {
if(!isset($data['body'])) { if(!isset($data['body'])) {
return array( return array(
'result' => false, 'result' => false,
'errors' => array(__('Newsletter data is missing.')) 'errors' => array(__('Newsletter data is missing'))
); );
} }
$newsletter_id = (isset($data['id'])) ? (int)$data['id'] : null; $newsletter_id = (isset($data['id'])) ? (int)$data['id'] : null;
@ -173,7 +173,7 @@ class Newsletters {
if(!$newsletter) { if(!$newsletter) {
return array( return array(
'result' => false, 'result' => false,
'errors' => array(__('Newsletter could not be read.')) 'errors' => array(__('Newsletter could not be read'))
); );
} }
$newsletter->body = $data['body']; $newsletter->body = $data['body'];

View File

@ -33,7 +33,7 @@ class SendingQueue {
if($newsletter === false) { if($newsletter === false) {
return array( return array(
'result' => false, 'result' => false,
'errors' => array(__('This newsletter does not exist.')) 'errors' => array(__('This newsletter does not exist'))
); );
} }
@ -51,7 +51,7 @@ class SendingQueue {
return array( return array(
'result' => true, 'result' => true,
'data' => array( 'data' => array(
'message' => __('Your welcome email has been activated.') 'message' => __('Your welcome email has been activated')
) )
); );
} }
@ -71,7 +71,7 @@ class SendingQueue {
if(!empty($queue)) { if(!empty($queue)) {
return array( return array(
'result' => false, 'result' => false,
'errors' => array(__('This newsletter is already being sent.')) 'errors' => array(__('This newsletter is already being sent'))
); );
} }
@ -90,7 +90,7 @@ class SendingQueue {
return array( return array(
'result' => true, 'result' => true,
'data' => array( 'data' => array(
'message' => __('Your post notification has been activated.') 'message' => __('Your post notification has been activated')
) )
); );
} }
@ -107,7 +107,7 @@ class SendingQueue {
$queue->subscribers = null; $queue->subscribers = null;
$queue->count_total = $queue->count_to_process = 0; $queue->count_total = $queue->count_to_process = 0;
$message = __('The newsletter has been scheduled.'); $message = __('The newsletter has been scheduled');
} else { } else {
$segments = $newsletter->segments()->findArray(); $segments = $newsletter->segments()->findArray();
$segment_ids = array_map(function($segment) { $segment_ids = array_map(function($segment) {
@ -120,7 +120,7 @@ class SendingQueue {
if(!count($subscribers)) { if(!count($subscribers)) {
return array( return array(
'result' => false, 'result' => false,
'errors' => array(__('There are no subscribers.')) 'errors' => array(__('There are no subscribers'))
); );
} }
$queue->status = null; $queue->status = null;

View File

@ -69,7 +69,7 @@ class Subscribers {
$form = Form::findOne($data['form_id']); $form = Form::findOne($data['form_id']);
unset($data['form_id']); unset($data['form_id']);
if($form === false || !$form->id()) { if($form === false || !$form->id()) {
$errors[] = __('This form does not exist.'); $errors[] = __('This form does not exist');
} }
$segment_ids = (!empty($data['segments']) $segment_ids = (!empty($data['segments'])

View File

@ -46,10 +46,10 @@ class Export {
function process() { function process() {
try { try {
if(is_writable($this->export_path) === false) { if(is_writable($this->export_path) === false) {
throw new \Exception(__("Couldn't save export file on the server.")); throw new \Exception(__("Couldn't save export file on the server"));
} }
if(!extension_loaded('zip')) { if(!extension_loaded('zip')) {
throw new \Exception(__('Export requires a ZIP extension to be installed on the host.')); throw new \Exception(__('Export requires a ZIP extension to be installed on the host'));
} }
$processed_subscribers = call_user_func( $processed_subscribers = call_user_func(
array( array(

View File

@ -135,13 +135,13 @@ class MailChimp {
$errorMessage = __('Invalid API Key.'); $errorMessage = __('Invalid API Key.');
break; break;
case 'connection': case 'connection':
$errorMessage = __('Could not connect to your MailChimp account.'); $errorMessage = __('Could not connect to your MailChimp account');
break; break;
case 'headers': case 'headers':
$errorMessage = __('The selected lists do not have matching columns (headers).'); $errorMessage = __('The selected lists do not have matching columns (headers)');
break; break;
case 'size': case 'size':
$errorMessage = __('The information received from MailChimp is too large for processing. Please limit the number of lists.'); $errorMessage = __('The information received from MailChimp is too large for processing. Please limit the number of lists!');
break; break;
case 'subscribers': case 'subscribers':
$errorMessage = __('Did not find any active subscribers.'); $errorMessage = __('Did not find any active subscribers.');

View File

@ -20,7 +20,7 @@ class Comment {
static function getSubscriptionField() { static function getSubscriptionField() {
$label = Setting::getValue( $label = Setting::getValue(
'subscribe.on_comment.label', 'subscribe.on_comment.label',
__('Yes, please add me to your mailing list.') __('Yes, please add me to your mailing list')
); );
return '<p class="comment-form-mailpoet"> return '<p class="comment-form-mailpoet">

View File

@ -161,21 +161,21 @@ class Pages {
private function getConfirmTitle() { private function getConfirmTitle() {
if($this->isPreview()) { if($this->isPreview()) {
$title = sprintf( $title = sprintf(
__("You've subscribed to: %s"), __("You have subscribed to: %s"),
'demo 1, demo 2' 'demo 1, demo 2'
); );
} else if($this->subscriber === false) { } else if($this->subscriber === false) {
$title = __('Your confirmation link expired, please subscribe again.'); $title = __('Your confirmation link expired, please subscribe again');
} else { } else {
$segment_names = array_map(function($segment) { $segment_names = array_map(function($segment) {
return $segment->name; return $segment->name;
}, $this->subscriber->segments()->findMany()); }, $this->subscriber->segments()->findMany());
if(empty($segment_names)) { if(empty($segment_names)) {
$title = __("You're now subscribed!"); $title = __("You are now subscribed!");
} else { } else {
$title = sprintf( $title = sprintf(
__("You've subscribed to: %s"), __("You have subscribed to: %s"),
join(', ', $segment_names) join(', ', $segment_names)
); );
} }

View File

@ -8,7 +8,7 @@
<h2> <h2>
<input <input
type="text" type="text"
placeholder="<%= __('Click here to change the name!') %>" placeholder="<%= __('Click here to change the name') %>"
id="mailpoet_form_name" id="mailpoet_form_name"
value="<%= form.name %>" value="<%= form.name %>"
/> />
@ -52,7 +52,7 @@
<select <select
id="mailpoet_form_segments" id="mailpoet_form_segments"
name="segments" name="segments"
data-placeholder="<%= __('Please choose a list') %>" data-placeholder="<%= __('Please select a list') %>"
multiple multiple
data-parsley-required-message="<%= __('Please select a list.') %>" data-parsley-required-message="<%= __('Please select a list.') %>"
required required
@ -598,7 +598,7 @@
var name = $(this).siblings('.mailpoet_form_field').attr('wysija_name'); var name = $(this).siblings('.mailpoet_form_field').attr('wysija_name');
if(window.confirm( if(window.confirm(
"<%= __('Delete this field for all your subscribers?') %>" "<%= __('This field will be deleted for all your subscribers. Are you sure?') %>"
)) { )) {
MailPoet.Ajax.post({ MailPoet.Ajax.post({
endpoint: 'customFields', endpoint: 'customFields',

View File

@ -1,5 +1,5 @@
{{#if params.label}}<p>{{ params.label }}</p>{{/if}} {{#if params.label}}<p>{{ params.label }}</p>{{/if}}
{{#unless params.values}}<p class="mailpoet_error"><%= __('Please select at least 1 list') %></p>{{/unless}} {{#unless params.values}}<p class="mailpoet_error"><%= __('Please select at least one list') %></p>{{/unless}}
{{#each params.values}} {{#each params.values}}
<p> <p>
<input class="mailpoet_checkbox" type="checkbox" {{#if is_checked}}checked="checked"{{/if}} disabled="disabled" />{{ name }} <input class="mailpoet_checkbox" type="checkbox" {{#if is_checked}}checked="checked"{{/if}} disabled="disabled" />{{ name }}

View File

@ -1,7 +1,7 @@
<ul id="mailpoet_segment_selection" class="clearfix"></ul> <ul id="mailpoet_segment_selection" class="clearfix"></ul>
<div id="mailpoet_segment_available_container"> <div id="mailpoet_segment_available_container">
<h3><%= __('Select the segment you want to add:') %></h3> <h3><%= __('Select the segment that you want to add:') %></h3>
<select class="mailpoet_segment_available"></select> <select class="mailpoet_segment_available"></select>

View File

@ -16,12 +16,12 @@
'pageTitle': __('Forms'), 'pageTitle': __('Forms'),
'searchLabel': __('Search'), 'searchLabel': __('Search'),
'loadingItems': __('Loading forms...'), 'loadingItems': __('Loading forms...'),
'noItemsFound': __('No forms found.'), 'noItemsFound': __('No forms found'),
'selectAllLabel': __('All forms on this page are selected.'), 'selectAllLabel': __('All forms on this page are selected'),
'selectedAllLabel': __('All %d forms are selected.'), 'selectedAllLabel': __('All %d forms are selected'),
'selectAllLink': __('Select all forms on all pages.'), 'selectAllLink': __('Select all forms on all pages'),
'clearSelection': __('Clear selection.'), 'clearSelection': __('Clear selection'),
'permanentlyDeleted': __('%d forms permanently deleted.'), 'permanentlyDeleted': __('%d forms permanently deleted'),
'selectBulkAction': __('Select bulk action'), 'selectBulkAction': __('Select bulk action'),
'bulkActions': __('Bulk Actions'), 'bulkActions': __('Bulk Actions'),
'apply': __('Apply'), 'apply': __('Apply'),
@ -42,15 +42,15 @@
'formName': __('Name'), 'formName': __('Name'),
'segments': __('Lists'), 'segments': __('Lists'),
'createdOn': __('Created on'), 'createdOn': __('Created on'),
'oneFormTrashed': __('1 form was moved to the trash.'), 'oneFormTrashed': __('1 form was moved to the trash'),
'multipleFormsTrashed': __('%$1d forms were moved to the trash.'), 'multipleFormsTrashed': __('%$1d forms were moved to the trash'),
'oneFormDeleted': __('1 form was permanently deleted.'), 'oneFormDeleted': __('1 form was permanently deleted'),
'multipleFormsDeleted': __('%$1d forms were permanently deleted.'), 'multipleFormsDeleted': __('%$1d forms were permanently deleted'),
'oneFormRestored': __('1 form has been restored from the trash.'), 'oneFormRestored': __('1 form has been restored from the trash'),
'multipleFormsRestored': __('%$1d forms have been restored from the trash.'), 'multipleFormsRestored': __('%$1d forms have been restored from the trash'),
'edit': __('Edit'), 'edit': __('Edit'),
'duplicate': __('Duplicate'), 'duplicate': __('Duplicate'),
'formDuplicated': __('Form "%$1s" has been duplicated.'), 'formDuplicated': __('Form "%$1s" has been duplicated'),
'trash': __('Trash'), 'trash': __('Trash'),
'new': __('New'), 'new': __('New'),
}) %> }) %>

View File

@ -318,15 +318,15 @@
'failedToFetchAvailablePosts': __('Failed to fetch available posts'), 'failedToFetchAvailablePosts': __('Failed to fetch available posts'),
'failedToFetchRenderedPosts': __('Failed to fetch rendered posts'), 'failedToFetchRenderedPosts': __('Failed to fetch rendered posts'),
'shortcodesWindowTitle': __('Select a shortcode'), 'shortcodesWindowTitle': __('Select a shortcode'),
'unsubscribeLinkMissing': __('All newsletters must include an "unsubscribe" link. Add a footer widget to your newsletter to continue.'), 'unsubscribeLinkMissing': __('All newsletters must include an "unsubscribe" link. Add a footer widget to your newsletter to continue'),
'newsletterPreviewEmailMissing': __('Enter an email address to send the preview newsletter to.'), 'newsletterPreviewEmailMissing': __('Enter an email address to send the preview newsletter to'),
'newsletterPreviewFailed': __('Preview failed. Pleae check console log.'), 'newsletterPreviewFailed': __('Preview failed. Pleae check console log'),
'newsletterPreviewSent': __('Newsletter preview email has been successfully sent!'), 'newsletterPreviewSent': __('Newsletter preview email has been successfully sent!'),
'newsletterPreviewFailedToSend': __('Attempt to send a newsletter preview email failed. Please verify that your sending method is configured correctly and try again.'), 'newsletterPreviewFailedToSend': __('Attempt to send a newsletter preview email failed. Please verify that your sending method is configured correctly and try again'),
'templateNameMissing': __('Please add a template name'), 'templateNameMissing': __('Please add a template name'),
'templateDescriptionMissing': __('Please add a template description'), 'templateDescriptionMissing': __('Please add a template description'),
'templateSaved': __('Template has been saved.'), 'templateSaved': __('Template has been saved.'),
'templateSaveFailed': __('Template has not been saved, please try again.'), 'templateSaveFailed': __('Template has not been saved, please try again'),
'categoriesAndTags': __('Categories & tags'), 'categoriesAndTags': __('Categories & tags'),
'noPostsToDisplay': __('There is no content to display'), 'noPostsToDisplay': __('There is no content to display'),
}) %> }) %>
@ -1152,7 +1152,7 @@
}, },
header: { header: {
text: '<%= __('Display problems?') %>&nbsp;' + text: '<%= __('Display problems?') %>&nbsp;' +
'<a href="[link:newsletter_view_in_browser_url]"><%= __('Open this email in your web browser.') %></a>', '<a href="[link:newsletter_view_in_browser_url]"><%= __('Open this email in your web browser') %></a>',
styles: { styles: {
block: { block: {
backgroundColor: 'transparent', backgroundColor: 'transparent',

View File

@ -10,6 +10,6 @@
<input type="text" <input type="text"
class="mailpoet_input mailpoet_input_preheader" class="mailpoet_input mailpoet_input_preheader"
value="{{ model.preheader }}" value="{{ model.preheader }}"
placeholder="<%= __('Write your preheader here for Outlook users...') %>" placeholder="<%= __('Write your preheader here (for subscribers that use Outlook)') %>"
/> />
</div> </div>

View File

@ -28,12 +28,12 @@
'searchLabel': __('Search'), 'searchLabel': __('Search'),
'loadingItems': __('Loading newsletters...'), 'loadingItems': __('Loading newsletters...'),
'noItemsFound': __('No newsletters found.'), 'noItemsFound': __('No newsletters found'),
'selectAllLabel': __('All newsletters on this page are selected.'), 'selectAllLabel': __('All newsletters on this page are selected'),
'selectedAllLabel': __('All %d newsletters are selected.'), 'selectedAllLabel': __('All %d newsletters are selected'),
'selectAllLink': __('Select all newsletters on all pages.'), 'selectAllLink': __('Select all newsletters on all pages'),
'clearSelection': __('Clear selection.'), 'clearSelection': __('Clear selection'),
'permanentlyDeleted': __('%d newsletters were permanently deleted.'), 'permanentlyDeleted': __('%d newsletters were permanently deleted'),
'selectBulkAction': __('Select bulk action'), 'selectBulkAction': __('Select bulk action'),
'bulkActions': __('Bulk Actions'), 'bulkActions': __('Bulk Actions'),
'apply': __('Apply'), 'apply': __('Apply'),
@ -66,23 +66,23 @@
'viewHistory': __('View history'), 'viewHistory': __('View history'),
'createdOn': __('Created on'), 'createdOn': __('Created on'),
'lastModifiedOn': __('Last modified on'), 'lastModifiedOn': __('Last modified on'),
'oneNewsletterTrashed': __('1 newsletter was moved to the trash.'), 'oneNewsletterTrashed': __('1 newsletter was moved to the trash'),
'multipleNewslettersTrashed': __('%$1d newsletters were moved to the trash.'), 'multipleNewslettersTrashed': __('%$1d newsletters were moved to the trash'),
'oneNewsletterDeleted': __('1 newsletter was permanently deleted.'), 'oneNewsletterDeleted': __('1 newsletter was permanently deleted'),
'multipleNewslettersDeleted': __('%$1d newsletters were permanently deleted.'), 'multipleNewslettersDeleted': __('%$1d newsletters were permanently deleted'),
'oneNewsletterRestored': __('1 newsletter has been recovered from the trash.'), 'oneNewsletterRestored': __('1 newsletter has been recovered from the trash'),
'multipleNewslettersRestored': __('%$1d newsletters have been recovered from the trash.'), 'multipleNewslettersRestored': __('%$1d newsletters have been recovered from the trash'),
'trash': __('Trash'), 'trash': __('Trash'),
'edit': __('Edit'), 'edit': __('Edit'),
'duplicate': __('Duplicate'), 'duplicate': __('Duplicate'),
'newsletterDuplicated': __('Newsletter "%$1s" has been duplicated.'), 'newsletterDuplicated': __('Newsletter "%$1s" has been duplicated'),
'notSentYet': __('Not sent yet.'), 'notSentYet': __('Not sent yet'),
'scheduledFor': __('Scheduled for'), 'scheduledFor': __('Scheduled for'),
'scheduleIt': __('Schedule it'), 'scheduleIt': __('Schedule it'),
'active': __('Active'), 'active': __('Active'),
'inactive': __('Not Active'), 'inactive': __('Not Active'),
'newsletterQueueCompleted': __('Sent to %$1d of %$2d.'), 'newsletterQueueCompleted': __('Sent to %$1d of %$2d'),
'sentToXSubscribers': __('Sent to %$1d subscribers.'), 'sentToXSubscribers': __('Sent to %$1d subscribers'),
'resume': __('Resume'), 'resume': __('Resume'),
'pause': __('Pause'), 'pause': __('Pause'),
'new': __('New'), 'new': __('New'),
@ -92,7 +92,7 @@
'selectJsonFileToUpload': __('Select a .json file to upload'), 'selectJsonFileToUpload': __('Select a .json file to upload'),
'upload': __('Upload'), 'upload': __('Upload'),
'mailpoetGuideTemplateTitle': __("MailPoet's Guide"), 'mailpoetGuideTemplateTitle': __("MailPoet's Guide"),
'mailpoetGuideTemplateDescription': __("This is the standard template that comes with MailPoet."), 'mailpoetGuideTemplateDescription': __("This is the standard template that comes with MailPoet"),
'confirmTemplateDeletion': __('You are about to delete the template named "%$1s"'), 'confirmTemplateDeletion': __('You are about to delete the template named "%$1s"'),
'delete': __('Delete'), 'delete': __('Delete'),
'select': __('Select'), 'select': __('Select'),
@ -105,14 +105,14 @@
'regularNewsletterTypeDescription': __('Send a newsletter with images, buttons, dividers, and social bookmarks. Or, just send a basic text email.'), 'regularNewsletterTypeDescription': __('Send a newsletter with images, buttons, dividers, and social bookmarks. Or, just send a basic text email.'),
'create': __('Create'), 'create': __('Create'),
'welcomeNewsletterTypeTitle': __('Welcome email'), 'welcomeNewsletterTypeTitle': __('Welcome email'),
'welcomeNewsletterTypeDescription': __('Send an email for new users.'), 'welcomeNewsletterTypeDescription': __('Send an email to new users'),
'setUp': __('Set up'), 'setUp': __('Set up'),
'postNotificationNewsletterTypeTitle': __('Post notifications'), 'postNotificationNewsletterTypeTitle': __('Post notifications'),
'postNotificationsNewsletterTypeDescription': __('Automatically send posts immediately, daily, weekly or monthly. Filter by categories, if you like.'), 'postNotificationsNewsletterTypeDescription': __('Automatically send posts immediately, daily, weekly or monthly. Filter by categories, if you like.'),
'selectFrequency': __('Select a frequency'), 'selectFrequency': __('Select a frequency'),
'postNotificationSubjectLineTip': __("Insert [newsletter:total] to show number of posts, [newsletter:post_title] to show the latest post's title & [newsletter:number] to display the issue number."), 'postNotificationSubjectLineTip': __("Insert [newsletter:total] to show number of posts, [newsletter:post_title] to show the latest post's title & [newsletter:number] to display the issue number."),
'activate': __('Activate'), 'activate': __('Activate'),
'sendWelcomeEmailWhen': __('Send welcome email when...'), 'sendWelcomeEmailWhen': __('Send this welcome email when...'),
'daily': __('Once a day at...'), 'daily': __('Once a day at...'),
'weekly': __('Weekly on...'), 'weekly': __('Weekly on...'),
@ -144,22 +144,22 @@
'subjectLine': __('Subject line'), 'subjectLine': __('Subject line'),
'subjectLineTip': __("Be creative! It's the first thing that your subscribers see. Tempt them to open your email."), 'subjectLineTip': __("Be creative! It's the first thing that your subscribers see. Tempt them to open your email."),
'emptySubjectLineError': __('Please specify a subject.'), 'emptySubjectLineError': __('Please specify a subject'),
'segments': __('Segments'), 'segments': __('Segments'),
'segmentsTip': __('This subscriber segment will be used for this campaign.'), 'segmentsTip': __('This subscriber segment will be used for this campaign'),
'selectSegmentPlaceholder': __('Select a segment'), 'selectSegmentPlaceholder': __('Select a segment'),
'noSegmentsSelectedError': __('Please select a segment.'), 'noSegmentsSelectedError': __('Please select a segment'),
'sender': __('Sender'), 'sender': __('Sender'),
'senderTip': __('Your name and email.'), 'senderTip': __('Your name and email.'),
'senderNamePlaceholder': __('John Doe'), 'senderNamePlaceholder': __('John Doe'),
'senderAddressPlaceholder': __('john.doe@email.com'), 'senderAddressPlaceholder': __('john.doe@email.com'),
'replyTo': __('Reply-to'), 'replyTo': __('Reply-to'),
'replyToTip': __('When your subscribers reply to your newsletter, their emails will go to this address.'), 'replyToTip': __('When your subscribers reply to your newsletter, their emails will go to this address'),
'replyToNamePlaceholder': __('John Doe'), 'replyToNamePlaceholder': __('John Doe'),
'replyToAddressPlaceholder': __('john.doe@email.com'), 'replyToAddressPlaceholder': __('john.doe@email.com'),
'newsletterUpdated': __('Newsletter was updated successfully!'), 'newsletterUpdated': __('Newsletter was updated successfully!'),
'newsletterAdded': __('Newsletter was added successfully!'), 'newsletterAdded': __('Newsletter was added successfully!'),
'newsletterSendingError': __('An error occurred while trying to send. <a href="%$1s">Please check your settings.</a>'), 'newsletterSendingError': __('An error occurred while trying to send. <a href="%$1s">Please check your settings</a>'),
'finalNewsletterStep': __('Final step: last details'), 'finalNewsletterStep': __('Final step: last details'),
'saveDraftAndClose': __('Save as draft and close'), 'saveDraftAndClose': __('Save as draft and close'),
'orSimply': __('or simply'), 'orSimply': __('or simply'),
@ -211,10 +211,10 @@
'next': __('Next'), 'next': __('Next'),
'previous': __('Previous'), 'previous': __('Previous'),
'welcomeEmailActivated': __('Your welcome email is now active.'), 'welcomeEmailActivated': __('Your welcome email is now active!'),
'welcomeEmailActivationFailed': __('Your welcome email could not be activated, check its settings.'), 'welcomeEmailActivationFailed': __('Your welcome email could not be activated, please check the settings'),
'postNotificationActivated': __('Your post notification is now active.'), 'postNotificationActivated': __('Your post notification is now active!'),
'postNotificationActivationFailed': __('Your post notification could not be activated, check its settings.'), 'postNotificationActivationFailed': __('Your post notification could not be activated, check the settings'),
'welcomeEventSegment': __('This newsletter is sent when someone subscribes to the list "%$1s"'), 'welcomeEventSegment': __('This newsletter is sent when someone subscribes to the list "%$1s"'),
'welcomeEventWPUserAnyRole': __('This newsletter is sent when a new WordPress user is added to your site'), 'welcomeEventWPUserAnyRole': __('This newsletter is sent when a new WordPress user is added to your site'),

View File

@ -13,12 +13,12 @@
'pageTitle': __('Segments'), 'pageTitle': __('Segments'),
'searchLabel': __('Search'), 'searchLabel': __('Search'),
'loadingItems': __('Loading segments...'), 'loadingItems': __('Loading segments...'),
'noItemsFound': __('No segments found.'), 'noItemsFound': __('No segments found'),
'selectAllLabel': __('All segments on this page are selected.'), 'selectAllLabel': __('All segments on this page are selected'),
'selectedAllLabel': __('All %d segments are selected.'), 'selectedAllLabel': __('All %d segments are selected'),
'selectAllLink': __('Select all segments on all pages.'), 'selectAllLink': __('Select all segments on all pages'),
'clearSelection': __('Clear selection.'), 'clearSelection': __('Clear selection'),
'permanentlyDeleted': __('%d segments were permanently deleted.'), 'permanentlyDeleted': __('%d segments were permanently deleted'),
'selectBulkAction': __('Select bulk action'), 'selectBulkAction': __('Select bulk action'),
'bulkActions': __('Bulk Actions'), 'bulkActions': __('Bulk Actions'),
'apply': __('Apply'), 'apply': __('Apply'),
@ -31,18 +31,18 @@
'unconfirmed': __('Unconfirmed'), 'unconfirmed': __('Unconfirmed'),
'unsubscribed': __('Unsubscribed'), 'unsubscribed': __('Unsubscribed'),
'createdOn': __('Created on'), 'createdOn': __('Created on'),
'oneSegmentTrashed': __('1 segment was moved to the trash.'), 'oneSegmentTrashed': __('1 segment was moved to the trash'),
'multipleSegmentsTrashed': __('%$1d segments were moved to the trash.'), 'multipleSegmentsTrashed': __('%$1d segments were moved to the trash'),
'oneSegmentDeleted': __('1 segment was permanently deleted.'), 'oneSegmentDeleted': __('1 segment was permanently deleted'),
'multipleSegmentsDeleted': __('%$1d segments were permanently deleted.'), 'multipleSegmentsDeleted': __('%$1d segments were permanently deleted'),
'oneSegmentRestored': __('1 segment has been restored from the trash.'), 'oneSegmentRestored': __('1 segment has been restored from the trash'),
'multipleSegmentsRestored': __('%$1d segments have been restored from the trash.'), 'multipleSegmentsRestored': __('%$1d segments have been restored from the trash'),
'duplicate': __('Duplicate'), 'duplicate': __('Duplicate'),
'listDuplicated': __('List "%$1s" has been duplicated.'), 'listDuplicated': __('List "%$1s" has been duplicated'),
'update': __('Update'), 'update': __('Update'),
'forceSync': __('Force Sync'), 'forceSync': __('Force Sync'),
'readMore': __('Read More'), 'readMore': __('Read More'),
'listSynchronized': __('List "%$1s" has been synchronized.'), 'listSynchronized': __('List "%$1s" has been synchronized'),
'viewSubscribers': __('View Subscribers'), 'viewSubscribers': __('View Subscribers'),
'new': __('New'), 'new': __('New'),
'edit': __('Edit'), 'edit': __('Edit'),
@ -61,7 +61,7 @@
'pageOutOf': __('of'), 'pageOutOf': __('of'),
'numberOfItems': __('%$1d items'), 'numberOfItems': __('%$1d items'),
'segmentDescriptionTip': __('This text box is for your own use and is never shown to your subscribers.'), 'segmentDescriptionTip': __('This text box is for your own use and is never shown to your subscribers'),
'backToList': __('Back to list') 'backToList': __('Back to list')
}) %> }) %>
<% endblock %> <% endblock %>

View File

@ -80,19 +80,19 @@
}).done(function(response) { }).done(function(response) {
if(response === true) { if(response === true) {
MailPoet.Notice.success( MailPoet.Notice.success(
"<%= __('Settings saved.') %>", "<%= __('Settings saved') %>",
{ scroll: true } { scroll: true }
); );
} else { } else {
MailPoet.Notice.error( MailPoet.Notice.error(
"<%= __('Settings could not be saved.') %>", "<%= __('Settings could not be saved') %>",
{ scroll: true } { scroll: true }
); );
} }
MailPoet.Modal.loading(false); MailPoet.Modal.loading(false);
}).error(function(errors) { }).error(function(errors) {
MailPoet.Notice.error( MailPoet.Notice.error(
"<%= __('An error occurred. Please check your settings.') %>", "<%= __('An error occurred. Please check the settings.') %>",
{ scroll: true } { scroll: true }
); );
MailPoet.Modal.loading(false); MailPoet.Modal.loading(false);

View File

@ -7,7 +7,7 @@
<%= __('Bounce email') %> <%= __('Bounce email') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Your bounced emails will be sent to this address.') %> <%= __('Your bounced emails will be sent to this address') %>
</p> </p>
</th> </th>
<td> <td>
@ -28,7 +28,7 @@
<%= __('Open and click tracking') %> <%= __('Open and click tracking') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Some users prefer to not track their subscribers.') %> <%= __('Some users prefer to not track their subscribers') %>
</p> </p>
</th> </th>
<td> <td>
@ -64,7 +64,7 @@
<%= __('Share anonymous data') %> <%= __('Share anonymous data') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Share anonymous data and help us improve the plugin! We appreciate your help.') %> <%= __('Share anonymous data and help us improve the plugin. We appreciate your help!') %>
<a <a
href="http://support.mailpoet.com/knowledgebase/share-your-data/?utm_source=wpadmin&utm_campaign=advanced_settings" href="http://support.mailpoet.com/knowledgebase/share-your-data/?utm_source=wpadmin&utm_campaign=advanced_settings"
target="_blank" target="_blank"
@ -102,7 +102,7 @@
<th scope="row"> <th scope="row">
<label><%= __('Reinstall from scratch') %></label> <label><%= __('Reinstall from scratch') %></label>
<p class="description"> <p class="description">
<%= __('Want to start from the beginning? This will completely wipe out MailPoet and reinstall from scratch.') %> <%= __('Want to start over? This will completely wipe out MailPoet and reinstall from scratch.') %>
</p> </p>
</th> </th>
<td> <td>
@ -122,7 +122,7 @@
$(function() { $(function() {
$('#mailpoet_reinstall').on('click', function() { $('#mailpoet_reinstall').on('click', function() {
if(confirm( if(confirm(
"<%= __('If you continue, all of your current MailPoet data will be permanently erased (newsletters, statistics, subscribers, etc...)') %>" "<%= __('Are you sure? All of your MailPoet data will be permanently erased (newsletters, statistics, subscribers, etc.)') %>"
)) { )) {
MailPoet.Modal.loading(true); MailPoet.Modal.loading(true);
MailPoet.Ajax.post({ MailPoet.Ajax.post({

View File

@ -6,7 +6,7 @@
<%= __("Default sender") %> <%= __("Default sender") %>
</label> </label>
<p class="description"> <p class="description">
<%= __('These email addresses will be the defaults for each new email created.') %> <%= __('These email addresses will be selected by default for each new email') %>
</p> </p>
</th> </th>
<td> <td>
@ -47,7 +47,7 @@
<%= __("Email notifications") %> <%= __("Email notifications") %>
</label> </label>
<p class="description"> <p class="description">
<%= __('These email addresses will receive notifications (separate each address with a comma).') %> <%= __('These email addresses will receive notifications (separate each address with a comma)') %>
</p> </p>
</th> </th>
<td> <td>
@ -88,7 +88,7 @@
<%= __('Subscribe in comments') %> <%= __('Subscribe in comments') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Visitors that comment on a post can click on a checkbox to subscribe to your list.') %> <%= __('Visitors that comment on a post can subscribe to your list via a checkbox') %>
</p> </p>
</th> </th>
<td> <td>
@ -112,7 +112,7 @@
<% if(settings.subscribe.on_comment.label) %> <% if(settings.subscribe.on_comment.label) %>
value="<%= settings.subscribe.on_comment.label %>" value="<%= settings.subscribe.on_comment.label %>"
<% else %> <% else %>
value="<%= __('Yes, add me to your mailing list.') %>" value="<%= __('Yes, add me to your mailing list') %>"
<% endif %> <% endif %>
/> />
</p> </p>
@ -148,7 +148,7 @@
<%= __('Subscribe in registration form') %> <%= __('Subscribe in registration form') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Allow users who register on your site to subscribe to a list.') %> <%= __('Allow users who register on your site to subscribe to a list') %>
</p> </p>
</th> </th>
<td> <td>
@ -176,7 +176,7 @@
<% if(settings.subscribe.on_register.label) %> <% if(settings.subscribe.on_register.label) %>
value="<%= settings.subscribe.on_register.label %>" value="<%= settings.subscribe.on_register.label %>"
<% else %> <% else %>
value="<%= __('Yes, add me to your mailing list.') %>" value="<%= __('Yes, add me to your mailing list') %>"
<% endif %> <% endif %>
/> />
</p> </p>
@ -203,7 +203,7 @@
</div> </div>
<% else %> <% else %>
<p> <p>
<em><%= __('Registration is disabled on this site.') %></em> <em><%= __('Registration is disabled on this site') %></em>
</p> </p>
<% endif %> <% endif %>
</td> </td>
@ -215,7 +215,7 @@
<%= __('Manage Subscription page') %> <%= __('Manage Subscription page') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Your subscribers will be directed to this page when they click the "Manage your subscription" link in your email.') %> <%= __('When your subscribers click the "Manage your subscription" link, they will be directed to this page') %>
</p> </p>
</th> </th>
<td> <td>
@ -270,9 +270,9 @@
<%= __('Unsubscribe page') %> <%= __('Unsubscribe page') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Your subscribers will be directed to this page when they click the "Unsubscribe" link in your email.') %> <%= __('When your subscribers click the "Unsubscribe" link, they will be directed to this page') %>
<br /> <br />
<%= __('Use this shortcode on your website\'s WordPress pages: [mailpoet_manage text="Manage your subscription"].') %> <%= __('Use this shortcode on your website\'s WordPress pages: [mailpoet_manage text="Manage your subscription"]') %>
</p> </p>
</th> </th>
<td> <td>
@ -307,7 +307,7 @@
<%= __('Archive page shortcode') %> <%= __('Archive page shortcode') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Paste this shortcode on a page to display a list of past newsletters.') %> <%= __('Paste this shortcode on a page to display a list of past newsletters') %>
</p> </p>
</th> </th>
<td> <td>
@ -343,7 +343,7 @@
<%= __('This shortcode displays the total number of subscribers') %> <%= __('This shortcode displays the total number of subscribers') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Paste this shortcode on a post or page to display the total number of confirmed subscribers.') %> <%= __('Paste this shortcode on a post or page to display the total number of confirmed subscribers') %>
</p> </p>
</th> </th>
<td> <td>

View File

@ -263,7 +263,7 @@
id="mailpoet_bounce_test" id="mailpoet_bounce_test"
class="button-secondary" class="button-secondary"
href="javascript:;" href="javascript:;"
><%= __('Is it working? Try to connect.') %></a> ><%= __('Is it working? Try to connect') %></a>
</label> </label>
</th> </th>
<td id="mailpoet_bounce_test_result"></td> <td id="mailpoet_bounce_test_result"></td>

View File

@ -55,7 +55,7 @@
</h3> </h3>
<p class="mailpoet_description"> <p class="mailpoet_description">
<strong><%= __('Currently in closed beta.') %></strong> <strong><%= __('Currently in Closed Beta') %></strong>
<br /> <br />
<%= __('[link]Sign up to our newsletter[/link] to get our latest news on our sending service plus other useful tips and tricks.') <%= __('[link]Sign up to our newsletter[/link] to get our latest news on our sending service plus other useful tips and tricks.')
| replace({ | replace({
@ -83,9 +83,9 @@
<h3><%= __('Your web host / web server') %></h3> <h3><%= __('Your web host / web server') %></h3>
<p class="mailpoet_description"> <p class="mailpoet_description">
<strong><%= __('Free, but not recommended.') %></strong> <strong><%= __('Free, but not recommended') %></strong>
<br /> <br />
<%= __('Web hosts generally have a bad reputation as a sender. Your newsletter will probably be considered spam.') %> <%= __('Web hosts generally have a bad reputation as a sender. Your newsletter will probably be considered spam') %>
</p> </p>
<div class="mailpoet_status"> <div class="mailpoet_status">
@ -105,9 +105,9 @@
<h3><%= __('Third-party') %></h3> <h3><%= __('Third-party') %></h3>
<p class="mailpoet_description"> <p class="mailpoet_description">
<strong><%= __('Currently the best solution.') %></strong> <strong><%= __('Currently the best solution') %></strong>
<br /> <br />
<%= __('Send with an external email provider. This is usually not free.') %> <%= __('Send with an external email provider. This is usually not free') %>
</p> </p>
<div class="mailpoet_status"> <div class="mailpoet_status">
@ -245,9 +245,9 @@
</p> </p>
<br /> <br />
<p> <p>
<%= __('<strong>Warning!</strong> Sending more than the recommended amount of emails? You may break the terms of your web host or provider.') %>' <%= __('<strong>Warning!</strong> Sending more than the recommended amount of emails? You may break the terms of your web host or provider!') %>'
<br /> <br />
<%= __('Please ask your host for the maximum number of emails you are allowed to send per day.') %> <%= __('Please ask your host for the maximum number of emails you are allowed to send per day') %>
</p> </p>
</div> </div>
</td> </td>
@ -546,7 +546,7 @@
<%= __('Authentication') %> <%= __('Authentication') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('Leave this option set to Yes. Only a tiny portion of SMTP services prefer Authentication to be turned off.') %> <%= __('Leave this option set to Yes. Only a tiny portion of SMTP services prefer Authentication to be turned off') %>
</p> </p>
</th> </th>
<td> <td>
@ -588,12 +588,12 @@
<%= __('SPF Signature (Highly recommended!)') %> <%= __('SPF Signature (Highly recommended!)') %>
</label> </label>
<p class="description"> <p class="description">
<%= __("Improves your delivery rate by verifying that you're allowed to send emails from your domain.") %> <%= __("Improves your delivery rate by verifying that you're allowed to send emails from your domain") %>
</p> </p>
</th> </th>
<td> <td>
<p> <p>
<%= __("SPF is set up in your DNS. Read your host's support documentation for more information.") %> <%= __("SPF is set up in your DNS. Read your host's support documentation for more information") %>
</p> </p>
</td> </td>
</tr> </tr>
@ -631,7 +631,7 @@
<a <a
href="javascript:;" href="javascript:;"
class="mailpoet_mta_setup_cancel" class="mailpoet_mta_setup_cancel"
><%= __('or cancel.') %></a> ><%= __('or Cancel') %></a>
</p> </p>
</th> </th>
<td></td> <td></td>
@ -688,9 +688,9 @@
data: { data: {
mailer: mailer, mailer: mailer,
newsletter: { newsletter: {
subject: "<%= __('This is a sending method test.') %>", subject: "<%= __('This is a Sending Method Test') %>",
body: { body: {
text: "<%= __('Yup, it works. You can start blasting away emails to the moon.') %>" text: "<%= __('Yup, it works! You can start blasting away emails to the moon.') %>"
} }
}, },
subscriber: { subscriber: {
@ -709,7 +709,7 @@
} else { } else {
if (response.errors) { if (response.errors) {
MailPoet.Notice.error( MailPoet.Notice.error(
"<%= __('The email could not be sent.') %> " + response.errors, "<%= __('The email could not be sent: ') %> " + response.errors,
{ scroll: true } { scroll: true }
); );
} }

View File

@ -151,7 +151,7 @@
<%= __('Confirmation page') %> <%= __('Confirmation page') %>
</label> </label>
<p class="description"> <p class="description">
<%= __('When subscribers click on the activation link, they are redirected to this page.') %> <%= __('When subscribers click on the activation link, they are redirected to this page') %>
</p> </p>
</th> </th>
<td> <td>
@ -192,9 +192,9 @@
var result = false; var result = false;
if(~~($(this).val()) === 1) { if(~~($(this).val()) === 1) {
result = confirm("<%= __('Subscribers will need to activate their subscription via email in order to receive your newsletters. This is highly recommended.') %>"); result = confirm("<%= __('Subscribers will need to activate their subscription via email in order to receive your newsletters. This is highly recommended!') %>");
} else { } else {
result = confirm("<%= __('Unconfirmed subscribers will receive your newsletters from without needing to activate their subscriptions.') %>"); result = confirm("<%= __('Unconfirmed subscribers will receive your newsletters from without needing to activate their subscriptions. This is not recommended!') %>");
} }
// if the user confirmed changing the signup confirmation (yes/no) // if the user confirmed changing the signup confirmation (yes/no)
if(result === true) { if(result === true) {

View File

@ -8,7 +8,7 @@
<!-- number of emails per day --> <!-- number of emails per day -->
<%= <%=
__("That's <strong>%1$s emails</strong> per day.") __("That's <strong>%1$s emails</strong> per day")
| format('{{ daily_emails }}') | format('{{ daily_emails }}')
| raw | raw
%> %>
@ -17,7 +17,7 @@
<br /><br /> <br /><br />
<span style="color: #d54e21;"> <span style="color: #d54e21;">
<%= <%=
__("That's %1$s emails per second. <strong>We highly recommend to send 1 email per second at most.</strong> This is the time MailPoet needs to process and send a single email from most hosts. <strong>Alternatively, send with MailPoet which can be 50 times faster.</strong>") __("That's %1$s emails per second. <strong>We highly recommend to send 1 email per second, at the absolute maximum.</strong> MailPoet needs at least one second to process and send a single email (on most hosts.) <strong>Alternatively, send with MailPoet, which can be up to 50 times faster.</strong>")
| format('{{ emails_per_second }}') | format('{{ emails_per_second }}')
| raw | raw
%> %>

View File

@ -8,7 +8,7 @@
</h1> </h1>
<% if segments is empty %> <% if segments is empty %>
<div class="error"> <div class="error">
<p><%= __("Yikes! Couldn't find any subscribers.") %></p> <p><%= __("Yikes! Couldn't find any subscribers") %></p>
</div> </div>
<% endif %> <% endif %>
<div class="inside"> <div class="inside">

View File

@ -32,26 +32,26 @@
<% block translations %> <% block translations %>
<%= localize({ <%= localize({
'noMailChimpLists': __('No active lists found.'), 'noMailChimpLists': __('No active lists found'),
'serverError': __('Server error:'), 'serverError': __('Server error:'),
'select': __('Select'), 'select': __('Select'),
'csvKBLink': csvKBLink, 'csvKBLink': csvKBLink,
'wrongFileFormat': __('Only comma-separated (CSV) file formats are supported.'), 'wrongFileFormat': __('Only comma-separated (CSV) file formats are supported'),
'maxPostSizeNotice': __('Your CSV is over %s and is too big to process. Please split the file into two or more sections.')|replace({'%s': maxPostSize}), 'maxPostSizeNotice': __('Your CSV is over %s and is too big to process. Please split the file into two or more sections.')|replace({'%s': maxPostSize}),
'dataProcessingError': __("Your data could not be processed. Please make sure it is in the correct format."), 'dataProcessingError': __("Your data could not be processed. Please make sure it is in the correct format."),
'noValidRecords': __('No valid records were found. This file needs to be formatted in a CSV style (comma-separated.) Look at some [link]examples on our support site[/link]'), 'noValidRecords': __('No valid records were found. This file needs to be formatted in a CSV style (comma-separated.) Look at some [link]examples on our support site[/link]'),
'importNoticeSkipped': __('%1$s records had issues and were skipped.'), 'importNoticeSkipped': __('%1$s records had issues and were skipped'),
'importNoticeInvalid': __('%1$s emails are not valid : %2$s.'), 'importNoticeInvalid': __('%1$s emails are not valid : %2$s'),
'importNoticeDuplicate': __('%1$s emails appear more than once in your file : %2$s.'), 'importNoticeDuplicate': __('%1$s emails appear more than once in your file : %2$s'),
'hideDetails': __('Hide details.'), 'hideDetails': __('Hide details'),
'showDetails': __('Show more details.'), 'showDetails': __('Show more details'),
'segmentSelectionRequired': __('Please select at least one list.'), 'segmentSelectionRequired': __('Please select at least one list'),
'addNewList': __('Add new list'), 'addNewList': __('Add new list'),
'addNewColumuserColumnsn': __('Add new list'), 'addNewColumuserColumnsn': __('Add new list'),
'userColumns': __('User columns'), 'userColumns': __('User columns'),
'selectedValueAlreadyMatched': __('The selected value is already matched to another column.'), 'selectedValueAlreadyMatched': __('The selected value is already matched to another column'),
'confirmCorrespondingColumn': __('Confirm that this column corresponds to the selected field.'), 'confirmCorrespondingColumn': __('Confirm that this column corresponds to the selected field'),
'columnContainInvalidElement': __('One of the columns contains an invalid email. Please fix it before continuing.'), 'columnContainInvalidElement': __('One of the columns contains an invalid email. Please fix it before continuing'),
'january': __('January'), 'january': __('January'),
'february': __('February'), 'february': __('February'),
'march': __('March'), 'march': __('March'),
@ -64,17 +64,17 @@
'october': __('October'), 'october': __('October'),
'november': __('November'), 'november': __('November'),
'december': __('December'), 'december': __('December'),
'noDateFieldMatch': __("Do not match as a 'date field' if most of the rows for that column return the same error."), 'noDateFieldMatch': __("Do not match as a 'date field' if most of the rows for that column return the same error"),
'emptyDate': __('Date cannot be empty'), 'emptyDate': __('Date cannot be empty'),
'verifyDateMatch': __('Verify that the date in blue matches the original date'), 'verifyDateMatch': __('Verify that the date in blue matches the original date'),
'pm': __('PM'), 'pm': __('PM'),
'am': __('AM'), 'am': __('AM'),
'dateMatchError': __('Error matching date.'), 'dateMatchError': __('Error matching date'),
'columnContainsInvalidDate': __('One of the columns contains an invalid date. Please fix it before continuing.'), 'columnContainsInvalidDate': __('One of the columns contains an invalid date. Please fix it before continuing'),
'listCreateError': __('Error adding a new segment:'), 'listCreateError': __('Error adding a new segment:'),
'columnContainsInvalidElement': __('One of the columns contains an invalid email. Please fix before continuing.'), 'columnContainsInvalidElement': __('One of the columns contains an invalid email. Please fix before continuing'),
'customFieldCreateError': __('Custom field could not be created.'), 'customFieldCreateError': __('Custom field could not be created'),
'subscribersCreated': __('%1$s subscribers added to %2$s.'), 'subscribersCreated': __('%1$s subscribers added to %2$s.'),
'subscribersUpdated': __('%1$s existing subscribers were updated and added to %2$s.') 'subscribersUpdated': __('%1$s existing subscribers were updated and added to %2$s')
}) %> }) %>
<% endblock %> <% endblock %>

View File

@ -113,7 +113,7 @@
<%= ('If the answer is "no", consider yourself a spammer.') %> <%= ('If the answer is "no", consider yourself a spammer.') %>
<br/> <br/>
<%= <%=
__('[link]Read more on support.mailpoet.com[/link].') __('[link]Read more on support.mailpoet.com[/link]')
|replace({ |replace({
'[link]': '<a target="_blank" href="http://support.mailpoet.com/knowledgebase/dont-import-subscribers-who-didnt-sign-up/#utm_source=wpadmin&utm_campaign=importwarning">', '[link]': '<a target="_blank" href="http://support.mailpoet.com/knowledgebase/dont-import-subscribers-who-didnt-sign-up/#utm_source=wpadmin&utm_campaign=importwarning">',
'[/link]': '</a>' '[/link]': '</a>'

View File

@ -34,12 +34,12 @@
<th scope="row"> <th scope="row">
<label> <label>
<%= __('Pick one or many segments') %> <%= __('Pick one or many segments') %>
<p class="description"><%= __('Pick the segments you want to import these subscribers to.') %> <p class="description"><%= __('Pick the segments that you want to import these subscribers to.') %>
</label> </label>
</th> </th>
<td> <td>
<select id="mailpoet_segments_select" data-placeholder="<%= __('Select') %>" multiple="multiple"></select> <select id="mailpoet_segments_select" data-placeholder="<%= __('Select') %>" multiple="multiple"></select>
<a href="javascript:;" class="mailpoet_create_segment"><%= __('Create new list') %></a> <a href="javascript:;" class="mailpoet_create_segment"><%= __('Create a new list') %></a>
</td> </td>
</tr> </tr>
<tr class="mailpoet_no_segments mailpoet_hidden"> <tr class="mailpoet_no_segments mailpoet_hidden">
@ -134,7 +134,7 @@
<input id="new_segment_name" type="text" name="name"/> <input id="new_segment_name" type="text" name="name"/>
</p> </p>
<p class="mailpoet_validation_error" data-error="segment_name_required"> <p class="mailpoet_validation_error" data-error="segment_name_required">
<%= __('Please specify a name.') %> <%= __('Please specify a name') %>
</p> </p>
<p class="mailpoet_validation_error" data-error="segment_name_not_unique"> <p class="mailpoet_validation_error" data-error="segment_name_not_unique">
<%= __('Another record already exists. Please specify a different "%1$s".')|format('name') %> <%= __('Another record already exists. Please specify a different "%1$s".')|format('name') %>
@ -192,10 +192,10 @@
<input id="new_column_name" type="text" name="name" value="{{ name }}"/> <input id="new_column_name" type="text" name="name" value="{{ name }}"/>
</p> </p>
<p class="mailpoet_validation_error" data-error="name_required"> <p class="mailpoet_validation_error" data-error="name_required">
<%= __('Please to specify a name.') %> <%= __('Please specify a name') %>
</p> </p>
<p class="mailpoet_validation_error" data-error="name_not_unique"> <p class="mailpoet_validation_error" data-error="name_not_unique">
<%= __('This name is already taken.') %> <%= __('This name is already taken') %>
</p> </p>
<hr/> <hr/>

View File

@ -25,10 +25,10 @@
<p>{{{updated}}}</p> <p>{{{updated}}}</p>
{{/if}} {{/if}}
{{#if no_action}} {{#if no_action}}
<p><%= __('No new subscribers were found/added.') %></p> <p><%= __('No new subscribers were found/added') %></p>
{{/if}} {{/if}}
{{#if added_to_segment_with_welcome_notification}} {{#if added_to_segment_with_welcome_notification}}
<p><%= __('Note: Imported subscribers will not receive any welcome emails.') %></p> <p><%= __('Note: Imported subscribers will not receive any welcome emails') %></p>
{{/if}} {{/if}}
</script> </script>
</div> </div>

View File

@ -17,12 +17,12 @@
'pageTitle': __('Subscribers'), 'pageTitle': __('Subscribers'),
'searchLabel': __('Search'), 'searchLabel': __('Search'),
'loadingItems': __('Loading subscribers...'), 'loadingItems': __('Loading subscribers...'),
'noItemsFound': __('No subscribers were found.'), 'noItemsFound': __('No subscribers were found'),
'selectAllLabel': __('All subscribers on this page are selected.'), 'selectAllLabel': __('All subscribers on this page are selected'),
'selectedAllLabel': __('All %d subscribers are selected.'), 'selectedAllLabel': __('All %d subscribers are selected'),
'selectAllLink': __('Select all subscribers on all pages.'), 'selectAllLink': __('Select all subscribers on all pages'),
'clearSelection': __('Clear selection.'), 'clearSelection': __('Clear selection'),
'permanentlyDeleted': __('%d subscribers were permanently deleted.'), 'permanentlyDeleted': __('%d subscribers were permanently deleted'),
'selectBulkAction': __('Select bulk action'), 'selectBulkAction': __('Select bulk action'),
'bulkActions': __('Bulk Actions'), 'bulkActions': __('Bulk Actions'),
'apply': __('Apply'), 'apply': __('Apply'),
@ -60,23 +60,23 @@
'lists': __('Lists'), 'lists': __('Lists'),
'subscribedOn': __('Subscribed on'), 'subscribedOn': __('Subscribed on'),
'lastModifiedOn': __('Last modified on'), 'lastModifiedOn': __('Last modified on'),
'oneSubscriberTrashed': __('1 subscriber was moved to the trash.'), 'oneSubscriberTrashed': __('1 subscriber was moved to the trash'),
'multipleSubscribersTrashed': __('%$1d subscribers were moved to the trash.'), 'multipleSubscribersTrashed': __('%$1d subscribers were moved to the trash'),
'oneSubscriberDeleted': __('1 subscriber was permanently deleted.'), 'oneSubscriberDeleted': __('1 subscriber was permanently deleted'),
'multipleSubscribersDeleted': __('%$1d subscribers were permanently deleted.'), 'multipleSubscribersDeleted': __('%$1d subscribers were permanently deleted'),
'oneSubscriberRestored': __('1 subscriber has been restored from the trash.'), 'oneSubscriberRestored': __('1 subscriber has been restored from the trash'),
'multipleSubscribersRestored': __('%$1d subscribers have been restored from the trash.'), 'multipleSubscribersRestored': __('%$1d subscribers have been restored from the trash'),
'moveToList': __('Move to list...'), 'moveToList': __('Move to list...'),
'multipleSubscribersMovedToList': __('%$1d subscribers were moved to list <strong>%$2s</strong>.'), 'multipleSubscribersMovedToList': __('%$1d subscribers were moved to list <strong>%$2s</strong>'),
'addToList': __('Add to list...'), 'addToList': __('Add to list...'),
'multipleSubscribersAddedToList': __('%$1d subscribers were added to list <strong>%$2s</strong>.'), 'multipleSubscribersAddedToList': __('%$1d subscribers were added to list <strong>%$2s</strong>'),
'removeFromList': __('Remove from list...'), 'removeFromList': __('Remove from list...'),
'multipleSubscribersRemovedFromList': __('%$1d subscribers were removed from list <strong>%$2s</strong>.'), 'multipleSubscribersRemovedFromList': __('%$1d subscribers were removed from list <strong>%$2s</strong>'),
'removeFromAllLists': __('Remove from all lists'), 'removeFromAllLists': __('Remove from all lists'),
'multipleSubscribersRemovedFromAllLists': __('%$1d subscribers were removed from all lists.'), 'multipleSubscribersRemovedFromAllLists': __('%$1d subscribers were removed from all lists'),
'resendConfirmationEmail': __('Resend confirmation email'), 'resendConfirmationEmail': __('Resend confirmation email'),
'multipleConfirmationEmailsSent': __('%$1d confirmation emails have been sent.'), 'multipleConfirmationEmailsSent': __('%$1d confirmation emails have been sent'),
'listsToWhichSubscriberWasSubscribed': __('Lists to which the subscriber was subscribed.'), 'listsToWhichSubscriberWasSubscribed': __('Lists to which the subscriber was subscribed'),
'WPUsersSegment': __('WordPress Users'), 'WPUsersSegment': __('WordPress Users'),
'WPUserEditNotice': __('This subscriber is a registered WordPress user. [link]Edit his profile[/link] to change his/her email.'), 'WPUserEditNotice': __('This subscriber is a registered WordPress user. [link]Edit his profile[/link] to change his/her email.'),
'tip': __('Tip:'), 'tip': __('Tip:'),

View File

@ -79,8 +79,8 @@
<h2> <h2>
<%= __('Welcome to MailPoet') %> <%= settings.version %> <%=__('BETA') %> <%= __('Welcome to MailPoet') %> <%= settings.version %> <%=__('BETA') %>
</h2> </h2>
<p>Youre one our extra special testers! We salute you.</p> <p>Youre one of our extra special testers! We salute you.</p>
<h3 class="changes">Big changes...watch the video!</h3> <h3 class="changes">Big changes are coming. Check out the video for more details!</h3>
<iframe src="https://player.vimeo.com/video/130151897?title=0&byline=0&portr <iframe src="https://player.vimeo.com/video/130151897?title=0&byline=0&portr
ait=0" width="710" height="399" frameborder="0" webkitallowfullscreen ait=0" width="710" height="399" frameborder="0" webkitallowfullscreen
mozallowfullscreen allowfullscreen></iframe> mozallowfullscreen allowfullscreen></iframe>