MailChimp for WordPress - Version 4.1.6

Version Description

Download this release

Release Info

Developer DvanKooten
Plugin Icon 128x128 MailChimp for WordPress
Version 4.1.6
Comparing to
See all releases

Code changes from version 4.1.5 to 4.1.6

CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
  Changelog
2
  =========
3
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  #### 4.1.5 - June 27, 2017
5
 
6
  **Fixes**
1
  Changelog
2
  =========
3
 
4
+ #### 4.1.6 - July 31, 2017
5
+
6
+ **Fixes**
7
+
8
+ - Method on API class for retrieving campaign data.
9
+
10
+ **Improvements**
11
+
12
+ - Show Akamai reference number when an API request is blocked by MailChimp's firewall.
13
+ - Minor output buffering improvements in form previewer.
14
+
15
+
16
  #### 4.1.5 - June 27, 2017
17
 
18
  **Fixes**
includes/admin/class-admin.php CHANGED
@@ -1,58 +1,58 @@
1
  <?php
2
 
3
  /**
4
- * Class MC4WP_Admin
5
- *
6
- * @ignore
7
- * @access private
8
- */
9
  class MC4WP_Admin {
10
 
11
  /**
12
- * @var string The relative path to the main plugin file from the plugins dir
13
- */
14
  protected $plugin_file;
15
 
16
  /**
17
- * @var MC4WP_MailChimp
18
- */
19
  protected $mailchimp;
20
 
21
  /**
22
- * @var MC4WP_Admin_Messages
23
- */
24
  protected $messages;
25
 
26
  /**
27
- * @var MC4WP_Admin_Ads
28
- */
29
  protected $ads;
30
 
31
- /**
32
- * @var MC4WP_Admin_Tools
33
- */
34
- protected $tools;
35
 
36
  /**
37
- * Constructor
38
- *
39
- * @param MC4WP_Admin_Tools $tools
40
- * @param MC4WP_Admin_Messages $messages
41
- * @param MC4WP_MailChimp $mailchimp
42
- */
43
  public function __construct( MC4WP_Admin_Tools $tools, MC4WP_Admin_Messages $messages, MC4WP_MailChimp $mailchimp ) {
44
- $this->tools = $tools;
45
  $this->mailchimp = $mailchimp;
46
  $this->messages = $messages;
47
  $this->plugin_file = plugin_basename( MC4WP_PLUGIN_FILE );
48
  $this->ads = new MC4WP_Admin_Ads();
49
- $this->review_notice = new MC4WP_Admin_Review_Notice( $tools );
50
  $this->load_translations();
51
  }
52
 
53
  /**
54
- * Registers all hooks
55
- */
56
  public function add_hooks() {
57
 
58
  // Actions used globally throughout WP Admin
@@ -70,14 +70,14 @@ class MC4WP_Admin {
70
 
71
  $this->ads->add_hooks();
72
  $this->messages->add_hooks();
73
- $this->review_notice->add_hooks();
74
  }
75
 
76
  /**
77
- * Initializes various stuff used in WP Admin
78
- *
79
- * - Registers settings
80
- */
81
  public function initialize() {
82
 
83
  // register settings
@@ -92,8 +92,8 @@ class MC4WP_Admin {
92
 
93
 
94
  /**
95
- * Listen for `_mc4wp_action` requests
96
- */
97
  public function listen_for_actions() {
98
 
99
  // listen for any action (if user is authorised)
@@ -104,15 +104,15 @@ class MC4WP_Admin {
104
  $action = (string) $_REQUEST['_mc4wp_action'];
105
 
106
  /**
107
- * Allows you to hook into requests containing `_mc4wp_action` => action name.
108
- *
109
- * The dynamic portion of the hook name, `$action`, refers to the action name.
110
- *
111
- * By the time this hook is fired, the user is already authorized. After processing all the registered hooks,
112
- * the request is redirected back to the referring URL.
113
- *
114
- * @since 3.0
115
- */
116
  do_action( 'mc4wp_admin_' . $action );
117
 
118
  // redirect back to where we came from
@@ -122,8 +122,8 @@ class MC4WP_Admin {
122
  }
123
 
124
  /**
125
- * Register dashboard widgets
126
- */
127
  public function register_dashboard_widgets() {
128
 
129
  if( ! $this->tools->is_user_authorized() ) {
@@ -131,21 +131,21 @@ class MC4WP_Admin {
131
  }
132
 
133
  /**
134
- * Setup dashboard widget, users are authorized by now.
135
- *
136
- * Use this hook to register your own dashboard widgets for users with the required capability.
137
- *
138
- * @since 3.0
139
- * @ignore
140
- */
141
  do_action( 'mc4wp_dashboard_setup' );
142
 
143
  return true;
144
  }
145
 
146
  /**
147
- * Upgrade routine
148
- */
149
  private function init_upgrade_routines() {
150
 
151
  // upgrade routine for upgrade routine....
@@ -157,36 +157,36 @@ class MC4WP_Admin {
157
 
158
  $previous_version = get_option( 'mc4wp_version', 0 );
159
 
160
- // allow setting migration version from URL, to easily re-run previous migrations.
161
- if( isset( $_GET['mc4wp_run_migration'] ) ) {
162
- $previous_version = $_GET['mc4wp_run_migration'];
163
- }
164
 
165
- // Ran upgrade routines before?
166
- if( empty( $previous_version ) ) {
167
- update_option( 'mc4wp_version', MC4WP_VERSION );
168
 
169
- // if we have at least one form, we're going to run upgrade routine for v3 => v4 anyway.
170
- // TODO: Remove this once we hit 4.2.x
171
- $posts = get_posts( array( 'post_type' => 'mc4wp-form', 'numberposts' => 1 ) );
172
- if( empty( $posts ) ) {
173
- return false;
174
- }
175
 
176
- $previous_version = '3.9';
177
- }
178
 
179
- // Rollback'ed?
180
- if( version_compare( $previous_version, MC4WP_VERSION, '>' ) ) {
181
- update_option( 'mc4wp_version', MC4WP_VERSION );
182
- return false;
183
- }
184
 
185
  // This means we're good!
186
  if( version_compare( $previous_version, MC4WP_VERSION ) > -1 ) {
187
  return false;
188
  }
189
-
190
  define( 'MC4WP_DOING_UPGRADE', true );
191
  $upgrade_routines = new MC4WP_Upgrade_Routines( $previous_version, MC4WP_VERSION, dirname( __FILE__ ) . '/migrations' );
192
  $upgrade_routines->run();
@@ -194,8 +194,8 @@ class MC4WP_Admin {
194
  }
195
 
196
  /**
197
- * Renew MailChimp lists cache
198
- */
199
  public function renew_lists_cache() {
200
  // try getting new lists to fill cache again
201
  $lists = $this->mailchimp->fetch_lists();
@@ -206,26 +206,26 @@ class MC4WP_Admin {
206
  }
207
 
208
  /**
209
- * Load the plugin translations
210
- */
211
  private function load_translations() {
212
  // load the plugin text domain
213
  load_plugin_textdomain( 'mailchimp-for-wp', false, dirname( $this->plugin_file ) . '/languages' );
214
  }
215
 
216
  /**
217
- * Customize texts throughout WP Admin
218
- */
219
  public function customize_admin_texts() {
220
  $texts = new MC4WP_Admin_Texts( $this->plugin_file );
221
  $texts->add_hooks();
222
  }
223
 
224
  /**
225
- * Validates the General settings
226
- * @param array $settings
227
- * @return array
228
- */
229
  public function save_general_settings( array $settings ) {
230
 
231
  $current = mc4wp_get_options();
@@ -253,32 +253,32 @@ class MC4WP_Admin {
253
 
254
 
255
  /**
256
- * Runs right before general settings are saved.
257
- *
258
- * @param array $settings The updated settings array
259
- * @param array $current The old settings array
260
- */
261
  do_action( 'mc4wp_save_settings', $settings, $current );
262
 
263
  return $settings;
264
  }
265
 
266
  /**
267
- * Load scripts and stylesheet on MailChimp for WP Admin pages
268
- *
269
- * @return bool
270
  */
271
  public function enqueue_assets() {
272
 
273
  global $wp_scripts;
274
 
275
 
276
- if( ! $this->tools->on_plugin_page() ) {
277
- return false;
278
- }
279
 
280
  $opts = mc4wp_get_options();
281
- $page = $this->tools->get_plugin_page();
282
  $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
283
 
284
  // css
@@ -294,222 +294,228 @@ class MC4WP_Admin {
294
  wp_enqueue_script( array( 'jquery', 'es5-shim', 'mc4wp-admin' ) );
295
 
296
  wp_localize_script( 'mc4wp-admin', 'mc4wp_vars',
297
- array(
298
- 'mailchimp' => array(
299
- 'api_connected' => ! empty( $opts['api_key'] ),
300
- 'lists' => $this->mailchimp->get_cached_lists()
301
- ),
302
- 'countries' => MC4WP_Tools::get_countries(),
303
- 'i18n' => array(
304
- 'pro_only' => __( 'This is a pro-only feature. Please upgrade to the premium version to be able to use it.', 'mailchimp-for-wp' ),
305
- 'renew_mailchimp_lists' => __( 'Renew MailChimp lists', 'mailchimp-for-wp' ),
306
- 'fetching_mailchimp_lists' => __( 'Fetching MailChimp lists', 'mailchimp-for-wp' ),
307
- 'fetching_mailchimp_lists_done' => __( 'Done! MailChimp lists renewed.', 'mailchimp-for-wp' ),
308
- 'fetching_mailchimp_lists_can_take_a_while' => __( 'This can take a while if you have many MailChimp lists.', 'mailchimp-for-wp' ),
309
- 'fetching_mailchimp_lists_error' => __( 'Failed to renew your lists. An error occured.', 'mailchimp-for-wp' ),
310
- )
311
- )
312
- );
313
-
314
- /**
315
- * Hook to enqueue your own custom assets on the MailChimp for WordPress setting pages.
316
- *
317
- * @since 3.0
318
- *
319
- * @param string $suffix
320
- * @param string $page
321
- */
322
- do_action( 'mc4wp_admin_enqueue_assets', $suffix, $page );
323
-
324
- return true;
325
- }
326
-
327
-
328
-
329
- /**
330
- * Register the setting pages and their menu items
331
- */
332
- public function build_menu() {
333
- $required_cap = $this->tools->get_required_capability();
334
-
335
- $menu_items = array(
336
- 'general' => array(
337
- 'title' => __( 'MailChimp API Settings', 'mailchimp-for-wp' ),
338
- 'text' => __( 'MailChimp', 'mailchimp-for-wp' ),
339
- 'slug' => '',
340
- 'callback' => array( $this, 'show_generals_setting_page' ),
341
- 'position' => 0
342
  ),
343
- 'other' => array(
344
- 'title' => __( 'Other Settings', 'mailchimp-for-wp' ),
345
- 'text' => __( 'Other', 'mailchimp-for-wp' ),
346
- 'slug' => 'other',
347
- 'callback' => array( $this, 'show_other_setting_page' ),
348
- 'position' => 90
349
- )
350
- );
351
-
352
- /**
353
- * Filters the menu items to appear under the main menu item.
354
- *
355
- * To add your own item, add an associative array in the following format.
356
- *
357
- * $menu_items[] = array(
358
- * 'title' => 'Page title',
359
- * 'text' => 'Menu text',
360
- * 'slug' => 'Page slug',
361
- * 'callback' => 'my_page_function',
362
- * 'position' => 50
363
- * );
364
- *
365
- * @param array $menu_items
366
- * @since 3.0
367
- */
368
- $menu_items = (array) apply_filters( 'mc4wp_admin_menu_items', $menu_items );
369
-
370
- // add top menu item
371
- add_menu_page( 'MailChimp for WP', 'MailChimp for WP', $required_cap, 'mailchimp-for-wp', array( $this, 'show_generals_setting_page' ), MC4WP_PLUGIN_URL . 'assets/img/icon.png', '99.68491' );
372
-
373
- // sort submenu items by 'position'
374
- uasort( $menu_items, array( $this, 'sort_menu_items_by_position' ) );
375
-
376
- // add sub-menu items
377
- array_walk( $menu_items, array( $this, 'add_menu_item' ) );
378
- }
379
-
380
- /**
381
- * @param array $item
382
- */
383
- public function add_menu_item( array $item ) {
384
-
385
- // generate menu slug
386
- $slug = 'mailchimp-for-wp';
387
- if( ! empty( $item['slug'] ) ) {
388
- $slug .= '-' . $item['slug'];
389
- }
390
-
391
- // provide some defaults
392
- $parent_slug = ! empty( $item['parent_slug']) ? $item['parent_slug'] : 'mailchimp-for-wp';
393
- $capability = ! empty( $item['capability'] ) ? $item['capability'] : $this->tools->get_required_capability();
394
-
395
- // register page
396
- $hook = add_submenu_page( $parent_slug, $item['title'] . ' - MailChimp for WordPress', $item['text'], $capability, $slug, $item['callback'] );
397
-
398
- // register callback for loading this page, if given
399
- if( array_key_exists( 'load_callback', $item ) ) {
400
- add_action( 'load-' . $hook, $item['load_callback'] );
401
- }
402
- }
403
-
404
- /**
405
- * Show the API Settings page
406
- */
407
- public function show_generals_setting_page() {
408
- $opts = mc4wp_get_options();
409
-
410
- $connected = ! empty( $opts['api_key'] );
411
- if( $connected ) {
412
- try {
413
- $connected = $this->get_api()->is_connected();
414
- } catch( MC4WP_API_Connection_Exception $e ) {
415
- $message = sprintf( "<strong>%s</strong><br /> %s", __( "Error connecting to MailChimp:", 'mailchimp-for-wp' ), $e );
416
- $message .= '<br /><br />' . sprintf( '<a href="%s">' . __( 'Here\'s some info on solving common connectivity issues.', 'mailchimp-for-wp' ) . '</a>', 'https://kb.mc4wp.com/solving-connectivity-issues/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-notice' );
417
- $this->messages->flash( $message, 'error' );
418
- $connected = false;
419
- } catch( MC4WP_API_Exception $e ) {
420
- $this->messages->flash( sprintf( "<strong>%s</strong><br /> %s", __( "MailChimp returned the following error:", 'mailchimp-for-wp' ), $e ), 'error' );
421
- $connected = false;
422
- }
423
- }
424
-
425
- $lists = $this->mailchimp->get_cached_lists();
426
- $obfuscated_api_key = mc4wp_obfuscate_string( $opts['api_key'] );
427
- require MC4WP_PLUGIN_DIR . 'includes/views/general-settings.php';
428
- }
429
-
430
- /**
431
- * Show the Other Settings page
432
- */
433
- public function show_other_setting_page() {
434
- $opts = mc4wp_get_options();
435
- $log = $this->get_log();
436
- $log_reader = new MC4WP_Debug_Log_Reader( $log->file );
437
- require MC4WP_PLUGIN_DIR . 'includes/views/other-settings.php';
438
- }
439
-
440
- /**
441
- * @param $a
442
- * @param $b
443
- *
444
- * @return int
445
- */
446
- public function sort_menu_items_by_position( $a, $b ) {
447
- $pos_a = isset( $a['position'] ) ? $a['position'] : 80;
448
- $pos_b = isset( $b['position'] ) ? $b['position'] : 90;
449
- return $pos_a < $pos_b ? -1 : 1;
450
- }
451
-
452
- /**
453
- * Empties the log file
454
- */
455
- public function empty_debug_log() {
456
- $log = $this->get_log();
457
- file_put_contents( $log->file, '' );
458
-
459
- $this->messages->flash( __( 'Log successfully emptied.', 'mailchimp-for-wp' ) );
460
- }
461
-
462
- /**
463
- * Shows a notice when API key is not set.
464
- */
465
- public function show_api_key_notice() {
466
-
467
- // don't show if on settings page already
468
- if( $this->tools->on_plugin_page( '' ) ) {
469
- return;
470
- }
471
-
472
- // only show to user with proper permissions
473
- if( ! $this->tools->is_user_authorized() ) {
474
- return;
475
- }
476
-
477
- // don't show if dismissed
478
- if( get_transient( 'mc4wp_api_key_notice_dismissed' ) ) {
479
- return;
480
- }
481
-
482
- // don't show if api key is set already
483
- $options = mc4wp_get_options();
484
- if( ! empty( $options['api_key'] ) ) {
485
- return;
486
  }
487
 
488
- echo '<div class="notice notice-warning mc4wp-is-dismissible">';
489
- echo '<p>' . sprintf( __( 'To get started with MailChimp for WordPress, please <a href="%s">enter your MailChimp API key on the settings page of the plugin</a>.', 'mailchimp-for-wp' ), admin_url( 'admin.php?page=mailchimp-for-wp' ) ) . '</p>';
490
- echo '<form method="post"><input type="hidden" name="_mc4wp_action" value="dismiss_api_key_notice" /><button type="submit" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></form>';
491
- echo '</div>';
492
- }
493
-
494
- /**
495
- * Dismisses the API key notice for 1 week
496
- */
497
- public function dismiss_api_key_notice() {
498
- set_transient( 'mc4wp_api_key_notice_dismissed', 1, 3600 * 24 * 7 );
499
- }
500
-
501
- /**
502
- * @return MC4WP_Debug_Log
503
- */
504
- protected function get_log() {
505
- return mc4wp('log');
506
- }
507
 
508
- /**
509
- * @return MC4WP_API_v3
510
- */
511
- protected function get_api() {
512
- return mc4wp('api');
513
- }
514
 
515
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
 
3
  /**
4
+ * Class MC4WP_Admin
5
+ *
6
+ * @ignore
7
+ * @access private
8
+ */
9
  class MC4WP_Admin {
10
 
11
  /**
12
+ * @var string The relative path to the main plugin file from the plugins dir
13
+ */
14
  protected $plugin_file;
15
 
16
  /**
17
+ * @var MC4WP_MailChimp
18
+ */
19
  protected $mailchimp;
20
 
21
  /**
22
+ * @var MC4WP_Admin_Messages
23
+ */
24
  protected $messages;
25
 
26
  /**
27
+ * @var MC4WP_Admin_Ads
28
+ */
29
  protected $ads;
30
 
31
+ /**
32
+ * @var MC4WP_Admin_Tools
33
+ */
34
+ protected $tools;
35
 
36
  /**
37
+ * Constructor
38
+ *
39
+ * @param MC4WP_Admin_Tools $tools
40
+ * @param MC4WP_Admin_Messages $messages
41
+ * @param MC4WP_MailChimp $mailchimp
42
+ */
43
  public function __construct( MC4WP_Admin_Tools $tools, MC4WP_Admin_Messages $messages, MC4WP_MailChimp $mailchimp ) {
44
+ $this->tools = $tools;
45
  $this->mailchimp = $mailchimp;
46
  $this->messages = $messages;
47
  $this->plugin_file = plugin_basename( MC4WP_PLUGIN_FILE );
48
  $this->ads = new MC4WP_Admin_Ads();
49
+ $this->review_notice = new MC4WP_Admin_Review_Notice( $tools );
50
  $this->load_translations();
51
  }
52
 
53
  /**
54
+ * Registers all hooks
55
+ */
56
  public function add_hooks() {
57
 
58
  // Actions used globally throughout WP Admin
70
 
71
  $this->ads->add_hooks();
72
  $this->messages->add_hooks();
73
+ $this->review_notice->add_hooks();
74
  }
75
 
76
  /**
77
+ * Initializes various stuff used in WP Admin
78
+ *
79
+ * - Registers settings
80
+ */
81
  public function initialize() {
82
 
83
  // register settings
92
 
93
 
94
  /**
95
+ * Listen for `_mc4wp_action` requests
96
+ */
97
  public function listen_for_actions() {
98
 
99
  // listen for any action (if user is authorised)
104
  $action = (string) $_REQUEST['_mc4wp_action'];
105
 
106
  /**
107
+ * Allows you to hook into requests containing `_mc4wp_action` => action name.
108
+ *
109
+ * The dynamic portion of the hook name, `$action`, refers to the action name.
110
+ *
111
+ * By the time this hook is fired, the user is already authorized. After processing all the registered hooks,
112
+ * the request is redirected back to the referring URL.
113
+ *
114
+ * @since 3.0
115
+ */
116
  do_action( 'mc4wp_admin_' . $action );
117
 
118
  // redirect back to where we came from
122
  }
123
 
124
  /**
125
+ * Register dashboard widgets
126
+ */
127
  public function register_dashboard_widgets() {
128
 
129
  if( ! $this->tools->is_user_authorized() ) {
131
  }
132
 
133
  /**
134
+ * Setup dashboard widget, users are authorized by now.
135
+ *
136
+ * Use this hook to register your own dashboard widgets for users with the required capability.
137
+ *
138
+ * @since 3.0
139
+ * @ignore
140
+ */
141
  do_action( 'mc4wp_dashboard_setup' );
142
 
143
  return true;
144
  }
145
 
146
  /**
147
+ * Upgrade routine
148
+ */
149
  private function init_upgrade_routines() {
150
 
151
  // upgrade routine for upgrade routine....
157
 
158
  $previous_version = get_option( 'mc4wp_version', 0 );
159
 
160
+ // allow setting migration version from URL, to easily re-run previous migrations.
161
+ if( isset( $_GET['mc4wp_run_migration'] ) ) {
162
+ $previous_version = $_GET['mc4wp_run_migration'];
163
+ }
164
 
165
+ // Ran upgrade routines before?
166
+ if( empty( $previous_version ) ) {
167
+ update_option( 'mc4wp_version', MC4WP_VERSION );
168
 
169
+ // if we have at least one form, we're going to run upgrade routine for v3 => v4 anyway.
170
+ // TODO: Remove this once we hit 4.2.x
171
+ $posts = get_posts( array( 'post_type' => 'mc4wp-form', 'numberposts' => 1 ) );
172
+ if( empty( $posts ) ) {
173
+ return false;
174
+ }
175
 
176
+ $previous_version = '3.9';
177
+ }
178
 
179
+ // Rollback'ed?
180
+ if( version_compare( $previous_version, MC4WP_VERSION, '>' ) ) {
181
+ update_option( 'mc4wp_version', MC4WP_VERSION );
182
+ return false;
183
+ }
184
 
185
  // This means we're good!
186
  if( version_compare( $previous_version, MC4WP_VERSION ) > -1 ) {
187
  return false;
188
  }
189
+
190
  define( 'MC4WP_DOING_UPGRADE', true );
191
  $upgrade_routines = new MC4WP_Upgrade_Routines( $previous_version, MC4WP_VERSION, dirname( __FILE__ ) . '/migrations' );
192
  $upgrade_routines->run();
194
  }
195
 
196
  /**
197
+ * Renew MailChimp lists cache
198
+ */
199
  public function renew_lists_cache() {
200
  // try getting new lists to fill cache again
201
  $lists = $this->mailchimp->fetch_lists();
206
  }
207
 
208
  /**
209
+ * Load the plugin translations
210
+ */
211
  private function load_translations() {
212
  // load the plugin text domain
213
  load_plugin_textdomain( 'mailchimp-for-wp', false, dirname( $this->plugin_file ) . '/languages' );
214
  }
215
 
216
  /**
217
+ * Customize texts throughout WP Admin
218
+ */
219
  public function customize_admin_texts() {
220
  $texts = new MC4WP_Admin_Texts( $this->plugin_file );
221
  $texts->add_hooks();
222
  }
223
 
224
  /**
225
+ * Validates the General settings
226
+ * @param array $settings
227
+ * @return array
228
+ */
229
  public function save_general_settings( array $settings ) {
230
 
231
  $current = mc4wp_get_options();
253
 
254
 
255
  /**
256
+ * Runs right before general settings are saved.
257
+ *
258
+ * @param array $settings The updated settings array
259
+ * @param array $current The old settings array
260
+ */
261
  do_action( 'mc4wp_save_settings', $settings, $current );
262
 
263
  return $settings;
264
  }
265
 
266
  /**
267
+ * Load scripts and stylesheet on MailChimp for WP Admin pages
268
+ *
269
+ * @return bool
270
  */
271
  public function enqueue_assets() {
272
 
273
  global $wp_scripts;
274
 
275
 
276
+ if( ! $this->tools->on_plugin_page() ) {
277
+ return false;
278
+ }
279
 
280
  $opts = mc4wp_get_options();
281
+ $page = $this->tools->get_plugin_page();
282
  $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
283
 
284
  // css
294
  wp_enqueue_script( array( 'jquery', 'es5-shim', 'mc4wp-admin' ) );
295
 
296
  wp_localize_script( 'mc4wp-admin', 'mc4wp_vars',
297
+ array(
298
+ 'mailchimp' => array(
299
+ 'api_connected' => ! empty( $opts['api_key'] ),
300
+ 'lists' => $this->mailchimp->get_cached_lists()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  ),
302
+ 'countries' => MC4WP_Tools::get_countries(),
303
+ 'i18n' => array(
304
+ 'pro_only' => __( 'This is a pro-only feature. Please upgrade to the premium version to be able to use it.', 'mailchimp-for-wp' ),
305
+ 'renew_mailchimp_lists' => __( 'Renew MailChimp lists', 'mailchimp-for-wp' ),
306
+ 'fetching_mailchimp_lists' => __( 'Fetching MailChimp lists', 'mailchimp-for-wp' ),
307
+ 'fetching_mailchimp_lists_done' => __( 'Done! MailChimp lists renewed.', 'mailchimp-for-wp' ),
308
+ 'fetching_mailchimp_lists_can_take_a_while' => __( 'This can take a while if you have many MailChimp lists.', 'mailchimp-for-wp' ),
309
+ 'fetching_mailchimp_lists_error' => __( 'Failed to renew your lists. An error occured.', 'mailchimp-for-wp' ),
310
+ )
311
+ )
312
+ );
313
+
314
+ /**
315
+ * Hook to enqueue your own custom assets on the MailChimp for WordPress setting pages.
316
+ *
317
+ * @since 3.0
318
+ *
319
+ * @param string $suffix
320
+ * @param string $page
321
+ */
322
+ do_action( 'mc4wp_admin_enqueue_assets', $suffix, $page );
323
+
324
+ return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  }
326
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
 
 
 
 
 
 
 
328
 
329
+ /**
330
+ * Register the setting pages and their menu items
331
+ */
332
+ public function build_menu() {
333
+ $required_cap = $this->tools->get_required_capability();
334
+
335
+ $menu_items = array(
336
+ 'general' => array(
337
+ 'title' => __( 'MailChimp API Settings', 'mailchimp-for-wp' ),
338
+ 'text' => __( 'MailChimp', 'mailchimp-for-wp' ),
339
+ 'slug' => '',
340
+ 'callback' => array( $this, 'show_generals_setting_page' ),
341
+ 'position' => 0
342
+ ),
343
+ 'other' => array(
344
+ 'title' => __( 'Other Settings', 'mailchimp-for-wp' ),
345
+ 'text' => __( 'Other', 'mailchimp-for-wp' ),
346
+ 'slug' => 'other',
347
+ 'callback' => array( $this, 'show_other_setting_page' ),
348
+ 'position' => 90
349
+ )
350
+ );
351
+
352
+ /**
353
+ * Filters the menu items to appear under the main menu item.
354
+ *
355
+ * To add your own item, add an associative array in the following format.
356
+ *
357
+ * $menu_items[] = array(
358
+ * 'title' => 'Page title',
359
+ * 'text' => 'Menu text',
360
+ * 'slug' => 'Page slug',
361
+ * 'callback' => 'my_page_function',
362
+ * 'position' => 50
363
+ * );
364
+ *
365
+ * @param array $menu_items
366
+ * @since 3.0
367
+ */
368
+ $menu_items = (array) apply_filters( 'mc4wp_admin_menu_items', $menu_items );
369
+
370
+ // add top menu item
371
+ add_menu_page( 'MailChimp for WP', 'MailChimp for WP', $required_cap, 'mailchimp-for-wp', array( $this, 'show_generals_setting_page' ), MC4WP_PLUGIN_URL . 'assets/img/icon.png', '99.68491' );
372
+
373
+ // sort submenu items by 'position'
374
+ uasort( $menu_items, array( $this, 'sort_menu_items_by_position' ) );
375
+
376
+ // add sub-menu items
377
+ array_walk( $menu_items, array( $this, 'add_menu_item' ) );
378
+ }
379
+
380
+ /**
381
+ * @param array $item
382
+ */
383
+ public function add_menu_item( array $item ) {
384
+
385
+ // generate menu slug
386
+ $slug = 'mailchimp-for-wp';
387
+ if( ! empty( $item['slug'] ) ) {
388
+ $slug .= '-' . $item['slug'];
389
+ }
390
+
391
+ // provide some defaults
392
+ $parent_slug = ! empty( $item['parent_slug']) ? $item['parent_slug'] : 'mailchimp-for-wp';
393
+ $capability = ! empty( $item['capability'] ) ? $item['capability'] : $this->tools->get_required_capability();
394
+
395
+ // register page
396
+ $hook = add_submenu_page( $parent_slug, $item['title'] . ' - MailChimp for WordPress', $item['text'], $capability, $slug, $item['callback'] );
397
+
398
+ // register callback for loading this page, if given
399
+ if( array_key_exists( 'load_callback', $item ) ) {
400
+ add_action( 'load-' . $hook, $item['load_callback'] );
401
+ }
402
+ }
403
+
404
+ /**
405
+ * Show the API Settings page
406
+ */
407
+ public function show_generals_setting_page() {
408
+ $opts = mc4wp_get_options();
409
+
410
+ $connected = ! empty( $opts['api_key'] );
411
+ if( $connected ) {
412
+ try {
413
+ $connected = $this->get_api()->is_connected();
414
+ } catch( MC4WP_API_Connection_Exception $e ) {
415
+ $message = sprintf( "<strong>%s</strong> %s %s ", __( "Error connecting to MailChimp:", 'mailchimp-for-wp' ), $e->getCode(), $e->getMessage() );
416
+
417
+ if( is_object( $e->data ) && ! empty( $e->data->ref_no ) ) {
418
+ $message .= '<br />' . sprintf( __( 'Looks like your server is blocked by MailChimp\'s firewall. Please contact MailChimp support and include the following reference number: %s', 'mailchimp-for-wp' ), $e->data->ref_no );
419
+ }
420
+
421
+ $message .= '<br /><br />' . sprintf( '<a href="%s">' . __( 'Here\'s some info on solving common connectivity issues.', 'mailchimp-for-wp' ) . '</a>', 'https://kb.mc4wp.com/solving-connectivity-issues/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-notice' );
422
+
423
+ $this->messages->flash( $message, 'error' );
424
+ $connected = false;
425
+ } catch( MC4WP_API_Exception $e ) {
426
+ $this->messages->flash( sprintf( "<strong>%s</strong><br /> %s", __( "MailChimp returned the following error:", 'mailchimp-for-wp' ), $e ), 'error' );
427
+ $connected = false;
428
+ }
429
+ }
430
+
431
+ $lists = $this->mailchimp->get_cached_lists();
432
+ $obfuscated_api_key = mc4wp_obfuscate_string( $opts['api_key'] );
433
+ require MC4WP_PLUGIN_DIR . 'includes/views/general-settings.php';
434
+ }
435
+
436
+ /**
437
+ * Show the Other Settings page
438
+ */
439
+ public function show_other_setting_page() {
440
+ $opts = mc4wp_get_options();
441
+ $log = $this->get_log();
442
+ $log_reader = new MC4WP_Debug_Log_Reader( $log->file );
443
+ require MC4WP_PLUGIN_DIR . 'includes/views/other-settings.php';
444
+ }
445
+
446
+ /**
447
+ * @param $a
448
+ * @param $b
449
+ *
450
+ * @return int
451
+ */
452
+ public function sort_menu_items_by_position( $a, $b ) {
453
+ $pos_a = isset( $a['position'] ) ? $a['position'] : 80;
454
+ $pos_b = isset( $b['position'] ) ? $b['position'] : 90;
455
+ return $pos_a < $pos_b ? -1 : 1;
456
+ }
457
+
458
+ /**
459
+ * Empties the log file
460
+ */
461
+ public function empty_debug_log() {
462
+ $log = $this->get_log();
463
+ file_put_contents( $log->file, '' );
464
+
465
+ $this->messages->flash( __( 'Log successfully emptied.', 'mailchimp-for-wp' ) );
466
+ }
467
+
468
+ /**
469
+ * Shows a notice when API key is not set.
470
+ */
471
+ public function show_api_key_notice() {
472
+
473
+ // don't show if on settings page already
474
+ if( $this->tools->on_plugin_page( '' ) ) {
475
+ return;
476
+ }
477
+
478
+ // only show to user with proper permissions
479
+ if( ! $this->tools->is_user_authorized() ) {
480
+ return;
481
+ }
482
+
483
+ // don't show if dismissed
484
+ if( get_transient( 'mc4wp_api_key_notice_dismissed' ) ) {
485
+ return;
486
+ }
487
+
488
+ // don't show if api key is set already
489
+ $options = mc4wp_get_options();
490
+ if( ! empty( $options['api_key'] ) ) {
491
+ return;
492
+ }
493
+
494
+ echo '<div class="notice notice-warning mc4wp-is-dismissible">';
495
+ echo '<p>' . sprintf( __( 'To get started with MailChimp for WordPress, please <a href="%s">enter your MailChimp API key on the settings page of the plugin</a>.', 'mailchimp-for-wp' ), admin_url( 'admin.php?page=mailchimp-for-wp' ) ) . '</p>';
496
+ echo '<form method="post"><input type="hidden" name="_mc4wp_action" value="dismiss_api_key_notice" /><button type="submit" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></form>';
497
+ echo '</div>';
498
+ }
499
+
500
+ /**
501
+ * Dismisses the API key notice for 1 week
502
+ */
503
+ public function dismiss_api_key_notice() {
504
+ set_transient( 'mc4wp_api_key_notice_dismissed', 1, 3600 * 24 * 7 );
505
+ }
506
+
507
+ /**
508
+ * @return MC4WP_Debug_Log
509
+ */
510
+ protected function get_log() {
511
+ return mc4wp('log');
512
+ }
513
+
514
+ /**
515
+ * @return MC4WP_API_v3
516
+ */
517
+ protected function get_api() {
518
+ return mc4wp('api');
519
+ }
520
+
521
+ }
includes/api/class-api-v3-client.php CHANGED
@@ -2,212 +2,217 @@
2
 
3
  class MC4WP_API_v3_Client {
4
 
5
- /**
6
- * @var string
7
- */
8
- private $api_key;
9
-
10
- /**
11
- * @var string
12
- */
13
- private $api_url = 'https://api.mailchimp.com/3.0/';
14
-
15
- /**
16
- * @var array
17
- */
18
- private $last_response;
19
-
20
- /**
21
- * Constructor
22
- *
23
- * @param string $api_key
24
- */
25
- public function __construct( $api_key ) {
26
- $this->api_key = $api_key;
27
-
28
- $dash_position = strpos( $api_key, '-' );
29
- if( $dash_position !== false ) {
30
- $this->api_url = str_replace( '//api.', '//' . substr( $api_key, $dash_position + 1 ) . ".api.", $this->api_url );
31
- }
32
  }
33
-
34
-
35
- /**
36
- * @param string $resource
37
- * @param array $args
38
- *
39
- * @return mixed
40
- */
41
- public function get( $resource, array $args = array() ) {
42
- return $this->request( 'GET', $resource, $args );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  }
44
 
45
- /**
46
- * @param string $resource
47
- * @param array $data
48
- *
49
- * @return mixed
50
- */
51
- public function post( $resource, array $data ) {
52
- return $this->request( 'POST', $resource, $data );
 
 
 
 
 
53
  }
54
 
55
- /**
56
- * @param string $resource
57
- * @param array $data
58
- * @return mixed
59
- */
60
- public function put( $resource, array $data ) {
61
- return $this->request( 'PUT', $resource, $data );
62
- }
63
 
64
- /**
65
- * @param string $resource
66
- * @param array $data
67
- * @return mixed
68
- */
69
- public function patch( $resource, array $data ) {
70
- return $this->request( 'PATCH', $resource, $data );
71
- }
72
 
73
- /**
74
- * @param string $resource
75
- * @return mixed
76
- */
77
- public function delete( $resource ) {
78
- return $this->request( 'DELETE', $resource );
79
- }
80
 
81
- /**
82
- * @param string $method
83
- * @param string $resource
84
- * @param array $data
85
- *
86
- * @return mixed
87
- *
88
- * @throws MC4WP_API_Exception
89
- */
90
- private function request( $method, $resource, array $data = array() ) {
91
- $this->reset();
92
-
93
- // don't bother if no API key was given.
94
- if( empty( $this->api_key ) ) {
95
- throw new MC4WP_API_Exception( "Missing API key", 001 );
96
- }
97
-
98
- $url = $this->api_url . ltrim( $resource, '/' );
99
- $args = array(
100
- 'method' => $method,
101
- 'headers' => $this->get_headers(),
102
- 'timeout' => 10,
103
- 'sslverify' => apply_filters( 'mc4wp_use_sslverify', true ),
104
- );
105
-
106
- // attach arguments (in body or URL)
107
- if( $method === 'GET' ) {
108
- $url = add_query_arg( $data, $url );
109
- } else {
110
- $args['body'] = json_encode( $data );
111
- }
112
-
113
- // perform request
114
- $response = wp_remote_request( $url, $args );
115
- $this->last_response = $response;
116
-
117
- // parse response
118
- $data = $this->parse_response( $response );
119
-
120
- return $data;
121
- }
122
 
123
- /**
124
- * @return array
125
- */
126
- private function get_headers() {
127
- global $wp_version;
128
 
129
- $headers = array();
130
- $headers['Authorization'] = 'Basic ' . base64_encode( 'mc4wp:' . $this->api_key );
131
- $headers['Accept'] = 'application/json';
132
- $headers['Content-Type'] = 'application/json';
133
- $headers['User-Agent'] = 'mc4wp/' . MC4WP_VERSION . '; WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' );
134
 
135
- // Copy Accept-Language from browser headers
136
- if( ! empty( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ) {
137
- $headers['Accept-Language'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
138
- }
139
 
140
- return $headers;
141
- }
 
 
 
 
 
 
142
 
143
- /**
144
- * @param array|WP_Error $response
145
- *
146
- * @return mixed
147
- *
148
- * @throws MC4WP_API_Exception
149
- */
150
- private function parse_response( $response ) {
151
-
152
- if( $response instanceof WP_Error ) {
153
- throw new MC4WP_API_Connection_Exception( $response->get_error_message(), (int) $response->get_error_code() );
154
- }
155
-
156
- // decode response body
157
- $code = (int) wp_remote_retrieve_response_code( $response );
158
- $message = wp_remote_retrieve_response_message( $response );
159
- $body = wp_remote_retrieve_body( $response );
160
-
161
- // set body to "true" in case MailChimp returned No Content
162
- if( $code < 300 && empty( $body ) ) {
163
- $body = "true";
164
- }
165
-
166
- $data = json_decode( $body );
167
-
168
- if( $code >= 400 ) {
169
- if( $code === 404 ) {
170
- throw new MC4WP_API_Resource_Not_Found_Exception( $message, $code, $response, $data );
171
- }
172
-
173
- throw new MC4WP_API_Exception( $message, $code, $response, $data );
174
- }
175
-
176
- if( ! is_null( $data ) ) {
177
- return $data;
178
- }
179
-
180
- // unable to decode response
181
- throw new MC4WP_API_Exception( $message, $code, $response );
182
  }
183
 
184
- /**
185
- * Empties all data from previous response
186
- */
187
- private function reset() {
188
- $this->last_response = null;
189
- }
190
 
191
- /**
192
- * @return string
193
- */
194
- public function get_last_response_body() {
195
- return wp_remote_retrieve_body( $this->last_response );
196
  }
197
 
198
- /**
199
- * @return array
200
- */
201
- public function get_last_response_headers() {
202
- return wp_remote_retrieve_headers( $this->last_response );
203
- }
 
 
 
 
 
204
 
205
- /**
206
- * @return array|WP_Error
207
- */
208
- public function get_last_response() {
209
- return $this->last_response;
210
  }
211
 
 
 
 
212
 
213
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  class MC4WP_API_v3_Client {
4
 
5
+ /**
6
+ * @var string
7
+ */
8
+ private $api_key;
9
+
10
+ /**
11
+ * @var string
12
+ */
13
+ private $api_url = 'https://api.mailchimp.com/3.0/';
14
+
15
+ /**
16
+ * @var array
17
+ */
18
+ private $last_response;
19
+
20
+ /**
21
+ * Constructor
22
+ *
23
+ * @param string $api_key
24
+ */
25
+ public function __construct( $api_key ) {
26
+ $this->api_key = $api_key;
27
+
28
+ $dash_position = strpos( $api_key, '-' );
29
+ if( $dash_position !== false ) {
30
+ $this->api_url = str_replace( '//api.', '//' . substr( $api_key, $dash_position + 1 ) . ".api.", $this->api_url );
 
31
  }
32
+ }
33
+
34
+
35
+ /**
36
+ * @param string $resource
37
+ * @param array $args
38
+ *
39
+ * @return mixed
40
+ */
41
+ public function get( $resource, array $args = array() ) {
42
+ return $this->request( 'GET', $resource, $args );
43
+ }
44
+
45
+ /**
46
+ * @param string $resource
47
+ * @param array $data
48
+ *
49
+ * @return mixed
50
+ */
51
+ public function post( $resource, array $data ) {
52
+ return $this->request( 'POST', $resource, $data );
53
+ }
54
+
55
+ /**
56
+ * @param string $resource
57
+ * @param array $data
58
+ * @return mixed
59
+ */
60
+ public function put( $resource, array $data ) {
61
+ return $this->request( 'PUT', $resource, $data );
62
+ }
63
+
64
+ /**
65
+ * @param string $resource
66
+ * @param array $data
67
+ * @return mixed
68
+ */
69
+ public function patch( $resource, array $data ) {
70
+ return $this->request( 'PATCH', $resource, $data );
71
+ }
72
+
73
+ /**
74
+ * @param string $resource
75
+ * @return mixed
76
+ */
77
+ public function delete( $resource ) {
78
+ return $this->request( 'DELETE', $resource );
79
+ }
80
+
81
+ /**
82
+ * @param string $method
83
+ * @param string $resource
84
+ * @param array $data
85
+ *
86
+ * @return mixed
87
+ *
88
+ * @throws MC4WP_API_Exception
89
+ */
90
+ private function request( $method, $resource, array $data = array() ) {
91
+ $this->reset();
92
+
93
+ // don't bother if no API key was given.
94
+ if( empty( $this->api_key ) ) {
95
+ throw new MC4WP_API_Exception( "Missing API key", 001 );
96
  }
97
 
98
+ $url = $this->api_url . ltrim( $resource, '/' );
99
+ $args = array(
100
+ 'method' => $method,
101
+ 'headers' => $this->get_headers(),
102
+ 'timeout' => 10,
103
+ 'sslverify' => apply_filters( 'mc4wp_use_sslverify', true ),
104
+ );
105
+
106
+ // attach arguments (in body or URL)
107
+ if( $method === 'GET' ) {
108
+ $url = add_query_arg( $data, $url );
109
+ } else {
110
+ $args['body'] = json_encode( $data );
111
  }
112
 
113
+ // perform request
114
+ $response = wp_remote_request( $url, $args );
115
+ $this->last_response = $response;
 
 
 
 
 
116
 
117
+ // parse response
118
+ $data = $this->parse_response( $response );
 
 
 
 
 
 
119
 
120
+ return $data;
121
+ }
 
 
 
 
 
122
 
123
+ /**
124
+ * @return array
125
+ */
126
+ private function get_headers() {
127
+ global $wp_version;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
 
129
+ $headers = array();
130
+ $headers['Authorization'] = 'Basic ' . base64_encode( 'mc4wp:' . $this->api_key );
131
+ $headers['Accept'] = 'application/json';
132
+ $headers['Content-Type'] = 'application/json';
133
+ $headers['User-Agent'] = 'mc4wp/' . MC4WP_VERSION . '; WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' );
134
 
135
+ // Copy Accept-Language from browser headers
136
+ if( ! empty( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ) {
137
+ $headers['Accept-Language'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
138
+ }
 
139
 
140
+ return $headers;
141
+ }
 
 
142
 
143
+ /**
144
+ * @param array|WP_Error $response
145
+ *
146
+ * @return mixed
147
+ *
148
+ * @throws MC4WP_API_Exception
149
+ */
150
+ private function parse_response( $response ) {
151
 
152
+ if( $response instanceof WP_Error ) {
153
+ throw new MC4WP_API_Connection_Exception( $response->get_error_message(), (int) $response->get_error_code() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  }
155
 
156
+ // decode response body
157
+ $code = (int) wp_remote_retrieve_response_code( $response );
158
+ $message = wp_remote_retrieve_response_message( $response );
159
+ $body = wp_remote_retrieve_body( $response );
 
 
160
 
161
+ // set body to "true" in case MailChimp returned No Content
162
+ if( $code < 300 && empty( $body ) ) {
163
+ $body = "true";
 
 
164
  }
165
 
166
+ $data = json_decode( $body );
167
+ if( $code >= 400 ) {
168
+ // check for akamai errors
169
+ // {"type":"akamai_error_message","title":"akamai_503","status":503,"ref_no":"Reference Number: 00.950e16c3.1498559813.1450dbe2"}
170
+ if( is_object( $data ) && isset( $data->type ) && $data->type === 'akamai_error_message' ) {
171
+ throw new MC4WP_API_Connection_Exception( $message, $code, $response, $data );
172
+ }
173
+
174
+ if( $code === 404 ) {
175
+ throw new MC4WP_API_Resource_Not_Found_Exception( $message, $code, $response, $data );
176
+ }
177
 
178
+ throw new MC4WP_API_Exception( $message, $code, $response, $data );
 
 
 
 
179
  }
180
 
181
+ if( ! is_null( $data ) ) {
182
+ return $data;
183
+ }
184
 
185
+ // unable to decode response
186
+ throw new MC4WP_API_Exception( $message, $code, $response );
187
+ }
188
+
189
+ /**
190
+ * Empties all data from previous response
191
+ */
192
+ private function reset() {
193
+ $this->last_response = null;
194
+ }
195
+
196
+ /**
197
+ * @return string
198
+ */
199
+ public function get_last_response_body() {
200
+ return wp_remote_retrieve_body( $this->last_response );
201
+ }
202
+
203
+ /**
204
+ * @return array
205
+ */
206
+ public function get_last_response_headers() {
207
+ return wp_remote_retrieve_headers( $this->last_response );
208
+ }
209
+
210
+ /**
211
+ * @return array|WP_Error
212
+ */
213
+ public function get_last_response() {
214
+ return $this->last_response;
215
+ }
216
+
217
+
218
+ }
includes/api/class-api-v3.php CHANGED
@@ -830,7 +830,7 @@ class MC4WP_API_v3 {
830
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/templates/#read-get_templates_template_id
831
  * @param string $template_id
832
  * @return object
833
- */
834
  public function get_template( $template_id, array $args = array() ) {
835
  $resource = sprintf( '/templates/%s', $template_id );
836
  return $this->client->get( $resource, $args );
@@ -840,7 +840,7 @@ class MC4WP_API_v3 {
840
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/templates/default-content/
841
  * @param string $template_id
842
  * @return object
843
- */
844
  public function get_template_default_content( $template_id, array $args = array() ) {
845
  $resource = sprintf( '/templates/%s/default-content', $template_id );
846
  return $this->client->get( $resource, $args );
@@ -852,7 +852,7 @@ class MC4WP_API_v3 {
852
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#create-post_campaigns
853
  * @param array $args
854
  * @return object
855
- */
856
  public function add_campaign( array $args ) {
857
  $resource = '/campaigns';
858
  return $this->client->post( $resource, $args );
@@ -864,7 +864,7 @@ class MC4WP_API_v3 {
864
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#read-get_campaigns
865
  * @param array $args
866
  * @return object
867
- */
868
  public function get_campaigns( array $args = array() ) {
869
  $resource = '/campaigns';
870
  return $this->client->get( $resource, $args );
@@ -877,10 +877,10 @@ class MC4WP_API_v3 {
877
  * @param string $campaign_id
878
  * @param array $args
879
  * @return object
880
- */
881
  public function get_campaign( $campaign_id, array $args = array() ) {
882
  $resource = sprintf( '/campaigns/%s', $campaign_id );
883
- return $this->get( $resource, $args );
884
  }
885
 
886
  /**
@@ -890,7 +890,7 @@ class MC4WP_API_v3 {
890
  * @param string $campaign_id
891
  * @param array $args
892
  * @return object
893
- */
894
  public function update_campaign( $campaign_id, array $args ) {
895
  $resource = sprintf( '/campaigns/%s', $campaign_id );
896
  return $this->client->patch( $resource, $args );
@@ -902,7 +902,7 @@ class MC4WP_API_v3 {
902
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#delete-delete_campaigns_campaign_id
903
  * @param string $campaign_id
904
  * @return bool
905
- */
906
  public function delete_campaign( $campaign_id ) {
907
  $resource = sprintf( '/campaigns/%s', $campaign_id );
908
  return !! $this->client->delete( $resource );
@@ -914,10 +914,10 @@ class MC4WP_API_v3 {
914
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#action-post_campaigns
915
  *
916
  * @param string $campaign_id
917
- * @param string $action
918
  * @param array $args
919
  * @return object
920
- */
921
  public function campaign_action( $campaign_id, $action, array $args = array() ) {
922
  $resource = sprintf( '/campaigns/%s/actions/%s', $campaign_id, $action );
923
  return $this->client->post( $resource, $args );
@@ -925,12 +925,12 @@ class MC4WP_API_v3 {
925
 
926
  /**
927
  * Get the HTML and plain-text content for a campaign
928
- *
929
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#read-get_campaigns_campaign_id_content
930
  * @param string $campaign_id
931
  * @param array $args
932
  * @return object
933
- */
934
  public function get_campaign_content( $campaign_id, array $args = array() ) {
935
  $resource = sprintf( '/campaigns/%s/content', $campaign_id );
936
  return $this->client->get( $resource, $args );
@@ -941,9 +941,9 @@ class MC4WP_API_v3 {
941
  *
942
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#edit-put_campaigns_campaign_id_content
943
  * @param string $campaign_id
944
- * @param array $args
945
  * @return object
946
- */
947
  public function update_campaign_content( $campaign_id, array $args ) {
948
  $resource = sprintf( '/campaigns/%s/content', $campaign_id );
949
  return $this->client->put( $resource, $args );
@@ -964,4 +964,4 @@ class MC4WP_API_v3 {
964
  }
965
 
966
 
967
- }
830
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/templates/#read-get_templates_template_id
831
  * @param string $template_id
832
  * @return object
833
+ */
834
  public function get_template( $template_id, array $args = array() ) {
835
  $resource = sprintf( '/templates/%s', $template_id );
836
  return $this->client->get( $resource, $args );
840
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/templates/default-content/
841
  * @param string $template_id
842
  * @return object
843
+ */
844
  public function get_template_default_content( $template_id, array $args = array() ) {
845
  $resource = sprintf( '/templates/%s/default-content', $template_id );
846
  return $this->client->get( $resource, $args );
852
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#create-post_campaigns
853
  * @param array $args
854
  * @return object
855
+ */
856
  public function add_campaign( array $args ) {
857
  $resource = '/campaigns';
858
  return $this->client->post( $resource, $args );
864
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#read-get_campaigns
865
  * @param array $args
866
  * @return object
867
+ */
868
  public function get_campaigns( array $args = array() ) {
869
  $resource = '/campaigns';
870
  return $this->client->get( $resource, $args );
877
  * @param string $campaign_id
878
  * @param array $args
879
  * @return object
880
+ */
881
  public function get_campaign( $campaign_id, array $args = array() ) {
882
  $resource = sprintf( '/campaigns/%s', $campaign_id );
883
+ return $this->client->get( $resource, $args );
884
  }
885
 
886
  /**
890
  * @param string $campaign_id
891
  * @param array $args
892
  * @return object
893
+ */
894
  public function update_campaign( $campaign_id, array $args ) {
895
  $resource = sprintf( '/campaigns/%s', $campaign_id );
896
  return $this->client->patch( $resource, $args );
902
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#delete-delete_campaigns_campaign_id
903
  * @param string $campaign_id
904
  * @return bool
905
+ */
906
  public function delete_campaign( $campaign_id ) {
907
  $resource = sprintf( '/campaigns/%s', $campaign_id );
908
  return !! $this->client->delete( $resource );
914
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#action-post_campaigns
915
  *
916
  * @param string $campaign_id
917
+ * @param string $action
918
  * @param array $args
919
  * @return object
920
+ */
921
  public function campaign_action( $campaign_id, $action, array $args = array() ) {
922
  $resource = sprintf( '/campaigns/%s/actions/%s', $campaign_id, $action );
923
  return $this->client->post( $resource, $args );
925
 
926
  /**
927
  * Get the HTML and plain-text content for a campaign
928
+ *
929
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#read-get_campaigns_campaign_id_content
930
  * @param string $campaign_id
931
  * @param array $args
932
  * @return object
933
+ */
934
  public function get_campaign_content( $campaign_id, array $args = array() ) {
935
  $resource = sprintf( '/campaigns/%s/content', $campaign_id );
936
  return $this->client->get( $resource, $args );
941
  *
942
  * @link https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#edit-put_campaigns_campaign_id_content
943
  * @param string $campaign_id
944
+ * @param array $args
945
  * @return object
946
+ */
947
  public function update_campaign_content( $campaign_id, array $args ) {
948
  $resource = sprintf( '/campaigns/%s/content', $campaign_id );
949
  return $this->client->put( $resource, $args );
964
  }
965
 
966
 
967
+ }
includes/api/class-exception.php CHANGED
@@ -6,6 +6,11 @@ class MC4WP_API_Exception extends Exception {
6
  * @var array
7
  */
8
  public $response;
 
 
 
 
 
9
  public $type = '';
10
  public $title = '';
11
  public $status = '';
@@ -25,6 +30,7 @@ class MC4WP_API_Exception extends Exception {
25
  parent::__construct( $message, $code );
26
 
27
  $this->response = $response;
 
28
 
29
  if( ! empty( $data ) ) {
30
  // fill error properties from json data
@@ -43,11 +49,12 @@ class MC4WP_API_Exception extends Exception {
43
  public function __toString() {
44
  $string = $this->message . '.';
45
 
 
46
  if( ! empty( $this->detail ) ) {
47
  $string .= ' ' . $this->detail;
48
  }
49
 
50
-
51
  if( ! empty( $this->errors ) && isset( $this->errors[0]->field ) ) {
52
 
53
  // strip off obsolete msg
@@ -68,4 +75,4 @@ class MC4WP_API_Exception extends Exception {
68
 
69
  return $string;
70
  }
71
- }
6
  * @var array
7
  */
8
  public $response;
9
+
10
+ /**
11
+ * @var mixed
12
+ */
13
+ public $data;
14
  public $type = '';
15
  public $title = '';
16
  public $status = '';
30
  parent::__construct( $message, $code );
31
 
32
  $this->response = $response;
33
+ $this->data = $data;
34
 
35
  if( ! empty( $data ) ) {
36
  // fill error properties from json data
49
  public function __toString() {
50
  $string = $this->message . '.';
51
 
52
+ // add detail message
53
  if( ! empty( $this->detail ) ) {
54
  $string .= ' ' . $this->detail;
55
  }
56
 
57
+ // add field specific errors
58
  if( ! empty( $this->errors ) && isset( $this->errors[0]->field ) ) {
59
 
60
  // strip off obsolete msg
75
 
76
  return $string;
77
  }
78
+ }
includes/class-list-data-mapper.php CHANGED
@@ -1,33 +1,33 @@
1
  <?php
2
 
3
  /**
4
- * Class MC4WP_Field_Map
5
- *
6
- * @access private
7
- * @since 4.0
8
- * @ignore
9
- */
10
  class MC4WP_List_Data_Mapper {
11
 
12
  /**
13
- * @var array
14
- */
15
  private $data = array();
16
 
17
  /**
18
- * @var array
19
- */
20
  private $list_ids = array();
21
 
22
- /**
23
- * @var MC4WP_Field_Formatter
24
- */
25
- private $formatter;
26
 
27
  /**
28
- * @param array $data
29
- * @param array $list_ids
30
- */
31
  public function __construct( array $data, array $list_ids ) {
32
  $this->data = array_change_key_case( $data, CASE_UPPER );
33
  $this->list_ids = $list_ids;
@@ -39,8 +39,8 @@ class MC4WP_List_Data_Mapper {
39
  }
40
 
41
  /**
42
- * @return MC4WP_MailChimp_Subscriber[]
43
- */
44
  public function map() {
45
  $mailchimp = new MC4WP_MailChimp();
46
  $map = array();
@@ -57,10 +57,10 @@ class MC4WP_List_Data_Mapper {
57
  }
58
 
59
  /**
60
- * @param MC4WP_MailChimp_List $list
61
- *
62
- * @return MC4WP_MailChimp_Subscriber
63
- */
64
  protected function map_list( MC4WP_MailChimp_List $list ) {
65
 
66
  $subscriber = new MC4WP_MailChimp_Subscriber();
@@ -87,55 +87,55 @@ class MC4WP_List_Data_Mapper {
87
  }
88
 
89
  // find interest categories
90
- if( ! empty( $this->data['INTERESTS'] ) ) {
91
- foreach( $list->interest_categories as $interest_category ) {
92
- foreach( $interest_category->interests as $interest_id => $interest_name ) {
93
-
94
- // straight lookup by ID as key with value copy.
95
- if( isset( $this->data['INTERESTS'][ $interest_id ] ) ) {
96
- $subscriber->interests[ $interest_id ] = $this->formatter->boolean( $this->data['INTERESTS'][ $interest_id ] );
97
- }
98
-
99
- // straight lookup by ID as top-level value
100
- if( in_array( $interest_id, $this->data['INTERESTS'], false ) ) {
101
- $subscriber->interests[ $interest_id ] = true;
102
- }
103
-
104
- // look in array with category ID as key.
105
- if( isset( $this->data['INTERESTS'][ $interest_category->id ] ) ) {
106
- $value = $this->data['INTERESTS'][ $interest_category->id ];
107
- $values = is_array( $value ) ? $value : array_map( 'trim', explode( '|', $value ) );
108
-
109
- // find by category ID + interest ID
110
- if( in_array( $interest_id, $values, false ) ) {
111
- $subscriber->interests[ $interest_id ] = true;
112
- }
113
-
114
- // find by category ID + interest name
115
- if( in_array( $interest_name, $values ) ) {
116
- $subscriber->interests[ $interest_id ] = true;
117
- }
118
- }
119
- }
120
- }
121
- }
122
-
123
- // find language
124
- /* @see http://kb.mailchimp.com/lists/managing-subscribers/view-and-edit-subscriber-languages?utm_source=mc-api&utm_medium=docs&utm_campaign=apidocs&_ga=1.211519638.2083589671.1469697070 */
125
- if( ! empty( $this->data['MC_LANGUAGE'] ) ) {
126
- $subscriber->language = $this->formatter->language( $this->data['MC_LANGUAGE'] );
127
- }
128
 
129
  return $subscriber;
130
  }
131
 
132
 
133
  /**
134
- * @param mixed $field_value
135
- * @param string $field_type
136
- *
137
- * @return mixed
138
- */
139
  private function format_merge_field_value( $field_value, $field_type ) {
140
  $field_type = strtolower( $field_type );
141
 
@@ -144,17 +144,17 @@ class MC4WP_List_Data_Mapper {
144
  }
145
 
146
  /**
147
- * Filters the value of a field after it is formatted.
148
- *
149
- * Use this to format a field value according to the field type (in MailChimp).
150
- *
151
- * @since 3.0
152
- * @param string $field_value The value
153
- * @param string $field_type The type of the field (in MailChimp)
154
- */
155
  $field_value = apply_filters( 'mc4wp_format_field_value', $field_value, $field_type );
156
 
157
  return $field_value;
158
  }
159
 
160
- }
1
  <?php
2
 
3
  /**
4
+ * Class MC4WP_Field_Map
5
+ *
6
+ * @access private
7
+ * @since 4.0
8
+ * @ignore
9
+ */
10
  class MC4WP_List_Data_Mapper {
11
 
12
  /**
13
+ * @var array
14
+ */
15
  private $data = array();
16
 
17
  /**
18
+ * @var array
19
+ */
20
  private $list_ids = array();
21
 
22
+ /**
23
+ * @var MC4WP_Field_Formatter
24
+ */
25
+ private $formatter;
26
 
27
  /**
28
+ * @param array $data
29
+ * @param array $list_ids
30
+ */
31
  public function __construct( array $data, array $list_ids ) {
32
  $this->data = array_change_key_case( $data, CASE_UPPER );
33
  $this->list_ids = $list_ids;
39
  }
40
 
41
  /**
42
+ * @return MC4WP_MailChimp_Subscriber[]
43
+ */
44
  public function map() {
45
  $mailchimp = new MC4WP_MailChimp();
46
  $map = array();
57
  }
58
 
59
  /**
60
+ * @param MC4WP_MailChimp_List $list
61
+ *
62
+ * @return MC4WP_MailChimp_Subscriber
63
+ */
64
  protected function map_list( MC4WP_MailChimp_List $list ) {
65
 
66
  $subscriber = new MC4WP_MailChimp_Subscriber();
87
  }
88
 
89
  // find interest categories
90
+ if( ! empty( $this->data['INTERESTS'] ) ) {
91
+ foreach( $list->interest_categories as $interest_category ) {
92
+ foreach( $interest_category->interests as $interest_id => $interest_name ) {
93
+
94
+ // straight lookup by ID as key with value copy.
95
+ if( isset( $this->data['INTERESTS'][ $interest_id ] ) ) {
96
+ $subscriber->interests[ $interest_id ] = $this->formatter->boolean( $this->data['INTERESTS'][ $interest_id ] );
97
+ }
98
+
99
+ // straight lookup by ID as top-level value
100
+ if( in_array( $interest_id, $this->data['INTERESTS'], false ) ) {
101
+ $subscriber->interests[ $interest_id ] = true;
102
+ }
103
+
104
+ // look in array with category ID as key.
105
+ if( isset( $this->data['INTERESTS'][ $interest_category->id ] ) ) {
106
+ $value = $this->data['INTERESTS'][ $interest_category->id ];
107
+ $values = is_array( $value ) ? $value : array_map( 'trim', explode( '|', $value ) );
108
+
109
+ // find by category ID + interest ID
110
+ if( in_array( $interest_id, $values, false ) ) {
111
+ $subscriber->interests[ $interest_id ] = true;
112
+ }
113
+
114
+ // find by category ID + interest name
115
+ if( in_array( $interest_name, $values ) ) {
116
+ $subscriber->interests[ $interest_id ] = true;
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+
123
+ // find language
124
+ /* @see http://kb.mailchimp.com/lists/managing-subscribers/view-and-edit-subscriber-languages?utm_source=mc-api&utm_medium=docs&utm_campaign=apidocs&_ga=1.211519638.2083589671.1469697070 */
125
+ if( ! empty( $this->data['MC_LANGUAGE'] ) ) {
126
+ $subscriber->language = $this->formatter->language( $this->data['MC_LANGUAGE'] );
127
+ }
128
 
129
  return $subscriber;
130
  }
131
 
132
 
133
  /**
134
+ * @param mixed $field_value
135
+ * @param string $field_type
136
+ *
137
+ * @return mixed
138
+ */
139
  private function format_merge_field_value( $field_value, $field_type ) {
140
  $field_type = strtolower( $field_type );
141
 
144
  }
145
 
146
  /**
147
+ * Filters the value of a field after it is formatted.
148
+ *
149
+ * Use this to format a field value according to the field type (in MailChimp).
150
+ *
151
+ * @since 3.0
152
+ * @param string $field_value The value
153
+ * @param string $field_type The type of the field (in MailChimp)
154
+ */
155
  $field_value = apply_filters( 'mc4wp_format_field_value', $field_value, $field_type );
156
 
157
  return $field_value;
158
  }
159
 
160
+ }
includes/class-mailchimp.php CHANGED
@@ -1,47 +1,47 @@
1
  <?php
2
 
3
  /**
4
- * Class MC4WP_MailChimp
5
- *
6
- * @access private
7
- * @ignore
8
- */
9
  class MC4WP_MailChimp {
10
 
11
  /**
12
- * @var MC4WP_API_v3
13
- */
14
  public $api;
15
 
16
  /**
17
- * @var string
18
- */
19
  public $error_code = '';
20
 
21
  /**
22
- * @var string
23
- */
24
  public $error_message = '';
25
 
26
  /**
27
- * MC4WP_MailChimp constructor.
28
- */
29
  public function __construct() {
30
  $this->api = mc4wp( 'api' );
31
  }
32
 
33
  /**
34
- *
35
- * Sends a subscription request to the MailChimp API
36
- *
37
- * @param string $list_id The list id to subscribe to
38
- * @param string $email_address The email address to subscribe
39
- * @param array $args
40
- * @param boolean $update_existing Update information if this email is already on list?
41
- * @param boolean $replace_interests Replace interest groupings, only if update_existing is true.
42
- *
43
- * @return object
44
- */
45
  public function list_subscribe( $list_id, $email_address, array $args = array(), $update_existing = false, $replace_interests = true ) {
46
  $this->reset_error();
47
 
@@ -51,7 +51,7 @@ class MC4WP_MailChimp {
51
  'interests' => array(),
52
  'merge_fields' => array(),
53
  );
54
- $already_on_list = false;
55
 
56
  // setup default args
57
  $args = $args + $default_args;
@@ -61,7 +61,7 @@ class MC4WP_MailChimp {
61
  $existing_member_data = $this->api->get_list_member( $list_id, $email_address );
62
 
63
  if( $existing_member_data->status === 'subscribed' ) {
64
- $already_on_list = true;
65
 
66
  // if we're not supposed to update, bail.
67
  if( ! $update_existing ) {
@@ -84,15 +84,15 @@ class MC4WP_MailChimp {
84
  $args['interests'] = $args['interests'] + $existing_interests;
85
  }
86
  } else {
87
- // delete list member so we can re-add it...
88
- $this->api->delete_list_member( $list_id, $email_address );
89
- }
90
  } catch ( MC4WP_API_Resource_Not_Found_Exception $e ) {
91
  // subscriber does not exist (not an issue in this case)
92
  } catch( MC4WP_API_Exception $e ) {
93
- // other errors.
94
- $this->error_code = $e->getCode();
95
- $this->error_message = $e;
96
  return null;
97
  }
98
 
@@ -110,21 +110,21 @@ class MC4WP_MailChimp {
110
  }
111
 
112
  /**
113
- *
114
- * @param string $list_id
115
- * @param string $email_address
116
- *
117
- * @return boolean
118
- */
119
  public function list_unsubscribe( $list_id, $email_address ) {
120
  $this->reset_error();
121
 
122
  try {
123
  $this->api->update_list_member( $list_id, $email_address, array( 'status' => 'unsubscribed' ) );
124
  } catch( MC4WP_API_Resource_Not_Found_Exception $e ) {
125
- // if email wasn't even on the list: great.
126
- return true;
127
- } catch( MC4WP_API_Exception $e ) {
128
  $this->error_code = $e->getCode();
129
  $this->error_message = $e;
130
  return false;
@@ -134,27 +134,27 @@ class MC4WP_MailChimp {
134
  }
135
 
136
  /**
137
- * Checks if an email address is on a given list with status "subscribed"
138
- *
139
- * @param string $list_id
140
- * @param string $email_address
141
- *
142
- * @return boolean
143
- */
144
  public function list_has_subscriber( $list_id, $email_address ) {
145
- try{
146
- $data = $this->api->get_list_member( $list_id, $email_address );
147
- } catch( MC4WP_API_Resource_Not_Found_Exception $e ) {
148
- return false;
149
- }
150
 
151
  return ! empty( $data->id ) && $data->status === 'subscribed';
152
  }
153
 
154
 
155
  /**
156
- * Empty the Lists cache
157
- */
158
  public function empty_cache() {
159
  global $wpdb;
160
 
@@ -163,32 +163,32 @@ class MC4WP_MailChimp {
163
  delete_transient( 'mc4wp_list_counts' );
164
  }
165
 
166
- /**
167
- * Get MailChimp lists from cache.
168
- *
169
- * @param boolean deprecated parameter.
170
- * @return array
171
- */
172
  public function get_cached_lists() {
173
  return $this->get_lists( false );
174
  }
175
 
176
  /**
177
- * Get a specific MailChimp list from local DB.
178
- *
179
- * @param string $list_id
180
- * @return MC4WP_MailChimp_List
181
- */
182
  public function get_cached_list( $list_id ) {
183
  return $this->get_list( $list_id, false );
184
  }
185
 
186
  /**
187
- * Get MailChimp lists, from cache or remote API.
188
- *
189
- * @param boolean $force Whether to force a result by hitting MailChimp API
190
- * @return array
191
- */
192
  public function get_lists( $force = true ) {
193
 
194
  // first, get all list id's
@@ -204,11 +204,11 @@ class MC4WP_MailChimp {
204
  return $lists;
205
  }
206
 
207
- /**
208
- * @param string $list_id
209
- *
210
- * @return MC4WP_MailChimp_List
211
- */
212
  private function fetch_list( $list_id ) {
213
  try{
214
  $list_data = $this->api->get_list( $list_id, array( 'fields' => 'id,name,stats,web_id,campaign_defaults.from_name,campaign_defaults.from_email' ) );
@@ -246,53 +246,53 @@ class MC4WP_MailChimp {
246
  } catch( MC4WP_API_Exception $e ) {
247
  return null;
248
  }
249
-
250
  // save in option
251
- update_option( 'mc4wp_mailchimp_list_' . $list_id, $list, false );
252
- return $list;
253
  }
254
 
255
  /**
256
- * Get MailChimp list ID's
257
- *
258
- * @param bool $force Force result by hitting MailChimp API
259
- * @return array
260
- */
261
  public function get_list_ids( $force = false ) {
262
  $list_ids = (array) get_option( 'mc4wp_mailchimp_list_ids', array() );
263
 
264
  if( empty( $list_ids ) && $force ) {
265
- $list_ids = $this->fetch_list_ids();
266
  }
267
-
268
  return $list_ids;
269
  }
270
 
271
  /**
272
- * @return array
273
- */
274
  public function fetch_list_ids() {
275
- try{
276
- $lists_data = $this->api->get_lists( array( 'count' => 200, 'fields' => 'lists.id' ) );
277
- } catch( MC4WP_API_Exception $e ) {
278
- return array();
279
- }
280
 
281
  $list_ids = wp_list_pluck( $lists_data, 'id' );
282
 
283
- // store list id's
284
  update_option( 'mc4wp_mailchimp_list_ids', $list_ids, false );
285
-
286
  return $list_ids;
287
  }
288
 
289
- /**
290
- * Fetch list ID's + lists from MailChimp.
291
- *
292
- * @return bool
293
- */
294
  public function fetch_lists() {
295
- // try to increase time limit as this can take a while
296
  @set_time_limit(300);
297
  $list_ids = $this->fetch_list_ids();
298
 
@@ -305,15 +305,15 @@ class MC4WP_MailChimp {
305
  }
306
 
307
  return ! empty( $list_ids );
308
- }
309
 
310
  /**
311
- * Get a given MailChimp list
312
- *
313
- * @param string $list_id
314
- * @param bool $force Whether to force a result by hitting remote API
315
- * @return MC4WP_MailChimp_List
316
- */
317
  public function get_list( $list_id, $force = false ) {
318
  $list = get_option( 'mc4wp_mailchimp_list_' . $list_id );
319
 
@@ -322,17 +322,17 @@ class MC4WP_MailChimp {
322
  }
323
 
324
  if( empty( $list ) ) {
325
- return new MC4WP_MailChimp_List( '', 'Unknown List' );
326
  }
327
 
328
  return $list;
329
  }
330
 
331
  /**
332
- * Get an array of list_id => number of subscribers
333
- *
334
- * @return array
335
- */
336
  public function get_subscriber_counts() {
337
 
338
  // get from transient
@@ -342,11 +342,11 @@ class MC4WP_MailChimp {
342
  }
343
 
344
  // transient not valid, fetch from API
345
- try {
346
- $lists = $this->api->get_lists( array( 'count' => 100, 'fields' => 'lists.id,lists.stats' ) );
347
- } catch( MC4WP_API_Exception $e ) {
348
- return array();
349
- }
350
 
351
  $list_counts = array();
352
 
@@ -358,11 +358,11 @@ class MC4WP_MailChimp {
358
  $seconds = 3600;
359
 
360
  /**
361
- * Filters the cache time for MailChimp lists configuration, in seconds. Defaults to 3600 seconds (1 hour).
362
- *
363
- * @since 2.0
364
- * @param int $seconds
365
- */
366
  $transient_lifetime = (int) apply_filters( 'mc4wp_lists_count_cache_time', $seconds );
367
  set_transient( 'mc4wp_list_counts', $list_counts, $transient_lifetime );
368
 
@@ -372,11 +372,11 @@ class MC4WP_MailChimp {
372
 
373
 
374
  /**
375
- * Returns number of subscribers on given lists.
376
- *
377
- * @param array|string $list_ids Array of list ID's, or single string.
378
- * @return int Total # subscribers for given lists.
379
- */
380
  public function get_subscriber_count( $list_ids ) {
381
 
382
  // make sure we're getting an array
@@ -399,40 +399,40 @@ class MC4WP_MailChimp {
399
  }
400
 
401
  /**
402
- * Filters the total subscriber_count for the given List ID's.
403
- *
404
- * @since 2.0
405
- * @param string $count
406
- * @param array $list_ids
407
- */
408
  return apply_filters( 'mc4wp_subscriber_count', $count, $list_ids );
409
  }
410
 
411
  /**
412
- * Resets error properties.
413
- */
414
  public function reset_error() {
415
  $this->error_message = '';
416
  $this->error_code = '';
417
  }
418
 
419
  /**
420
- * @return bool
421
- */
422
  public function has_error() {
423
  return ! empty( $this->error_code );
424
  }
425
 
426
  /**
427
- * @return string
428
- */
429
  public function get_error_message() {
430
  return $this->error_message;
431
  }
432
 
433
  /**
434
- * @return string
435
- */
436
  public function get_error_code() {
437
  return $this->error_code;
438
  }
1
  <?php
2
 
3
  /**
4
+ * Class MC4WP_MailChimp
5
+ *
6
+ * @access private
7
+ * @ignore
8
+ */
9
  class MC4WP_MailChimp {
10
 
11
  /**
12
+ * @var MC4WP_API_v3
13
+ */
14
  public $api;
15
 
16
  /**
17
+ * @var string
18
+ */
19
  public $error_code = '';
20
 
21
  /**
22
+ * @var string
23
+ */
24
  public $error_message = '';
25
 
26
  /**
27
+ * MC4WP_MailChimp constructor.
28
+ */
29
  public function __construct() {
30
  $this->api = mc4wp( 'api' );
31
  }
32
 
33
  /**
34
+ *
35
+ * Sends a subscription request to the MailChimp API
36
+ *
37
+ * @param string $list_id The list id to subscribe to
38
+ * @param string $email_address The email address to subscribe
39
+ * @param array $args
40
+ * @param boolean $update_existing Update information if this email is already on list?
41
+ * @param boolean $replace_interests Replace interest groupings, only if update_existing is true.
42
+ *
43
+ * @return object
44
+ */
45
  public function list_subscribe( $list_id, $email_address, array $args = array(), $update_existing = false, $replace_interests = true ) {
46
  $this->reset_error();
47
 
51
  'interests' => array(),
52
  'merge_fields' => array(),
53
  );
54
+ $already_on_list = false;
55
 
56
  // setup default args
57
  $args = $args + $default_args;
61
  $existing_member_data = $this->api->get_list_member( $list_id, $email_address );
62
 
63
  if( $existing_member_data->status === 'subscribed' ) {
64
+ $already_on_list = true;
65
 
66
  // if we're not supposed to update, bail.
67
  if( ! $update_existing ) {
84
  $args['interests'] = $args['interests'] + $existing_interests;
85
  }
86
  } else {
87
+ // delete list member so we can re-add it...
88
+ $this->api->delete_list_member( $list_id, $email_address );
89
+ }
90
  } catch ( MC4WP_API_Resource_Not_Found_Exception $e ) {
91
  // subscriber does not exist (not an issue in this case)
92
  } catch( MC4WP_API_Exception $e ) {
93
+ // other errors.
94
+ $this->error_code = $e->getCode();
95
+ $this->error_message = $e;
96
  return null;
97
  }
98
 
110
  }
111
 
112
  /**
113
+ *
114
+ * @param string $list_id
115
+ * @param string $email_address
116
+ *
117
+ * @return boolean
118
+ */
119
  public function list_unsubscribe( $list_id, $email_address ) {
120
  $this->reset_error();
121
 
122
  try {
123
  $this->api->update_list_member( $list_id, $email_address, array( 'status' => 'unsubscribed' ) );
124
  } catch( MC4WP_API_Resource_Not_Found_Exception $e ) {
125
+ // if email wasn't even on the list: great.
126
+ return true;
127
+ } catch( MC4WP_API_Exception $e ) {
128
  $this->error_code = $e->getCode();
129
  $this->error_message = $e;
130
  return false;
134
  }
135
 
136
  /**
137
+ * Checks if an email address is on a given list with status "subscribed"
138
+ *
139
+ * @param string $list_id
140
+ * @param string $email_address
141
+ *
142
+ * @return boolean
143
+ */
144
  public function list_has_subscriber( $list_id, $email_address ) {
145
+ try{
146
+ $data = $this->api->get_list_member( $list_id, $email_address );
147
+ } catch( MC4WP_API_Resource_Not_Found_Exception $e ) {
148
+ return false;
149
+ }
150
 
151
  return ! empty( $data->id ) && $data->status === 'subscribed';
152
  }
153
 
154
 
155
  /**
156
+ * Empty the Lists cache
157
+ */
158
  public function empty_cache() {
159
  global $wpdb;
160
 
163
  delete_transient( 'mc4wp_list_counts' );
164
  }
165
 
166
+ /**
167
+ * Get MailChimp lists from cache.
168
+ *
169
+ * @param boolean deprecated parameter.
170
+ * @return array
171
+ */
172
  public function get_cached_lists() {
173
  return $this->get_lists( false );
174
  }
175
 
176
  /**
177
+ * Get a specific MailChimp list from local DB.
178
+ *
179
+ * @param string $list_id
180
+ * @return MC4WP_MailChimp_List
181
+ */
182
  public function get_cached_list( $list_id ) {
183
  return $this->get_list( $list_id, false );
184
  }
185
 
186
  /**
187
+ * Get MailChimp lists, from cache or remote API.
188
+ *
189
+ * @param boolean $force Whether to force a result by hitting MailChimp API
190
+ * @return array
191
+ */
192
  public function get_lists( $force = true ) {
193
 
194
  // first, get all list id's
204
  return $lists;
205
  }
206
 
207
+ /**
208
+ * @param string $list_id
209
+ *
210
+ * @return MC4WP_MailChimp_List
211
+ */
212
  private function fetch_list( $list_id ) {
213
  try{
214
  $list_data = $this->api->get_list( $list_id, array( 'fields' => 'id,name,stats,web_id,campaign_defaults.from_name,campaign_defaults.from_email' ) );
246
  } catch( MC4WP_API_Exception $e ) {
247
  return null;
248
  }
249
+
250
  // save in option
251
+ update_option( 'mc4wp_mailchimp_list_' . $list_id, $list, false );
252
+ return $list;
253
  }
254
 
255
  /**
256
+ * Get MailChimp list ID's
257
+ *
258
+ * @param bool $force Force result by hitting MailChimp API
259
+ * @return array
260
+ */
261
  public function get_list_ids( $force = false ) {
262
  $list_ids = (array) get_option( 'mc4wp_mailchimp_list_ids', array() );
263
 
264
  if( empty( $list_ids ) && $force ) {
265
+ $list_ids = $this->fetch_list_ids();
266
  }
267
+
268
  return $list_ids;
269
  }
270
 
271
  /**
272
+ * @return array
273
+ */
274
  public function fetch_list_ids() {
275
+ try{
276
+ $lists_data = $this->api->get_lists( array( 'count' => 200, 'fields' => 'lists.id' ) );
277
+ } catch( MC4WP_API_Exception $e ) {
278
+ return array();
279
+ }
280
 
281
  $list_ids = wp_list_pluck( $lists_data, 'id' );
282
 
283
+ // store list id's
284
  update_option( 'mc4wp_mailchimp_list_ids', $list_ids, false );
285
+
286
  return $list_ids;
287
  }
288
 
289
+ /**
290
+ * Fetch list ID's + lists from MailChimp.
291
+ *
292
+ * @return bool
293
+ */
294
  public function fetch_lists() {
295
+ // try to increase time limit as this can take a while
296
  @set_time_limit(300);
297
  $list_ids = $this->fetch_list_ids();
298
 
305
  }
306
 
307
  return ! empty( $list_ids );
308
+ }
309
 
310
  /**
311
+ * Get a given MailChimp list
312
+ *
313
+ * @param string $list_id
314
+ * @param bool $force Whether to force a result by hitting remote API
315
+ * @return MC4WP_MailChimp_List
316
+ */
317
  public function get_list( $list_id, $force = false ) {
318
  $list = get_option( 'mc4wp_mailchimp_list_' . $list_id );
319
 
322
  }
323
 
324
  if( empty( $list ) ) {
325
+ return new MC4WP_MailChimp_List( $list_id, 'Unknown List' );
326
  }
327
 
328
  return $list;
329
  }
330
 
331
  /**
332
+ * Get an array of list_id => number of subscribers
333
+ *
334
+ * @return array
335
+ */
336
  public function get_subscriber_counts() {
337
 
338
  // get from transient
342
  }
343
 
344
  // transient not valid, fetch from API
345
+ try {
346
+ $lists = $this->api->get_lists( array( 'count' => 100, 'fields' => 'lists.id,lists.stats' ) );
347
+ } catch( MC4WP_API_Exception $e ) {
348
+ return array();
349
+ }
350
 
351
  $list_counts = array();
352
 
358
  $seconds = 3600;
359
 
360
  /**
361
+ * Filters the cache time for MailChimp lists configuration, in seconds. Defaults to 3600 seconds (1 hour).
362
+ *
363
+ * @since 2.0
364
+ * @param int $seconds
365
+ */
366
  $transient_lifetime = (int) apply_filters( 'mc4wp_lists_count_cache_time', $seconds );
367
  set_transient( 'mc4wp_list_counts', $list_counts, $transient_lifetime );
368
 
372
 
373
 
374
  /**
375
+ * Returns number of subscribers on given lists.
376
+ *
377
+ * @param array|string $list_ids Array of list ID's, or single string.
378
+ * @return int Total # subscribers for given lists.
379
+ */
380
  public function get_subscriber_count( $list_ids ) {
381
 
382
  // make sure we're getting an array
399
  }
400
 
401
  /**
402
+ * Filters the total subscriber_count for the given List ID's.
403
+ *
404
+ * @since 2.0
405
+ * @param string $count
406
+ * @param array $list_ids
407
+ */
408
  return apply_filters( 'mc4wp_subscriber_count', $count, $list_ids );
409
  }
410
 
411
  /**
412
+ * Resets error properties.
413
+ */
414
  public function reset_error() {
415
  $this->error_message = '';
416
  $this->error_code = '';
417
  }
418
 
419
  /**
420
+ * @return bool
421
+ */
422
  public function has_error() {
423
  return ! empty( $this->error_code );
424
  }
425
 
426
  /**
427
+ * @return string
428
+ */
429
  public function get_error_message() {
430
  return $this->error_message;
431
  }
432
 
433
  /**
434
+ * @return string
435
+ */
436
  public function get_error_code() {
437
  return $this->error_code;
438
  }
includes/forms/class-form-listener.php CHANGED
@@ -150,7 +150,7 @@ class MC4WP_Form_Listener {
150
  // Success! Did we update or newly subscribe?
151
  if( $result->status === 'subscribed' && $result->was_already_on_list ) {
152
  $form->add_message( 'updated' );
153
-
154
  $log->info( sprintf( "Form %d > Successfully updated %s", $form->ID, $data['EMAIL'] ) );
155
 
156
  /**
@@ -311,4 +311,4 @@ class MC4WP_Form_Listener {
311
  return mc4wp('log');
312
  }
313
 
314
- }
150
  // Success! Did we update or newly subscribe?
151
  if( $result->status === 'subscribed' && $result->was_already_on_list ) {
152
  $form->add_message( 'updated' );
153
+
154
  $log->info( sprintf( "Form %d > Successfully updated %s", $form->ID, $data['EMAIL'] ) );
155
 
156
  /**
311
  return mc4wp('log');
312
  }
313
 
314
+ }
includes/forms/class-form-previewer.php CHANGED
@@ -155,7 +155,7 @@ class MC4WP_Form_Previewer {
155
  return $content;
156
  }
157
 
158
- return $this->form;
159
  }
160
 
161
  /**
@@ -181,4 +181,4 @@ class MC4WP_Form_Previewer {
181
  return $classes;
182
  }
183
 
184
- }
155
  return $content;
156
  }
157
 
158
+ return $this->form->get_html();
159
  }
160
 
161
  /**
181
  return $classes;
182
  }
183
 
184
+ }
includes/forms/class-output-manager.php CHANGED
@@ -117,23 +117,29 @@ class MC4WP_Form_Output_Manager {
117
  $this->printed_field_types += $form->get_field_types();
118
  $this->printed_field_types = array_unique( $this->printed_field_types );
119
 
120
- // start new output buffer
121
- ob_start();
122
 
123
- /**
124
- * Runs just before a form element is outputted.
125
- *
126
- * @since 3.0
127
- *
128
- * @param MC4WP_Form $form
129
- */
130
- do_action( 'mc4wp_output_form', $form );
131
-
132
- // output the form (in output buffer)
133
- echo $form->get_html( $config['element_id'], $config );
134
-
135
- // grab all contents in current output buffer & then clean it.
136
- $html = ob_get_clean();
 
 
 
 
 
 
 
137
 
138
  // echo content if necessary
139
  if( $echo ) {
@@ -143,4 +149,4 @@ class MC4WP_Form_Output_Manager {
143
  return $html;
144
  }
145
 
146
- }
117
  $this->printed_field_types += $form->get_field_types();
118
  $this->printed_field_types = array_unique( $this->printed_field_types );
119
 
120
+ $form_html = $form->get_html( $config['element_id'], $config );
 
121
 
122
+ try {
123
+ // start new output buffer
124
+ ob_start();
125
+
126
+ /**
127
+ * Runs just before a form element is outputted.
128
+ *
129
+ * @since 3.0
130
+ *
131
+ * @param MC4WP_Form $form
132
+ */
133
+ do_action( 'mc4wp_output_form', $form );
134
+
135
+ // output the form (in output buffer)
136
+ echo $form_html;
137
+
138
+ // grab all contents in current output buffer & then clean + end it.
139
+ $html = ob_get_clean();
140
+ } catch( Error $e ) {
141
+ $html = $form_html;
142
+ }
143
 
144
  // echo content if necessary
145
  if( $echo ) {
149
  return $html;
150
  }
151
 
152
+ }
languages/mailchimp-for-wp-de_DE.mo CHANGED
Binary file
languages/mailchimp-for-wp-de_DE.po CHANGED
@@ -1,5 +1,5 @@
1
- # Copyright (C) 2015 MailChimp for WordPress
2
- # This file is distributed under the same license as the MailChimp for WordPress package.
3
  # Translators:
4
  # Aiko <aiko@goemann.org>, 2015
5
  # Björn Weil <100progratis@web.de>, 2015
@@ -9,78 +9,32 @@
9
  # Jochen Gererstorfer, 2015
10
  # Maik Kuszynski <kuszynski90@gmail.com>, 2016
11
  # Marcel Ebert <marcel.ebert@yahoo.de>, 2016
 
12
  # S L <gitter.s@gmx.de>, 2015
13
  # Stefan Oderbolz <oderbolz@gmail.com>, 2015
14
  # Steffi Zehnder, 2016
15
  # Sven B. <sven.balje@esb-stade.de>, 2015
16
  # Sven de Vries <signor.aglie@gmail.com>, 2016
17
  # Tobias Vogler <inactive+tobiv@transifex.com>, 2016
18
- # Uwe <uwe.keim@gmail.com>, 2015
19
  msgid ""
20
  msgstr ""
21
  "Project-Id-Version: MailChimp for WordPress\n"
22
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mailchimp-for-wp\n"
23
- "POT-Creation-Date: 2015-11-30 10:15:18+00:00\n"
24
- "PO-Revision-Date: 2016-12-18 10:42+0000\n"
25
- "Last-Translator: Sven de Vries <signor.aglie@gmail.com>\n"
26
  "Language-Team: German (Germany) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/de_DE/)\n"
27
  "MIME-Version: 1.0\n"
28
  "Content-Type: text/plain; charset=UTF-8\n"
29
  "Content-Transfer-Encoding: 8bit\n"
30
  "Language: de_DE\n"
31
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 
 
 
 
32
 
33
- #: config/default-form-content.php:3
34
- msgid "Email address"
35
- msgstr "E-Mail-Adresse"
36
-
37
- #: config/default-form-content.php:4
38
- msgid "Your email address"
39
- msgstr "Deine E-Mail-Adresse"
40
-
41
- #: config/default-form-content.php:5
42
- msgid "Sign up"
43
- msgstr "Registrieren"
44
-
45
- #: config/default-form-messages.php:5
46
- msgid ""
47
- "Thank you, your sign-up request was successful! Please check your email "
48
- "inbox to confirm."
49
- msgstr "Danke, deine Registrierung war erfolgreich! Bitte prüfe dein E-Mail-Konto für die Bestätigung."
50
-
51
- #: config/default-form-messages.php:9
52
- msgid "Oops. Something went wrong. Please try again later."
53
- msgstr "Hoppla. Irgendwas ist schief gelaufen. Bitte versuche es später noch mal."
54
-
55
- #: config/default-form-messages.php:13
56
- msgid "Please provide a valid email address."
57
- msgstr "Bitte eine gültige E-Mail-Adresse angeben."
58
-
59
- #: config/default-form-messages.php:17
60
- msgid "Given email address is already subscribed, thank you!"
61
- msgstr "Die angegebene E-Mail-Adresse befindet sich bereits im Verteiler, danke!"
62
-
63
- #: config/default-form-messages.php:21
64
- msgid "Please fill in the required fields."
65
- msgstr "Bitte fülle die erforderlichen Felder aus."
66
-
67
- #: config/default-form-messages.php:25
68
- msgid "You were successfully unsubscribed."
69
- msgstr "Du wurdest erfolgreich abgemeldet."
70
-
71
- #: config/default-form-messages.php:29
72
- msgid "Given email address is not subscribed."
73
- msgstr "Die angegebene E-Mail Adresse ist nicht abonniert."
74
-
75
- #: config/default-form-messages.php:33
76
- msgid "Please select at least one list."
77
- msgstr "Bitte wähle mindestens eine Liste aus."
78
-
79
- #: config/default-integration-options.php:5
80
- msgid "Sign me up for the newsletter!"
81
- msgstr "Trage mich in den Newsletter ein!"
82
-
83
- #: includes/admin/class-admin-texts.php:62
84
  #: includes/forms/views/edit-form.php:6
85
  msgid "Settings"
86
  msgstr "Einstellungen"
@@ -89,141 +43,388 @@ msgstr "Einstellungen"
89
  msgid "Documentation"
90
  msgstr "Dokumentation"
91
 
92
- #: includes/admin/class-admin.php:167
93
  msgid ""
94
  "Success! The cached configuration for your MailChimp lists has been renewed."
95
  msgstr "Perfekt! Die gecachte Konfiguration deiner MailChimp-Listen wurde erfolgreich aktualisiert."
96
 
97
- #: includes/admin/class-admin.php:257
98
  msgid ""
99
  "This is a pro-only feature. Please upgrade to the premium version to be able"
100
  " to use it."
101
  msgstr "Das ist eine Pro-Funktion. Bitte führe ein Upgrade auf die Premiumversion durch, um diese Funktion nutzen zu können."
102
 
103
- #: includes/admin/class-admin.php:323 includes/views/general-settings.php:28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  msgid "MailChimp API Settings"
105
  msgstr "MailChimp API Einstellungen"
106
 
107
- #: includes/admin/class-admin.php:324
108
- #: integrations/ninja-forms/class-ninja-forms.php:34
109
  msgid "MailChimp"
110
  msgstr "MailChimp"
111
 
112
- #: includes/admin/class-ads.php:33
113
- msgid "Upgrade to MailChimp for WordPress Pro"
114
- msgstr "Wechsle zu MailChimp für WordPress Pro"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
 
116
- #: includes/admin/class-ads.php:41
117
  msgid ""
118
- "Enjoying this plugin? <a href=\"%s\">Purchase our bundle of premium "
119
- "features</a> for an even better plugin."
120
- msgstr "Dir gefällt dieses Plugin? <a href=\"%s\">Kauf unser Premium-Bundle</a> für noch mehr Funktionen."
 
121
 
122
- #: includes/admin/class-ads.php:62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  msgid "More subscribers, better newsletters."
124
  msgstr "Mehr Abonnenten, bessere Newsletter."
125
 
126
- #: includes/admin/class-ads.php:63
127
  msgid ""
128
  "Learn how to best grow your lists & write better emails by subscribing to "
129
  "our monthly tips."
130
  msgstr "Abonniere unsere monatlichen Tipps und lerne, wie deine Listen am schnellsten wachsen und du bessere E-Mails schreibst."
131
 
132
- #: includes/admin/class-ads.php:66
133
  msgid "Email Address"
134
  msgstr "E-Mail-Adresse"
135
 
136
- #: includes/admin/class-ads.php:70
137
  msgid "First Name"
138
  msgstr "Vorname"
139
 
140
- #: includes/admin/class-ads.php:77
141
  msgid "Subscribe"
142
  msgstr "Abonnieren"
143
 
144
- #: includes/admin/class-usage-tracking.php:57
145
- msgid "Once a month"
146
- msgstr "Einmal im Monat."
 
 
 
 
 
 
 
 
147
 
148
- #: includes/admin/migrations/3.0-form-1-post-type.php:35
149
- msgid "Default sign-up form"
150
- msgstr "Standard Anmelde-Formular."
 
 
151
 
152
- #: includes/class-api.php:83
 
 
 
 
 
 
 
 
 
 
153
  msgid "Read more about common connectivity issues."
154
  msgstr "Erfahre mehr über häufige Verbindungsprobleme."
155
 
156
- #: includes/forms/class-admin.php:71 includes/forms/class-admin.php:72
157
- #: includes/forms/views/edit-form.php:17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  msgid "Forms"
159
  msgstr "Formulare"
160
 
161
- #: includes/forms/class-admin.php:101 includes/forms/class-admin.php:176
162
  msgid "<strong>Success!</strong> Form successfully saved."
163
  msgstr "Das Formular wurde erfolgreich gespeichert."
164
 
165
- #: includes/forms/class-admin.php:176
166
  msgid "Preview form"
167
  msgstr "Vorschau Formular"
168
 
169
- #: includes/forms/class-admin.php:279
170
- msgid "Form not found."
171
- msgstr "Formular nicht gefunden."
172
 
173
- #: includes/forms/class-admin.php:281
174
- msgid "Go back"
175
- msgstr "Zurück gehen"
176
 
177
- #: includes/forms/class-form-previewer.php:162
178
  msgid "Form preview"
179
  msgstr "Formular-Vorschau"
180
 
181
- #: includes/forms/class-form-tags.php:51
182
  msgid "Replaced with the form response (error or success messages)."
183
  msgstr "Ersetzt mit der Formular-Antwort (Fehler- oder Erfolgsmeldungen)."
184
 
185
- #: includes/forms/class-form-tags.php:56
186
  msgid "Data from the URL or a submitted form."
187
  msgstr "URL- oder Formulardaten."
188
 
189
- #: includes/forms/class-form-tags.php:62
 
 
 
 
190
  #: includes/integrations/class-integration-tags.php:45
191
  msgid "Replaced with the number of subscribers on the selected list(s)"
192
  msgstr "Ersetzten mit der Nummer von Abonnenten der gewählten Listen"
193
 
194
- #: includes/forms/class-form-tags.php:67
195
  msgid "The email address of the current visitor (if known)."
196
  msgstr "Die E-Mail-Adresse des aktuellen Besuchers (wenn bekannt)."
197
 
198
- #: includes/forms/class-form-tags.php:72
199
  msgid "The URL of the page."
200
  msgstr "Die URL der Seite."
201
 
202
- #: includes/forms/class-form-tags.php:77
203
  msgid "The path of the page."
204
  msgstr "Der Pfad der Seite."
205
 
206
- #: includes/forms/class-form-tags.php:82
207
  msgid "The current date. Example: %s."
208
  msgstr "Das aktuelle Datum. Beispiel: %s."
209
 
210
- #: includes/forms/class-form-tags.php:87
211
  msgid "The current time. Example: %s."
212
  msgstr "Die aktuelle Zeit. Beispiel: %s."
213
 
214
- #: includes/forms/class-form-tags.php:92
215
  msgid "The site's language. Example: %s."
216
  msgstr "Die Sprache der Seite. Beispiel: %s."
217
 
218
- #: includes/forms/class-form-tags.php:97
219
  msgid "The visitor's IP address. Example: %s."
220
  msgstr "Die IP-Adresse des Besuchers. Beispiel: %s."
221
 
222
- #: includes/forms/class-form-tags.php:102
223
  msgid "The property of the currently logged-in user."
224
  msgstr "Die Eigenschaften des aktuell eingeloggten Benutzers."
225
 
226
- #: includes/forms/class-form.php:128
 
 
 
 
227
  msgid "There is no form with ID %d, perhaps it was deleted?"
228
  msgstr "Das Formular mit ID %d existiert nicht, möglicherweise wurde es gelöscht."
229
 
@@ -231,10 +432,6 @@ msgstr "Das Formular mit ID %d existiert nicht, möglicherweise wurde es gelösc
231
  msgid "Newsletter"
232
  msgstr "Newsletter"
233
 
234
- #: includes/forms/class-widget.php:30
235
- msgid "MailChimp Sign-Up Form"
236
- msgstr "MailChimp Registrierungsformular"
237
-
238
  #: includes/forms/class-widget.php:32
239
  msgid "Displays your MailChimp for WordPress sign-up form"
240
  msgstr "Zeigt dein MailChimp für WordPress Registrierungsformular an"
@@ -249,7 +446,114 @@ msgid ""
249
  " form settings</a>."
250
  msgstr "Du kannst dein Registrierungsformular in den <a href=\"%s\">MailChimp für WordPress Formulareinstellungen</a> editieren."
251
 
252
- #: includes/forms/views/add-form.php:10 includes/forms/views/add-form.php:60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  msgid "Add new form"
254
  msgstr "Neues Formular erstellen"
255
 
@@ -273,42 +577,270 @@ msgstr "Keine Listen gefunden. Hast du deinen <a href=\"%s\">MailChimp-Account v
273
  msgid "Fields"
274
  msgstr "Felder"
275
 
276
- #: includes/forms/views/edit-form.php:5
277
- msgid "Messages"
278
- msgstr "Nachrichten"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
 
280
- #: includes/forms/views/edit-form.php:7
281
- msgid "Appearance"
282
- msgstr "Aussehen"
283
 
284
- #: includes/forms/views/edit-form.php:15
285
- #: includes/integrations/views/integration-settings.php:8
286
- #: includes/integrations/views/integrations.php:7
287
- #: includes/views/general-settings.php:7
288
- msgid "You are here: "
289
- msgstr "Sie sind hier:"
290
 
291
- #: includes/forms/views/edit-form.php:27
292
- msgid "Edit Form"
293
- msgstr "Formular editieren"
294
 
295
- #: includes/forms/views/edit-form.php:45
296
- msgid "Enter form title here"
297
- msgstr "Formular-Titel eingeben."
298
 
299
- #: includes/forms/views/edit-form.php:46
300
- msgid "Enter the title of your sign-up form"
301
- msgstr "Titel deines Formulars eingeben."
302
 
303
- #: includes/forms/views/edit-form.php:54
304
- msgid "Get shortcode"
305
- msgstr "Shortcode anzeigen"
306
 
307
- #: includes/forms/views/edit-form.php:59
308
- msgid "Preview this form"
309
- msgstr "Formular ansehen"
310
 
311
- #: includes/forms/views/parts/add-fields-help.php:4
312
  #: includes/forms/views/tabs/form-fields.php:10
313
  msgid "Add more fields"
314
  msgstr "Mehr Felder anlegen"
@@ -345,11 +877,6 @@ msgid ""
345
  "changes."
346
  msgstr "Klicke auf die folgende Schaltfläche, damit MailChimp for Wordpress deine Änderungen übernimmt."
347
 
348
- #: includes/forms/views/parts/add-fields-help.php:43
349
- #: includes/views/parts/lists-overview.php:8
350
- msgid "Renew MailChimp lists"
351
- msgstr "MailChimp Listen neu laden"
352
-
353
  #: includes/forms/views/parts/dynamic-content-tags.php:6
354
  msgid "Add dynamic form variable"
355
  msgstr "Dynamische Formular-Variablen hinzufügen"
@@ -422,87 +949,101 @@ msgstr "Formular Felder"
422
  msgid "Enter the HTML code for your form fields.."
423
  msgstr "HTML-Code für die Formularfelder eingeben."
424
 
425
- #: includes/forms/views/tabs/form-fields.php:27
426
- msgid "Your form is missing the following (required) form fields:"
427
- msgstr "In deinem Formular fehlen die folgenden (erforderlichen) Felder:"
428
-
429
- #: includes/forms/views/tabs/form-fields.php:34
430
  msgid ""
431
  "Use the shortcode %s to display this form inside a post, page or text "
432
  "widget."
433
  msgstr "Benutze diesen Shortcode %s um dieses Formular innerhalb eines Posts, Seite oder Text Widgets zu nutzen."
434
 
435
- #: includes/forms/views/tabs/form-messages.php:3
436
  msgid "Form Messages"
437
  msgstr "Formular Nachrichten"
438
 
439
- #: includes/forms/views/tabs/form-messages.php:10
440
  msgid "Successfully subscribed"
441
  msgstr "Erfolgreich abonniert"
442
 
443
- #: includes/forms/views/tabs/form-messages.php:13
444
  msgid ""
445
  "The text that shows when an email address is successfully subscribed to the "
446
  "selected list(s)."
447
  msgstr "Der Text, der angezeigt wird, wenn eine E-Mail Adresse erfolgreich zur/zu den ausgewählten Liste(n) abonniert wurde."
448
 
449
- #: includes/forms/views/tabs/form-messages.php:17
450
  msgid "Invalid email address"
451
  msgstr "Ungültige E-Mail-Adresse"
452
 
453
- #: includes/forms/views/tabs/form-messages.php:20
454
  msgid "The text that shows when an invalid email address is given."
455
  msgstr "Der Text, der angezeigt wird, wenn eine ungültige E-Mail Adresse angegeben wurde."
456
 
457
- #: includes/forms/views/tabs/form-messages.php:24
458
  msgid "Required field missing"
459
  msgstr "Erforderliches Feld fehlt"
460
 
461
- #: includes/forms/views/tabs/form-messages.php:27
462
  msgid ""
463
  "The text that shows when a required field for the selected list(s) is "
464
  "missing."
465
  msgstr "Der Text, der angezeigt wird, wenn ein erforderliches Feld für die ausgewählte(n) Liste(n) fehlt."
466
 
467
- #: includes/forms/views/tabs/form-messages.php:31
468
  msgid "Already subscribed"
469
  msgstr "Bereits abonniert"
470
 
471
- #: includes/forms/views/tabs/form-messages.php:34
472
  msgid ""
473
  "The text that shows when the given email is already subscribed to the "
474
  "selected list(s)."
475
  msgstr "Der Text, der angezeigt wird, wenn die angegebene E-Mail Adresse bereits für die ausgewählte(n) Liste(n) abonniert ist."
476
 
477
- #: includes/forms/views/tabs/form-messages.php:38
478
  msgid "General error"
479
  msgstr "Allgemeiner Fehler"
480
 
481
- #: includes/forms/views/tabs/form-messages.php:41
482
  msgid "The text that shows when a general error occured."
483
  msgstr "Der Text, der angezeigt wird, wenn ein allgemeiner Fehler aufgetreten ist."
484
 
485
- #: includes/forms/views/tabs/form-messages.php:45
486
  msgid "Unsubscribed"
487
  msgstr "Abgemeldet"
488
 
489
- #: includes/forms/views/tabs/form-messages.php:48
490
  msgid ""
491
  "When using the unsubscribe method, this is the text that shows when the "
492
  "given email address is successfully unsubscribed from the selected list(s)."
493
  msgstr "Wenn die \"Abmelden\" Funktion verwendet wird, ist dies der Text der angezeigt wird, wenn die angegebene E-Mail Adresse erfolgreich von der/den ausgewählten Liste(n) abgemeldet wurde."
494
 
495
- #: includes/forms/views/tabs/form-messages.php:52
496
  msgid "Not subscribed"
497
  msgstr "Nicht abonniert"
498
 
499
- #: includes/forms/views/tabs/form-messages.php:55
500
  msgid ""
501
  "When using the unsubscribe method, this is the text that shows when the "
502
  "given email address is not on the selected list(s)."
503
  msgstr "Wenn die \"Abmelden\" Funktion verwendet wird, ist dies der Text der angezeigt wird, wenn die angegebene E-Mail Adresse die ausgewählte Liste nicht abonniert hat."
504
 
505
- #: includes/forms/views/tabs/form-messages.php:64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
506
  msgid "HTML tags like %s are allowed in the message fields."
507
  msgstr "HTML Tags wie %s sind in den Nachrichten Feldern erlaubt."
508
 
@@ -514,379 +1055,52 @@ msgstr "Formulareinstellungen"
514
  msgid "MailChimp specific settings"
515
  msgstr "MailChimp-spezifische Einstellungen."
516
 
517
- #: includes/forms/views/tabs/form-settings.php:12
518
  msgid "Lists this form subscribes to"
519
  msgstr "Listen dieses Formulars abonnieren "
520
 
521
- #: includes/forms/views/tabs/form-settings.php:15
522
- #: includes/integrations/views/integration-settings.php:93
523
- msgid "No lists found, <a href=\"%s\">are you connected to MailChimp</a>?"
524
- msgstr "Keine Listen gefunden, <a href=\"%s\">hast du MailChimp bereits angebunden</a>?"
525
-
526
- #: includes/forms/views/tabs/form-settings.php:29
527
  msgid ""
528
  "Select the list(s) to which people who submit this form should be "
529
  "subscribed."
530
  msgstr "Wähle die Liste(n), welche abonniert wird, wenn das Formular abgeschickt wird."
531
 
532
- #: includes/forms/views/tabs/form-settings.php:35
533
  msgid "Use double opt-in?"
534
  msgstr "Double-Opt-In verwenden?"
535
 
536
- #: includes/forms/views/tabs/form-settings.php:39
537
- #: includes/forms/views/tabs/form-settings.php:54
538
- #: includes/forms/views/tabs/form-settings.php:69
539
- #: includes/forms/views/tabs/form-settings.php:85
540
- #: includes/forms/views/tabs/form-settings.php:115
541
- #: includes/integrations/views/integration-settings.php:53
542
- #: includes/integrations/views/integration-settings.php:66
543
- #: includes/integrations/views/integration-settings.php:117
544
- #: includes/integrations/views/integration-settings.php:129
545
- #: includes/integrations/views/integration-settings.php:142
546
- #: includes/integrations/views/integration-settings.php:163
547
- #: includes/integrations/views/integration-settings.php:180
548
- #: includes/integrations/views/integration-settings.php:199
549
- #: integrations/contact-form-7/class-contact-form-7.php:69
550
- msgid "Yes"
551
- msgstr "Ja"
552
-
553
- #: includes/forms/views/tabs/form-settings.php:43
554
- #: includes/forms/views/tabs/form-settings.php:58
555
- #: includes/forms/views/tabs/form-settings.php:73
556
- #: includes/forms/views/tabs/form-settings.php:89
557
- #: includes/forms/views/tabs/form-settings.php:119
558
- #: includes/integrations/views/integration-settings.php:54
559
- #: includes/integrations/views/integration-settings.php:67
560
- #: includes/integrations/views/integration-settings.php:118
561
- #: includes/integrations/views/integration-settings.php:130
562
- #: includes/integrations/views/integration-settings.php:146
563
- #: includes/integrations/views/integration-settings.php:167
564
- #: includes/integrations/views/integration-settings.php:184
565
- #: includes/integrations/views/integration-settings.php:203
566
- #: integrations/contact-form-7/class-contact-form-7.php:69
567
- msgid "No"
568
- msgstr "Nein"
569
-
570
- #: includes/forms/views/tabs/form-settings.php:45
571
- #: includes/integrations/views/integration-settings.php:149
572
- msgid ""
573
- "Select \"yes\" if you want people to confirm their email address before "
574
- "being subscribed (recommended)"
575
- msgstr "Wähle \"ja\" wenn du möchtest, dass die E-Mail Adresse bestätigt werden muss. (empfohlen)"
576
-
577
- #: includes/forms/views/tabs/form-settings.php:50
578
- msgid "Send final welcome email?"
579
- msgstr "Willkommens-Mail senden?"
580
 
581
- #: includes/forms/views/tabs/form-settings.php:60
582
- #: includes/integrations/views/integration-settings.php:169
583
  msgid ""
584
- "Select \"yes\" if you want to send your lists Welcome Email if a subscribe "
585
- "succeeds (only when double opt-in is disabled)."
586
- msgstr "Wähle \"ja\" wenn du die Listen Willkommens E-Mail versenden möchtest, wenn ein Abonnement erfolgreich war (nur wenn Bouble Opt-in deaktiviert ist)."
587
 
588
- #: includes/forms/views/tabs/form-settings.php:65
589
- #: includes/integrations/views/integration-settings.php:176
590
- msgid "Update existing subscribers?"
591
- msgstr "Aktualisiere vorhandene Abonnenten?"
592
-
593
- #: includes/forms/views/tabs/form-settings.php:75
594
- #: includes/integrations/views/integration-settings.php:186
595
- msgid ""
596
- "Select \"yes\" if you want to update existing subscribers with the data that"
597
- " is sent."
598
- msgstr "Wähle \"Ja\" wenn du die bisherigen Abonnenten mit den gesendeten Daten aktualisieren willst."
599
-
600
- #: includes/forms/views/tabs/form-settings.php:81
601
- #: includes/integrations/views/integration-settings.php:195
602
- msgid "Replace interest groups?"
603
- msgstr "Interessengruppen ersetzen?"
604
-
605
- #: includes/forms/views/tabs/form-settings.php:92
606
- #: includes/integrations/views/integration-settings.php:206
607
- msgid ""
608
- "Select \"no\" if you want to add the selected groupings to any previously "
609
- "selected groupings when updating a subscriber."
610
- msgstr "Wähle \"nein\", wenn du bei der Aktualisierung eines Abonnenten die ausgewählten Gruppierungen zu zuvor ausgewählten Gruppierungen hinzufügen möchtest."
611
-
612
- #: includes/forms/views/tabs/form-settings.php:93
613
- #: includes/integrations/views/integration-settings.php:207
614
- msgid "What does this do?"
615
- msgstr "Welche Funktion hat dies?"
616
-
617
- #: includes/forms/views/tabs/form-settings.php:104
618
  msgid "Form behaviour"
619
  msgstr "Formular-Verhalten"
620
 
621
- #: includes/forms/views/tabs/form-settings.php:111
622
  msgid "Hide form after a successful sign-up?"
623
  msgstr "Verberge das Formular nach der Registrierung?"
624
 
625
- #: includes/forms/views/tabs/form-settings.php:122
626
  msgid "Select \"yes\" to hide the form fields after a successful sign-up."
627
  msgstr "Wähle \"ja\" wenn du die Formular Felder verstecken möchtest, nach einer erfolgreichen Registrierung."
628
 
629
- #: includes/forms/views/tabs/form-settings.php:127
630
  msgid "Redirect to URL after successful sign-ups"
631
  msgstr "Weiterleitung zu URL nach einer erfolgreichen Registrierung."
632
 
633
- #: includes/forms/views/tabs/form-settings.php:129
634
  msgid "Example: %s"
635
  msgstr "Beispiel: %s"
636
 
637
- #: includes/forms/views/tabs/form-settings.php:130
638
  msgid ""
639
  "Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
640
  " (absolute) URLs, including <code>http://</code>."
641
  msgstr "Leer lassen oder <code>0</code> eingeben für keine Weiterleitung. Ansonsten verwende (absolute) URLs, inkl. <code>http://</code>."
642
-
643
- #: includes/integrations/class-admin.php:79
644
- #: includes/integrations/class-admin.php:80
645
- #: includes/integrations/views/integration-settings.php:10
646
- #: includes/integrations/views/integrations.php:9
647
- #: includes/integrations/views/integrations.php:17
648
- msgid "Integrations"
649
- msgstr "Integrationen"
650
-
651
- #: includes/integrations/views/integration-settings.php:20
652
- msgid "%s integration"
653
- msgstr "%s-Integration"
654
-
655
- #: includes/integrations/views/integration-settings.php:51
656
- msgid "Enabled?"
657
- msgstr "Aktiviert?"
658
-
659
- #: includes/integrations/views/integration-settings.php:55
660
- msgid ""
661
- "Enable the %s integration? This will add a sign-up checkbox to the form."
662
- msgstr "%s-Integration aktivieren? Es wird eine Sign-Up-Checkbox zum Formular hinzugefügt."
663
-
664
- #: includes/integrations/views/integration-settings.php:64
665
- msgid "Implicit?"
666
- msgstr "erforderlich?"
667
-
668
- #: includes/integrations/views/integration-settings.php:68
669
- msgid ""
670
- "Select \"no\" if you want to ask your visitors before they are subscribed "
671
- "(recommended)."
672
- msgstr "Wähle \"Nein\" wenn der Benutzer das Abonnement via E-Mail bestätigen soll (empfohlen)."
673
-
674
- #: includes/integrations/views/integration-settings.php:78
675
- msgid "MailChimp Lists"
676
- msgstr "MailChimp Listen"
677
-
678
- #: includes/integrations/views/integration-settings.php:89
679
- msgid ""
680
- "Select the list(s) to which people who check the checkbox should be "
681
- "subscribed."
682
- msgstr "Wähle die Listen zu welchen, die Abonnenten die die Checkbox ausgewählt haben, eingetragen werden sollen."
683
-
684
- #: includes/integrations/views/integration-settings.php:102
685
- msgid "Checkbox label text"
686
- msgstr "Checkbox Beschriftung Text"
687
-
688
- #: includes/integrations/views/integration-settings.php:105
689
- msgid "HTML tags like %s are allowed in the label text."
690
- msgstr "HTML Tags wie %s sind in den Beschriftungen erlaubt."
691
-
692
- #: includes/integrations/views/integration-settings.php:115
693
- msgid "Pre-check the checkbox?"
694
- msgstr "Die Checkbox vorauswählen?"
695
-
696
- #: includes/integrations/views/integration-settings.php:119
697
- msgid "Select \"yes\" if the checkbox should be pre-checked."
698
- msgstr "Wähle \"Ja\" wenn die Checkbox standardmässig angekreuzt sein soll."
699
-
700
- #: includes/integrations/views/integration-settings.php:127
701
- msgid "Load some default CSS?"
702
- msgstr "Allgemeines CSS laden?"
703
-
704
- #: includes/integrations/views/integration-settings.php:131
705
- msgid "Select \"yes\" if the checkbox appears in a weird place."
706
- msgstr "Wähle \"ja\", falls die Checkbox an einem ungewünschten Platz angezeigt wird."
707
-
708
- #: includes/integrations/views/integration-settings.php:138
709
- msgid "Double opt-in?"
710
- msgstr "Double opt-in?"
711
-
712
- #: includes/integrations/views/integration-settings.php:159
713
- msgid "Send Welcome Email?"
714
- msgstr "Willkommens E-Mail senden?"
715
-
716
- #: includes/integrations/views/integration-settings.php:244
717
- msgid ""
718
- "The selected MailChimp lists require non-default fields, which may prevent "
719
- "this integration from working."
720
- msgstr "Für die ausgewählten MailChimp-Listen sind nicht-standardmäßige Felder erforderlich, aufgrund derer diese Integration möglicherweise nicht funktionieren wird."
721
-
722
- #: includes/integrations/views/integration-settings.php:245
723
- msgid ""
724
- "Please ensure you <a href=\"%s\">configure the plugin to send all required "
725
- "fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
726
- "sure only the email & name fields are marked as required fields for the "
727
- "selected list(s)."
728
- msgstr "Sie müssen alles so einstellen, dass das Plugin <a href=\"%s\">alle zum Absenden des Formulars erforderlichen Felder ihres Formulars enthält</a> oder sich bei <a href=\"%s\">Mailchimp einloggen</a> und nur das E-Mail & Name-Feld für Ihre Liste(n) als \"erforderlich\" (required) markieren."
729
-
730
- #: includes/integrations/views/integrations.php:30
731
- msgid "Enabled"
732
- msgstr "Aktiviert"
733
-
734
- #: includes/integrations/views/integrations.php:31
735
- msgid "Name"
736
- msgstr "Name"
737
-
738
- #: includes/integrations/views/integrations.php:32
739
- msgid "Description"
740
- msgstr "Beschreibung"
741
-
742
- #: includes/integrations/views/integrations.php:50
743
- msgid ""
744
- "This integration is enabled by default as it requires manual actions to "
745
- "work."
746
- msgstr "Diese Integration ist standardmässig aktiviert, da sie manuelle Massnahmen benötigt, um zu funktionieren."
747
-
748
- #: includes/integrations/views/integrations.php:57
749
- msgid "Configure this integration"
750
- msgstr "Integration konfigurieren"
751
-
752
- #: includes/views/general-settings.php:18
753
- msgid "General Settings"
754
- msgstr "Allgemeine Einstellungen"
755
-
756
- #: includes/views/general-settings.php:35
757
- msgid "Status"
758
- msgstr "Status"
759
-
760
- #: includes/views/general-settings.php:39
761
- msgid "CONNECTED"
762
- msgstr "VERBUNDEN"
763
-
764
- #: includes/views/general-settings.php:41
765
- msgid "NOT CONNECTED"
766
- msgstr "NICHT VERBUNDEN"
767
-
768
- #: includes/views/general-settings.php:48
769
- msgid "API Key"
770
- msgstr "API Schlüssel"
771
-
772
- #: includes/views/general-settings.php:50
773
- msgid "Your MailChimp API key"
774
- msgstr "Dein MailChimp API Schlüssel"
775
-
776
- #: includes/views/general-settings.php:52
777
- msgid "The API key for connecting with your MailChimp account."
778
- msgstr "Der API-Key aus deinem MailChimp-Account."
779
-
780
- #: includes/views/general-settings.php:53
781
- msgid "Get your API key here."
782
- msgstr "Den API Schlüssel bekommst du hier."
783
-
784
- #: includes/views/general-settings.php:65
785
- msgid "Usage Tracking"
786
- msgstr "Aufzeichnung des Nutzerverhaltens"
787
-
788
- #: includes/views/general-settings.php:71
789
- msgid ""
790
- "Allow us to anonymously track how this plugin is used to help us make it "
791
- "better fit your needs."
792
- msgstr "Erlaube uns, die Benutzung des Plugins anonym aufzuzeichnen, um es besser an das Nutzerverhalten anzupassen."
793
-
794
- #: includes/views/general-settings.php:73
795
- msgid "This is what we track."
796
- msgstr "Was wir aufzeichnen:"
797
-
798
- #: includes/views/parts/admin-footer.php:11
799
- msgid ""
800
- "MailChimp for WordPress is in need of translations. Is the plugin not "
801
- "translated in your language or do you spot errors with the current "
802
- "translations? Helping out is easy! Head over to <a href=\"%s\">the "
803
- "translation project and click \"help translate\"</a>."
804
- msgstr "MailChimp für WordPress braucht mehr Übersetzungen. Ist das Plugin in deiner Sprache nicht verfügbar oder hast du einen Fehler in der jetzigen Übersetzung entdeckt? Helfen ist ganz einfach! Gehe zum <a href=\"%s\">Übersetzungsprojekt und klicke auf \"Übersetzen\"</a>."
805
-
806
- #: includes/views/parts/admin-footer.php:31
807
- msgid ""
808
- "This plugin is not developed by or affiliated with MailChimp in any way."
809
- msgstr "Dieses Plugin ist weder von MailChimp entwickelt noch sonst irgendwie daran angegliedert."
810
-
811
- #: includes/views/parts/lists-overview.php:1
812
- msgid "Your MailChimp Account"
813
- msgstr "Ihr MailChimp Account"
814
-
815
- #: includes/views/parts/lists-overview.php:2
816
- msgid ""
817
- "The table below shows your MailChimp lists and their details. If you just "
818
- "applied changes to your MailChimp lists, please use the following button to "
819
- "renew the cached lists configuration."
820
- msgstr "In der folgenden Tabelle siehst du deine MailChimp-Listen und Details dazu. Falls du gerade Änderungen an den MailChimp-Listen vorgenommen hast, kannst du mit der folgenden Schaltfläche die Konfiguration aus dem Cache aktualisieren."
821
-
822
- #: includes/views/parts/lists-overview.php:14
823
- msgid "No lists were found in your MailChimp account"
824
- msgstr "In Deinem MailChimp Account wurden keine Mailinglisten gefunden"
825
-
826
- #: includes/views/parts/lists-overview.php:16
827
- msgid "A total of %d lists were found in your MailChimp account."
828
- msgstr "In deinem MailChimp-Konto sind insgesamt %d Listen vorhanden."
829
-
830
- #: includes/views/parts/lists-overview.php:21
831
- msgid "List Name"
832
- msgstr "Name der Liste"
833
-
834
- #: includes/views/parts/lists-overview.php:22
835
- msgid "ID"
836
- msgstr "ID"
837
-
838
- #: includes/views/parts/lists-overview.php:23
839
- msgid "Subscribers"
840
- msgstr "Abonnenten"
841
-
842
- #: includes/views/parts/lists-overview.php:45
843
- msgid "Edit this list in MailChimp"
844
- msgstr "Liste in MailChimp bearbeiten."
845
-
846
- #: includes/views/parts/lists-overview.php:59
847
- msgid "%s (%s) with field type %s."
848
- msgstr "%s (%s) mit Feldtyp %s."
849
-
850
- #: includes/views/parts/lists-overview.php:83
851
- msgid "%s (ID: %s) with type %s."
852
- msgstr "%s (ID: %s) mit Typ %s."
853
-
854
- #: integrations/contact-form-7/admin-before.php:2
855
- msgid ""
856
- "To integrate with Contact Form 7, configure the settings below and then add "
857
- "%s to your CF7 form mark-up."
858
- msgstr "Integration mit Contact Form 7: Konfiguriere die folgenden Einstellungen und füge dann %s in dein CF7-Formular ein."
859
-
860
- #: integrations/custom/admin-before.php:2
861
- msgid ""
862
- "To get a custom integration to work, include the following HTML in the form "
863
- "you are trying to integrate with."
864
- msgstr "Damit die angepasste Integration funktioniert, müssen Sie folgendes HTML in das entsprechende Formular einfügen."
865
-
866
- #: integrations/woocommerce/class-woocommerce.php:102
867
- msgid "Order #%d"
868
- msgstr "Bestellung #%d"
869
-
870
- #. Plugin Name of the plugin/theme
871
- msgid "MailChimp for WordPress"
872
- msgstr "MailChimp für WordPress"
873
-
874
- #. Plugin URI of the plugin/theme
875
- msgid ""
876
- "https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-"
877
- "wp&utm_campaign=plugins-page"
878
- msgstr "https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page"
879
-
880
- #. Description of the plugin/theme
881
- msgid ""
882
- "MailChimp for WordPress by ibericode. Adds various highly effective sign-up "
883
- "methods to your site."
884
- msgstr "MailChimp für WordPress von ibericode. Erweitert deine Site mit diversen effektiven Sign-Up-Methoden."
885
-
886
- #. Author of the plugin/theme
887
- msgid "ibericode"
888
- msgstr "ibericode"
889
-
890
- #. Author URI of the plugin/theme
891
- msgid "https://ibericode.com/"
892
- msgstr "https://ibericode.com/"
1
+ # Copyright (C) 2017 mailchimp-for-wp
2
+ # This file is distributed under the same license as the mailchimp-for-wp package.
3
  # Translators:
4
  # Aiko <aiko@goemann.org>, 2015
5
  # Björn Weil <100progratis@web.de>, 2015
9
  # Jochen Gererstorfer, 2015
10
  # Maik Kuszynski <kuszynski90@gmail.com>, 2016
11
  # Marcel Ebert <marcel.ebert@yahoo.de>, 2016
12
+ # Mike Borgers <borgersmike@googlemail.com>, 2017
13
  # S L <gitter.s@gmx.de>, 2015
14
  # Stefan Oderbolz <oderbolz@gmail.com>, 2015
15
  # Steffi Zehnder, 2016
16
  # Sven B. <sven.balje@esb-stade.de>, 2015
17
  # Sven de Vries <signor.aglie@gmail.com>, 2016
18
  # Tobias Vogler <inactive+tobiv@transifex.com>, 2016
19
+ # Uwe Keim <uwe.keim@gmail.com>, 2015
20
  msgid ""
21
  msgstr ""
22
  "Project-Id-Version: MailChimp for WordPress\n"
23
+ "PO-Revision-Date: 2017-07-03 11:41+0000\n"
24
+ "Last-Translator: Mike Borgers <borgersmike@googlemail.com>\n"
 
 
25
  "Language-Team: German (Germany) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/de_DE/)\n"
26
  "MIME-Version: 1.0\n"
27
  "Content-Type: text/plain; charset=UTF-8\n"
28
  "Content-Transfer-Encoding: 8bit\n"
29
  "Language: de_DE\n"
30
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
31
+ "X-Poedit-Basepath: ..\n"
32
+ "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
33
+ "X-Poedit-SearchPath-0: .\n"
34
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
35
+ "X-Poedit-SourceCharset: UTF-8\n"
36
 
37
+ #: includes/admin/class-admin-texts.php62,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  #: includes/forms/views/edit-form.php:6
39
  msgid "Settings"
40
  msgstr "Einstellungen"
43
  msgid "Documentation"
44
  msgstr "Dokumentation"
45
 
46
+ #: includes/admin/class-admin.php:204
47
  msgid ""
48
  "Success! The cached configuration for your MailChimp lists has been renewed."
49
  msgstr "Perfekt! Die gecachte Konfiguration deiner MailChimp-Listen wurde erfolgreich aktualisiert."
50
 
51
+ #: includes/admin/class-admin.php:304
52
  msgid ""
53
  "This is a pro-only feature. Please upgrade to the premium version to be able"
54
  " to use it."
55
  msgstr "Das ist eine Pro-Funktion. Bitte führe ein Upgrade auf die Premiumversion durch, um diese Funktion nutzen zu können."
56
 
57
+ #: includes/admin/class-admin.php305,
58
+ #: includes/views/parts/lists-overview.php10,
59
+ #: includes/forms/views/parts/add-fields-help.php:43
60
+ msgid "Renew MailChimp lists"
61
+ msgstr "MailChimp Listen neu laden"
62
+
63
+ #: includes/admin/class-admin.php:306
64
+ msgid "Fetching MailChimp lists"
65
+ msgstr "Hole MailChimp Listen"
66
+
67
+ #: includes/admin/class-admin.php:307
68
+ msgid "Done! MailChimp lists renewed."
69
+ msgstr "Fertig! MailChimp Listen neu geladen."
70
+
71
+ #: includes/admin/class-admin.php:308
72
+ msgid "This can take a while if you have many MailChimp lists."
73
+ msgstr "Dies kann eine Weile dauern wenn du viele MailChimp Listen hast."
74
+
75
+ #: includes/admin/class-admin.php336, includes/views/general-settings.php:31
76
  msgid "MailChimp API Settings"
77
  msgstr "MailChimp API Einstellungen"
78
 
79
+ #: includes/admin/class-admin.php:337
 
80
  msgid "MailChimp"
81
  msgstr "MailChimp"
82
 
83
+ #: includes/admin/class-admin.php343, includes/views/other-settings.php60,
84
+ #: includes/views/other-settings.php:70
85
+ msgid "Other Settings"
86
+ msgstr "Andere Einstellungen"
87
+
88
+ #: includes/admin/class-admin.php:344
89
+ msgid "Other"
90
+ msgstr "Andere"
91
+
92
+ #: includes/admin/class-admin.php:458
93
+ msgid "Log successfully emptied."
94
+ msgstr "Log erfolgreich geleert"
95
+
96
+ #: includes/admin/class-admin.php:488
97
+ msgid ""
98
+ "To get started with MailChimp for WordPress, please <a href=\"%s\">enter "
99
+ "your MailChimp API key on the settings page of the plugin</a>."
100
+ msgstr "Um mit MailChimp für Wordpress anzufangen bitte den <a href=\"%s\">MailChimp API Schlüssel auf der Seite Einstellungen in diesem Plugin eingeben</a>."
101
+
102
+ #: includes/admin/class-ads.php:39
103
+ msgid ""
104
+ "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
105
+ "Builder</a> & edit the look of your forms with just a few clicks."
106
+ msgstr "Willst du das Aussehen deines Formulars anpassen ?<a href=\"%s\">Probiere unseren Style Builder aus</a> und editiere das Aussehen deines Formulars mit wenigen Clicks."
107
 
108
+ #: includes/admin/class-ads.php:54
109
  msgid ""
110
+ "Be notified whenever someone subscribes? <a href=\"%s\">MailChimp for "
111
+ "WordPress Premium</a> allows you to set up email notifications for your "
112
+ "forms."
113
+ msgstr "Willst du eine Benachrichtigung wenn jemand sich registriert ?<a href=\"%s\">MailChimp für Wordpress Premium</a>erlaubt es dir Email Benachrichtigungen für dein Formular zu erstellen."
114
 
115
+ #: includes/admin/class-ads.php:56
116
+ msgid ""
117
+ "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
118
+ "submits forms without reloading the entire page, resulting in a much better "
119
+ "experience for your visitors."
120
+ msgstr "Bessere Konvertierungen ? <a href=\"%s\">MailChimp für WordPress Premium</a> schickt Formulare ab ohne die Seite neu zu Laden, eine wesentlich bessere Erfahrung für den Anwender."
121
+
122
+ #: includes/admin/class-ads.php:70
123
+ msgid "Upgrade to Premium"
124
+ msgstr "Auf Premium upgraden"
125
+
126
+ #: includes/admin/class-ads.php:83
127
+ msgid ""
128
+ "Do you want translated forms for all of your languages? <a href=\"%s\">Try "
129
+ "MailChimp for WordPress Premium</a>, which does just that plus more."
130
+ msgstr "Willst du übersetzte Formulare für alle deine Sprachen ? <a href=\"%s\">Probiere MailChimp für Wordpress Premium</a> das genau das macht und mehr..."
131
+
132
+ #: includes/admin/class-ads.php:88
133
+ msgid ""
134
+ "Do you want to create more than one form? Our Premium add-on does just that!"
135
+ " <a href=\"%s\">Have a look at all Premium benefits</a>."
136
+ msgstr "Willst du mehr als eine Form erstellen ? Unser Premium Add-On macht genau das ! <a href=\"%s\">Schau dir die Premium Vorteile an</a>."
137
+
138
+ #: includes/admin/class-ads.php:93
139
+ msgid ""
140
+ "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
141
+ "features. <a href=\"%s\">Find out about all benefits now</a>."
142
+ msgstr "Gefällt dir dieses Plugin ? Das Premium Add-On schaltet einige kraftvolle Eigenschaften frei. <a href=\"%s\">Finde jetzt Alles über die Vorteile heraus</a>."
143
+
144
+ #: includes/admin/class-ads.php:112
145
  msgid "More subscribers, better newsletters."
146
  msgstr "Mehr Abonnenten, bessere Newsletter."
147
 
148
+ #: includes/admin/class-ads.php:113
149
  msgid ""
150
  "Learn how to best grow your lists & write better emails by subscribing to "
151
  "our monthly tips."
152
  msgstr "Abonniere unsere monatlichen Tipps und lerne, wie deine Listen am schnellsten wachsen und du bessere E-Mails schreibst."
153
 
154
+ #: includes/admin/class-ads.php:116
155
  msgid "Email Address"
156
  msgstr "E-Mail-Adresse"
157
 
158
+ #: includes/admin/class-ads.php:120
159
  msgid "First Name"
160
  msgstr "Vorname"
161
 
162
+ #: includes/admin/class-ads.php127, includes/forms/class-admin.php:94
163
  msgid "Subscribe"
164
  msgstr "Abonnieren"
165
 
166
+ #: includes/admin/class-ads.php:150
167
+ msgid ""
168
+ "Do you want to track all WooCommerce orders in MailChimp so you can send "
169
+ "emails based on the purchase activity of your subscribers?"
170
+ msgstr "Möchtest du alle WooCommerce Bestellungen in MailChimp verfolgen damit du Emails auf Basis des Kaufverhaltens deiner Abonnenten versenden kannst ?"
171
+
172
+ #: includes/admin/class-ads.php:153
173
+ msgid ""
174
+ "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
175
+ "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
176
+ msgstr "<a href=\"%s\">Upgrade zur MailChimp für WordPress Premium Version</a> oder <a href=\"%s\">lies mehr über MailChimp's E-Commerce Vorteile</a>."
177
 
178
+ #: includes/admin/class-review-notice.php:68
179
+ msgid ""
180
+ "You've been using MailChimp for WordPress for some time now; we hope you "
181
+ "love it!"
182
+ msgstr "Du hast MailChimp für Wordpress nun einige Zeit benutzt; wir hoffen es gefällt dir!"
183
 
184
+ #: includes/admin/class-review-notice.php:69
185
+ msgid ""
186
+ "If you do, please <a href=\"%s\">leave us a 5★ rating on WordPress.org</a>. "
187
+ "It would be of great help to us."
188
+ msgstr "Wenn ja dann <a href=\"%s\">gib uns eine 5★ Bewertung auf WordPress.org</a>. Das wäre eine große Hilfe für uns."
189
+
190
+ #: includes/admin/class-review-notice.php:71
191
+ msgid "Dismiss this notice."
192
+ msgstr "Diese Nachricht ausblenden."
193
+
194
+ #: includes/api/class-api.php:84
195
  msgid "Read more about common connectivity issues."
196
  msgstr "Erfahre mehr über häufige Verbindungsprobleme."
197
 
198
+ #: includes/forms/class-admin.php:62
199
+ msgid "Add to form"
200
+ msgstr "Zur Form hinzufügen"
201
+
202
+ #: includes/forms/class-admin.php:63
203
+ msgid "City"
204
+ msgstr "Stadt"
205
+
206
+ #: includes/forms/class-admin.php:64
207
+ msgid "Checkboxes"
208
+ msgstr "Checkboxen"
209
+
210
+ #: includes/forms/class-admin.php:65
211
+ msgid "Choices"
212
+ msgstr "Auswahl"
213
+
214
+ #: includes/forms/class-admin.php:66
215
+ msgid "Choice type"
216
+ msgstr "Auswahltyp"
217
+
218
+ #: includes/forms/class-admin.php:67
219
+ msgid "Choose a field to add to the form"
220
+ msgstr "Wähle ein Feld das zur Form hinzugefügt werden soll"
221
+
222
+ #: includes/forms/class-admin.php:68
223
+ msgid "Close"
224
+ msgstr "Schließen"
225
+
226
+ #: includes/forms/class-admin.php:69
227
+ msgid "Country"
228
+ msgstr "Land"
229
+
230
+ #: includes/forms/class-admin.php:70
231
+ msgid "Dropdown"
232
+ msgstr "Auswahlliste"
233
+
234
+ #: includes/forms/class-admin.php:71
235
+ msgid "Field type"
236
+ msgstr "Feld Typ"
237
+
238
+ #: includes/forms/class-admin.php:72
239
+ msgid "Field label"
240
+ msgstr "Feld Bezeichnung"
241
+
242
+ #: includes/forms/class-admin.php:73
243
+ msgid "Form action"
244
+ msgstr "Form Aktion"
245
+
246
+ #: includes/forms/class-admin.php:74
247
+ msgid ""
248
+ "This field will allow your visitors to choose whether they would like to "
249
+ "subscribe or unsubscribe"
250
+ msgstr "Dieses Feld erlaubt es deinen Besuchern auszuwählen ob sie abonnieren oder nicht mehr abonnieren möchten."
251
+
252
+ #: includes/forms/class-admin.php:75
253
+ msgid "Form fields"
254
+ msgstr "Formular Felder"
255
+
256
+ #: includes/forms/class-admin.php:76
257
+ msgid "This field is marked as required in MailChimp."
258
+ msgstr "Dieses Feld ist in MailChimp als erforderlich markiert."
259
+
260
+ #: includes/forms/class-admin.php:77
261
+ msgid "Initial value"
262
+ msgstr "Anfangswert"
263
+
264
+ #: includes/forms/class-admin.php:78
265
+ msgid "Interest categories"
266
+ msgstr "Interessen Kategorien"
267
+
268
+ #: includes/forms/class-admin.php:79
269
+ msgid "Is this field required?"
270
+ msgstr "Ist dieses Feld erforderlich ?"
271
+
272
+ #: includes/forms/class-admin.php:80
273
+ msgid "List choice"
274
+ msgstr "Listen-Auswahl"
275
+
276
+ #: includes/forms/class-admin.php:81
277
+ msgid "This field will allow your visitors to choose a list to subscribe to."
278
+ msgstr "Dieses Feld erlaubt es deinen Besuchern eine Liste zum abonnieren auszuwählen."
279
+
280
+ #: includes/forms/class-admin.php:82
281
+ msgid "List fields"
282
+ msgstr "Listen Felder"
283
+
284
+ #: includes/forms/class-admin.php:83
285
+ msgid "Min"
286
+ msgstr "Min"
287
+
288
+ #: includes/forms/class-admin.php:84
289
+ msgid "Max"
290
+ msgstr "Max"
291
+
292
+ #: includes/forms/class-admin.php:85
293
+ msgid ""
294
+ "No available fields. Did you select a MailChimp list in the form settings?"
295
+ msgstr "Keine Felder verfügbar. Hast du eine MailChimp Liste bei den Formulareinstellungen ausgewählt ?"
296
+
297
+ #: includes/forms/class-admin.php:86
298
+ msgid "Optional"
299
+ msgstr "Optional"
300
+
301
+ #: includes/forms/class-admin.php:87
302
+ msgid "Placeholder"
303
+ msgstr "Platzhalter"
304
+
305
+ #: includes/forms/class-admin.php:88
306
+ msgid "Text to show when field has no value."
307
+ msgstr "Text der angezeigt wird wenn das Feld keinen Wert hat"
308
+
309
+ #: includes/forms/class-admin.php:89
310
+ msgid "Preselect"
311
+ msgstr "Vorauswahl"
312
+
313
+ #: includes/forms/class-admin.php:90
314
+ msgid "Remove"
315
+ msgstr "Entfernen"
316
+
317
+ #: includes/forms/class-admin.php:91
318
+ msgid "Radio buttons"
319
+ msgstr "Optionsschaltfläche"
320
+
321
+ #: includes/forms/class-admin.php:92
322
+ msgid "Street Address"
323
+ msgstr "Straße Adresse"
324
+
325
+ #: includes/forms/class-admin.php:93
326
+ msgid "State"
327
+ msgstr "Staat"
328
+
329
+ #: includes/forms/class-admin.php:95
330
+ msgid "Submit button"
331
+ msgstr "Absenden Button"
332
+
333
+ #: includes/forms/class-admin.php:96
334
+ msgid "Wrap in paragraph tags?"
335
+ msgstr "In Paragraph Tags einschließen ?"
336
+
337
+ #: includes/forms/class-admin.php:97
338
+ msgid "Value"
339
+ msgstr "Wert"
340
+
341
+ #: includes/forms/class-admin.php:98
342
+ msgid "Text to prefill this field with."
343
+ msgstr "Text um das Feld vorab zu füllen"
344
+
345
+ #: includes/forms/class-admin.php:99
346
+ msgid "ZIP"
347
+ msgstr "Postleitzahl"
348
+
349
+ #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
350
+ #: includes/forms/views/edit-form.php:24
351
  msgid "Forms"
352
  msgstr "Formulare"
353
 
354
+ #: includes/forms/class-admin.php152, includes/forms/class-admin.php:276
355
  msgid "<strong>Success!</strong> Form successfully saved."
356
  msgstr "Das Formular wurde erfolgreich gespeichert."
357
 
358
+ #: includes/forms/class-admin.php:276
359
  msgid "Preview form"
360
  msgstr "Vorschau Formular"
361
 
362
+ #: includes/forms/class-admin.php449, includes/forms/class-widget.php:30
363
+ msgid "MailChimp Sign-Up Form"
364
+ msgstr "MailChimp Registrierungsformular"
365
 
366
+ #: includes/forms/class-admin.php:453
367
+ msgid "Select the form to show"
368
+ msgstr "Wähle ein Formular aus"
369
 
370
+ #: includes/forms/class-form-previewer.php:146
371
  msgid "Form preview"
372
  msgstr "Formular-Vorschau"
373
 
374
+ #: includes/forms/class-form-tags.php:60
375
  msgid "Replaced with the form response (error or success messages)."
376
  msgstr "Ersetzt mit der Formular-Antwort (Fehler- oder Erfolgsmeldungen)."
377
 
378
+ #: includes/forms/class-form-tags.php:65
379
  msgid "Data from the URL or a submitted form."
380
  msgstr "URL- oder Formulardaten."
381
 
382
+ #: includes/forms/class-form-tags.php:71
383
+ msgid "Data from a cookie."
384
+ msgstr "Daten vom Cookie"
385
+
386
+ #: includes/forms/class-form-tags.php77,
387
  #: includes/integrations/class-integration-tags.php:45
388
  msgid "Replaced with the number of subscribers on the selected list(s)"
389
  msgstr "Ersetzten mit der Nummer von Abonnenten der gewählten Listen"
390
 
391
+ #: includes/forms/class-form-tags.php:82
392
  msgid "The email address of the current visitor (if known)."
393
  msgstr "Die E-Mail-Adresse des aktuellen Besuchers (wenn bekannt)."
394
 
395
+ #: includes/forms/class-form-tags.php:87
396
  msgid "The URL of the page."
397
  msgstr "Die URL der Seite."
398
 
399
+ #: includes/forms/class-form-tags.php:92
400
  msgid "The path of the page."
401
  msgstr "Der Pfad der Seite."
402
 
403
+ #: includes/forms/class-form-tags.php:97
404
  msgid "The current date. Example: %s."
405
  msgstr "Das aktuelle Datum. Beispiel: %s."
406
 
407
+ #: includes/forms/class-form-tags.php:102
408
  msgid "The current time. Example: %s."
409
  msgstr "Die aktuelle Zeit. Beispiel: %s."
410
 
411
+ #: includes/forms/class-form-tags.php:107
412
  msgid "The site's language. Example: %s."
413
  msgstr "Die Sprache der Seite. Beispiel: %s."
414
 
415
+ #: includes/forms/class-form-tags.php:112
416
  msgid "The visitor's IP address. Example: %s."
417
  msgstr "Die IP-Adresse des Besuchers. Beispiel: %s."
418
 
419
+ #: includes/forms/class-form-tags.php:117
420
  msgid "The property of the currently logged-in user."
421
  msgstr "Die Eigenschaften des aktuell eingeloggten Benutzers."
422
 
423
+ #: includes/forms/class-form-tags.php:123
424
+ msgid "Property of the current page or post."
425
+ msgstr "Eigenschaft der aktuellen Seite oder des Posts."
426
+
427
+ #: includes/forms/class-form.php:133
428
  msgid "There is no form with ID %d, perhaps it was deleted?"
429
  msgstr "Das Formular mit ID %d existiert nicht, möglicherweise wurde es gelöscht."
430
 
432
  msgid "Newsletter"
433
  msgstr "Newsletter"
434
 
 
 
 
 
435
  #: includes/forms/class-widget.php:32
436
  msgid "Displays your MailChimp for WordPress sign-up form"
437
  msgstr "Zeigt dein MailChimp für WordPress Registrierungsformular an"
446
  " form settings</a>."
447
  msgstr "Du kannst dein Registrierungsformular in den <a href=\"%s\">MailChimp für WordPress Formulareinstellungen</a> editieren."
448
 
449
+ #: includes/integrations/class-admin.php79,
450
+ #: includes/integrations/class-admin.php80,
451
+ #: includes/integrations/views/integration-settings.php10,
452
+ #: includes/integrations/views/integrations.php57,
453
+ #: includes/integrations/views/integrations.php:65
454
+ msgid "Integrations"
455
+ msgstr "Integrationen"
456
+
457
+ #: includes/views/general-settings.php7, includes/views/other-settings.php58,
458
+ #: includes/forms/views/edit-form.php22,
459
+ #: includes/integrations/views/integration-settings.php8,
460
+ #: includes/integrations/views/integrations.php:55
461
+ msgid "You are here: "
462
+ msgstr "Sie sind hier:"
463
+
464
+ #: includes/views/general-settings.php:18
465
+ msgid "General Settings"
466
+ msgstr "Allgemeine Einstellungen"
467
+
468
+ #: includes/views/general-settings.php:38
469
+ msgid "Status"
470
+ msgstr "Status"
471
+
472
+ #: includes/views/general-settings.php:42
473
+ msgid "CONNECTED"
474
+ msgstr "VERBUNDEN"
475
+
476
+ #: includes/views/general-settings.php:44
477
+ msgid "NOT CONNECTED"
478
+ msgstr "NICHT VERBUNDEN"
479
+
480
+ #: includes/views/general-settings.php:51
481
+ msgid "API Key"
482
+ msgstr "API Schlüssel"
483
+
484
+ #: includes/views/general-settings.php:53
485
+ msgid "Your MailChimp API key"
486
+ msgstr "Dein MailChimp API Schlüssel"
487
+
488
+ #: includes/views/general-settings.php:55
489
+ msgid "The API key for connecting with your MailChimp account."
490
+ msgstr "Der API-Key aus deinem MailChimp-Account."
491
+
492
+ #: includes/views/general-settings.php:56
493
+ msgid "Get your API key here."
494
+ msgstr "Den API Schlüssel bekommst du hier."
495
+
496
+ #: includes/views/other-settings.php:14
497
+ msgid "Miscellaneous settings"
498
+ msgstr "Verschiedene Einstellungen"
499
+
500
+ #: includes/views/other-settings.php:17
501
+ msgid "Usage Tracking"
502
+ msgstr "Aufzeichnung des Nutzerverhaltens"
503
+
504
+ #: includes/views/other-settings.php:29
505
+ msgid ""
506
+ "Allow us to anonymously track how this plugin is used to help us make it "
507
+ "better fit your needs."
508
+ msgstr "Erlaube uns, die Benutzung des Plugins anonym aufzuzeichnen, um es besser an das Nutzerverhalten anzupassen."
509
+
510
+ #: includes/views/other-settings.php:31
511
+ msgid "This is what we track."
512
+ msgstr "Was wir aufzeichnen:"
513
+
514
+ #: includes/views/other-settings.php:37
515
+ msgid "Logging"
516
+ msgstr "Logging"
517
+
518
+ #: includes/views/other-settings.php:44
519
+ msgid ""
520
+ "Determines what events should be written to <a href=\"%s\">the debug log</a>"
521
+ " (see below)."
522
+ msgstr "Legt fest welche Ereignisse in das <a href=\"%s\">Debug Logfile</a> geschrieben werden sollen (siehe unten)."
523
+
524
+ #: includes/views/other-settings.php:99
525
+ msgid "Debug Log"
526
+ msgstr "Debug Logfile"
527
+
528
+ #: includes/views/other-settings.php:99
529
+ msgid "Filter.."
530
+ msgstr "Filter"
531
+
532
+ #: includes/views/other-settings.php:104
533
+ msgid "Log file is not writable."
534
+ msgstr "Logfile ist nicht schreibbar"
535
+
536
+ #: includes/views/other-settings.php:105
537
+ msgid "Please ensure %s has the proper <a href=\"%s\">file permissions</a>."
538
+ msgstr "Bitte stelle sicher %s hat die richtigen <a href=\"%s\">Dateiberechtigungen</a>."
539
+
540
+ #: includes/views/other-settings.php:123
541
+ msgid "Nothing here. Which means there are no errors!"
542
+ msgstr "Nichts hier. Das bedeutet keine Fehler!"
543
+
544
+ #: includes/views/other-settings.php:133
545
+ msgid "Empty Log"
546
+ msgstr "Logfile leeren"
547
+
548
+ #: includes/views/other-settings.php:141
549
+ msgid "Right now, the plugin is configured to only log errors and warnings."
550
+ msgstr "Momentan ist das Plugin konfiguriert nur Fehler und Warnungen mitzuschreiben."
551
+
552
+ #: includes/admin/migrations/3.0.0-form-1-post-type.php:35
553
+ msgid "Default sign-up form"
554
+ msgstr "Standard Anmelde-Formular."
555
+
556
+ #: includes/forms/views/add-form.php10, includes/forms/views/add-form.php:60
557
  msgid "Add new form"
558
  msgstr "Neues Formular erstellen"
559
 
577
  msgid "Fields"
578
  msgstr "Felder"
579
 
580
+ #: includes/forms/views/edit-form.php:5
581
+ msgid "Messages"
582
+ msgstr "Nachrichten"
583
+
584
+ #: includes/forms/views/edit-form.php:7
585
+ msgid "Appearance"
586
+ msgstr "Aussehen"
587
+
588
+ #: includes/forms/views/edit-form.php:25
589
+ msgid "Form"
590
+ msgstr "Formular"
591
+
592
+ #: includes/forms/views/edit-form.php:34
593
+ msgid "Edit Form"
594
+ msgstr "Formular editieren"
595
+
596
+ #: includes/forms/views/edit-form.php:58
597
+ msgid "Enter form title here"
598
+ msgstr "Formular-Titel eingeben."
599
+
600
+ #: includes/forms/views/edit-form.php:59
601
+ msgid "Enter the title of your sign-up form"
602
+ msgstr "Titel deines Formulars eingeben."
603
+
604
+ #: includes/forms/views/edit-form.php:65
605
+ msgid "Shortcode"
606
+ msgstr "Shortcode"
607
+
608
+ #: includes/forms/views/edit-form.php:67
609
+ msgid "Get shortcode"
610
+ msgstr "Shortcode anzeigen"
611
+
612
+ #: includes/forms/views/edit-form.php:72
613
+ msgid "Preview this form"
614
+ msgstr "Formular ansehen"
615
+
616
+ #: includes/integrations/views/integration-settings.php:20
617
+ msgid "%s integration"
618
+ msgstr "%s-Integration"
619
+
620
+ #: includes/integrations/views/integration-settings.php:27
621
+ msgid ""
622
+ "The selected MailChimp lists require non-default fields, which may prevent "
623
+ "this integration from working."
624
+ msgstr "Für die ausgewählten MailChimp-Listen sind nicht-standardmäßige Felder erforderlich, aufgrund derer diese Integration möglicherweise nicht funktionieren wird."
625
+
626
+ #: includes/integrations/views/integration-settings.php:28
627
+ msgid ""
628
+ "Please ensure you <a href=\"%s\">configure the plugin to send all required "
629
+ "fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
630
+ "sure only the email & name fields are marked as required fields for the "
631
+ "selected list(s)."
632
+ msgstr "Sie müssen alles so einstellen, dass das Plugin <a href=\"%s\">alle zum Absenden des Formulars erforderlichen Felder ihres Formulars enthält</a> oder sich bei <a href=\"%s\">Mailchimp einloggen</a> und nur das E-Mail & Name-Feld für Ihre Liste(n) als \"erforderlich\" (required) markieren."
633
+
634
+ #: includes/integrations/views/integration-settings.php:62
635
+ msgid "Enabled?"
636
+ msgstr "Aktiviert?"
637
+
638
+ #: includes/integrations/views/integration-settings.php:66
639
+ msgid ""
640
+ "Enable the %s integration? This will add a sign-up checkbox to the form."
641
+ msgstr "%s-Integration aktivieren? Es wird eine Sign-Up-Checkbox zum Formular hinzugefügt."
642
+
643
+ #: includes/integrations/views/integration-settings.php:76
644
+ msgid "Implicit?"
645
+ msgstr "erforderlich?"
646
+
647
+ #: includes/integrations/views/integration-settings.php:80
648
+ msgid ""
649
+ "Select \"no\" if you want to ask your visitors before they are subscribed "
650
+ "(recommended)."
651
+ msgstr "Wähle \"Nein\" wenn der Benutzer das Abonnement via E-Mail bestätigen soll (empfohlen)."
652
+
653
+ #: includes/integrations/views/integration-settings.php:90
654
+ msgid "MailChimp Lists"
655
+ msgstr "MailChimp Listen"
656
+
657
+ #: includes/integrations/views/integration-settings.php:103
658
+ msgid ""
659
+ "Select the list(s) to which people who check the checkbox should be "
660
+ "subscribed."
661
+ msgstr "Wähle die Listen zu welchen, die Abonnenten die die Checkbox ausgewählt haben, eingetragen werden sollen."
662
+
663
+ #: includes/integrations/views/integration-settings.php107,
664
+ #: includes/forms/views/tabs/form-settings.php:18
665
+ msgid "No lists found, <a href=\"%s\">are you connected to MailChimp</a>?"
666
+ msgstr "Keine Listen gefunden, <a href=\"%s\">hast du MailChimp bereits angebunden</a>?"
667
+
668
+ #: includes/integrations/views/integration-settings.php:116
669
+ msgid "Checkbox label text"
670
+ msgstr "Checkbox Beschriftung Text"
671
+
672
+ #: includes/integrations/views/integration-settings.php:119
673
+ msgid "HTML tags like %s are allowed in the label text."
674
+ msgstr "HTML Tags wie %s sind in den Beschriftungen erlaubt."
675
+
676
+ #: includes/integrations/views/integration-settings.php:129
677
+ msgid "Pre-check the checkbox?"
678
+ msgstr "Die Checkbox vorauswählen?"
679
+
680
+ #: includes/integrations/views/integration-settings.php:133
681
+ msgid "Select \"yes\" if the checkbox should be pre-checked."
682
+ msgstr "Wähle \"Ja\" wenn die Checkbox standardmässig angekreuzt sein soll."
683
+
684
+ #: includes/integrations/views/integration-settings.php:141
685
+ msgid "Load some default CSS?"
686
+ msgstr "Allgemeines CSS laden?"
687
+
688
+ #: includes/integrations/views/integration-settings.php:145
689
+ msgid "Select \"yes\" if the checkbox appears in a weird place."
690
+ msgstr "Wähle \"ja\", falls die Checkbox an einem ungewünschten Platz angezeigt wird."
691
+
692
+ #: includes/integrations/views/integration-settings.php:152
693
+ msgid "Double opt-in?"
694
+ msgstr "Double opt-in?"
695
+
696
+ #: includes/integrations/views/integration-settings.php:163
697
+ msgid ""
698
+ "Select \"yes\" if you want people to confirm their email address before "
699
+ "being subscribed (recommended)"
700
+ msgstr "Wähle \"ja\" wenn du möchtest, dass die E-Mail Adresse bestätigt werden muss. (empfohlen)"
701
+
702
+ #: includes/integrations/views/integration-settings.php171,
703
+ #: includes/forms/views/tabs/form-settings.php:52
704
+ msgid "Update existing subscribers?"
705
+ msgstr "Aktualisiere vorhandene Abonnenten?"
706
+
707
+ #: includes/integrations/views/integration-settings.php181,
708
+ #: includes/forms/views/tabs/form-settings.php:62
709
+ msgid ""
710
+ "Select \"yes\" if you want to update existing subscribers with the data that"
711
+ " is sent."
712
+ msgstr "Wähle \"Ja\" wenn du die bisherigen Abonnenten mit den gesendeten Daten aktualisieren willst."
713
+
714
+ #: includes/integrations/views/integration-settings.php190,
715
+ #: includes/forms/views/tabs/form-settings.php:68
716
+ msgid "Replace interest groups?"
717
+ msgstr "Interessengruppen ersetzen?"
718
+
719
+ #: includes/integrations/views/integration-settings.php201,
720
+ #: includes/forms/views/tabs/form-settings.php:79
721
+ msgid ""
722
+ "Select \"no\" if you want to add the selected interests to any previously "
723
+ "selected interests when updating a subscriber."
724
+ msgstr "Wähle \"Nein\" wenn du die ausgewählten Interessen zu jeglichen vorher ausgewählten Interessen hinzufügen willst wenn du einen Abonnenten aktualisierst."
725
+
726
+ #: includes/integrations/views/integration-settings.php202,
727
+ #: includes/forms/views/tabs/form-settings.php:80
728
+ msgid "What does this do?"
729
+ msgstr "Welche Funktion hat dies?"
730
+
731
+ #: includes/integrations/views/integrations.php:17
732
+ msgid "Name"
733
+ msgstr "Name"
734
+
735
+ #: includes/integrations/views/integrations.php:18
736
+ msgid "Description"
737
+ msgstr "Beschreibung"
738
+
739
+ #: includes/integrations/views/integrations.php:35
740
+ msgid "Configure this integration"
741
+ msgstr "Integration konfigurieren"
742
+
743
+ #: includes/integrations/views/integrations.php:71
744
+ msgid "The table below shows all available integrations."
745
+ msgstr "Die untenstehende Tabelle zeigt alle verfügbaren Integrationen."
746
+
747
+ #: includes/integrations/views/integrations.php:72
748
+ msgid ""
749
+ "Click on the name of an integration to edit all settings specific to that "
750
+ "integration."
751
+ msgstr "Klicke auf den Namen einer Integration um alle Einstellungen der Integration zu ändern."
752
+
753
+ #: includes/integrations/views/integrations.php:79
754
+ msgid "Enabled integrations"
755
+ msgstr "Aktivierte Integrationen"
756
+
757
+ #: includes/integrations/views/integrations.php:84
758
+ msgid "Available integrations"
759
+ msgstr "Verfügbare Integrationen"
760
+
761
+ #: includes/views/parts/admin-footer.php:15
762
+ msgid ""
763
+ "MailChimp for WordPress is in need of translations. Is the plugin not "
764
+ "translated in your language or do you spot errors with the current "
765
+ "translations? Helping out is easy! Head over to <a href=\"%s\">the "
766
+ "translation project and click \"help translate\"</a>."
767
+ msgstr "MailChimp für WordPress braucht mehr Übersetzungen. Ist das Plugin in deiner Sprache nicht verfügbar oder hast du einen Fehler in der jetzigen Übersetzung entdeckt? Helfen ist ganz einfach! Gehe zum <a href=\"%s\">Übersetzungsprojekt und klicke auf \"Übersetzen\"</a>."
768
+
769
+ #: includes/views/parts/admin-footer.php:35
770
+ msgid ""
771
+ "This plugin is not developed by or affiliated with MailChimp in any way."
772
+ msgstr "Dieses Plugin ist weder von MailChimp entwickelt noch sonst irgendwie daran angegliedert."
773
+
774
+ #: includes/views/parts/admin-sidebar.php:11
775
+ msgid "Looking for help?"
776
+ msgstr "Brauchst du Hilfe?"
777
+
778
+ #: includes/views/parts/admin-sidebar.php:12
779
+ msgid "We have some resources available to help you in the right direction."
780
+ msgstr "Wir haben einige Ressourcen um dir auf den richtigen Weg zu helfen."
781
+
782
+ #: includes/views/parts/admin-sidebar.php:14
783
+ msgid "Knowledge Base"
784
+ msgstr "Wissensdatenbank"
785
+
786
+ #: includes/views/parts/admin-sidebar.php:15
787
+ msgid "Frequently Asked Questions"
788
+ msgstr "Häufig gestellte Fragen"
789
+
790
+ #: includes/views/parts/admin-sidebar.php:16
791
+ msgid "Code reference for developers"
792
+ msgstr "Code Referenz für Programmierer"
793
+
794
+ #: includes/views/parts/admin-sidebar.php:36
795
+ msgid "Looking to improve your sign-up rates?"
796
+ msgstr "Willst du deine Sign-up Rate erhöhen ?"
797
+
798
+ #: includes/views/parts/admin-sidebar.php:37
799
+ msgid ""
800
+ "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or "
801
+ "slide-ins with a subscribe form. A sure way to grow your lists faster."
802
+ msgstr "Unser <a href=\"%s\">Bozilla plugin</a> erlaubt es dir Pop-up oder Einschub Fenster mit einem Formular zu erstellen. Ein sicherer Weg um deine Listen schneller wachsen zu lassen."
803
+
804
+ #: includes/views/parts/lists-overview.php:1
805
+ msgid "Your MailChimp Account"
806
+ msgstr "Ihr MailChimp Account"
807
+
808
+ #: includes/views/parts/lists-overview.php:2
809
+ msgid ""
810
+ "The table below shows your MailChimp lists and their details. If you just "
811
+ "applied changes to your MailChimp lists, please use the following button to "
812
+ "renew the cached lists configuration."
813
+ msgstr "In der folgenden Tabelle siehst du deine MailChimp-Listen und Details dazu. Falls du gerade Änderungen an den MailChimp-Listen vorgenommen hast, kannst du mit der folgenden Schaltfläche die Konfiguration aus dem Cache aktualisieren."
814
 
815
+ #: includes/views/parts/lists-overview.php:17
816
+ msgid "No lists were found in your MailChimp account"
817
+ msgstr "In Deinem MailChimp Account wurden keine Mailinglisten gefunden"
818
 
819
+ #: includes/views/parts/lists-overview.php:19
820
+ msgid "A total of %d lists were found in your MailChimp account."
821
+ msgstr "In deinem MailChimp-Konto sind insgesamt %d Listen vorhanden."
 
 
 
822
 
823
+ #: includes/views/parts/lists-overview.php:24
824
+ msgid "List Name"
825
+ msgstr "Name der Liste"
826
 
827
+ #: includes/views/parts/lists-overview.php:25
828
+ msgid "ID"
829
+ msgstr "ID"
830
 
831
+ #: includes/views/parts/lists-overview.php:26
832
+ msgid "Subscribers"
833
+ msgstr "Abonnenten"
834
 
835
+ #: includes/views/parts/lists-overview.php:48
836
+ msgid "Edit this list in MailChimp"
837
+ msgstr "Liste in MailChimp bearbeiten."
838
 
839
+ #: includes/views/parts/lists-overview.php:62
840
+ msgid "%s (%s) with field type %s."
841
+ msgstr "%s (%s) mit Feldtyp %s."
842
 
843
+ #: includes/forms/views/parts/add-fields-help.php4,
844
  #: includes/forms/views/tabs/form-fields.php:10
845
  msgid "Add more fields"
846
  msgstr "Mehr Felder anlegen"
877
  "changes."
878
  msgstr "Klicke auf die folgende Schaltfläche, damit MailChimp for Wordpress deine Änderungen übernimmt."
879
 
 
 
 
 
 
880
  #: includes/forms/views/parts/dynamic-content-tags.php:6
881
  msgid "Add dynamic form variable"
882
  msgstr "Dynamische Formular-Variablen hinzufügen"
949
  msgid "Enter the HTML code for your form fields.."
950
  msgstr "HTML-Code für die Formularfelder eingeben."
951
 
952
+ #: includes/forms/views/tabs/form-fields.php:26
 
 
 
 
953
  msgid ""
954
  "Use the shortcode %s to display this form inside a post, page or text "
955
  "widget."
956
  msgstr "Benutze diesen Shortcode %s um dieses Formular innerhalb eines Posts, Seite oder Text Widgets zu nutzen."
957
 
958
+ #: includes/forms/views/tabs/form-messages.php:6
959
  msgid "Form Messages"
960
  msgstr "Formular Nachrichten"
961
 
962
+ #: includes/forms/views/tabs/form-messages.php:16
963
  msgid "Successfully subscribed"
964
  msgstr "Erfolgreich abonniert"
965
 
966
+ #: includes/forms/views/tabs/form-messages.php:19
967
  msgid ""
968
  "The text that shows when an email address is successfully subscribed to the "
969
  "selected list(s)."
970
  msgstr "Der Text, der angezeigt wird, wenn eine E-Mail Adresse erfolgreich zur/zu den ausgewählten Liste(n) abonniert wurde."
971
 
972
+ #: includes/forms/views/tabs/form-messages.php:23
973
  msgid "Invalid email address"
974
  msgstr "Ungültige E-Mail-Adresse"
975
 
976
+ #: includes/forms/views/tabs/form-messages.php:26
977
  msgid "The text that shows when an invalid email address is given."
978
  msgstr "Der Text, der angezeigt wird, wenn eine ungültige E-Mail Adresse angegeben wurde."
979
 
980
+ #: includes/forms/views/tabs/form-messages.php:30
981
  msgid "Required field missing"
982
  msgstr "Erforderliches Feld fehlt"
983
 
984
+ #: includes/forms/views/tabs/form-messages.php:33
985
  msgid ""
986
  "The text that shows when a required field for the selected list(s) is "
987
  "missing."
988
  msgstr "Der Text, der angezeigt wird, wenn ein erforderliches Feld für die ausgewählte(n) Liste(n) fehlt."
989
 
990
+ #: includes/forms/views/tabs/form-messages.php:37
991
  msgid "Already subscribed"
992
  msgstr "Bereits abonniert"
993
 
994
+ #: includes/forms/views/tabs/form-messages.php:40
995
  msgid ""
996
  "The text that shows when the given email is already subscribed to the "
997
  "selected list(s)."
998
  msgstr "Der Text, der angezeigt wird, wenn die angegebene E-Mail Adresse bereits für die ausgewählte(n) Liste(n) abonniert ist."
999
 
1000
+ #: includes/forms/views/tabs/form-messages.php:44
1001
  msgid "General error"
1002
  msgstr "Allgemeiner Fehler"
1003
 
1004
+ #: includes/forms/views/tabs/form-messages.php:47
1005
  msgid "The text that shows when a general error occured."
1006
  msgstr "Der Text, der angezeigt wird, wenn ein allgemeiner Fehler aufgetreten ist."
1007
 
1008
+ #: includes/forms/views/tabs/form-messages.php:51
1009
  msgid "Unsubscribed"
1010
  msgstr "Abgemeldet"
1011
 
1012
+ #: includes/forms/views/tabs/form-messages.php:54
1013
  msgid ""
1014
  "When using the unsubscribe method, this is the text that shows when the "
1015
  "given email address is successfully unsubscribed from the selected list(s)."
1016
  msgstr "Wenn die \"Abmelden\" Funktion verwendet wird, ist dies der Text der angezeigt wird, wenn die angegebene E-Mail Adresse erfolgreich von der/den ausgewählten Liste(n) abgemeldet wurde."
1017
 
1018
+ #: includes/forms/views/tabs/form-messages.php:58
1019
  msgid "Not subscribed"
1020
  msgstr "Nicht abonniert"
1021
 
1022
+ #: includes/forms/views/tabs/form-messages.php:61
1023
  msgid ""
1024
  "When using the unsubscribe method, this is the text that shows when the "
1025
  "given email address is not on the selected list(s)."
1026
  msgstr "Wenn die \"Abmelden\" Funktion verwendet wird, ist dies der Text der angezeigt wird, wenn die angegebene E-Mail Adresse die ausgewählte Liste nicht abonniert hat."
1027
 
1028
+ #: includes/forms/views/tabs/form-messages.php:65
1029
+ msgid "No list selected"
1030
+ msgstr "Keine Liste ausgewählt"
1031
+
1032
+ #: includes/forms/views/tabs/form-messages.php:68
1033
+ msgid ""
1034
+ "When offering a list choice, this is the text that shows when no lists were "
1035
+ "selected."
1036
+ msgstr "Wenn eine Listenauswahl angeboten wird ist dies der Text der angezeigt wird wenn nichts ausgewählt wird."
1037
+
1038
+ #: includes/forms/views/tabs/form-messages.php:74
1039
+ msgid "Updated"
1040
+ msgstr "Aktualisiert"
1041
+
1042
+ #: includes/forms/views/tabs/form-messages.php:77
1043
+ msgid "The text that shows when an existing subscriber is updated."
1044
+ msgstr "Der Text, der angezeigt wird, wenn ein existierender Abonnent aktualisiert wird."
1045
+
1046
+ #: includes/forms/views/tabs/form-messages.php:89
1047
  msgid "HTML tags like %s are allowed in the message fields."
1048
  msgstr "HTML Tags wie %s sind in den Nachrichten Feldern erlaubt."
1049
 
1055
  msgid "MailChimp specific settings"
1056
  msgstr "MailChimp-spezifische Einstellungen."
1057
 
1058
+ #: includes/forms/views/tabs/form-settings.php:15
1059
  msgid "Lists this form subscribes to"
1060
  msgstr "Listen dieses Formulars abonnieren "
1061
 
1062
+ #: includes/forms/views/tabs/form-settings.php:31
 
 
 
 
 
1063
  msgid ""
1064
  "Select the list(s) to which people who submit this form should be "
1065
  "subscribed."
1066
  msgstr "Wähle die Liste(n), welche abonniert wird, wenn das Formular abgeschickt wird."
1067
 
1068
+ #: includes/forms/views/tabs/form-settings.php:37
1069
  msgid "Use double opt-in?"
1070
  msgstr "Double-Opt-In verwenden?"
1071
 
1072
+ #: includes/forms/views/tabs/form-settings.php:44
1073
+ msgid "Are you sure you want to disable double opt-in?"
1074
+ msgstr "Bist du sicher du möchtest \"Double opt-in\" abschalten ?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1075
 
1076
+ #: includes/forms/views/tabs/form-settings.php:47
 
1077
  msgid ""
1078
+ "We strongly suggest keeping double opt-in enabled. Disabling double opt-in "
1079
+ "may result in abuse."
1080
+ msgstr "Wir empfehlen sehr das \"Double opt-in\" beizubehalten. Ein Abschalten kann zu Missbrauch führen."
1081
 
1082
+ #: includes/forms/views/tabs/form-settings.php:94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1083
  msgid "Form behaviour"
1084
  msgstr "Formular-Verhalten"
1085
 
1086
+ #: includes/forms/views/tabs/form-settings.php:104
1087
  msgid "Hide form after a successful sign-up?"
1088
  msgstr "Verberge das Formular nach der Registrierung?"
1089
 
1090
+ #: includes/forms/views/tabs/form-settings.php:115
1091
  msgid "Select \"yes\" to hide the form fields after a successful sign-up."
1092
  msgstr "Wähle \"ja\" wenn du die Formular Felder verstecken möchtest, nach einer erfolgreichen Registrierung."
1093
 
1094
+ #: includes/forms/views/tabs/form-settings.php:120
1095
  msgid "Redirect to URL after successful sign-ups"
1096
  msgstr "Weiterleitung zu URL nach einer erfolgreichen Registrierung."
1097
 
1098
+ #: includes/forms/views/tabs/form-settings.php:122
1099
  msgid "Example: %s"
1100
  msgstr "Beispiel: %s"
1101
 
1102
+ #: includes/forms/views/tabs/form-settings.php:123
1103
  msgid ""
1104
  "Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
1105
  " (absolute) URLs, including <code>http://</code>."
1106
  msgstr "Leer lassen oder <code>0</code> eingeben für keine Weiterleitung. Ansonsten verwende (absolute) URLs, inkl. <code>http://</code>."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/mailchimp-for-wp-fr_FR.mo CHANGED
Binary file
languages/mailchimp-for-wp-fr_FR.po CHANGED
@@ -14,6 +14,7 @@
14
  # fgerber <gerber.francois@gmail.com>, 2014-2015
15
  # Grégoire Domingie <gregoire@onsoccupeduvin.com>, 2016
16
  # JAILLET Christophe <c.jaillet@meci.fr>, 2017
 
17
  # Juliette Mouquod <juliette@lapinblanc.co.uk>, 2015
18
  # Lydie Lardoux <lafelilycouturiere@gmail.com>, 2015
19
  # Mamadou Gaye Diop <ridialass@gmail.com>, 2016
@@ -27,8 +28,8 @@
27
  msgid ""
28
  msgstr ""
29
  "Project-Id-Version: MailChimp for WordPress\n"
30
- "PO-Revision-Date: 2017-06-19 09:05+0000\n"
31
- "Last-Translator: Danny van Kooten <dannyvankooten@gmail.com>\n"
32
  "Language-Team: French (France) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/fr_FR/)\n"
33
  "MIME-Version: 1.0\n"
34
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -73,7 +74,7 @@ msgstr "Récupération des listes MailChimp"
73
 
74
  #: includes/admin/class-admin.php:307
75
  msgid "Done! MailChimp lists renewed."
76
- msgstr "Terminé! Listes de MailChimp mises à jour."
77
 
78
  #: includes/admin/class-admin.php:308
79
  msgid "This can take a while if you have many MailChimp lists."
@@ -98,7 +99,7 @@ msgstr "Divers"
98
 
99
  #: includes/admin/class-admin.php:458
100
  msgid "Log successfully emptied."
101
- msgstr "Traces vider avec succès."
102
 
103
  #: includes/admin/class-admin.php:488
104
  msgid ""
@@ -110,7 +111,7 @@ msgstr "Pour débuter avec MailChimp pour Wordpress, veuillez <a href=\"%s\">ins
110
  msgid ""
111
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
112
  "Builder</a> & edit the look of your forms with just a few clicks."
113
- msgstr "Vous voulez modifier le style de votre formulaire? <a href=\"%s\">Essayez le Constructeur de styles</a> et modifiez l'allure de votre formulaire en quelques clics."
114
 
115
  #: includes/admin/class-ads.php:54
116
  msgid ""
@@ -124,7 +125,7 @@ msgid ""
124
  "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
125
  "submits forms without reloading the entire page, resulting in a much better "
126
  "experience for your visitors."
127
- msgstr "Plus de conversions? <a href=\"%s\">MailChimp pour WordPress Premium</a> soumets les formulaires sans recharger toute la page, résultant en une meilleure expérience pour vos visiteurs."
128
 
129
  #: includes/admin/class-ads.php:70
130
  msgid "Upgrade to Premium"
@@ -134,19 +135,19 @@ msgstr "Passez à la version supérieure"
134
  msgid ""
135
  "Do you want translated forms for all of your languages? <a href=\"%s\">Try "
136
  "MailChimp for WordPress Premium</a>, which does just that plus more."
137
- msgstr "Vous souhaitez avoir des formulaires traduits pour toutes vos langues ? <a href=\"%s\"> Essayez la version Premium de MailChimp pour Wordpress </a>, qui inclue ce détail supplémentaire."
138
 
139
  #: includes/admin/class-ads.php:88
140
  msgid ""
141
  "Do you want to create more than one form? Our Premium add-on does just that!"
142
  " <a href=\"%s\">Have a look at all Premium benefits</a>."
143
- msgstr "Vous voulez créer plus d'un formulaire? Notre add-on Premium fait exactement ça! <a href=\"%s\">Regardez tous les bénéfices de Premium</a>."
144
 
145
  #: includes/admin/class-ads.php:93
146
  msgid ""
147
  "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
148
  "features. <a href=\"%s\">Find out about all benefits now</a>."
149
- msgstr "Aimez-vous ce plugin? L'add-on Premium débarre plusieurs fonctionalités avancées. <a href=\"%s\">Découvrez tous les bénéfices</a>."
150
 
151
  #: includes/admin/class-ads.php:112
152
  msgid "More subscribers, better newsletters."
@@ -180,19 +181,19 @@ msgstr "Voulez-vous suivre toutes les commandes WooCommerce dans MailChimp, pour
180
  msgid ""
181
  "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
182
  "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
183
- msgstr "<a href=\"%s\">Upgradez à MailChimp pour WordPress Premium</a> ou <href=\"%s\">lisez davantage à propos des fonctionnalités d'e-commerce de MailChimp</a>."
184
 
185
  #: includes/admin/class-review-notice.php:68
186
  msgid ""
187
  "You've been using MailChimp for WordPress for some time now; we hope you "
188
  "love it!"
189
- msgstr ""
190
 
191
  #: includes/admin/class-review-notice.php:69
192
  msgid ""
193
  "If you do, please <a href=\"%s\">leave us a 5★ rating on WordPress.org</a>. "
194
  "It would be of great help to us."
195
- msgstr ""
196
 
197
  #: includes/admin/class-review-notice.php:71
198
  msgid "Dismiss this notice."
@@ -274,7 +275,7 @@ msgstr "Catégories d'intérêts"
274
 
275
  #: includes/forms/class-admin.php:79
276
  msgid "Is this field required?"
277
- msgstr "Ce champ est il obligatoire ?"
278
 
279
  #: includes/forms/class-admin.php:80
280
  msgid "List choice"
@@ -282,7 +283,7 @@ msgstr "Liste de choix"
282
 
283
  #: includes/forms/class-admin.php:81
284
  msgid "This field will allow your visitors to choose a list to subscribe to."
285
- msgstr ""
286
 
287
  #: includes/forms/class-admin.php:82
288
  msgid "List fields"
@@ -299,7 +300,7 @@ msgstr "Max."
299
  #: includes/forms/class-admin.php:85
300
  msgid ""
301
  "No available fields. Did you select a MailChimp list in the form settings?"
302
- msgstr ""
303
 
304
  #: includes/forms/class-admin.php:86
305
  msgid "Optional"
@@ -307,7 +308,7 @@ msgstr "Optionnel"
307
 
308
  #: includes/forms/class-admin.php:87
309
  msgid "Placeholder"
310
- msgstr ""
311
 
312
  #: includes/forms/class-admin.php:88
313
  msgid "Text to show when field has no value."
@@ -339,7 +340,7 @@ msgstr "Bouton d'envoi"
339
 
340
  #: includes/forms/class-admin.php:96
341
  msgid "Wrap in paragraph tags?"
342
- msgstr ""
343
 
344
  #: includes/forms/class-admin.php:97
345
  msgid "Value"
@@ -351,7 +352,7 @@ msgstr "Libellé utilisé pour remplir ce champ."
351
 
352
  #: includes/forms/class-admin.php:99
353
  msgid "ZIP"
354
- msgstr "zip"
355
 
356
  #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
357
  #: includes/forms/views/edit-form.php:24
@@ -360,7 +361,7 @@ msgstr "Formulaires"
360
 
361
  #: includes/forms/class-admin.php152, includes/forms/class-admin.php:276
362
  msgid "<strong>Success!</strong> Form successfully saved."
363
- msgstr "<strong>Bravo!</strong> Le formulaire a été enregistré avec succès."
364
 
365
  #: includes/forms/class-admin.php:276
366
  msgid "Preview form"
@@ -384,16 +385,16 @@ msgstr "Remplacer avec un message de réponse (message d'erreur ou de réussite)
384
 
385
  #: includes/forms/class-form-tags.php:65
386
  msgid "Data from the URL or a submitted form."
387
- msgstr "Données de l\"URL ou d'un formulaire envoyé."
388
 
389
  #: includes/forms/class-form-tags.php:71
390
  msgid "Data from a cookie."
391
- msgstr "Données à partir d'un cookie"
392
 
393
  #: includes/forms/class-form-tags.php77,
394
  #: includes/integrations/class-integration-tags.php:45
395
  msgid "Replaced with the number of subscribers on the selected list(s)"
396
- msgstr "Remplacé par le nombre d'abonnés de la liste sélectionnée"
397
 
398
  #: includes/forms/class-form-tags.php:82
399
  msgid "The email address of the current visitor (if known)."
@@ -506,13 +507,13 @@ msgstr "Réglages divers"
506
 
507
  #: includes/views/other-settings.php:17
508
  msgid "Usage Tracking"
509
- msgstr "Suivie d'Utilisation"
510
 
511
  #: includes/views/other-settings.php:29
512
  msgid ""
513
  "Allow us to anonymously track how this plugin is used to help us make it "
514
  "better fit your needs."
515
- msgstr "Autorisez nous de tracer d'une manière anonyme l'utilisation de cet extension pour nous aider à l'améliorer à vos besoins."
516
 
517
  #: includes/views/other-settings.php:31
518
  msgid "This is what we track."
@@ -542,7 +543,7 @@ msgstr "Le fichier de traces n'est pas accessible en écriture."
542
 
543
  #: includes/views/other-settings.php:105
544
  msgid "Please ensure %s has the proper <a href=\"%s\">file permissions</a>."
545
- msgstr ""
546
 
547
  #: includes/views/other-settings.php:123
548
  msgid "Nothing here. Which means there are no errors!"
@@ -610,11 +611,11 @@ msgstr "Entrez le titre de votre formulaire d'inscription"
610
 
611
  #: includes/forms/views/edit-form.php:65
612
  msgid "Shortcode"
613
- msgstr ""
614
 
615
  #: includes/forms/views/edit-form.php:67
616
  msgid "Get shortcode"
617
- msgstr "Obtenir shortcode"
618
 
619
  #: includes/forms/views/edit-form.php:72
620
  msgid "Preview this form"
@@ -628,7 +629,7 @@ msgstr "Intégration %s "
628
  msgid ""
629
  "The selected MailChimp lists require non-default fields, which may prevent "
630
  "this integration from working."
631
- msgstr "Les listes MailChimp sélectionnées requièrent des champs qui ne sont pas par défaut, ces derniers pouraient empecher cet intégration de fonctionner."
632
 
633
  #: includes/integrations/views/integration-settings.php:28
634
  msgid ""
@@ -636,7 +637,7 @@ msgid ""
636
  "fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
637
  "sure only the email & name fields are marked as required fields for the "
638
  "selected list(s)."
639
- msgstr "Merci de vérifier que <a href=\"%s\">vous avez configuré le plugin pour envoyer tous les champs requis</a> ou <a href=\"%s\">connectez-vous sur votre compte MailChimp</a> et assurez-vous que seuls les champs email et nom sont marqués comme champs obligatoire pour la(les) liste(s) sélectionnée(s)."
640
 
641
  #: includes/integrations/views/integration-settings.php:62
642
  msgid "Enabled?"
@@ -665,7 +666,7 @@ msgstr "Listes MailChimp"
665
  msgid ""
666
  "Select the list(s) to which people who check the checkbox should be "
667
  "subscribed."
668
- msgstr "Sélectionnez la liste(s) à laquelle les utilisateurs qui cochent la case seront inscrits."
669
 
670
  #: includes/integrations/views/integration-settings.php107,
671
  #: includes/forms/views/tabs/form-settings.php:18
@@ -674,7 +675,7 @@ msgstr "Aucune liste trouvée, <a href=\"%s\">êtes-vous connecté à MaiChimp</
674
 
675
  #: includes/integrations/views/integration-settings.php:116
676
  msgid "Checkbox label text"
677
- msgstr "Texte de l'etiquette de la case à cocher"
678
 
679
  #: includes/integrations/views/integration-settings.php:119
680
  msgid "HTML tags like %s are allowed in the label text."
@@ -686,7 +687,7 @@ msgstr "Pré-sélection des cases à cocher ?"
686
 
687
  #: includes/integrations/views/integration-settings.php:133
688
  msgid "Select \"yes\" if the checkbox should be pre-checked."
689
- msgstr "Sélectionnez \"oui\" si vous voulez que la checkbox soit pré-cochée."
690
 
691
  #: includes/integrations/views/integration-settings.php:141
692
  msgid "Load some default CSS?"
@@ -728,12 +729,12 @@ msgstr "Remplacer les groupes d'intérêt"
728
  msgid ""
729
  "Select \"no\" if you want to add the selected interests to any previously "
730
  "selected interests when updating a subscriber."
731
- msgstr ""
732
 
733
  #: includes/integrations/views/integration-settings.php202,
734
  #: includes/forms/views/tabs/form-settings.php:80
735
  msgid "What does this do?"
736
- msgstr "Qu'est ce que cela fait?"
737
 
738
  #: includes/integrations/views/integrations.php:17
739
  msgid "Name"
@@ -771,12 +772,12 @@ msgid ""
771
  "translated in your language or do you spot errors with the current "
772
  "translations? Helping out is easy! Head over to <a href=\"%s\">the "
773
  "translation project and click \"help translate\"</a>."
774
- msgstr "MailChimp for WordPress a besoin de traductions. Le plugin n'est pas traduit dans votre langue ou vous avez localisé des erreurs dans la traduction ? Nous aider est facile ! Rendez vous sur <a href=\"%s\">le site de traduction du projet et cliquez sur \"help translate\"</a>"
775
 
776
  #: includes/views/parts/admin-footer.php:35
777
  msgid ""
778
  "This plugin is not developed by or affiliated with MailChimp in any way."
779
- msgstr "Ce plugin n'est aucunement développé ou affilié à la marque MailChimp déposée par le groupe \"The Rocket Science\"."
780
 
781
  #: includes/views/parts/admin-sidebar.php:11
782
  msgid "Looking for help?"
@@ -800,13 +801,13 @@ msgstr "Code de référence pour les développeurs"
800
 
801
  #: includes/views/parts/admin-sidebar.php:36
802
  msgid "Looking to improve your sign-up rates?"
803
- msgstr ""
804
 
805
  #: includes/views/parts/admin-sidebar.php:37
806
  msgid ""
807
  "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or "
808
  "slide-ins with a subscribe form. A sure way to grow your lists faster."
809
- msgstr ""
810
 
811
  #: includes/views/parts/lists-overview.php:1
812
  msgid "Your MailChimp Account"
@@ -1048,7 +1049,7 @@ msgstr "Mis à jour"
1048
 
1049
  #: includes/forms/views/tabs/form-messages.php:77
1050
  msgid "The text that shows when an existing subscriber is updated."
1051
- msgstr ""
1052
 
1053
  #: includes/forms/views/tabs/form-messages.php:89
1054
  msgid "HTML tags like %s are allowed in the message fields."
14
  # fgerber <gerber.francois@gmail.com>, 2014-2015
15
  # Grégoire Domingie <gregoire@onsoccupeduvin.com>, 2016
16
  # JAILLET Christophe <c.jaillet@meci.fr>, 2017
17
+ # jb78180 <jblum66@gmail.com>, 2017
18
  # Juliette Mouquod <juliette@lapinblanc.co.uk>, 2015
19
  # Lydie Lardoux <lafelilycouturiere@gmail.com>, 2015
20
  # Mamadou Gaye Diop <ridialass@gmail.com>, 2016
28
  msgid ""
29
  msgstr ""
30
  "Project-Id-Version: MailChimp for WordPress\n"
31
+ "PO-Revision-Date: 2017-07-25 19:59+0000\n"
32
+ "Last-Translator: jb78180 <jblum66@gmail.com>\n"
33
  "Language-Team: French (France) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/fr_FR/)\n"
34
  "MIME-Version: 1.0\n"
35
  "Content-Type: text/plain; charset=UTF-8\n"
74
 
75
  #: includes/admin/class-admin.php:307
76
  msgid "Done! MailChimp lists renewed."
77
+ msgstr "Terminé ! Listes de MailChimp mises à jour."
78
 
79
  #: includes/admin/class-admin.php:308
80
  msgid "This can take a while if you have many MailChimp lists."
99
 
100
  #: includes/admin/class-admin.php:458
101
  msgid "Log successfully emptied."
102
+ msgstr "Traces vidées avec succès."
103
 
104
  #: includes/admin/class-admin.php:488
105
  msgid ""
111
  msgid ""
112
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
113
  "Builder</a> & edit the look of your forms with just a few clicks."
114
+ msgstr "Vous voulez modifier le style de votre formulaire ? <a href=\"%s\">Essayez le Constructeur de styles</a> et modifiez l'allure de votre formulaire en quelques clics."
115
 
116
  #: includes/admin/class-ads.php:54
117
  msgid ""
125
  "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
126
  "submits forms without reloading the entire page, resulting in a much better "
127
  "experience for your visitors."
128
+ msgstr "Plus de conversions ? <a href=\"%s\">MailChimp pour WordPress Premium</a> soumet les formulaires sans recharger toute la page, résultant en une meilleure expérience pour vos visiteurs."
129
 
130
  #: includes/admin/class-ads.php:70
131
  msgid "Upgrade to Premium"
135
  msgid ""
136
  "Do you want translated forms for all of your languages? <a href=\"%s\">Try "
137
  "MailChimp for WordPress Premium</a>, which does just that plus more."
138
+ msgstr "Vous souhaitez avoir des formulaires traduits pour toutes vos langues ? <a href=\"%s\"> Essayez la version Premium de MailChimp pour Wordpress </a>, qui fait ça et plus encore."
139
 
140
  #: includes/admin/class-ads.php:88
141
  msgid ""
142
  "Do you want to create more than one form? Our Premium add-on does just that!"
143
  " <a href=\"%s\">Have a look at all Premium benefits</a>."
144
+ msgstr "Vous voulez créer plus d'un formulaire ? Notre add-on Premium fait exactement ça ! <a href=\"%s\">Jetez un œil à tous les avantages Premium</a>."
145
 
146
  #: includes/admin/class-ads.php:93
147
  msgid ""
148
  "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
149
  "features. <a href=\"%s\">Find out about all benefits now</a>."
150
+ msgstr "Aimez-vous ce plugin ? L'add-on Premium débloque plusieurs puissantes fonctionnalités. <a href=\"%s\">Découvrez-en tous les bénéfices</a>."
151
 
152
  #: includes/admin/class-ads.php:112
153
  msgid "More subscribers, better newsletters."
181
  msgid ""
182
  "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
183
  "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
184
+ msgstr "Passez à MailChimp pour WordPress Premium</a> ou <href=\"%s\">lisez davantage à propos des fonctionnalités d'e-commerce de MailChimp</a>."
185
 
186
  #: includes/admin/class-review-notice.php:68
187
  msgid ""
188
  "You've been using MailChimp for WordPress for some time now; we hope you "
189
  "love it!"
190
+ msgstr "Vous utilisez MailChimp pour WordPress depuis quelque temps déjà; nous espérons que vous l'adorez !"
191
 
192
  #: includes/admin/class-review-notice.php:69
193
  msgid ""
194
  "If you do, please <a href=\"%s\">leave us a 5★ rating on WordPress.org</a>. "
195
  "It would be of great help to us."
196
+ msgstr "Si c'est le cas, merci de nous <a href=\"%s\">noter 5★ sur WordPress.org</a>. Cela nous aiderait beaucoup."
197
 
198
  #: includes/admin/class-review-notice.php:71
199
  msgid "Dismiss this notice."
275
 
276
  #: includes/forms/class-admin.php:79
277
  msgid "Is this field required?"
278
+ msgstr "Ce champ est-il obligatoire ?"
279
 
280
  #: includes/forms/class-admin.php:80
281
  msgid "List choice"
283
 
284
  #: includes/forms/class-admin.php:81
285
  msgid "This field will allow your visitors to choose a list to subscribe to."
286
+ msgstr "Ce champ permettra à vos visiteurs de s'abonner à la liste de leur choix."
287
 
288
  #: includes/forms/class-admin.php:82
289
  msgid "List fields"
300
  #: includes/forms/class-admin.php:85
301
  msgid ""
302
  "No available fields. Did you select a MailChimp list in the form settings?"
303
+ msgstr "Aucun champ disponible. Avez-vous sélectionné une liste MailChimp dans les paramètres du formulaire ?"
304
 
305
  #: includes/forms/class-admin.php:86
306
  msgid "Optional"
308
 
309
  #: includes/forms/class-admin.php:87
310
  msgid "Placeholder"
311
+ msgstr "Texte par défaut"
312
 
313
  #: includes/forms/class-admin.php:88
314
  msgid "Text to show when field has no value."
340
 
341
  #: includes/forms/class-admin.php:96
342
  msgid "Wrap in paragraph tags?"
343
+ msgstr "Entourer de balises de paragraphe ?"
344
 
345
  #: includes/forms/class-admin.php:97
346
  msgid "Value"
352
 
353
  #: includes/forms/class-admin.php:99
354
  msgid "ZIP"
355
+ msgstr "Code postal"
356
 
357
  #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
358
  #: includes/forms/views/edit-form.php:24
361
 
362
  #: includes/forms/class-admin.php152, includes/forms/class-admin.php:276
363
  msgid "<strong>Success!</strong> Form successfully saved."
364
+ msgstr "<strong>Bravo !</strong> Le formulaire a été enregistré avec succès."
365
 
366
  #: includes/forms/class-admin.php:276
367
  msgid "Preview form"
385
 
386
  #: includes/forms/class-form-tags.php:65
387
  msgid "Data from the URL or a submitted form."
388
+ msgstr "Données de l'URL ou d'un formulaire envoyé."
389
 
390
  #: includes/forms/class-form-tags.php:71
391
  msgid "Data from a cookie."
392
+ msgstr "Données à partir d'un cookie."
393
 
394
  #: includes/forms/class-form-tags.php77,
395
  #: includes/integrations/class-integration-tags.php:45
396
  msgid "Replaced with the number of subscribers on the selected list(s)"
397
+ msgstr "Remplacé par le nombre d'abonnés des listes sélectionnées"
398
 
399
  #: includes/forms/class-form-tags.php:82
400
  msgid "The email address of the current visitor (if known)."
507
 
508
  #: includes/views/other-settings.php:17
509
  msgid "Usage Tracking"
510
+ msgstr "Suivi d'utilisation"
511
 
512
  #: includes/views/other-settings.php:29
513
  msgid ""
514
  "Allow us to anonymously track how this plugin is used to help us make it "
515
  "better fit your needs."
516
+ msgstr "Autorisez nous à tracer d'une manière anonyme l'utilisation de cette extension pour nous aider à l'améliorer selon vos besoins."
517
 
518
  #: includes/views/other-settings.php:31
519
  msgid "This is what we track."
543
 
544
  #: includes/views/other-settings.php:105
545
  msgid "Please ensure %s has the proper <a href=\"%s\">file permissions</a>."
546
+ msgstr "Merci de vérifier que %s possèdent les bons <a href=\"%s\">droits de fichier</a>."
547
 
548
  #: includes/views/other-settings.php:123
549
  msgid "Nothing here. Which means there are no errors!"
611
 
612
  #: includes/forms/views/edit-form.php:65
613
  msgid "Shortcode"
614
+ msgstr "Code court"
615
 
616
  #: includes/forms/views/edit-form.php:67
617
  msgid "Get shortcode"
618
+ msgstr "Obtenir le code court"
619
 
620
  #: includes/forms/views/edit-form.php:72
621
  msgid "Preview this form"
629
  msgid ""
630
  "The selected MailChimp lists require non-default fields, which may prevent "
631
  "this integration from working."
632
+ msgstr "Les listes MailChimp sélectionnées requièrent des champs qui ne sont pas par défaut, ces derniers pourraient empêcher cette intégration de fonctionner."
633
 
634
  #: includes/integrations/views/integration-settings.php:28
635
  msgid ""
637
  "fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
638
  "sure only the email & name fields are marked as required fields for the "
639
  "selected list(s)."
640
+ msgstr "Merci de vérifier que <a href=\"%s\">vous avez configuré le plugin pour envoyer tous les champs requis</a> ou <a href=\"%s\">connectez-vous sur votre compte MailChimp</a> et assurez-vous que seuls les champs email et nom sont marqués comme champs obligatoires pour les listes sélectionnées."
641
 
642
  #: includes/integrations/views/integration-settings.php:62
643
  msgid "Enabled?"
666
  msgid ""
667
  "Select the list(s) to which people who check the checkbox should be "
668
  "subscribed."
669
+ msgstr "Sélectionnez les listes auxquelles les utilisateurs qui cochent la case seront inscrits."
670
 
671
  #: includes/integrations/views/integration-settings.php107,
672
  #: includes/forms/views/tabs/form-settings.php:18
675
 
676
  #: includes/integrations/views/integration-settings.php:116
677
  msgid "Checkbox label text"
678
+ msgstr "Texte de la case à cocher"
679
 
680
  #: includes/integrations/views/integration-settings.php:119
681
  msgid "HTML tags like %s are allowed in the label text."
687
 
688
  #: includes/integrations/views/integration-settings.php:133
689
  msgid "Select \"yes\" if the checkbox should be pre-checked."
690
+ msgstr "Sélectionnez \"oui\" si vous voulez que la case soit pré-cochée."
691
 
692
  #: includes/integrations/views/integration-settings.php:141
693
  msgid "Load some default CSS?"
729
  msgid ""
730
  "Select \"no\" if you want to add the selected interests to any previously "
731
  "selected interests when updating a subscriber."
732
+ msgstr "Choisir \"non\" si vous souhaitez ajouter les intérêts sélectionnés à n'importe quel intérêt précédemment sélectionné lors de la mise à jour d'un abonné."
733
 
734
  #: includes/integrations/views/integration-settings.php202,
735
  #: includes/forms/views/tabs/form-settings.php:80
736
  msgid "What does this do?"
737
+ msgstr "Qu'est-ce que cela fait ?"
738
 
739
  #: includes/integrations/views/integrations.php:17
740
  msgid "Name"
772
  "translated in your language or do you spot errors with the current "
773
  "translations? Helping out is easy! Head over to <a href=\"%s\">the "
774
  "translation project and click \"help translate\"</a>."
775
+ msgstr "MailChimp for WordPress a besoin de traductions. Le plugin n'est pas traduit dans votre langue ou vous avez localisé des erreurs dans la traduction ? Nous aider est facile ! Rendez-vous sur <a href=\"%s\">le site de traduction du projet et cliquez sur \"help translate\"</a>"
776
 
777
  #: includes/views/parts/admin-footer.php:35
778
  msgid ""
779
  "This plugin is not developed by or affiliated with MailChimp in any way."
780
+ msgstr "Ce plugin n'est en aucune façon développé ni affilié à MailChimp."
781
 
782
  #: includes/views/parts/admin-sidebar.php:11
783
  msgid "Looking for help?"
801
 
802
  #: includes/views/parts/admin-sidebar.php:36
803
  msgid "Looking to improve your sign-up rates?"
804
+ msgstr "Envie d'améliorer vos taux d'abonnement ?"
805
 
806
  #: includes/views/parts/admin-sidebar.php:37
807
  msgid ""
808
  "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or "
809
  "slide-ins with a subscribe form. A sure way to grow your lists faster."
810
+ msgstr "Notre <a href=\"%s\">plugin Boxzilla</a> vous permet de créer des pop-up ou des slide-in dans un formulaire d'inscription. Un moyen sûr d'augmenter plus rapidement vos listes."
811
 
812
  #: includes/views/parts/lists-overview.php:1
813
  msgid "Your MailChimp Account"
1049
 
1050
  #: includes/forms/views/tabs/form-messages.php:77
1051
  msgid "The text that shows when an existing subscriber is updated."
1052
+ msgstr "Le texte qui apparaît quand un abonné est mis à jour."
1053
 
1054
  #: includes/forms/views/tabs/form-messages.php:89
1055
  msgid "HTML tags like %s are allowed in the message fields."
languages/mailchimp-for-wp.pot CHANGED
@@ -65,11 +65,11 @@ msgstr ""
65
  msgid "Other"
66
  msgstr ""
67
 
68
- #: includes/admin/class-admin.php:459
69
  msgid "Log successfully emptied."
70
  msgstr ""
71
 
72
- #: includes/admin/class-admin.php:489
73
  msgid "To get started with MailChimp for WordPress, please <a href=\"%s\">enter your MailChimp API key on the settings page of the plugin</a>."
74
  msgstr ""
75
 
65
  msgid "Other"
66
  msgstr ""
67
 
68
+ #: includes/admin/class-admin.php:465
69
  msgid "Log successfully emptied."
70
  msgstr ""
71
 
72
+ #: includes/admin/class-admin.php:495
73
  msgid "To get started with MailChimp for WordPress, please <a href=\"%s\">enter your MailChimp API key on the settings page of the plugin</a>."
74
  msgstr ""
75
 
mailchimp-for-wp.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MailChimp for WordPress
4
  Plugin URI: https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page
5
  Description: MailChimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site.
6
- Version: 4.1.5
7
  Author: ibericode
8
  Author URI: https://ibericode.com/
9
  Text Domain: mailchimp-for-wp
@@ -47,7 +47,7 @@ function _mc4wp_load_plugin() {
47
  }
48
 
49
  // bootstrap the core plugin
50
- define( 'MC4WP_VERSION', '4.1.5' );
51
  define( 'MC4WP_PLUGIN_DIR', dirname( __FILE__ ) . '/' );
52
  define( 'MC4WP_PLUGIN_URL', plugins_url( '/' , __FILE__ ) );
53
  define( 'MC4WP_PLUGIN_FILE', __FILE__ );
@@ -143,4 +143,3 @@ function _mc4wp_on_plugin_deactivation() {
143
 
144
  register_activation_hook( __FILE__, '_mc4wp_on_plugin_activation' );
145
  register_deactivation_hook( __FILE__, '_mc4wp_on_plugin_deactivation' );
146
-
3
  Plugin Name: MailChimp for WordPress
4
  Plugin URI: https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page
5
  Description: MailChimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site.
6
+ Version: 4.1.6
7
  Author: ibericode
8
  Author URI: https://ibericode.com/
9
  Text Domain: mailchimp-for-wp
47
  }
48
 
49
  // bootstrap the core plugin
50
+ define( 'MC4WP_VERSION', '4.1.6' );
51
  define( 'MC4WP_PLUGIN_DIR', dirname( __FILE__ ) . '/' );
52
  define( 'MC4WP_PLUGIN_URL', plugins_url( '/' , __FILE__ ) );
53
  define( 'MC4WP_PLUGIN_FILE', __FILE__ );
143
 
144
  register_activation_hook( __FILE__, '_mc4wp_on_plugin_activation' );
145
  register_deactivation_hook( __FILE__, '_mc4wp_on_plugin_deactivation' );
 
readme.txt CHANGED
@@ -3,10 +3,11 @@ Contributors: Ibericode, DvanKooten, hchouhan, lapzor
3
  Donate link: https://mc4wp.com/#utm_source=wp-plugin-repo&utm_medium=mailchimp-for-wp&utm_campaign=donate-link
4
  Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp forms, mailchimp integrations
5
  Requires at least: 4.1
6
- Tested up to: 4.8
7
- Stable tag: 4.1.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
 
10
 
11
  MailChimp for WordPress, the absolute best. Subscribe your WordPress site visitors to your MailChimp lists, with ease.
12
 
@@ -194,6 +195,18 @@ MailChimp for WordPress comes with many filter & action hooks which allow you to
194
  == Changelog ==
195
 
196
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  #### 4.1.5 - June 27, 2017
198
 
199
  **Fixes**
3
  Donate link: https://mc4wp.com/#utm_source=wp-plugin-repo&utm_medium=mailchimp-for-wp&utm_campaign=donate-link
4
  Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp forms, mailchimp integrations
5
  Requires at least: 4.1
6
+ Tested up to: 4.8.1
7
+ Stable tag: 4.1.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+ Requires PHP: 5.2.4
11
 
12
  MailChimp for WordPress, the absolute best. Subscribe your WordPress site visitors to your MailChimp lists, with ease.
13
 
195
  == Changelog ==
196
 
197
 
198
+ #### 4.1.6 - July 31, 2017
199
+
200
+ **Fixes**
201
+
202
+ - Method on API class for retrieving campaign data.
203
+
204
+ **Improvements**
205
+
206
+ - Show Akamai reference number when an API request is blocked by MailChimp's firewall.
207
+ - Minor output buffering improvements in form previewer.
208
+
209
+
210
  #### 4.1.5 - June 27, 2017
211
 
212
  **Fixes**
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInitcf8dd546bd19d4e067ce5f2ab6cccae4::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit31db873dcde1a94f0b3b238770a91c24::getLoader();
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInitcf8dd546bd19d4e067ce5f2ab6cccae4 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitcf8dd546bd19d4e067ce5f2ab6cccae4 {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitcf8dd546bd19d4e067ce5f2ab6cccae4', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitcf8dd546bd19d4e067ce5f2ab6cccae4', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit31db873dcde1a94f0b3b238770a91c24 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit31db873dcde1a94f0b3b238770a91c24', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit31db873dcde1a94f0b3b238770a91c24', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);