IP Geo Block - Version 3.0.12

Version Description

  • Improvement: Enhance "Privacy and record settings" where "Expiration time [sec] for Logs" can be specified.
  • Improvement: Add "Export cache" in "Statistics in IP address cache" on "Statistics" tab.
  • Fix: Fix some minor bugs.
Download this release

Release Info

Developer tokkonopapa
Plugin Icon 128x128 IP Geo Block
Version 3.0.12
Comparing to
See all releases

Code changes from version 3.0.11 to 3.0.12

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link:
4
  Tags: security, firewall, brute force, vulnerability, login, wp-admin, admin, ajax, xmlrpc, comment, pingback, trackback, spam, IP address, geo, geolocation, buddypress, bbPress
5
  Requires at least: 3.7
6
  Tested up to: 4.9.5
7
- Stable tag: 3.0.11
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.txt
10
 
@@ -242,7 +242,7 @@ or following descriptions for your best setup.
242
 
243
  = Does the site using this plugin comply with GDPR? =
244
 
245
- Using this plugin itself should not be the problem, because from version 3.0.11 IP addresses in logs and cache of this plugin are encrypted by default in preparation for personal data breach. It also not only provides a way to manually erase them but also has the functionality to remove them when those are exceeded a certain amount/time. The option "Plivacy friendly" helps you to restrict sending the ip address to the 3rd parties such as geolocaiton APIs and whois service equiped in this plugin. However, these functions are part of the requirements that GDPR requires and do not guarantee that the site is compliant with GDPR. Refer to [3.0.11 release note](http://www.ipgeoblock.com/changelog/release-3.0.11.html) for details.
246
 
247
  = Does this plugin support multisite? =
248
 
@@ -382,6 +382,11 @@ Please refer to "[How can I fix permission troubles?](http://www.ipgeoblock.com/
382
 
383
  == Changelog ==
384
 
 
 
 
 
 
385
  = 3.0.11 =
386
  * **Improvement:** To comply with GDPR, IP address in logs/cache will be always encrypted. The option of "**Anonymize IP address**" was renamed to "**Privacy friendly**" in "**Privacy and record settings**". It will not only anonymize an IP address but also will restrict on sending to the 3rd parties such as geolocation APIs and whois service.
387
  * **Improvement:** Update geolocation APIs and add a new one.
4
  Tags: security, firewall, brute force, vulnerability, login, wp-admin, admin, ajax, xmlrpc, comment, pingback, trackback, spam, IP address, geo, geolocation, buddypress, bbPress
5
  Requires at least: 3.7
6
  Tested up to: 4.9.5
7
+ Stable tag: 3.0.12
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.txt
10
 
242
 
243
  = Does the site using this plugin comply with GDPR? =
244
 
245
+ Using this plugin itself should not be the problem, because from version 3.0.11 IP addresses in logs and cache of this plugin are encrypted by default in preparation for personal data breach. It also not only provides a way to manually erase them but also has the functionality to remove them when those are exceeded a certain amount/time. The option "Privacy friendly" helps you to restrict sending the ip address to the 3rd parties such as geolocaiton APIs and whois service equipped in this plugin. However, these functions are part of the requirements that GDPR requires and do not guarantee that the site is compliant with GDPR. Refer to [3.0.11 release note](http://www.ipgeoblock.com/changelog/release-3.0.11.html) for details.
246
 
247
  = Does this plugin support multisite? =
248
 
382
 
383
  == Changelog ==
384
 
385
+ = 3.0.12 =
386
+ * **Improvement:** Enhance "Privacy and record settings" where "Expiration time [sec] for Logs" can be specified.
387
+ * **Improvement:** Add "Export cache" in "Statistics in IP address cache" on "Statistics" tab.
388
+ * **Fix:** Fix some minor bugs.
389
+
390
  = 3.0.11 =
391
  * **Improvement:** To comply with GDPR, IP address in logs/cache will be always encrypted. The option of "**Anonymize IP address**" was renamed to "**Privacy friendly**" in "**Privacy and record settings**". It will not only anonymize an IP address but also will restrict on sending to the 3rd parties such as geolocation APIs and whois service.
392
  * **Improvement:** Update geolocation APIs and add a new one.
admin/class-ip-geo-block-admin.php CHANGED
@@ -9,6 +9,7 @@
9
  * @copyright 2013-2018 tokkonopapa
10
  */
11
  define( 'IP_GEO_BLOCK_NETWORK', FALSE );
 
12
  class IP_Geo_Block_Admin {
13
 
14
  /**
@@ -397,11 +398,11 @@ class IP_Geo_Block_Admin {
397
  $admin_menu = ( 'admin_menu' === current_filter() ); // @since: 2.5 `admin_menu` or `network_admin_menu`
398
 
399
  // Verify tab number
400
- if ( $this->is_network ) {
401
  if ( $admin_menu ) {
402
- $this->admin_tab = min( 4, max( $settings['network_wide'] ? 1 : 0, $this->admin_tab ) );
403
- } elseif ( ! in_array( $this->admin_tab, $settings['network_wide'] ? array( 0, 5 ) : array( 5 ), TRUE ) ) {
404
- $this->admin_tab = $settings['network_wide'] ? 0 : 5;
405
  }
406
  } else {
407
  $this->admin_tab = min( 4, $this->admin_tab ); // exclude `Site List`
@@ -409,7 +410,7 @@ class IP_Geo_Block_Admin {
409
 
410
  if ( $admin_menu ) {
411
  // `settings-updated` would be added just after settings updated.
412
- if ( ! empty( $_REQUEST['settings-updated'] ) && $this->is_network && $settings['network_wide'] &&
413
  ! empty( $_REQUEST['page'] ) && IP_Geo_Block::PLUGIN_NAME === $_REQUEST['page'] ) {
414
  $this->update_multisite_settings( $settings );
415
  wp_safe_redirect( esc_url_raw( add_query_arg(
@@ -437,7 +438,7 @@ class IP_Geo_Block_Admin {
437
  'manage_network_options',
438
  IP_Geo_Block::PLUGIN_NAME,
439
  array( $this, 'display_plugin_admin_page' )
440
- //'dashicons-admin-site' // or 'data:image/svg+xml;base64...'
441
  );
442
  if ( $settings['network_wide'] ) {
443
  add_submenu_page(
@@ -1454,8 +1455,12 @@ endif;
1454
  $res = IP_Geo_Block_Util::get_registered_actions( TRUE );
1455
  break;
1456
 
 
 
 
 
1457
  case 'restore-cache': // Restore cache from database and format for DataTables
1458
- $res = IP_Geo_Block_Admin_Ajax::restore_cache( $which, $settings['anonymize'] );
1459
  break;
1460
 
1461
  case 'bulk-action-remove': // Delete specified IP addresses from cache
@@ -1547,6 +1552,7 @@ endif;
1547
  $res = array(
1548
  'page' => 'options-general.php?page=' . IP_Geo_Block::PLUGIN_NAME,
1549
  );
 
1550
  }
1551
 
1552
  if ( isset( $res ) ) // wp_send_json_{success,error}() @since 3.5.0
9
  * @copyright 2013-2018 tokkonopapa
10
  */
11
  define( 'IP_GEO_BLOCK_NETWORK', FALSE );
12
+
13
  class IP_Geo_Block_Admin {
14
 
15
  /**
398
  $admin_menu = ( 'admin_menu' === current_filter() ); // @since: 2.5 `admin_menu` or `network_admin_menu`
399
 
400
  // Verify tab number
401
+ if ( $this->is_network &= $settings['network_wide'] ) {
402
  if ( $admin_menu ) {
403
+ $this->admin_tab = min( 4, max( 1, $this->admin_tab ) );
404
+ } elseif ( ! in_array( $this->admin_tab, array( 0, 5 ), TRUE ) ) {
405
+ $this->admin_tab = 0;
406
  }
407
  } else {
408
  $this->admin_tab = min( 4, $this->admin_tab ); // exclude `Site List`
410
 
411
  if ( $admin_menu ) {
412
  // `settings-updated` would be added just after settings updated.
413
+ if ( ! empty( $_REQUEST['settings-updated'] ) && $this->is_network &&
414
  ! empty( $_REQUEST['page'] ) && IP_Geo_Block::PLUGIN_NAME === $_REQUEST['page'] ) {
415
  $this->update_multisite_settings( $settings );
416
  wp_safe_redirect( esc_url_raw( add_query_arg(
438
  'manage_network_options',
439
  IP_Geo_Block::PLUGIN_NAME,
440
  array( $this, 'display_plugin_admin_page' )
441
+ //, 'dashicons-admin-site' // or 'data:image/svg+xml;base64...'
442
  );
443
  if ( $settings['network_wide'] ) {
444
  add_submenu_page(
1455
  $res = IP_Geo_Block_Util::get_registered_actions( TRUE );
1456
  break;
1457
 
1458
+ case 'export-cache': // Restore cache from database and format for DataTables
1459
+ IP_Geo_Block_Admin_Ajax::export_cache( $settings['anonymize'] );
1460
+ break;
1461
+
1462
  case 'restore-cache': // Restore cache from database and format for DataTables
1463
+ $res = IP_Geo_Block_Admin_Ajax::restore_cache( $settings['anonymize'] );
1464
  break;
1465
 
1466
  case 'bulk-action-remove': // Delete specified IP addresses from cache
1552
  $res = array(
1553
  'page' => 'options-general.php?page=' . IP_Geo_Block::PLUGIN_NAME,
1554
  );
1555
+ break;
1556
  }
1557
 
1558
  if ( isset( $res ) ) // wp_send_json_{success,error}() @since 3.5.0
admin/includes/class-admin-ajax.php CHANGED
@@ -103,22 +103,36 @@ class IP_Geo_Block_Admin_Ajax {
103
  * @param string $which 'comment', 'xmlrpc', 'login', 'admin' or 'public'
104
  */
105
  public static function export_logs( $which ) {
106
- $csv = '';
107
- $which = IP_Geo_Block_Logs::restore_logs( $which );
108
- $date = isset( $which[0] ) ? $which[0][1] : $_SERVER['REQUEST_TIME'];
109
- $date = IP_Geo_Block_Util::localdate( $date, 'Y-m-d_H-i-s' );
110
-
111
- foreach ( $which as $data ) {
 
 
 
 
 
 
 
 
 
 
 
112
  $hook = array_shift( $data );
113
  self::array_insert( $data, $hook, 3 );
114
  $data[0] = IP_Geo_Block_Util::localdate( $data[0], 'Y-m-d H:i:s' );
 
 
 
115
  $csv .= implode( ',', $data ) . PHP_EOL;
116
  }
117
 
118
  // Send as file
119
  header( 'Content-Description: File Transfer' );
120
  header( 'Content-Type: application/octet-stream' );
121
- header( 'Content-Disposition: attachment; filename="' . IP_Geo_Block::PLUGIN_NAME . '_' . $date . '.csv"' );
122
  header( 'Pragma: public' );
123
  header( 'Expires: 0' );
124
  header( 'Cache-Control: no-store, no-cache, must-revalidate' );
@@ -214,14 +228,59 @@ class IP_Geo_Block_Admin_Ajax {
214
  return array( 'error' => $res->get_error_message() );
215
  }
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  /**
218
  * Restore cache from MySQL DB
219
  *
220
- * @param string $which 'comment', 'xmlrpc', 'login', 'admin' or 'public'
221
  */
222
- public static function restore_cache( $which, $anonymize ) {
223
- $time = time();
224
  $res = array();
 
225
 
226
  foreach ( IP_Geo_Block_Logs::restore_cache() as $key => $val ) {
227
  if ( $anonymize ) {
@@ -510,9 +569,10 @@ endif; // TEST_RESTORE_NETWORK
510
  '[behavior][time]', // 3.0.10
511
  '[behavior][view]', // 3.0.10
512
  '[save_statistics]',
513
- '[validation][reclogs]',
514
  '[validation][recdays]', // 2.2.9
 
515
  '[validation][maxlogs]',
 
516
  '[validation][postkey]',
517
  '[update][auto]',
518
  '[cache_time_gc]', // 3.0.0
103
  * @param string $which 'comment', 'xmlrpc', 'login', 'admin' or 'public'
104
  */
105
  public static function export_logs( $which ) {
106
+ $csv = '#';
107
+ $time = $_SERVER['REQUEST_TIME'];
108
+
109
+ $csv .= implode( ',', array(
110
+ __( 'Time', 'ip-geo-block' ),
111
+ __( 'IP address', 'ip-geo-block' ),
112
+ __( 'Code', 'ip-geo-block' ),
113
+ __( 'ASN', 'ip-geo-block' ),
114
+ __( 'Target', 'ip-geo-block' ),
115
+ __( 'Result', 'ip-geo-block' ),
116
+ __( 'Request', 'ip-geo-block' ),
117
+ __( 'User agent', 'ip-geo-block' ),
118
+ __( 'HTTP headers', 'ip-geo-block' ),
119
+ __( '$_POST data', 'ip-geo-block' ),
120
+ ) ) . PHP_EOL;
121
+
122
+ foreach ( IP_Geo_Block_Logs::restore_logs( $which ) as $data ) {
123
  $hook = array_shift( $data );
124
  self::array_insert( $data, $hook, 3 );
125
  $data[0] = IP_Geo_Block_Util::localdate( $data[0], 'Y-m-d H:i:s' );
126
+ $data[7] = str_replace( ',', '‚', $data[7] ); // , --> ‚
127
+ $data[8] = str_replace( ',', '‚', $data[8] ); // , --> ‚
128
+ $data[9] = str_replace( ',', '‚', $data[9] ); // , --> ‚
129
  $csv .= implode( ',', $data ) . PHP_EOL;
130
  }
131
 
132
  // Send as file
133
  header( 'Content-Description: File Transfer' );
134
  header( 'Content-Type: application/octet-stream' );
135
+ header( 'Content-Disposition: attachment; filename="' . IP_Geo_Block::PLUGIN_NAME . '_' . IP_Geo_Block_Util::localdate( $time, 'Y-m-d_H-i-s' ) . '.csv"' );
136
  header( 'Pragma: public' );
137
  header( 'Expires: 0' );
138
  header( 'Cache-Control: no-store, no-cache, must-revalidate' );
228
  return array( 'error' => $res->get_error_message() );
229
  }
230
 
231
+ /**
232
+ * Export IP address in cache from MySQL DB
233
+ *
234
+ */
235
+ public static function export_cache( $anonymize = TRUE ) {
236
+ $csv = '#';
237
+ $time = $_SERVER['REQUEST_TIME'];
238
+
239
+ $csv .= implode( ',', array(
240
+ __( 'IP address', 'ip-geo-block' ),
241
+ __( 'Code', 'ip-geo-block' ),
242
+ __( 'ASN', 'ip-geo-block' ),
243
+ __( 'Host name', 'ip-geo-block' ),
244
+ __( 'Target', 'ip-geo-block' ),
245
+ __( 'Failure / Total', 'ip-geo-block' ),
246
+ __( 'Elapsed[sec]', 'ip-geo-block' ),
247
+ ) ) . PHP_EOL;
248
+
249
+ foreach ( IP_Geo_Block_Logs::restore_cache() as $key => $val ) {
250
+ if ( $anonymize ) {
251
+ $key = IP_Geo_Block_Util::anonymize_ip( $key );
252
+ $val['host'] = IP_Geo_Block_Util::anonymize_ip( $val['host'] );
253
+ }
254
+
255
+ $csv .= implode( ',', array(
256
+ /* IP address */ $key,
257
+ /* Country code */ $val['code'],
258
+ /* AS number */ $val['asn' ],
259
+ /* Host name */ $val['host'],
260
+ /* Target */ $val['hook'],
261
+ /* Failure / Total */ sprintf( '%d / %d', (int)$val['fail'], (int)$val['call'] ),
262
+ /* Elapsed[sec] */ $time - (int)$val['time'],
263
+ ) ) . PHP_EOL;
264
+ }
265
+
266
+ // Send as file
267
+ header( 'Content-Description: File Transfer' );
268
+ header( 'Content-Type: application/octet-stream' );
269
+ header( 'Content-Disposition: attachment; filename="' . IP_Geo_Block::PLUGIN_NAME . '_' . IP_Geo_Block_Util::localdate( $time, 'Y-m-d_H-i-s' ) . '.csv"' );
270
+ header( 'Pragma: public' );
271
+ header( 'Expires: 0' );
272
+ header( 'Cache-Control: no-store, no-cache, must-revalidate' );
273
+ header( 'Content-Length: ' . strlen( $csv ) );
274
+ echo $csv;
275
+ }
276
+
277
  /**
278
  * Restore cache from MySQL DB
279
  *
 
280
  */
281
+ public static function restore_cache( $anonymize = TRUE ) {
 
282
  $res = array();
283
+ $time = $_SERVER['REQUEST_TIME'];
284
 
285
  foreach ( IP_Geo_Block_Logs::restore_cache() as $key => $val ) {
286
  if ( $anonymize ) {
569
  '[behavior][time]', // 3.0.10
570
  '[behavior][view]', // 3.0.10
571
  '[save_statistics]',
 
572
  '[validation][recdays]', // 2.2.9
573
+ '[validation][reclogs]',
574
  '[validation][maxlogs]',
575
+ '[validation][explogs]', // 3.0.12
576
  '[validation][postkey]',
577
  '[update][auto]',
578
  '[cache_time_gc]', // 3.0.0
admin/includes/tab-accesslog.php CHANGED
@@ -170,8 +170,8 @@ endif; // $options['validation']['reclogs']
170
 
171
  public static function warn_accesslog() {
172
  $context = IP_Geo_Block_Admin::get_instance();
173
- $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
174
- echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
175
  echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
176
  }
177
 
170
 
171
  public static function warn_accesslog() {
172
  $context = IP_Geo_Block_Admin::get_instance();
173
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 3 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-3' );
174
+ echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is disabled.', 'ip-geo-block' ), '<a href="' . $url . '">', '</a>' ), '</p>', "\n";
175
  echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
176
  }
177
 
admin/includes/tab-geolocation.php CHANGED
@@ -83,7 +83,7 @@ class IP_Geo_Block_Admin_Tab {
83
  $field = 'anonymize';
84
  add_settings_field(
85
  $option_name.'_'.$field,
86
- __( '<dfn title="IP address is always encrypted on recording in logs and cache. Moreover, this option makes the IP address anonymous and restricted on sending to the 3rd parties such as geolocation APIs or whois service.">Privacy friendly</dfn>', 'ip-geo-block' ),
87
  array( $context, 'callback_field' ),
88
  $option_slug,
89
  $section,
83
  $field = 'anonymize';
84
  add_settings_field(
85
  $option_name.'_'.$field,
86
+ __( '<dfn title="IP address is always encrypted on recording in cache and logs. Moreover, this option makes the IP address anonymous and restricted on sending to the 3rd parties such as geolocation APIs or whois service.">Anonymize IP address and restrict 3rd party APIs</dfn>', 'ip-geo-block' ),
87
  array( $context, 'callback_field' ),
88
  $option_slug,
89
  $section,
admin/includes/tab-network.php CHANGED
@@ -111,7 +111,7 @@ class IP_Geo_Block_Admin_Tab {
111
  if ( self::$controls['warn'] ) {
112
  $context = IP_Geo_Block_Admin::get_instance();
113
  $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
114
- echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
115
  echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
116
  }
117
 
111
  if ( self::$controls['warn'] ) {
112
  $context = IP_Geo_Block_Admin::get_instance();
113
  $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
114
+ echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is disabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
115
  echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
116
  }
117
 
admin/includes/tab-settings.php CHANGED
@@ -1094,11 +1094,11 @@ endif;
1094
  $option_slug
1095
  );
1096
 
1097
- // Privacy friendly
1098
  $field = 'anonymize';
1099
  add_settings_field(
1100
  $option_name.'_'.$field,
1101
- __( '<dfn title="IP address is always encrypted on recording in logs and cache. Moreover, this option makes the IP address anonymous and restricted on sending to the 3rd parties such as geolocation APIs or whois service.">Privacy friendly</dfn>', 'ip-geo-block' ),
1102
  array( $context, 'callback_field' ),
1103
  $option_slug,
1104
  $section,
@@ -1110,11 +1110,11 @@ endif;
1110
  )
1111
  );
1112
 
1113
- // Record "Statistics"
1114
- $field = 'save_statistics';
1115
  add_settings_field(
1116
  $option_name.'_'.$field,
1117
- __( '<dfn title="This option enables to record the number blocked countries and the number of blocked requests per day.">Record &#8220;Statistics&#8221;</dfn>', 'ip-geo-block' ),
1118
  array( $context, 'callback_field' ),
1119
  $option_slug,
1120
  $section,
@@ -1126,12 +1126,11 @@ endif;
1126
  )
1127
  );
1128
 
1129
- if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1130
- $field = 'validation';
1131
- $key = 'recdays';
1132
  add_settings_field(
1133
- $option_name.'_'.$field.'_'.$key,
1134
- __( 'Maximum period for &#8220;Statistics&#8221; (days)', 'ip-geo-block' ),
1135
  array( $context, 'callback_field' ),
1136
  $option_slug,
1137
  $section,
@@ -1139,17 +1138,15 @@ if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1139
  'type' => 'text',
1140
  'option' => $option_name,
1141
  'field' => $field,
1142
- 'sub-field' => $key,
1143
- 'value' => $options[ $field ][ $key ],
1144
  )
1145
  );
1146
- endif;
1147
 
1148
  // Record "Logs"
1149
  $field = 'validation';
1150
  add_settings_field(
1151
  $option_name.'_'.$field.'_reclogs',
1152
- __( '<dfn title="This option enables to record the validation logs including IP address.">Record &#8220;Logs&#8221;</dfn>', 'ip-geo-block' ),
1153
  array( $context, 'callback_field' ),
1154
  $option_slug,
1155
  $section,
@@ -1161,8 +1158,8 @@ endif;
1161
  'value' => $options[ $field ]['reclogs'],
1162
  'list' => array(
1163
  0 => __( 'Disable', 'ip-geo-block' ),
1164
- 1 => __( 'When requests blocked', 'ip-geo-block' ),
1165
- 2 => __( 'When requests passed', 'ip-geo-block' ),
1166
  6 => __( 'When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;', 'ip-geo-block' ),
1167
  3 => __( 'Unauthenticated visitor', 'ip-geo-block' ),
1168
  4 => __( 'Authenticated user', 'ip-geo-block' ),
@@ -1171,11 +1168,27 @@ endif;
1171
  )
1172
  );
1173
 
1174
- if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1175
- $key = 'maxlogs';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1176
  add_settings_field(
1177
  $option_name.'_'.$field.'_'.$key,
1178
- __( 'Maximum entries of &#8220;Logs&#8221;', 'ip-geo-block' ),
1179
  array( $context, 'callback_field' ),
1180
  $option_slug,
1181
  $section,
@@ -1187,12 +1200,13 @@ if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1187
  'value' => $options[ $field ][ $key ],
1188
  )
1189
  );
1190
- endif;
1191
 
1192
- // $_POST keys to be recorded with their values in "Logs"
 
 
1193
  add_settings_field(
1194
- $option_name.'_'.$field.'_postkey',
1195
- __( '<dfn title="e.g. action, comment, log, pwd, FILES">$_POST keys to be recorded with their values in &#8220;Logs&#8221;</dfn>', 'ip-geo-block' ),
1196
  array( $context, 'callback_field' ),
1197
  $option_slug,
1198
  $section,
@@ -1200,13 +1214,11 @@ endif;
1200
  'type' => 'text',
1201
  'option' => $option_name,
1202
  'field' => $field,
1203
- 'sub-field' => 'postkey',
1204
- 'value' => $options[ $field ]['postkey'],
1205
- 'after' => $comma[0],
1206
  )
1207
  );
1208
 
1209
- if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1210
  // Live update
1211
  $field = 'live_update';
1212
  add_settings_field(
@@ -1252,56 +1264,75 @@ if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1252
  );
1253
  endif;
1254
 
1255
- // Record "IP address cache"
1256
- $field = 'cache_hold';
 
 
 
 
1257
  add_settings_field(
1258
  $option_name.'_'.$field,
1259
- __( '<dfn title="This option enables to record the IP address , country code and login fail counter into the cache on database to minimize the impact on site speed.">Record &#8220;IP address cache&#8221;</dfn>', 'ip-geo-block' ),
1260
  array( $context, 'callback_field' ),
1261
  $option_slug,
1262
  $section,
1263
  array(
1264
- 'type' => 'checkbox',
1265
  'option' => $option_name,
1266
  'field' => $field,
1267
  'value' => $options[ $field ],
 
1268
  )
1269
  );
1270
 
1271
- // Expiration time [sec] for IP address cache
1272
- $field = 'cache_time';
1273
  add_settings_field(
1274
  $option_name.'_'.$field,
1275
- sprintf( __( '<dfn title="If user authentication fails consecutively %d times, subsequent login will also be prohibited for this and garbage collection period.">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>', 'ip-geo-block' ), (int)$options['login_fails'] ),
1276
  array( $context, 'callback_field' ),
1277
  $option_slug,
1278
  $section,
1279
  array(
1280
- 'type' => 'text',
1281
  'option' => $option_name,
1282
  'field' => $field,
1283
  'value' => $options[ $field ],
1284
  )
1285
  );
1286
 
1287
- // Get the next schedule of cron
1288
- $tmp = wp_next_scheduled( IP_Geo_Block::CACHE_NAME );
1289
- $tmp = $tmp ? IP_Geo_Block_Util::localdate( $tmp ) : '<span class="ip-geo-block-warn">' . __( 'Task could not be found in WP-Cron. Please try to deactivate this plugin once and activate again.', 'ip-geo-block' ). '</span>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1290
 
1291
- // Garbage collection period [sec] for IP address cache
1292
- $field = 'cache_time_gc';
1293
  add_settings_field(
1294
  $option_name.'_'.$field,
1295
- __( '<dfn title="This option enables to schedule the WP-Cron event to remove the expired entries of cache.">Garbage collection period [sec] for &#8220;IP address cache&#8221;</dfn>', 'ip-geo-block' ),
1296
  array( $context, 'callback_field' ),
1297
  $option_slug,
1298
  $section,
1299
  array(
1300
- 'type' => 'text',
1301
  'option' => $option_name,
1302
  'field' => $field,
1303
  'value' => $options[ $field ],
1304
- 'after' => '<p class="ip-geo-block-desc">' . sprintf( __( 'Next schedule: %s', 'ip-geo-block'), $tmp ) . '</p>',
1305
  )
1306
  );
1307
 
@@ -1515,22 +1546,6 @@ if ( IP_GEO_BLOCK_NETWORK ):
1515
  );
1516
  }
1517
  endif;
1518
- // Remove all settings at uninstallation
1519
- $field = 'clean_uninstall';
1520
- add_settings_field(
1521
- $option_name.'_'.$field,
1522
- __( 'Remove all settings at uninstallation', 'ip-geo-block' ),
1523
- array( $context, 'callback_field' ),
1524
- $option_slug,
1525
- $section,
1526
- array(
1527
- 'type' => 'checkbox',
1528
- 'option' => $option_name,
1529
- 'field' => $field,
1530
- 'value' => $options[ $field ],
1531
- )
1532
- );
1533
-
1534
  // Google Maps API key
1535
  $field = 'api_key';
1536
  $key = 'GoogleMap';
@@ -1622,11 +1637,11 @@ if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1622
  );
1623
  endif;
1624
 
1625
- // Show WordPress system info
1626
  $field = 'show-info';
1627
  add_settings_field(
1628
  $option_name.'_'.$field,
1629
- __( '<dfn title="When an unexpected blocking has occurred, please press the button to find the blocked request in the dumped information which may help to solve the issue.">Debug information</dfn><br />[ <a rel="noreferrer" href="https://wordpress.org/support/plugin/ip-geo-block" title="WordPress &#8250; Support &raquo; IP Geo Block">support forum</a> ]', 'ip-geo-block' ),
1630
  array( $context, 'callback_field' ),
1631
  $option_slug,
1632
  $section,
1094
  $option_slug
1095
  );
1096
 
1097
+ // Anonymize IP address and restrict 3rd party APIs
1098
  $field = 'anonymize';
1099
  add_settings_field(
1100
  $option_name.'_'.$field,
1101
+ __( '<dfn title="IP address is always encrypted on recording in cache and logs. Moreover, this option makes the IP address anonymous and restricted on sending to the 3rd parties such as geolocation APIs or whois service.">Anonymize IP address and restrict 3rd party APIs</dfn>', 'ip-geo-block' ),
1102
  array( $context, 'callback_field' ),
1103
  $option_slug,
1104
  $section,
1110
  )
1111
  );
1112
 
1113
+ // Record IP address cache
1114
+ $field = 'cache_hold';
1115
  add_settings_field(
1116
  $option_name.'_'.$field,
1117
+ __( '<dfn title="This option enables to record the IP address, country code and failure counter of login attempts into the cache on database to minimize the impact on site speed.">Record &#8220;IP address cache&#8221;</dfn>', 'ip-geo-block' ),
1118
  array( $context, 'callback_field' ),
1119
  $option_slug,
1120
  $section,
1126
  )
1127
  );
1128
 
1129
+ // Expiration time [sec] for IP address cache
1130
+ $field = 'cache_time';
 
1131
  add_settings_field(
1132
+ $option_name.'_'.$field,
1133
+ sprintf( __( '<dfn title="If user authentication fails consecutively %d times, subsequent login will also be prohibited for this and garbage collection period.">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>', 'ip-geo-block' ), (int)$options['login_fails'] ),
1134
  array( $context, 'callback_field' ),
1135
  $option_slug,
1136
  $section,
1138
  'type' => 'text',
1139
  'option' => $option_name,
1140
  'field' => $field,
1141
+ 'value' => $options[ $field ],
 
1142
  )
1143
  );
 
1144
 
1145
  // Record "Logs"
1146
  $field = 'validation';
1147
  add_settings_field(
1148
  $option_name.'_'.$field.'_reclogs',
1149
+ __( '<dfn title="This option enables to record the validation logs including IP addresses.">Record &#8220;Logs&#8221;</dfn>', 'ip-geo-block' ),
1150
  array( $context, 'callback_field' ),
1151
  $option_slug,
1152
  $section,
1158
  'value' => $options[ $field ]['reclogs'],
1159
  'list' => array(
1160
  0 => __( 'Disable', 'ip-geo-block' ),
1161
+ 1 => __( 'When blocked', 'ip-geo-block' ),
1162
+ 2 => __( 'When passed', 'ip-geo-block' ),
1163
  6 => __( 'When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;', 'ip-geo-block' ),
1164
  3 => __( 'Unauthenticated visitor', 'ip-geo-block' ),
1165
  4 => __( 'Authenticated user', 'ip-geo-block' ),
1168
  )
1169
  );
1170
 
1171
+ // $_POST keys to be recorded with their values in "Logs"
1172
+ add_settings_field(
1173
+ $option_name.'_'.$field.'_postkey',
1174
+ __( '<dfn title="e.g. action, comment, log, pwd, FILES">$_POST keys to be recorded with their values in &#8220;Logs&#8221;</dfn>', 'ip-geo-block' ),
1175
+ array( $context, 'callback_field' ),
1176
+ $option_slug,
1177
+ $section,
1178
+ array(
1179
+ 'type' => 'text',
1180
+ 'option' => $option_name,
1181
+ 'field' => $field,
1182
+ 'sub-field' => 'postkey',
1183
+ 'value' => $options[ $field ]['postkey'],
1184
+ 'after' => $comma[0],
1185
+ )
1186
+ );
1187
+
1188
+ $key = 'explogs';
1189
  add_settings_field(
1190
  $option_name.'_'.$field.'_'.$key,
1191
+ sprintf( __( '<dfn title="The maximum number of entries in the logs is also limited to %d.">Expiration time [sec] for &#8220;Logs&#8221;</dfn>', 'ip-geo-block' ), $options[ $field ]['maxlogs'] ),
1192
  array( $context, 'callback_field' ),
1193
  $option_slug,
1194
  $section,
1200
  'value' => $options[ $field ][ $key ],
1201
  )
1202
  );
 
1203
 
1204
+ if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1205
+ // Maximum entries of Logs
1206
+ $key = 'maxlogs';
1207
  add_settings_field(
1208
+ $option_name.'_'.$field.'_'.$key,
1209
+ __( 'Maximum entries of &#8220;Logs&#8221;', 'ip-geo-block' ),
1210
  array( $context, 'callback_field' ),
1211
  $option_slug,
1212
  $section,
1214
  'type' => 'text',
1215
  'option' => $option_name,
1216
  'field' => $field,
1217
+ 'sub-field' => $key,
1218
+ 'value' => $options[ $field ][ $key ],
 
1219
  )
1220
  );
1221
 
 
1222
  // Live update
1223
  $field = 'live_update';
1224
  add_settings_field(
1264
  );
1265
  endif;
1266
 
1267
+ // Get the next schedule of cron
1268
+ $tmp = wp_next_scheduled( IP_Geo_Block::CACHE_NAME );
1269
+ $tmp = $tmp ? IP_Geo_Block_Util::localdate( $tmp ) : '<span class="ip-geo-block-warn">' . __( 'Task could not be found in WP-Cron. Please try to deactivate this plugin once and activate again.', 'ip-geo-block' ). '</span>';
1270
+
1271
+ // Cleanup interval [sec] for Logs and IP address cache
1272
+ $field = 'cache_time_gc';
1273
  add_settings_field(
1274
  $option_name.'_'.$field,
1275
+ __( '<dfn title="This option enables to schedule the WP-Cron event to remove the expired entries in ip address cache and logs.">Cleanup interval [sec] for &#8220;IP address cache&#8221; and &#8220;Logs&#8221;</dfn>', 'ip-geo-block' ),
1276
  array( $context, 'callback_field' ),
1277
  $option_slug,
1278
  $section,
1279
  array(
1280
+ 'type' => 'text',
1281
  'option' => $option_name,
1282
  'field' => $field,
1283
  'value' => $options[ $field ],
1284
+ 'after' => '<p class="ip-geo-block-desc">' . sprintf( __( 'Next schedule: %s', 'ip-geo-block'), $tmp ) . '</p>',
1285
  )
1286
  );
1287
 
1288
+ // Record "Statistics"
1289
+ $field = 'save_statistics';
1290
  add_settings_field(
1291
  $option_name.'_'.$field,
1292
+ __( '<dfn title="This option enables to record the number blocked countries and the number of blocked requests per day.">Record &#8220;Statistics&#8221;</dfn>', 'ip-geo-block' ),
1293
  array( $context, 'callback_field' ),
1294
  $option_slug,
1295
  $section,
1296
  array(
1297
+ 'type' => 'checkbox',
1298
  'option' => $option_name,
1299
  'field' => $field,
1300
  'value' => $options[ $field ],
1301
  )
1302
  );
1303
 
1304
+ if ( defined( 'IP_GEO_BLOCK_DEBUG' ) && IP_GEO_BLOCK_DEBUG ):
1305
+ $field = 'validation';
1306
+ $key = 'recdays';
1307
+ add_settings_field(
1308
+ $option_name.'_'.$field.'_'.$key,
1309
+ __( 'Maximum period for &#8220;Statistics&#8221; [day]', 'ip-geo-block' ),
1310
+ array( $context, 'callback_field' ),
1311
+ $option_slug,
1312
+ $section,
1313
+ array(
1314
+ 'type' => 'text',
1315
+ 'option' => $option_name,
1316
+ 'field' => $field,
1317
+ 'sub-field' => $key,
1318
+ 'value' => $options[ $field ][ $key ],
1319
+ )
1320
+ );
1321
+ endif;
1322
 
1323
+ // Remove all settings and records at uninstallation
1324
+ $field = 'clean_uninstall';
1325
  add_settings_field(
1326
  $option_name.'_'.$field,
1327
+ __( 'Remove all settings and records at uninstallation', 'ip-geo-block' ),
1328
  array( $context, 'callback_field' ),
1329
  $option_slug,
1330
  $section,
1331
  array(
1332
+ 'type' => 'checkbox',
1333
  'option' => $option_name,
1334
  'field' => $field,
1335
  'value' => $options[ $field ],
 
1336
  )
1337
  );
1338
 
1546
  );
1547
  }
1548
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1549
  // Google Maps API key
1550
  $field = 'api_key';
1551
  $key = 'GoogleMap';
1637
  );
1638
  endif;
1639
 
1640
+ // Diagnostic information
1641
  $field = 'show-info';
1642
  add_settings_field(
1643
  $option_name.'_'.$field,
1644
+ __( '<dfn title="When an unexpected blocking has occurred, please press the button to find the blocked request in the dumped information which may help to solve the issue.">Diagnostic information</dfn><br />[ <a rel="noreferrer" href="https://wordpress.org/support/plugin/ip-geo-block" title="WordPress &#8250; Support &raquo; IP Geo Block">support forum</a> ]', 'ip-geo-block' ),
1645
  array( $context, 'callback_field' ),
1646
  $option_slug,
1647
  $section,
admin/includes/tab-statistics.php CHANGED
@@ -210,15 +210,20 @@ if ( $options['validation']['reclogs'] ) :
210
  endif;
211
 
212
  /*----------------------------------------*
213
- * Statistics in cache
214
  *----------------------------------------*/
215
  add_settings_section(
216
  $section = $plugin_slug . '-cache',
217
- __( 'Statistics in cache', 'ip-geo-block' ),
218
- array( __CLASS__, 'statistics_cache' ),
 
 
 
219
  $option_slug
220
  );
221
 
 
 
222
  $field = 'search_filter';
223
  add_settings_field(
224
  $option_name.'_'.$field,
@@ -275,6 +280,24 @@ endif;
275
  'after' => '<div id="'.$plugin_slug.'-cache"></div>',
276
  )
277
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
278
  }
279
 
280
  /**
@@ -390,16 +413,23 @@ endif;
390
  */
391
  public static function warn_statistics() {
392
  $context = IP_Geo_Block_Admin::get_instance();
393
- $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
394
- echo '<p>', sprintf( __( '[ %sRecord &#8220;Statistics&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
395
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation statistics.', 'ip-geo-block' ), '</p>', "\n";
396
  }
397
 
398
  public static function warn_validation() {
399
  $context = IP_Geo_Block_Admin::get_instance();
400
- $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
401
- echo '<p>', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
402
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
403
  }
404
 
 
 
 
 
 
 
 
405
  }
210
  endif;
211
 
212
  /*----------------------------------------*
213
+ * IP address in cache
214
  *----------------------------------------*/
215
  add_settings_section(
216
  $section = $plugin_slug . '-cache',
217
+ __( 'Statistics in IP address cache', 'ip-geo-block' ),
218
+ ( $options['cache_hold'] ?
219
+ array( __CLASS__, 'statistics_cache' ) :
220
+ array( __CLASS__, 'warn_ipadr_cache' )
221
+ ),
222
  $option_slug
223
  );
224
 
225
+ if ( $options['cache_hold'] ) :
226
+
227
  $field = 'search_filter';
228
  add_settings_field(
229
  $option_name.'_'.$field,
280
  'after' => '<div id="'.$plugin_slug.'-cache"></div>',
281
  )
282
  );
283
+
284
+ // Export cache
285
+ $field = 'export_cache';
286
+ add_settings_field(
287
+ $option_name.'_'.$field,
288
+ __( 'Export cache', 'ip-geo-block' ),
289
+ array( $context, 'callback_field' ),
290
+ $option_slug,
291
+ $section,
292
+ array(
293
+ 'type' => 'none',
294
+ 'before' => '<a class="button button-secondary" id="ip-geo-block-export-cache" title="' . __( 'Export to the local file', 'ip-geo-block' ) . '" href="#!">'. __( 'Export csv', 'ip-geo-block' ) . '</a>',
295
+ 'after' => '<div id="'.$plugin_slug.'-export"></div>',
296
+ )
297
+ );
298
+
299
+ endif;
300
+
301
  }
302
 
303
  /**
413
  */
414
  public static function warn_statistics() {
415
  $context = IP_Geo_Block_Admin::get_instance();
416
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 3 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-3' );
417
+ echo '<p>', sprintf( __( '[ %sRecord &#8220;Statistics&#8221;%s ] is disabled.', 'ip-geo-block' ), '<a href="' . $url . '">', '</a>' ), '</p>', "\n";
418
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation statistics.', 'ip-geo-block' ), '</p>', "\n";
419
  }
420
 
421
  public static function warn_validation() {
422
  $context = IP_Geo_Block_Admin::get_instance();
423
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 3 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-3' );
424
+ echo '<p>', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is disabled.', 'ip-geo-block' ), '<a href="' . $url . '">', '</a>' ), '</p>', "\n";
425
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
426
  }
427
 
428
+ public static function warn_ipadr_cache() {
429
+ $context = IP_Geo_Block_Admin::get_instance();
430
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 3 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-3' );
431
+ echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;IP address cache&#8221;%s ] is disabled.', 'ip-geo-block' ), '<a href="' . $url . '">', '</a>' ), '</p>', "\n";
432
+ echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record IP address in cache.', 'ip-geo-block' ), '</p>', "\n";
433
+ }
434
+
435
  }
admin/js/admin.js CHANGED
@@ -1353,8 +1353,8 @@
1353
 
1354
  $(ID('@', 'cache_hold')).on('change', function (/*event*/) {
1355
  var checked = $(this).prop('checked');
1356
- $('input[id*="cache_time"]' ).prop('disabled', !checked);
1357
- $('select[id*="login_fails"]').prop('disabled', !checked);
1358
  }).trigger('change');
1359
 
1360
  /*---------------------------
@@ -1595,7 +1595,7 @@
1595
  return false;
1596
  });
1597
 
1598
- // Statistics in cache
1599
  initTable(tabNo, {
1600
  tableID: 'statistics-cache',
1601
  ajaxCMD: 'restore-cache',
@@ -1626,6 +1626,15 @@
1626
  { className: "all", targets: [0, 1, 2, 5] } // always visible
1627
  ]
1628
  });
 
 
 
 
 
 
 
 
 
1629
  break;
1630
 
1631
  /*----------------------------------------
@@ -1804,7 +1813,7 @@
1804
  return false;
1805
  }).trigger('change');
1806
 
1807
- // Export / Import settings
1808
  add_hidden_form('export-logs');
1809
 
1810
  // Export logs
1353
 
1354
  $(ID('@', 'cache_hold')).on('change', function (/*event*/) {
1355
  var checked = $(this).prop('checked');
1356
+ $('input[name*="[cache_time]"]').prop('disabled', !checked);
1357
+ $('select[id*="login_fails"]' ).prop('disabled', !checked);
1358
  }).trigger('change');
1359
 
1360
  /*---------------------------
1595
  return false;
1596
  });
1597
 
1598
+ // IP address in cache
1599
  initTable(tabNo, {
1600
  tableID: 'statistics-cache',
1601
  ajaxCMD: 'restore-cache',
1626
  { className: "all", targets: [0, 1, 2, 5] } // always visible
1627
  ]
1628
  });
1629
+
1630
+ // Export cache
1631
+ add_hidden_form('export-cache');
1632
+
1633
+ // Export cache
1634
+ $(ID('#', 'export-cache')).on('click', function (/*event*/) {
1635
+ $(ID('#', 'export-form')).submit();
1636
+ return false;
1637
+ });
1638
  break;
1639
 
1640
  /*----------------------------------------
1813
  return false;
1814
  }).trigger('change');
1815
 
1816
+ // Export logs
1817
  add_hidden_form('export-logs');
1818
 
1819
  // Export logs
admin/js/admin.min.js CHANGED
@@ -3,4 +3,4 @@
3
  Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
  This software is released under the MIT License.
5
  */
6
- (function(a,f,t){function b(a,b){var c={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return"undefined"!==typeof b?c[a]+b:c.$+a}function da(a){return a.toString().replace(/[&<>"']/g,function(a){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[a]}).replace(/&amp;(#\d{2,4}|\w{4,7});/g,"&$1;")}function k(a){return a?da(a.toString().replace(/(<([^>]+)>)/ig,"")):""}function E(b,e){var c=a(f).width();c!==J&&(J=c,"undefined"===typeof p[b]&&(p[b]={id:!1,callback:e}),a(f).off("resize").on("resize",function(){!1!==p[b].id&&f.clearTimeout(p[b].id);p[b].time=f.setTimeout(p[b].callback,200);return!1}))}function C(c,e){e?a(b("#",c)).addClass(b("loading")):a(b("#",c)).removeClass(b("loading"))}function z(a,b){f.confirm(k(a))&&b()}function D(a,b,g){f.alert(k(b||d.msg[12].replace("%s",g)+" ("+a+")"))}function K(a,b){-1!==f.location.href.indexOf(a)&&(f.location=k(a)+(b?"&"+k(b):"")+"&ip-geo-block-auth-nonce="+F.nonce)}function q(b,e,g,l){b&&C(b,!0);e.action=d.action;e.nonce=d.nonce;a.post(d.url,e).done(function(a){g&&g(a)}).fail(function(a){R||D(a.status,a.responseText,e.action)}).always(function(){b&&("object"===typeof l?a.when.apply(a,l).then(function(){C(b,!1)}):C(b,!1))})}function M(a,b){q(a,{cmd:"clear-"+a,which:b},function(a){K(a.page,a.tab)})}function S(a){q(a,{cmd:a},function(a){K(a.page,a.tab)})}function x(a){a.stopImmediatePropagation();return!1}function G(a,e){e?a.removeClass("folding-disable"):(a.children(b(".","hide")).hide(),a.addClass("folding-disable"),a.removeClass(b("dropdown")).addClass(b("dropup")))}function N(c,e,g){var l=0===c.prop("type").indexOf("checkbox")&&c.is(":checked")||0===c.prop("type").indexOf("select")&&"0"!==c.val();c.siblings('input[name^="'+b("%","settings")+'"]:checkbox').prop("disabled",!l);a.isArray(e)?a.each(e,function(c,e){a(e).nextAll(b(".","settings-folding")).each(function(b,e){G(a(e),l&&g[c])})}):e.nextAll(b(".","settings-folding")).each(function(b,c){G(a(c),l&&g)})}function T(c){var e=b("@","validation_ajax_");G(c.closest("ul").next(),a(e+"1").is(":checked")||a(e+"2").is(":checked"))}function H(a){return String(a).replace(/[a-z]/gi,function(a){return String.fromCharCode(a.charCodeAt(0)+("n">a.toLowerCase()?13:-13))})}function ea(a,b){var c=new f.FileReader;c.onload=function(a){b&&b(a.target.result)};c.onerror=function(a){D("Error",a.target.error.code)};c.readAsText(a)}function U(c){var e=c.is(":checked"),g=a(b("@","public_target_rule")),l=a(b("@","public_behavior")),d=c.closest("tr").nextAll("tr");d.find('[name^="'+b("%","settings")+'"]').prop("disabled",!e);d.find(b(".","desc")).css("opacity",e?1:.5);N(c,[g,l],["1"===g.val()?!0:!1,l.val()]);e&&l.change()}function O(c,e){c&&("string"===typeof c&&(c=JSON.parse(c)),e&&(a('input[type="checkbox"]').prop("checked",!1).change(),a("input[name*=providers]").prop("disabled",!1).change()),a(b("#","import")).closest("form").deserialize(c),a(b("@","exception_admin")+","+b("@","validation_mimetype")).change(),a('select[name*="'+b("%","settings")+'"]').change(),a(b("@","validation_login")).change(),U(a(b("@","validation_public"))),T(a(b("@","validation_ajax_1"))),e&&(e=b("%","settings[providers][IPInfoDB]"),a(b("@","providers_IPInfoDB")).prop("checked",c[e]?!0:!1)))}function fa(a,b){var c=Math.ceil(a.length/b),e=[],d;for(d=0;d<c;++d){var m=d*b;e.push(a.slice(m,m+b))}return e}function v(c){"object"===typeof f.google&&(1===c?a(b("#","chart-countries")).length&&(h.drawPie(b("chart-countries")),h.drawLine(b("chart-daily"),"date")):5===c&&a(b(".","network")).each(function(b,c){h.drawStacked(a(c).attr("id"))}))}function V(a){if("object"===typeof f.google){var b=["corechart"];5===a&&b.push("bar");f.google.load("visualization","1",{packages:b,callback:function(){v(a)}});E("draw-chart."+a,function(){v(a)})}}function ha(a){var b,c="undefined"!==typeof wpCookies&&wpCookies.getHash("ip-geo-block")||[];for(b in c)c.hasOwnProperty(b)&&(c[b]=c[b].replace(/[^ox\d]/g,"").split(""));"undefined"===typeof c[a]&&(c[a]=[]);return c}function A(b){var c,g,d=[];a.each(b,function(a,b){d[a]="";if("undefined"!==typeof b&&(g=b.length))for(d[a]=b[0]||"o",c=1;c<g;++c)d[a]+=b[c]||"o"});"undefined"!==typeof wpCookies&&wpCookies.setHash("ip-geo-block",d,new Date(Date.now()+2592E6),F.home+F.admin)}function ia(c){var e=ha(c);a("form").on("click","h2,h3 a",function(){f.open(this.href,null);return!1}).on("click","h2,h3",function(){var d=a(this),l=d.closest("fieldset").data("section"),f=d.parent().nextAll(".panel-body").toggle();d.toggleClass(b("dropup")).toggleClass(b("dropdown"));(d=d.hasClass(b("dropdown")))?f.addClass(b("border")).trigger(b("show-body")):f.removeClass(b("border"));e[c][l]=d?"o":"x";A(e);v(c);return!1});a(b("#","toggle-sections")).on("click",function(){var d,l=a(b(".","field")).find("h2,h3"),f=[b("dropdown"),b("dropup")],m=l.filter("."+f[0]).length;l.each(function(g){d=a(this);d.removeClass(f.join(" ")).addClass(m?f[1]:f[0]);d=d.parent().nextAll(".panel-body").toggle(m?!1:!0);m?d.removeClass(b("border")):d.addClass(b("border")).trigger("show-body");e[c][g]=m?"x":"o"});A(e);v(c);return!1});return e}function W(c){a("body").append('<div style="display:none"><form method="POST" id="'+b("export-form")+'" action="'+d.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+d.action+'" /><input type="hidden" name="nonce" value="'+d.nonce+'" /><input type="hidden" name="cmd" value="'+c+'" /><input type="hidden" name="data" value="" id="'+b("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+b("file-dialog")+'" /></div>')}function X(a,b,d,f){a=a.cloneNode(!1);a.setAttribute("title",k(d));b=b.cloneNode(!1);b.setAttribute("class","dashicons dashicons-"+f);a.appendChild(b);return a}function Y(c,e,g){a.extend(!0,a.fn.dataTable.defaults,g,{dom:"tp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,deferLoading:10,info:!1,lengthChange:!1,language:{emptyTable:d.i18n[1],loadingRecords:d.i18n[0],processing:d.i18n[0],zeroRecords:d.i18n[2],paginate:{first:"&laquo;",last:"&raquo;",next:"&rsaquo;",previous:"&lsaquo;"}},responsive:{details:{type:"column",target:"td:nth-child(n+2)"}},columnDefs:[{width:"1.25em",targets:0},{orderable:!1,targets:0},{searchable:!1,targets:0},{targets:[0],data:null,defaultContent:'<input type="checkbox">'}],pagingType:"full_numbers",pageLength:10,scroller:!0,scrollY:1E4,scrollCollapse:!0,drawCallback:function(c){var f=a(b("#",e.tableID)).find("td.dataTables_empty"),g="restore-logs"===e.ajaxCMD?3:2;g>c.iDraw?f.html(d.i18n[0]):g===c.iDraw&&(f.html(d.i18n[1]),f=a(b("@","search_filter")),f.val()&&f.trigger("keyup"))}});var l=a(b("#",e.tableID)).DataTable({ajax:{url:d.url,type:"POST",data:{cmd:e.ajaxCMD,action:d.action,nonce:d.nonce}},mark:!0}),h=function(){l.columns.adjust().responsive.recalc().draw(!1)};E("draw-table."+c,h);a(b("#",e.sectionID)).find(".panel-body").off(b("show-body")).on(b("show-body"),function(){h();return!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var c=a(this).prop("checked");a(b("#",e.tableID)).find('td>input[type="checkbox"]').prop("checked",c);return!1});a(b("#","select-target")).off("change").on("change",function(){var c=a(this).find('input[name="'+b("target")+'"]:checked').val();l.columns(e.targetColumn).search("all"!==c?c:"").draw();return!1}).trigger("change");a(b("#","bulk-action")).off("click").on("click",function(){var f=a(this).prev().val(),g=/(<([^>]+)>)/ig,h=/data-hash=[\W]([\w]+)[\W]/i,k={IP:[],AS:[]},r,w,I=a("table.dataTable").find("td>input:checked");if(!f)return!1;if(!I.length)return D(null,d.msg[11]),!1;I.each(function(){w=l.cell(this.parentNode).data();r="bulk-action-remove"===f||"bulk-action-ip-erase"===f?(r=w[e.columnIP].match(h))?","+r[1]:"":"";k.IP.push(w[e.columnIP].replace(g,"")+r);k.AS.push(w[e.columnAS].replace(g,""))});k.IP.length&&q("loading",{cmd:f,which:k},function(d){"undefined"!==typeof d.page?K(d.page,"tab="+c):d&&(l.ajax.reload(),a(b("#",e.tableID)).find('th input[type="checkbox"]').prop("checked",!1))});return!1});a(b("@","search_filter")).off("keyup").on("keyup",function(){l.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw();return!1});a(b("#","reset-filter")).off("click").on("click",function(){a(b("@","search_filter")).val("");l.search("").draw();return!1});a(b("@","clear_all")).off("click").on("click",function(){z(d.msg[1===c?4:5],function(){M(1===c?"cache":"logs",null)});return!1});a("table.dataTable tbody").on("click","a",function(){var b=f.location.search.slice(1).split("&"),e=b.length,d={},g;for(g=0;g<e;++g){var l=b[g].split("=");d[l[0]]=l[1]}d.tab=1===c?4:2;d.s=a(this).text().replace(/[^\w\.:\*]/,"");l=[];for(g in d)d.hasOwnProperty(g)&&l.push(g+"="+d[g]);f.open(f.location.pathname+"?"+l.join("&"),"_blank");return!1});return l}var R=!1,p=[],J=a(f).width(),d=IP_GEO_BLOCK,F=IP_GEO_BLOCK_AUTH;a.fn.deserialize=function(b){return this.each(function(){var c,d=this,f={};for(c in b)if(b.hasOwnProperty(c))try{var h=decodeURIComponent(c);var k=decodeURIComponent(b[c]);f.hasOwnProperty(h)||(f[h]=[]);f[h].push(k)}catch(ja){}a.each(f,function(b,e){c=a('[name="'+b+'"]:input',d).val(e);"hidden"!==c.attr("type")&&c.before('<span style="color:red">*</span>')})})};var h={dataPie:[],viewPie:[],drawPie:function(b){if("undefined"===typeof h.dataPie[b]){var c=h.dataPie[b]=new f.google.visualization.DataTable;c.addColumn("string","Country");c.addColumn("number","Requests");c=a.parseJSON(a("#"+b).attr("data-"+b));h.dataPie[b].addRows(c)}"undefined"===typeof h.viewPie[b]&&(h.viewPie[b]=new f.google.visualization.PieChart(t.getElementById(b)));"undefined"!==typeof h.dataPie[b]&&"undefined"!==typeof h.viewPie[b]&&0<a("#"+b).width()&&h.viewPie[b].draw(h.dataPie[b],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(b,d){if("undefined"===typeof h.dataLine[b]){var c=h.dataLine[b]=new f.google.visualization.DataTable;c.addColumn(d,"Date");c.addColumn("number","comment");c.addColumn("number","xmlrpc");c.addColumn("number","login");c.addColumn("number","admin");c.addColumn("number","public");var e=a.parseJSON(a("#"+b).attr("data-"+b));var k=e.length;for(c=0;c<k;++c)e[c][0]=new Date(1E3*e[c][0]);h.dataLine[b].addRows(e)}"undefined"===typeof h.viewLine[b]&&(h.viewLine[b]=new f.google.visualization.LineChart(t.getElementById(b)));"undefined"!==typeof h.dataLine[b]&&"undefined"!==typeof h.viewLine[b]&&0<(c=a("#"+b).width())&&h.viewLine[b].draw(h.dataLine[b],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===d?" HH:mm":"")},vAxis:{textPosition:320<c?"out":"in"},chartArea:{left:320<c?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(c){var d,g,l=a("#"+c);"undefined"===typeof h.dataStacked[c]&&(g=a.parseJSON(l.attr("data-"+c)))&&(g.unshift(["site","comment","xmlrpc","login","admin","poblic",{role:"link"}]),h.dataStacked[c]=f.google.visualization.arrayToDataTable(g));"undefined"===typeof h.viewStacked[c]&&(h.viewStacked[c]=new f.google.visualization.BarChart(t.getElementById(c)),f.google.visualization.events.addListener(h.viewStacked[c],"animationfinish",function(){var d,e,f,g=[],k=h.dataStacked[c],m=k.getNumberOfRows(),q=a(b("#","open-new")).prop("checked");for(d=0;d<m;d++)g.push({label:k.getValue(d,0),link:k.getValue(d,6)});m="http://www.w3.org/1999/xlink";l.find("text").each(function(a,b){f=b.parentNode;var c;if(c="g"===f.tagName.toLowerCase()){a:{c=b.textContent;var d,k=g.length;c=c.replace("\u2026","");for(d=0;d<k;++d)if(g.hasOwnProperty(d)&&0===g[d].label.indexOf(c)){c=d;break a}c=-1}c=-1!==(a=c)}c&&(e=t.createElementNS("http://www.w3.org/2000/svg","a"),e.setAttributeNS(m,"xlink:href",g[a].link),e.setAttributeNS(m,"title",g[a].label),e.setAttribute("target",q?"_blank":"_self"),e.setAttribute("class","site"),e.appendChild(f.removeChild(b)),f.appendChild(e),g.splice(a,1))})}));if(0<(d=l.width())&&"undefined"!==typeof h.dataStacked[c]&&"undefined"!==typeof h.viewStacked[c]){var k=b("range");var m=a.parseJSON(a("."+k).attr("data-"+k));g=h.dataStacked[c];k=40*g.getNumberOfRows();h.viewStacked[c].draw(g,{width:d,height:k+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:k},hAxis:{minValue:0,maxValue:m[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}})}},ajaxStacked:function(c,d,f,k){c=Math.max(0,Math.min(4,c));d=5*Math.max(1,Math.min(5,d));q(null,{cmd:"restore-network",which:c,offset:d*f*k,length:d},function(c){var e,f,g,k,l;c=fa(c,d);a(b(".","network")).each(function(b,m){if("undefined"!==typeof c[b]){k=a(m).attr("id");l=h.dataStacked[k];g=Math.min(d,c[b].length);for(e=0;e<g;++e)for(f=1;5>=f;f++)l.setValue(e,f,c[b][e][f]);h.drawStacked(k)}})})}};a(function(){var c=Number(d.tab)||0,e=ia(c);a(b(".","inhibit")).on("submit",function(){return!1});a(f).on("beforeunload",function(){R=!0});switch(c){case 0:var g=b("%","settings");a('[id^="'+b("scan-")+'"]').on("click",function(){var c=a(this),d=c.attr("id"),e=c.parent();q(d.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:d.replace(b("scan-"),"")},function(a){e.children("ul").length||e.append('<ul id="'+b("code-list")+'"></ul>');e=e.children("ul").empty();for(c in a)if(a.hasOwnProperty(c)){var c=k(c);if("string"===typeof a[c])var d=k(a[c]);else d=k(a[c].code),c='<abbr title="'+k(a[c].type)+'">'+c+"</abbr>";e.append("<li>"+c+' : <span class="'+b("notice")+'">'+d+"</span></li>")}e.show("slow")});return!1});a(b("@","matching_rule")).on("change",function(){var c=this.value;a(b("@","white_list")).closest("tr").toggle("0"===c);a(b("@","black_list")).closest("tr").toggle("1"===c);return!1}).change();a(b(".","icon-cidr")).on("click",function(){var c=a(b("#","admin-styles-css")).get(0).href,d=f.open("about:blank","","width=560,height=170");c=c.slice(0,c.lastIndexOf("css/"));d.document.write('<!DOCTYPE html><html lang=en><meta charset=utf-8><title>CIDR calculator for IPv4 / IPv6</title><link href="'+c+'css/cidr.min.css?v=.1" rel=stylesheet><div class="row container"><div class=row id=i><fieldset class="col span_11"><legend>Range <input id=a type=button value=Clear tabindex=1></legend><textarea id=c name=range placeholder="192.168.0.0 - 192.168.255.255" rows=5 wrap=off tabindex=2></textarea></fieldset><ul class="col span_2" id=h><li class=row><input id=e type=button value=&rarr; class="col span_24" tabindex=3><li class=row><input id=f type=button value=&larr; class="col span_24" tabindex=6></ul><fieldset class="col span_11"><legend>CIDR <input id=b type=button value=Clear tabindex=4></legend><textarea id=d name=cidr placeholder=192.168.0.0/16 rows=5 wrap=off tabindex=5></textarea></fieldset></div><div class=row id=j><span class=col id=g>\u00a0</span></div></div><script src="'+c+'js/cidr.min.js?v=.1">\x3c/script>');d.document.close();return!1});a(b("@","validation_mimetype")).on("change",function(c){var d=a(this),n=parseInt(d.val(),10);d.nextAll(b(".","settings-folding")).each(function(b,c){G(a(c),n===b+1||n&&2===b)});return x(c)}).change();a('select[name*="response_code"]').on("change",function(c){var d=a(this),n=parseInt(d.val()/100,10),e=d.closest("tr").nextAll("tr");if(0<=d.attr("name").indexOf("public")&&-1===parseInt(a(b("@","public_matching_rule")).val(),10))return e.each(function(b){1>=b&&a(this).hide()}),x(c);3>=n?e.each(function(b){0===b?a(this).show():1===b&&a(this).hide()}):e.each(function(b){0===b?a(this).hide():1===b&&a(this).show()});return x(c)}).change();a(b("#","decode")).on("click",function(){var c=a(b("@","signature")),d=c.val();-1===d.search(/,/)?c.val(H(f.atob(d))):c.val(f.btoa(H(d)));return!1});a(b("@","validation_login")).on("change",function(b){var c=a(this);N(c,c,g,!0);return x(b)}).change();q(null,{cmd:"get-actions"},function(c){var e,n=a(b("#","list-admin")),f=t.createElement("li"),g=t.createElement("input"),h=t.createElement("label"),l=t.createElement("dfn"),m=t.createElement("span");for(y in c)if(c.hasOwnProperty(y)){var y=k(y);if(!n.find("#"+(e=b("!","exception_admin_"+y))).size()){var p=g.cloneNode(!1);p.setAttribute("id",e);p.setAttribute("value",y);p.setAttribute("type","checkbox");var r=f.cloneNode(!1);r.appendChild(p);p=h.cloneNode(!1);p.setAttribute("for",e);p.appendChild(t.createTextNode(y));r.appendChild(p);1&c[y]&&r.appendChild(X(l,m,d.msg[6],"lock"));2&c[y]&&r.appendChild(X(l,m,d.msg[7],"unlock"));n.append(r)}}a(b(".","icon-unlock")).on("click",function(){a(b("#","list-admin")+">li").filter(function(){return!a(this).find(".dashicons-unlock").length}).toggle();return!1});a(b("@","exception_admin")).on("change",function(c){var d=a.grep(a(this).val().split(","),function(a){return""!==a.replace(/^\s+|\s+$/g,"")});a(b("#","list-admin")).find("input").each(function(){var b=a(this),c=b.val();b.prop("checked",-1!==a.inArray(c,d))});return x(c)}).change();a(b("#","list-admin")).on("click","input",function(){var c=a(this);var d=a(b("@","exception_admin")),e=c.val(),n=a.grep(d.val().split(","),function(a){return""!==a.replace(/^\s+|\s+$/g,"")});c=a.inArray(e,n);-1===c?n.push(e):n.splice(c,1);d.val(n.join(",")).change()});a(b(".","icon-find")).on("click",function(){var c=a(this),e=[],n=0,f,ca,g,h,l=k(d.msg[9]),u=k(c.data("target"));a(b("#","find-"+u)).empty();c.next().children(b(".","find-desc")).show();c=a(b("#","list-"+u));c.children("li").each(function(b,c){e.push(a(c).find("input").val())});q("find-"+u,{cmd:"find-"+u},function(Q){for(var m in Q)Q.hasOwnProperty(m)&&(++n,f=k(Q[m]),m=k(m),ca=a.inArray(m,e),g=b("!","exception_"+u+"_"+m),h="admin"===u?f+"="+m:"/"+f+"/"+m+"/",h='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="'+F.sites[0]+F.admin+"options-general.php?page=ip-geo-block&tab=4&s="+encodeURIComponent(h)+'" title="'+l.replace("%s",h)+'" target="_blank"><span></span></a>',0>ca?(e.push(m),c.prepend('<li><input id="'+g+'" value="'+m+'" type="checkbox" '+("admin"===u?"/>":"name=ip_geo_block_settings[exception]["+u+"]["+m+"] />")+'<label for="'+g+'">'+m+"</lable>"+h+"</li>")):(g=c.find("#"+g).parent(),g.find("a").length||g.append(h)));a(b("@","exception_"+u)).trigger("change");a(b("#","find-"+u)).append(' <span class="ip-geo-block-warn">'+k(d.msg[8].replace("%d",n))+"</span>")});return!1})});a('input[id^="'+b("!","validation_ajax_")+'"]').on("change",function(){T(a(this))}).change();a(b("@","validation_public")).on("change",function(b){U(a(this));return x(b)}).change();a(b("@","public_matching_rule")).on("change",function(c){var d=this.value;a(b("@","public_white_list")).closest("tr").toggle("0"===d);a(b("@","public_black_list")).closest("tr").toggle("1"===d);a(b("@","public_response_code")).change().closest("tr").toggle("-1"!==d);return x(c)}).change();a(b("@","public_behavior")).on("change",function(b){var c=a(this);G(c.siblings("ul"),c.prop("checked"));return x(b)}).change();a(b("@","update")).on("click",function(){q("download",{cmd:"download"},function(c){var d;for(d in c)if(c.hasOwnProperty(d)){var e=c[d];for(n in e)if(e.hasOwnProperty(n)){var n=k(n);e[n].filename&&a(b("@",d+"_"+n+"_path")).val(k(e[n].filename));e[n].message&&a(b("#",d+"-"+n)).text(k(e[n].message))}}});return!1});a(b("@","anonymize")).on("change",function(){a('input[class*="remote"]').prop("disabled",a(this).prop("checked"))}).trigger("change");a(b("@","save_statistics")).on("change",function(){a(b("@","validation_recdays")).prop("disabled",!a(this).prop("checked"));return!1}).trigger("change");a(b("@","validation_reclogs")).on("change",function(){var b=a(this);b.parent().parent().nextAll().find('input[id*="validation"]').prop("disabled",0===Number(b.prop("selectedIndex")))}).trigger("change");a(b("@","cache_hold")).on("change",function(){var b=a(this).prop("checked");a('input[id*="cache_time"]').prop("disabled",!b);a('select[id*="login_fails"]').prop("disabled",!b)}).trigger("change");a(b("@","comment_pos")).on("change",function(){var b=a(this);b.nextAll('input[type="text"]').prop("disabled",0===Number(b.prop("selectedIndex")))}).trigger("change");W("validate");a(b("#","export")).on("click",function(){if("undefined"===typeof JSON)return D(null,k(d.msg[10])),!1;var c=g,e={};a.each(a(this).closest("form").serializeArray(),function(a,b){-1!==b.name.indexOf(c)&&(e[b.name]=b.value)});e[c+="[signature]"]=f.btoa(H(e[c]));a(b("#","export-data")).val(JSON.stringify(e));a(b("#","export-form")).submit();return!1});a(b("#","file-dialog")).on("change",function(a){if("undefined"===typeof f.FileReader)return D(null,k(d.msg[10])),!1;var b;(a=a.target.files[0])&&ea(a,function(a){a=JSON.parse(a);b=g+"[signature]";"undefined"!==typeof a[b]&&(a[b]=f.btoa(H(a[b])));q("export-import",{cmd:"validate",data:JSON.stringify(a)},function(a){O(a,!0)})});return!1});a(b("#","import")).on("click",function(){a(b("#","file-dialog")).click();return!1});a(b("#","default")).on("click",function(){z(d.msg[0],function(){q("pre-defined",{cmd:"import-default"},function(a){O(a,!0)})});return!1});a(b("#","preferred")).on("click",function(){z(d.msg[0],function(){q("pre-defined",{cmd:"import-preferred"},function(a){O(a,!1)})});return!1});a(b("@","reset_live")).on("click",function(){q("reset-live",{cmd:"reset-live"});return!1});a(b("@","create_table")).on("click",function(){z(d.msg[1],function(){S("create-table")});return!1});a(b("@","delete_table")).on("click",function(){z(d.msg[2],function(){S("delete-table")});return!1});a(b("#","show-info")).on("click",function(){a(b("#","wp-info")).empty();q("wp-info",{cmd:"show-info"},function(c){var d,e=[];for(d in c)c.hasOwnProperty(d)&&e.push("- "+d+" "+c[d]);a(b("#","wp-info")).html('<textarea class="regular-text code" rows="'+e.length+'">'+e.join("\n")+"</textarea>").find("textarea").select();return!1})});a('select[name^="'+g+'"]').on("change",function(){var c=a(this),d,e=b(".","desc");c.next(e).empty();(d=c.children("option:selected").data("desc"))&&c.next(e).html(a.parseHTML(d));N(c,c,g,!0);return!1}).change();a(b(".","icon-cycle")).on("click",function(){var c=a(this).nextAll("li"),d=c.find(b("@","exception_admin"));c=c.find("input:checkbox").filter(":visible");var e=c.filter(":checked").length;c.prop("checked",!e);if(d.length)if(e)d.val("");else{var f=[];c.each(function(b,c){f.push(a(c).val())});d.val(f.join(","))}a(this).blur();return!1});a(b(".","settings-folding>dfn")).on("click",function(){var c=b("drop"),d=a(this).parent();d.children(b(".","hide")).toggle();d.toggleClass(c+"up").toggleClass(c+"down");d.hasClass(c+"up")&&d.children("div").hide();return!1});a("#submit").on("click",function(){var c=a(b("@","signature")),d=c.val();-1!==d.indexOf(",")&&c.val(f.btoa(H(d)));return!0});break;case 1:V(c);var l=0;a(b("#","sort-slug")).on("click",function(){var b=a(this).closest("ol"),c=b.children("li");(l=!l)?c.sort(function(b,c){return a(b).text()>a(c).text()}):c.sort(function(b,c){return parseInt(a(b).text().replace(/^.*\((\d+)\)$/,"$1"),10)<=parseInt(a(c).text().replace(/^.*\((\d+)\)$/,"$1"),10)});b.children("li").remove();c.appendTo(b)});a(b("@","clear_statistics")).on("click",function(){z(d.msg[3],function(){M("statistics",null)});return!1});a(b("@","clear_logs")).on("click",function(){z(d.msg[5],function(){M("logs",null)});return!1});Y(c,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[6]},{title:d.i18n[7]},{title:d.i18n[8]},{title:d.i18n[9]}],columnDefs:[{responsivePriority:0,targets:0},{responsivePriority:1,targets:1},{responsivePriority:2,targets:2},{responsivePriority:6,targets:3},{responsivePriority:7,targets:4},{responsivePriority:3,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{className:"all",targets:[0,1,2,5]}]});break;case 4:var w={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},m={columns:[{title:'<input type="checkbox">'},{title:""},{title:d.i18n[10]},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[7]},{title:d.i18n[11]},{title:d.i18n[12]},{title:d.i18n[13]},{title:d.i18n[14]},{title:d.i18n[15]}],columnDefs:[{responsivePriority:11,targets:0},{responsivePriority:0,targets:1},{responsivePriority:1,targets:2},{responsivePriority:2,targets:3},{responsivePriority:3,targets:4},{responsivePriority:6,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{responsivePriority:7,targets:8},{responsivePriority:8,targets:9},{responsivePriority:9,targets:10},{responsivePriority:10,targets:11},{visible:!1,targets:1},{className:"all",targets:[0,2,3,4]},{className:"none",targets:[8,9,10,11]}]},p=null,v=null,C=a(b("#","live-loading")),r=null,P=function(){p&&(f.clearTimeout(p),p=null);v&&(C.removeClass(b("live-timer")),f.clearTimeout(v),v=null)},I=function(){P();q("live-loading",{cmd:"live-start"},function(a){if(a.error)D(null,a.error);else if(a.data.length){var b,c=a.data.length;for(b=0;b<c;b++)r.row.add(a.data[b]);r.draw(!1)}p=f.setTimeout(I,1E3*d.interval)})},E=function(a,b){P();q(null,{cmd:a||"live-stop",callback:b})},J=function(){E("live-pause",function(){C.addClass(b("live-timer"));v=f.setTimeout(function(){P();a(b("#","live-log-stop")).prop("checked",!0)},1E3*d.timeout)})},B=b(""),Z=function(b,c,d){-1===c[7].indexOf("pass")?a(b).addClass(B+d+"blocked"):a(b).addClass(B+d+"passed")},aa=a(b("#","live-log")),ba=a(b("#","live-update"));a(b("#","validation-logs")).on("animationend",function(){a(this).find('tr[class*="'+B+'new"]').each(function(){var b=a(this);-1!==b.prop("class").indexOf("passed")?b.addClass(B+"passed").removeClass(B+"new-passed"):b.addClass(B+"blocked").removeClass(B+"new-blocked")});return!1});aa.on("change",function(){switch(a('input[name="'+b("live-log")+'"]:checked').val()){case "start":I();break;case "pause":J();break;case "stop":E()}});ba.on("change",function(){var d=aa.closest("tr"),f=ba.prop("checked");e[c][1]=f?"o":"x";A(e);r&&r.clear().destroy();f?(d.show().next().next().next().nextAll().hide(),w.ajaxCMD="live-stop",m.order=[1,"desc"],m.createdRow=function(a,b){Z(a,b,"new-")}):(d.hide().next().next().next().nextAll().show(),w.ajaxCMD="restore-logs",m.order=[0,""],m.createdRow=function(a,b){Z(a,b,"")});a(b("#","live-log-stop")).trigger("click");r=Y(c,w,m);return!1}).trigger("change");W("export-logs");a(b("#","export-logs")).on("click",function(){a(b("#","export-form")).submit();return!1});break;case 2:a(f).on(b("gmap-error"),function(){q(null,{cmd:"gmap-error"},function(a){K(a.page,a.tab)})});var L=a(b("#","map"));"object"===typeof f.google?L.each(function(){a(this).GmapRS()}):L.each(function(){a(this).empty().html('<iframe src="'+d.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});a('select[id^="'+b("!","service")+'"]').on("change",function(){e[c][3]=a(this).prop("selectedIndex");A(e)}).change();a(b("@","get_location")).on("click",function(){var c=a(b("#","whois")),d=a.trim(a(b("@","ip_address")).val());if(d){a(b("@","anonymize")).prop("checked")&&(d=d.replace(/([\.:])\w{1,4}$/,"$10"),a(b("@","ip_address")).val(d));c.hide().empty();var e=a.whois(d,function(d){var e,f="";for(e=0;e<d.length;++e)f+="<tr><td>"+d[e].name+"</td><td>"+d[e].value+"</td></tr>";c.html('<fieldset id="'+b("section-1")+'" class="'+b("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+b("whois-title")+'" class="'+b("dropdown")+'">Whois</h3></legend><div class="panel-body '+b("border")+'"><table class="'+b("table")+'">'+f+"</table></div></fieldset>").fadeIn("slow");a(b("#","whois-title")).on("click",function(){var c=a(this);c.parent().nextAll().toggle();c.toggleClass(b("dropup")).toggleClass(b("dropdown"));return!1})});q("loading",{cmd:"search",ip:d,which:a(b("@","service")).val()},function(a){var c="",e=k(a.latitude||"0"),g=k(a.longitude||"0"),h=a.latitude||a.longitude?8:2;for(l in a)if(a.hasOwnProperty(l)){var l=k(l);c+='<li><span class="'+b("title")+'">'+l+' : </span><span class="'+b("result")+'">'+k(a[l])+"</span></li>"}"object"===typeof f.google?L.GmapRS("addMarker",{latitude:e,longitude:g,title:d,content:"<ul>"+c+"</ul>",show:!0,zoom:h}):L.css({height:"600px",backgroundColor:"transparent"}).empty().html('<ul style="margin-top:0; margin-left:1em;"><li><span class="'+b("title")+'">IP address : </span><span class="'+b("result")+'">'+k(d)+"</span></li>"+c+'</ul><iframe src="//maps.google.com/maps?q='+e+","+g+"&z="+h+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')},[e])}return!1});a(b("@","ip_address")).on("keypress",function(c){if(c.which&&13===c.which||c.keyCode&&13===c.keyCode)return a(b("@","get_location")).click(),!1});a(b("@","ip_address")).val()&&a(b("@","get_location")).click();break;case 5:V(c),a("input[name="+b("duration")+"]:radio").on("click",function(){var b=a('div[class*="paginate"]').find('a[class*="current"]').text();e[c][2]=a(this).val()||0;e[c][3]=e[c][3]||2;e[c][4]=e[c][4]||1;A(e);h.ajaxStacked(e[c][2],e[c][3],e[c][4],b-1)}),a(b("#","open-new")).on("change",function(){var d=a(this).prop("checked");e[c][1]=d?"o":"x";A(e);a(b("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",d?"_blank":"_self")})}),a(b("#","apply-layout")).on("click",function(){var d=a(b("#","select-layout"));e[c][3]=d.find('select[name="rows"] option:selected').val();e[c][4]=d.find('select[name="cols"] option:selected').val();A(e)}),a("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})})(jQuery,window,document);
3
  Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
  This software is released under the MIT License.
5
  */
6
+ (function(a,f,t){function b(a,b){var c={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return"undefined"!==typeof b?c[a]+b:c.$+a}function da(a){return a.toString().replace(/[&<>"']/g,function(a){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[a]}).replace(/&amp;(#\d{2,4}|\w{4,7});/g,"&$1;")}function k(a){return a?da(a.toString().replace(/(<([^>]+)>)/ig,"")):""}function E(b,e){var c=a(f).width();c!==J&&(J=c,"undefined"===typeof p[b]&&(p[b]={id:!1,callback:e}),a(f).off("resize").on("resize",function(){!1!==p[b].id&&f.clearTimeout(p[b].id);p[b].time=f.setTimeout(p[b].callback,200);return!1}))}function C(c,e){e?a(b("#",c)).addClass(b("loading")):a(b("#",c)).removeClass(b("loading"))}function z(a,b){f.confirm(k(a))&&b()}function D(a,b,g){f.alert(k(b||d.msg[12].replace("%s",g)+" ("+a+")"))}function K(a,b){-1!==f.location.href.indexOf(a)&&(f.location=k(a)+(b?"&"+k(b):"")+"&ip-geo-block-auth-nonce="+F.nonce)}function q(b,e,g,l){b&&C(b,!0);e.action=d.action;e.nonce=d.nonce;a.post(d.url,e).done(function(a){g&&g(a)}).fail(function(a){S||D(a.status,a.responseText,e.action)}).always(function(){b&&("object"===typeof l?a.when.apply(a,l).then(function(){C(b,!1)}):C(b,!1))})}function M(a,b){q(a,{cmd:"clear-"+a,which:b},function(a){K(a.page,a.tab)})}function T(a){q(a,{cmd:a},function(a){K(a.page,a.tab)})}function x(a){a.stopImmediatePropagation();return!1}function G(a,e){e?a.removeClass("folding-disable"):(a.children(b(".","hide")).hide(),a.addClass("folding-disable"),a.removeClass(b("dropdown")).addClass(b("dropup")))}function N(c,e,g){var l=0===c.prop("type").indexOf("checkbox")&&c.is(":checked")||0===c.prop("type").indexOf("select")&&"0"!==c.val();c.siblings('input[name^="'+b("%","settings")+'"]:checkbox').prop("disabled",!l);a.isArray(e)?a.each(e,function(c,e){a(e).nextAll(b(".","settings-folding")).each(function(b,e){G(a(e),l&&g[c])})}):e.nextAll(b(".","settings-folding")).each(function(b,c){G(a(c),l&&g)})}function U(c){var e=b("@","validation_ajax_");G(c.closest("ul").next(),a(e+"1").is(":checked")||a(e+"2").is(":checked"))}function H(a){return String(a).replace(/[a-z]/gi,function(a){return String.fromCharCode(a.charCodeAt(0)+("n">a.toLowerCase()?13:-13))})}function ea(a,b){var c=new f.FileReader;c.onload=function(a){b&&b(a.target.result)};c.onerror=function(a){D("Error",a.target.error.code)};c.readAsText(a)}function V(c){var e=c.is(":checked"),g=a(b("@","public_target_rule")),l=a(b("@","public_behavior")),d=c.closest("tr").nextAll("tr");d.find('[name^="'+b("%","settings")+'"]').prop("disabled",!e);d.find(b(".","desc")).css("opacity",e?1:.5);N(c,[g,l],["1"===g.val()?!0:!1,l.val()]);e&&l.change()}function O(c,e){c&&("string"===typeof c&&(c=JSON.parse(c)),e&&(a('input[type="checkbox"]').prop("checked",!1).change(),a("input[name*=providers]").prop("disabled",!1).change()),a(b("#","import")).closest("form").deserialize(c),a(b("@","exception_admin")+","+b("@","validation_mimetype")).change(),a('select[name*="'+b("%","settings")+'"]').change(),a(b("@","validation_login")).change(),V(a(b("@","validation_public"))),U(a(b("@","validation_ajax_1"))),e&&(e=b("%","settings[providers][IPInfoDB]"),a(b("@","providers_IPInfoDB")).prop("checked",c[e]?!0:!1)))}function fa(a,b){var c=Math.ceil(a.length/b),e=[],d;for(d=0;d<c;++d){var m=d*b;e.push(a.slice(m,m+b))}return e}function v(c){"object"===typeof f.google&&(1===c?a(b("#","chart-countries")).length&&(h.drawPie(b("chart-countries")),h.drawLine(b("chart-daily"),"date")):5===c&&a(b(".","network")).each(function(b,c){h.drawStacked(a(c).attr("id"))}))}function W(a){if("object"===typeof f.google){var b=["corechart"];5===a&&b.push("bar");f.google.load("visualization","1",{packages:b,callback:function(){v(a)}});E("draw-chart."+a,function(){v(a)})}}function ha(a){var b,c="undefined"!==typeof wpCookies&&wpCookies.getHash("ip-geo-block")||[];for(b in c)c.hasOwnProperty(b)&&(c[b]=c[b].replace(/[^ox\d]/g,"").split(""));"undefined"===typeof c[a]&&(c[a]=[]);return c}function A(b){var c,g,d=[];a.each(b,function(a,b){d[a]="";if("undefined"!==typeof b&&(g=b.length))for(d[a]=b[0]||"o",c=1;c<g;++c)d[a]+=b[c]||"o"});"undefined"!==typeof wpCookies&&wpCookies.setHash("ip-geo-block",d,new Date(Date.now()+2592E6),F.home+F.admin)}function ia(c){var e=ha(c);a("form").on("click","h2,h3 a",function(){f.open(this.href,null);return!1}).on("click","h2,h3",function(){var d=a(this),l=d.closest("fieldset").data("section"),f=d.parent().nextAll(".panel-body").toggle();d.toggleClass(b("dropup")).toggleClass(b("dropdown"));(d=d.hasClass(b("dropdown")))?f.addClass(b("border")).trigger(b("show-body")):f.removeClass(b("border"));e[c][l]=d?"o":"x";A(e);v(c);return!1});a(b("#","toggle-sections")).on("click",function(){var d,l=a(b(".","field")).find("h2,h3"),f=[b("dropdown"),b("dropup")],m=l.filter("."+f[0]).length;l.each(function(g){d=a(this);d.removeClass(f.join(" ")).addClass(m?f[1]:f[0]);d=d.parent().nextAll(".panel-body").toggle(m?!1:!0);m?d.removeClass(b("border")):d.addClass(b("border")).trigger("show-body");e[c][g]=m?"x":"o"});A(e);v(c);return!1});return e}function P(c){a("body").append('<div style="display:none"><form method="POST" id="'+b("export-form")+'" action="'+d.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+d.action+'" /><input type="hidden" name="nonce" value="'+d.nonce+'" /><input type="hidden" name="cmd" value="'+c+'" /><input type="hidden" name="data" value="" id="'+b("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+b("file-dialog")+'" /></div>')}function X(a,b,d,f){a=a.cloneNode(!1);a.setAttribute("title",k(d));b=b.cloneNode(!1);b.setAttribute("class","dashicons dashicons-"+f);a.appendChild(b);return a}function Y(c,e,g){a.extend(!0,a.fn.dataTable.defaults,g,{dom:"tp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,deferLoading:10,info:!1,lengthChange:!1,language:{emptyTable:d.i18n[1],loadingRecords:d.i18n[0],processing:d.i18n[0],zeroRecords:d.i18n[2],paginate:{first:"&laquo;",last:"&raquo;",next:"&rsaquo;",previous:"&lsaquo;"}},responsive:{details:{type:"column",target:"td:nth-child(n+2)"}},columnDefs:[{width:"1.25em",targets:0},{orderable:!1,targets:0},{searchable:!1,targets:0},{targets:[0],data:null,defaultContent:'<input type="checkbox">'}],pagingType:"full_numbers",pageLength:10,scroller:!0,scrollY:1E4,scrollCollapse:!0,drawCallback:function(c){var f=a(b("#",e.tableID)).find("td.dataTables_empty"),g="restore-logs"===e.ajaxCMD?3:2;g>c.iDraw?f.html(d.i18n[0]):g===c.iDraw&&(f.html(d.i18n[1]),f=a(b("@","search_filter")),f.val()&&f.trigger("keyup"))}});var l=a(b("#",e.tableID)).DataTable({ajax:{url:d.url,type:"POST",data:{cmd:e.ajaxCMD,action:d.action,nonce:d.nonce}},mark:!0}),h=function(){l.columns.adjust().responsive.recalc().draw(!1)};E("draw-table."+c,h);a(b("#",e.sectionID)).find(".panel-body").off(b("show-body")).on(b("show-body"),function(){h();return!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var c=a(this).prop("checked");a(b("#",e.tableID)).find('td>input[type="checkbox"]').prop("checked",c);return!1});a(b("#","select-target")).off("change").on("change",function(){var c=a(this).find('input[name="'+b("target")+'"]:checked').val();l.columns(e.targetColumn).search("all"!==c?c:"").draw();return!1}).trigger("change");a(b("#","bulk-action")).off("click").on("click",function(){var f=a(this).prev().val(),g=/(<([^>]+)>)/ig,h=/data-hash=[\W]([\w]+)[\W]/i,k={IP:[],AS:[]},r,w,I=a("table.dataTable").find("td>input:checked");if(!f)return!1;if(!I.length)return D(null,d.msg[11]),!1;I.each(function(){w=l.cell(this.parentNode).data();r="bulk-action-remove"===f||"bulk-action-ip-erase"===f?(r=w[e.columnIP].match(h))?","+r[1]:"":"";k.IP.push(w[e.columnIP].replace(g,"")+r);k.AS.push(w[e.columnAS].replace(g,""))});k.IP.length&&q("loading",{cmd:f,which:k},function(d){"undefined"!==typeof d.page?K(d.page,"tab="+c):d&&(l.ajax.reload(),a(b("#",e.tableID)).find('th input[type="checkbox"]').prop("checked",!1))});return!1});a(b("@","search_filter")).off("keyup").on("keyup",function(){l.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw();return!1});a(b("#","reset-filter")).off("click").on("click",function(){a(b("@","search_filter")).val("");l.search("").draw();return!1});a(b("@","clear_all")).off("click").on("click",function(){z(d.msg[1===c?4:5],function(){M(1===c?"cache":"logs",null)});return!1});a("table.dataTable tbody").on("click","a",function(){var b=f.location.search.slice(1).split("&"),e=b.length,d={},g;for(g=0;g<e;++g){var l=b[g].split("=");d[l[0]]=l[1]}d.tab=1===c?4:2;d.s=a(this).text().replace(/[^\w\.:\*]/,"");l=[];for(g in d)d.hasOwnProperty(g)&&l.push(g+"="+d[g]);f.open(f.location.pathname+"?"+l.join("&"),"_blank");return!1});return l}var S=!1,p=[],J=a(f).width(),d=IP_GEO_BLOCK,F=IP_GEO_BLOCK_AUTH;a.fn.deserialize=function(b){return this.each(function(){var c,d=this,f={};for(c in b)if(b.hasOwnProperty(c))try{var h=decodeURIComponent(c);var k=decodeURIComponent(b[c]);f.hasOwnProperty(h)||(f[h]=[]);f[h].push(k)}catch(ja){}a.each(f,function(b,e){c=a('[name="'+b+'"]:input',d).val(e);"hidden"!==c.attr("type")&&c.before('<span style="color:red">*</span>')})})};var h={dataPie:[],viewPie:[],drawPie:function(b){if("undefined"===typeof h.dataPie[b]){var c=h.dataPie[b]=new f.google.visualization.DataTable;c.addColumn("string","Country");c.addColumn("number","Requests");c=a.parseJSON(a("#"+b).attr("data-"+b));h.dataPie[b].addRows(c)}"undefined"===typeof h.viewPie[b]&&(h.viewPie[b]=new f.google.visualization.PieChart(t.getElementById(b)));"undefined"!==typeof h.dataPie[b]&&"undefined"!==typeof h.viewPie[b]&&0<a("#"+b).width()&&h.viewPie[b].draw(h.dataPie[b],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(b,d){if("undefined"===typeof h.dataLine[b]){var c=h.dataLine[b]=new f.google.visualization.DataTable;c.addColumn(d,"Date");c.addColumn("number","comment");c.addColumn("number","xmlrpc");c.addColumn("number","login");c.addColumn("number","admin");c.addColumn("number","public");var e=a.parseJSON(a("#"+b).attr("data-"+b));var k=e.length;for(c=0;c<k;++c)e[c][0]=new Date(1E3*e[c][0]);h.dataLine[b].addRows(e)}"undefined"===typeof h.viewLine[b]&&(h.viewLine[b]=new f.google.visualization.LineChart(t.getElementById(b)));"undefined"!==typeof h.dataLine[b]&&"undefined"!==typeof h.viewLine[b]&&0<(c=a("#"+b).width())&&h.viewLine[b].draw(h.dataLine[b],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===d?" HH:mm":"")},vAxis:{textPosition:320<c?"out":"in"},chartArea:{left:320<c?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(c){var d,g,l=a("#"+c);"undefined"===typeof h.dataStacked[c]&&(g=a.parseJSON(l.attr("data-"+c)))&&(g.unshift(["site","comment","xmlrpc","login","admin","poblic",{role:"link"}]),h.dataStacked[c]=f.google.visualization.arrayToDataTable(g));"undefined"===typeof h.viewStacked[c]&&(h.viewStacked[c]=new f.google.visualization.BarChart(t.getElementById(c)),f.google.visualization.events.addListener(h.viewStacked[c],"animationfinish",function(){var d,e,f,g=[],k=h.dataStacked[c],m=k.getNumberOfRows(),q=a(b("#","open-new")).prop("checked");for(d=0;d<m;d++)g.push({label:k.getValue(d,0),link:k.getValue(d,6)});m="http://www.w3.org/1999/xlink";l.find("text").each(function(a,b){f=b.parentNode;var c;if(c="g"===f.tagName.toLowerCase()){a:{c=b.textContent;var d,k=g.length;c=c.replace("\u2026","");for(d=0;d<k;++d)if(g.hasOwnProperty(d)&&0===g[d].label.indexOf(c)){c=d;break a}c=-1}c=-1!==(a=c)}c&&(e=t.createElementNS("http://www.w3.org/2000/svg","a"),e.setAttributeNS(m,"xlink:href",g[a].link),e.setAttributeNS(m,"title",g[a].label),e.setAttribute("target",q?"_blank":"_self"),e.setAttribute("class","site"),e.appendChild(f.removeChild(b)),f.appendChild(e),g.splice(a,1))})}));if(0<(d=l.width())&&"undefined"!==typeof h.dataStacked[c]&&"undefined"!==typeof h.viewStacked[c]){var k=b("range");var m=a.parseJSON(a("."+k).attr("data-"+k));g=h.dataStacked[c];k=40*g.getNumberOfRows();h.viewStacked[c].draw(g,{width:d,height:k+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:k},hAxis:{minValue:0,maxValue:m[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}})}},ajaxStacked:function(c,d,f,k){c=Math.max(0,Math.min(4,c));d=5*Math.max(1,Math.min(5,d));q(null,{cmd:"restore-network",which:c,offset:d*f*k,length:d},function(c){var e,f,g,k,l;c=fa(c,d);a(b(".","network")).each(function(b,m){if("undefined"!==typeof c[b]){k=a(m).attr("id");l=h.dataStacked[k];g=Math.min(d,c[b].length);for(e=0;e<g;++e)for(f=1;5>=f;f++)l.setValue(e,f,c[b][e][f]);h.drawStacked(k)}})})}};a(function(){var c=Number(d.tab)||0,e=ia(c);a(b(".","inhibit")).on("submit",function(){return!1});a(f).on("beforeunload",function(){S=!0});switch(c){case 0:var g=b("%","settings");a('[id^="'+b("scan-")+'"]').on("click",function(){var c=a(this),d=c.attr("id"),e=c.parent();q(d.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:d.replace(b("scan-"),"")},function(a){e.children("ul").length||e.append('<ul id="'+b("code-list")+'"></ul>');e=e.children("ul").empty();for(c in a)if(a.hasOwnProperty(c)){var c=k(c);if("string"===typeof a[c])var d=k(a[c]);else d=k(a[c].code),c='<abbr title="'+k(a[c].type)+'">'+c+"</abbr>";e.append("<li>"+c+' : <span class="'+b("notice")+'">'+d+"</span></li>")}e.show("slow")});return!1});a(b("@","matching_rule")).on("change",function(){var c=this.value;a(b("@","white_list")).closest("tr").toggle("0"===c);a(b("@","black_list")).closest("tr").toggle("1"===c);return!1}).change();a(b(".","icon-cidr")).on("click",function(){var c=a(b("#","admin-styles-css")).get(0).href,d=f.open("about:blank","","width=560,height=170");c=c.slice(0,c.lastIndexOf("css/"));d.document.write('<!DOCTYPE html><html lang=en><meta charset=utf-8><title>CIDR calculator for IPv4 / IPv6</title><link href="'+c+'css/cidr.min.css?v=.1" rel=stylesheet><div class="row container"><div class=row id=i><fieldset class="col span_11"><legend>Range <input id=a type=button value=Clear tabindex=1></legend><textarea id=c name=range placeholder="192.168.0.0 - 192.168.255.255" rows=5 wrap=off tabindex=2></textarea></fieldset><ul class="col span_2" id=h><li class=row><input id=e type=button value=&rarr; class="col span_24" tabindex=3><li class=row><input id=f type=button value=&larr; class="col span_24" tabindex=6></ul><fieldset class="col span_11"><legend>CIDR <input id=b type=button value=Clear tabindex=4></legend><textarea id=d name=cidr placeholder=192.168.0.0/16 rows=5 wrap=off tabindex=5></textarea></fieldset></div><div class=row id=j><span class=col id=g>\u00a0</span></div></div><script src="'+c+'js/cidr.min.js?v=.1">\x3c/script>');d.document.close();return!1});a(b("@","validation_mimetype")).on("change",function(c){var d=a(this),n=parseInt(d.val(),10);d.nextAll(b(".","settings-folding")).each(function(b,c){G(a(c),n===b+1||n&&2===b)});return x(c)}).change();a('select[name*="response_code"]').on("change",function(c){var d=a(this),n=parseInt(d.val()/100,10),e=d.closest("tr").nextAll("tr");if(0<=d.attr("name").indexOf("public")&&-1===parseInt(a(b("@","public_matching_rule")).val(),10))return e.each(function(b){1>=b&&a(this).hide()}),x(c);3>=n?e.each(function(b){0===b?a(this).show():1===b&&a(this).hide()}):e.each(function(b){0===b?a(this).hide():1===b&&a(this).show()});return x(c)}).change();a(b("#","decode")).on("click",function(){var c=a(b("@","signature")),d=c.val();-1===d.search(/,/)?c.val(H(f.atob(d))):c.val(f.btoa(H(d)));return!1});a(b("@","validation_login")).on("change",function(b){var c=a(this);N(c,c,g,!0);return x(b)}).change();q(null,{cmd:"get-actions"},function(c){var e,n=a(b("#","list-admin")),f=t.createElement("li"),g=t.createElement("input"),h=t.createElement("label"),l=t.createElement("dfn"),m=t.createElement("span");for(y in c)if(c.hasOwnProperty(y)){var y=k(y);if(!n.find("#"+(e=b("!","exception_admin_"+y))).size()){var p=g.cloneNode(!1);p.setAttribute("id",e);p.setAttribute("value",y);p.setAttribute("type","checkbox");var r=f.cloneNode(!1);r.appendChild(p);p=h.cloneNode(!1);p.setAttribute("for",e);p.appendChild(t.createTextNode(y));r.appendChild(p);1&c[y]&&r.appendChild(X(l,m,d.msg[6],"lock"));2&c[y]&&r.appendChild(X(l,m,d.msg[7],"unlock"));n.append(r)}}a(b(".","icon-unlock")).on("click",function(){a(b("#","list-admin")+">li").filter(function(){return!a(this).find(".dashicons-unlock").length}).toggle();return!1});a(b("@","exception_admin")).on("change",function(c){var d=a.grep(a(this).val().split(","),function(a){return""!==a.replace(/^\s+|\s+$/g,"")});a(b("#","list-admin")).find("input").each(function(){var b=a(this),c=b.val();b.prop("checked",-1!==a.inArray(c,d))});return x(c)}).change();a(b("#","list-admin")).on("click","input",function(){var c=a(this);var d=a(b("@","exception_admin")),e=c.val(),n=a.grep(d.val().split(","),function(a){return""!==a.replace(/^\s+|\s+$/g,"")});c=a.inArray(e,n);-1===c?n.push(e):n.splice(c,1);d.val(n.join(",")).change()});a(b(".","icon-find")).on("click",function(){var c=a(this),e=[],n=0,f,ca,g,h,l=k(d.msg[9]),u=k(c.data("target"));a(b("#","find-"+u)).empty();c.next().children(b(".","find-desc")).show();c=a(b("#","list-"+u));c.children("li").each(function(b,c){e.push(a(c).find("input").val())});q("find-"+u,{cmd:"find-"+u},function(R){for(var m in R)R.hasOwnProperty(m)&&(++n,f=k(R[m]),m=k(m),ca=a.inArray(m,e),g=b("!","exception_"+u+"_"+m),h="admin"===u?f+"="+m:"/"+f+"/"+m+"/",h='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="'+F.sites[0]+F.admin+"options-general.php?page=ip-geo-block&tab=4&s="+encodeURIComponent(h)+'" title="'+l.replace("%s",h)+'" target="_blank"><span></span></a>',0>ca?(e.push(m),c.prepend('<li><input id="'+g+'" value="'+m+'" type="checkbox" '+("admin"===u?"/>":"name=ip_geo_block_settings[exception]["+u+"]["+m+"] />")+'<label for="'+g+'">'+m+"</lable>"+h+"</li>")):(g=c.find("#"+g).parent(),g.find("a").length||g.append(h)));a(b("@","exception_"+u)).trigger("change");a(b("#","find-"+u)).append(' <span class="ip-geo-block-warn">'+k(d.msg[8].replace("%d",n))+"</span>")});return!1})});a('input[id^="'+b("!","validation_ajax_")+'"]').on("change",function(){U(a(this))}).change();a(b("@","validation_public")).on("change",function(b){V(a(this));return x(b)}).change();a(b("@","public_matching_rule")).on("change",function(c){var d=this.value;a(b("@","public_white_list")).closest("tr").toggle("0"===d);a(b("@","public_black_list")).closest("tr").toggle("1"===d);a(b("@","public_response_code")).change().closest("tr").toggle("-1"!==d);return x(c)}).change();a(b("@","public_behavior")).on("change",function(b){var c=a(this);G(c.siblings("ul"),c.prop("checked"));return x(b)}).change();a(b("@","update")).on("click",function(){q("download",{cmd:"download"},function(c){var d;for(d in c)if(c.hasOwnProperty(d)){var e=c[d];for(n in e)if(e.hasOwnProperty(n)){var n=k(n);e[n].filename&&a(b("@",d+"_"+n+"_path")).val(k(e[n].filename));e[n].message&&a(b("#",d+"-"+n)).text(k(e[n].message))}}});return!1});a(b("@","anonymize")).on("change",function(){a('input[class*="remote"]').prop("disabled",a(this).prop("checked"))}).trigger("change");a(b("@","save_statistics")).on("change",function(){a(b("@","validation_recdays")).prop("disabled",!a(this).prop("checked"));return!1}).trigger("change");a(b("@","validation_reclogs")).on("change",function(){var b=a(this);b.parent().parent().nextAll().find('input[id*="validation"]').prop("disabled",0===Number(b.prop("selectedIndex")))}).trigger("change");a(b("@","cache_hold")).on("change",function(){var b=a(this).prop("checked");a('input[name*="[cache_time]"]').prop("disabled",!b);a('select[id*="login_fails"]').prop("disabled",!b)}).trigger("change");a(b("@","comment_pos")).on("change",function(){var b=a(this);b.nextAll('input[type="text"]').prop("disabled",0===Number(b.prop("selectedIndex")))}).trigger("change");P("validate");a(b("#","export")).on("click",function(){if("undefined"===typeof JSON)return D(null,k(d.msg[10])),!1;var c=g,e={};a.each(a(this).closest("form").serializeArray(),function(a,b){-1!==b.name.indexOf(c)&&(e[b.name]=b.value)});e[c+="[signature]"]=f.btoa(H(e[c]));a(b("#","export-data")).val(JSON.stringify(e));a(b("#","export-form")).submit();return!1});a(b("#","file-dialog")).on("change",function(a){if("undefined"===typeof f.FileReader)return D(null,k(d.msg[10])),!1;var b;(a=a.target.files[0])&&ea(a,function(a){a=JSON.parse(a);b=g+"[signature]";"undefined"!==typeof a[b]&&(a[b]=f.btoa(H(a[b])));q("export-import",{cmd:"validate",data:JSON.stringify(a)},function(a){O(a,!0)})});return!1});a(b("#","import")).on("click",function(){a(b("#","file-dialog")).click();return!1});a(b("#","default")).on("click",function(){z(d.msg[0],function(){q("pre-defined",{cmd:"import-default"},function(a){O(a,!0)})});return!1});a(b("#","preferred")).on("click",function(){z(d.msg[0],function(){q("pre-defined",{cmd:"import-preferred"},function(a){O(a,!1)})});return!1});a(b("@","reset_live")).on("click",function(){q("reset-live",{cmd:"reset-live"});return!1});a(b("@","create_table")).on("click",function(){z(d.msg[1],function(){T("create-table")});return!1});a(b("@","delete_table")).on("click",function(){z(d.msg[2],function(){T("delete-table")});return!1});a(b("#","show-info")).on("click",function(){a(b("#","wp-info")).empty();q("wp-info",{cmd:"show-info"},function(c){var d,e=[];for(d in c)c.hasOwnProperty(d)&&e.push("- "+d+" "+c[d]);a(b("#","wp-info")).html('<textarea class="regular-text code" rows="'+e.length+'">'+e.join("\n")+"</textarea>").find("textarea").select();return!1})});a('select[name^="'+g+'"]').on("change",function(){var c=a(this),d,e=b(".","desc");c.next(e).empty();(d=c.children("option:selected").data("desc"))&&c.next(e).html(a.parseHTML(d));N(c,c,g,!0);return!1}).change();a(b(".","icon-cycle")).on("click",function(){var c=a(this).nextAll("li"),d=c.find(b("@","exception_admin"));c=c.find("input:checkbox").filter(":visible");var e=c.filter(":checked").length;c.prop("checked",!e);if(d.length)if(e)d.val("");else{var f=[];c.each(function(b,c){f.push(a(c).val())});d.val(f.join(","))}a(this).blur();return!1});a(b(".","settings-folding>dfn")).on("click",function(){var c=b("drop"),d=a(this).parent();d.children(b(".","hide")).toggle();d.toggleClass(c+"up").toggleClass(c+"down");d.hasClass(c+"up")&&d.children("div").hide();return!1});a("#submit").on("click",function(){var c=a(b("@","signature")),d=c.val();-1!==d.indexOf(",")&&c.val(f.btoa(H(d)));return!0});break;case 1:W(c);var l=0;a(b("#","sort-slug")).on("click",function(){var b=a(this).closest("ol"),c=b.children("li");(l=!l)?c.sort(function(b,c){return a(b).text()>a(c).text()}):c.sort(function(b,c){return parseInt(a(b).text().replace(/^.*\((\d+)\)$/,"$1"),10)<=parseInt(a(c).text().replace(/^.*\((\d+)\)$/,"$1"),10)});b.children("li").remove();c.appendTo(b)});a(b("@","clear_statistics")).on("click",function(){z(d.msg[3],function(){M("statistics",null)});return!1});a(b("@","clear_logs")).on("click",function(){z(d.msg[5],function(){M("logs",null)});return!1});Y(c,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[6]},{title:d.i18n[7]},{title:d.i18n[8]},{title:d.i18n[9]}],columnDefs:[{responsivePriority:0,targets:0},{responsivePriority:1,targets:1},{responsivePriority:2,targets:2},{responsivePriority:6,targets:3},{responsivePriority:7,targets:4},{responsivePriority:3,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{className:"all",targets:[0,1,2,5]}]});P("export-cache");a(b("#","export-cache")).on("click",function(){a(b("#","export-form")).submit();return!1});break;case 4:var w={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},m={columns:[{title:'<input type="checkbox">'},{title:""},{title:d.i18n[10]},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[7]},{title:d.i18n[11]},{title:d.i18n[12]},{title:d.i18n[13]},{title:d.i18n[14]},{title:d.i18n[15]}],columnDefs:[{responsivePriority:11,targets:0},{responsivePriority:0,targets:1},{responsivePriority:1,targets:2},{responsivePriority:2,targets:3},{responsivePriority:3,targets:4},{responsivePriority:6,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{responsivePriority:7,targets:8},{responsivePriority:8,targets:9},{responsivePriority:9,targets:10},{responsivePriority:10,targets:11},{visible:!1,targets:1},{className:"all",targets:[0,2,3,4]},{className:"none",targets:[8,9,10,11]}]},p=null,v=null,C=a(b("#","live-loading")),r=null,Q=function(){p&&(f.clearTimeout(p),p=null);v&&(C.removeClass(b("live-timer")),f.clearTimeout(v),v=null)},I=function(){Q();q("live-loading",{cmd:"live-start"},function(a){if(a.error)D(null,a.error);else if(a.data.length){var b,c=a.data.length;for(b=0;b<c;b++)r.row.add(a.data[b]);r.draw(!1)}p=f.setTimeout(I,1E3*d.interval)})},E=function(a,b){Q();q(null,{cmd:a||"live-stop",callback:b})},J=function(){E("live-pause",function(){C.addClass(b("live-timer"));v=f.setTimeout(function(){Q();a(b("#","live-log-stop")).prop("checked",!0)},1E3*d.timeout)})},B=b(""),Z=function(b,c,d){-1===c[7].indexOf("pass")?a(b).addClass(B+d+"blocked"):a(b).addClass(B+d+"passed")},aa=a(b("#","live-log")),ba=a(b("#","live-update"));a(b("#","validation-logs")).on("animationend",function(){a(this).find('tr[class*="'+B+'new"]').each(function(){var b=a(this);-1!==b.prop("class").indexOf("passed")?b.addClass(B+"passed").removeClass(B+"new-passed"):b.addClass(B+"blocked").removeClass(B+"new-blocked")});return!1});aa.on("change",function(){switch(a('input[name="'+b("live-log")+'"]:checked').val()){case "start":I();break;case "pause":J();break;case "stop":E()}});ba.on("change",function(){var d=aa.closest("tr"),f=ba.prop("checked");e[c][1]=f?"o":"x";A(e);r&&r.clear().destroy();f?(d.show().next().next().next().nextAll().hide(),w.ajaxCMD="live-stop",m.order=[1,"desc"],m.createdRow=function(a,b){Z(a,b,"new-")}):(d.hide().next().next().next().nextAll().show(),w.ajaxCMD="restore-logs",m.order=[0,""],m.createdRow=function(a,b){Z(a,b,"")});a(b("#","live-log-stop")).trigger("click");r=Y(c,w,m);return!1}).trigger("change");P("export-logs");a(b("#","export-logs")).on("click",function(){a(b("#","export-form")).submit();return!1});break;case 2:a(f).on(b("gmap-error"),function(){q(null,{cmd:"gmap-error"},function(a){K(a.page,a.tab)})});var L=a(b("#","map"));"object"===typeof f.google?L.each(function(){a(this).GmapRS()}):L.each(function(){a(this).empty().html('<iframe src="'+d.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});a('select[id^="'+b("!","service")+'"]').on("change",function(){e[c][3]=a(this).prop("selectedIndex");A(e)}).change();a(b("@","get_location")).on("click",function(){var c=a(b("#","whois")),d=a.trim(a(b("@","ip_address")).val());if(d){a(b("@","anonymize")).prop("checked")&&(d=d.replace(/([\.:])\w{1,4}$/,"$10"),a(b("@","ip_address")).val(d));c.hide().empty();var e=a.whois(d,function(d){var e,f="";for(e=0;e<d.length;++e)f+="<tr><td>"+d[e].name+"</td><td>"+d[e].value+"</td></tr>";c.html('<fieldset id="'+b("section-1")+'" class="'+b("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+b("whois-title")+'" class="'+b("dropdown")+'">Whois</h3></legend><div class="panel-body '+b("border")+'"><table class="'+b("table")+'">'+f+"</table></div></fieldset>").fadeIn("slow");a(b("#","whois-title")).on("click",function(){var c=a(this);c.parent().nextAll().toggle();c.toggleClass(b("dropup")).toggleClass(b("dropdown"));return!1})});q("loading",{cmd:"search",ip:d,which:a(b("@","service")).val()},function(a){var c="",e=k(a.latitude||"0"),g=k(a.longitude||"0"),h=a.latitude||a.longitude?8:2;for(l in a)if(a.hasOwnProperty(l)){var l=k(l);c+='<li><span class="'+b("title")+'">'+l+' : </span><span class="'+b("result")+'">'+k(a[l])+"</span></li>"}"object"===typeof f.google?L.GmapRS("addMarker",{latitude:e,longitude:g,title:d,content:"<ul>"+c+"</ul>",show:!0,zoom:h}):L.css({height:"600px",backgroundColor:"transparent"}).empty().html('<ul style="margin-top:0; margin-left:1em;"><li><span class="'+b("title")+'">IP address : </span><span class="'+b("result")+'">'+k(d)+"</span></li>"+c+'</ul><iframe src="//maps.google.com/maps?q='+e+","+g+"&z="+h+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')},[e])}return!1});a(b("@","ip_address")).on("keypress",function(c){if(c.which&&13===c.which||c.keyCode&&13===c.keyCode)return a(b("@","get_location")).click(),!1});a(b("@","ip_address")).val()&&a(b("@","get_location")).click();break;case 5:W(c),a("input[name="+b("duration")+"]:radio").on("click",function(){var b=a('div[class*="paginate"]').find('a[class*="current"]').text();e[c][2]=a(this).val()||0;e[c][3]=e[c][3]||2;e[c][4]=e[c][4]||1;A(e);h.ajaxStacked(e[c][2],e[c][3],e[c][4],b-1)}),a(b("#","open-new")).on("change",function(){var d=a(this).prop("checked");e[c][1]=d?"o":"x";A(e);a(b("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",d?"_blank":"_self")})}),a(b("#","apply-layout")).on("click",function(){var d=a(b("#","select-layout"));e[c][3]=d.find('select[name="rows"] option:selected').val();e[c][4]=d.find('select[name="cols"] option:selected').val();A(e)}),a("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})})(jQuery,window,document);
classes/class-ip-geo-block-cron.php CHANGED
@@ -178,7 +178,12 @@ class IP_Geo_Block_Cron {
178
  */
179
  public static function exec_cache_gc( $settings ) {
180
  self::stop_cache_gc();
181
- IP_Geo_Block_Logs::delete_cache_expired( $settings['cache_time'] );
 
 
 
 
 
182
  self::start_cache_gc( $settings );
183
  }
184
 
@@ -186,7 +191,7 @@ class IP_Geo_Block_Cron {
186
  $settings or $settings = IP_Geo_Block::get_option();
187
 
188
  if ( ! wp_next_scheduled( IP_Geo_Block::CACHE_NAME ) )
189
- wp_schedule_single_event( time() + $settings['cache_time_gc'], IP_Geo_Block::CACHE_NAME );
190
  }
191
 
192
  public static function stop_cache_gc() {
178
  */
179
  public static function exec_cache_gc( $settings ) {
180
  self::stop_cache_gc();
181
+
182
+ IP_Geo_Block_Logs::delete_expired( array(
183
+ $settings['validation']['explogs'],
184
+ $settings['cache_time']
185
+ ) );
186
+
187
  self::start_cache_gc( $settings );
188
  }
189
 
191
  $settings or $settings = IP_Geo_Block::get_option();
192
 
193
  if ( ! wp_next_scheduled( IP_Geo_Block::CACHE_NAME ) )
194
+ wp_schedule_single_event( time() + max( $settings['cache_time_gc'], MINUTE_IN_SECONDS ), IP_Geo_Block::CACHE_NAME );
195
  }
196
 
197
  public static function stop_cache_gc() {
classes/class-ip-geo-block-logs.php CHANGED
@@ -964,14 +964,14 @@ class IP_Geo_Block_Logs {
964
  * Delete expired cache
965
  *
966
  */
967
- public static function delete_cache_expired( $cache_time ) {
968
  global $wpdb;
969
- $table = $wpdb->prefix . IP_Geo_Block::CACHE_NAME;
970
-
971
- $sql = $wpdb->prepare( "DELETE FROM `$table` WHERE `time` < %d", $_SERVER['REQUEST_TIME'] - $cache_time )
972
- and $result = ( FALSE !== $wpdb->query( $sql ) ) or self::error( __LINE__ );
973
 
974
- return isset( $result ) ? $result : FALSE;
 
 
 
 
975
  }
976
 
977
  /**
964
  * Delete expired cache
965
  *
966
  */
967
+ public static function delete_expired( $expired ) {
968
  global $wpdb;
 
 
 
 
969
 
970
+ foreach ( array( self::TABLE_LOGS, IP_Geo_Block::CACHE_NAME ) as $key => $table ) {
971
+ $table = $wpdb->prefix . $table;
972
+ $sql = $wpdb->prepare( "DELETE FROM `$table` WHERE `time` < %d", $_SERVER['REQUEST_TIME'] - $expired[ $key ] )
973
+ and FALSE !== $wpdb->query( $sql ) or self::error( __LINE__ );
974
+ }
975
  }
976
 
977
  /**
classes/class-ip-geo-block-opts.php CHANGED
@@ -16,7 +16,7 @@ class IP_Geo_Block_Opts {
16
  *
17
  */
18
  private static $option_table = array(
19
- 'version' => '3.0.11',// Version of this table (not package)
20
  // since version 1.0
21
  'providers' => array(), // List of providers and API keys
22
  'comment' => array( // Message on the comment form
@@ -29,9 +29,9 @@ class IP_Geo_Block_Opts {
29
  'timeout' => 30, // Timeout in second
30
  'response_code' => 403, // Response code
31
  'save_statistics' => TRUE, // Record validation statistics
32
- 'clean_uninstall' => FALSE, // Remove all savings from DB
33
  // since version 1.1
34
- 'cache_hold' => TRUE, // Record IP address in cache
35
  'cache_time' => HOUR_IN_SECONDS, // @since 3.5
36
  // since version 3.0.0
37
  'cache_time_gc' => 900, // Cache garbage collection time
@@ -45,11 +45,13 @@ class IP_Geo_Block_Opts {
45
  'ajax' => 0, // Validate on ajax/post (1:country 2:ZEP)
46
  'xmlrpc' => 1, // Validate on xmlrpc (1:country 2:close)
47
  'proxy' => NULL, // $_SERVER variables for IPs
48
- 'reclogs' => 1, // 1:blocked 2:passed 3:unauth 4:auth 5:all 6:blocked/passed
49
  'postkey' => 'action,comment,log,pwd,FILES', // Keys in $_POST, $_FILES
50
  // since version 1.3.1
51
- 'maxlogs' => 100, // Max number of rows for validation logs
52
  'backup' => NULL, // Absolute path to directory for backup logs
 
 
53
  // since version 2.1.0
54
  'plugins' => 0, // Validate on wp-content/plugins (1:country 2:ZEP)
55
  'themes' => 0, // Validate on wp-content/themes (1:country 2:ZEP)
@@ -383,7 +385,6 @@ class IP_Geo_Block_Opts {
383
  }
384
 
385
  if ( version_compare( $version, '3.0.5' ) < 0 ) {
386
- $settings['validation' ]['maxlogs'] = 500;
387
  $settings['live_update'] = $default['live_update'];
388
  }
389
 
@@ -411,6 +412,11 @@ class IP_Geo_Block_Opts {
411
  IP_Geo_Block_Logs::reset_sqlite_db();
412
  }
413
 
 
 
 
 
 
414
  // save package version number
415
  $settings['version'] = IP_Geo_Block::VERSION;
416
  }
16
  *
17
  */
18
  private static $option_table = array(
19
+ 'version' => '3.0.12',// Version of this table (not package)
20
  // since version 1.0
21
  'providers' => array(), // List of providers and API keys
22
  'comment' => array( // Message on the comment form
29
  'timeout' => 30, // Timeout in second
30
  'response_code' => 403, // Response code
31
  'save_statistics' => TRUE, // Record validation statistics
32
+ 'clean_uninstall' => TRUE, // Remove all savings from DB
33
  // since version 1.1
34
+ 'cache_hold' => FALSE, // Record IP address cache
35
  'cache_time' => HOUR_IN_SECONDS, // @since 3.5
36
  // since version 3.0.0
37
  'cache_time_gc' => 900, // Cache garbage collection time
45
  'ajax' => 0, // Validate on ajax/post (1:country 2:ZEP)
46
  'xmlrpc' => 1, // Validate on xmlrpc (1:country 2:close)
47
  'proxy' => NULL, // $_SERVER variables for IPs
48
+ 'reclogs' => 0, // 1:blocked 2:passed 3:unauth 4:auth 5:all 6:blocked/passed
49
  'postkey' => 'action,comment,log,pwd,FILES', // Keys in $_POST, $_FILES
50
  // since version 1.3.1
51
+ 'maxlogs' => 500, // Max number of rows for validation logs
52
  'backup' => NULL, // Absolute path to directory for backup logs
53
+ // since version 3.0.12
54
+ 'explogs' => WEEK_IN_SECONDS, // expiration time for logs
55
  // since version 2.1.0
56
  'plugins' => 0, // Validate on wp-content/plugins (1:country 2:ZEP)
57
  'themes' => 0, // Validate on wp-content/themes (1:country 2:ZEP)
385
  }
386
 
387
  if ( version_compare( $version, '3.0.5' ) < 0 ) {
 
388
  $settings['live_update'] = $default['live_update'];
389
  }
390
 
412
  IP_Geo_Block_Logs::reset_sqlite_db();
413
  }
414
 
415
+ if ( version_compare( $version, '3.0.12' ) < 0 ) {
416
+ $settings['validation']['maxlogs'] = $default['validation']['maxlogs'];
417
+ $settings['validation']['explogs'] = $default['validation']['explogs'];
418
+ }
419
+
420
  // save package version number
421
  $settings['version'] = IP_Geo_Block::VERSION;
422
  }
classes/class-ip-geo-block.php CHANGED
@@ -15,7 +15,7 @@ class IP_Geo_Block {
15
  * Unique identifier for this plugin.
16
  *
17
  */
18
- const VERSION = '3.0.11';
19
  const GEOAPI_NAME = 'ip-geo-api';
20
  const PLUGIN_NAME = 'ip-geo-block';
21
  const OPTION_NAME = 'ip_geo_block_settings';
15
  * Unique identifier for this plugin.
16
  *
17
  */
18
+ const VERSION = '3.0.12';
19
  const GEOAPI_NAME = 'ip-geo-api';
20
  const PLUGIN_NAME = 'ip-geo-block';
21
  const OPTION_NAME = 'ip_geo_block_settings';
ip-geo-block.php CHANGED
@@ -13,7 +13,7 @@
13
  * Plugin Name: IP Geo Block
14
  * Plugin URI: http://wordpress.org/plugins/ip-geo-block/
15
  * Description: It blocks any spams, login attempts and malicious access to the admin area posted from outside your nation, and also prevents zero-day exploit.
16
- * Version: 3.0.11
17
  * Author: tokkonopapa
18
  * Author URI: http://www.ipgeoblock.com/
19
  * Text Domain: ip-geo-block
13
  * Plugin Name: IP Geo Block
14
  * Plugin URI: http://wordpress.org/plugins/ip-geo-block/
15
  * Description: It blocks any spams, login attempts and malicious access to the admin area posted from outside your nation, and also prevents zero-day exploit.
16
+ * Version: 3.0.12
17
  * Author: tokkonopapa
18
  * Author URI: http://www.ipgeoblock.com/
19
  * Text Domain: ip-geo-block
languages/ip-geo-block-ja.mo CHANGED
Binary file
languages/ip-geo-block-ja.po CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: IP Geo Block 3.0.11\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-05-06 15:31+0900\n"
8
- "PO-Revision-Date: 2018-05-06 15:32+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -28,151 +28,169 @@ msgstr ""
28
  "自国以外から投稿されるスパム、ログインフォーム、さらにゼロデイ攻撃を含む管理領"
29
  "域への悪意あるアクセスからサイトを守ります。"
30
 
31
- #: admin/class-ip-geo-block-admin.php:268
32
  msgid "Import settings ?"
33
  msgstr "設定をインポートしますか?"
34
 
35
- #: admin/class-ip-geo-block-admin.php:269
36
  msgid "Create table ?"
37
  msgstr "テーブルを作成しますか?"
38
 
39
- #: admin/class-ip-geo-block-admin.php:270
40
  msgid "Delete table ?"
41
  msgstr "テーブルを削除しますか?"
42
 
43
- #: admin/class-ip-geo-block-admin.php:271
44
  msgid "Clear statistics ?"
45
  msgstr "統計をクリアしますか?"
46
 
47
- #: admin/class-ip-geo-block-admin.php:272
48
  msgid "Clear cache ?"
49
  msgstr "キャッシュをクリアしますか?"
50
 
51
- #: admin/class-ip-geo-block-admin.php:273
52
  msgid "Clear logs ?"
53
  msgstr "ログをクリアしますか?"
54
 
55
- #: admin/class-ip-geo-block-admin.php:274
56
  msgid "ajax for logged-in user"
57
  msgstr "認証済ユーザー用 ajax"
58
 
59
- #: admin/class-ip-geo-block-admin.php:275
60
  msgid "ajax for non logged-in user"
61
  msgstr "未認証ユーザー用 ajax"
62
 
63
- #: admin/class-ip-geo-block-admin.php:276
64
  #, php-format
65
  msgid "[Found: %d]"
66
  msgstr "[見つかった数:%d]"
67
 
68
- #: admin/class-ip-geo-block-admin.php:277
69
  #, php-format
70
  msgid "Find and verify `%s` on &#8220;Logs&#8221; tab."
71
  msgstr "ログから `%s` を検索し、検証して下さい。"
72
 
73
- #: admin/class-ip-geo-block-admin.php:278
74
  msgid "This feature is available with HTML5 compliant browsers."
75
  msgstr "HTML5準拠のブラウザでのみ機能します。"
76
 
77
- #: admin/class-ip-geo-block-admin.php:279
78
  msgid "The selected row cannot be found in the visible area."
79
  msgstr "可視領域に選択された行が見つかりません。"
80
 
81
- #: admin/class-ip-geo-block-admin.php:280
82
- #: admin/class-ip-geo-block-admin.php:1478
83
  #, php-format
84
  msgid "An error occurred while executing the ajax command `%s`."
85
  msgstr "Ajaxコマンド `%s` の実行中にエラーが発生しました。"
86
 
87
- #: admin/class-ip-geo-block-admin.php:284
88
  msgid "No data available in table"
89
  msgstr "テーブルにデータがありません"
90
 
91
- #: admin/class-ip-geo-block-admin.php:285
92
  msgid "No matching records found"
93
  msgstr "一致するレコードがありません"
94
 
95
- #: admin/class-ip-geo-block-admin.php:286 admin/includes/tab-geolocation.php:70
 
 
 
96
  msgid "IP address"
97
  msgstr "IPアドレス"
98
 
99
- #: admin/class-ip-geo-block-admin.php:287
 
 
100
  msgid "Code"
101
  msgstr "国"
102
 
103
- #: admin/class-ip-geo-block-admin.php:288
 
 
104
  msgid "ASN"
105
  msgstr "AS番号"
106
 
107
- #: admin/class-ip-geo-block-admin.php:289
 
108
  msgid "Host name"
109
  msgstr "ホスト名"
110
 
111
- #: admin/class-ip-geo-block-admin.php:290
 
 
112
  msgid "Target"
113
  msgstr "検証対象"
114
 
115
- #: admin/class-ip-geo-block-admin.php:291
 
116
  msgid "Failure / Total"
117
  msgstr "ログイン失敗/総計"
118
 
119
- #: admin/class-ip-geo-block-admin.php:292
 
120
  msgid "Elapsed[sec]"
121
  msgstr "経過 [秒]"
122
 
123
- #: admin/class-ip-geo-block-admin.php:293
 
124
  msgid "Time"
125
  msgstr "日時"
126
 
127
- #: admin/class-ip-geo-block-admin.php:294
 
128
  msgid "Result"
129
  msgstr "検証結果"
130
 
131
- #: admin/class-ip-geo-block-admin.php:295
 
132
  msgid "Request"
133
  msgstr "リクエスト"
134
 
135
- #: admin/class-ip-geo-block-admin.php:296
 
136
  msgid "User agent"
137
  msgstr "ユーザー・エージェント"
138
 
139
- #: admin/class-ip-geo-block-admin.php:297
 
140
  msgid "HTTP headers"
141
  msgstr "HTTP ヘッダー"
142
 
143
- #: admin/class-ip-geo-block-admin.php:298
 
144
  msgid "$_POST data"
145
  msgstr "$_POST データ"
146
 
147
- #: admin/class-ip-geo-block-admin.php:324
148
  msgid "Contribute on GitHub"
149
  msgstr "開発に参加"
150
 
151
- #: admin/class-ip-geo-block-admin.php:338
152
- #: admin/class-ip-geo-block-admin.php:446
153
- #: admin/class-ip-geo-block-admin.php:663
154
  msgid "Settings"
155
  msgstr "設定"
156
 
157
- #: admin/class-ip-geo-block-admin.php:424
158
  #: admin/class-ip-geo-block-admin.php:425
159
- #: admin/class-ip-geo-block-admin.php:435
160
  #: admin/class-ip-geo-block-admin.php:436
161
- #: admin/class-ip-geo-block-admin.php:445
162
- #: admin/class-ip-geo-block-admin.php:454
 
163
  msgid "IP Geo Block"
164
  msgstr "IP Geo Block"
165
 
166
- #: admin/class-ip-geo-block-admin.php:455
167
- #: admin/class-ip-geo-block-admin.php:668
168
  msgid "Site List"
169
  msgstr "サイト一覧"
170
 
171
- #: admin/class-ip-geo-block-admin.php:484
172
  msgid "You need WordPress 3.7+."
173
  msgstr "WordPress 3.7&thinsp;以上が必要です。"
174
 
175
- #: admin/class-ip-geo-block-admin.php:490
176
  #, php-format
177
  msgid ""
178
  "Now downloading geolocation databases in background. After a little while, "
@@ -183,7 +201,7 @@ msgstr ""
183
  "た後、あなたの国コードと[<strong>マッチング規則</strong>]を[<a href=\"%s\">"
184
  "検証ルールの設定</a>]で確認して下さい。"
185
 
186
- #: admin/class-ip-geo-block-admin.php:496
187
  #, php-format
188
  msgid ""
189
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
@@ -192,11 +210,11 @@ msgstr ""
192
  "[<strong>マッチング規則</strong>]が正しく設定されていません。[<a href=\"%s"
193
  "\">検証ルールの設定</a>]を確認して下さい。"
194
 
195
- #: admin/class-ip-geo-block-admin.php:505
196
  msgid "Local database and matching rule have been updated."
197
  msgstr "ローカル・データベースとマッチング規則を更新しました。"
198
 
199
- #: admin/class-ip-geo-block-admin.php:516
200
  msgid ""
201
  "Once you logout, you will be unable to login again because the number of "
202
  "login attempts reaches the limit."
@@ -204,7 +222,7 @@ msgstr ""
204
  "あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトする"
205
  "と再びログインする事が出来なくなります。"
206
 
207
- #: admin/class-ip-geo-block-admin.php:518
208
  #, php-format
209
  msgid ""
210
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
@@ -213,7 +231,7 @@ msgstr ""
213
  "<a href=\"%s\">[統計]タブ</a>の[<strong>キャッシュのクリア</strong>]を実行"
214
  "し、ロックアウトを回避してください。"
215
 
216
- #: admin/class-ip-geo-block-admin.php:528
217
  msgid ""
218
  "Once you logout, you will be unable to login again because your country code "
219
  "or IP address is in the blacklist."
@@ -221,7 +239,7 @@ msgstr ""
221
  "あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウト"
222
  "すると再びログインする事が出来なくなります。"
223
 
224
- #: admin/class-ip-geo-block-admin.php:529
225
  msgid ""
226
  "Once you logout, you will be unable to login again because your country code "
227
  "or IP address is not in the whitelist."
@@ -229,12 +247,12 @@ msgstr ""
229
  "あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログアウ"
230
  "トすると再びログインする事が出来なくなります。"
231
 
232
- #: admin/class-ip-geo-block-admin.php:533
233
  #, php-format
234
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
235
  msgstr "[%s検証ルールの設定%s]を確認して下さい。"
236
 
237
- #: admin/class-ip-geo-block-admin.php:537
238
  #, php-format
239
  msgid ""
240
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
@@ -244,7 +262,7 @@ msgstr ""
244
  "[%sローカル・データベースの設定%s]で位置情報データベースを確認し、[%sキャッ"
245
  "シュの統計%s]でキャッシュされているあなたのIPアドレスを削除して下さい。"
246
 
247
- #: admin/class-ip-geo-block-admin.php:558
248
  msgid ""
249
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
250
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
@@ -254,32 +272,32 @@ msgstr ""
254
  "されていますが、<strong>IP Geo Allow</strong> と互換性がありません。「&#8220;"
255
  "init&#8221; アクション・フック」を選択してください。"
256
 
257
- #: admin/class-ip-geo-block-admin.php:664
258
  msgid "Statistics"
259
  msgstr "統計"
260
 
261
- #: admin/class-ip-geo-block-admin.php:665
262
  msgid "Logs"
263
  msgstr "ログ"
264
 
265
- #: admin/class-ip-geo-block-admin.php:666
266
  msgid "Search"
267
  msgstr "検索"
268
 
269
- #: admin/class-ip-geo-block-admin.php:667
270
  msgid "Attribution"
271
  msgstr "リンク"
272
 
273
- #: admin/class-ip-geo-block-admin.php:684
274
- #: admin/class-ip-geo-block-admin.php:701
275
  msgid "Network wide"
276
  msgstr "ネットワーク管理"
277
 
278
- #: admin/class-ip-geo-block-admin.php:714
279
  msgid "Toggle all"
280
  msgstr "全てを開閉"
281
 
282
- #: admin/class-ip-geo-block-admin.php:717
283
  msgid ""
284
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
285
  "the requests validated by this plugin in almost real time."
@@ -287,23 +305,23 @@ msgstr ""
287
  "[統計とログの設定]にかかわらず、このプラグインによる検証結果のすべてを、ほぼ"
288
  "リアルタイムに表示します。"
289
 
290
- #: admin/class-ip-geo-block-admin.php:717 admin/includes/tab-accesslog.php:39
291
  msgid "Live update"
292
  msgstr "ライブアップデート"
293
 
294
- #: admin/class-ip-geo-block-admin.php:721
295
  msgid "Open a new window on clicking the link in the chart."
296
  msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
297
 
298
- #: admin/class-ip-geo-block-admin.php:721
299
  msgid "Open a new window"
300
  msgstr "別窓で開く"
301
 
302
- #: admin/class-ip-geo-block-admin.php:744
303
  msgid "Thanks for providing these great services for free."
304
  msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
305
 
306
- #: admin/class-ip-geo-block-admin.php:745
307
  msgid ""
308
  "(Most browsers will redirect you to each site <a href=\"http://www."
309
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
@@ -313,33 +331,33 @@ msgstr ""
313
  "\" title=\"Referer Checker\">参照元を残さずにリンク先にリダイレクトできます</"
314
  "a>。)"
315
 
316
- #: admin/class-ip-geo-block-admin.php:750
317
  msgid "Back to top"
318
  msgstr "トップに戻る"
319
 
320
- #: admin/class-ip-geo-block-admin.php:842
321
  msgid "Enable"
322
  msgstr "有効"
323
 
324
- #: admin/class-ip-geo-block-admin.php:857
325
  msgid "Select one"
326
  msgstr "何れかを選択"
327
 
328
- #: admin/class-ip-geo-block-admin.php:1272
329
  msgid "You do not have sufficient permissions to access this page."
330
  msgstr "このページにアクセスするための十分な権限がありません。"
331
 
332
- #: admin/class-ip-geo-block-admin.php:1299
333
  #: admin/includes/class-admin-rewrite.php:194
334
- #: classes/class-ip-geo-block-cron.php:212
335
- #: classes/class-ip-geo-block-cron.php:316
336
- #: classes/class-ip-geo-block-cron.php:390
337
- #: classes/class-ip-geo-block-opts.php:446
338
  #, php-format
339
  msgid "Unable to write <code>%s</code>. Please check the permission."
340
  msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
341
 
342
- #: admin/class-ip-geo-block-admin.php:1329
343
  msgid "Settings saved."
344
  msgstr "設定を保存しました。"
345
 
@@ -352,20 +370,20 @@ msgstr "利用不可"
352
  msgid "UNKNOWN"
353
  msgstr "不明"
354
 
355
- #: admin/includes/class-admin-ajax.php:187
356
  #, php-format
357
  msgid "The user %s (user ID: %d) is in use."
358
  msgstr "ユーザー %s(ユーザーID:%d)が使用中です。"
359
 
360
- #: admin/includes/class-admin-ajax.php:436
361
  #, php-format
362
  msgid ""
363
  "illegal format at %s. Please delete the corresponding line and try again."
364
  msgstr "%sは誤ったフォーマットです。該当行を削除し、再実行してください。"
365
 
366
  #: admin/includes/class-admin-rewrite.php:168
367
- #: classes/class-ip-geo-block-cron.php:207
368
- #: classes/class-ip-geo-block-cron.php:385
369
  #, php-format
370
  msgid "Unable to read <code>%s</code>. Please check the permission."
371
  msgstr "<code>%s</code> が読めません。パーミッションをチェックして下さい。"
@@ -386,7 +404,7 @@ msgid "Validation logs"
386
  msgstr "検証のログ"
387
 
388
  #: admin/includes/tab-accesslog.php:19 admin/includes/tab-settings.php:765
389
- #: admin/includes/tab-settings.php:1379
390
  msgid "Help"
391
  msgstr "ヘルプ"
392
 
@@ -422,36 +440,36 @@ msgstr "対象を選択"
422
  msgid "Search in logs"
423
  msgstr "ログを検索"
424
 
425
- #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:235
426
  msgid "Reset"
427
  msgstr "リセット"
428
 
429
- #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:242
430
  msgid "Bulk action"
431
  msgstr "選択して実行"
432
 
433
- #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:253
434
  msgid "Remove entries by IP address"
435
  msgstr "指定のIPアドレスでエントリを削除"
436
 
437
- #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:254
438
  msgid "Add IP address to &#8220;Whitelist&#8221;"
439
  msgstr "IPアドレスをホワイトリストへ追加"
440
 
441
- #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:255
442
  msgid "Add IP address to &#8220;Blacklist&#8221;"
443
  msgstr "IPアドレスをブラックリストへ追加"
444
 
445
- #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:256
446
  msgid "Add AS number to &#8220;Whitelist&#8221;"
447
  msgstr "AS番号をホワイトリストへ追加"
448
 
449
- #: admin/includes/tab-accesslog.php:119 admin/includes/tab-statistics.php:257
450
  msgid "Add AS number to &#8220;Blacklist&#8221;"
451
  msgstr "AS番号をブラックリストへ追加"
452
 
453
  #: admin/includes/tab-accesslog.php:121 admin/includes/tab-network.php:56
454
- #: admin/includes/tab-statistics.php:259
455
  msgid "Apply"
456
  msgstr "実行する"
457
 
@@ -460,7 +478,7 @@ msgid "Clear logs"
460
  msgstr "ログをクリア"
461
 
462
  #: admin/includes/tab-accesslog.php:137 admin/includes/tab-statistics.php:173
463
- #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
464
  msgid "Clear all"
465
  msgstr "全てをクリア"
466
 
@@ -468,22 +486,23 @@ msgstr "全てをクリア"
468
  msgid "Export logs"
469
  msgstr "ログをエクスポート"
470
 
471
- #: admin/includes/tab-accesslog.php:153 admin/includes/tab-settings.php:1567
 
472
  msgid "Export to the local file"
473
  msgstr "ローカル・ファイルへエクスポートする"
474
 
475
- #: admin/includes/tab-accesslog.php:153
476
  msgid "Export csv"
477
  msgstr "CSVへエクスポート"
478
 
479
  #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:114
480
- #: admin/includes/tab-statistics.php:401
481
  #, php-format
482
- msgid "[ %sRecord &#8220;Logs&#8221;%s ] is desabled."
483
  msgstr "[%s検証のログを記録%s]が無効です。"
484
 
485
  #: admin/includes/tab-accesslog.php:175 admin/includes/tab-network.php:115
486
- #: admin/includes/tab-statistics.php:402
487
  msgid ""
488
  "Please set the proper condition to record and analyze the validation logs."
489
  msgstr "検証のログを記録し分析するためには、適切な条件を設定して下さい。"
@@ -502,14 +521,15 @@ msgstr "位置情報サービス"
502
 
503
  #: admin/includes/tab-geolocation.php:86 admin/includes/tab-settings.php:1101
504
  msgid ""
505
- "<dfn title=\"IP address is always encrypted on recording in logs and cache. "
506
  "Moreover, this option makes the IP address anonymous and restricted on "
507
  "sending to the 3rd parties such as geolocation APIs or whois service."
508
- "\">Privacy friendly</dfn>"
509
  msgstr ""
510
- "<dfn title=\"IPアドレスは、ログとキャッシュに記録される際に常に暗号化されま"
511
  "す。このオプションはさらに、IPアドレスを匿名化し、位置情報サービスやwhoisサー"
512
- "ビスなどの第三者への送信を制限します。\">プライバシーに配慮</dfn>"
 
513
 
514
  #: admin/includes/tab-geolocation.php:101
515
  msgid "Find geolocation"
@@ -794,7 +814,7 @@ msgstr ""
794
  "意のあるアップロード防止</dfn>"
795
 
796
  #: admin/includes/tab-settings.php:318 admin/includes/tab-settings.php:499
797
- #: admin/includes/tab-settings.php:623 admin/includes/tab-settings.php:1163
798
  msgid "Disable"
799
  msgstr "無効"
800
 
@@ -1214,54 +1234,58 @@ msgstr "プライバシーと記録の設定"
1214
 
1215
  #: admin/includes/tab-settings.php:1117
1216
  msgid ""
1217
- "<dfn title=\"This option enables to record the number blocked countries and "
1218
- "the number of blocked requests per day.\">Record &#8220;Statistics&#8221;</"
1219
- "dfn>"
1220
  msgstr ""
1221
- "<dfn title=\"このオプションは、国別遮断数や1日あたりの遮断数など、統計の記録を"
1222
- "有効にします。\">検証の統計を記録</dfn>"
 
1223
 
1224
- #: admin/includes/tab-settings.php:1134
1225
- msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1226
- msgstr "記録する統計の最大期間(日)"
 
 
 
 
 
 
 
1227
 
1228
- #: admin/includes/tab-settings.php:1152
1229
  msgid ""
1230
  "<dfn title=\"This option enables to record the validation logs including IP "
1231
- "address.\">Record &#8220;Logs&#8221;</dfn>"
1232
  msgstr ""
1233
  "<dfn title=\"このオプションは、IPアドレスを含む検証ログの記録を有効にしま"
1234
  "す。\">検証のログを記録</dfn>"
1235
 
1236
- #: admin/includes/tab-settings.php:1164
1237
- msgid "When requests blocked"
1238
  msgstr "遮断時に記録"
1239
 
1240
- #: admin/includes/tab-settings.php:1165
1241
- msgid "When requests passed"
1242
  msgstr "通過時に記録"
1243
 
1244
- #: admin/includes/tab-settings.php:1166
1245
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1246
  msgstr "遮断時または遮断対象国の通過時に記録"
1247
 
1248
- #: admin/includes/tab-settings.php:1167
1249
  msgid "Unauthenticated visitor"
1250
  msgstr "未認証の訪問者を記録"
1251
 
1252
- #: admin/includes/tab-settings.php:1168
1253
  msgid "Authenticated user"
1254
  msgstr "認証済のユーザーを記録"
1255
 
1256
- #: admin/includes/tab-settings.php:1169
1257
  msgid "All the validation"
1258
  msgstr "すべての検証を記録"
1259
 
1260
- #: admin/includes/tab-settings.php:1178
1261
- msgid "Maximum entries of &#8220;Logs&#8221;"
1262
- msgstr "記録するログの最大エントリ数"
1263
-
1264
- #: admin/includes/tab-settings.php:1195
1265
  msgid ""
1266
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1267
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
@@ -1269,7 +1293,20 @@ msgstr ""
1269
  "<dfn title=\"例)action, comment, log, pwd, FILES\">ログに記録する際に内容を展"
1270
  "開する$_POSTのキー</dfn>"
1271
 
1272
- #: admin/includes/tab-settings.php:1214
 
 
 
 
 
 
 
 
 
 
 
 
 
1273
  msgid ""
1274
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1275
  "&#8220;Live update&#8221;</dfn>"
@@ -1277,19 +1314,19 @@ msgstr ""
1277
  "<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用"
1278
  "SQLiteデータベース・ソースの選択</dfn>"
1279
 
1280
- #: admin/includes/tab-settings.php:1226
1281
  msgid "Ordinary file"
1282
  msgstr "通常のファイル"
1283
 
1284
- #: admin/includes/tab-settings.php:1227
1285
  msgid "In-Memory"
1286
  msgstr "イン・メモリ"
1287
 
1288
- #: admin/includes/tab-settings.php:1230
1289
  msgid "PDO_SQLITE driver not available"
1290
  msgstr "PDO_SQLITEドライバが利用出来ません。"
1291
 
1292
- #: admin/includes/tab-settings.php:1231
1293
  msgid ""
1294
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1295
  "without conflict with other plugins."
@@ -1297,7 +1334,7 @@ msgstr ""
1297
  "数十ミリ秒のオーバーヘッドが生じますが、他のプラグインと競合することなく、安全"
1298
  "に使用できます。"
1299
 
1300
- #: admin/includes/tab-settings.php:1232
1301
  msgid ""
1302
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1303
  "with other plugins using this method."
@@ -1305,36 +1342,15 @@ msgstr ""
1305
  "数ミリ秒のオーバーヘッドが生じます。同手法を用いている他のプラグインと競合する"
1306
  "可能性があります。"
1307
 
1308
- #: admin/includes/tab-settings.php:1241
1309
  msgid "Reset database source of &#8220;Live update&#8221;"
1310
  msgstr "ライブアップデートのデータソースをリセットする"
1311
 
1312
- #: admin/includes/tab-settings.php:1249
1313
  msgid "Reset now"
1314
  msgstr "今すぐリセット"
1315
 
1316
- #: admin/includes/tab-settings.php:1259
1317
- msgid ""
1318
- "<dfn title=\"This option enables to record the IP address , country code and "
1319
- "login fail counter into the cache on database to minimize the impact on site "
1320
- "speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1321
- msgstr ""
1322
- "<dfn title=\"このオプションは、IPアドレス、国コード、ログイン失敗回数等の"
1323
- "キャッシュへの記録を有効にし、サイト速度への影響を最小化します。\">IPアドレス"
1324
- "をキャッシュに記録</dfn>"
1325
-
1326
- #: admin/includes/tab-settings.php:1275
1327
- #, php-format
1328
- msgid ""
1329
- "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1330
- "login will also be prohibited for this and garbage collection period."
1331
- "\">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>"
1332
- msgstr ""
1333
- "<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ"
1334
- "(ガベージコレクション周期を含む)禁止されます。\">キャッシュの有効時間 "
1335
- "[sec]</dfn>"
1336
-
1337
- #: admin/includes/tab-settings.php:1289 admin/includes/tab-settings.php:1411
1338
  msgid ""
1339
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1340
  "once and activate again."
@@ -1342,26 +1358,43 @@ msgstr ""
1342
  "WP-Cronのタスクが見つかりません。 一旦このプラグインを停止させた後、再度、有効"
1343
  "化してみてください。"
1344
 
1345
- #: admin/includes/tab-settings.php:1295
1346
  msgid ""
1347
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1348
- "expired entries of cache.\">Garbage collection period [sec] for &#8220;IP "
1349
- "address cache&#8221;</dfn>"
1350
  msgstr ""
1351
- "<dfn title=\"このオプションは、有効期限の切れたキャッシュのエントリーを削除す"
1352
- "WP-Cronイベントの起動周期を設定します。\">ガベージコレクション周期 [秒]</"
1353
- "dfn>"
1354
 
1355
- #: admin/includes/tab-settings.php:1304 admin/includes/tab-settings.php:1428
1356
  #, php-format
1357
  msgid "Next schedule: %s"
1358
  msgstr "次回日時:%s"
1359
 
1360
- #: admin/includes/tab-settings.php:1313
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1361
  msgid "Geolocation API settings"
1362
  msgstr "位置情報APIの設定"
1363
 
1364
- #: admin/includes/tab-settings.php:1334
1365
  msgid ""
1366
  "<dfn title=\"IP address cache and local database are scanned at the top "
1367
  "priority.\">API selection and key settings</dfn>"
@@ -1369,11 +1402,11 @@ msgstr ""
1369
  "<dfn title=\"IPアドレスのキャッシュとローカルのデータベースが最優先で検索され"
1370
  "ます。\">APIの選択とキーの設定</dfn>"
1371
 
1372
- #: admin/includes/tab-settings.php:1354
1373
  msgid "Timeout for network API [sec]"
1374
  msgstr "ネットワークAPIのタイムアウト[秒]"
1375
 
1376
- #: admin/includes/tab-settings.php:1372
1377
  #, php-format
1378
  msgid ""
1379
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
@@ -1398,60 +1431,60 @@ msgstr ""
1398
  "Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共に <code>ip-geo-api</"
1399
  "code> をインストールしてください。"
1400
 
1401
- #: admin/includes/tab-settings.php:1379
1402
  msgid "Local database settings"
1403
  msgstr "ローカル・データベースの設定"
1404
 
1405
- #: admin/includes/tab-settings.php:1393
1406
  msgid "database"
1407
  msgstr "ファイル"
1408
 
1409
- #: admin/includes/tab-settings.php:1394 classes/class-ip-geo-block-cron.php:414
1410
  #, php-format
1411
  msgid "Last update: %s"
1412
  msgstr "最終更新:%s"
1413
 
1414
- #: admin/includes/tab-settings.php:1417
1415
  msgid "Auto updating (once a month)"
1416
  msgstr "自動更新(月1回)"
1417
 
1418
- #: admin/includes/tab-settings.php:1435
1419
  msgid "Download database"
1420
  msgstr "データベースのダウンロード"
1421
 
1422
- #: admin/includes/tab-settings.php:1443
1423
  msgid "Download now"
1424
  msgstr "今すぐダウンロード"
1425
 
1426
- #: admin/includes/tab-settings.php:1454
1427
  msgid "Submission settings"
1428
  msgstr "投稿時の設定"
1429
 
1430
- #: admin/includes/tab-settings.php:1466
1431
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1432
  msgstr "全体が&lt;p&gt;タグで囲われます。使用可能タグ:"
1433
 
1434
- #: admin/includes/tab-settings.php:1466
1435
  msgid "Message on comment form"
1436
  msgstr "投稿フォーム上のメッセージ"
1437
 
1438
- #: admin/includes/tab-settings.php:1478
1439
  msgid "None"
1440
  msgstr "なし"
1441
 
1442
- #: admin/includes/tab-settings.php:1479
1443
  msgid "Top"
1444
  msgstr "上部"
1445
 
1446
- #: admin/includes/tab-settings.php:1480
1447
  msgid "Bottom"
1448
  msgstr "下部"
1449
 
1450
- #: admin/includes/tab-settings.php:1491
1451
  msgid "Plugin settings"
1452
  msgstr "プラグインの設定"
1453
 
1454
- #: admin/includes/tab-settings.php:1504
1455
  msgid ""
1456
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1457
  "settings</dfn>"
@@ -1459,11 +1492,7 @@ msgstr ""
1459
  "<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワーク内で設"
1460
  "定を同期</dfn>"
1461
 
1462
- #: admin/includes/tab-settings.php:1522
1463
- msgid "Remove all settings at uninstallation"
1464
- msgstr "アンインストール時に全設定を削除"
1465
-
1466
- #: admin/includes/tab-settings.php:1540
1467
  msgid ""
1468
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1469
  "dfn>"
@@ -1471,7 +1500,7 @@ msgstr ""
1471
  "<dfn title=\"Google Maps JavaScript API に有効なキー\">Google Maps API キー</"
1472
  "dfn>"
1473
 
1474
- #: admin/includes/tab-settings.php:1554
1475
  msgid ""
1476
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1477
  "settings to take effect."
@@ -1479,37 +1508,37 @@ msgstr ""
1479
  "インポートされた設定を有効にするには、[変更を保存]ボタンをクリックする必要が"
1480
  "あります。"
1481
 
1482
- #: admin/includes/tab-settings.php:1560
1483
  msgid "Export / Import settings"
1484
  msgstr "設定のエクスポート、インポート"
1485
 
1486
- #: admin/includes/tab-settings.php:1567
1487
  msgid "Export settings"
1488
  msgstr "エクスポート"
1489
 
1490
- #: admin/includes/tab-settings.php:1568
1491
  msgid "Import from the local file"
1492
  msgstr "ローカル・ファイルからインポートします"
1493
 
1494
- #: admin/includes/tab-settings.php:1568
1495
  msgid "Import settings"
1496
  msgstr "インポート"
1497
 
1498
- #: admin/includes/tab-settings.php:1577
1499
  msgid "Import pre-defined settings"
1500
  msgstr "プリセットのインポート"
1501
 
1502
- #: admin/includes/tab-settings.php:1584
1503
  msgid ""
1504
  "Import the default settings to revert to the &#8220;Right after "
1505
  "installing&#8221; state"
1506
  msgstr "インストール直後の状態に戻すための設定値をインポートします"
1507
 
1508
- #: admin/includes/tab-settings.php:1584
1509
  msgid "Default settings"
1510
  msgstr "初期設定"
1511
 
1512
- #: admin/includes/tab-settings.php:1585
1513
  msgid ""
1514
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1515
  "for the &#8220;Back-end target settings&#8221;"
@@ -1517,49 +1546,49 @@ msgstr ""
1517
  "「ゼロデイ攻撃の遮断」など、主に[バックエンドの設定]の推奨設定をインポートし"
1518
  "ます。"
1519
 
1520
- #: admin/includes/tab-settings.php:1585
1521
  msgid "Best for Back-end"
1522
  msgstr "バックエンドの推奨設定"
1523
 
1524
- #: admin/includes/tab-settings.php:1595
1525
  msgid "Delete DB tables for this plugin"
1526
  msgstr "このプラグイン用データベース・テーブルの削除"
1527
 
1528
- #: admin/includes/tab-settings.php:1603
1529
  msgid "Delete now"
1530
  msgstr "今すぐ削除"
1531
 
1532
- #: admin/includes/tab-settings.php:1611
1533
  msgid "Create DB tables for this plugin"
1534
  msgstr "このプラグイン用データベース・テーブルの作成"
1535
 
1536
- #: admin/includes/tab-settings.php:1619
1537
  msgid "Create now"
1538
  msgstr "今すぐ作成"
1539
 
1540
- #: admin/includes/tab-settings.php:1629
1541
  msgid ""
1542
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1543
  "button to find the blocked request in the dumped information which may help "
1544
- "to solve the issue.\">Debug information</dfn><br />[ <a rel=\"noreferrer\" "
1545
- "href=\"https://wordpress.org/support/plugin/ip-geo-block\" title=\"WordPress "
1546
- "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1547
  msgstr ""
1548
- "<dfn title=\"予期しない遮断が発生した場合は、ダンプされたデバッグ情報を元にリ"
1549
- "クエストの遮断理由を推定し、問題解決に役立ててください。\">デバッグ情報</"
1550
- "dfn><br />[ <a rel=\"noreferrer\" href=\"https://wordpress.org/support/plugin/"
1551
- "ip-geo-block\" title=\"WordPress &#8250; Support &raquo; IP Geo Block\">サポー"
1552
- "ト・フォーラム</a> ]"
1553
 
1554
- #: admin/includes/tab-settings.php:1636
1555
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1556
  msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください。"
1557
 
1558
- #: admin/includes/tab-settings.php:1636
1559
  msgid "Show information"
1560
  msgstr "情報を表示"
1561
 
1562
- #: admin/includes/tab-settings.php:1652
1563
  msgid ""
1564
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1565
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
@@ -1571,7 +1600,7 @@ msgstr ""
1571
  "\" title=\"The best practice for target settings | IP Geo Block\">The best "
1572
  "practice fortarget settings</a>&#8220;&thinsp;を参照してください。"
1573
 
1574
- #: admin/includes/tab-settings.php:1653
1575
  msgid ""
1576
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1577
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
@@ -1585,21 +1614,21 @@ msgstr ""
1585
  "com/codex/#faq\" title=\"Codex | IP Geo Block\">Codex</a> の FAQ を参照してく"
1586
  "ださい。"
1587
 
1588
- #: admin/includes/tab-settings.php:1660
1589
  msgid ""
1590
  "While Geolite2&thinsp;/&thinsp;Maxmind and IP2Location will fetch the local "
1591
  "databases, others will pass an IP address to the 3rd parties' API via HTTP."
1592
  msgstr ""
1593
- "MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して"
1594
- "サードパーティーのAPIにIPアドレスを渡します。"
1595
 
1596
- #: admin/includes/tab-settings.php:1661
1597
  msgid ""
1598
  "Please select the appropriate APIs to fit the privacy law&thinsp;/&thinsp;"
1599
  "regulation in your country&thinsp;/&thinsp;region."
1600
  msgstr "自国のプライバシー関連法規に合わせ、適切なAPIを選択して下さい。"
1601
 
1602
- #: admin/includes/tab-settings.php:1670
1603
  #, php-format
1604
  msgid ""
1605
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
@@ -1609,7 +1638,7 @@ msgstr ""
1609
  "ジョン&thinsp;5.4.0&thinsp;以上と&thinsp;%sPECL phar 2.0.0&thinsp;以上%sが必要"
1610
  "です。"
1611
 
1612
- #: admin/includes/tab-settings.php:1678
1613
  msgid ""
1614
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1615
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
@@ -1621,7 +1650,7 @@ msgstr ""
1621
  "end\" title=\"Codex | IP Geo Block\">Blocking on front-end</a>&#8221; を参照し"
1622
  "てください。"
1623
 
1624
- #: admin/includes/tab-settings.php:1679
1625
  msgid ""
1626
  "If you find any issues or have something to suggest, please feel free to "
1627
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
@@ -1633,7 +1662,7 @@ msgstr ""
1633
  "&#8250; Support &raquo; IP Geo Block\">サポートフォーラム</a> に投稿をお願いし"
1634
  "ます。"
1635
 
1636
- #: admin/includes/tab-settings.php:1686
1637
  msgid ""
1638
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1639
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
@@ -1688,48 +1717,62 @@ msgid "Statistics in Logs"
1688
  msgstr "ログの統計"
1689
 
1690
  #: admin/includes/tab-statistics.php:217
1691
- msgid "Statistics in cache"
1692
  msgstr "キャッシュの統計"
1693
 
1694
- #: admin/includes/tab-statistics.php:225
1695
  msgid "Search in cache"
1696
  msgstr "キャッシュを検索"
1697
 
1698
- #: admin/includes/tab-statistics.php:266
1699
  msgid "Clear cache"
1700
  msgstr "キャッシュのクリア"
1701
 
1702
  #: admin/includes/tab-statistics.php:288
 
 
 
 
1703
  msgid "Country (Top 10)"
1704
  msgstr "国(トップ10)"
1705
 
1706
- #: admin/includes/tab-statistics.php:289
1707
  msgid "AS number (Top 10)"
1708
  msgstr "AS番号(トップ10)"
1709
 
1710
- #: admin/includes/tab-statistics.php:290
1711
  msgid "IP address (Top 10)"
1712
  msgstr "IPアドレス(トップ10)"
1713
 
1714
- #: admin/includes/tab-statistics.php:291
1715
  msgid "Slug in back-end"
1716
  msgstr "バックエンドのスラッグ"
1717
 
1718
- #: admin/includes/tab-statistics.php:343
1719
  msgid "Toggle sorting order"
1720
  msgstr "ソート順を切り替え"
1721
 
1722
- #: admin/includes/tab-statistics.php:394
1723
  #, php-format
1724
- msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is desabled."
1725
  msgstr "[%s検証の統計を記録%s]が無効です。"
1726
 
1727
- #: admin/includes/tab-statistics.php:395
1728
  msgid ""
1729
  "Please set the proper condition to record and analyze the validation "
1730
  "statistics."
1731
  msgstr "検証の統計を記録し分析するためには、適切な条件を設定して下さい。"
1732
 
 
 
 
 
 
 
 
 
 
 
1733
  #: classes/class-ip-geo-block-apis.php:661
1734
  msgid ""
1735
  "You need to select at least one IP geolocation service. Otherwise "
@@ -1738,17 +1781,17 @@ msgstr ""
1738
  "少なくとも1つ以上の位置情報サービスを選択して下さい。未選択の場合、キャッシュ"
1739
  "の有効期限切れと共にロックアウトされます。"
1740
 
1741
- #: classes/class-ip-geo-block-cron.php:217
1742
  #, php-format
1743
  msgid "Can't lock <code>%s</code>. Please try again after a while."
1744
  msgstr ""
1745
  "<code>%s</code> をロック出来ません。パーミッションをチェックして下さい。"
1746
 
1747
- #: classes/class-ip-geo-block-cron.php:296
1748
  msgid "Your database file is up-to-date."
1749
  msgstr "データベース・ファイルは最新です。"
1750
 
1751
- #: classes/class-ip-geo-block-cron.php:395
1752
  msgid "gz or zip is not supported on your system."
1753
  msgstr "gz または zip がサポートされていません。"
1754
 
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: IP Geo Block 3.0.12\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2018-05-20 16:59+0900\n"
8
+ "PO-Revision-Date: 2018-05-20 17:01+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
28
  "自国以外から投稿されるスパム、ログインフォーム、さらにゼロデイ攻撃を含む管理領"
29
  "域への悪意あるアクセスからサイトを守ります。"
30
 
31
+ #: admin/class-ip-geo-block-admin.php:269
32
  msgid "Import settings ?"
33
  msgstr "設定をインポートしますか?"
34
 
35
+ #: admin/class-ip-geo-block-admin.php:270
36
  msgid "Create table ?"
37
  msgstr "テーブルを作成しますか?"
38
 
39
+ #: admin/class-ip-geo-block-admin.php:271
40
  msgid "Delete table ?"
41
  msgstr "テーブルを削除しますか?"
42
 
43
+ #: admin/class-ip-geo-block-admin.php:272
44
  msgid "Clear statistics ?"
45
  msgstr "統計をクリアしますか?"
46
 
47
+ #: admin/class-ip-geo-block-admin.php:273
48
  msgid "Clear cache ?"
49
  msgstr "キャッシュをクリアしますか?"
50
 
51
+ #: admin/class-ip-geo-block-admin.php:274
52
  msgid "Clear logs ?"
53
  msgstr "ログをクリアしますか?"
54
 
55
+ #: admin/class-ip-geo-block-admin.php:275
56
  msgid "ajax for logged-in user"
57
  msgstr "認証済ユーザー用 ajax"
58
 
59
+ #: admin/class-ip-geo-block-admin.php:276
60
  msgid "ajax for non logged-in user"
61
  msgstr "未認証ユーザー用 ajax"
62
 
63
+ #: admin/class-ip-geo-block-admin.php:277
64
  #, php-format
65
  msgid "[Found: %d]"
66
  msgstr "[見つかった数:%d]"
67
 
68
+ #: admin/class-ip-geo-block-admin.php:278
69
  #, php-format
70
  msgid "Find and verify `%s` on &#8220;Logs&#8221; tab."
71
  msgstr "ログから `%s` を検索し、検証して下さい。"
72
 
73
+ #: admin/class-ip-geo-block-admin.php:279
74
  msgid "This feature is available with HTML5 compliant browsers."
75
  msgstr "HTML5準拠のブラウザでのみ機能します。"
76
 
77
+ #: admin/class-ip-geo-block-admin.php:280
78
  msgid "The selected row cannot be found in the visible area."
79
  msgstr "可視領域に選択された行が見つかりません。"
80
 
81
+ #: admin/class-ip-geo-block-admin.php:281
82
+ #: admin/class-ip-geo-block-admin.php:1483
83
  #, php-format
84
  msgid "An error occurred while executing the ajax command `%s`."
85
  msgstr "Ajaxコマンド `%s` の実行中にエラーが発生しました。"
86
 
87
+ #: admin/class-ip-geo-block-admin.php:285
88
  msgid "No data available in table"
89
  msgstr "テーブルにデータがありません"
90
 
91
+ #: admin/class-ip-geo-block-admin.php:286
92
  msgid "No matching records found"
93
  msgstr "一致するレコードがありません"
94
 
95
+ #: admin/class-ip-geo-block-admin.php:287
96
+ #: admin/includes/class-admin-ajax.php:111
97
+ #: admin/includes/class-admin-ajax.php:237
98
+ #: admin/includes/tab-geolocation.php:70
99
  msgid "IP address"
100
  msgstr "IPアドレス"
101
 
102
+ #: admin/class-ip-geo-block-admin.php:288
103
+ #: admin/includes/class-admin-ajax.php:112
104
+ #: admin/includes/class-admin-ajax.php:238
105
  msgid "Code"
106
  msgstr "国"
107
 
108
+ #: admin/class-ip-geo-block-admin.php:289
109
+ #: admin/includes/class-admin-ajax.php:113
110
+ #: admin/includes/class-admin-ajax.php:239
111
  msgid "ASN"
112
  msgstr "AS番号"
113
 
114
+ #: admin/class-ip-geo-block-admin.php:290
115
+ #: admin/includes/class-admin-ajax.php:240
116
  msgid "Host name"
117
  msgstr "ホスト名"
118
 
119
+ #: admin/class-ip-geo-block-admin.php:291
120
+ #: admin/includes/class-admin-ajax.php:114
121
+ #: admin/includes/class-admin-ajax.php:241
122
  msgid "Target"
123
  msgstr "検証対象"
124
 
125
+ #: admin/class-ip-geo-block-admin.php:292
126
+ #: admin/includes/class-admin-ajax.php:242
127
  msgid "Failure / Total"
128
  msgstr "ログイン失敗/総計"
129
 
130
+ #: admin/class-ip-geo-block-admin.php:293
131
+ #: admin/includes/class-admin-ajax.php:243
132
  msgid "Elapsed[sec]"
133
  msgstr "経過 [秒]"
134
 
135
+ #: admin/class-ip-geo-block-admin.php:294
136
+ #: admin/includes/class-admin-ajax.php:110
137
  msgid "Time"
138
  msgstr "日時"
139
 
140
+ #: admin/class-ip-geo-block-admin.php:295
141
+ #: admin/includes/class-admin-ajax.php:115
142
  msgid "Result"
143
  msgstr "検証結果"
144
 
145
+ #: admin/class-ip-geo-block-admin.php:296
146
+ #: admin/includes/class-admin-ajax.php:116
147
  msgid "Request"
148
  msgstr "リクエスト"
149
 
150
+ #: admin/class-ip-geo-block-admin.php:297
151
+ #: admin/includes/class-admin-ajax.php:117
152
  msgid "User agent"
153
  msgstr "ユーザー・エージェント"
154
 
155
+ #: admin/class-ip-geo-block-admin.php:298
156
+ #: admin/includes/class-admin-ajax.php:118
157
  msgid "HTTP headers"
158
  msgstr "HTTP ヘッダー"
159
 
160
+ #: admin/class-ip-geo-block-admin.php:299
161
+ #: admin/includes/class-admin-ajax.php:119
162
  msgid "$_POST data"
163
  msgstr "$_POST データ"
164
 
165
+ #: admin/class-ip-geo-block-admin.php:325
166
  msgid "Contribute on GitHub"
167
  msgstr "開発に参加"
168
 
169
+ #: admin/class-ip-geo-block-admin.php:339
170
+ #: admin/class-ip-geo-block-admin.php:447
171
+ #: admin/class-ip-geo-block-admin.php:664
172
  msgid "Settings"
173
  msgstr "設定"
174
 
 
175
  #: admin/class-ip-geo-block-admin.php:425
176
+ #: admin/class-ip-geo-block-admin.php:426
177
  #: admin/class-ip-geo-block-admin.php:436
178
+ #: admin/class-ip-geo-block-admin.php:437
179
+ #: admin/class-ip-geo-block-admin.php:446
180
+ #: admin/class-ip-geo-block-admin.php:455
181
  msgid "IP Geo Block"
182
  msgstr "IP Geo Block"
183
 
184
+ #: admin/class-ip-geo-block-admin.php:456
185
+ #: admin/class-ip-geo-block-admin.php:669
186
  msgid "Site List"
187
  msgstr "サイト一覧"
188
 
189
+ #: admin/class-ip-geo-block-admin.php:485
190
  msgid "You need WordPress 3.7+."
191
  msgstr "WordPress 3.7&thinsp;以上が必要です。"
192
 
193
+ #: admin/class-ip-geo-block-admin.php:491
194
  #, php-format
195
  msgid ""
196
  "Now downloading geolocation databases in background. After a little while, "
201
  "た後、あなたの国コードと[<strong>マッチング規則</strong>]を[<a href=\"%s\">"
202
  "検証ルールの設定</a>]で確認して下さい。"
203
 
204
+ #: admin/class-ip-geo-block-admin.php:497
205
  #, php-format
206
  msgid ""
207
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
210
  "[<strong>マッチング規則</strong>]が正しく設定されていません。[<a href=\"%s"
211
  "\">検証ルールの設定</a>]を確認して下さい。"
212
 
213
+ #: admin/class-ip-geo-block-admin.php:506
214
  msgid "Local database and matching rule have been updated."
215
  msgstr "ローカル・データベースとマッチング規則を更新しました。"
216
 
217
+ #: admin/class-ip-geo-block-admin.php:517
218
  msgid ""
219
  "Once you logout, you will be unable to login again because the number of "
220
  "login attempts reaches the limit."
222
  "あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトする"
223
  "と再びログインする事が出来なくなります。"
224
 
225
+ #: admin/class-ip-geo-block-admin.php:519
226
  #, php-format
227
  msgid ""
228
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
231
  "<a href=\"%s\">[統計]タブ</a>の[<strong>キャッシュのクリア</strong>]を実行"
232
  "し、ロックアウトを回避してください。"
233
 
234
+ #: admin/class-ip-geo-block-admin.php:529
235
  msgid ""
236
  "Once you logout, you will be unable to login again because your country code "
237
  "or IP address is in the blacklist."
239
  "あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウト"
240
  "すると再びログインする事が出来なくなります。"
241
 
242
+ #: admin/class-ip-geo-block-admin.php:530
243
  msgid ""
244
  "Once you logout, you will be unable to login again because your country code "
245
  "or IP address is not in the whitelist."
247
  "あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログアウ"
248
  "トすると再びログインする事が出来なくなります。"
249
 
250
+ #: admin/class-ip-geo-block-admin.php:534
251
  #, php-format
252
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
253
  msgstr "[%s検証ルールの設定%s]を確認して下さい。"
254
 
255
+ #: admin/class-ip-geo-block-admin.php:538
256
  #, php-format
257
  msgid ""
258
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
262
  "[%sローカル・データベースの設定%s]で位置情報データベースを確認し、[%sキャッ"
263
  "シュの統計%s]でキャッシュされているあなたのIPアドレスを削除して下さい。"
264
 
265
+ #: admin/class-ip-geo-block-admin.php:559
266
  msgid ""
267
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
268
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
272
  "されていますが、<strong>IP Geo Allow</strong> と互換性がありません。「&#8220;"
273
  "init&#8221; アクション・フック」を選択してください。"
274
 
275
+ #: admin/class-ip-geo-block-admin.php:665
276
  msgid "Statistics"
277
  msgstr "統計"
278
 
279
+ #: admin/class-ip-geo-block-admin.php:666
280
  msgid "Logs"
281
  msgstr "ログ"
282
 
283
+ #: admin/class-ip-geo-block-admin.php:667
284
  msgid "Search"
285
  msgstr "検索"
286
 
287
+ #: admin/class-ip-geo-block-admin.php:668
288
  msgid "Attribution"
289
  msgstr "リンク"
290
 
291
+ #: admin/class-ip-geo-block-admin.php:685
292
+ #: admin/class-ip-geo-block-admin.php:702
293
  msgid "Network wide"
294
  msgstr "ネットワーク管理"
295
 
296
+ #: admin/class-ip-geo-block-admin.php:715
297
  msgid "Toggle all"
298
  msgstr "全てを開閉"
299
 
300
+ #: admin/class-ip-geo-block-admin.php:718
301
  msgid ""
302
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
303
  "the requests validated by this plugin in almost real time."
305
  "[統計とログの設定]にかかわらず、このプラグインによる検証結果のすべてを、ほぼ"
306
  "リアルタイムに表示します。"
307
 
308
+ #: admin/class-ip-geo-block-admin.php:718 admin/includes/tab-accesslog.php:39
309
  msgid "Live update"
310
  msgstr "ライブアップデート"
311
 
312
+ #: admin/class-ip-geo-block-admin.php:722
313
  msgid "Open a new window on clicking the link in the chart."
314
  msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
315
 
316
+ #: admin/class-ip-geo-block-admin.php:722
317
  msgid "Open a new window"
318
  msgstr "別窓で開く"
319
 
320
+ #: admin/class-ip-geo-block-admin.php:745
321
  msgid "Thanks for providing these great services for free."
322
  msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
323
 
324
+ #: admin/class-ip-geo-block-admin.php:746
325
  msgid ""
326
  "(Most browsers will redirect you to each site <a href=\"http://www."
327
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
331
  "\" title=\"Referer Checker\">参照元を残さずにリンク先にリダイレクトできます</"
332
  "a>。)"
333
 
334
+ #: admin/class-ip-geo-block-admin.php:751
335
  msgid "Back to top"
336
  msgstr "トップに戻る"
337
 
338
+ #: admin/class-ip-geo-block-admin.php:843
339
  msgid "Enable"
340
  msgstr "有効"
341
 
342
+ #: admin/class-ip-geo-block-admin.php:858
343
  msgid "Select one"
344
  msgstr "何れかを選択"
345
 
346
+ #: admin/class-ip-geo-block-admin.php:1273
347
  msgid "You do not have sufficient permissions to access this page."
348
  msgstr "このページにアクセスするための十分な権限がありません。"
349
 
350
+ #: admin/class-ip-geo-block-admin.php:1300
351
  #: admin/includes/class-admin-rewrite.php:194
352
+ #: classes/class-ip-geo-block-cron.php:217
353
+ #: classes/class-ip-geo-block-cron.php:321
354
+ #: classes/class-ip-geo-block-cron.php:395
355
+ #: classes/class-ip-geo-block-opts.php:452
356
  #, php-format
357
  msgid "Unable to write <code>%s</code>. Please check the permission."
358
  msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
359
 
360
+ #: admin/class-ip-geo-block-admin.php:1330
361
  msgid "Settings saved."
362
  msgstr "設定を保存しました。"
363
 
370
  msgid "UNKNOWN"
371
  msgstr "不明"
372
 
373
+ #: admin/includes/class-admin-ajax.php:198
374
  #, php-format
375
  msgid "The user %s (user ID: %d) is in use."
376
  msgstr "ユーザー %s(ユーザーID:%d)が使用中です。"
377
 
378
+ #: admin/includes/class-admin-ajax.php:492
379
  #, php-format
380
  msgid ""
381
  "illegal format at %s. Please delete the corresponding line and try again."
382
  msgstr "%sは誤ったフォーマットです。該当行を削除し、再実行してください。"
383
 
384
  #: admin/includes/class-admin-rewrite.php:168
385
+ #: classes/class-ip-geo-block-cron.php:212
386
+ #: classes/class-ip-geo-block-cron.php:390
387
  #, php-format
388
  msgid "Unable to read <code>%s</code>. Please check the permission."
389
  msgstr "<code>%s</code> が読めません。パーミッションをチェックして下さい。"
404
  msgstr "検証のログ"
405
 
406
  #: admin/includes/tab-accesslog.php:19 admin/includes/tab-settings.php:765
407
+ #: admin/includes/tab-settings.php:1410
408
  msgid "Help"
409
  msgstr "ヘルプ"
410
 
440
  msgid "Search in logs"
441
  msgstr "ログを検索"
442
 
443
+ #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:240
444
  msgid "Reset"
445
  msgstr "リセット"
446
 
447
+ #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:247
448
  msgid "Bulk action"
449
  msgstr "選択して実行"
450
 
451
+ #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:258
452
  msgid "Remove entries by IP address"
453
  msgstr "指定のIPアドレスでエントリを削除"
454
 
455
+ #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:259
456
  msgid "Add IP address to &#8220;Whitelist&#8221;"
457
  msgstr "IPアドレスをホワイトリストへ追加"
458
 
459
+ #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:260
460
  msgid "Add IP address to &#8220;Blacklist&#8221;"
461
  msgstr "IPアドレスをブラックリストへ追加"
462
 
463
+ #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:261
464
  msgid "Add AS number to &#8220;Whitelist&#8221;"
465
  msgstr "AS番号をホワイトリストへ追加"
466
 
467
+ #: admin/includes/tab-accesslog.php:119 admin/includes/tab-statistics.php:262
468
  msgid "Add AS number to &#8220;Blacklist&#8221;"
469
  msgstr "AS番号をブラックリストへ追加"
470
 
471
  #: admin/includes/tab-accesslog.php:121 admin/includes/tab-network.php:56
472
+ #: admin/includes/tab-statistics.php:264
473
  msgid "Apply"
474
  msgstr "実行する"
475
 
478
  msgstr "ログをクリア"
479
 
480
  #: admin/includes/tab-accesslog.php:137 admin/includes/tab-statistics.php:173
481
+ #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:279
482
  msgid "Clear all"
483
  msgstr "全てをクリア"
484
 
486
  msgid "Export logs"
487
  msgstr "ログをエクスポート"
488
 
489
+ #: admin/includes/tab-accesslog.php:153 admin/includes/tab-settings.php:1582
490
+ #: admin/includes/tab-statistics.php:294
491
  msgid "Export to the local file"
492
  msgstr "ローカル・ファイルへエクスポートする"
493
 
494
+ #: admin/includes/tab-accesslog.php:153 admin/includes/tab-statistics.php:294
495
  msgid "Export csv"
496
  msgstr "CSVへエクスポート"
497
 
498
  #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:114
499
+ #: admin/includes/tab-statistics.php:424
500
  #, php-format
501
+ msgid "[ %sRecord &#8220;Logs&#8221;%s ] is disabled."
502
  msgstr "[%s検証のログを記録%s]が無効です。"
503
 
504
  #: admin/includes/tab-accesslog.php:175 admin/includes/tab-network.php:115
505
+ #: admin/includes/tab-statistics.php:425
506
  msgid ""
507
  "Please set the proper condition to record and analyze the validation logs."
508
  msgstr "検証のログを記録し分析するためには、適切な条件を設定して下さい。"
521
 
522
  #: admin/includes/tab-geolocation.php:86 admin/includes/tab-settings.php:1101
523
  msgid ""
524
+ "<dfn title=\"IP address is always encrypted on recording in cache and logs. "
525
  "Moreover, this option makes the IP address anonymous and restricted on "
526
  "sending to the 3rd parties such as geolocation APIs or whois service."
527
+ "\">Anonymize IP address and restrict 3rd party APIs</dfn>"
528
  msgstr ""
529
+ "<dfn title=\"IPアドレスは、キャッシュとログに記録される際に常に暗号化されま"
530
  "す。このオプションはさらに、IPアドレスを匿名化し、位置情報サービスやwhoisサー"
531
+ "ビスなどの第三者への送信を制限します。\">IPアドレスを匿名化し、APIの使用を制限"
532
+ "する</dfn>"
533
 
534
  #: admin/includes/tab-geolocation.php:101
535
  msgid "Find geolocation"
814
  "意のあるアップロード防止</dfn>"
815
 
816
  #: admin/includes/tab-settings.php:318 admin/includes/tab-settings.php:499
817
+ #: admin/includes/tab-settings.php:623 admin/includes/tab-settings.php:1160
818
  msgid "Disable"
819
  msgstr "無効"
820
 
1234
 
1235
  #: admin/includes/tab-settings.php:1117
1236
  msgid ""
1237
+ "<dfn title=\"This option enables to record the IP address, country code and "
1238
+ "failure counter of login attempts into the cache on database to minimize the "
1239
+ "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1240
  msgstr ""
1241
+ "<dfn title=\"このオプションは、IPアドレス、国コード、ログイン失敗回数等の"
1242
+ "キャッシュへの記録を有効にし、サイト速度への影響を最小化します。\">IPアドレス"
1243
+ "をキャッシュに記録</dfn>"
1244
 
1245
+ #: admin/includes/tab-settings.php:1133
1246
+ #, php-format
1247
+ msgid ""
1248
+ "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1249
+ "login will also be prohibited for this and garbage collection period."
1250
+ "\">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>"
1251
+ msgstr ""
1252
+ "<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ"
1253
+ "(ガベージコレクション周期を含む)禁止されます。\">キャッシュの有効時間 "
1254
+ "[sec]</dfn>"
1255
 
1256
+ #: admin/includes/tab-settings.php:1149
1257
  msgid ""
1258
  "<dfn title=\"This option enables to record the validation logs including IP "
1259
+ "addresses.\">Record &#8220;Logs&#8221;</dfn>"
1260
  msgstr ""
1261
  "<dfn title=\"このオプションは、IPアドレスを含む検証ログの記録を有効にしま"
1262
  "す。\">検証のログを記録</dfn>"
1263
 
1264
+ #: admin/includes/tab-settings.php:1161
1265
+ msgid "When blocked"
1266
  msgstr "遮断時に記録"
1267
 
1268
+ #: admin/includes/tab-settings.php:1162
1269
+ msgid "When passed"
1270
  msgstr "通過時に記録"
1271
 
1272
+ #: admin/includes/tab-settings.php:1163
1273
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1274
  msgstr "遮断時または遮断対象国の通過時に記録"
1275
 
1276
+ #: admin/includes/tab-settings.php:1164
1277
  msgid "Unauthenticated visitor"
1278
  msgstr "未認証の訪問者を記録"
1279
 
1280
+ #: admin/includes/tab-settings.php:1165
1281
  msgid "Authenticated user"
1282
  msgstr "認証済のユーザーを記録"
1283
 
1284
+ #: admin/includes/tab-settings.php:1166
1285
  msgid "All the validation"
1286
  msgstr "すべての検証を記録"
1287
 
1288
+ #: admin/includes/tab-settings.php:1174
 
 
 
 
1289
  msgid ""
1290
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1291
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1293
  "<dfn title=\"例)action, comment, log, pwd, FILES\">ログに記録する際に内容を展"
1294
  "開する$_POSTのキー</dfn>"
1295
 
1296
+ #: admin/includes/tab-settings.php:1191
1297
+ #, php-format
1298
+ msgid ""
1299
+ "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1300
+ "\">Expiration time [sec] for &#8220;Logs&#8221;</dfn>"
1301
+ msgstr ""
1302
+ "<dfn title=\"ログの最大エントリー数は %d に制限されます。\">ログの有効時間 "
1303
+ "[sec]</dfn>"
1304
+
1305
+ #: admin/includes/tab-settings.php:1209
1306
+ msgid "Maximum entries of &#8220;Logs&#8221;"
1307
+ msgstr "記録するログの最大エントリ数"
1308
+
1309
+ #: admin/includes/tab-settings.php:1226
1310
  msgid ""
1311
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1312
  "&#8220;Live update&#8221;</dfn>"
1314
  "<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用"
1315
  "SQLiteデータベース・ソースの選択</dfn>"
1316
 
1317
+ #: admin/includes/tab-settings.php:1238
1318
  msgid "Ordinary file"
1319
  msgstr "通常のファイル"
1320
 
1321
+ #: admin/includes/tab-settings.php:1239
1322
  msgid "In-Memory"
1323
  msgstr "イン・メモリ"
1324
 
1325
+ #: admin/includes/tab-settings.php:1242
1326
  msgid "PDO_SQLITE driver not available"
1327
  msgstr "PDO_SQLITEドライバが利用出来ません。"
1328
 
1329
+ #: admin/includes/tab-settings.php:1243
1330
  msgid ""
1331
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1332
  "without conflict with other plugins."
1334
  "数十ミリ秒のオーバーヘッドが生じますが、他のプラグインと競合することなく、安全"
1335
  "に使用できます。"
1336
 
1337
+ #: admin/includes/tab-settings.php:1244
1338
  msgid ""
1339
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1340
  "with other plugins using this method."
1342
  "数ミリ秒のオーバーヘッドが生じます。同手法を用いている他のプラグインと競合する"
1343
  "可能性があります。"
1344
 
1345
+ #: admin/includes/tab-settings.php:1253
1346
  msgid "Reset database source of &#8220;Live update&#8221;"
1347
  msgstr "ライブアップデートのデータソースをリセットする"
1348
 
1349
+ #: admin/includes/tab-settings.php:1261
1350
  msgid "Reset now"
1351
  msgstr "今すぐリセット"
1352
 
1353
+ #: admin/includes/tab-settings.php:1269 admin/includes/tab-settings.php:1442
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1354
  msgid ""
1355
  "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1356
  "once and activate again."
1358
  "WP-Cronのタスクが見つかりません。 一旦このプラグインを停止させた後、再度、有効"
1359
  "化してみてください。"
1360
 
1361
+ #: admin/includes/tab-settings.php:1275
1362
  msgid ""
1363
  "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1364
+ "expired entries in ip address cache and logs.\">Cleanup interval [sec] for "
1365
+ "&#8220;IP address cache&#8221; and &#8220;Logs&#8221;</dfn>"
1366
  msgstr ""
1367
+ "<dfn title=\"このオプションは、有効期限の切れたエントリーをIPアドレスのキャッ"
1368
+ "シュとログから削除するWP-Cronイベントの起動周期を設定します。\">ガベージコレク"
1369
+ "ション周期 [秒]</dfn>"
1370
 
1371
+ #: admin/includes/tab-settings.php:1284 admin/includes/tab-settings.php:1459
1372
  #, php-format
1373
  msgid "Next schedule: %s"
1374
  msgstr "次回日時:%s"
1375
 
1376
+ #: admin/includes/tab-settings.php:1292
1377
+ msgid ""
1378
+ "<dfn title=\"This option enables to record the number blocked countries and "
1379
+ "the number of blocked requests per day.\">Record &#8220;Statistics&#8221;</"
1380
+ "dfn>"
1381
+ msgstr ""
1382
+ "<dfn title=\"このオプションは、国別遮断数や1日あたりの遮断数など、統計の記録を"
1383
+ "有効にします。\">検証の統計を記録</dfn>"
1384
+
1385
+ #: admin/includes/tab-settings.php:1309
1386
+ msgid "Maximum period for &#8220;Statistics&#8221; [day]"
1387
+ msgstr "記録する統計の最大期間(日)"
1388
+
1389
+ #: admin/includes/tab-settings.php:1327
1390
+ msgid "Remove all settings and records at uninstallation"
1391
+ msgstr "アンインストール時に設定と記録を全て削除"
1392
+
1393
+ #: admin/includes/tab-settings.php:1344
1394
  msgid "Geolocation API settings"
1395
  msgstr "位置情報APIの設定"
1396
 
1397
+ #: admin/includes/tab-settings.php:1365
1398
  msgid ""
1399
  "<dfn title=\"IP address cache and local database are scanned at the top "
1400
  "priority.\">API selection and key settings</dfn>"
1402
  "<dfn title=\"IPアドレスのキャッシュとローカルのデータベースが最優先で検索され"
1403
  "ます。\">APIの選択とキーの設定</dfn>"
1404
 
1405
+ #: admin/includes/tab-settings.php:1385
1406
  msgid "Timeout for network API [sec]"
1407
  msgstr "ネットワークAPIのタイムアウト[秒]"
1408
 
1409
+ #: admin/includes/tab-settings.php:1403
1410
  #, php-format
1411
  msgid ""
1412
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1431
  "Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共に <code>ip-geo-api</"
1432
  "code> をインストールしてください。"
1433
 
1434
+ #: admin/includes/tab-settings.php:1410
1435
  msgid "Local database settings"
1436
  msgstr "ローカル・データベースの設定"
1437
 
1438
+ #: admin/includes/tab-settings.php:1424
1439
  msgid "database"
1440
  msgstr "ファイル"
1441
 
1442
+ #: admin/includes/tab-settings.php:1425 classes/class-ip-geo-block-cron.php:419
1443
  #, php-format
1444
  msgid "Last update: %s"
1445
  msgstr "最終更新:%s"
1446
 
1447
+ #: admin/includes/tab-settings.php:1448
1448
  msgid "Auto updating (once a month)"
1449
  msgstr "自動更新(月1回)"
1450
 
1451
+ #: admin/includes/tab-settings.php:1466
1452
  msgid "Download database"
1453
  msgstr "データベースのダウンロード"
1454
 
1455
+ #: admin/includes/tab-settings.php:1474
1456
  msgid "Download now"
1457
  msgstr "今すぐダウンロード"
1458
 
1459
+ #: admin/includes/tab-settings.php:1485
1460
  msgid "Submission settings"
1461
  msgstr "投稿時の設定"
1462
 
1463
+ #: admin/includes/tab-settings.php:1497
1464
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1465
  msgstr "全体が&lt;p&gt;タグで囲われます。使用可能タグ:"
1466
 
1467
+ #: admin/includes/tab-settings.php:1497
1468
  msgid "Message on comment form"
1469
  msgstr "投稿フォーム上のメッセージ"
1470
 
1471
+ #: admin/includes/tab-settings.php:1509
1472
  msgid "None"
1473
  msgstr "なし"
1474
 
1475
+ #: admin/includes/tab-settings.php:1510
1476
  msgid "Top"
1477
  msgstr "上部"
1478
 
1479
+ #: admin/includes/tab-settings.php:1511
1480
  msgid "Bottom"
1481
  msgstr "下部"
1482
 
1483
+ #: admin/includes/tab-settings.php:1522
1484
  msgid "Plugin settings"
1485
  msgstr "プラグインの設定"
1486
 
1487
+ #: admin/includes/tab-settings.php:1535
1488
  msgid ""
1489
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1490
  "settings</dfn>"
1492
  "<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワーク内で設"
1493
  "定を同期</dfn>"
1494
 
1495
+ #: admin/includes/tab-settings.php:1555
 
 
 
 
1496
  msgid ""
1497
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1498
  "dfn>"
1500
  "<dfn title=\"Google Maps JavaScript API に有効なキー\">Google Maps API キー</"
1501
  "dfn>"
1502
 
1503
+ #: admin/includes/tab-settings.php:1569
1504
  msgid ""
1505
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1506
  "settings to take effect."
1508
  "インポートされた設定を有効にするには、[変更を保存]ボタンをクリックする必要が"
1509
  "あります。"
1510
 
1511
+ #: admin/includes/tab-settings.php:1575
1512
  msgid "Export / Import settings"
1513
  msgstr "設定のエクスポート、インポート"
1514
 
1515
+ #: admin/includes/tab-settings.php:1582
1516
  msgid "Export settings"
1517
  msgstr "エクスポート"
1518
 
1519
+ #: admin/includes/tab-settings.php:1583
1520
  msgid "Import from the local file"
1521
  msgstr "ローカル・ファイルからインポートします"
1522
 
1523
+ #: admin/includes/tab-settings.php:1583
1524
  msgid "Import settings"
1525
  msgstr "インポート"
1526
 
1527
+ #: admin/includes/tab-settings.php:1592
1528
  msgid "Import pre-defined settings"
1529
  msgstr "プリセットのインポート"
1530
 
1531
+ #: admin/includes/tab-settings.php:1599
1532
  msgid ""
1533
  "Import the default settings to revert to the &#8220;Right after "
1534
  "installing&#8221; state"
1535
  msgstr "インストール直後の状態に戻すための設定値をインポートします"
1536
 
1537
+ #: admin/includes/tab-settings.php:1599
1538
  msgid "Default settings"
1539
  msgstr "初期設定"
1540
 
1541
+ #: admin/includes/tab-settings.php:1600
1542
  msgid ""
1543
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1544
  "for the &#8220;Back-end target settings&#8221;"
1546
  "「ゼロデイ攻撃の遮断」など、主に[バックエンドの設定]の推奨設定をインポートし"
1547
  "ます。"
1548
 
1549
+ #: admin/includes/tab-settings.php:1600
1550
  msgid "Best for Back-end"
1551
  msgstr "バックエンドの推奨設定"
1552
 
1553
+ #: admin/includes/tab-settings.php:1610
1554
  msgid "Delete DB tables for this plugin"
1555
  msgstr "このプラグイン用データベース・テーブルの削除"
1556
 
1557
+ #: admin/includes/tab-settings.php:1618
1558
  msgid "Delete now"
1559
  msgstr "今すぐ削除"
1560
 
1561
+ #: admin/includes/tab-settings.php:1626
1562
  msgid "Create DB tables for this plugin"
1563
  msgstr "このプラグイン用データベース・テーブルの作成"
1564
 
1565
+ #: admin/includes/tab-settings.php:1634
1566
  msgid "Create now"
1567
  msgstr "今すぐ作成"
1568
 
1569
+ #: admin/includes/tab-settings.php:1644
1570
  msgid ""
1571
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1572
  "button to find the blocked request in the dumped information which may help "
1573
+ "to solve the issue.\">Diagnostic information</dfn><br />[ <a rel=\"noreferrer"
1574
+ "\" href=\"https://wordpress.org/support/plugin/ip-geo-block\" title="
1575
+ "\"WordPress &#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1576
  msgstr ""
1577
+ "<dfn title=\"予期しない遮断が発生した場合は、ダンプされた診断情報を元にリクエ"
1578
+ "ストの遮断理由を推定し、問題解決に役立ててください。\">診断情報</dfn><br /"
1579
+ ">[ <a rel=\"noreferrer\" href=\"https://wordpress.org/support/plugin/ip-geo-"
1580
+ "block\" title=\"WordPress &#8250; Support &raquo; IP Geo Block\">サポート・"
1581
+ "フォーラム</a> ]"
1582
 
1583
+ #: admin/includes/tab-settings.php:1651
1584
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1585
  msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください。"
1586
 
1587
+ #: admin/includes/tab-settings.php:1651
1588
  msgid "Show information"
1589
  msgstr "情報を表示"
1590
 
1591
+ #: admin/includes/tab-settings.php:1667
1592
  msgid ""
1593
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1594
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
1600
  "\" title=\"The best practice for target settings | IP Geo Block\">The best "
1601
  "practice fortarget settings</a>&#8220;&thinsp;を参照してください。"
1602
 
1603
+ #: admin/includes/tab-settings.php:1668
1604
  msgid ""
1605
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1606
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1614
  "com/codex/#faq\" title=\"Codex | IP Geo Block\">Codex</a> の FAQ を参照してく"
1615
  "ださい。"
1616
 
1617
+ #: admin/includes/tab-settings.php:1675
1618
  msgid ""
1619
  "While Geolite2&thinsp;/&thinsp;Maxmind and IP2Location will fetch the local "
1620
  "databases, others will pass an IP address to the 3rd parties' API via HTTP."
1621
  msgstr ""
1622
+ "MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して外"
1623
+ "部のAPIにIPアドレスを渡します。"
1624
 
1625
+ #: admin/includes/tab-settings.php:1676
1626
  msgid ""
1627
  "Please select the appropriate APIs to fit the privacy law&thinsp;/&thinsp;"
1628
  "regulation in your country&thinsp;/&thinsp;region."
1629
  msgstr "自国のプライバシー関連法規に合わせ、適切なAPIを選択して下さい。"
1630
 
1631
+ #: admin/includes/tab-settings.php:1685
1632
  #, php-format
1633
  msgid ""
1634
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1638
  "ジョン&thinsp;5.4.0&thinsp;以上と&thinsp;%sPECL phar 2.0.0&thinsp;以上%sが必要"
1639
  "です。"
1640
 
1641
+ #: admin/includes/tab-settings.php:1693
1642
  msgid ""
1643
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1644
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
1650
  "end\" title=\"Codex | IP Geo Block\">Blocking on front-end</a>&#8221; を参照し"
1651
  "てください。"
1652
 
1653
+ #: admin/includes/tab-settings.php:1694
1654
  msgid ""
1655
  "If you find any issues or have something to suggest, please feel free to "
1656
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
1662
  "&#8250; Support &raquo; IP Geo Block\">サポートフォーラム</a> に投稿をお願いし"
1663
  "ます。"
1664
 
1665
+ #: admin/includes/tab-settings.php:1701
1666
  msgid ""
1667
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1668
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
1717
  msgstr "ログの統計"
1718
 
1719
  #: admin/includes/tab-statistics.php:217
1720
+ msgid "Statistics in IP address cache"
1721
  msgstr "キャッシュの統計"
1722
 
1723
+ #: admin/includes/tab-statistics.php:230
1724
  msgid "Search in cache"
1725
  msgstr "キャッシュを検索"
1726
 
1727
+ #: admin/includes/tab-statistics.php:271
1728
  msgid "Clear cache"
1729
  msgstr "キャッシュのクリア"
1730
 
1731
  #: admin/includes/tab-statistics.php:288
1732
+ msgid "Export cache"
1733
+ msgstr "キャッシュをエクスポート"
1734
+
1735
+ #: admin/includes/tab-statistics.php:311
1736
  msgid "Country (Top 10)"
1737
  msgstr "国(トップ10)"
1738
 
1739
+ #: admin/includes/tab-statistics.php:312
1740
  msgid "AS number (Top 10)"
1741
  msgstr "AS番号(トップ10)"
1742
 
1743
+ #: admin/includes/tab-statistics.php:313
1744
  msgid "IP address (Top 10)"
1745
  msgstr "IPアドレス(トップ10)"
1746
 
1747
+ #: admin/includes/tab-statistics.php:314
1748
  msgid "Slug in back-end"
1749
  msgstr "バックエンドのスラッグ"
1750
 
1751
+ #: admin/includes/tab-statistics.php:366
1752
  msgid "Toggle sorting order"
1753
  msgstr "ソート順を切り替え"
1754
 
1755
+ #: admin/includes/tab-statistics.php:417
1756
  #, php-format
1757
+ msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is disabled."
1758
  msgstr "[%s検証の統計を記録%s]が無効です。"
1759
 
1760
+ #: admin/includes/tab-statistics.php:418
1761
  msgid ""
1762
  "Please set the proper condition to record and analyze the validation "
1763
  "statistics."
1764
  msgstr "検証の統計を記録し分析するためには、適切な条件を設定して下さい。"
1765
 
1766
+ #: admin/includes/tab-statistics.php:431
1767
+ #, php-format
1768
+ msgid "[ %sRecord &#8220;IP address cache&#8221;%s ] is disabled."
1769
+ msgstr "[ %sIPアドレスをキャッシュに記録%s]が無効です。"
1770
+
1771
+ #: admin/includes/tab-statistics.php:432
1772
+ msgid "Please set the proper condition to record IP address in cache."
1773
+ msgstr ""
1774
+ "キャッシュを利用しサイトの応答性を上げるためには、適切な条件を設定して下さい。"
1775
+
1776
  #: classes/class-ip-geo-block-apis.php:661
1777
  msgid ""
1778
  "You need to select at least one IP geolocation service. Otherwise "
1781
  "少なくとも1つ以上の位置情報サービスを選択して下さい。未選択の場合、キャッシュ"
1782
  "の有効期限切れと共にロックアウトされます。"
1783
 
1784
+ #: classes/class-ip-geo-block-cron.php:222
1785
  #, php-format
1786
  msgid "Can't lock <code>%s</code>. Please try again after a while."
1787
  msgstr ""
1788
  "<code>%s</code> をロック出来ません。パーミッションをチェックして下さい。"
1789
 
1790
+ #: classes/class-ip-geo-block-cron.php:301
1791
  msgid "Your database file is up-to-date."
1792
  msgstr "データベース・ファイルは最新です。"
1793
 
1794
+ #: classes/class-ip-geo-block-cron.php:400
1795
  msgid "gz or zip is not supported on your system."
1796
  msgstr "gz または zip がサポートされていません。"
1797
 
languages/ip-geo-block.mo CHANGED
Binary file
languages/ip-geo-block.po CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: IP Geo Block 3.0.11\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-05-06 15:31+0900\n"
8
- "PO-Revision-Date: 2018-05-06 15:32+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -26,151 +26,169 @@ msgid ""
26
  "posted from outside your nation, and also prevents zero-day exploit."
27
  msgstr ""
28
 
29
- #: admin/class-ip-geo-block-admin.php:268
30
  msgid "Import settings ?"
31
  msgstr ""
32
 
33
- #: admin/class-ip-geo-block-admin.php:269
34
  msgid "Create table ?"
35
  msgstr ""
36
 
37
- #: admin/class-ip-geo-block-admin.php:270
38
  msgid "Delete table ?"
39
  msgstr ""
40
 
41
- #: admin/class-ip-geo-block-admin.php:271
42
  msgid "Clear statistics ?"
43
  msgstr ""
44
 
45
- #: admin/class-ip-geo-block-admin.php:272
46
  msgid "Clear cache ?"
47
  msgstr ""
48
 
49
- #: admin/class-ip-geo-block-admin.php:273
50
  msgid "Clear logs ?"
51
  msgstr ""
52
 
53
- #: admin/class-ip-geo-block-admin.php:274
54
  msgid "ajax for logged-in user"
55
  msgstr ""
56
 
57
- #: admin/class-ip-geo-block-admin.php:275
58
  msgid "ajax for non logged-in user"
59
  msgstr ""
60
 
61
- #: admin/class-ip-geo-block-admin.php:276
62
  #, php-format
63
  msgid "[Found: %d]"
64
  msgstr ""
65
 
66
- #: admin/class-ip-geo-block-admin.php:277
67
  #, php-format
68
  msgid "Find and verify `%s` on &#8220;Logs&#8221; tab."
69
  msgstr ""
70
 
71
- #: admin/class-ip-geo-block-admin.php:278
72
  msgid "This feature is available with HTML5 compliant browsers."
73
  msgstr ""
74
 
75
- #: admin/class-ip-geo-block-admin.php:279
76
  msgid "The selected row cannot be found in the visible area."
77
  msgstr ""
78
 
79
- #: admin/class-ip-geo-block-admin.php:280
80
- #: admin/class-ip-geo-block-admin.php:1478
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
84
 
85
- #: admin/class-ip-geo-block-admin.php:284
86
  msgid "No data available in table"
87
  msgstr ""
88
 
89
- #: admin/class-ip-geo-block-admin.php:285
90
  msgid "No matching records found"
91
  msgstr ""
92
 
93
- #: admin/class-ip-geo-block-admin.php:286 admin/includes/tab-geolocation.php:70
 
 
 
94
  msgid "IP address"
95
  msgstr ""
96
 
97
- #: admin/class-ip-geo-block-admin.php:287
 
 
98
  msgid "Code"
99
  msgstr ""
100
 
101
- #: admin/class-ip-geo-block-admin.php:288
 
 
102
  msgid "ASN"
103
  msgstr ""
104
 
105
- #: admin/class-ip-geo-block-admin.php:289
 
106
  msgid "Host name"
107
  msgstr ""
108
 
109
- #: admin/class-ip-geo-block-admin.php:290
 
 
110
  msgid "Target"
111
  msgstr ""
112
 
113
- #: admin/class-ip-geo-block-admin.php:291
 
114
  msgid "Failure / Total"
115
  msgstr ""
116
 
117
- #: admin/class-ip-geo-block-admin.php:292
 
118
  msgid "Elapsed[sec]"
119
  msgstr ""
120
 
121
- #: admin/class-ip-geo-block-admin.php:293
 
122
  msgid "Time"
123
  msgstr ""
124
 
125
- #: admin/class-ip-geo-block-admin.php:294
 
126
  msgid "Result"
127
  msgstr ""
128
 
129
- #: admin/class-ip-geo-block-admin.php:295
 
130
  msgid "Request"
131
  msgstr ""
132
 
133
- #: admin/class-ip-geo-block-admin.php:296
 
134
  msgid "User agent"
135
  msgstr ""
136
 
137
- #: admin/class-ip-geo-block-admin.php:297
 
138
  msgid "HTTP headers"
139
  msgstr ""
140
 
141
- #: admin/class-ip-geo-block-admin.php:298
 
142
  msgid "$_POST data"
143
  msgstr ""
144
 
145
- #: admin/class-ip-geo-block-admin.php:324
146
  msgid "Contribute on GitHub"
147
  msgstr ""
148
 
149
- #: admin/class-ip-geo-block-admin.php:338
150
- #: admin/class-ip-geo-block-admin.php:446
151
- #: admin/class-ip-geo-block-admin.php:663
152
  msgid "Settings"
153
  msgstr ""
154
 
155
- #: admin/class-ip-geo-block-admin.php:424
156
  #: admin/class-ip-geo-block-admin.php:425
157
- #: admin/class-ip-geo-block-admin.php:435
158
  #: admin/class-ip-geo-block-admin.php:436
159
- #: admin/class-ip-geo-block-admin.php:445
160
- #: admin/class-ip-geo-block-admin.php:454
 
161
  msgid "IP Geo Block"
162
  msgstr ""
163
 
164
- #: admin/class-ip-geo-block-admin.php:455
165
- #: admin/class-ip-geo-block-admin.php:668
166
  msgid "Site List"
167
  msgstr ""
168
 
169
- #: admin/class-ip-geo-block-admin.php:484
170
  msgid "You need WordPress 3.7+."
171
  msgstr ""
172
 
173
- #: admin/class-ip-geo-block-admin.php:490
174
  #, php-format
175
  msgid ""
176
  "Now downloading geolocation databases in background. After a little while, "
@@ -178,48 +196,48 @@ msgid ""
178
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
179
  msgstr ""
180
 
181
- #: admin/class-ip-geo-block-admin.php:496
182
  #, php-format
183
  msgid ""
184
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
185
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
186
  msgstr ""
187
 
188
- #: admin/class-ip-geo-block-admin.php:505
189
  msgid "Local database and matching rule have been updated."
190
  msgstr ""
191
 
192
- #: admin/class-ip-geo-block-admin.php:516
193
  msgid ""
194
  "Once you logout, you will be unable to login again because the number of "
195
  "login attempts reaches the limit."
196
  msgstr ""
197
 
198
- #: admin/class-ip-geo-block-admin.php:518
199
  #, php-format
200
  msgid ""
201
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
202
  "tab</a> to prevent locking yourself out."
203
  msgstr ""
204
 
205
- #: admin/class-ip-geo-block-admin.php:528
206
  msgid ""
207
  "Once you logout, you will be unable to login again because your country code "
208
  "or IP address is in the blacklist."
209
  msgstr ""
210
 
211
- #: admin/class-ip-geo-block-admin.php:529
212
  msgid ""
213
  "Once you logout, you will be unable to login again because your country code "
214
  "or IP address is not in the whitelist."
215
  msgstr ""
216
 
217
- #: admin/class-ip-geo-block-admin.php:533
218
  #, php-format
219
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
220
  msgstr ""
221
 
222
- #: admin/class-ip-geo-block-admin.php:537
223
  #, php-format
224
  msgid ""
225
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
@@ -227,94 +245,94 @@ msgid ""
227
  "%sStatistics in cache%s&#8221; section."
228
  msgstr ""
229
 
230
- #: admin/class-ip-geo-block-admin.php:558
231
  msgid ""
232
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
233
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
234
  "select &#8220;init&#8221; action hook."
235
  msgstr ""
236
 
237
- #: admin/class-ip-geo-block-admin.php:664
238
  msgid "Statistics"
239
  msgstr ""
240
 
241
- #: admin/class-ip-geo-block-admin.php:665
242
  msgid "Logs"
243
  msgstr ""
244
 
245
- #: admin/class-ip-geo-block-admin.php:666
246
  msgid "Search"
247
  msgstr ""
248
 
249
- #: admin/class-ip-geo-block-admin.php:667
250
  msgid "Attribution"
251
  msgstr ""
252
 
253
- #: admin/class-ip-geo-block-admin.php:684
254
- #: admin/class-ip-geo-block-admin.php:701
255
  msgid "Network wide"
256
  msgstr ""
257
 
258
- #: admin/class-ip-geo-block-admin.php:714
259
  msgid "Toggle all"
260
  msgstr ""
261
 
262
- #: admin/class-ip-geo-block-admin.php:717
263
  msgid ""
264
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
265
  "the requests validated by this plugin in almost real time."
266
  msgstr ""
267
 
268
- #: admin/class-ip-geo-block-admin.php:717 admin/includes/tab-accesslog.php:39
269
  msgid "Live update"
270
  msgstr ""
271
 
272
- #: admin/class-ip-geo-block-admin.php:721
273
  msgid "Open a new window on clicking the link in the chart."
274
  msgstr ""
275
 
276
- #: admin/class-ip-geo-block-admin.php:721
277
  msgid "Open a new window"
278
  msgstr ""
279
 
280
- #: admin/class-ip-geo-block-admin.php:744
281
  msgid "Thanks for providing these great services for free."
282
  msgstr ""
283
 
284
- #: admin/class-ip-geo-block-admin.php:745
285
  msgid ""
286
  "(Most browsers will redirect you to each site <a href=\"http://www."
287
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
288
  "when you click the link</a>.)"
289
  msgstr ""
290
 
291
- #: admin/class-ip-geo-block-admin.php:750
292
  msgid "Back to top"
293
  msgstr ""
294
 
295
- #: admin/class-ip-geo-block-admin.php:842
296
  msgid "Enable"
297
  msgstr ""
298
 
299
- #: admin/class-ip-geo-block-admin.php:857
300
  msgid "Select one"
301
  msgstr ""
302
 
303
- #: admin/class-ip-geo-block-admin.php:1272
304
  msgid "You do not have sufficient permissions to access this page."
305
  msgstr ""
306
 
307
- #: admin/class-ip-geo-block-admin.php:1299
308
  #: admin/includes/class-admin-rewrite.php:194
309
- #: classes/class-ip-geo-block-cron.php:212
310
- #: classes/class-ip-geo-block-cron.php:316
311
- #: classes/class-ip-geo-block-cron.php:390
312
- #: classes/class-ip-geo-block-opts.php:446
313
  #, php-format
314
  msgid "Unable to write <code>%s</code>. Please check the permission."
315
  msgstr ""
316
 
317
- #: admin/class-ip-geo-block-admin.php:1329
318
  msgid "Settings saved."
319
  msgstr ""
320
 
@@ -327,20 +345,20 @@ msgstr ""
327
  msgid "UNKNOWN"
328
  msgstr ""
329
 
330
- #: admin/includes/class-admin-ajax.php:187
331
  #, php-format
332
  msgid "The user %s (user ID: %d) is in use."
333
  msgstr ""
334
 
335
- #: admin/includes/class-admin-ajax.php:436
336
  #, php-format
337
  msgid ""
338
  "illegal format at %s. Please delete the corresponding line and try again."
339
  msgstr ""
340
 
341
  #: admin/includes/class-admin-rewrite.php:168
342
- #: classes/class-ip-geo-block-cron.php:207
343
- #: classes/class-ip-geo-block-cron.php:385
344
  #, php-format
345
  msgid "Unable to read <code>%s</code>. Please check the permission."
346
  msgstr ""
@@ -361,7 +379,7 @@ msgid "Validation logs"
361
  msgstr ""
362
 
363
  #: admin/includes/tab-accesslog.php:19 admin/includes/tab-settings.php:765
364
- #: admin/includes/tab-settings.php:1379
365
  msgid "Help"
366
  msgstr ""
367
 
@@ -397,36 +415,36 @@ msgstr ""
397
  msgid "Search in logs"
398
  msgstr ""
399
 
400
- #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:235
401
  msgid "Reset"
402
  msgstr ""
403
 
404
- #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:242
405
  msgid "Bulk action"
406
  msgstr ""
407
 
408
- #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:253
409
  msgid "Remove entries by IP address"
410
  msgstr ""
411
 
412
- #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:254
413
  msgid "Add IP address to &#8220;Whitelist&#8221;"
414
  msgstr ""
415
 
416
- #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:255
417
  msgid "Add IP address to &#8220;Blacklist&#8221;"
418
  msgstr ""
419
 
420
- #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:256
421
  msgid "Add AS number to &#8220;Whitelist&#8221;"
422
  msgstr ""
423
 
424
- #: admin/includes/tab-accesslog.php:119 admin/includes/tab-statistics.php:257
425
  msgid "Add AS number to &#8220;Blacklist&#8221;"
426
  msgstr ""
427
 
428
  #: admin/includes/tab-accesslog.php:121 admin/includes/tab-network.php:56
429
- #: admin/includes/tab-statistics.php:259
430
  msgid "Apply"
431
  msgstr ""
432
 
@@ -435,7 +453,7 @@ msgid "Clear logs"
435
  msgstr ""
436
 
437
  #: admin/includes/tab-accesslog.php:137 admin/includes/tab-statistics.php:173
438
- #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
439
  msgid "Clear all"
440
  msgstr ""
441
 
@@ -443,22 +461,23 @@ msgstr ""
443
  msgid "Export logs"
444
  msgstr ""
445
 
446
- #: admin/includes/tab-accesslog.php:153 admin/includes/tab-settings.php:1567
 
447
  msgid "Export to the local file"
448
  msgstr ""
449
 
450
- #: admin/includes/tab-accesslog.php:153
451
  msgid "Export csv"
452
  msgstr ""
453
 
454
  #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:114
455
- #: admin/includes/tab-statistics.php:401
456
  #, php-format
457
- msgid "[ %sRecord &#8220;Logs&#8221;%s ] is desabled."
458
  msgstr ""
459
 
460
  #: admin/includes/tab-accesslog.php:175 admin/includes/tab-network.php:115
461
- #: admin/includes/tab-statistics.php:402
462
  msgid ""
463
  "Please set the proper condition to record and analyze the validation logs."
464
  msgstr ""
@@ -477,10 +496,10 @@ msgstr ""
477
 
478
  #: admin/includes/tab-geolocation.php:86 admin/includes/tab-settings.php:1101
479
  msgid ""
480
- "<dfn title=\"IP address is always encrypted on recording in logs and cache. "
481
  "Moreover, this option makes the IP address anonymous and restricted on "
482
  "sending to the 3rd parties such as geolocation APIs or whois service."
483
- "\">Privacy friendly</dfn>"
484
  msgstr ""
485
 
486
  #: admin/includes/tab-geolocation.php:101
@@ -707,7 +726,7 @@ msgid ""
707
  msgstr ""
708
 
709
  #: admin/includes/tab-settings.php:318 admin/includes/tab-settings.php:499
710
- #: admin/includes/tab-settings.php:623 admin/includes/tab-settings.php:1163
711
  msgid "Disable"
712
  msgstr ""
713
 
@@ -1069,141 +1088,152 @@ msgstr ""
1069
 
1070
  #: admin/includes/tab-settings.php:1117
1071
  msgid ""
1072
- "<dfn title=\"This option enables to record the number blocked countries and "
1073
- "the number of blocked requests per day.\">Record &#8220;Statistics&#8221;</"
1074
- "dfn>"
1075
  msgstr ""
1076
 
1077
- #: admin/includes/tab-settings.php:1134
1078
- msgid "Maximum period for &#8220;Statistics&#8221; (days)"
 
 
 
 
1079
  msgstr ""
1080
 
1081
- #: admin/includes/tab-settings.php:1152
1082
  msgid ""
1083
  "<dfn title=\"This option enables to record the validation logs including IP "
1084
- "address.\">Record &#8220;Logs&#8221;</dfn>"
1085
  msgstr ""
1086
 
1087
- #: admin/includes/tab-settings.php:1164
1088
- msgid "When requests blocked"
1089
  msgstr ""
1090
 
1091
- #: admin/includes/tab-settings.php:1165
1092
- msgid "When requests passed"
1093
  msgstr ""
1094
 
1095
- #: admin/includes/tab-settings.php:1166
1096
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1097
  msgstr ""
1098
 
1099
- #: admin/includes/tab-settings.php:1167
1100
  msgid "Unauthenticated visitor"
1101
  msgstr ""
1102
 
1103
- #: admin/includes/tab-settings.php:1168
1104
  msgid "Authenticated user"
1105
  msgstr ""
1106
 
1107
- #: admin/includes/tab-settings.php:1169
1108
  msgid "All the validation"
1109
  msgstr ""
1110
 
1111
- #: admin/includes/tab-settings.php:1178
1112
- msgid "Maximum entries of &#8220;Logs&#8221;"
1113
- msgstr ""
1114
-
1115
- #: admin/includes/tab-settings.php:1195
1116
  msgid ""
1117
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1118
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1119
  msgstr ""
1120
 
1121
- #: admin/includes/tab-settings.php:1214
 
 
 
 
 
 
 
 
 
 
 
1122
  msgid ""
1123
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1124
  "&#8220;Live update&#8221;</dfn>"
1125
  msgstr ""
1126
 
1127
- #: admin/includes/tab-settings.php:1226
1128
  msgid "Ordinary file"
1129
  msgstr ""
1130
 
1131
- #: admin/includes/tab-settings.php:1227
1132
  msgid "In-Memory"
1133
  msgstr ""
1134
 
1135
- #: admin/includes/tab-settings.php:1230
1136
  msgid "PDO_SQLITE driver not available"
1137
  msgstr ""
1138
 
1139
- #: admin/includes/tab-settings.php:1231
1140
  msgid ""
1141
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1142
  "without conflict with other plugins."
1143
  msgstr ""
1144
 
1145
- #: admin/includes/tab-settings.php:1232
1146
  msgid ""
1147
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1148
  "with other plugins using this method."
1149
  msgstr ""
1150
 
1151
- #: admin/includes/tab-settings.php:1241
1152
  msgid "Reset database source of &#8220;Live update&#8221;"
1153
  msgstr ""
1154
 
1155
- #: admin/includes/tab-settings.php:1249
1156
  msgid "Reset now"
1157
  msgstr ""
1158
 
1159
- #: admin/includes/tab-settings.php:1259
1160
  msgid ""
1161
- "<dfn title=\"This option enables to record the IP address , country code and "
1162
- "login fail counter into the cache on database to minimize the impact on site "
1163
- "speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1164
  msgstr ""
1165
 
1166
  #: admin/includes/tab-settings.php:1275
1167
- #, php-format
1168
  msgid ""
1169
- "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1170
- "login will also be prohibited for this and garbage collection period."
1171
- "\">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>"
1172
  msgstr ""
1173
 
1174
- #: admin/includes/tab-settings.php:1289 admin/includes/tab-settings.php:1411
1175
- msgid ""
1176
- "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1177
- "once and activate again."
1178
  msgstr ""
1179
 
1180
- #: admin/includes/tab-settings.php:1295
1181
  msgid ""
1182
- "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1183
- "expired entries of cache.\">Garbage collection period [sec] for &#8220;IP "
1184
- "address cache&#8221;</dfn>"
1185
  msgstr ""
1186
 
1187
- #: admin/includes/tab-settings.php:1304 admin/includes/tab-settings.php:1428
1188
- #, php-format
1189
- msgid "Next schedule: %s"
 
 
 
1190
  msgstr ""
1191
 
1192
- #: admin/includes/tab-settings.php:1313
1193
  msgid "Geolocation API settings"
1194
  msgstr ""
1195
 
1196
- #: admin/includes/tab-settings.php:1334
1197
  msgid ""
1198
  "<dfn title=\"IP address cache and local database are scanned at the top "
1199
  "priority.\">API selection and key settings</dfn>"
1200
  msgstr ""
1201
 
1202
- #: admin/includes/tab-settings.php:1354
1203
  msgid "Timeout for network API [sec]"
1204
  msgstr ""
1205
 
1206
- #: admin/includes/tab-settings.php:1372
1207
  #, php-format
1208
  msgid ""
1209
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
@@ -1218,155 +1248,151 @@ msgid ""
1218
  "troubles? | IP Geo Block\">this instruction</a>."
1219
  msgstr ""
1220
 
1221
- #: admin/includes/tab-settings.php:1379
1222
  msgid "Local database settings"
1223
  msgstr ""
1224
 
1225
- #: admin/includes/tab-settings.php:1393
1226
  msgid "database"
1227
  msgstr ""
1228
 
1229
- #: admin/includes/tab-settings.php:1394 classes/class-ip-geo-block-cron.php:414
1230
  #, php-format
1231
  msgid "Last update: %s"
1232
  msgstr ""
1233
 
1234
- #: admin/includes/tab-settings.php:1417
1235
  msgid "Auto updating (once a month)"
1236
  msgstr ""
1237
 
1238
- #: admin/includes/tab-settings.php:1435
1239
  msgid "Download database"
1240
  msgstr ""
1241
 
1242
- #: admin/includes/tab-settings.php:1443
1243
  msgid "Download now"
1244
  msgstr ""
1245
 
1246
- #: admin/includes/tab-settings.php:1454
1247
  msgid "Submission settings"
1248
  msgstr ""
1249
 
1250
- #: admin/includes/tab-settings.php:1466
1251
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1252
  msgstr ""
1253
 
1254
- #: admin/includes/tab-settings.php:1466
1255
  msgid "Message on comment form"
1256
  msgstr ""
1257
 
1258
- #: admin/includes/tab-settings.php:1478
1259
  msgid "None"
1260
  msgstr ""
1261
 
1262
- #: admin/includes/tab-settings.php:1479
1263
  msgid "Top"
1264
  msgstr ""
1265
 
1266
- #: admin/includes/tab-settings.php:1480
1267
  msgid "Bottom"
1268
  msgstr ""
1269
 
1270
- #: admin/includes/tab-settings.php:1491
1271
  msgid "Plugin settings"
1272
  msgstr ""
1273
 
1274
- #: admin/includes/tab-settings.php:1504
1275
  msgid ""
1276
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1277
  "settings</dfn>"
1278
  msgstr ""
1279
 
1280
- #: admin/includes/tab-settings.php:1522
1281
- msgid "Remove all settings at uninstallation"
1282
- msgstr ""
1283
-
1284
- #: admin/includes/tab-settings.php:1540
1285
  msgid ""
1286
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1287
  "dfn>"
1288
  msgstr ""
1289
 
1290
- #: admin/includes/tab-settings.php:1554
1291
  msgid ""
1292
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1293
  "settings to take effect."
1294
  msgstr ""
1295
 
1296
- #: admin/includes/tab-settings.php:1560
1297
  msgid "Export / Import settings"
1298
  msgstr ""
1299
 
1300
- #: admin/includes/tab-settings.php:1567
1301
  msgid "Export settings"
1302
  msgstr ""
1303
 
1304
- #: admin/includes/tab-settings.php:1568
1305
  msgid "Import from the local file"
1306
  msgstr ""
1307
 
1308
- #: admin/includes/tab-settings.php:1568
1309
  msgid "Import settings"
1310
  msgstr ""
1311
 
1312
- #: admin/includes/tab-settings.php:1577
1313
  msgid "Import pre-defined settings"
1314
  msgstr ""
1315
 
1316
- #: admin/includes/tab-settings.php:1584
1317
  msgid ""
1318
  "Import the default settings to revert to the &#8220;Right after "
1319
  "installing&#8221; state"
1320
  msgstr ""
1321
 
1322
- #: admin/includes/tab-settings.php:1584
1323
  msgid "Default settings"
1324
  msgstr ""
1325
 
1326
- #: admin/includes/tab-settings.php:1585
1327
  msgid ""
1328
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1329
  "for the &#8220;Back-end target settings&#8221;"
1330
  msgstr ""
1331
 
1332
- #: admin/includes/tab-settings.php:1585
1333
  msgid "Best for Back-end"
1334
  msgstr ""
1335
 
1336
- #: admin/includes/tab-settings.php:1595
1337
  msgid "Delete DB tables for this plugin"
1338
  msgstr ""
1339
 
1340
- #: admin/includes/tab-settings.php:1603
1341
  msgid "Delete now"
1342
  msgstr ""
1343
 
1344
- #: admin/includes/tab-settings.php:1611
1345
  msgid "Create DB tables for this plugin"
1346
  msgstr ""
1347
 
1348
- #: admin/includes/tab-settings.php:1619
1349
  msgid "Create now"
1350
  msgstr ""
1351
 
1352
- #: admin/includes/tab-settings.php:1629
1353
  msgid ""
1354
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1355
  "button to find the blocked request in the dumped information which may help "
1356
- "to solve the issue.\">Debug information</dfn><br />[ <a rel=\"noreferrer\" "
1357
- "href=\"https://wordpress.org/support/plugin/ip-geo-block\" title=\"WordPress "
1358
- "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1359
  msgstr ""
1360
 
1361
- #: admin/includes/tab-settings.php:1636
1362
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1363
  msgstr ""
1364
 
1365
- #: admin/includes/tab-settings.php:1636
1366
  msgid "Show information"
1367
  msgstr ""
1368
 
1369
- #: admin/includes/tab-settings.php:1652
1370
  msgid ""
1371
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1372
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
@@ -1374,7 +1400,7 @@ msgid ""
1374
  "\">The best practice for target settings</a>&#8221;."
1375
  msgstr ""
1376
 
1377
- #: admin/includes/tab-settings.php:1653
1378
  msgid ""
1379
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1380
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
@@ -1383,26 +1409,26 @@ msgid ""
1383
  "\">Codex</a>."
1384
  msgstr ""
1385
 
1386
- #: admin/includes/tab-settings.php:1660
1387
  msgid ""
1388
  "While Geolite2&thinsp;/&thinsp;Maxmind and IP2Location will fetch the local "
1389
  "databases, others will pass an IP address to the 3rd parties' API via HTTP."
1390
  msgstr ""
1391
 
1392
- #: admin/includes/tab-settings.php:1661
1393
  msgid ""
1394
  "Please select the appropriate APIs to fit the privacy law&thinsp;/&thinsp;"
1395
  "regulation in your country&thinsp;/&thinsp;region."
1396
  msgstr ""
1397
 
1398
- #: admin/includes/tab-settings.php:1670
1399
  #, php-format
1400
  msgid ""
1401
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1402
  "2.0.0+%s."
1403
  msgstr ""
1404
 
1405
- #: admin/includes/tab-settings.php:1678
1406
  msgid ""
1407
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1408
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
@@ -1410,7 +1436,7 @@ msgid ""
1410
  "cache plugin."
1411
  msgstr ""
1412
 
1413
- #: admin/includes/tab-settings.php:1679
1414
  msgid ""
1415
  "If you find any issues or have something to suggest, please feel free to "
1416
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
@@ -1418,7 +1444,7 @@ msgid ""
1418
  "\">support forum</a>."
1419
  msgstr ""
1420
 
1421
- #: admin/includes/tab-settings.php:1686
1422
  msgid ""
1423
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1424
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
@@ -1470,64 +1496,77 @@ msgid "Statistics in Logs"
1470
  msgstr ""
1471
 
1472
  #: admin/includes/tab-statistics.php:217
1473
- msgid "Statistics in cache"
1474
  msgstr ""
1475
 
1476
- #: admin/includes/tab-statistics.php:225
1477
  msgid "Search in cache"
1478
  msgstr ""
1479
 
1480
- #: admin/includes/tab-statistics.php:266
1481
  msgid "Clear cache"
1482
  msgstr ""
1483
 
1484
  #: admin/includes/tab-statistics.php:288
 
 
 
 
1485
  msgid "Country (Top 10)"
1486
  msgstr ""
1487
 
1488
- #: admin/includes/tab-statistics.php:289
1489
  msgid "AS number (Top 10)"
1490
  msgstr ""
1491
 
1492
- #: admin/includes/tab-statistics.php:290
1493
  msgid "IP address (Top 10)"
1494
  msgstr ""
1495
 
1496
- #: admin/includes/tab-statistics.php:291
1497
  msgid "Slug in back-end"
1498
  msgstr ""
1499
 
1500
- #: admin/includes/tab-statistics.php:343
1501
  msgid "Toggle sorting order"
1502
  msgstr ""
1503
 
1504
- #: admin/includes/tab-statistics.php:394
1505
  #, php-format
1506
- msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is desabled."
1507
  msgstr ""
1508
 
1509
- #: admin/includes/tab-statistics.php:395
1510
  msgid ""
1511
  "Please set the proper condition to record and analyze the validation "
1512
  "statistics."
1513
  msgstr ""
1514
 
 
 
 
 
 
 
 
 
 
1515
  #: classes/class-ip-geo-block-apis.php:661
1516
  msgid ""
1517
  "You need to select at least one IP geolocation service. Otherwise "
1518
  "<strong>you'll be blocked</strong> after the cache expires."
1519
  msgstr ""
1520
 
1521
- #: classes/class-ip-geo-block-cron.php:217
1522
  #, php-format
1523
  msgid "Can't lock <code>%s</code>. Please try again after a while."
1524
  msgstr ""
1525
 
1526
- #: classes/class-ip-geo-block-cron.php:296
1527
  msgid "Your database file is up-to-date."
1528
  msgstr ""
1529
 
1530
- #: classes/class-ip-geo-block-cron.php:395
1531
  msgid "gz or zip is not supported on your system."
1532
  msgstr ""
1533
 
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: IP Geo Block 3.0.12\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2018-05-20 16:59+0900\n"
8
+ "PO-Revision-Date: 2018-05-20 17:01+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
26
  "posted from outside your nation, and also prevents zero-day exploit."
27
  msgstr ""
28
 
29
+ #: admin/class-ip-geo-block-admin.php:269
30
  msgid "Import settings ?"
31
  msgstr ""
32
 
33
+ #: admin/class-ip-geo-block-admin.php:270
34
  msgid "Create table ?"
35
  msgstr ""
36
 
37
+ #: admin/class-ip-geo-block-admin.php:271
38
  msgid "Delete table ?"
39
  msgstr ""
40
 
41
+ #: admin/class-ip-geo-block-admin.php:272
42
  msgid "Clear statistics ?"
43
  msgstr ""
44
 
45
+ #: admin/class-ip-geo-block-admin.php:273
46
  msgid "Clear cache ?"
47
  msgstr ""
48
 
49
+ #: admin/class-ip-geo-block-admin.php:274
50
  msgid "Clear logs ?"
51
  msgstr ""
52
 
53
+ #: admin/class-ip-geo-block-admin.php:275
54
  msgid "ajax for logged-in user"
55
  msgstr ""
56
 
57
+ #: admin/class-ip-geo-block-admin.php:276
58
  msgid "ajax for non logged-in user"
59
  msgstr ""
60
 
61
+ #: admin/class-ip-geo-block-admin.php:277
62
  #, php-format
63
  msgid "[Found: %d]"
64
  msgstr ""
65
 
66
+ #: admin/class-ip-geo-block-admin.php:278
67
  #, php-format
68
  msgid "Find and verify `%s` on &#8220;Logs&#8221; tab."
69
  msgstr ""
70
 
71
+ #: admin/class-ip-geo-block-admin.php:279
72
  msgid "This feature is available with HTML5 compliant browsers."
73
  msgstr ""
74
 
75
+ #: admin/class-ip-geo-block-admin.php:280
76
  msgid "The selected row cannot be found in the visible area."
77
  msgstr ""
78
 
79
+ #: admin/class-ip-geo-block-admin.php:281
80
+ #: admin/class-ip-geo-block-admin.php:1483
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
84
 
85
+ #: admin/class-ip-geo-block-admin.php:285
86
  msgid "No data available in table"
87
  msgstr ""
88
 
89
+ #: admin/class-ip-geo-block-admin.php:286
90
  msgid "No matching records found"
91
  msgstr ""
92
 
93
+ #: admin/class-ip-geo-block-admin.php:287
94
+ #: admin/includes/class-admin-ajax.php:111
95
+ #: admin/includes/class-admin-ajax.php:237
96
+ #: admin/includes/tab-geolocation.php:70
97
  msgid "IP address"
98
  msgstr ""
99
 
100
+ #: admin/class-ip-geo-block-admin.php:288
101
+ #: admin/includes/class-admin-ajax.php:112
102
+ #: admin/includes/class-admin-ajax.php:238
103
  msgid "Code"
104
  msgstr ""
105
 
106
+ #: admin/class-ip-geo-block-admin.php:289
107
+ #: admin/includes/class-admin-ajax.php:113
108
+ #: admin/includes/class-admin-ajax.php:239
109
  msgid "ASN"
110
  msgstr ""
111
 
112
+ #: admin/class-ip-geo-block-admin.php:290
113
+ #: admin/includes/class-admin-ajax.php:240
114
  msgid "Host name"
115
  msgstr ""
116
 
117
+ #: admin/class-ip-geo-block-admin.php:291
118
+ #: admin/includes/class-admin-ajax.php:114
119
+ #: admin/includes/class-admin-ajax.php:241
120
  msgid "Target"
121
  msgstr ""
122
 
123
+ #: admin/class-ip-geo-block-admin.php:292
124
+ #: admin/includes/class-admin-ajax.php:242
125
  msgid "Failure / Total"
126
  msgstr ""
127
 
128
+ #: admin/class-ip-geo-block-admin.php:293
129
+ #: admin/includes/class-admin-ajax.php:243
130
  msgid "Elapsed[sec]"
131
  msgstr ""
132
 
133
+ #: admin/class-ip-geo-block-admin.php:294
134
+ #: admin/includes/class-admin-ajax.php:110
135
  msgid "Time"
136
  msgstr ""
137
 
138
+ #: admin/class-ip-geo-block-admin.php:295
139
+ #: admin/includes/class-admin-ajax.php:115
140
  msgid "Result"
141
  msgstr ""
142
 
143
+ #: admin/class-ip-geo-block-admin.php:296
144
+ #: admin/includes/class-admin-ajax.php:116
145
  msgid "Request"
146
  msgstr ""
147
 
148
+ #: admin/class-ip-geo-block-admin.php:297
149
+ #: admin/includes/class-admin-ajax.php:117
150
  msgid "User agent"
151
  msgstr ""
152
 
153
+ #: admin/class-ip-geo-block-admin.php:298
154
+ #: admin/includes/class-admin-ajax.php:118
155
  msgid "HTTP headers"
156
  msgstr ""
157
 
158
+ #: admin/class-ip-geo-block-admin.php:299
159
+ #: admin/includes/class-admin-ajax.php:119
160
  msgid "$_POST data"
161
  msgstr ""
162
 
163
+ #: admin/class-ip-geo-block-admin.php:325
164
  msgid "Contribute on GitHub"
165
  msgstr ""
166
 
167
+ #: admin/class-ip-geo-block-admin.php:339
168
+ #: admin/class-ip-geo-block-admin.php:447
169
+ #: admin/class-ip-geo-block-admin.php:664
170
  msgid "Settings"
171
  msgstr ""
172
 
 
173
  #: admin/class-ip-geo-block-admin.php:425
174
+ #: admin/class-ip-geo-block-admin.php:426
175
  #: admin/class-ip-geo-block-admin.php:436
176
+ #: admin/class-ip-geo-block-admin.php:437
177
+ #: admin/class-ip-geo-block-admin.php:446
178
+ #: admin/class-ip-geo-block-admin.php:455
179
  msgid "IP Geo Block"
180
  msgstr ""
181
 
182
+ #: admin/class-ip-geo-block-admin.php:456
183
+ #: admin/class-ip-geo-block-admin.php:669
184
  msgid "Site List"
185
  msgstr ""
186
 
187
+ #: admin/class-ip-geo-block-admin.php:485
188
  msgid "You need WordPress 3.7+."
189
  msgstr ""
190
 
191
+ #: admin/class-ip-geo-block-admin.php:491
192
  #, php-format
193
  msgid ""
194
  "Now downloading geolocation databases in background. After a little while, "
196
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
197
  msgstr ""
198
 
199
+ #: admin/class-ip-geo-block-admin.php:497
200
  #, php-format
201
  msgid ""
202
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
203
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
204
  msgstr ""
205
 
206
+ #: admin/class-ip-geo-block-admin.php:506
207
  msgid "Local database and matching rule have been updated."
208
  msgstr ""
209
 
210
+ #: admin/class-ip-geo-block-admin.php:517
211
  msgid ""
212
  "Once you logout, you will be unable to login again because the number of "
213
  "login attempts reaches the limit."
214
  msgstr ""
215
 
216
+ #: admin/class-ip-geo-block-admin.php:519
217
  #, php-format
218
  msgid ""
219
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
220
  "tab</a> to prevent locking yourself out."
221
  msgstr ""
222
 
223
+ #: admin/class-ip-geo-block-admin.php:529
224
  msgid ""
225
  "Once you logout, you will be unable to login again because your country code "
226
  "or IP address is in the blacklist."
227
  msgstr ""
228
 
229
+ #: admin/class-ip-geo-block-admin.php:530
230
  msgid ""
231
  "Once you logout, you will be unable to login again because your country code "
232
  "or IP address is not in the whitelist."
233
  msgstr ""
234
 
235
+ #: admin/class-ip-geo-block-admin.php:534
236
  #, php-format
237
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
238
  msgstr ""
239
 
240
+ #: admin/class-ip-geo-block-admin.php:538
241
  #, php-format
242
  msgid ""
243
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
245
  "%sStatistics in cache%s&#8221; section."
246
  msgstr ""
247
 
248
+ #: admin/class-ip-geo-block-admin.php:559
249
  msgid ""
250
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
251
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
252
  "select &#8220;init&#8221; action hook."
253
  msgstr ""
254
 
255
+ #: admin/class-ip-geo-block-admin.php:665
256
  msgid "Statistics"
257
  msgstr ""
258
 
259
+ #: admin/class-ip-geo-block-admin.php:666
260
  msgid "Logs"
261
  msgstr ""
262
 
263
+ #: admin/class-ip-geo-block-admin.php:667
264
  msgid "Search"
265
  msgstr ""
266
 
267
+ #: admin/class-ip-geo-block-admin.php:668
268
  msgid "Attribution"
269
  msgstr ""
270
 
271
+ #: admin/class-ip-geo-block-admin.php:685
272
+ #: admin/class-ip-geo-block-admin.php:702
273
  msgid "Network wide"
274
  msgstr ""
275
 
276
+ #: admin/class-ip-geo-block-admin.php:715
277
  msgid "Toggle all"
278
  msgstr ""
279
 
280
+ #: admin/class-ip-geo-block-admin.php:718
281
  msgid ""
282
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
283
  "the requests validated by this plugin in almost real time."
284
  msgstr ""
285
 
286
+ #: admin/class-ip-geo-block-admin.php:718 admin/includes/tab-accesslog.php:39
287
  msgid "Live update"
288
  msgstr ""
289
 
290
+ #: admin/class-ip-geo-block-admin.php:722
291
  msgid "Open a new window on clicking the link in the chart."
292
  msgstr ""
293
 
294
+ #: admin/class-ip-geo-block-admin.php:722
295
  msgid "Open a new window"
296
  msgstr ""
297
 
298
+ #: admin/class-ip-geo-block-admin.php:745
299
  msgid "Thanks for providing these great services for free."
300
  msgstr ""
301
 
302
+ #: admin/class-ip-geo-block-admin.php:746
303
  msgid ""
304
  "(Most browsers will redirect you to each site <a href=\"http://www."
305
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
306
  "when you click the link</a>.)"
307
  msgstr ""
308
 
309
+ #: admin/class-ip-geo-block-admin.php:751
310
  msgid "Back to top"
311
  msgstr ""
312
 
313
+ #: admin/class-ip-geo-block-admin.php:843
314
  msgid "Enable"
315
  msgstr ""
316
 
317
+ #: admin/class-ip-geo-block-admin.php:858
318
  msgid "Select one"
319
  msgstr ""
320
 
321
+ #: admin/class-ip-geo-block-admin.php:1273
322
  msgid "You do not have sufficient permissions to access this page."
323
  msgstr ""
324
 
325
+ #: admin/class-ip-geo-block-admin.php:1300
326
  #: admin/includes/class-admin-rewrite.php:194
327
+ #: classes/class-ip-geo-block-cron.php:217
328
+ #: classes/class-ip-geo-block-cron.php:321
329
+ #: classes/class-ip-geo-block-cron.php:395
330
+ #: classes/class-ip-geo-block-opts.php:452
331
  #, php-format
332
  msgid "Unable to write <code>%s</code>. Please check the permission."
333
  msgstr ""
334
 
335
+ #: admin/class-ip-geo-block-admin.php:1330
336
  msgid "Settings saved."
337
  msgstr ""
338
 
345
  msgid "UNKNOWN"
346
  msgstr ""
347
 
348
+ #: admin/includes/class-admin-ajax.php:198
349
  #, php-format
350
  msgid "The user %s (user ID: %d) is in use."
351
  msgstr ""
352
 
353
+ #: admin/includes/class-admin-ajax.php:492
354
  #, php-format
355
  msgid ""
356
  "illegal format at %s. Please delete the corresponding line and try again."
357
  msgstr ""
358
 
359
  #: admin/includes/class-admin-rewrite.php:168
360
+ #: classes/class-ip-geo-block-cron.php:212
361
+ #: classes/class-ip-geo-block-cron.php:390
362
  #, php-format
363
  msgid "Unable to read <code>%s</code>. Please check the permission."
364
  msgstr ""
379
  msgstr ""
380
 
381
  #: admin/includes/tab-accesslog.php:19 admin/includes/tab-settings.php:765
382
+ #: admin/includes/tab-settings.php:1410
383
  msgid "Help"
384
  msgstr ""
385
 
415
  msgid "Search in logs"
416
  msgstr ""
417
 
418
+ #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:240
419
  msgid "Reset"
420
  msgstr ""
421
 
422
+ #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:247
423
  msgid "Bulk action"
424
  msgstr ""
425
 
426
+ #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:258
427
  msgid "Remove entries by IP address"
428
  msgstr ""
429
 
430
+ #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:259
431
  msgid "Add IP address to &#8220;Whitelist&#8221;"
432
  msgstr ""
433
 
434
+ #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:260
435
  msgid "Add IP address to &#8220;Blacklist&#8221;"
436
  msgstr ""
437
 
438
+ #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:261
439
  msgid "Add AS number to &#8220;Whitelist&#8221;"
440
  msgstr ""
441
 
442
+ #: admin/includes/tab-accesslog.php:119 admin/includes/tab-statistics.php:262
443
  msgid "Add AS number to &#8220;Blacklist&#8221;"
444
  msgstr ""
445
 
446
  #: admin/includes/tab-accesslog.php:121 admin/includes/tab-network.php:56
447
+ #: admin/includes/tab-statistics.php:264
448
  msgid "Apply"
449
  msgstr ""
450
 
453
  msgstr ""
454
 
455
  #: admin/includes/tab-accesslog.php:137 admin/includes/tab-statistics.php:173
456
+ #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:279
457
  msgid "Clear all"
458
  msgstr ""
459
 
461
  msgid "Export logs"
462
  msgstr ""
463
 
464
+ #: admin/includes/tab-accesslog.php:153 admin/includes/tab-settings.php:1582
465
+ #: admin/includes/tab-statistics.php:294
466
  msgid "Export to the local file"
467
  msgstr ""
468
 
469
+ #: admin/includes/tab-accesslog.php:153 admin/includes/tab-statistics.php:294
470
  msgid "Export csv"
471
  msgstr ""
472
 
473
  #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:114
474
+ #: admin/includes/tab-statistics.php:424
475
  #, php-format
476
+ msgid "[ %sRecord &#8220;Logs&#8221;%s ] is disabled."
477
  msgstr ""
478
 
479
  #: admin/includes/tab-accesslog.php:175 admin/includes/tab-network.php:115
480
+ #: admin/includes/tab-statistics.php:425
481
  msgid ""
482
  "Please set the proper condition to record and analyze the validation logs."
483
  msgstr ""
496
 
497
  #: admin/includes/tab-geolocation.php:86 admin/includes/tab-settings.php:1101
498
  msgid ""
499
+ "<dfn title=\"IP address is always encrypted on recording in cache and logs. "
500
  "Moreover, this option makes the IP address anonymous and restricted on "
501
  "sending to the 3rd parties such as geolocation APIs or whois service."
502
+ "\">Anonymize IP address and restrict 3rd party APIs</dfn>"
503
  msgstr ""
504
 
505
  #: admin/includes/tab-geolocation.php:101
726
  msgstr ""
727
 
728
  #: admin/includes/tab-settings.php:318 admin/includes/tab-settings.php:499
729
+ #: admin/includes/tab-settings.php:623 admin/includes/tab-settings.php:1160
730
  msgid "Disable"
731
  msgstr ""
732
 
1088
 
1089
  #: admin/includes/tab-settings.php:1117
1090
  msgid ""
1091
+ "<dfn title=\"This option enables to record the IP address, country code and "
1092
+ "failure counter of login attempts into the cache on database to minimize the "
1093
+ "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1094
  msgstr ""
1095
 
1096
+ #: admin/includes/tab-settings.php:1133
1097
+ #, php-format
1098
+ msgid ""
1099
+ "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1100
+ "login will also be prohibited for this and garbage collection period."
1101
+ "\">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>"
1102
  msgstr ""
1103
 
1104
+ #: admin/includes/tab-settings.php:1149
1105
  msgid ""
1106
  "<dfn title=\"This option enables to record the validation logs including IP "
1107
+ "addresses.\">Record &#8220;Logs&#8221;</dfn>"
1108
  msgstr ""
1109
 
1110
+ #: admin/includes/tab-settings.php:1161
1111
+ msgid "When blocked"
1112
  msgstr ""
1113
 
1114
+ #: admin/includes/tab-settings.php:1162
1115
+ msgid "When passed"
1116
  msgstr ""
1117
 
1118
+ #: admin/includes/tab-settings.php:1163
1119
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1120
  msgstr ""
1121
 
1122
+ #: admin/includes/tab-settings.php:1164
1123
  msgid "Unauthenticated visitor"
1124
  msgstr ""
1125
 
1126
+ #: admin/includes/tab-settings.php:1165
1127
  msgid "Authenticated user"
1128
  msgstr ""
1129
 
1130
+ #: admin/includes/tab-settings.php:1166
1131
  msgid "All the validation"
1132
  msgstr ""
1133
 
1134
+ #: admin/includes/tab-settings.php:1174
 
 
 
 
1135
  msgid ""
1136
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1137
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1138
  msgstr ""
1139
 
1140
+ #: admin/includes/tab-settings.php:1191
1141
+ #, php-format
1142
+ msgid ""
1143
+ "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1144
+ "\">Expiration time [sec] for &#8220;Logs&#8221;</dfn>"
1145
+ msgstr ""
1146
+
1147
+ #: admin/includes/tab-settings.php:1209
1148
+ msgid "Maximum entries of &#8220;Logs&#8221;"
1149
+ msgstr ""
1150
+
1151
+ #: admin/includes/tab-settings.php:1226
1152
  msgid ""
1153
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1154
  "&#8220;Live update&#8221;</dfn>"
1155
  msgstr ""
1156
 
1157
+ #: admin/includes/tab-settings.php:1238
1158
  msgid "Ordinary file"
1159
  msgstr ""
1160
 
1161
+ #: admin/includes/tab-settings.php:1239
1162
  msgid "In-Memory"
1163
  msgstr ""
1164
 
1165
+ #: admin/includes/tab-settings.php:1242
1166
  msgid "PDO_SQLITE driver not available"
1167
  msgstr ""
1168
 
1169
+ #: admin/includes/tab-settings.php:1243
1170
  msgid ""
1171
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1172
  "without conflict with other plugins."
1173
  msgstr ""
1174
 
1175
+ #: admin/includes/tab-settings.php:1244
1176
  msgid ""
1177
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1178
  "with other plugins using this method."
1179
  msgstr ""
1180
 
1181
+ #: admin/includes/tab-settings.php:1253
1182
  msgid "Reset database source of &#8220;Live update&#8221;"
1183
  msgstr ""
1184
 
1185
+ #: admin/includes/tab-settings.php:1261
1186
  msgid "Reset now"
1187
  msgstr ""
1188
 
1189
+ #: admin/includes/tab-settings.php:1269 admin/includes/tab-settings.php:1442
1190
  msgid ""
1191
+ "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1192
+ "once and activate again."
 
1193
  msgstr ""
1194
 
1195
  #: admin/includes/tab-settings.php:1275
 
1196
  msgid ""
1197
+ "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1198
+ "expired entries in ip address cache and logs.\">Cleanup interval [sec] for "
1199
+ "&#8220;IP address cache&#8221; and &#8220;Logs&#8221;</dfn>"
1200
  msgstr ""
1201
 
1202
+ #: admin/includes/tab-settings.php:1284 admin/includes/tab-settings.php:1459
1203
+ #, php-format
1204
+ msgid "Next schedule: %s"
 
1205
  msgstr ""
1206
 
1207
+ #: admin/includes/tab-settings.php:1292
1208
  msgid ""
1209
+ "<dfn title=\"This option enables to record the number blocked countries and "
1210
+ "the number of blocked requests per day.\">Record &#8220;Statistics&#8221;</"
1211
+ "dfn>"
1212
  msgstr ""
1213
 
1214
+ #: admin/includes/tab-settings.php:1309
1215
+ msgid "Maximum period for &#8220;Statistics&#8221; [day]"
1216
+ msgstr ""
1217
+
1218
+ #: admin/includes/tab-settings.php:1327
1219
+ msgid "Remove all settings and records at uninstallation"
1220
  msgstr ""
1221
 
1222
+ #: admin/includes/tab-settings.php:1344
1223
  msgid "Geolocation API settings"
1224
  msgstr ""
1225
 
1226
+ #: admin/includes/tab-settings.php:1365
1227
  msgid ""
1228
  "<dfn title=\"IP address cache and local database are scanned at the top "
1229
  "priority.\">API selection and key settings</dfn>"
1230
  msgstr ""
1231
 
1232
+ #: admin/includes/tab-settings.php:1385
1233
  msgid "Timeout for network API [sec]"
1234
  msgstr ""
1235
 
1236
+ #: admin/includes/tab-settings.php:1403
1237
  #, php-format
1238
  msgid ""
1239
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1248
  "troubles? | IP Geo Block\">this instruction</a>."
1249
  msgstr ""
1250
 
1251
+ #: admin/includes/tab-settings.php:1410
1252
  msgid "Local database settings"
1253
  msgstr ""
1254
 
1255
+ #: admin/includes/tab-settings.php:1424
1256
  msgid "database"
1257
  msgstr ""
1258
 
1259
+ #: admin/includes/tab-settings.php:1425 classes/class-ip-geo-block-cron.php:419
1260
  #, php-format
1261
  msgid "Last update: %s"
1262
  msgstr ""
1263
 
1264
+ #: admin/includes/tab-settings.php:1448
1265
  msgid "Auto updating (once a month)"
1266
  msgstr ""
1267
 
1268
+ #: admin/includes/tab-settings.php:1466
1269
  msgid "Download database"
1270
  msgstr ""
1271
 
1272
+ #: admin/includes/tab-settings.php:1474
1273
  msgid "Download now"
1274
  msgstr ""
1275
 
1276
+ #: admin/includes/tab-settings.php:1485
1277
  msgid "Submission settings"
1278
  msgstr ""
1279
 
1280
+ #: admin/includes/tab-settings.php:1497
1281
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1282
  msgstr ""
1283
 
1284
+ #: admin/includes/tab-settings.php:1497
1285
  msgid "Message on comment form"
1286
  msgstr ""
1287
 
1288
+ #: admin/includes/tab-settings.php:1509
1289
  msgid "None"
1290
  msgstr ""
1291
 
1292
+ #: admin/includes/tab-settings.php:1510
1293
  msgid "Top"
1294
  msgstr ""
1295
 
1296
+ #: admin/includes/tab-settings.php:1511
1297
  msgid "Bottom"
1298
  msgstr ""
1299
 
1300
+ #: admin/includes/tab-settings.php:1522
1301
  msgid "Plugin settings"
1302
  msgstr ""
1303
 
1304
+ #: admin/includes/tab-settings.php:1535
1305
  msgid ""
1306
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1307
  "settings</dfn>"
1308
  msgstr ""
1309
 
1310
+ #: admin/includes/tab-settings.php:1555
 
 
 
 
1311
  msgid ""
1312
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1313
  "dfn>"
1314
  msgstr ""
1315
 
1316
+ #: admin/includes/tab-settings.php:1569
1317
  msgid ""
1318
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1319
  "settings to take effect."
1320
  msgstr ""
1321
 
1322
+ #: admin/includes/tab-settings.php:1575
1323
  msgid "Export / Import settings"
1324
  msgstr ""
1325
 
1326
+ #: admin/includes/tab-settings.php:1582
1327
  msgid "Export settings"
1328
  msgstr ""
1329
 
1330
+ #: admin/includes/tab-settings.php:1583
1331
  msgid "Import from the local file"
1332
  msgstr ""
1333
 
1334
+ #: admin/includes/tab-settings.php:1583
1335
  msgid "Import settings"
1336
  msgstr ""
1337
 
1338
+ #: admin/includes/tab-settings.php:1592
1339
  msgid "Import pre-defined settings"
1340
  msgstr ""
1341
 
1342
+ #: admin/includes/tab-settings.php:1599
1343
  msgid ""
1344
  "Import the default settings to revert to the &#8220;Right after "
1345
  "installing&#8221; state"
1346
  msgstr ""
1347
 
1348
+ #: admin/includes/tab-settings.php:1599
1349
  msgid "Default settings"
1350
  msgstr ""
1351
 
1352
+ #: admin/includes/tab-settings.php:1600
1353
  msgid ""
1354
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1355
  "for the &#8220;Back-end target settings&#8221;"
1356
  msgstr ""
1357
 
1358
+ #: admin/includes/tab-settings.php:1600
1359
  msgid "Best for Back-end"
1360
  msgstr ""
1361
 
1362
+ #: admin/includes/tab-settings.php:1610
1363
  msgid "Delete DB tables for this plugin"
1364
  msgstr ""
1365
 
1366
+ #: admin/includes/tab-settings.php:1618
1367
  msgid "Delete now"
1368
  msgstr ""
1369
 
1370
+ #: admin/includes/tab-settings.php:1626
1371
  msgid "Create DB tables for this plugin"
1372
  msgstr ""
1373
 
1374
+ #: admin/includes/tab-settings.php:1634
1375
  msgid "Create now"
1376
  msgstr ""
1377
 
1378
+ #: admin/includes/tab-settings.php:1644
1379
  msgid ""
1380
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1381
  "button to find the blocked request in the dumped information which may help "
1382
+ "to solve the issue.\">Diagnostic information</dfn><br />[ <a rel=\"noreferrer"
1383
+ "\" href=\"https://wordpress.org/support/plugin/ip-geo-block\" title="
1384
+ "\"WordPress &#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1385
  msgstr ""
1386
 
1387
+ #: admin/includes/tab-settings.php:1651
1388
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1389
  msgstr ""
1390
 
1391
+ #: admin/includes/tab-settings.php:1651
1392
  msgid "Show information"
1393
  msgstr ""
1394
 
1395
+ #: admin/includes/tab-settings.php:1667
1396
  msgid ""
1397
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1398
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
1400
  "\">The best practice for target settings</a>&#8221;."
1401
  msgstr ""
1402
 
1403
+ #: admin/includes/tab-settings.php:1668
1404
  msgid ""
1405
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1406
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1409
  "\">Codex</a>."
1410
  msgstr ""
1411
 
1412
+ #: admin/includes/tab-settings.php:1675
1413
  msgid ""
1414
  "While Geolite2&thinsp;/&thinsp;Maxmind and IP2Location will fetch the local "
1415
  "databases, others will pass an IP address to the 3rd parties' API via HTTP."
1416
  msgstr ""
1417
 
1418
+ #: admin/includes/tab-settings.php:1676
1419
  msgid ""
1420
  "Please select the appropriate APIs to fit the privacy law&thinsp;/&thinsp;"
1421
  "regulation in your country&thinsp;/&thinsp;region."
1422
  msgstr ""
1423
 
1424
+ #: admin/includes/tab-settings.php:1685
1425
  #, php-format
1426
  msgid ""
1427
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1428
  "2.0.0+%s."
1429
  msgstr ""
1430
 
1431
+ #: admin/includes/tab-settings.php:1693
1432
  msgid ""
1433
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1434
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
1436
  "cache plugin."
1437
  msgstr ""
1438
 
1439
+ #: admin/includes/tab-settings.php:1694
1440
  msgid ""
1441
  "If you find any issues or have something to suggest, please feel free to "
1442
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
1444
  "\">support forum</a>."
1445
  msgstr ""
1446
 
1447
+ #: admin/includes/tab-settings.php:1701
1448
  msgid ""
1449
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1450
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
1496
  msgstr ""
1497
 
1498
  #: admin/includes/tab-statistics.php:217
1499
+ msgid "Statistics in IP address cache"
1500
  msgstr ""
1501
 
1502
+ #: admin/includes/tab-statistics.php:230
1503
  msgid "Search in cache"
1504
  msgstr ""
1505
 
1506
+ #: admin/includes/tab-statistics.php:271
1507
  msgid "Clear cache"
1508
  msgstr ""
1509
 
1510
  #: admin/includes/tab-statistics.php:288
1511
+ msgid "Export cache"
1512
+ msgstr ""
1513
+
1514
+ #: admin/includes/tab-statistics.php:311
1515
  msgid "Country (Top 10)"
1516
  msgstr ""
1517
 
1518
+ #: admin/includes/tab-statistics.php:312
1519
  msgid "AS number (Top 10)"
1520
  msgstr ""
1521
 
1522
+ #: admin/includes/tab-statistics.php:313
1523
  msgid "IP address (Top 10)"
1524
  msgstr ""
1525
 
1526
+ #: admin/includes/tab-statistics.php:314
1527
  msgid "Slug in back-end"
1528
  msgstr ""
1529
 
1530
+ #: admin/includes/tab-statistics.php:366
1531
  msgid "Toggle sorting order"
1532
  msgstr ""
1533
 
1534
+ #: admin/includes/tab-statistics.php:417
1535
  #, php-format
1536
+ msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is disabled."
1537
  msgstr ""
1538
 
1539
+ #: admin/includes/tab-statistics.php:418
1540
  msgid ""
1541
  "Please set the proper condition to record and analyze the validation "
1542
  "statistics."
1543
  msgstr ""
1544
 
1545
+ #: admin/includes/tab-statistics.php:431
1546
+ #, php-format
1547
+ msgid "[ %sRecord &#8220;IP address cache&#8221;%s ] is disabled."
1548
+ msgstr ""
1549
+
1550
+ #: admin/includes/tab-statistics.php:432
1551
+ msgid "Please set the proper condition to record IP address in cache."
1552
+ msgstr ""
1553
+
1554
  #: classes/class-ip-geo-block-apis.php:661
1555
  msgid ""
1556
  "You need to select at least one IP geolocation service. Otherwise "
1557
  "<strong>you'll be blocked</strong> after the cache expires."
1558
  msgstr ""
1559
 
1560
+ #: classes/class-ip-geo-block-cron.php:222
1561
  #, php-format
1562
  msgid "Can't lock <code>%s</code>. Please try again after a while."
1563
  msgstr ""
1564
 
1565
+ #: classes/class-ip-geo-block-cron.php:301
1566
  msgid "Your database file is up-to-date."
1567
  msgstr ""
1568
 
1569
+ #: classes/class-ip-geo-block-cron.php:400
1570
  msgid "gz or zip is not supported on your system."
1571
  msgstr ""
1572
 
languages/ip-geo-block.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: IP Geo Block 3.0.11\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-05-06 15:31+0900\n"
8
- "PO-Revision-Date: 2018-05-06 15:32+0900\n"
9
  "Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
10
  "Language-Team: \n"
11
  "Language: en\n"
@@ -26,151 +26,169 @@ msgid ""
26
  "posted from outside your nation, and also prevents zero-day exploit."
27
  msgstr ""
28
 
29
- #: admin/class-ip-geo-block-admin.php:268
30
  msgid "Import settings ?"
31
  msgstr ""
32
 
33
- #: admin/class-ip-geo-block-admin.php:269
34
  msgid "Create table ?"
35
  msgstr ""
36
 
37
- #: admin/class-ip-geo-block-admin.php:270
38
  msgid "Delete table ?"
39
  msgstr ""
40
 
41
- #: admin/class-ip-geo-block-admin.php:271
42
  msgid "Clear statistics ?"
43
  msgstr ""
44
 
45
- #: admin/class-ip-geo-block-admin.php:272
46
  msgid "Clear cache ?"
47
  msgstr ""
48
 
49
- #: admin/class-ip-geo-block-admin.php:273
50
  msgid "Clear logs ?"
51
  msgstr ""
52
 
53
- #: admin/class-ip-geo-block-admin.php:274
54
  msgid "ajax for logged-in user"
55
  msgstr ""
56
 
57
- #: admin/class-ip-geo-block-admin.php:275
58
  msgid "ajax for non logged-in user"
59
  msgstr ""
60
 
61
- #: admin/class-ip-geo-block-admin.php:276
62
  #, php-format
63
  msgid "[Found: %d]"
64
  msgstr ""
65
 
66
- #: admin/class-ip-geo-block-admin.php:277
67
  #, php-format
68
  msgid "Find and verify `%s` on &#8220;Logs&#8221; tab."
69
  msgstr ""
70
 
71
- #: admin/class-ip-geo-block-admin.php:278
72
  msgid "This feature is available with HTML5 compliant browsers."
73
  msgstr ""
74
 
75
- #: admin/class-ip-geo-block-admin.php:279
76
  msgid "The selected row cannot be found in the visible area."
77
  msgstr ""
78
 
79
- #: admin/class-ip-geo-block-admin.php:280
80
- #: admin/class-ip-geo-block-admin.php:1478
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
84
 
85
- #: admin/class-ip-geo-block-admin.php:284
86
  msgid "No data available in table"
87
  msgstr ""
88
 
89
- #: admin/class-ip-geo-block-admin.php:285
90
  msgid "No matching records found"
91
  msgstr ""
92
 
93
- #: admin/class-ip-geo-block-admin.php:286 admin/includes/tab-geolocation.php:70
 
 
 
94
  msgid "IP address"
95
  msgstr ""
96
 
97
- #: admin/class-ip-geo-block-admin.php:287
 
 
98
  msgid "Code"
99
  msgstr ""
100
 
101
- #: admin/class-ip-geo-block-admin.php:288
 
 
102
  msgid "ASN"
103
  msgstr ""
104
 
105
- #: admin/class-ip-geo-block-admin.php:289
 
106
  msgid "Host name"
107
  msgstr ""
108
 
109
- #: admin/class-ip-geo-block-admin.php:290
 
 
110
  msgid "Target"
111
  msgstr ""
112
 
113
- #: admin/class-ip-geo-block-admin.php:291
 
114
  msgid "Failure / Total"
115
  msgstr ""
116
 
117
- #: admin/class-ip-geo-block-admin.php:292
 
118
  msgid "Elapsed[sec]"
119
  msgstr ""
120
 
121
- #: admin/class-ip-geo-block-admin.php:293
 
122
  msgid "Time"
123
  msgstr ""
124
 
125
- #: admin/class-ip-geo-block-admin.php:294
 
126
  msgid "Result"
127
  msgstr ""
128
 
129
- #: admin/class-ip-geo-block-admin.php:295
 
130
  msgid "Request"
131
  msgstr ""
132
 
133
- #: admin/class-ip-geo-block-admin.php:296
 
134
  msgid "User agent"
135
  msgstr ""
136
 
137
- #: admin/class-ip-geo-block-admin.php:297
 
138
  msgid "HTTP headers"
139
  msgstr ""
140
 
141
- #: admin/class-ip-geo-block-admin.php:298
 
142
  msgid "$_POST data"
143
  msgstr ""
144
 
145
- #: admin/class-ip-geo-block-admin.php:324
146
  msgid "Contribute on GitHub"
147
  msgstr ""
148
 
149
- #: admin/class-ip-geo-block-admin.php:338
150
- #: admin/class-ip-geo-block-admin.php:446
151
- #: admin/class-ip-geo-block-admin.php:663
152
  msgid "Settings"
153
  msgstr ""
154
 
155
- #: admin/class-ip-geo-block-admin.php:424
156
  #: admin/class-ip-geo-block-admin.php:425
157
- #: admin/class-ip-geo-block-admin.php:435
158
  #: admin/class-ip-geo-block-admin.php:436
159
- #: admin/class-ip-geo-block-admin.php:445
160
- #: admin/class-ip-geo-block-admin.php:454
 
161
  msgid "IP Geo Block"
162
  msgstr ""
163
 
164
- #: admin/class-ip-geo-block-admin.php:455
165
- #: admin/class-ip-geo-block-admin.php:668
166
  msgid "Site List"
167
  msgstr ""
168
 
169
- #: admin/class-ip-geo-block-admin.php:484
170
  msgid "You need WordPress 3.7+."
171
  msgstr ""
172
 
173
- #: admin/class-ip-geo-block-admin.php:490
174
  #, php-format
175
  msgid ""
176
  "Now downloading geolocation databases in background. After a little while, "
@@ -178,48 +196,48 @@ msgid ""
178
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
179
  msgstr ""
180
 
181
- #: admin/class-ip-geo-block-admin.php:496
182
  #, php-format
183
  msgid ""
184
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
185
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
186
  msgstr ""
187
 
188
- #: admin/class-ip-geo-block-admin.php:505
189
  msgid "Local database and matching rule have been updated."
190
  msgstr ""
191
 
192
- #: admin/class-ip-geo-block-admin.php:516
193
  msgid ""
194
  "Once you logout, you will be unable to login again because the number of "
195
  "login attempts reaches the limit."
196
  msgstr ""
197
 
198
- #: admin/class-ip-geo-block-admin.php:518
199
  #, php-format
200
  msgid ""
201
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
202
  "tab</a> to prevent locking yourself out."
203
  msgstr ""
204
 
205
- #: admin/class-ip-geo-block-admin.php:528
206
  msgid ""
207
  "Once you logout, you will be unable to login again because your country code "
208
  "or IP address is in the blacklist."
209
  msgstr ""
210
 
211
- #: admin/class-ip-geo-block-admin.php:529
212
  msgid ""
213
  "Once you logout, you will be unable to login again because your country code "
214
  "or IP address is not in the whitelist."
215
  msgstr ""
216
 
217
- #: admin/class-ip-geo-block-admin.php:533
218
  #, php-format
219
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
220
  msgstr ""
221
 
222
- #: admin/class-ip-geo-block-admin.php:537
223
  #, php-format
224
  msgid ""
225
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
@@ -227,94 +245,94 @@ msgid ""
227
  "%sStatistics in cache%s&#8221; section."
228
  msgstr ""
229
 
230
- #: admin/class-ip-geo-block-admin.php:558
231
  msgid ""
232
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
233
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
234
  "select &#8220;init&#8221; action hook."
235
  msgstr ""
236
 
237
- #: admin/class-ip-geo-block-admin.php:664
238
  msgid "Statistics"
239
  msgstr ""
240
 
241
- #: admin/class-ip-geo-block-admin.php:665
242
  msgid "Logs"
243
  msgstr ""
244
 
245
- #: admin/class-ip-geo-block-admin.php:666
246
  msgid "Search"
247
  msgstr ""
248
 
249
- #: admin/class-ip-geo-block-admin.php:667
250
  msgid "Attribution"
251
  msgstr ""
252
 
253
- #: admin/class-ip-geo-block-admin.php:684
254
- #: admin/class-ip-geo-block-admin.php:701
255
  msgid "Network wide"
256
  msgstr ""
257
 
258
- #: admin/class-ip-geo-block-admin.php:714
259
  msgid "Toggle all"
260
  msgstr ""
261
 
262
- #: admin/class-ip-geo-block-admin.php:717
263
  msgid ""
264
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
265
  "the requests validated by this plugin in almost real time."
266
  msgstr ""
267
 
268
- #: admin/class-ip-geo-block-admin.php:717 admin/includes/tab-accesslog.php:39
269
  msgid "Live update"
270
  msgstr ""
271
 
272
- #: admin/class-ip-geo-block-admin.php:721
273
  msgid "Open a new window on clicking the link in the chart."
274
  msgstr ""
275
 
276
- #: admin/class-ip-geo-block-admin.php:721
277
  msgid "Open a new window"
278
  msgstr ""
279
 
280
- #: admin/class-ip-geo-block-admin.php:744
281
  msgid "Thanks for providing these great services for free."
282
  msgstr ""
283
 
284
- #: admin/class-ip-geo-block-admin.php:745
285
  msgid ""
286
  "(Most browsers will redirect you to each site <a href=\"http://www."
287
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
288
  "when you click the link</a>.)"
289
  msgstr ""
290
 
291
- #: admin/class-ip-geo-block-admin.php:750
292
  msgid "Back to top"
293
  msgstr ""
294
 
295
- #: admin/class-ip-geo-block-admin.php:842
296
  msgid "Enable"
297
  msgstr ""
298
 
299
- #: admin/class-ip-geo-block-admin.php:857
300
  msgid "Select one"
301
  msgstr ""
302
 
303
- #: admin/class-ip-geo-block-admin.php:1272
304
  msgid "You do not have sufficient permissions to access this page."
305
  msgstr ""
306
 
307
- #: admin/class-ip-geo-block-admin.php:1299
308
  #: admin/includes/class-admin-rewrite.php:194
309
- #: classes/class-ip-geo-block-cron.php:212
310
- #: classes/class-ip-geo-block-cron.php:316
311
- #: classes/class-ip-geo-block-cron.php:390
312
- #: classes/class-ip-geo-block-opts.php:446
313
  #, php-format
314
  msgid "Unable to write <code>%s</code>. Please check the permission."
315
  msgstr ""
316
 
317
- #: admin/class-ip-geo-block-admin.php:1329
318
  msgid "Settings saved."
319
  msgstr ""
320
 
@@ -327,20 +345,20 @@ msgstr ""
327
  msgid "UNKNOWN"
328
  msgstr ""
329
 
330
- #: admin/includes/class-admin-ajax.php:187
331
  #, php-format
332
  msgid "The user %s (user ID: %d) is in use."
333
  msgstr ""
334
 
335
- #: admin/includes/class-admin-ajax.php:436
336
  #, php-format
337
  msgid ""
338
  "illegal format at %s. Please delete the corresponding line and try again."
339
  msgstr ""
340
 
341
  #: admin/includes/class-admin-rewrite.php:168
342
- #: classes/class-ip-geo-block-cron.php:207
343
- #: classes/class-ip-geo-block-cron.php:385
344
  #, php-format
345
  msgid "Unable to read <code>%s</code>. Please check the permission."
346
  msgstr ""
@@ -361,7 +379,7 @@ msgid "Validation logs"
361
  msgstr ""
362
 
363
  #: admin/includes/tab-accesslog.php:19 admin/includes/tab-settings.php:765
364
- #: admin/includes/tab-settings.php:1379
365
  msgid "Help"
366
  msgstr ""
367
 
@@ -397,36 +415,36 @@ msgstr ""
397
  msgid "Search in logs"
398
  msgstr ""
399
 
400
- #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:235
401
  msgid "Reset"
402
  msgstr ""
403
 
404
- #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:242
405
  msgid "Bulk action"
406
  msgstr ""
407
 
408
- #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:253
409
  msgid "Remove entries by IP address"
410
  msgstr ""
411
 
412
- #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:254
413
  msgid "Add IP address to &#8220;Whitelist&#8221;"
414
  msgstr ""
415
 
416
- #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:255
417
  msgid "Add IP address to &#8220;Blacklist&#8221;"
418
  msgstr ""
419
 
420
- #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:256
421
  msgid "Add AS number to &#8220;Whitelist&#8221;"
422
  msgstr ""
423
 
424
- #: admin/includes/tab-accesslog.php:119 admin/includes/tab-statistics.php:257
425
  msgid "Add AS number to &#8220;Blacklist&#8221;"
426
  msgstr ""
427
 
428
  #: admin/includes/tab-accesslog.php:121 admin/includes/tab-network.php:56
429
- #: admin/includes/tab-statistics.php:259
430
  msgid "Apply"
431
  msgstr ""
432
 
@@ -435,7 +453,7 @@ msgid "Clear logs"
435
  msgstr ""
436
 
437
  #: admin/includes/tab-accesslog.php:137 admin/includes/tab-statistics.php:173
438
- #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
439
  msgid "Clear all"
440
  msgstr ""
441
 
@@ -443,22 +461,23 @@ msgstr ""
443
  msgid "Export logs"
444
  msgstr ""
445
 
446
- #: admin/includes/tab-accesslog.php:153 admin/includes/tab-settings.php:1567
 
447
  msgid "Export to the local file"
448
  msgstr ""
449
 
450
- #: admin/includes/tab-accesslog.php:153
451
  msgid "Export csv"
452
  msgstr ""
453
 
454
  #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:114
455
- #: admin/includes/tab-statistics.php:401
456
  #, php-format
457
- msgid "[ %sRecord &#8220;Logs&#8221;%s ] is desabled."
458
  msgstr ""
459
 
460
  #: admin/includes/tab-accesslog.php:175 admin/includes/tab-network.php:115
461
- #: admin/includes/tab-statistics.php:402
462
  msgid ""
463
  "Please set the proper condition to record and analyze the validation logs."
464
  msgstr ""
@@ -477,10 +496,10 @@ msgstr ""
477
 
478
  #: admin/includes/tab-geolocation.php:86 admin/includes/tab-settings.php:1101
479
  msgid ""
480
- "<dfn title=\"IP address is always encrypted on recording in logs and cache. "
481
  "Moreover, this option makes the IP address anonymous and restricted on "
482
  "sending to the 3rd parties such as geolocation APIs or whois service."
483
- "\">Privacy friendly</dfn>"
484
  msgstr ""
485
 
486
  #: admin/includes/tab-geolocation.php:101
@@ -707,7 +726,7 @@ msgid ""
707
  msgstr ""
708
 
709
  #: admin/includes/tab-settings.php:318 admin/includes/tab-settings.php:499
710
- #: admin/includes/tab-settings.php:623 admin/includes/tab-settings.php:1163
711
  msgid "Disable"
712
  msgstr ""
713
 
@@ -1069,141 +1088,152 @@ msgstr ""
1069
 
1070
  #: admin/includes/tab-settings.php:1117
1071
  msgid ""
1072
- "<dfn title=\"This option enables to record the number blocked countries and "
1073
- "the number of blocked requests per day.\">Record &#8220;Statistics&#8221;</"
1074
- "dfn>"
1075
  msgstr ""
1076
 
1077
- #: admin/includes/tab-settings.php:1134
1078
- msgid "Maximum period for &#8220;Statistics&#8221; (days)"
 
 
 
 
1079
  msgstr ""
1080
 
1081
- #: admin/includes/tab-settings.php:1152
1082
  msgid ""
1083
  "<dfn title=\"This option enables to record the validation logs including IP "
1084
- "address.\">Record &#8220;Logs&#8221;</dfn>"
1085
  msgstr ""
1086
 
1087
- #: admin/includes/tab-settings.php:1164
1088
- msgid "When requests blocked"
1089
  msgstr ""
1090
 
1091
- #: admin/includes/tab-settings.php:1165
1092
- msgid "When requests passed"
1093
  msgstr ""
1094
 
1095
- #: admin/includes/tab-settings.php:1166
1096
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1097
  msgstr ""
1098
 
1099
- #: admin/includes/tab-settings.php:1167
1100
  msgid "Unauthenticated visitor"
1101
  msgstr ""
1102
 
1103
- #: admin/includes/tab-settings.php:1168
1104
  msgid "Authenticated user"
1105
  msgstr ""
1106
 
1107
- #: admin/includes/tab-settings.php:1169
1108
  msgid "All the validation"
1109
  msgstr ""
1110
 
1111
- #: admin/includes/tab-settings.php:1178
1112
- msgid "Maximum entries of &#8220;Logs&#8221;"
1113
- msgstr ""
1114
-
1115
- #: admin/includes/tab-settings.php:1195
1116
  msgid ""
1117
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1118
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1119
  msgstr ""
1120
 
1121
- #: admin/includes/tab-settings.php:1214
 
 
 
 
 
 
 
 
 
 
 
1122
  msgid ""
1123
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1124
  "&#8220;Live update&#8221;</dfn>"
1125
  msgstr ""
1126
 
1127
- #: admin/includes/tab-settings.php:1226
1128
  msgid "Ordinary file"
1129
  msgstr ""
1130
 
1131
- #: admin/includes/tab-settings.php:1227
1132
  msgid "In-Memory"
1133
  msgstr ""
1134
 
1135
- #: admin/includes/tab-settings.php:1230
1136
  msgid "PDO_SQLITE driver not available"
1137
  msgstr ""
1138
 
1139
- #: admin/includes/tab-settings.php:1231
1140
  msgid ""
1141
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1142
  "without conflict with other plugins."
1143
  msgstr ""
1144
 
1145
- #: admin/includes/tab-settings.php:1232
1146
  msgid ""
1147
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1148
  "with other plugins using this method."
1149
  msgstr ""
1150
 
1151
- #: admin/includes/tab-settings.php:1241
1152
  msgid "Reset database source of &#8220;Live update&#8221;"
1153
  msgstr ""
1154
 
1155
- #: admin/includes/tab-settings.php:1249
1156
  msgid "Reset now"
1157
  msgstr ""
1158
 
1159
- #: admin/includes/tab-settings.php:1259
1160
  msgid ""
1161
- "<dfn title=\"This option enables to record the IP address , country code and "
1162
- "login fail counter into the cache on database to minimize the impact on site "
1163
- "speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1164
  msgstr ""
1165
 
1166
  #: admin/includes/tab-settings.php:1275
1167
- #, php-format
1168
  msgid ""
1169
- "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1170
- "login will also be prohibited for this and garbage collection period."
1171
- "\">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>"
1172
  msgstr ""
1173
 
1174
- #: admin/includes/tab-settings.php:1289 admin/includes/tab-settings.php:1411
1175
- msgid ""
1176
- "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1177
- "once and activate again."
1178
  msgstr ""
1179
 
1180
- #: admin/includes/tab-settings.php:1295
1181
  msgid ""
1182
- "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1183
- "expired entries of cache.\">Garbage collection period [sec] for &#8220;IP "
1184
- "address cache&#8221;</dfn>"
1185
  msgstr ""
1186
 
1187
- #: admin/includes/tab-settings.php:1304 admin/includes/tab-settings.php:1428
1188
- #, php-format
1189
- msgid "Next schedule: %s"
 
 
 
1190
  msgstr ""
1191
 
1192
- #: admin/includes/tab-settings.php:1313
1193
  msgid "Geolocation API settings"
1194
  msgstr ""
1195
 
1196
- #: admin/includes/tab-settings.php:1334
1197
  msgid ""
1198
  "<dfn title=\"IP address cache and local database are scanned at the top "
1199
  "priority.\">API selection and key settings</dfn>"
1200
  msgstr ""
1201
 
1202
- #: admin/includes/tab-settings.php:1354
1203
  msgid "Timeout for network API [sec]"
1204
  msgstr ""
1205
 
1206
- #: admin/includes/tab-settings.php:1372
1207
  #, php-format
1208
  msgid ""
1209
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
@@ -1218,155 +1248,151 @@ msgid ""
1218
  "troubles? | IP Geo Block\">this instruction</a>."
1219
  msgstr ""
1220
 
1221
- #: admin/includes/tab-settings.php:1379
1222
  msgid "Local database settings"
1223
  msgstr ""
1224
 
1225
- #: admin/includes/tab-settings.php:1393
1226
  msgid "database"
1227
  msgstr ""
1228
 
1229
- #: admin/includes/tab-settings.php:1394 classes/class-ip-geo-block-cron.php:414
1230
  #, php-format
1231
  msgid "Last update: %s"
1232
  msgstr ""
1233
 
1234
- #: admin/includes/tab-settings.php:1417
1235
  msgid "Auto updating (once a month)"
1236
  msgstr ""
1237
 
1238
- #: admin/includes/tab-settings.php:1435
1239
  msgid "Download database"
1240
  msgstr ""
1241
 
1242
- #: admin/includes/tab-settings.php:1443
1243
  msgid "Download now"
1244
  msgstr ""
1245
 
1246
- #: admin/includes/tab-settings.php:1454
1247
  msgid "Submission settings"
1248
  msgstr ""
1249
 
1250
- #: admin/includes/tab-settings.php:1466
1251
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1252
  msgstr ""
1253
 
1254
- #: admin/includes/tab-settings.php:1466
1255
  msgid "Message on comment form"
1256
  msgstr ""
1257
 
1258
- #: admin/includes/tab-settings.php:1478
1259
  msgid "None"
1260
  msgstr ""
1261
 
1262
- #: admin/includes/tab-settings.php:1479
1263
  msgid "Top"
1264
  msgstr ""
1265
 
1266
- #: admin/includes/tab-settings.php:1480
1267
  msgid "Bottom"
1268
  msgstr ""
1269
 
1270
- #: admin/includes/tab-settings.php:1491
1271
  msgid "Plugin settings"
1272
  msgstr ""
1273
 
1274
- #: admin/includes/tab-settings.php:1504
1275
  msgid ""
1276
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1277
  "settings</dfn>"
1278
  msgstr ""
1279
 
1280
- #: admin/includes/tab-settings.php:1522
1281
- msgid "Remove all settings at uninstallation"
1282
- msgstr ""
1283
-
1284
- #: admin/includes/tab-settings.php:1540
1285
  msgid ""
1286
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1287
  "dfn>"
1288
  msgstr ""
1289
 
1290
- #: admin/includes/tab-settings.php:1554
1291
  msgid ""
1292
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1293
  "settings to take effect."
1294
  msgstr ""
1295
 
1296
- #: admin/includes/tab-settings.php:1560
1297
  msgid "Export / Import settings"
1298
  msgstr ""
1299
 
1300
- #: admin/includes/tab-settings.php:1567
1301
  msgid "Export settings"
1302
  msgstr ""
1303
 
1304
- #: admin/includes/tab-settings.php:1568
1305
  msgid "Import from the local file"
1306
  msgstr ""
1307
 
1308
- #: admin/includes/tab-settings.php:1568
1309
  msgid "Import settings"
1310
  msgstr ""
1311
 
1312
- #: admin/includes/tab-settings.php:1577
1313
  msgid "Import pre-defined settings"
1314
  msgstr ""
1315
 
1316
- #: admin/includes/tab-settings.php:1584
1317
  msgid ""
1318
  "Import the default settings to revert to the &#8220;Right after "
1319
  "installing&#8221; state"
1320
  msgstr ""
1321
 
1322
- #: admin/includes/tab-settings.php:1584
1323
  msgid "Default settings"
1324
  msgstr ""
1325
 
1326
- #: admin/includes/tab-settings.php:1585
1327
  msgid ""
1328
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1329
  "for the &#8220;Back-end target settings&#8221;"
1330
  msgstr ""
1331
 
1332
- #: admin/includes/tab-settings.php:1585
1333
  msgid "Best for Back-end"
1334
  msgstr ""
1335
 
1336
- #: admin/includes/tab-settings.php:1595
1337
  msgid "Delete DB tables for this plugin"
1338
  msgstr ""
1339
 
1340
- #: admin/includes/tab-settings.php:1603
1341
  msgid "Delete now"
1342
  msgstr ""
1343
 
1344
- #: admin/includes/tab-settings.php:1611
1345
  msgid "Create DB tables for this plugin"
1346
  msgstr ""
1347
 
1348
- #: admin/includes/tab-settings.php:1619
1349
  msgid "Create now"
1350
  msgstr ""
1351
 
1352
- #: admin/includes/tab-settings.php:1629
1353
  msgid ""
1354
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1355
  "button to find the blocked request in the dumped information which may help "
1356
- "to solve the issue.\">Debug information</dfn><br />[ <a rel=\"noreferrer\" "
1357
- "href=\"https://wordpress.org/support/plugin/ip-geo-block\" title=\"WordPress "
1358
- "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1359
  msgstr ""
1360
 
1361
- #: admin/includes/tab-settings.php:1636
1362
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1363
  msgstr ""
1364
 
1365
- #: admin/includes/tab-settings.php:1636
1366
  msgid "Show information"
1367
  msgstr ""
1368
 
1369
- #: admin/includes/tab-settings.php:1652
1370
  msgid ""
1371
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1372
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
@@ -1374,7 +1400,7 @@ msgid ""
1374
  "\">The best practice for target settings</a>&#8221;."
1375
  msgstr ""
1376
 
1377
- #: admin/includes/tab-settings.php:1653
1378
  msgid ""
1379
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1380
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
@@ -1383,26 +1409,26 @@ msgid ""
1383
  "\">Codex</a>."
1384
  msgstr ""
1385
 
1386
- #: admin/includes/tab-settings.php:1660
1387
  msgid ""
1388
  "While Geolite2&thinsp;/&thinsp;Maxmind and IP2Location will fetch the local "
1389
  "databases, others will pass an IP address to the 3rd parties' API via HTTP."
1390
  msgstr ""
1391
 
1392
- #: admin/includes/tab-settings.php:1661
1393
  msgid ""
1394
  "Please select the appropriate APIs to fit the privacy law&thinsp;/&thinsp;"
1395
  "regulation in your country&thinsp;/&thinsp;region."
1396
  msgstr ""
1397
 
1398
- #: admin/includes/tab-settings.php:1670
1399
  #, php-format
1400
  msgid ""
1401
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1402
  "2.0.0+%s."
1403
  msgstr ""
1404
 
1405
- #: admin/includes/tab-settings.php:1678
1406
  msgid ""
1407
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1408
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
@@ -1410,7 +1436,7 @@ msgid ""
1410
  "cache plugin."
1411
  msgstr ""
1412
 
1413
- #: admin/includes/tab-settings.php:1679
1414
  msgid ""
1415
  "If you find any issues or have something to suggest, please feel free to "
1416
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
@@ -1418,7 +1444,7 @@ msgid ""
1418
  "\">support forum</a>."
1419
  msgstr ""
1420
 
1421
- #: admin/includes/tab-settings.php:1686
1422
  msgid ""
1423
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1424
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
@@ -1470,64 +1496,77 @@ msgid "Statistics in Logs"
1470
  msgstr ""
1471
 
1472
  #: admin/includes/tab-statistics.php:217
1473
- msgid "Statistics in cache"
1474
  msgstr ""
1475
 
1476
- #: admin/includes/tab-statistics.php:225
1477
  msgid "Search in cache"
1478
  msgstr ""
1479
 
1480
- #: admin/includes/tab-statistics.php:266
1481
  msgid "Clear cache"
1482
  msgstr ""
1483
 
1484
  #: admin/includes/tab-statistics.php:288
 
 
 
 
1485
  msgid "Country (Top 10)"
1486
  msgstr ""
1487
 
1488
- #: admin/includes/tab-statistics.php:289
1489
  msgid "AS number (Top 10)"
1490
  msgstr ""
1491
 
1492
- #: admin/includes/tab-statistics.php:290
1493
  msgid "IP address (Top 10)"
1494
  msgstr ""
1495
 
1496
- #: admin/includes/tab-statistics.php:291
1497
  msgid "Slug in back-end"
1498
  msgstr ""
1499
 
1500
- #: admin/includes/tab-statistics.php:343
1501
  msgid "Toggle sorting order"
1502
  msgstr ""
1503
 
1504
- #: admin/includes/tab-statistics.php:394
1505
  #, php-format
1506
- msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is desabled."
1507
  msgstr ""
1508
 
1509
- #: admin/includes/tab-statistics.php:395
1510
  msgid ""
1511
  "Please set the proper condition to record and analyze the validation "
1512
  "statistics."
1513
  msgstr ""
1514
 
 
 
 
 
 
 
 
 
 
1515
  #: classes/class-ip-geo-block-apis.php:661
1516
  msgid ""
1517
  "You need to select at least one IP geolocation service. Otherwise "
1518
  "<strong>you'll be blocked</strong> after the cache expires."
1519
  msgstr ""
1520
 
1521
- #: classes/class-ip-geo-block-cron.php:217
1522
  #, php-format
1523
  msgid "Can't lock <code>%s</code>. Please try again after a while."
1524
  msgstr ""
1525
 
1526
- #: classes/class-ip-geo-block-cron.php:296
1527
  msgid "Your database file is up-to-date."
1528
  msgstr ""
1529
 
1530
- #: classes/class-ip-geo-block-cron.php:395
1531
  msgid "gz or zip is not supported on your system."
1532
  msgstr ""
1533
 
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: IP Geo Block 3.0.12\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2018-05-20 16:59+0900\n"
8
+ "PO-Revision-Date: 2018-05-20 17:00+0900\n"
9
  "Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
10
  "Language-Team: \n"
11
  "Language: en\n"
26
  "posted from outside your nation, and also prevents zero-day exploit."
27
  msgstr ""
28
 
29
+ #: admin/class-ip-geo-block-admin.php:269
30
  msgid "Import settings ?"
31
  msgstr ""
32
 
33
+ #: admin/class-ip-geo-block-admin.php:270
34
  msgid "Create table ?"
35
  msgstr ""
36
 
37
+ #: admin/class-ip-geo-block-admin.php:271
38
  msgid "Delete table ?"
39
  msgstr ""
40
 
41
+ #: admin/class-ip-geo-block-admin.php:272
42
  msgid "Clear statistics ?"
43
  msgstr ""
44
 
45
+ #: admin/class-ip-geo-block-admin.php:273
46
  msgid "Clear cache ?"
47
  msgstr ""
48
 
49
+ #: admin/class-ip-geo-block-admin.php:274
50
  msgid "Clear logs ?"
51
  msgstr ""
52
 
53
+ #: admin/class-ip-geo-block-admin.php:275
54
  msgid "ajax for logged-in user"
55
  msgstr ""
56
 
57
+ #: admin/class-ip-geo-block-admin.php:276
58
  msgid "ajax for non logged-in user"
59
  msgstr ""
60
 
61
+ #: admin/class-ip-geo-block-admin.php:277
62
  #, php-format
63
  msgid "[Found: %d]"
64
  msgstr ""
65
 
66
+ #: admin/class-ip-geo-block-admin.php:278
67
  #, php-format
68
  msgid "Find and verify `%s` on &#8220;Logs&#8221; tab."
69
  msgstr ""
70
 
71
+ #: admin/class-ip-geo-block-admin.php:279
72
  msgid "This feature is available with HTML5 compliant browsers."
73
  msgstr ""
74
 
75
+ #: admin/class-ip-geo-block-admin.php:280
76
  msgid "The selected row cannot be found in the visible area."
77
  msgstr ""
78
 
79
+ #: admin/class-ip-geo-block-admin.php:281
80
+ #: admin/class-ip-geo-block-admin.php:1483
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
84
 
85
+ #: admin/class-ip-geo-block-admin.php:285
86
  msgid "No data available in table"
87
  msgstr ""
88
 
89
+ #: admin/class-ip-geo-block-admin.php:286
90
  msgid "No matching records found"
91
  msgstr ""
92
 
93
+ #: admin/class-ip-geo-block-admin.php:287
94
+ #: admin/includes/class-admin-ajax.php:111
95
+ #: admin/includes/class-admin-ajax.php:237
96
+ #: admin/includes/tab-geolocation.php:70
97
  msgid "IP address"
98
  msgstr ""
99
 
100
+ #: admin/class-ip-geo-block-admin.php:288
101
+ #: admin/includes/class-admin-ajax.php:112
102
+ #: admin/includes/class-admin-ajax.php:238
103
  msgid "Code"
104
  msgstr ""
105
 
106
+ #: admin/class-ip-geo-block-admin.php:289
107
+ #: admin/includes/class-admin-ajax.php:113
108
+ #: admin/includes/class-admin-ajax.php:239
109
  msgid "ASN"
110
  msgstr ""
111
 
112
+ #: admin/class-ip-geo-block-admin.php:290
113
+ #: admin/includes/class-admin-ajax.php:240
114
  msgid "Host name"
115
  msgstr ""
116
 
117
+ #: admin/class-ip-geo-block-admin.php:291
118
+ #: admin/includes/class-admin-ajax.php:114
119
+ #: admin/includes/class-admin-ajax.php:241
120
  msgid "Target"
121
  msgstr ""
122
 
123
+ #: admin/class-ip-geo-block-admin.php:292
124
+ #: admin/includes/class-admin-ajax.php:242
125
  msgid "Failure / Total"
126
  msgstr ""
127
 
128
+ #: admin/class-ip-geo-block-admin.php:293
129
+ #: admin/includes/class-admin-ajax.php:243
130
  msgid "Elapsed[sec]"
131
  msgstr ""
132
 
133
+ #: admin/class-ip-geo-block-admin.php:294
134
+ #: admin/includes/class-admin-ajax.php:110
135
  msgid "Time"
136
  msgstr ""
137
 
138
+ #: admin/class-ip-geo-block-admin.php:295
139
+ #: admin/includes/class-admin-ajax.php:115
140
  msgid "Result"
141
  msgstr ""
142
 
143
+ #: admin/class-ip-geo-block-admin.php:296
144
+ #: admin/includes/class-admin-ajax.php:116
145
  msgid "Request"
146
  msgstr ""
147
 
148
+ #: admin/class-ip-geo-block-admin.php:297
149
+ #: admin/includes/class-admin-ajax.php:117
150
  msgid "User agent"
151
  msgstr ""
152
 
153
+ #: admin/class-ip-geo-block-admin.php:298
154
+ #: admin/includes/class-admin-ajax.php:118
155
  msgid "HTTP headers"
156
  msgstr ""
157
 
158
+ #: admin/class-ip-geo-block-admin.php:299
159
+ #: admin/includes/class-admin-ajax.php:119
160
  msgid "$_POST data"
161
  msgstr ""
162
 
163
+ #: admin/class-ip-geo-block-admin.php:325
164
  msgid "Contribute on GitHub"
165
  msgstr ""
166
 
167
+ #: admin/class-ip-geo-block-admin.php:339
168
+ #: admin/class-ip-geo-block-admin.php:447
169
+ #: admin/class-ip-geo-block-admin.php:664
170
  msgid "Settings"
171
  msgstr ""
172
 
 
173
  #: admin/class-ip-geo-block-admin.php:425
174
+ #: admin/class-ip-geo-block-admin.php:426
175
  #: admin/class-ip-geo-block-admin.php:436
176
+ #: admin/class-ip-geo-block-admin.php:437
177
+ #: admin/class-ip-geo-block-admin.php:446
178
+ #: admin/class-ip-geo-block-admin.php:455
179
  msgid "IP Geo Block"
180
  msgstr ""
181
 
182
+ #: admin/class-ip-geo-block-admin.php:456
183
+ #: admin/class-ip-geo-block-admin.php:669
184
  msgid "Site List"
185
  msgstr ""
186
 
187
+ #: admin/class-ip-geo-block-admin.php:485
188
  msgid "You need WordPress 3.7+."
189
  msgstr ""
190
 
191
+ #: admin/class-ip-geo-block-admin.php:491
192
  #, php-format
193
  msgid ""
194
  "Now downloading geolocation databases in background. After a little while, "
196
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
197
  msgstr ""
198
 
199
+ #: admin/class-ip-geo-block-admin.php:497
200
  #, php-format
201
  msgid ""
202
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
203
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
204
  msgstr ""
205
 
206
+ #: admin/class-ip-geo-block-admin.php:506
207
  msgid "Local database and matching rule have been updated."
208
  msgstr ""
209
 
210
+ #: admin/class-ip-geo-block-admin.php:517
211
  msgid ""
212
  "Once you logout, you will be unable to login again because the number of "
213
  "login attempts reaches the limit."
214
  msgstr ""
215
 
216
+ #: admin/class-ip-geo-block-admin.php:519
217
  #, php-format
218
  msgid ""
219
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
220
  "tab</a> to prevent locking yourself out."
221
  msgstr ""
222
 
223
+ #: admin/class-ip-geo-block-admin.php:529
224
  msgid ""
225
  "Once you logout, you will be unable to login again because your country code "
226
  "or IP address is in the blacklist."
227
  msgstr ""
228
 
229
+ #: admin/class-ip-geo-block-admin.php:530
230
  msgid ""
231
  "Once you logout, you will be unable to login again because your country code "
232
  "or IP address is not in the whitelist."
233
  msgstr ""
234
 
235
+ #: admin/class-ip-geo-block-admin.php:534
236
  #, php-format
237
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
238
  msgstr ""
239
 
240
+ #: admin/class-ip-geo-block-admin.php:538
241
  #, php-format
242
  msgid ""
243
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
245
  "%sStatistics in cache%s&#8221; section."
246
  msgstr ""
247
 
248
+ #: admin/class-ip-geo-block-admin.php:559
249
  msgid ""
250
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
251
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
252
  "select &#8220;init&#8221; action hook."
253
  msgstr ""
254
 
255
+ #: admin/class-ip-geo-block-admin.php:665
256
  msgid "Statistics"
257
  msgstr ""
258
 
259
+ #: admin/class-ip-geo-block-admin.php:666
260
  msgid "Logs"
261
  msgstr ""
262
 
263
+ #: admin/class-ip-geo-block-admin.php:667
264
  msgid "Search"
265
  msgstr ""
266
 
267
+ #: admin/class-ip-geo-block-admin.php:668
268
  msgid "Attribution"
269
  msgstr ""
270
 
271
+ #: admin/class-ip-geo-block-admin.php:685
272
+ #: admin/class-ip-geo-block-admin.php:702
273
  msgid "Network wide"
274
  msgstr ""
275
 
276
+ #: admin/class-ip-geo-block-admin.php:715
277
  msgid "Toggle all"
278
  msgstr ""
279
 
280
+ #: admin/class-ip-geo-block-admin.php:718
281
  msgid ""
282
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
283
  "the requests validated by this plugin in almost real time."
284
  msgstr ""
285
 
286
+ #: admin/class-ip-geo-block-admin.php:718 admin/includes/tab-accesslog.php:39
287
  msgid "Live update"
288
  msgstr ""
289
 
290
+ #: admin/class-ip-geo-block-admin.php:722
291
  msgid "Open a new window on clicking the link in the chart."
292
  msgstr ""
293
 
294
+ #: admin/class-ip-geo-block-admin.php:722
295
  msgid "Open a new window"
296
  msgstr ""
297
 
298
+ #: admin/class-ip-geo-block-admin.php:745
299
  msgid "Thanks for providing these great services for free."
300
  msgstr ""
301
 
302
+ #: admin/class-ip-geo-block-admin.php:746
303
  msgid ""
304
  "(Most browsers will redirect you to each site <a href=\"http://www."
305
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
306
  "when you click the link</a>.)"
307
  msgstr ""
308
 
309
+ #: admin/class-ip-geo-block-admin.php:751
310
  msgid "Back to top"
311
  msgstr ""
312
 
313
+ #: admin/class-ip-geo-block-admin.php:843
314
  msgid "Enable"
315
  msgstr ""
316
 
317
+ #: admin/class-ip-geo-block-admin.php:858
318
  msgid "Select one"
319
  msgstr ""
320
 
321
+ #: admin/class-ip-geo-block-admin.php:1273
322
  msgid "You do not have sufficient permissions to access this page."
323
  msgstr ""
324
 
325
+ #: admin/class-ip-geo-block-admin.php:1300
326
  #: admin/includes/class-admin-rewrite.php:194
327
+ #: classes/class-ip-geo-block-cron.php:217
328
+ #: classes/class-ip-geo-block-cron.php:321
329
+ #: classes/class-ip-geo-block-cron.php:395
330
+ #: classes/class-ip-geo-block-opts.php:452
331
  #, php-format
332
  msgid "Unable to write <code>%s</code>. Please check the permission."
333
  msgstr ""
334
 
335
+ #: admin/class-ip-geo-block-admin.php:1330
336
  msgid "Settings saved."
337
  msgstr ""
338
 
345
  msgid "UNKNOWN"
346
  msgstr ""
347
 
348
+ #: admin/includes/class-admin-ajax.php:198
349
  #, php-format
350
  msgid "The user %s (user ID: %d) is in use."
351
  msgstr ""
352
 
353
+ #: admin/includes/class-admin-ajax.php:492
354
  #, php-format
355
  msgid ""
356
  "illegal format at %s. Please delete the corresponding line and try again."
357
  msgstr ""
358
 
359
  #: admin/includes/class-admin-rewrite.php:168
360
+ #: classes/class-ip-geo-block-cron.php:212
361
+ #: classes/class-ip-geo-block-cron.php:390
362
  #, php-format
363
  msgid "Unable to read <code>%s</code>. Please check the permission."
364
  msgstr ""
379
  msgstr ""
380
 
381
  #: admin/includes/tab-accesslog.php:19 admin/includes/tab-settings.php:765
382
+ #: admin/includes/tab-settings.php:1410
383
  msgid "Help"
384
  msgstr ""
385
 
415
  msgid "Search in logs"
416
  msgstr ""
417
 
418
+ #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:240
419
  msgid "Reset"
420
  msgstr ""
421
 
422
+ #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:247
423
  msgid "Bulk action"
424
  msgstr ""
425
 
426
+ #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:258
427
  msgid "Remove entries by IP address"
428
  msgstr ""
429
 
430
+ #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:259
431
  msgid "Add IP address to &#8220;Whitelist&#8221;"
432
  msgstr ""
433
 
434
+ #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:260
435
  msgid "Add IP address to &#8220;Blacklist&#8221;"
436
  msgstr ""
437
 
438
+ #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:261
439
  msgid "Add AS number to &#8220;Whitelist&#8221;"
440
  msgstr ""
441
 
442
+ #: admin/includes/tab-accesslog.php:119 admin/includes/tab-statistics.php:262
443
  msgid "Add AS number to &#8220;Blacklist&#8221;"
444
  msgstr ""
445
 
446
  #: admin/includes/tab-accesslog.php:121 admin/includes/tab-network.php:56
447
+ #: admin/includes/tab-statistics.php:264
448
  msgid "Apply"
449
  msgstr ""
450
 
453
  msgstr ""
454
 
455
  #: admin/includes/tab-accesslog.php:137 admin/includes/tab-statistics.php:173
456
+ #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:279
457
  msgid "Clear all"
458
  msgstr ""
459
 
461
  msgid "Export logs"
462
  msgstr ""
463
 
464
+ #: admin/includes/tab-accesslog.php:153 admin/includes/tab-settings.php:1582
465
+ #: admin/includes/tab-statistics.php:294
466
  msgid "Export to the local file"
467
  msgstr ""
468
 
469
+ #: admin/includes/tab-accesslog.php:153 admin/includes/tab-statistics.php:294
470
  msgid "Export csv"
471
  msgstr ""
472
 
473
  #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:114
474
+ #: admin/includes/tab-statistics.php:424
475
  #, php-format
476
+ msgid "[ %sRecord &#8220;Logs&#8221;%s ] is disabled."
477
  msgstr ""
478
 
479
  #: admin/includes/tab-accesslog.php:175 admin/includes/tab-network.php:115
480
+ #: admin/includes/tab-statistics.php:425
481
  msgid ""
482
  "Please set the proper condition to record and analyze the validation logs."
483
  msgstr ""
496
 
497
  #: admin/includes/tab-geolocation.php:86 admin/includes/tab-settings.php:1101
498
  msgid ""
499
+ "<dfn title=\"IP address is always encrypted on recording in cache and logs. "
500
  "Moreover, this option makes the IP address anonymous and restricted on "
501
  "sending to the 3rd parties such as geolocation APIs or whois service."
502
+ "\">Anonymize IP address and restrict 3rd party APIs</dfn>"
503
  msgstr ""
504
 
505
  #: admin/includes/tab-geolocation.php:101
726
  msgstr ""
727
 
728
  #: admin/includes/tab-settings.php:318 admin/includes/tab-settings.php:499
729
+ #: admin/includes/tab-settings.php:623 admin/includes/tab-settings.php:1160
730
  msgid "Disable"
731
  msgstr ""
732
 
1088
 
1089
  #: admin/includes/tab-settings.php:1117
1090
  msgid ""
1091
+ "<dfn title=\"This option enables to record the IP address, country code and "
1092
+ "failure counter of login attempts into the cache on database to minimize the "
1093
+ "impact on site speed.\">Record &#8220;IP address cache&#8221;</dfn>"
1094
  msgstr ""
1095
 
1096
+ #: admin/includes/tab-settings.php:1133
1097
+ #, php-format
1098
+ msgid ""
1099
+ "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1100
+ "login will also be prohibited for this and garbage collection period."
1101
+ "\">Expiration time [sec] for &#8220;IP address cache&#8221;</dfn>"
1102
  msgstr ""
1103
 
1104
+ #: admin/includes/tab-settings.php:1149
1105
  msgid ""
1106
  "<dfn title=\"This option enables to record the validation logs including IP "
1107
+ "addresses.\">Record &#8220;Logs&#8221;</dfn>"
1108
  msgstr ""
1109
 
1110
+ #: admin/includes/tab-settings.php:1161
1111
+ msgid "When blocked"
1112
  msgstr ""
1113
 
1114
+ #: admin/includes/tab-settings.php:1162
1115
+ msgid "When passed"
1116
  msgstr ""
1117
 
1118
+ #: admin/includes/tab-settings.php:1163
1119
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1120
  msgstr ""
1121
 
1122
+ #: admin/includes/tab-settings.php:1164
1123
  msgid "Unauthenticated visitor"
1124
  msgstr ""
1125
 
1126
+ #: admin/includes/tab-settings.php:1165
1127
  msgid "Authenticated user"
1128
  msgstr ""
1129
 
1130
+ #: admin/includes/tab-settings.php:1166
1131
  msgid "All the validation"
1132
  msgstr ""
1133
 
1134
+ #: admin/includes/tab-settings.php:1174
 
 
 
 
1135
  msgid ""
1136
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1137
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1138
  msgstr ""
1139
 
1140
+ #: admin/includes/tab-settings.php:1191
1141
+ #, php-format
1142
+ msgid ""
1143
+ "<dfn title=\"The maximum number of entries in the logs is also limited to %d."
1144
+ "\">Expiration time [sec] for &#8220;Logs&#8221;</dfn>"
1145
+ msgstr ""
1146
+
1147
+ #: admin/includes/tab-settings.php:1209
1148
+ msgid "Maximum entries of &#8220;Logs&#8221;"
1149
+ msgstr ""
1150
+
1151
+ #: admin/includes/tab-settings.php:1226
1152
  msgid ""
1153
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1154
  "&#8220;Live update&#8221;</dfn>"
1155
  msgstr ""
1156
 
1157
+ #: admin/includes/tab-settings.php:1238
1158
  msgid "Ordinary file"
1159
  msgstr ""
1160
 
1161
+ #: admin/includes/tab-settings.php:1239
1162
  msgid "In-Memory"
1163
  msgstr ""
1164
 
1165
+ #: admin/includes/tab-settings.php:1242
1166
  msgid "PDO_SQLITE driver not available"
1167
  msgstr ""
1168
 
1169
+ #: admin/includes/tab-settings.php:1243
1170
  msgid ""
1171
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1172
  "without conflict with other plugins."
1173
  msgstr ""
1174
 
1175
+ #: admin/includes/tab-settings.php:1244
1176
  msgid ""
1177
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1178
  "with other plugins using this method."
1179
  msgstr ""
1180
 
1181
+ #: admin/includes/tab-settings.php:1253
1182
  msgid "Reset database source of &#8220;Live update&#8221;"
1183
  msgstr ""
1184
 
1185
+ #: admin/includes/tab-settings.php:1261
1186
  msgid "Reset now"
1187
  msgstr ""
1188
 
1189
+ #: admin/includes/tab-settings.php:1269 admin/includes/tab-settings.php:1442
1190
  msgid ""
1191
+ "Task could not be found in WP-Cron. Please try to deactivate this plugin "
1192
+ "once and activate again."
 
1193
  msgstr ""
1194
 
1195
  #: admin/includes/tab-settings.php:1275
 
1196
  msgid ""
1197
+ "<dfn title=\"This option enables to schedule the WP-Cron event to remove the "
1198
+ "expired entries in ip address cache and logs.\">Cleanup interval [sec] for "
1199
+ "&#8220;IP address cache&#8221; and &#8220;Logs&#8221;</dfn>"
1200
  msgstr ""
1201
 
1202
+ #: admin/includes/tab-settings.php:1284 admin/includes/tab-settings.php:1459
1203
+ #, php-format
1204
+ msgid "Next schedule: %s"
 
1205
  msgstr ""
1206
 
1207
+ #: admin/includes/tab-settings.php:1292
1208
  msgid ""
1209
+ "<dfn title=\"This option enables to record the number blocked countries and "
1210
+ "the number of blocked requests per day.\">Record &#8220;Statistics&#8221;</"
1211
+ "dfn>"
1212
  msgstr ""
1213
 
1214
+ #: admin/includes/tab-settings.php:1309
1215
+ msgid "Maximum period for &#8220;Statistics&#8221; [day]"
1216
+ msgstr ""
1217
+
1218
+ #: admin/includes/tab-settings.php:1327
1219
+ msgid "Remove all settings and records at uninstallation"
1220
  msgstr ""
1221
 
1222
+ #: admin/includes/tab-settings.php:1344
1223
  msgid "Geolocation API settings"
1224
  msgstr ""
1225
 
1226
+ #: admin/includes/tab-settings.php:1365
1227
  msgid ""
1228
  "<dfn title=\"IP address cache and local database are scanned at the top "
1229
  "priority.\">API selection and key settings</dfn>"
1230
  msgstr ""
1231
 
1232
+ #: admin/includes/tab-settings.php:1385
1233
  msgid "Timeout for network API [sec]"
1234
  msgstr ""
1235
 
1236
+ #: admin/includes/tab-settings.php:1403
1237
  #, php-format
1238
  msgid ""
1239
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1248
  "troubles? | IP Geo Block\">this instruction</a>."
1249
  msgstr ""
1250
 
1251
+ #: admin/includes/tab-settings.php:1410
1252
  msgid "Local database settings"
1253
  msgstr ""
1254
 
1255
+ #: admin/includes/tab-settings.php:1424
1256
  msgid "database"
1257
  msgstr ""
1258
 
1259
+ #: admin/includes/tab-settings.php:1425 classes/class-ip-geo-block-cron.php:419
1260
  #, php-format
1261
  msgid "Last update: %s"
1262
  msgstr ""
1263
 
1264
+ #: admin/includes/tab-settings.php:1448
1265
  msgid "Auto updating (once a month)"
1266
  msgstr ""
1267
 
1268
+ #: admin/includes/tab-settings.php:1466
1269
  msgid "Download database"
1270
  msgstr ""
1271
 
1272
+ #: admin/includes/tab-settings.php:1474
1273
  msgid "Download now"
1274
  msgstr ""
1275
 
1276
+ #: admin/includes/tab-settings.php:1485
1277
  msgid "Submission settings"
1278
  msgstr ""
1279
 
1280
+ #: admin/includes/tab-settings.php:1497
1281
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1282
  msgstr ""
1283
 
1284
+ #: admin/includes/tab-settings.php:1497
1285
  msgid "Message on comment form"
1286
  msgstr ""
1287
 
1288
+ #: admin/includes/tab-settings.php:1509
1289
  msgid "None"
1290
  msgstr ""
1291
 
1292
+ #: admin/includes/tab-settings.php:1510
1293
  msgid "Top"
1294
  msgstr ""
1295
 
1296
+ #: admin/includes/tab-settings.php:1511
1297
  msgid "Bottom"
1298
  msgstr ""
1299
 
1300
+ #: admin/includes/tab-settings.php:1522
1301
  msgid "Plugin settings"
1302
  msgstr ""
1303
 
1304
+ #: admin/includes/tab-settings.php:1535
1305
  msgid ""
1306
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1307
  "settings</dfn>"
1308
  msgstr ""
1309
 
1310
+ #: admin/includes/tab-settings.php:1555
 
 
 
 
1311
  msgid ""
1312
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1313
  "dfn>"
1314
  msgstr ""
1315
 
1316
+ #: admin/includes/tab-settings.php:1569
1317
  msgid ""
1318
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1319
  "settings to take effect."
1320
  msgstr ""
1321
 
1322
+ #: admin/includes/tab-settings.php:1575
1323
  msgid "Export / Import settings"
1324
  msgstr ""
1325
 
1326
+ #: admin/includes/tab-settings.php:1582
1327
  msgid "Export settings"
1328
  msgstr ""
1329
 
1330
+ #: admin/includes/tab-settings.php:1583
1331
  msgid "Import from the local file"
1332
  msgstr ""
1333
 
1334
+ #: admin/includes/tab-settings.php:1583
1335
  msgid "Import settings"
1336
  msgstr ""
1337
 
1338
+ #: admin/includes/tab-settings.php:1592
1339
  msgid "Import pre-defined settings"
1340
  msgstr ""
1341
 
1342
+ #: admin/includes/tab-settings.php:1599
1343
  msgid ""
1344
  "Import the default settings to revert to the &#8220;Right after "
1345
  "installing&#8221; state"
1346
  msgstr ""
1347
 
1348
+ #: admin/includes/tab-settings.php:1599
1349
  msgid "Default settings"
1350
  msgstr ""
1351
 
1352
+ #: admin/includes/tab-settings.php:1600
1353
  msgid ""
1354
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1355
  "for the &#8220;Back-end target settings&#8221;"
1356
  msgstr ""
1357
 
1358
+ #: admin/includes/tab-settings.php:1600
1359
  msgid "Best for Back-end"
1360
  msgstr ""
1361
 
1362
+ #: admin/includes/tab-settings.php:1610
1363
  msgid "Delete DB tables for this plugin"
1364
  msgstr ""
1365
 
1366
+ #: admin/includes/tab-settings.php:1618
1367
  msgid "Delete now"
1368
  msgstr ""
1369
 
1370
+ #: admin/includes/tab-settings.php:1626
1371
  msgid "Create DB tables for this plugin"
1372
  msgstr ""
1373
 
1374
+ #: admin/includes/tab-settings.php:1634
1375
  msgid "Create now"
1376
  msgstr ""
1377
 
1378
+ #: admin/includes/tab-settings.php:1644
1379
  msgid ""
1380
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1381
  "button to find the blocked request in the dumped information which may help "
1382
+ "to solve the issue.\">Diagnostic information</dfn><br />[ <a rel=\"noreferrer"
1383
+ "\" href=\"https://wordpress.org/support/plugin/ip-geo-block\" title="
1384
+ "\"WordPress &#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1385
  msgstr ""
1386
 
1387
+ #: admin/includes/tab-settings.php:1651
1388
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1389
  msgstr ""
1390
 
1391
+ #: admin/includes/tab-settings.php:1651
1392
  msgid "Show information"
1393
  msgstr ""
1394
 
1395
+ #: admin/includes/tab-settings.php:1667
1396
  msgid ""
1397
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1398
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
1400
  "\">The best practice for target settings</a>&#8221;."
1401
  msgstr ""
1402
 
1403
+ #: admin/includes/tab-settings.php:1668
1404
  msgid ""
1405
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1406
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1409
  "\">Codex</a>."
1410
  msgstr ""
1411
 
1412
+ #: admin/includes/tab-settings.php:1675
1413
  msgid ""
1414
  "While Geolite2&thinsp;/&thinsp;Maxmind and IP2Location will fetch the local "
1415
  "databases, others will pass an IP address to the 3rd parties' API via HTTP."
1416
  msgstr ""
1417
 
1418
+ #: admin/includes/tab-settings.php:1676
1419
  msgid ""
1420
  "Please select the appropriate APIs to fit the privacy law&thinsp;/&thinsp;"
1421
  "regulation in your country&thinsp;/&thinsp;region."
1422
  msgstr ""
1423
 
1424
+ #: admin/includes/tab-settings.php:1685
1425
  #, php-format
1426
  msgid ""
1427
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1428
  "2.0.0+%s."
1429
  msgstr ""
1430
 
1431
+ #: admin/includes/tab-settings.php:1693
1432
  msgid ""
1433
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1434
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
1436
  "cache plugin."
1437
  msgstr ""
1438
 
1439
+ #: admin/includes/tab-settings.php:1694
1440
  msgid ""
1441
  "If you find any issues or have something to suggest, please feel free to "
1442
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
1444
  "\">support forum</a>."
1445
  msgstr ""
1446
 
1447
+ #: admin/includes/tab-settings.php:1701
1448
  msgid ""
1449
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1450
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
1496
  msgstr ""
1497
 
1498
  #: admin/includes/tab-statistics.php:217
1499
+ msgid "Statistics in IP address cache"
1500
  msgstr ""
1501
 
1502
+ #: admin/includes/tab-statistics.php:230
1503
  msgid "Search in cache"
1504
  msgstr ""
1505
 
1506
+ #: admin/includes/tab-statistics.php:271
1507
  msgid "Clear cache"
1508
  msgstr ""
1509
 
1510
  #: admin/includes/tab-statistics.php:288
1511
+ msgid "Export cache"
1512
+ msgstr ""
1513
+
1514
+ #: admin/includes/tab-statistics.php:311
1515
  msgid "Country (Top 10)"
1516
  msgstr ""
1517
 
1518
+ #: admin/includes/tab-statistics.php:312
1519
  msgid "AS number (Top 10)"
1520
  msgstr ""
1521
 
1522
+ #: admin/includes/tab-statistics.php:313
1523
  msgid "IP address (Top 10)"
1524
  msgstr ""
1525
 
1526
+ #: admin/includes/tab-statistics.php:314
1527
  msgid "Slug in back-end"
1528
  msgstr ""
1529
 
1530
+ #: admin/includes/tab-statistics.php:366
1531
  msgid "Toggle sorting order"
1532
  msgstr ""
1533
 
1534
+ #: admin/includes/tab-statistics.php:417
1535
  #, php-format
1536
+ msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is disabled."
1537
  msgstr ""
1538
 
1539
+ #: admin/includes/tab-statistics.php:418
1540
  msgid ""
1541
  "Please set the proper condition to record and analyze the validation "
1542
  "statistics."
1543
  msgstr ""
1544
 
1545
+ #: admin/includes/tab-statistics.php:431
1546
+ #, php-format
1547
+ msgid "[ %sRecord &#8220;IP address cache&#8221;%s ] is disabled."
1548
+ msgstr ""
1549
+
1550
+ #: admin/includes/tab-statistics.php:432
1551
+ msgid "Please set the proper condition to record IP address in cache."
1552
+ msgstr ""
1553
+
1554
  #: classes/class-ip-geo-block-apis.php:661
1555
  msgid ""
1556
  "You need to select at least one IP geolocation service. Otherwise "
1557
  "<strong>you'll be blocked</strong> after the cache expires."
1558
  msgstr ""
1559
 
1560
+ #: classes/class-ip-geo-block-cron.php:222
1561
  #, php-format
1562
  msgid "Can't lock <code>%s</code>. Please try again after a while."
1563
  msgstr ""
1564
 
1565
+ #: classes/class-ip-geo-block-cron.php:301
1566
  msgid "Your database file is up-to-date."
1567
  msgstr ""
1568
 
1569
+ #: classes/class-ip-geo-block-cron.php:400
1570
  msgid "gz or zip is not supported on your system."
1571
  msgstr ""
1572