Cyr-To-Lat - Version 4.3.1

Version Description

(27.12.2019) = * Added requirement to have max_input_vars >

Download this release

Release Info

Developer mihdan
Plugin Icon 128x128 Cyr-To-Lat
Version 4.3.1
Comparing to
See all releases

Code changes from version 4.3 to 4.3.1

classes/class-converter.php CHANGED
@@ -66,9 +66,9 @@ class Converter {
66
  *
67
  * @param Main $main Plugin main class.
68
  * @param Settings $settings Plugin settings.
69
- * @param Post_Conversion_Process $process_all_posts Plugin settings.
70
- * @param Term_Conversion_Process $process_all_terms Plugin settings.
71
- * @param Admin_Notices $admin_notices Plugin settings.
72
  */
73
  public function __construct(
74
  $main, $settings, $process_all_posts = null, $process_all_terms = null, $admin_notices = null
66
  *
67
  * @param Main $main Plugin main class.
68
  * @param Settings $settings Plugin settings.
69
+ * @param Post_Conversion_Process $process_all_posts Post conversion process.
70
+ * @param Term_Conversion_Process $process_all_terms Term conversion process.
71
+ * @param Admin_Notices $admin_notices Admin notices.
72
  */
73
  public function __construct(
74
  $main, $settings, $process_all_posts = null, $process_all_terms = null, $admin_notices = null
classes/class-requirements.php CHANGED
@@ -7,6 +7,9 @@
7
 
8
  namespace Cyr_To_Lat;
9
 
 
 
 
10
  if ( ! class_exists( __NAMESPACE__ . '\Requirements' ) ) {
11
 
12
  /**
@@ -14,13 +17,88 @@ if ( ! class_exists( __NAMESPACE__ . '\Requirements' ) ) {
14
  */
15
  class Requirements {
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  /**
18
  * Check if requirements are met.
19
  *
20
  * @return bool
21
  */
22
  public function are_requirements_met() {
23
- return $this->is_php_version_required();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  }
25
 
26
  /**
@@ -30,7 +108,10 @@ if ( ! class_exists( __NAMESPACE__ . '\Requirements' ) ) {
30
  */
31
  private function is_php_version_required() {
32
  if ( version_compare( CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION, phpversion(), '>' ) ) {
33
- add_action( 'admin_notices', [ $this, 'php_requirement_message' ] );
 
 
 
34
 
35
  return false;
36
  }
@@ -39,24 +120,91 @@ if ( ! class_exists( __NAMESPACE__ . '\Requirements' ) ) {
39
  }
40
 
41
  /**
42
- * Show notice with php requirement.
 
 
43
  */
44
- public function php_requirement_message() {
45
- load_plugin_textdomain(
46
- 'cyr2lat',
47
- false,
48
- dirname( plugin_basename( CYR_TO_LAT_FILE ) ) . '/languages/'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  );
50
 
51
- /* translators: 1: Current PHP version number, 2: Cyr To Lat version, 3: Minimum required PHP version number */
52
- $message = sprintf( __( 'Your server is running PHP version %1$s but Cyr To Lat %2$s requires at least %3$s.', 'cyr2lat' ), phpversion(), CYR_TO_LAT_VERSION, CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION );
53
- ?>
54
- <div class="message error">
55
- <p>
56
- <?php echo esc_html( $message ); ?>
57
- </p>
58
- </div>
59
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
  }
62
  }
7
 
8
  namespace Cyr_To_Lat;
9
 
10
+ use RuntimeException;
11
+ use WP_Filesystem_Direct;
12
+
13
  if ( ! class_exists( __NAMESPACE__ . '\Requirements' ) ) {
14
 
15
  /**
17
  */
18
  class Requirements {
19
 
20
+ /**
21
+ * Admin notices.
22
+ *
23
+ * @var Admin_Notices
24
+ */
25
+ protected $admin_notices;
26
+
27
+ /**
28
+ * WP file system direct.
29
+ *
30
+ * @var WP_Filesystem_Direct;
31
+ */
32
+ protected $wp_filesystem;
33
+
34
+ /**
35
+ * Requirements constructor.
36
+ *
37
+ * @param Admin_Notices $admin_notices Admin notices.
38
+ * @param WP_Filesystem_Direct $wp_filesystem File system.
39
+ *
40
+ * @throws RuntimeException RuntimeException.
41
+ */
42
+ public function __construct( $admin_notices = null, $wp_filesystem = null ) {
43
+ $this->admin_notices = $admin_notices;
44
+ if ( ! $this->admin_notices ) {
45
+ $this->admin_notices = new Admin_Notices();
46
+ }
47
+
48
+ if ( ! function_exists( 'WP_Filesystem' ) ) {
49
+ // @codeCoverageIgnoreStart
50
+ /**
51
+ * Do not inspect require path.
52
+ *
53
+ * @noinspection PhpIncludeInspection
54
+ */
55
+ require_once ABSPATH . 'wp-admin/includes/file.php';
56
+ // @codeCoverageIgnoreEnd
57
+ }
58
+
59
+ if ( ! WP_Filesystem() ) {
60
+ throw new RuntimeException( __( 'Unable to get filesystem access.', 'cyr2lat' ) );
61
+ }
62
+
63
+ $this->wp_filesystem = $wp_filesystem;
64
+ if ( ! $this->wp_filesystem ) {
65
+ $this->wp_filesystem = new WP_Filesystem_Direct( null );
66
+ }
67
+ }
68
+
69
  /**
70
  * Check if requirements are met.
71
  *
72
  * @return bool
73
  */
74
  public function are_requirements_met() {
75
+ $is_php_version_required = $this->is_php_version_required();
76
+ $is_max_input_vars_required = $this->is_max_input_vars_required();
77
+
78
+ if ( ! $is_php_version_required ) {
79
+ add_action( 'admin_init', [ $this, 'deactivate_plugin' ] );
80
+ }
81
+
82
+ return $is_php_version_required && $is_max_input_vars_required;
83
+ }
84
+
85
+ /**
86
+ * Deactivate plugin.
87
+ */
88
+ public function deactivate_plugin() {
89
+ if ( is_plugin_active( plugin_basename( CYR_TO_LAT_FILE ) ) ) {
90
+ deactivate_plugins( plugin_basename( CYR_TO_LAT_FILE ) );
91
+ // phpcs:disable WordPress.Security.NonceVerification.Recommended
92
+ if ( isset( $_GET['activate'] ) ) {
93
+ unset( $_GET['activate'] );
94
+ }
95
+ // phpcs:enable WordPress.Security.NonceVerification.Recommended
96
+
97
+ $this->admin_notices->add_notice(
98
+ __( 'Cyr To Lat plugin has been deactivated.', 'cyr2lat' ),
99
+ 'notice notice-info is-dismissible'
100
+ );
101
+ }
102
  }
103
 
104
  /**
108
  */
109
  private function is_php_version_required() {
110
  if ( version_compare( CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION, phpversion(), '>' ) ) {
111
+ /* translators: 1: Current PHP version number, 2: Cyr To Lat version, 3: Minimum required PHP version number */
112
+ $message = sprintf( __( 'Your server is running PHP version %1$s but Cyr To Lat %2$s requires at least %3$s.', 'cyr2lat' ), phpversion(), CYR_TO_LAT_VERSION, CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION );
113
+
114
+ $this->admin_notices->add_notice( $message, 'notice notice-error' );
115
 
116
  return false;
117
  }
120
  }
121
 
122
  /**
123
+ * Check max_input_vars.
124
+ *
125
+ * @return bool
126
  */
127
+ private function is_max_input_vars_required() {
128
+ if ( CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS > ini_get( 'max_input_vars' ) ) {
129
+ $this->try_to_fix_max_input_vars();
130
+ }
131
+
132
+ if ( CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS > ini_get( 'max_input_vars' ) ) {
133
+ /* translators: 1: max_input_vars value, 2: Cyr To Lat version, 3: Minimum required max_input_vars */
134
+ $message = sprintf( __( 'Your server is running PHP with max_input_vars=%1$d but Cyr To Lat %2$s requires at least %3$d.', 'cyr2lat' ), ini_get( 'max_input_vars' ), CYR_TO_LAT_VERSION, CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS );
135
+
136
+ $message .= '<br>';
137
+ /* translators: 1: .user.ini filename */
138
+ $message .= sprintf( __( 'We have updated settings in %s.', 'cyr2lat' ), realpath( $this->get_user_ini_filename() ) );
139
+
140
+ $mtime = $this->wp_filesystem->mtime( $this->get_user_ini_filename() );
141
+ $ini_ttl = intval( ini_get( 'user_ini.cache_ttl' ) );
142
+ $time_left = ( $mtime + $ini_ttl ) - time();
143
+
144
+ $message .= '<br>';
145
+
146
+ if ( 0 < $time_left ) {
147
+ /* translators: 1: Wait time in seconds */
148
+ $message .= sprintf( __( 'Please try again in %d s.', 'cyr2lat' ), $time_left );
149
+ } else {
150
+ $message .= sprintf( __( 'Please try again.', 'cyr2lat' ), $time_left );
151
+ }
152
+
153
+ $this->admin_notices->add_notice( $message, 'notice notice-error' );
154
+
155
+ return false;
156
+ }
157
+
158
+ return true;
159
+ }
160
+
161
+ /**
162
+ * Try to fix max_input_vars.
163
+ */
164
+ protected function try_to_fix_max_input_vars() {
165
+ $user_ini_filename = $this->get_user_ini_filename();
166
+
167
+ $content = $this->wp_filesystem->get_contents( $user_ini_filename );
168
+
169
+ $content = str_replace( "\r\n", "\n", $content );
170
+ $content = str_replace( "\r", "\n", $content );
171
+ $content_arr = explode( "\n", $content );
172
+
173
+ array_map(
174
+ function ( $line ) use ( &$value ) {
175
+ if ( preg_match( '/(?<![; ])\s*?(max_input_vars).*?=\D*?(\d+)/i', $line, $matches ) ) {
176
+ $value = (int) $matches[2];
177
+ }
178
+ },
179
+ $content_arr
180
  );
181
 
182
+ if ( $value >= CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS ) {
183
+ return;
184
+ }
185
+
186
+ $content_arr = array_filter(
187
+ $content_arr,
188
+ function ( $line ) {
189
+ return false === strpos( $line, 'max_input_vars' );
190
+ }
191
+ );
192
+ if ( [ '' ] === $content_arr ) {
193
+ $content_arr = [];
194
+ }
195
+ $content_arr[] = 'max_input_vars = ' . CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS;
196
+ $content = implode( PHP_EOL, $content_arr );
197
+
198
+ $this->wp_filesystem->put_contents( $user_ini_filename, $content );
199
+ }
200
+
201
+ /**
202
+ * Get .user.ini filename.
203
+ *
204
+ * @return string
205
+ */
206
+ private function get_user_ini_filename() {
207
+ return ABSPATH . 'wp-admin/' . ini_get( 'user_ini.filename' );
208
  }
209
  }
210
  }
cyr-to-lat.php CHANGED
@@ -9,8 +9,8 @@
9
  * Author URI: https://profiles.wordpress.org/sergeybiryukov/
10
  * Requires at least: 5.1
11
  * Tested up to: 5.3
12
- * Version: 4.3
13
- * Stable tag: 4.3
14
  *
15
  * Text Domain: cyr2lat
16
  * Domain Path: /languages/
@@ -30,7 +30,7 @@ if ( ! defined( 'CYR_TO_LAT_VERSION' ) ) {
30
  /**
31
  * Plugin version.
32
  */
33
- define( 'CYR_TO_LAT_VERSION', '4.3' );
34
  }
35
 
36
  if ( ! defined( 'CYR_TO_LAT_PATH' ) ) {
@@ -81,28 +81,34 @@ if ( ! defined( 'CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION' ) ) {
81
  */
82
  define( 'CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION', '5.6' );
83
  }
 
 
 
 
 
 
 
84
  // @codeCoverageIgnoreEnd
85
 
86
  /**
87
  * Init plugin class on plugin load.
88
  */
89
-
90
- static $requirements;
91
  static $cyr_to_lat_plugin;
92
 
93
- if ( ! isset( $requirements ) ) {
94
- require_once CYR_TO_LAT_PATH . '/classes/class-requirements.php';
95
- $requirements = new Requirements();
 
96
  }
97
 
98
- if ( ! $requirements->are_requirements_met() ) {
99
  $cyr_to_lat_plugin = false;
 
100
  return;
101
  }
102
 
103
  if ( ! isset( $cyr_to_lat_plugin ) ) {
104
- require_once CYR_TO_LAT_PATH . '/vendor/autoload.php';
105
-
106
  $cyr_to_lat_plugin = new Main();
107
  }
108
 
9
  * Author URI: https://profiles.wordpress.org/sergeybiryukov/
10
  * Requires at least: 5.1
11
  * Tested up to: 5.3
12
+ * Version: 4.3.1
13
+ * Stable tag: 4.3.1
14
  *
15
  * Text Domain: cyr2lat
16
  * Domain Path: /languages/
30
  /**
31
  * Plugin version.
32
  */
33
+ define( 'CYR_TO_LAT_VERSION', '4.3.1' );
34
  }
35
 
36
  if ( ! defined( 'CYR_TO_LAT_PATH' ) ) {
81
  */
82
  define( 'CYR_TO_LAT_MINIMUM_PHP_REQUIRED_VERSION', '5.6' );
83
  }
84
+
85
+ if ( ! defined( 'CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS' ) ) {
86
+ /**
87
+ * Minimum required max_input_vars value.
88
+ */
89
+ define( 'CYR_TO_LAT_REQUIRED_MAX_INPUT_VARS', 5000 );
90
+ }
91
  // @codeCoverageIgnoreEnd
92
 
93
  /**
94
  * Init plugin class on plugin load.
95
  */
96
+ static $cyr_to_lat_requirements;
 
97
  static $cyr_to_lat_plugin;
98
 
99
+ if ( ! isset( $cyr_to_lat_requirements ) ) {
100
+ require_once CYR_TO_LAT_PATH . '/vendor/autoload.php';
101
+
102
+ $cyr_to_lat_requirements = new Requirements();
103
  }
104
 
105
+ if ( ! $cyr_to_lat_requirements->are_requirements_met() ) {
106
  $cyr_to_lat_plugin = false;
107
+
108
  return;
109
  }
110
 
111
  if ( ! isset( $cyr_to_lat_plugin ) ) {
 
 
112
  $cyr_to_lat_plugin = new Main();
113
  }
114
 
languages/cyr2lat-ru_RU.mo CHANGED
Binary file
languages/cyr2lat-ru_RU.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Cyr To Lat\n"
4
- "POT-Creation-Date: 2019-12-15 10:00+0200\n"
5
- "PO-Revision-Date: 2019-12-15 10:01+0200\n"
6
  "Last-Translator: KAGG Design <info@kagg.eu>\n"
7
  "Language-Team: KAGG Design\n"
8
  "Language: ru_RU\n"
@@ -87,8 +87,16 @@ msgstr "Cyr To Lat начал конвертацию существующих я
87
  msgid "Cyr To Lat has not found existing term slugs for conversion."
88
  msgstr "Cyr To Lat не нашёл существующих ярлыков терминов для конвертации."
89
 
 
 
 
 
 
 
 
 
90
  #. translators: 1: Current PHP version number, 2: Cyr To Lat version, 3: Minimum required PHP version number
91
- #: classes/class-requirements.php:52
92
  #, php-format
93
  msgid ""
94
  "Your server is running PHP version %1$s but Cyr To Lat %2$s requires at "
@@ -97,6 +105,32 @@ msgstr ""
97
  "На сервере установлен PHP версии %1$s, однако для Cyr To Lat %2$s требуется "
98
  "хотя бы %3$s."
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  #: classes/class-settings.php:122
101
  msgid "View Cyr To Lat settings"
102
  msgstr "Посмотреть настройки Cyr To Lat"
@@ -180,6 +214,9 @@ msgstr "Оставьте ★★★★★ обзор плагина на WordPres
180
  msgid "Every %d Minutes"
181
  msgstr "Каждые %d минут"
182
 
 
 
 
183
  #~ msgid ""
184
  #~ "Your server is running PHP version %1$s but Cyr To Lat version %2$s "
185
  #~ "requires at least %3$s."
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Cyr To Lat\n"
4
+ "POT-Creation-Date: 2019-12-28 01:01+0200\n"
5
+ "PO-Revision-Date: 2019-12-28 01:01+0200\n"
6
  "Last-Translator: KAGG Design <info@kagg.eu>\n"
7
  "Language-Team: KAGG Design\n"
8
  "Language: ru_RU\n"
87
  msgid "Cyr To Lat has not found existing term slugs for conversion."
88
  msgstr "Cyr To Lat не нашёл существующих ярлыков терминов для конвертации."
89
 
90
+ #: classes/class-requirements.php:53
91
+ msgid "Unable to get filesystem access."
92
+ msgstr "Невозможно получить доступ к файловой системе."
93
+
94
+ #: classes/class-requirements.php:91
95
+ msgid "Cyr To Lat plugin has been deactivated."
96
+ msgstr "Плагин Cyr To Lat был деактивирован."
97
+
98
  #. translators: 1: Current PHP version number, 2: Cyr To Lat version, 3: Minimum required PHP version number
99
+ #: classes/class-requirements.php:105
100
  #, php-format
101
  msgid ""
102
  "Your server is running PHP version %1$s but Cyr To Lat %2$s requires at "
105
  "На сервере установлен PHP версии %1$s, однако для Cyr To Lat %2$s требуется "
106
  "хотя бы %3$s."
107
 
108
+ #. translators: 1: max_input_vars value, 2: Cyr To Lat version, 3: Minimum required max_input_vars
109
+ #: classes/class-requirements.php:127
110
+ #, php-format
111
+ msgid ""
112
+ "Your server is running PHP with max_input_vars=%1$d but Cyr To Lat %2$s "
113
+ "requires at least %3$d."
114
+ msgstr ""
115
+ "На сервере установлен PHP с max_input_vars=%1$d, однако для Cyr To Lat %2$s "
116
+ "требуется хотя бы %3$d."
117
+
118
+ #. translators: 1: .user.ini filename
119
+ #: classes/class-requirements.php:131
120
+ #, php-format
121
+ msgid "We have updated settings in %s."
122
+ msgstr "Мы обновили настройки в %s."
123
+
124
+ #. translators: 1: Wait time in seconds
125
+ #: classes/class-requirements.php:141
126
+ #, php-format
127
+ msgid "Please try again in %d s."
128
+ msgstr "Пожалуйста, попробуйте снова через %d сек."
129
+
130
+ #: classes/class-requirements.php:143
131
+ msgid "Please try again."
132
+ msgstr "Пожалуйста, попробуйте снова."
133
+
134
  #: classes/class-settings.php:122
135
  msgid "View Cyr To Lat settings"
136
  msgstr "Посмотреть настройки Cyr To Lat"
214
  msgid "Every %d Minutes"
215
  msgstr "Каждые %d минут"
216
 
217
+ #~ msgid "Unable to get filesystem access"
218
+ #~ msgstr "Невозможно получить доступ к файловой системе"
219
+
220
  #~ msgid ""
221
  #~ "Your server is running PHP version %1$s but Cyr To Lat version %2$s "
222
  #~ "requires at least %3$s."
languages/en_US.pot CHANGED
@@ -2,7 +2,7 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Cyr To Lat\n"
5
- "POT-Creation-Date: 2019-06-23 11:47+0300\n"
6
  "PO-Revision-Date: 2019-01-25 19:18+0200\n"
7
  "Last-Translator: KAGG Design <info@kagg.eu>\n"
8
  "Language-Team: KAGG Design\n"
@@ -10,7 +10,7 @@ msgstr ""
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 2.2.3\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
16
  "%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
@@ -22,146 +22,183 @@ msgstr ""
22
  "X-Poedit-SearchPathExcluded-1: dist\n"
23
  "X-Poedit-SearchPathExcluded-2: src\n"
24
 
25
- #. translators: 1: Current PHP version number, 2: Cyr To Lat version, 3: Minimum required PHP version number
26
- #: cyr-to-lat.php:85
27
- #, php-format
28
- msgid ""
29
- "Your server is running PHP version %1$s but Cyr To Lat %2$s requires at "
30
- "least %3$s."
31
- msgstr ""
32
-
33
  #. phpcs:enable
34
- #: includes/background-processes/class-cyr-to-lat-post-conversion-process.php:67
35
  msgid "Post slug converted:"
36
  msgstr ""
37
 
38
- #: includes/background-processes/class-cyr-to-lat-post-conversion-process.php:79
39
  msgid "Post slugs conversion completed."
40
  msgstr ""
41
 
42
  #. phpcs:enable
43
- #: includes/background-processes/class-cyr-to-lat-term-conversion-process.php:66
44
  msgid "Term slug converted:"
45
  msgstr ""
46
 
47
- #: includes/background-processes/class-cyr-to-lat-term-conversion-process.php:78
48
  msgid "Term slugs conversion completed."
49
  msgstr ""
50
 
51
- #: includes/class-cyr-to-lat-converter.php:117
52
  msgid "Cyr To Lat converts existing post slugs in the background process."
53
  msgstr ""
54
 
55
- #: includes/class-cyr-to-lat-converter.php:124
56
  msgid "Cyr To Lat converts existing term slugs in the background process."
57
  msgstr ""
58
 
59
- #: includes/class-cyr-to-lat-converter.php:131
60
  msgid "Cyr To Lat completed conversion of existing post slugs."
61
  msgstr ""
62
 
63
- #: includes/class-cyr-to-lat-converter.php:138
64
  msgid "Cyr To Lat completed conversion of existing term slugs."
65
  msgstr ""
66
 
67
- #: includes/class-cyr-to-lat-converter.php:204
68
  msgid "Post slugs conversion started."
69
  msgstr ""
70
 
71
- #: includes/class-cyr-to-lat-converter.php:206
72
  msgid "Cyr To Lat started conversion of existing post slugs."
73
  msgstr ""
74
 
75
- #: includes/class-cyr-to-lat-converter.php:213
76
  msgid "Cyr To Lat has not found existing post slugs for conversion."
77
  msgstr ""
78
 
79
- #: includes/class-cyr-to-lat-converter.php:232
80
  msgid "Term slugs conversion started."
81
  msgstr ""
82
 
83
- #: includes/class-cyr-to-lat-converter.php:234
84
  msgid "Cyr To Lat started conversion of existing term slugs."
85
  msgstr ""
86
 
87
- #: includes/class-cyr-to-lat-converter.php:241
88
  msgid "Cyr To Lat has not found existing term slugs for conversion."
89
  msgstr ""
90
 
91
- #: includes/class-cyr-to-lat-settings.php:121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  msgid "View Cyr To Lat settings"
93
  msgstr ""
94
 
95
- #: includes/class-cyr-to-lat-settings.php:122
96
  msgid "Settings"
97
  msgstr ""
98
 
99
- #: includes/class-cyr-to-lat-settings.php:134
100
- #: includes/class-cyr-to-lat-settings.php:342
101
  msgid "ISO9 Table"
102
  msgstr ""
103
 
104
- #: includes/class-cyr-to-lat-settings.php:143
105
- #: includes/class-cyr-to-lat-settings.php:348
106
  msgid "bel Table"
107
  msgstr ""
108
 
109
- #: includes/class-cyr-to-lat-settings.php:152
110
- #: includes/class-cyr-to-lat-settings.php:354
111
  msgid "uk Table"
112
  msgstr ""
113
 
114
- #: includes/class-cyr-to-lat-settings.php:161
115
- #: includes/class-cyr-to-lat-settings.php:360
116
  msgid "bg_BG Table"
117
  msgstr ""
118
 
119
- #: includes/class-cyr-to-lat-settings.php:170
120
- #: includes/class-cyr-to-lat-settings.php:366
121
  msgid "mk_MK Table"
122
  msgstr ""
123
 
124
- #: includes/class-cyr-to-lat-settings.php:179
125
- #: includes/class-cyr-to-lat-settings.php:372
 
 
 
126
  msgid "ka_GE Table"
127
  msgstr ""
128
 
129
- #: includes/class-cyr-to-lat-settings.php:188
130
- #: includes/class-cyr-to-lat-settings.php:378
131
  msgid "kk Table"
132
  msgstr ""
133
 
134
- #: includes/class-cyr-to-lat-settings.php:197
135
- #: includes/class-cyr-to-lat-settings.php:384
136
  msgid "he_IL Table"
137
  msgstr ""
138
 
139
- #: includes/class-cyr-to-lat-settings.php:261
140
- #: includes/class-cyr-to-lat-settings.php:262
 
 
 
141
  msgid "Cyr To Lat"
142
  msgstr ""
143
 
144
  #. Admin panel title.
145
- #: includes/class-cyr-to-lat-settings.php:282
146
  msgid "Cyr To Lat Plugin Options"
147
  msgstr ""
148
 
149
- #: includes/class-cyr-to-lat-settings.php:297
150
  msgid "Convert Existing Slugs"
151
  msgstr ""
152
 
153
- #: includes/class-cyr-to-lat-settings.php:303
154
  msgid "Donate"
155
  msgstr ""
156
 
157
- #: includes/class-cyr-to-lat-settings.php:306
158
  msgid "Would you like to support the advancement of this plugin?"
159
  msgstr ""
160
 
161
- #: includes/class-cyr-to-lat-settings.php:320
162
  msgid "Your appreciation"
163
  msgstr ""
164
 
165
- #: includes/class-cyr-to-lat-settings.php:325
166
  msgid "Leave a ★★★★★ plugin review on WordPress.org"
167
  msgstr ""
 
 
 
 
 
 
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Cyr To Lat\n"
5
+ "POT-Creation-Date: 2019-12-28 01:01+0200\n"
6
  "PO-Revision-Date: 2019-01-25 19:18+0200\n"
7
  "Last-Translator: KAGG Design <info@kagg.eu>\n"
8
  "Language-Team: KAGG Design\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 2.2.4\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
16
  "%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
22
  "X-Poedit-SearchPathExcluded-1: dist\n"
23
  "X-Poedit-SearchPathExcluded-2: src\n"
24
 
 
 
 
 
 
 
 
 
25
  #. phpcs:enable
26
+ #: classes/background-processes/class-post-conversion-process.php:71
27
  msgid "Post slug converted:"
28
  msgstr ""
29
 
30
+ #: classes/background-processes/class-post-conversion-process.php:83
31
  msgid "Post slugs conversion completed."
32
  msgstr ""
33
 
34
  #. phpcs:enable
35
+ #: classes/background-processes/class-term-conversion-process.php:70
36
  msgid "Term slug converted:"
37
  msgstr ""
38
 
39
+ #: classes/background-processes/class-term-conversion-process.php:82
40
  msgid "Term slugs conversion completed."
41
  msgstr ""
42
 
43
+ #: classes/class-converter.php:119
44
  msgid "Cyr To Lat converts existing post slugs in the background process."
45
  msgstr ""
46
 
47
+ #: classes/class-converter.php:126
48
  msgid "Cyr To Lat converts existing term slugs in the background process."
49
  msgstr ""
50
 
51
+ #: classes/class-converter.php:133
52
  msgid "Cyr To Lat completed conversion of existing post slugs."
53
  msgstr ""
54
 
55
+ #: classes/class-converter.php:140
56
  msgid "Cyr To Lat completed conversion of existing term slugs."
57
  msgstr ""
58
 
59
+ #: classes/class-converter.php:206
60
  msgid "Post slugs conversion started."
61
  msgstr ""
62
 
63
+ #: classes/class-converter.php:208
64
  msgid "Cyr To Lat started conversion of existing post slugs."
65
  msgstr ""
66
 
67
+ #: classes/class-converter.php:215
68
  msgid "Cyr To Lat has not found existing post slugs for conversion."
69
  msgstr ""
70
 
71
+ #: classes/class-converter.php:234
72
  msgid "Term slugs conversion started."
73
  msgstr ""
74
 
75
+ #: classes/class-converter.php:236
76
  msgid "Cyr To Lat started conversion of existing term slugs."
77
  msgstr ""
78
 
79
+ #: classes/class-converter.php:243
80
  msgid "Cyr To Lat has not found existing term slugs for conversion."
81
  msgstr ""
82
 
83
+ #: classes/class-requirements.php:53
84
+ msgid "Unable to get filesystem access."
85
+ msgstr ""
86
+
87
+ #: classes/class-requirements.php:91
88
+ msgid "Cyr To Lat plugin has been deactivated."
89
+ msgstr ""
90
+
91
+ #. translators: 1: Current PHP version number, 2: Cyr To Lat version, 3: Minimum required PHP version number
92
+ #: classes/class-requirements.php:105
93
+ #, php-format
94
+ msgid ""
95
+ "Your server is running PHP version %1$s but Cyr To Lat %2$s requires at "
96
+ "least %3$s."
97
+ msgstr ""
98
+
99
+ #. translators: 1: max_input_vars value, 2: Cyr To Lat version, 3: Minimum required max_input_vars
100
+ #: classes/class-requirements.php:127
101
+ #, php-format
102
+ msgid ""
103
+ "Your server is running PHP with max_input_vars=%1$d but Cyr To Lat %2$s "
104
+ "requires at least %3$d."
105
+ msgstr ""
106
+
107
+ #. translators: 1: .user.ini filename
108
+ #: classes/class-requirements.php:131
109
+ #, php-format
110
+ msgid "We have updated settings in %s."
111
+ msgstr ""
112
+
113
+ #. translators: 1: Wait time in seconds
114
+ #: classes/class-requirements.php:141
115
+ #, php-format
116
+ msgid "Please try again in %d s."
117
+ msgstr ""
118
+
119
+ #: classes/class-requirements.php:143
120
+ msgid "Please try again."
121
+ msgstr ""
122
+
123
+ #: classes/class-settings.php:122
124
  msgid "View Cyr To Lat settings"
125
  msgstr ""
126
 
127
+ #: classes/class-settings.php:123
128
  msgid "Settings"
129
  msgstr ""
130
 
131
+ #: classes/class-settings.php:135 classes/class-settings.php:361
 
132
  msgid "ISO9 Table"
133
  msgstr ""
134
 
135
+ #: classes/class-settings.php:144 classes/class-settings.php:367
 
136
  msgid "bel Table"
137
  msgstr ""
138
 
139
+ #: classes/class-settings.php:153 classes/class-settings.php:373
 
140
  msgid "uk Table"
141
  msgstr ""
142
 
143
+ #: classes/class-settings.php:162 classes/class-settings.php:379
 
144
  msgid "bg_BG Table"
145
  msgstr ""
146
 
147
+ #: classes/class-settings.php:171 classes/class-settings.php:385
 
148
  msgid "mk_MK Table"
149
  msgstr ""
150
 
151
+ #: classes/class-settings.php:180 classes/class-settings.php:391
152
+ msgid "sr_RS Table"
153
+ msgstr ""
154
+
155
+ #: classes/class-settings.php:189 classes/class-settings.php:397
156
  msgid "ka_GE Table"
157
  msgstr ""
158
 
159
+ #: classes/class-settings.php:198 classes/class-settings.php:403
 
160
  msgid "kk Table"
161
  msgstr ""
162
 
163
+ #: classes/class-settings.php:207 classes/class-settings.php:409
 
164
  msgid "he_IL Table"
165
  msgstr ""
166
 
167
+ #: classes/class-settings.php:216 classes/class-settings.php:415
168
+ msgid "zh_CN Table"
169
+ msgstr ""
170
+
171
+ #: classes/class-settings.php:280 classes/class-settings.php:281
172
  msgid "Cyr To Lat"
173
  msgstr ""
174
 
175
  #. Admin panel title.
176
+ #: classes/class-settings.php:301
177
  msgid "Cyr To Lat Plugin Options"
178
  msgstr ""
179
 
180
+ #: classes/class-settings.php:316
181
  msgid "Convert Existing Slugs"
182
  msgstr ""
183
 
184
+ #: classes/class-settings.php:322
185
  msgid "Donate"
186
  msgstr ""
187
 
188
+ #: classes/class-settings.php:325
189
  msgid "Would you like to support the advancement of this plugin?"
190
  msgstr ""
191
 
192
+ #: classes/class-settings.php:339
193
  msgid "Your appreciation"
194
  msgstr ""
195
 
196
+ #: classes/class-settings.php:344
197
  msgid "Leave a ★★★★★ plugin review on WordPress.org"
198
  msgstr ""
199
+
200
+ #. translators: %d: cron interval
201
+ #: lib/wp-background-processing/class-wp-background-process.php:399
202
+ #, php-format
203
+ msgid "Every %d Minutes"
204
+ msgstr ""
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: SergeyBiryukov, mihdan, karevn, webvitaly, kaggdesign
3
  Tags: cyrillic, belorussian, ukrainian, bulgarian, macedonian, georgian, kazakh, latin, l10n, russian, cyr-to-lat, cyr2lat, rustolat, slugs, translations, transliteration
4
  Requires at least: 5.1
5
  Tested up to: 5.3
6
- Stable tag: 4.3
7
  Requires PHP: 5.6.20
8
 
9
  Converts Cyrillic characters in post, page and term slugs to Latin characters.
@@ -91,6 +91,11 @@ Yes you can!
91
 
92
  == Changelog ==
93
 
 
 
 
 
 
94
  = 4.3 (14.12.2019) =
95
  * Added Chinese table
96
  * Tested up to WordPress 5.3
3
  Tags: cyrillic, belorussian, ukrainian, bulgarian, macedonian, georgian, kazakh, latin, l10n, russian, cyr-to-lat, cyr2lat, rustolat, slugs, translations, transliteration
4
  Requires at least: 5.1
5
  Tested up to: 5.3
6
+ Stable tag: 4.3.1
7
  Requires PHP: 5.6.20
8
 
9
  Converts Cyrillic characters in post, page and term slugs to Latin characters.
91
 
92
  == Changelog ==
93
 
94
+ = 4.3.1 (27.12.2019) =
95
+ * Added requirement to have max_input_vars >= 5000
96
+ * Added automatic plugin deactivation if requirements are not met
97
+ * Added attempt to auto-fix max_input_variable value
98
+
99
  = 4.3 (14.12.2019) =
100
  * Added Chinese table
101
  * Tested up to WordPress 5.3