TranslatePress – Translate Multilingual sites - Version 2.0.5

Version Description

  • All Premium Add-ons have been repackaged in new archives downloadable from translatepress.com account. All the old plugin Add-ons will no longer receive updates.
  • Reconfigured add-ons to be activated from TP Settings Add-ons tab
  • Added compatibility with WP Typography
  • Fixed bug on Automatic Translation Settings page regarding API key
Download this release

Release Info

Developer razvan.mo
Plugin Icon 128x128 TranslatePress – Translate Multilingual sites
Version 2.0.5
Comparing to
See all releases

Code changes from version 2.0.4 to 2.0.5

assets/lib/tp-add-ons-listing/assets/css/tp-add-ons-listing.css ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ Style the Add-ons listing page
3
+ */
4
+ #trp-add-ons-listing .trp-main-header{
5
+ margin-bottom:30px;
6
+ }
7
+
8
+ #trp-add-ons-listing .trp-add-ons-section{
9
+ margin:40px 0;
10
+ }
11
+
12
+ #trp-add-ons-listing .tablenav{
13
+ display:none;
14
+ }
15
+
16
+ #trp-add-ons-listing .column-add_on{
17
+ width:80%;
18
+ }
19
+
20
+ #trp-add-ons-listing .column-icon{
21
+ width: 64px;
22
+ }
23
+
24
+ #trp-add-ons-listing .column-actions{
25
+ width:225px;
26
+ vertical-align: middle !important;
27
+ }
28
+ #trp-add-ons-listing .trp-add-ons-search-box{
29
+ margin-bottom:40px;
30
+ }
31
+
32
+ #trp-add-ons-listing #trp-add-ons-search-input{
33
+ width:350px;
34
+ }
assets/lib/tp-add-ons-listing/assets/js/tp-add-ons-listing.js ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( function(){
2
+
3
+ //disable enter on search input
4
+ jQuery('#trp-add-ons-search-input').on('keypress', function(event) {
5
+ if (event.keyCode == 13) {
6
+ event.preventDefault();
7
+ }
8
+ });
9
+
10
+ jQuery('#trp-add-ons-search-input').on( 'keyup', function(e){
11
+
12
+ var search = jQuery(this).val().toUpperCase();
13
+
14
+ //hide individual add-ons
15
+ jQuery('tbody tr').each( function(){
16
+ addonName = jQuery( '.trp-add-ons-name', jQuery(this) ).text();
17
+ if (addonName.toUpperCase().indexOf(search) > -1) {
18
+ jQuery(this).show();
19
+ } else {
20
+ jQuery(this).hide();
21
+ }
22
+ });
23
+
24
+
25
+ //hide the whole table as well when there are no more add-ons in it
26
+ jQuery( 'tbody' ).each( function(){
27
+ hideTable = true;
28
+ jQuery( 'tr', jQuery( this ) ).each( function(){
29
+ if( jQuery(this).css('display') != "none" ) {
30
+ hideTable = false;
31
+ }
32
+ });
33
+
34
+ if( hideTable )
35
+ jQuery( this ).closest( '.trp-add-ons-section' ).hide();
36
+ else
37
+ jQuery( this ).closest( '.trp-add-ons-section' ).show();
38
+
39
+ })
40
+ } );
41
+
42
+ //disabled buttons prevent click
43
+ jQuery( '.trp-add-ons-section .button[disabled]' ).on( 'click', function(e){
44
+ e.preventDefault();
45
+
46
+ //add a tooltip
47
+ pointer_content = '<h3>'+ trp_add_ons_pointer.tooltip_header +'</h3>';
48
+ pointer_content += '<p>'+ trp_add_ons_pointer.tooltip_content +'</p>';
49
+
50
+ jQuery( this ).pointer({
51
+ content: pointer_content,
52
+ position: { 'edge': 'right', 'align' : 'middle' },
53
+ close: function() {
54
+ // This function is fired when you click the close button
55
+ }
56
+ }).pointer('open');
57
+
58
+ });
59
+
60
+ })
assets/lib/tp-add-ons-listing/tp-add-ons-listing.php ADDED
@@ -0,0 +1,342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
+
5
+
6
+ if( ! class_exists( 'WP_List_Table' ) ) {
7
+ require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
8
+ }
9
+
10
+ class TRP_Addons_List_Table extends WP_List_Table {
11
+
12
+ public $header;
13
+
14
+ public $section_header;
15
+ public $section_versions;
16
+ public $sections;
17
+
18
+ public $images_folder;
19
+ public $text_domain;
20
+
21
+ public $all_addons;
22
+ public $all_plugins;
23
+
24
+ public $current_version;
25
+
26
+ public $tooltip_header;
27
+ public $tooltip_content;
28
+
29
+ function __construct(){
30
+
31
+ //Set parent defaults
32
+ parent::__construct(array(
33
+ 'singular' => 'add-on', //singular name of the listed records
34
+ 'plural' => 'add-ons', //plural name of the listed records
35
+ 'ajax' => false //does this table support ajax?
36
+ ));
37
+
38
+ //this is necessary because of WP_List_Table
39
+ $this->prepare_items();
40
+
41
+ //enqueue scripts and styles
42
+ add_action('admin_footer', array($this, 'trp_print_assets'));
43
+
44
+ }
45
+
46
+ /**
47
+ * Print js and css
48
+ * @param $hook
49
+ */
50
+ function trp_print_assets(){
51
+ wp_enqueue_style('wp-pointer');
52
+ wp_enqueue_script('wp-pointer');
53
+ wp_localize_script( 'wp-pointer', 'trp_add_ons_pointer', array( 'tooltip_header' => $this->tooltip_header, 'tooltip_content' => $this->tooltip_content ) );
54
+
55
+ wp_enqueue_style('trp-add-ons-listing-css', plugin_dir_url(__FILE__) . '/assets/css/tp-add-ons-listing.css', false);
56
+ wp_enqueue_script('trp-add-ons-listing-js', plugin_dir_url(__FILE__) . '/assets/js/tp-add-ons-listing.js', array('jquery'));
57
+
58
+ }
59
+
60
+ /**
61
+ * Define the columns here and their headers
62
+ * @return array
63
+ */
64
+ function get_columns(){
65
+ $columns = array(
66
+ 'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
67
+ 'icon' => '',
68
+ 'add_on' => __('Add-On', $this->text_domain ),
69
+ 'actions' => '',
70
+ );
71
+ return $columns;
72
+ }
73
+
74
+ /**
75
+ * The checkbox column
76
+ * @param object $item
77
+ * @return string|void
78
+ */
79
+ function column_cb($item){
80
+ if( $item['type'] === 'add-on') {
81
+ in_array( $this->current_version, $this->section_versions ) ? $disabled = '' : $disabled = 'disabled';
82
+ return '<input type="checkbox" name="trp_add_ons[]" ' . checked($this->is_add_on_active($item['slug']), true, false) . ' '. $disabled .' value="' . $item['slug'] . '" />';
83
+ }elseif( $item['type'] === 'plugin') {
84
+ $all_wp_plugins = get_plugins();
85
+ array_key_exists( $item['slug'], $all_wp_plugins ) ? $disabled = '' : $disabled = 'disabled';//add disabled if the current version isn't eligible
86
+ if( empty($disabled) ){
87
+ is_plugin_active_for_network( $item['slug'] ) ? $disabled = 'disabled' : $disabled = '';
88
+ }
89
+
90
+ return '<input type="checkbox" name="trp_plugins[]" ' . checked(is_plugin_active($item['slug']), true, false) . ' '. $disabled .' value="' . $item['slug'] . '" />';
91
+ }
92
+ }
93
+
94
+ /**
95
+ * The icon column
96
+ * @param $item
97
+ * @return string
98
+ */
99
+ function column_icon($item){
100
+ return '<img src="'.$this->images_folder. $item['icon'] .'" width="64" height="64" alt="'. $item['name'] .'">';
101
+ }
102
+
103
+ /**
104
+ * The column where we display the addon name and description
105
+ * @param $item
106
+ * @return string
107
+ */
108
+ function column_add_on($item){
109
+ return '<strong class="trp-add-ons-name">'. $item['name'] . '</strong><br/>'. $item['description'];
110
+ }
111
+
112
+ /**
113
+ * The actions column for the addons
114
+ * @param $item
115
+ * @return string
116
+ */
117
+ function column_actions($item){
118
+
119
+ $action = '';
120
+ //for plugins we can do something general
121
+ if( $item['type'] === 'plugin' ) {
122
+ ?>
123
+ <a class="button-primary right trp-recommended-plugin-buttons trp-install-and-activate" data-trp-plugin-slug="<?php echo $item['short-slug']; ?>" data-trp-action-performed="<?php _e( 'Installing...', 'translatepress-multilingual' );?>" <?php echo $item['disabled']; ?>><?php echo $item['install_button']; ?></a>
124
+ <?php
125
+
126
+ }
127
+ elseif ( $item['type'] === 'add-on' ){//this is more complicated as there are multiple cases, I think it should be done through filters in each plugin
128
+
129
+ in_array( $this->current_version, $this->section_versions ) ? $disabled = '' : $disabled = 'disabled'; //add disabled if the current version isn't eligible
130
+
131
+ if ( $this->is_add_on_active( $item['slug'] ) ) {
132
+ $action = '<a class="right button button-secondary" '.$disabled.' href="'. esc_url( wp_nonce_url( add_query_arg( 'trp_add_ons', $item['slug'], admin_url( 'admin.php?page='. $_REQUEST['page']. '&trp_add_ons_action=deactivate' ) ), 'trp_add_ons_action' ) ) .'">' . __('Deactivate', $this->text_domain) . '</a>';
133
+ } else {
134
+ $action = '<a class="right button button-primary" '.$disabled.' href="'. esc_url( wp_nonce_url( add_query_arg( 'trp_add_ons', $item['slug'], admin_url( 'admin.php?page='. $_REQUEST['page']. '&trp_add_ons_action=activate' ) ), 'trp_add_ons_action' ) ) .'">' . __('Activate', $this->text_domain) . '</a>';
135
+ }
136
+ }
137
+
138
+
139
+ $documentation = '<a target="_blank" class="right" href="'. trp_add_affiliate_id_to_link( $item['doc_url'] ) . '">' . __( 'Documentation', $this->text_domain ) . '</a>';
140
+
141
+ return $action . $documentation;
142
+ }
143
+
144
+
145
+ //don't generate a bulk actions dropdown by returning an empty array
146
+ function get_bulk_actions() {
147
+ return array( );//don't show bulk actions
148
+ }
149
+
150
+
151
+
152
+ /**
153
+ * Function that initializez the object properties
154
+ */
155
+ function prepare_items() {
156
+ $columns = $this->get_columns();
157
+ $this->_column_headers = array($columns, array(), array());//the two empty arrays are hidden and sortable
158
+ $this->set_pagination_args( array( ) ); //we do not need pagination
159
+ }
160
+
161
+
162
+ /** Here start the customizations for multiple tables and our custom html **/
163
+
164
+
165
+ /**
166
+ * Show our own search box, we don't use the default search of Table listing
167
+ */
168
+ function show_search_box(){
169
+ ?>
170
+ <p class="trp-add-ons-search-box">
171
+ <input type="text" id="trp-add-ons-search-input" name="s" value="" placeholder="<?php _e( 'Search for add-ons...', $this->text_domain ); ?>">
172
+ </p>
173
+ <?php
174
+ }
175
+
176
+ /**
177
+ * Show the submit button
178
+ */
179
+ function show_sumbit_button(){
180
+ ?>
181
+ <input type="submit" class="button-primary" value="<?php _e('Save Add-ons', $this->text_domain);?>">
182
+ <?php
183
+ }
184
+
185
+ /**
186
+ * This is the function that adds more sections (tables) to the listing
187
+ */
188
+ function add_section(){
189
+ ob_start();
190
+ ?>
191
+ <div class="trp-add-ons-section">
192
+ <?php if( !empty( $this->section_header ) ): ?>
193
+
194
+ <h2><?php echo $this->section_header['title'];?></h2>
195
+ <?php if( !empty( $this->section_header ) ): ?>
196
+ <p class="description"><?php echo $this->section_header['description']; ?></p>
197
+ <?php endif; ?>
198
+ <?php endif; ?>
199
+
200
+ <?php
201
+ foreach( $this->items as $item ) {
202
+ if( $item['type'] === 'add-on' )
203
+ $this->all_addons[] = $item['slug'];
204
+ elseif( $item['type'] === 'plugin' )
205
+ $this->all_plugins[] = $item['slug'];
206
+ }
207
+ $this->display(); /* this is the function from the table listing class */
208
+ ?>
209
+ </div>
210
+ <?php
211
+
212
+ $output = ob_get_contents();
213
+
214
+ ob_end_clean();
215
+
216
+ $this->sections[] = $output;
217
+ }
218
+
219
+
220
+ /**
221
+ * The function that actually displays all the tables and the surrounding html
222
+ */
223
+ function display_addons(){
224
+ ?>
225
+ <div class="wrap" id="trp-add-ons-listing">
226
+ <h1 class="trp-main-header"><?php echo $this->header['title'];?></h1>
227
+
228
+ <form id="trp-addons" method="post">
229
+
230
+ <?php $this->show_search_box(); ?>
231
+
232
+ <?php $this->show_sumbit_button(); ?>
233
+
234
+ <?php
235
+
236
+ if( !empty( $this->sections ) ){
237
+ foreach ( $this->sections as $section ){
238
+ echo $section;
239
+ }
240
+ }
241
+ ?>
242
+ <?php $this->show_sumbit_button(); ?>
243
+
244
+ <!-- For plugins, we also need to ensure that the form posts back to our current page -->
245
+ <input type="hidden" name="trp_all_add_ons" value="<?php echo implode( '|' ,$this->all_addons ); ?>" />
246
+ <input type="hidden" name="trp_all_plugins" value="<?php echo implode( '|' ,$this->all_plugins ); ?>" />
247
+ <input type="hidden" name="trp_add_ons_action" value="bulk_action" />
248
+ <?php wp_nonce_field('trp_add_ons_action'); ?>
249
+ </form>
250
+ </div>
251
+
252
+ <?php
253
+
254
+ }
255
+
256
+ static function is_add_on_active( $slug ){
257
+ return apply_filters( 'trp_add_on_is_active', false, $slug );
258
+ }
259
+ }
260
+
261
+ /**
262
+ * process the actions for the Add-ons page
263
+ */
264
+ add_action( 'admin_init', 'trp_add_ons_listing_process_actions', 1 );
265
+ function trp_add_ons_listing_process_actions(){
266
+ if (current_user_can( 'manage_options' ) && isset( $_REQUEST['trp_add_ons_action'] ) && isset($_REQUEST['_wpnonce']) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'trp_add_ons_action' ) ){
267
+
268
+ if( $_REQUEST['trp_add_ons_action'] === 'bulk_action' ){
269
+ if( !empty( $_POST['trp_all_plugins'] ) && !empty( $_POST['trp_all_add_ons'] ) ){//make sure we have all the data
270
+ //sanitize all data
271
+ $all_plugins = explode( '|', sanitize_text_field( $_POST['trp_all_plugins'] ) );
272
+ $all_add_ons = explode( '|', sanitize_text_field( $_POST['trp_all_add_ons'] ) );
273
+ $plugins_to_activate = array();
274
+ if( !empty($_POST['trp_plugins']) && is_array($_POST['trp_plugins']) ){
275
+ $plugins_to_activate = array_map( 'sanitize_text_field', $_POST['trp_plugins'] );
276
+ }
277
+ $add_ons_to_activate = array();
278
+ if( !empty($_POST['trp_add_ons']) && is_array($_POST['trp_add_ons']) ){
279
+ $add_ons_to_activate = array_map( 'sanitize_text_field', $_POST['trp_add_ons'] );
280
+ }
281
+
282
+ foreach( $all_plugins as $plugin ){
283
+ if( in_array( $plugin, $plugins_to_activate ) ){
284
+ if( !is_plugin_active( $plugin ) ) {
285
+ activate_plugin( $plugin );
286
+ }
287
+ }
288
+ else{
289
+ if( is_plugin_active( $plugin ) ) {
290
+ deactivate_plugins( $plugin );
291
+ }
292
+ }
293
+ }
294
+
295
+ foreach( $all_add_ons as $add_on ){
296
+ if( in_array( $add_on, $add_ons_to_activate ) ){
297
+ do_action( 'trp_add_ons_activate', $add_on );
298
+ }
299
+ else{
300
+ do_action( 'trp_add_ons_deactivate', $add_on );
301
+ }
302
+ }
303
+
304
+ }
305
+ }
306
+ elseif ( $_REQUEST['trp_add_ons_action'] === 'activate' ){
307
+ if( !empty( $_REQUEST['trp_plugins'] ) ){//we have a plugin
308
+ $plugin_slug = sanitize_text_field( $_REQUEST['trp_plugins'] );
309
+ if( !is_plugin_active( $plugin_slug ) ) {
310
+ activate_plugin( $plugin_slug );
311
+ }
312
+ }
313
+ elseif( !empty( $_REQUEST['trp_add_ons'] ) ){//we have a add-on
314
+ do_action( 'trp_add_ons_activate', sanitize_text_field($_REQUEST['trp_add_ons']) );
315
+ }
316
+ }
317
+ elseif ( $_REQUEST['trp_add_ons_action'] === 'deactivate' ){
318
+ if( !empty( $_REQUEST['trp_plugins'] ) ){//we have a plugin
319
+ $plugin_slug = sanitize_text_field( $_REQUEST['trp_plugins'] );
320
+ if( is_plugin_active( $plugin_slug ) ) {
321
+ deactivate_plugins( $plugin_slug );
322
+ }
323
+ }
324
+ elseif( !empty( $_REQUEST['trp_add_ons'] ) ){//we have a add-on
325
+ do_action( 'trp_add_ons_deactivate', sanitize_text_field($_REQUEST['trp_add_ons']) );
326
+ }
327
+ }
328
+
329
+ wp_safe_redirect( add_query_arg( 'trp_add_ons_listing_success', 'true', admin_url( 'admin.php?page='. $_REQUEST['page'] ) ) );
330
+ }
331
+ }
332
+
333
+ /**
334
+ * Add a notice on the add-ons page if the save was successful
335
+ */
336
+ if ( isset($_GET['trp_add_ons_listing_success']) ){
337
+ if( class_exists('TRP_Add_General_Notices') ) {
338
+ new TRP_Add_General_Notices('trp_add_ons_listing_success',
339
+ sprintf(__('%1$sAdd-ons settings saved successfully%2$s', 'translatepress-multilingual'), "<p>", "</p>"),
340
+ 'updated notice is-dismissible');
341
+ }
342
+ }
class-translate-press.php CHANGED
@@ -58,7 +58,7 @@ class TRP_Translate_Press{
58
  define( 'TRP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
59
  define( 'TRP_PLUGIN_BASE', plugin_basename( __DIR__ . '/index.php' ) );
60
  define( 'TRP_PLUGIN_SLUG', 'translatepress-multilingual' );
61
- define( 'TRP_PLUGIN_VERSION', '2.0.4' );
62
 
63
  wp_cache_add_non_persistent_groups(array('trp'));
64
 
@@ -116,6 +116,7 @@ class TRP_Translate_Press{
116
  require_once TRP_PLUGIN_DIR . 'includes/class-search.php';
117
  require_once TRP_PLUGIN_DIR . 'includes/class-install-plugins.php';
118
  require_once TRP_PLUGIN_DIR . 'includes/class-reviews.php';
 
119
  if ( did_action( 'elementor/loaded' ) )
120
  require_once TRP_PLUGIN_DIR . 'includes/class-elementor-language-for-blocks.php';
121
  if ( defined( 'WPB_VC_VERSION' ) ) {
@@ -168,13 +169,9 @@ class TRP_Translate_Press{
168
 
169
  // the names of your product should match the download names in EDD exactly
170
  $trp_all_pro_addons = array(
171
- "tp-add-on-automatic-language-detection" => "Automatic User Language Detection",
172
- "tp-add-on-browse-as-other-roles" => "Browse as other Role",
173
- "tp-add-on-extra-languages" => "Multiple Languages",
174
- "tp-add-on-navigation-based-on-language" => "Navigation Based on Language",
175
- "tp-add-on-seo-pack" => "SEO Pack",
176
- "tp-add-on-translator-accounts" => "Translator Accounts",
177
- "tp-add-on-deepl" => "DeepL Automatic Translation",
178
  );
179
  $active_plugins = get_option('active_plugins');
180
  foreach ( $trp_all_pro_addons as $trp_pro_addon_folder => $trp_pro_addon_name ){
@@ -184,6 +181,9 @@ class TRP_Translate_Press{
184
  }
185
  }
186
  }
 
 
 
187
  }
188
 
189
  /**
@@ -223,6 +223,7 @@ class TRP_Translate_Press{
223
  $this->loader->add_filter( 'trp_machine_translation_sanitize_settings', $this->error_manager, 'clear_disable_machine_translation_notification_from_db', 10, 1 );
224
  $this->loader->add_filter( 'trp_error_manager_page_output', $this->error_manager, 'show_instructions_on_how_to_fix', 7, 1 );
225
  $this->loader->add_filter( 'trp_error_manager_page_output', $this->error_manager, 'output_db_errors', 10, 1 );
 
226
 
227
  $this->loader->add_action( 'wp_ajax_nopriv_trp_get_translations_regular', $this->editor_api_regular_strings, 'get_translations' );
228
 
@@ -246,6 +247,7 @@ class TRP_Translate_Press{
246
 
247
  $this->loader->add_action( 'admin_menu', $this->upgrade, 'register_menu_page' );
248
  $this->loader->add_action( 'admin_init', $this->upgrade, 'show_admin_notice' );
 
249
  $this->loader->add_action( 'admin_enqueue_scripts', $this->upgrade, 'enqueue_update_script', 10, 1 );
250
  $this->loader->add_action( 'wp_ajax_trp_update_database', $this->upgrade, 'trp_update_database' );
251
 
58
  define( 'TRP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
59
  define( 'TRP_PLUGIN_BASE', plugin_basename( __DIR__ . '/index.php' ) );
60
  define( 'TRP_PLUGIN_SLUG', 'translatepress-multilingual' );
61
+ define( 'TRP_PLUGIN_VERSION', '2.0.5' );
62
 
63
  wp_cache_add_non_persistent_groups(array('trp'));
64
 
116
  require_once TRP_PLUGIN_DIR . 'includes/class-search.php';
117
  require_once TRP_PLUGIN_DIR . 'includes/class-install-plugins.php';
118
  require_once TRP_PLUGIN_DIR . 'includes/class-reviews.php';
119
+ require_once TRP_PLUGIN_DIR . 'assets/lib/tp-add-ons-listing/tp-add-ons-listing.php';
120
  if ( did_action( 'elementor/loaded' ) )
121
  require_once TRP_PLUGIN_DIR . 'includes/class-elementor-language-for-blocks.php';
122
  if ( defined( 'WPB_VC_VERSION' ) ) {
169
 
170
  // the names of your product should match the download names in EDD exactly
171
  $trp_all_pro_addons = array(
172
+ "translatepress-business" => "TranslatePress Business",
173
+ "translatepress-developer" => "TranslatePress Developer",
174
+ "translatepress-personal" => "TranslatePress Personal",
 
 
 
 
175
  );
176
  $active_plugins = get_option('active_plugins');
177
  foreach ( $trp_all_pro_addons as $trp_pro_addon_folder => $trp_pro_addon_name ){
181
  }
182
  }
183
  }
184
+ //for the dev version simulate PRO version active
185
+ if( ( defined('TRANSLATE_PRESS') && TRANSLATE_PRESS === 'TranslatePress - Dev' ) )
186
+ $this->active_pro_addons["translatepress-business"] = "TranslatePress Business";
187
  }
188
 
189
  /**
223
  $this->loader->add_filter( 'trp_machine_translation_sanitize_settings', $this->error_manager, 'clear_disable_machine_translation_notification_from_db', 10, 1 );
224
  $this->loader->add_filter( 'trp_error_manager_page_output', $this->error_manager, 'show_instructions_on_how_to_fix', 7, 1 );
225
  $this->loader->add_filter( 'trp_error_manager_page_output', $this->error_manager, 'output_db_errors', 10, 1 );
226
+ $this->loader->add_action('load-admin_page_trp_error_manager', $this->error_manager, 'disable_error_after_click_link', 10);
227
 
228
  $this->loader->add_action( 'wp_ajax_nopriv_trp_get_translations_regular', $this->editor_api_regular_strings, 'get_translations' );
229
 
247
 
248
  $this->loader->add_action( 'admin_menu', $this->upgrade, 'register_menu_page' );
249
  $this->loader->add_action( 'admin_init', $this->upgrade, 'show_admin_notice' );
250
+ $this->loader->add_action( 'admin_init', $this->upgrade, 'show_notification_about_add_ons_removal' );
251
  $this->loader->add_action( 'admin_enqueue_scripts', $this->upgrade, 'enqueue_update_script', 10, 1 );
252
  $this->loader->add_action( 'wp_ajax_trp_update_database', $this->upgrade, 'trp_update_database' );
253
 
includes/class-error-manager.php CHANGED
@@ -59,6 +59,7 @@ class TRP_Error_Manager{
59
  $error_message = wp_kses( __('Automatic translation has been disabled.','translatepress-multilingual'), array('strong' => array() ) ) . ' ' . $error_message ;
60
  }
61
  if ( !isset( $option['notifications']['disable_automatic_translations'] ) ) {
 
62
  $option['notifications']['disable_automatic_translations' ] = array(
63
  // we need a unique ID so that after the notice is dismissed and this type of error appears again, it's not already marked as dismissed for that user
64
  'notification_id' => 'disable_automatic_translations' . time(),
@@ -106,9 +107,25 @@ class TRP_Error_Manager{
106
  if ( $mt_settings['machine-translation'] === 'yes' ){
107
  $this->clear_notification_from_db('disable_automatic_translations', null);
108
  }
 
109
  return $mt_settings;
110
  }
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  /**
113
  *
114
  * Hooked to admin_init
59
  $error_message = wp_kses( __('Automatic translation has been disabled.','translatepress-multilingual'), array('strong' => array() ) ) . ' ' . $error_message ;
60
  }
61
  if ( !isset( $option['notifications']['disable_automatic_translations'] ) ) {
62
+
63
  $option['notifications']['disable_automatic_translations' ] = array(
64
  // we need a unique ID so that after the notice is dismissed and this type of error appears again, it's not already marked as dismissed for that user
65
  'notification_id' => 'disable_automatic_translations' . time(),
107
  if ( $mt_settings['machine-translation'] === 'yes' ){
108
  $this->clear_notification_from_db('disable_automatic_translations', null);
109
  }
110
+
111
  return $mt_settings;
112
  }
113
 
114
+ /**
115
+ * Disable the notification after the link is clicked.
116
+ */
117
+
118
+
119
+ public function disable_error_after_click_link(){
120
+
121
+ $link = $_GET['page'];
122
+
123
+ if($link = 'trp_error_manager') {
124
+ $this->clear_notification_from_db('disable_automatic_translations', null);
125
+ }
126
+
127
+ }
128
+
129
  /**
130
  *
131
  * Hooked to admin_init
includes/class-machine-translation-tab.php CHANGED
@@ -111,17 +111,24 @@ class TRP_Machine_Translation_Tab {
111
  if( empty( $this->settings['trp_machine_translation_settings']['translation-engine'] ) )
112
  $value = $default;
113
  else {
114
- $value = 'TRP_' . ucwords( $this->settings['trp_machine_translation_settings']['translation-engine'] ) . '_Machine_Translator'; // class name needs to follow this pattern
 
 
 
 
115
 
116
- if( !class_exists( $value ) )
117
- $value = $default;
 
 
 
118
  }
119
 
120
  return new $value( $this->settings );
121
  }
122
 
123
  public function add_upsell_filter(){
124
- if( !class_exists( 'TRP_DeepL' ) )
125
  add_filter( 'trp_machine_translation_engines', [ $this, 'translation_engines_upsell' ], 20 );
126
  }
127
 
111
  if( empty( $this->settings['trp_machine_translation_settings']['translation-engine'] ) )
112
  $value = $default;
113
  else {
114
+ $deepl_class_name = class_exists('TRP_IN_Deepl_Machine_Translator' ) ? 'TRP_IN_Deepl_Machine_Translator' : 'TRP_Deepl_Machine_Translator';
115
+ $existing_engines = apply_filters('trp_automatic_translation_engines_classes', array(
116
+ 'google_translate_v2' => 'TRP_Google_Translate_V2_Machine_Translator',
117
+ 'deepl' => $deepl_class_name
118
+ ));
119
 
120
+ $value = $existing_engines[$this->settings['trp_machine_translation_settings']['translation-engine']];
121
+
122
+ if( !class_exists( $value ) ) {
123
+ $value = $default; //something is wrong if it reaches this
124
+ }
125
  }
126
 
127
  return new $value( $this->settings );
128
  }
129
 
130
  public function add_upsell_filter(){
131
+ if( !class_exists( 'TRP_DeepL' ) && !class_exists( 'TRP_IN_DeepL' ) )
132
  add_filter( 'trp_machine_translation_engines', [ $this, 'translation_engines_upsell' ], 20 );
133
  }
134
 
includes/class-machine-translator.php CHANGED
@@ -121,9 +121,11 @@ class TRP_Machine_Translator {
121
  */
122
  public function automatic_translate_error_check( $machine_translator, $translation_engine, $api_key ) {
123
 
124
- if ($this->correct_api_key!=null){
125
- return $this->correct_api_key;
126
- }
 
 
127
 
128
  $is_error = false;
129
  $return_message = '';
@@ -150,6 +152,7 @@ class TRP_Machine_Translator {
150
  $return_message = __( 'Please enter your DeepL API key.', 'translatepress-multilingual' );
151
  } else {
152
  // Perform test.
 
153
  $response = $machine_translator->test_request();
154
  $code = wp_remote_retrieve_response_code( $response );
155
  if ( 200 !== $code && method_exists( 'TRP_DeepL', 'deepl_response_codes' ) ) {
121
  */
122
  public function automatic_translate_error_check( $machine_translator, $translation_engine, $api_key ) {
123
 
124
+ //@TODO need to find a better solution as the code bellow does not work
125
+
126
+ // if ($this->correct_api_key!=null){
127
+ // return $this->correct_api_key;
128
+ // }
129
 
130
  $is_error = false;
131
  $return_message = '';
152
  $return_message = __( 'Please enter your DeepL API key.', 'translatepress-multilingual' );
153
  } else {
154
  // Perform test.
155
+ $is_error= false;
156
  $response = $machine_translator->test_request();
157
  $code = wp_remote_retrieve_response_code( $response );
158
  if ( 200 !== $code && method_exists( 'TRP_DeepL', 'deepl_response_codes' ) ) {
includes/class-upgrade.php CHANGED
@@ -741,4 +741,42 @@ class TRP_Upgrade {
741
  return true;
742
  }
743
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
744
  }
741
  return true;
742
  }
743
  }
744
+
745
+
746
+ /**
747
+ *
748
+ * Hooked to admin_init
749
+ */
750
+ public function show_notification_about_add_ons_removal(){
751
+
752
+ //if it's triggered in the frontend we need this include
753
+ if( !function_exists('is_plugin_active') )
754
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
755
+
756
+ $old_addon_list = array(
757
+ 'tp-add-on-automatic-language-detection/tp-automatic-language-detection.php',
758
+ 'tp-add-on-browse-as-other-roles/tp-browse-as-other-role.php',
759
+ 'tp-add-on-deepl/index.php',
760
+ 'tp-add-on-extra-languages/tp-extra-languages.php',
761
+ 'tp-add-on-navigation-based-on-language/tp-navigation-based-on-language.php',
762
+ 'tp-add-on-seo-pack/tp-seo-pack.php',
763
+ 'tp-add-on-translator-accounts/index.php',
764
+ );
765
+
766
+ foreach( $old_addon_list as $addon_slug ) {
767
+ if (is_plugin_active($addon_slug)) {
768
+ $notifications = TRP_Plugin_Notifications::get_instance();
769
+
770
+ $notification_id = 'trp_add_ons_removal';
771
+
772
+ $message = '<p style="padding-right:30px;">' . __( 'All individual TranslatePress add-on plugins have been discontinued and have been replaced with new Personal, Business and Developer versions of TranslatePress. Please log into the account page at <a href="https://translatepress.com/account/" target="_blank">translatepress.com</a> and download the new plugin and install it. Individual Add-ons will not receive updates anymore' , 'translatepress-multilingual' ) . '</p>';
773
+ //make sure to use the trp_dismiss_admin_notification arg
774
+ $message .= '<a href="' . add_query_arg(array('trp_dismiss_admin_notification' => $notification_id)) . '" type="button" class="notice-dismiss" style="text-decoration: none;z-index:100;"><span class="screen-reader-text">' . esc_html__('Dismiss this notice.', 'translatepress-multilingual') . '</span></a>';
775
+
776
+ $notifications->add_notification($notification_id, $message, 'trp-notice trp-narrow notice error is-dismissible', true, array('translate-press'), true);
777
+ break;
778
+ }
779
+ }
780
+ }
781
+
782
  }
includes/compatibility-functions.php CHANGED
@@ -1530,3 +1530,33 @@ if( defined( 'PMS_VERSION' ) )
1530
 
1531
  if( function_exists( 'wppb_plugin_init' ) )
1532
  add_filter( 'wppb_restricted_post_redirect_url', 'trp_add_language_to_pms_wppb_restriction_redirect_url' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1530
 
1531
  if( function_exists( 'wppb_plugin_init' ) )
1532
  add_filter( 'wppb_restricted_post_redirect_url', 'trp_add_language_to_pms_wppb_restriction_redirect_url' );
1533
+
1534
+ /**
1535
+ * Compatibility with wp-Typography
1536
+ * The $filters array is set to empty, so it does not affect the strings anymore in the function trp_remove_filters_wp_typography.
1537
+ * Then it is reset with a higher priority by calling the function process() inside the trp_add_filters_wp_typography function.
1538
+ */
1539
+
1540
+ if(class_exists('WP_Typography')) {
1541
+
1542
+ add_filter('typo_content_filters', 'trp_remove_filters_wp_typography');
1543
+ add_filter( 'trp_translated_html', 'trp_add_filters_wp_typography', 9999, 1 );
1544
+ }
1545
+
1546
+ function trp_remove_filters_wp_typography($filters){
1547
+ $filters = [];
1548
+
1549
+ return $filters;
1550
+ }
1551
+
1552
+
1553
+
1554
+ function trp_add_filters_wp_typography($final_html){
1555
+ $wpt= WP_Typography::get_instance();
1556
+
1557
+ $final_html = $wpt->process($final_html, $is_title = false, $force_feed = false, null );
1558
+
1559
+ return $final_html;
1560
+
1561
+ }
1562
+
includes/functions.php CHANGED
@@ -493,12 +493,18 @@ function trp_is_paid_version() {
493
 
494
  //list of class names
495
  $addons = apply_filters( 'trp_paid_addons', array(
496
- 'TRP_Automatic_Language_Detection',
497
- 'TRP_Browse_as_other_Role',
498
- 'TRP_Extra_Languages',
499
- 'TRP_Navigation_Based_on_Language',
500
- 'TRP_Seo_Pack',
501
- 'TRP_Translator_Accounts',
 
 
 
 
 
 
502
  ) );
503
 
504
  foreach ( $addons as $className ) {
493
 
494
  //list of class names
495
  $addons = apply_filters( 'trp_paid_addons', array(
496
+ 'TRP_IN_Automatic_Language_Detection',
497
+ 'TRP_IN_Browse_as_other_Role',
498
+ 'TRP_IN_Extra_Languages',
499
+ 'TRP_IN_Navigation_Based_on_Language',
500
+ 'TRP_IN_Seo_Pack',
501
+ 'TRP_IN_Translator_Accounts',
502
+ 'TRP_Automatic_Language_Detection',
503
+ 'TRP_Browse_as_other_Role',
504
+ 'TRP_Extra_Languages',
505
+ 'TRP_Navigation_Based_on_Language',
506
+ 'TRP_Seo_Pack',
507
+ 'TRP_Translator_Accounts',
508
  ) );
509
 
510
  foreach ( $addons as $className ) {
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: TranslatePress - Multilingual
4
  Plugin URI: https://translatepress.com/
5
  Description: Experience a better way of translating your WordPress site using a visual front-end translation editor, with full support for WooCommerce and site builders.
6
- Version: 2.0.4
7
  Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
8
  Author URI: https://cozmoslabs.com/
9
  Text Domain: translatepress-multilingual
@@ -61,3 +61,8 @@ function trp_run_translatepress_hooks(){
61
  function trp_translatepress_disabled_notice(){
62
  echo '<div class="notice notice-error"><p>' . wp_kses( sprintf( __( '<strong>TranslatePress</strong> requires at least PHP version 5.6.20+ to run. It is the <a href="%s">minimum requirement of the latest WordPress version</a>. Please contact your server administrator to update your PHP version.','translatepress-multilingual' ), 'https://wordpress.org/about/requirements/' ), array( 'a' => array( 'href' => array() ), 'strong' => array() ) ) . '</p></div>';
63
  }
 
 
 
 
 
3
  Plugin Name: TranslatePress - Multilingual
4
  Plugin URI: https://translatepress.com/
5
  Description: Experience a better way of translating your WordPress site using a visual front-end translation editor, with full support for WooCommerce and site builders.
6
+ Version: 2.0.5
7
  Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
8
  Author URI: https://cozmoslabs.com/
9
  Text Domain: translatepress-multilingual
61
  function trp_translatepress_disabled_notice(){
62
  echo '<div class="notice notice-error"><p>' . wp_kses( sprintf( __( '<strong>TranslatePress</strong> requires at least PHP version 5.6.20+ to run. It is the <a href="%s">minimum requirement of the latest WordPress version</a>. Please contact your server administrator to update your PHP version.','translatepress-multilingual' ), 'https://wordpress.org/about/requirements/' ), array( 'a' => array( 'href' => array() ), 'strong' => array() ) ) . '</p></div>';
63
  }
64
+
65
+
66
+ //This is for the DEV version
67
+ if( file_exists(plugin_dir_path( __FILE__ ) . '/index-dev.php') )
68
+ include_once( plugin_dir_path( __FILE__ ) . '/index-dev.php');
languages/translatepress-multilingual.catalog.php CHANGED
@@ -1,36 +1,13 @@
1
  <?php __("", "translatepress-multilingual"); ?>
2
- <?php __("Error! Duplicate URL slug values.", "translatepress-multilingual"); ?>
3
- <?php __("Limit this menu item to the following languages", "translatepress-multilingual"); ?>
4
- <?php __("All Languages", "translatepress-multilingual"); ?>
5
  <?php __("<strong>TranslatePress</strong> requires at least PHP version 5.6.20+ to run. It is the <a href=\"%s\">minimum requirement of the latest WordPress version</a>. Please contact your server administrator to update your PHP version.", "translatepress-multilingual"); ?>
6
- <?php __("First by browser language, then IP address (recommended)", "translatepress-multilingual"); ?>
7
- <?php __("First by IP address, then by browser language", "translatepress-multilingual"); ?>
8
- <?php __("Only by browser language", "translatepress-multilingual"); ?>
9
- <?php __("Only by IP address", "translatepress-multilingual"); ?>
10
- <?php __("WARNING. Cannot determine your language preference based on your current IP.<br>This is most likely because the website is on a local environment.", "translatepress-multilingual"); ?>
11
- <?php __("TranslatePress Settings", "translatepress-multilingual"); ?>
12
- <?php __("License Key", "translatepress-multilingual"); ?>
13
- <?php __("Enter your license key.", "translatepress-multilingual"); ?>
14
- <?php __("Activate License", "translatepress-multilingual"); ?>
15
- <?php __("Deactivate License", "translatepress-multilingual"); ?>
16
- <?php __("Method of language detection", "translatepress-multilingual"); ?>
17
- <?php __("Select how the language should be detected for first time visitors.<br>The visitor's last displayed language will be remembered through cookies.", "translatepress-multilingual"); ?>
18
- <?php __("Language", "translatepress-multilingual"); ?>
19
- <?php __("Code", "translatepress-multilingual"); ?>
20
- <?php __("Slug", "translatepress-multilingual"); ?>
21
- <?php __("Active", "translatepress-multilingual"); ?>
22
- <?php __("Are you sure you want to remove this language?", "translatepress-multilingual"); ?>
23
- <?php __("Remove", "translatepress-multilingual"); ?>
24
- <?php __("Choose...", "translatepress-multilingual"); ?>
25
- <?php __("Add", "translatepress-multilingual"); ?>
26
- <?php __("Select the languages you wish to make your website available in.", "translatepress-multilingual"); ?>
27
- <?php __("Post Slug", "translatepress-multilingual"); ?>
28
- <?php __(" TranslatePress Settings", "translatepress-multilingual"); ?>
29
- <?php __("Translator", "translatepress-multilingual"); ?>
30
- <?php __("Allow this user to translate the website.", "translatepress-multilingual"); ?>
31
  <?php __("Advanced", "translatepress-multilingual"); ?>
32
  <?php __("Yes", "translatepress-multilingual"); ?>
33
  <?php __("Are you sure you want to remove this item?", "translatepress-multilingual"); ?>
 
 
34
  <?php __("Select...", "translatepress-multilingual"); ?>
35
  <?php __("Your license key expired on %s.", "translatepress-multilingual"); ?>
36
  <?php __("Your license key has been disabled.", "translatepress-multilingual"); ?>
@@ -63,6 +40,7 @@
63
  <?php __("Plan C.", "translatepress-multilingual"); ?>
64
  <?php __("If your problem still isn't solved, try asking your hosting about your errors. The most common issue is missing permissions for the SQL user, such as the Create Tables permission.", "translatepress-multilingual"); ?>
65
  <?php __("Could not install. Try again from <a href=\"%s\" >Plugins Dashboard.</a>", "translatepress-multilingual"); ?>
 
66
  <?php __("Automatic Translation", "translatepress-multilingual"); ?>
67
  <?php __("DeepL", "translatepress-multilingual"); ?>
68
  <?php __("Unsupported languages", "translatepress-multilingual"); ?>
@@ -98,6 +76,7 @@
98
  <?php __("Dark", "translatepress-multilingual"); ?>
99
  <?php __("Light", "translatepress-multilingual"); ?>
100
  <?php __("Install & Activate", "translatepress-multilingual"); ?>
 
101
  <?php __("Current Language", "translatepress-multilingual"); ?>
102
  <?php __("General", "translatepress-multilingual"); ?>
103
  <?php __("Translate Site", "translatepress-multilingual"); ?>
@@ -210,32 +189,46 @@
210
  <?php __("If the page does not redirect automatically", "translatepress-multilingual"); ?>
211
  <?php __("click here", "translatepress-multilingual"); ?>
212
  <?php __("Recreated original strings table.", "translatepress-multilingual"); ?>
 
213
  <?php __("<strong>TranslatePress</strong> requires <strong><a href=\"http://php.net/manual/en/book.mbstring.php\">Multibyte String PHP library</a></strong>. Please contact your server administrator to install it on your server.", "translatepress-multilingual"); ?>
214
  <?php __("Detected long query limitation on WPEngine hosting. Some large pages may appear untranslated. You can remove limitation by adding the following to your site’s wp-config.php: define( 'WPE_GOVERNOR', false ); ", "translatepress-multilingual"); ?>
215
- <?php __("Advanced Addons", "translatepress-multilingual"); ?>
 
 
 
216
  <?php __("These addons extend your translation plugin and are available in the Developer, Business and Personal plans.", "translatepress-multilingual"); ?>
217
- <?php __("SEO support for page slug, page title, description and facebook and twitter social graph information. </br> The HTML lang attribute is properly set.", "translatepress-multilingual"); ?>
218
- <?php __("Add as many languages as you need for your project to go global.<br>Publish your language only when all your translations are done.", "translatepress-multilingual"); ?>
219
- <?php __("Pro Addons", "translatepress-multilingual"); ?>
 
 
220
  <?php __("These addons extend your translation plugin and are available in the Business and Developer plans.", "translatepress-multilingual"); ?>
 
221
  <?php __("Automatically translate your website through the DeepL API.", "translatepress-multilingual"); ?>
222
- <?php __("Automatically redirects new visitors to their preferred language based on browser settings or IP address</br> and remembers the last visited language.", "translatepress-multilingual"); ?>
223
- <?php __("Create translator accounts for new users or allow existing users <br/>that are not administrators to translate your website.", "translatepress-multilingual"); ?>
224
- <?php __("Navigate your website just like a particular user role would. <br/>Really useful for dynamic content or hidden content that appears for particular users.", "translatepress-multilingual"); ?>
 
 
 
225
  <?php __("Configure different menu items for different languages.", "translatepress-multilingual"); ?>
226
- <?php __("Recommended Plugins by the same developers", "translatepress-multilingual"); ?>
227
  <?php __("A short list of plugins you can use to extend your website.", "translatepress-multilingual"); ?>
 
228
  <?php __("Capture more user information on the registration form with the help of Profile Builder's custom user profile fields and/or add an Email Confirmation process to verify your customers accounts.", "translatepress-multilingual"); ?>
229
- <?php __("Learn More", "translatepress-multilingual"); ?>
230
- <?php __("Installing...", "translatepress-multilingual"); ?>
231
  <?php __("Accept user payments, create subscription plans and restrict content on your membership site.", "translatepress-multilingual"); ?>
232
  <?php __("TranslatePress Advanced Settings", "translatepress-multilingual"); ?>
233
  <?php __("Save Changes", "translatepress-multilingual"); ?>
234
  <?php __("TranslatePress Errors", "translatepress-multilingual"); ?>
235
  <?php __("There are no logged errors.", "translatepress-multilingual"); ?>
236
  <?php __("If you purchased a premium version, first install and activate any of the <a href=\"%s\">Advanced or Pro Addons</a>. After this you will be prompted with an input to enter your license key.", "translatepress-multilingual"); ?>
 
 
 
237
  <?php __("Your license is invalid", "translatepress-multilingual"); ?>
238
  <?php __("Active on this site", "translatepress-multilingual"); ?>
 
239
  <?php __("TranslatePress Automatic Translation", "translatepress-multilingual"); ?>
240
  <?php __("Enable Automatic Translation", "translatepress-multilingual"); ?>
241
  <?php __("No", "translatepress-multilingual"); ?>
@@ -256,12 +249,18 @@
256
  <?php __("Today's character count:", "translatepress-multilingual"); ?>
257
  <?php __("Log machine translation queries.", "translatepress-multilingual"); ?>
258
  <?php __("Only enable for testing purposes. Can impact performance.<br>All records are stored in the wp_trp_machine_translation_log database table. Use a plugin like <a href=\"https://wordpress.org/plugins/wp-data-access/\">WP Data Access</a> to browse the logs or directly from your database manager (PHPMyAdmin, etc.)", "translatepress-multilingual"); ?>
 
 
 
 
 
 
259
  <?php __("Select the language you wish to make your website available in.", "translatepress-multilingual"); ?>
260
  <?php __("To add <strong>more than two languages</strong> and support for SEO Title, Description, Slug and more check out <a href=\"%1$s\" target=\"_blank\" title=\"%2$s\">%2$s</a>.", "translatepress-multilingual"); ?>
261
  <?php __("TranslatePress Advanced Add-ons", "translatepress-multilingual"); ?>
262
  <?php __("Not only are you getting extra features and premium support, but you also help fund the future development of TranslatePress.", "translatepress-multilingual"); ?>
263
  <?php __("TranslatePress Advanced Add-ons", "translatepress-multilingual"); ?>
264
- <?php __("To add <strong>more than two languages</strong> download and install the <strong>Extra Languages Add-on</strong> from <a href=\"%s\" class=\"trp-translatepress-account-page\" target=\"_blank\" title=\"TranslatePress Account page\">your account</a>. Once activated, you'll be able to add unlimited languages.", "translatepress-multilingual"); ?>
265
  <?php __("Default Language", "translatepress-multilingual"); ?>
266
  <?php __("Select the original language of your content.", "translatepress-multilingual"); ?>
267
  <?php __("WARNING. Changing the default language will invalidate existing translations.", "translatepress-multilingual"); ?>
@@ -300,29 +299,7 @@
300
  <?php __("Remove duplicate original strings", "translatepress-multilingual"); ?>
301
  <?php __("TranslatePress Database Updater", "translatepress-multilingual"); ?>
302
  <?php __("Updating TranslatePress tables", "translatepress-multilingual"); ?>
303
- <?php __("URL Slugs Translation", "translatepress-multilingual"); ?>
304
- <?php __("Taxonomy Slugs", "translatepress-multilingual"); ?>
305
- <?php __("Search Taxonomy Slugs", "translatepress-multilingual"); ?>
306
- <?php __("Taxonomy Slug", "translatepress-multilingual"); ?>
307
- <?php __("Translation", "translatepress-multilingual"); ?>
308
- <?php __("Term Slugs", "translatepress-multilingual"); ?>
309
- <?php __("Search Term Slugs", "translatepress-multilingual"); ?>
310
- <?php __("Term Slug", "translatepress-multilingual"); ?>
311
- <?php __("Taxonomy", "translatepress-multilingual"); ?>
312
- <?php __("Filter by Taxonomy", "translatepress-multilingual"); ?>
313
- <?php __("Post Slugs", "translatepress-multilingual"); ?>
314
- <?php __("Search Post Slugs", "translatepress-multilingual"); ?>
315
- <?php __("Post ID", "translatepress-multilingual"); ?>
316
- <?php __("Post Type", "translatepress-multilingual"); ?>
317
- <?php __("Filter by Post Type", "translatepress-multilingual"); ?>
318
- <?php __("Published", "translatepress-multilingual"); ?>
319
- <?php __("Any Post Status", "translatepress-multilingual"); ?>
320
- <?php __("Post Type Base Slugs", "translatepress-multilingual"); ?>
321
- <?php __("Post Type Base Slug", "translatepress-multilingual"); ?>
322
- <?php __("Search Post Type Base Slugs", "translatepress-multilingual"); ?>
323
- <?php __("WooCommerce Slugs", "translatepress-multilingual"); ?>
324
- <?php __("WooCommerce Slug", "translatepress-multilingual"); ?>
325
- <?php __("Search WooCommerce Slugs", "translatepress-multilingual"); ?>
326
  <?php __("Date format", "translatepress-multilingual"); ?>
327
  <?php __("Customize the date formatting per each translated language.<br/>Leave empty for default WP setting or see more information <a href=\"https://wordpress.org/support/article/formatting-date-and-time/\" title=\"Formatting Date and Time\" target=\"_blank\">here</a>", "translatepress-multilingual"); ?>
328
  <?php __("Language name", "translatepress-multilingual"); ?>
@@ -423,3 +400,53 @@
423
  <?php __("Click to sort strings by this column", "translatepress-multilingual"); ?>
424
  <?php __("Language in which the translation status filter applies. Leave unselected for the translation status to apply to ANY language", "translatepress-multilingual"); ?>
425
  <?php __("String Translation Editor", "translatepress-multilingual"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php __("", "translatepress-multilingual"); ?>
2
+ <?php __("Please update the TranslatePress - Multilingual plugin to version 2.0.5 at least for %s to work properly", "translatepress-multilingual"); ?>
3
+ <?php __("Please install and activate the TranslatePress - Multilingual plugin", "translatepress-multilingual"); ?>
4
+ <?php __("This TranslatePress add-on has been migrated to the main plugin and is no longer used. You can delete it.", "translatepress-multilingual"); ?>
5
  <?php __("<strong>TranslatePress</strong> requires at least PHP version 5.6.20+ to run. It is the <a href=\"%s\">minimum requirement of the latest WordPress version</a>. Please contact your server administrator to update your PHP version.", "translatepress-multilingual"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  <?php __("Advanced", "translatepress-multilingual"); ?>
7
  <?php __("Yes", "translatepress-multilingual"); ?>
8
  <?php __("Are you sure you want to remove this item?", "translatepress-multilingual"); ?>
9
+ <?php __("Remove", "translatepress-multilingual"); ?>
10
+ <?php __("Add", "translatepress-multilingual"); ?>
11
  <?php __("Select...", "translatepress-multilingual"); ?>
12
  <?php __("Your license key expired on %s.", "translatepress-multilingual"); ?>
13
  <?php __("Your license key has been disabled.", "translatepress-multilingual"); ?>
40
  <?php __("Plan C.", "translatepress-multilingual"); ?>
41
  <?php __("If your problem still isn't solved, try asking your hosting about your errors. The most common issue is missing permissions for the SQL user, such as the Create Tables permission.", "translatepress-multilingual"); ?>
42
  <?php __("Could not install. Try again from <a href=\"%s\" >Plugins Dashboard.</a>", "translatepress-multilingual"); ?>
43
+ <?php __("Active", "translatepress-multilingual"); ?>
44
  <?php __("Automatic Translation", "translatepress-multilingual"); ?>
45
  <?php __("DeepL", "translatepress-multilingual"); ?>
46
  <?php __("Unsupported languages", "translatepress-multilingual"); ?>
76
  <?php __("Dark", "translatepress-multilingual"); ?>
77
  <?php __("Light", "translatepress-multilingual"); ?>
78
  <?php __("Install & Activate", "translatepress-multilingual"); ?>
79
+ <?php __("Error! Duplicate URL slug values.", "translatepress-multilingual"); ?>
80
  <?php __("Current Language", "translatepress-multilingual"); ?>
81
  <?php __("General", "translatepress-multilingual"); ?>
82
  <?php __("Translate Site", "translatepress-multilingual"); ?>
189
  <?php __("If the page does not redirect automatically", "translatepress-multilingual"); ?>
190
  <?php __("click here", "translatepress-multilingual"); ?>
191
  <?php __("Recreated original strings table.", "translatepress-multilingual"); ?>
192
+ <?php __("All individual TranslatePress add-on plugins have been discontinued and have been replaced with new Personal, Business and Developer versions of TranslatePress. Please log into the account page at <a href=\"https://translatepress.com/account/\" target=\"_blank\">translatepress.com</a> and download the new plugin and install it. Individual Add-ons will not receive updates anymore", "translatepress-multilingual"); ?>
193
  <?php __("<strong>TranslatePress</strong> requires <strong><a href=\"http://php.net/manual/en/book.mbstring.php\">Multibyte String PHP library</a></strong>. Please contact your server administrator to install it on your server.", "translatepress-multilingual"); ?>
194
  <?php __("Detected long query limitation on WPEngine hosting. Some large pages may appear untranslated. You can remove limitation by adding the following to your site’s wp-config.php: define( 'WPE_GOVERNOR', false ); ", "translatepress-multilingual"); ?>
195
+ <?php __("TranslatePress Settings", "translatepress-multilingual"); ?>
196
+ <?php __("TranslatePress Add-ons", "translatepress-multilingual"); ?>
197
+ <?php __("You must first purchase this version to have access to the addon %1$shere%2$s", "translatepress-multilingual"); ?>
198
+ <?php __("Advanced Add-ons", "translatepress-multilingual"); ?>
199
  <?php __("These addons extend your translation plugin and are available in the Developer, Business and Personal plans.", "translatepress-multilingual"); ?>
200
+ <?php __("SEO Pack", "translatepress-multilingual"); ?>
201
+ <?php __("SEO support for page slug, page title, description and facebook and twitter social graph information. The HTML lang attribute is properly set.", "translatepress-multilingual"); ?>
202
+ <?php __("Multiple Languages", "translatepress-multilingual"); ?>
203
+ <?php __("Add as many languages as you need for your project to go global. Publish your language only when all your translations are done.", "translatepress-multilingual"); ?>
204
+ <?php __("Pro Add-ons", "translatepress-multilingual"); ?>
205
  <?php __("These addons extend your translation plugin and are available in the Business and Developer plans.", "translatepress-multilingual"); ?>
206
+ <?php __("DeepL Automatic Translation", "translatepress-multilingual"); ?>
207
  <?php __("Automatically translate your website through the DeepL API.", "translatepress-multilingual"); ?>
208
+ <?php __("Automatically redirects new visitors to their preferred language based on browser settings or IP address and remembers the last visited language.", "translatepress-multilingual"); ?>
209
+ <?php __("Translator Accounts", "translatepress-multilingual"); ?>
210
+ <?php __("Create translator accounts for new users or allow existing users that are not administrators to translate your website.", "translatepress-multilingual"); ?>
211
+ <?php __("Browse As User Role", "translatepress-multilingual"); ?>
212
+ <?php __("Navigate your website just like a particular user role would. Really useful for dynamic content or hidden content that appears for particular users.", "translatepress-multilingual"); ?>
213
+ <?php __("Navigation Based on Language", "translatepress-multilingual"); ?>
214
  <?php __("Configure different menu items for different languages.", "translatepress-multilingual"); ?>
215
+ <?php __("Recommended Plugins", "translatepress-multilingual"); ?>
216
  <?php __("A short list of plugins you can use to extend your website.", "translatepress-multilingual"); ?>
217
+ <?php __("Profile Builder", "translatepress-multilingual"); ?>
218
  <?php __("Capture more user information on the registration form with the help of Profile Builder's custom user profile fields and/or add an Email Confirmation process to verify your customers accounts.", "translatepress-multilingual"); ?>
219
+ <?php __("Paid Member Subscriptions", "translatepress-multilingual"); ?>
 
220
  <?php __("Accept user payments, create subscription plans and restrict content on your membership site.", "translatepress-multilingual"); ?>
221
  <?php __("TranslatePress Advanced Settings", "translatepress-multilingual"); ?>
222
  <?php __("Save Changes", "translatepress-multilingual"); ?>
223
  <?php __("TranslatePress Errors", "translatepress-multilingual"); ?>
224
  <?php __("There are no logged errors.", "translatepress-multilingual"); ?>
225
  <?php __("If you purchased a premium version, first install and activate any of the <a href=\"%s\">Advanced or Pro Addons</a>. After this you will be prompted with an input to enter your license key.", "translatepress-multilingual"); ?>
226
+ <?php __("License Key", "translatepress-multilingual"); ?>
227
+ <?php __("Activate License", "translatepress-multilingual"); ?>
228
+ <?php __("Deactivate License", "translatepress-multilingual"); ?>
229
  <?php __("Your license is invalid", "translatepress-multilingual"); ?>
230
  <?php __("Active on this site", "translatepress-multilingual"); ?>
231
+ <?php __("Enter your license key.", "translatepress-multilingual"); ?>
232
  <?php __("TranslatePress Automatic Translation", "translatepress-multilingual"); ?>
233
  <?php __("Enable Automatic Translation", "translatepress-multilingual"); ?>
234
  <?php __("No", "translatepress-multilingual"); ?>
249
  <?php __("Today's character count:", "translatepress-multilingual"); ?>
250
  <?php __("Log machine translation queries.", "translatepress-multilingual"); ?>
251
  <?php __("Only enable for testing purposes. Can impact performance.<br>All records are stored in the wp_trp_machine_translation_log database table. Use a plugin like <a href=\"https://wordpress.org/plugins/wp-data-access/\">WP Data Access</a> to browse the logs or directly from your database manager (PHPMyAdmin, etc.)", "translatepress-multilingual"); ?>
252
+ <?php __("All Languages", "translatepress-multilingual"); ?>
253
+ <?php __("Language", "translatepress-multilingual"); ?>
254
+ <?php __("Code", "translatepress-multilingual"); ?>
255
+ <?php __("Slug", "translatepress-multilingual"); ?>
256
+ <?php __("Are you sure you want to remove this language?", "translatepress-multilingual"); ?>
257
+ <?php __("Choose...", "translatepress-multilingual"); ?>
258
  <?php __("Select the language you wish to make your website available in.", "translatepress-multilingual"); ?>
259
  <?php __("To add <strong>more than two languages</strong> and support for SEO Title, Description, Slug and more check out <a href=\"%1$s\" target=\"_blank\" title=\"%2$s\">%2$s</a>.", "translatepress-multilingual"); ?>
260
  <?php __("TranslatePress Advanced Add-ons", "translatepress-multilingual"); ?>
261
  <?php __("Not only are you getting extra features and premium support, but you also help fund the future development of TranslatePress.", "translatepress-multilingual"); ?>
262
  <?php __("TranslatePress Advanced Add-ons", "translatepress-multilingual"); ?>
263
+ <?php __("To add <strong>more than two languages</strong> activate the <strong>Extra Languages Add-on</strong> from <a href=\"%s\" class=\"trp-translatepress-account-page\" target=\"_blank\" title=\"Add-ons page\">the Add-ons Page</a>. Once activated, you'll be able to add unlimited languages.", "translatepress-multilingual"); ?>
264
  <?php __("Default Language", "translatepress-multilingual"); ?>
265
  <?php __("Select the original language of your content.", "translatepress-multilingual"); ?>
266
  <?php __("WARNING. Changing the default language will invalidate existing translations.", "translatepress-multilingual"); ?>
299
  <?php __("Remove duplicate original strings", "translatepress-multilingual"); ?>
300
  <?php __("TranslatePress Database Updater", "translatepress-multilingual"); ?>
301
  <?php __("Updating TranslatePress tables", "translatepress-multilingual"); ?>
302
+ <?php __("Limit this menu item to the following languages", "translatepress-multilingual"); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
303
  <?php __("Date format", "translatepress-multilingual"); ?>
304
  <?php __("Customize the date formatting per each translated language.<br/>Leave empty for default WP setting or see more information <a href=\"https://wordpress.org/support/article/formatting-date-and-time/\" title=\"Formatting Date and Time\" target=\"_blank\">here</a>", "translatepress-multilingual"); ?>
305
  <?php __("Language name", "translatepress-multilingual"); ?>
400
  <?php __("Click to sort strings by this column", "translatepress-multilingual"); ?>
401
  <?php __("Language in which the translation status filter applies. Leave unselected for the translation status to apply to ANY language", "translatepress-multilingual"); ?>
402
  <?php __("String Translation Editor", "translatepress-multilingual"); ?>
403
+ <?php __("Select the languages you wish to make your website available in.", "translatepress-multilingual"); ?>
404
+ <?php __("Post Slug", "translatepress-multilingual"); ?>
405
+ <?php __("First by browser language, then IP address (recommended)", "translatepress-multilingual"); ?>
406
+ <?php __("First by IP address, then by browser language", "translatepress-multilingual"); ?>
407
+ <?php __("Only by browser language", "translatepress-multilingual"); ?>
408
+ <?php __("Only by IP address", "translatepress-multilingual"); ?>
409
+ <?php __("WARNING. Cannot determine your language preference based on your current IP.<br>This is most likely because the website is on a local environment.", "translatepress-multilingual"); ?>
410
+ <?php __("Method of language detection", "translatepress-multilingual"); ?>
411
+ <?php __("Select how the language should be detected for first time visitors.<br>The visitor's last displayed language will be remembered through cookies.", "translatepress-multilingual"); ?>
412
+ <?php __("Bad request. There was an error accessing the DeepL API.", "translatepress-multilingual"); ?>
413
+ <?php __("The API key entered is invalid.", "translatepress-multilingual"); ?>
414
+ <?php __("The API resource could not be found.", "translatepress-multilingual"); ?>
415
+ <?php __("The request size is too large.", "translatepress-multilingual"); ?>
416
+ <?php __("The request is too long.", "translatepress-multilingual"); ?>
417
+ <?php __("Too many requests. Please try again later.", "translatepress-multilingual"); ?>
418
+ <?php __("Your translation quota has been reached.", "translatepress-multilingual"); ?>
419
+ <?php __("We could not process your request. Please try again later.", "translatepress-multilingual"); ?>
420
+ <?php __("There is an error on the DeepL service and your request could not be processed.", "translatepress-multilingual"); ?>
421
+ <?php __("DeepL API Type", "translatepress-multilingual"); ?>
422
+ <?php __("Pro", "translatepress-multilingual"); ?>
423
+ <?php __("Free", "translatepress-multilingual"); ?>
424
+ <?php __("Select the type of DeepL API you want to use.", "translatepress-multilingual"); ?>
425
+ <?php __("DeepL API Key", "translatepress-multilingual"); ?>
426
+ <?php __("Visit <a href=\"%s\" target=\"_blank\">this link</a> to see how you can set up an API key and control API costs.", "translatepress-multilingual"); ?>
427
+ <?php __(" TranslatePress Settings", "translatepress-multilingual"); ?>
428
+ <?php __("Translator", "translatepress-multilingual"); ?>
429
+ <?php __("Allow this user to translate the website.", "translatepress-multilingual"); ?>
430
+ <?php __("URL Slugs Translation", "translatepress-multilingual"); ?>
431
+ <?php __("Taxonomy Slugs", "translatepress-multilingual"); ?>
432
+ <?php __("Search Taxonomy Slugs", "translatepress-multilingual"); ?>
433
+ <?php __("Taxonomy Slug", "translatepress-multilingual"); ?>
434
+ <?php __("Translation", "translatepress-multilingual"); ?>
435
+ <?php __("Term Slugs", "translatepress-multilingual"); ?>
436
+ <?php __("Search Term Slugs", "translatepress-multilingual"); ?>
437
+ <?php __("Term Slug", "translatepress-multilingual"); ?>
438
+ <?php __("Taxonomy", "translatepress-multilingual"); ?>
439
+ <?php __("Filter by Taxonomy", "translatepress-multilingual"); ?>
440
+ <?php __("Post Slugs", "translatepress-multilingual"); ?>
441
+ <?php __("Search Post Slugs", "translatepress-multilingual"); ?>
442
+ <?php __("Post ID", "translatepress-multilingual"); ?>
443
+ <?php __("Post Type", "translatepress-multilingual"); ?>
444
+ <?php __("Filter by Post Type", "translatepress-multilingual"); ?>
445
+ <?php __("Published", "translatepress-multilingual"); ?>
446
+ <?php __("Any Post Status", "translatepress-multilingual"); ?>
447
+ <?php __("Post Type Base Slugs", "translatepress-multilingual"); ?>
448
+ <?php __("Post Type Base Slug", "translatepress-multilingual"); ?>
449
+ <?php __("Search Post Type Base Slugs", "translatepress-multilingual"); ?>
450
+ <?php __("WooCommerce Slugs", "translatepress-multilingual"); ?>
451
+ <?php __("WooCommerce Slug", "translatepress-multilingual"); ?>
452
+ <?php __("Search WooCommerce Slugs", "translatepress-multilingual"); ?>
languages/translatepress-multilingual.pot CHANGED
@@ -13,134 +13,42 @@ msgstr ""
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
- #: ../tp-add-on-extra-languages/class-extra-languages.php:57, includes/class-settings.php:435
17
- msgid "Error! Duplicate URL slug values."
18
  msgstr ""
19
 
20
- #: ../tp-add-on-navigation-based-on-language/class-navigation-based-on-language.php:75
21
- msgid "Limit this menu item to the following languages"
22
  msgstr ""
23
 
24
- #: ../tp-add-on-navigation-based-on-language/class-navigation-based-on-language.php:81, ../tp-add-on-extra-languages/partials/language-selector-pro.php:2, partials/main-settings-language-selector.php:2
25
- msgid "All Languages"
26
  msgstr ""
27
 
28
  #: index.php:62
29
  msgid "<strong>TranslatePress</strong> requires at least PHP version 5.6.20+ to run. It is the <a href=\"%s\">minimum requirement of the latest WordPress version</a>. Please contact your server administrator to update your PHP version."
30
  msgstr ""
31
 
32
- #: ../tp-add-on-automatic-language-detection/includes/class-ald-settings.php:37
33
- msgid "First by browser language, then IP address (recommended)"
34
- msgstr ""
35
-
36
- #: ../tp-add-on-automatic-language-detection/includes/class-ald-settings.php:38
37
- msgid "First by IP address, then by browser language"
38
- msgstr ""
39
-
40
- #: ../tp-add-on-automatic-language-detection/includes/class-ald-settings.php:39
41
- msgid "Only by browser language"
42
- msgstr ""
43
-
44
- #: ../tp-add-on-automatic-language-detection/includes/class-ald-settings.php:40
45
- msgid "Only by IP address"
46
- msgstr ""
47
-
48
- #: ../tp-add-on-automatic-language-detection/includes/class-ald-settings.php:110
49
- msgid "WARNING. Cannot determine your language preference based on your current IP.<br>This is most likely because the website is on a local environment."
50
- msgstr ""
51
-
52
- #: ../tp-add-on-automatic-language-detection/partials/license-settings-page.php:4, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:4, ../tp-add-on-extra-languages/partials/license-settings-page.php:4, ../tp-add-on-seo-pack/partials/license-settings-page.php:4, ../tp-add-on-translator-accounts/partials/license-settings-page.php:4, partials/addons-settings-page.php:3, partials/license-settings-page.php:46, partials/license-settings-page.php:8, partials/main-settings-page.php:5, partials/test-api-settings-page.php:11, partials/trp-remove-duplicate-rows.php:3
53
- msgid "TranslatePress Settings"
54
- msgstr ""
55
-
56
- #: ../tp-add-on-automatic-language-detection/partials/license-settings-page.php:10, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:10, ../tp-add-on-extra-languages/partials/license-settings-page.php:10, ../tp-add-on-seo-pack/partials/license-settings-page.php:10, ../tp-add-on-translator-accounts/partials/license-settings-page.php:10, partials/license-settings-page.php:14
57
- msgid "License Key"
58
- msgstr ""
59
-
60
- #: ../tp-add-on-automatic-language-detection/partials/license-settings-page.php:15, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:15, ../tp-add-on-extra-languages/partials/license-settings-page.php:15, ../tp-add-on-seo-pack/partials/license-settings-page.php:15, ../tp-add-on-translator-accounts/partials/license-settings-page.php:15, partials/license-settings-page.php:38
61
- msgid "Enter your license key."
62
- msgstr ""
63
-
64
- #: ../tp-add-on-automatic-language-detection/partials/license-settings-page.php:22, ../tp-add-on-automatic-language-detection/partials/license-settings-page.php:31, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:22, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:31, ../tp-add-on-extra-languages/partials/license-settings-page.php:22, ../tp-add-on-extra-languages/partials/license-settings-page.php:31, ../tp-add-on-seo-pack/partials/license-settings-page.php:22, ../tp-add-on-seo-pack/partials/license-settings-page.php:31, ../tp-add-on-translator-accounts/partials/license-settings-page.php:22, ../tp-add-on-translator-accounts/partials/license-settings-page.php:31, partials/license-settings-page.php:32
65
- msgid "Activate License"
66
- msgstr ""
67
-
68
- #: ../tp-add-on-automatic-language-detection/partials/license-settings-page.php:28, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:28, ../tp-add-on-extra-languages/partials/license-settings-page.php:28, ../tp-add-on-seo-pack/partials/license-settings-page.php:28, ../tp-add-on-translator-accounts/partials/license-settings-page.php:28, partials/license-settings-page.php:22
69
- msgid "Deactivate License"
70
- msgstr ""
71
-
72
- #: ../tp-add-on-automatic-language-detection/partials/settings-option.php:2
73
- msgid "Method of language detection"
74
- msgstr ""
75
-
76
- #: ../tp-add-on-automatic-language-detection/partials/settings-option.php:14
77
- msgid "Select how the language should be detected for first time visitors.<br>The visitor's last displayed language will be remembered through cookies."
78
- msgstr ""
79
-
80
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:7, partials/main-settings-language-selector.php:7
81
- msgid "Language"
82
- msgstr ""
83
-
84
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:8, partials/main-settings-language-selector.php:8
85
- msgid "Code"
86
- msgstr ""
87
-
88
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:9, partials/main-settings-language-selector.php:9
89
- msgid "Slug"
90
  msgstr ""
91
 
92
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:10, includes/class-install-plugins.php:34, includes/class-settings.php:162
93
- msgid "Active"
94
  msgstr ""
95
 
96
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:43, partials/main-settings-language-selector.php:40
97
- msgid "Are you sure you want to remove this language?"
98
  msgstr ""
99
 
100
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:43, includes/class-advanced-tab.php:504, includes/class-advanced-tab.php:515, includes/class-advanced-tab.php:603, includes/class-advanced-tab.php:634, partials/main-settings-language-selector.php:40
101
  msgid "Remove"
102
  msgstr ""
103
 
104
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:51, partials/main-settings-language-selector.php:48
105
- msgid "Choose..."
106
- msgstr ""
107
-
108
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:58, includes/class-advanced-tab.php:515, includes/class-advanced-tab.php:634, partials/main-settings-language-selector.php:55
109
  msgid "Add"
110
  msgstr ""
111
 
112
- #: ../tp-add-on-extra-languages/partials/language-selector-pro.php:61
113
- msgid "Select the languages you wish to make your website available in."
114
- msgstr ""
115
-
116
- #: ../tp-add-on-seo-pack/includes/class-slug-manager.php:49, ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:56
117
- msgid "Post Slug"
118
- msgstr ""
119
-
120
- #: ../tp-add-on-translator-accounts/includes/class-translator-accounts.php:106
121
- msgid " TranslatePress Settings"
122
- msgstr ""
123
-
124
- #: ../tp-add-on-translator-accounts/includes/class-translator-accounts.php:110, ../tp-add-on-translator-accounts/includes/class-translator-accounts.php:111
125
- msgid "Translator"
126
- msgstr ""
127
-
128
- #: ../tp-add-on-translator-accounts/includes/class-translator-accounts.php:115
129
- msgid "Allow this user to translate the website."
130
- msgstr ""
131
-
132
- #: includes/class-advanced-tab.php:19
133
- msgid "Advanced"
134
- msgstr ""
135
-
136
- #: includes/class-advanced-tab.php:307, includes/class-error-manager.php:155, partials/machine-translation-settings-page.php:13, partials/machine-translation-settings-page.php:88, partials/machine-translation-settings-page.php:121, partials/main-settings-page.php:41, partials/main-settings-page.php:54, partials/main-settings-page.php:67
137
- msgid "Yes"
138
- msgstr ""
139
-
140
- #: includes/class-advanced-tab.php:504, includes/class-advanced-tab.php:515, includes/class-advanced-tab.php:603, includes/class-advanced-tab.php:634
141
- msgid "Are you sure you want to remove this item?"
142
- msgstr ""
143
-
144
  #: includes/class-advanced-tab.php:587, includes/class-advanced-tab.php:621
145
  msgid "Select..."
146
  msgstr ""
@@ -189,79 +97,79 @@ msgstr ""
189
  msgid "Automatic translation has been disabled."
190
  msgstr ""
191
 
192
- #: includes/class-error-manager.php:129, includes/class-plugin-notices.php:341, includes/class-plugin-notices.php:392, includes/class-plugin-notices.php:373, includes/class-plugin-notices.php:406, includes/class-plugin-notices.php:431, includes/class-plugin-notices.php:455, includes/class-reviews.php:119, includes/class-reviews.php:122
193
  msgid "Dismiss this notice."
194
  msgstr ""
195
 
196
- #: includes/class-error-manager.php:147
197
  msgid "Logged errors"
198
  msgstr ""
199
 
200
- #: includes/class-error-manager.php:148
201
  msgid "These are the most recent 5 errors logged by TranslatePress:"
202
  msgstr ""
203
 
204
- #: includes/class-error-manager.php:172
205
  msgid "Why are these errors occuring"
206
  msgstr ""
207
 
208
- #: includes/class-error-manager.php:173
209
  msgid "If TranslatePress detects something wrong when executing queries on your database, it may disable the Automatic Translation feature in order to avoid any extra charging by Google/DeepL. Automatic Translation needs to be manually turned on, after you solve the issues."
210
  msgstr ""
211
 
212
- #: includes/class-error-manager.php:174
213
  msgid "The SQL errors detected can occur for various reasons including missing tables, missing permissions for the SQL user to create tables or perform other operations, problems after site migration or changes to SQL server configuration."
214
  msgstr ""
215
 
216
- #: includes/class-error-manager.php:176
217
  msgid "What you can do in this situation"
218
  msgstr ""
219
 
220
- #: includes/class-error-manager.php:178
221
  msgid "Plan A."
222
  msgstr ""
223
 
224
- #: includes/class-error-manager.php:179
225
  msgid "Go to Settings -> TranslatePress -> General tab and Save Settings. This will regenerate the tables using your current SQL settings. Check if no more errors occur while browsing your website in a translated language. Look at the timestamps of the errors to make sure you are not seeing the old errors. Only the most recent 5 errors are displayed."
226
  msgstr ""
227
 
228
- #: includes/class-error-manager.php:181
229
  msgid "Plan B."
230
  msgstr ""
231
 
232
- #: includes/class-error-manager.php:182
233
  msgid "If your problem isn't solved, try the following steps:"
234
  msgstr ""
235
 
236
- #: includes/class-error-manager.php:184
237
  msgid "Create a backup of your database"
238
  msgstr ""
239
 
240
- #: includes/class-error-manager.php:185
241
  msgid "Create a copy of each translation table where you encounter errors. You can copy the table within the same database (trp_dictionary_en_us_es_es_COPY for example) -- perform this step only if you want to keep the current translations"
242
  msgstr ""
243
 
244
- #: includes/class-error-manager.php:186
245
  msgid "Remove the trouble tables by executing the DROP function on them"
246
  msgstr ""
247
 
248
- #: includes/class-error-manager.php:187
249
  msgid "Go to Settings -> TranslatePress -> General tab and Save Settings. This will regenerate the tables using your current SQL server."
250
  msgstr ""
251
 
252
- #: includes/class-error-manager.php:188
253
  msgid "Copy the relevant content from the duplicated tables (trp_dictionary_en_us_es_es_COPY for example) in the newly generated table (trp_dictionary_en_us_es_es) -- perform this step only if you want to keep the current translations"
254
  msgstr ""
255
 
256
- #: includes/class-error-manager.php:189
257
  msgid "Test it to see if everything is working. If something went wrong, you can restore the backup that you've made at the first step. Check if no more errors occur while browsing your website in a translated language. Look at the timestamps of the errors to make sure you are not seeing the old errors. Only the most recent 5 errors are displayed."
258
  msgstr ""
259
 
260
- #: includes/class-error-manager.php:192
261
  msgid "Plan C."
262
  msgstr ""
263
 
264
- #: includes/class-error-manager.php:193
265
  msgid "If your problem still isn't solved, try asking your hosting about your errors. The most common issue is missing permissions for the SQL user, such as the Create Tables permission."
266
  msgstr ""
267
 
@@ -269,35 +177,39 @@ msgstr ""
269
  msgid "Could not install. Try again from <a href=\"%s\" >Plugins Dashboard.</a>"
270
  msgstr ""
271
 
 
 
 
 
272
  #: includes/class-machine-translation-tab.php:22
273
  msgid "Automatic Translation"
274
  msgstr ""
275
 
276
- #: includes/class-machine-translation-tab.php:129
277
  msgid "DeepL"
278
  msgstr ""
279
 
280
- #: includes/class-machine-translation-tab.php:154
281
  msgid "Unsupported languages"
282
  msgstr ""
283
 
284
- #: includes/class-machine-translation-tab.php:165
285
  msgid "Recheck supported languages"
286
  msgstr ""
287
 
288
- #: includes/class-machine-translation-tab.php:166
289
  msgid "(last checked on %s)"
290
  msgstr ""
291
 
292
- #: includes/class-machine-translation-tab.php:168
293
  msgid "The selected automatic translation engine does not provide support for these languages.<br>You can still manually translate pages in these languages using the Translation Editor."
294
  msgstr ""
295
 
296
- #: includes/class-machine-translator.php:135
297
  msgid "Please enter your Google Translate key."
298
  msgstr ""
299
 
300
- #: includes/class-machine-translator.php:150
301
  msgid "Please enter your DeepL API key."
302
  msgstr ""
303
 
@@ -409,6 +321,10 @@ msgstr ""
409
  msgid "Install & Activate"
410
  msgstr ""
411
 
 
 
 
 
412
  #: includes/class-settings.php:476
413
  msgid "Current Language"
414
  msgstr ""
@@ -637,7 +553,7 @@ msgstr ""
637
  msgid "Different Menu Items for each Language"
638
  msgstr ""
639
 
640
- #: includes/class-translation-manager.php:153
641
  msgid "Automatic User Language Detection"
642
  msgstr ""
643
 
@@ -677,7 +593,7 @@ msgstr ""
677
  msgid "Search for any text in this page in the dropdown."
678
  msgstr ""
679
 
680
- #: includes/class-translation-manager.php:231, ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:12
681
  msgid "Slugs"
682
  msgstr ""
683
 
@@ -857,6 +773,10 @@ msgstr ""
857
  msgid "Recreated original strings table."
858
  msgstr ""
859
 
 
 
 
 
860
  #: includes/compatibility-functions.php:28
861
  msgid "<strong>TranslatePress</strong> requires <strong><a href=\"http://php.net/manual/en/book.mbstring.php\">Multibyte String PHP library</a></strong>. Please contact your server administrator to install it on your server."
862
  msgstr ""
@@ -865,44 +785,80 @@ msgstr ""
865
  msgid "Detected long query limitation on WPEngine hosting. Some large pages may appear untranslated. You can remove limitation by adding the following to your site’s wp-config.php: define( 'WPE_GOVERNOR', false ); "
866
  msgstr ""
867
 
868
- #: partials/addons-settings-page.php:12
869
- msgid "Advanced Addons"
870
  msgstr ""
871
 
872
- #: partials/addons-settings-page.php:13
873
- msgid "These addons extend your translation plugin and are available in the Developer, Business and Personal plans."
 
 
 
 
 
 
 
 
874
  msgstr ""
875
 
876
  #: partials/addons-settings-page.php:21
877
- msgid "SEO support for page slug, page title, description and facebook and twitter social graph information. </br> The HTML lang attribute is properly set."
878
  msgstr ""
879
 
880
- #: partials/addons-settings-page.php:29
881
- msgid "Add as many languages as you need for your project to go global.<br>Publish your language only when all your translations are done."
882
  msgstr ""
883
 
884
- #: partials/addons-settings-page.php:35
885
- msgid "Pro Addons"
886
  msgstr ""
887
 
888
- #: partials/addons-settings-page.php:36
 
 
 
 
 
 
 
 
 
 
 
 
889
  msgid "These addons extend your translation plugin and are available in the Business and Developer plans."
890
  msgstr ""
891
 
892
- #: partials/addons-settings-page.php:44
 
 
 
 
893
  msgid "Automatically translate your website through the DeepL API."
894
  msgstr ""
895
 
896
- #: partials/addons-settings-page.php:52
897
- msgid "Automatically redirects new visitors to their preferred language based on browser settings or IP address</br> and remembers the last visited language."
898
  msgstr ""
899
 
900
- #: partials/addons-settings-page.php:60
901
- msgid "Create translator accounts for new users or allow existing users <br/>that are not administrators to translate your website."
 
 
 
 
902
  msgstr ""
903
 
904
  #: partials/addons-settings-page.php:68
905
- msgid "Navigate your website just like a particular user role would. <br/>Really useful for dynamic content or hidden content that appears for particular users."
 
 
 
 
 
 
 
 
906
  msgstr ""
907
 
908
  #: partials/addons-settings-page.php:76
@@ -910,26 +866,26 @@ msgid "Configure different menu items for different languages."
910
  msgstr ""
911
 
912
  #: partials/addons-settings-page.php:85
913
- msgid "Recommended Plugins by the same developers"
914
  msgstr ""
915
 
916
- #: partials/addons-settings-page.php:86
917
  msgid "A short list of plugins you can use to extend your website."
918
  msgstr ""
919
 
920
- #: partials/addons-settings-page.php:94
921
- msgid "Capture more user information on the registration form with the help of Profile Builder's custom user profile fields and/or add an Email Confirmation process to verify your customers accounts."
922
  msgstr ""
923
 
924
- #: partials/addons-settings-page.php:97, partials/addons-settings-page.php:111
925
- msgid "Learn More"
926
  msgstr ""
927
 
928
- #: partials/addons-settings-page.php:99, partials/addons-settings-page.php:113
929
- msgid "Installing..."
930
  msgstr ""
931
 
932
- #: partials/addons-settings-page.php:108
933
  msgid "Accept user payments, create subscription plans and restrict content on your membership site."
934
  msgstr ""
935
 
@@ -953,6 +909,18 @@ msgstr ""
953
  msgid "If you purchased a premium version, first install and activate any of the <a href=\"%s\">Advanced or Pro Addons</a>. After this you will be prompted with an input to enter your license key."
954
  msgstr ""
955
 
 
 
 
 
 
 
 
 
 
 
 
 
956
  #: partials/license-settings-page.php:27
957
  msgid "Your license is invalid"
958
  msgstr ""
@@ -961,6 +929,10 @@ msgstr ""
961
  msgid "Active on this site"
962
  msgstr ""
963
 
 
 
 
 
964
  #: partials/machine-translation-settings-page.php:4
965
  msgid "TranslatePress Automatic Translation"
966
  msgstr ""
@@ -1043,6 +1015,30 @@ msgstr ""
1043
  msgid "Only enable for testing purposes. Can impact performance.<br>All records are stored in the wp_trp_machine_translation_log database table. Use a plugin like <a href=\"https://wordpress.org/plugins/wp-data-access/\">WP Data Access</a> to browse the logs or directly from your database manager (PHPMyAdmin, etc.)"
1044
  msgstr ""
1045
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1046
  #: partials/main-settings-language-selector.php:59
1047
  msgid "Select the language you wish to make your website available in."
1048
  msgstr ""
@@ -1067,7 +1063,7 @@ msgid "TranslatePress Advanced Add-ons"
1067
  msgstr ""
1068
 
1069
  #: partials/main-settings-language-selector.php:66
1070
- msgid "To add <strong>more than two languages</strong> download and install the <strong>Extra Languages Add-on</strong> from <a href=\"%s\" class=\"trp-translatepress-account-page\" target=\"_blank\" title=\"TranslatePress Account page\">your account</a>. Once activated, you'll be able to add unlimited languages."
1071
  msgstr ""
1072
 
1073
  #: partials/main-settings-page.php:10
@@ -1222,96 +1218,8 @@ msgstr ""
1222
  msgid "Updating TranslatePress tables"
1223
  msgstr ""
1224
 
1225
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:11
1226
- msgid "URL Slugs Translation"
1227
- msgstr ""
1228
-
1229
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:16
1230
- msgid "Taxonomy Slugs"
1231
- msgstr ""
1232
-
1233
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:17
1234
- msgid "Search Taxonomy Slugs"
1235
- msgstr ""
1236
-
1237
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:23
1238
- msgid "Taxonomy Slug"
1239
- msgstr ""
1240
-
1241
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:24, ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:37, ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:57, ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:77, ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:95
1242
- msgid "Translation"
1243
- msgstr ""
1244
-
1245
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:30
1246
- msgid "Term Slugs"
1247
- msgstr ""
1248
-
1249
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:31
1250
- msgid "Search Term Slugs"
1251
- msgstr ""
1252
-
1253
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:36
1254
- msgid "Term Slug"
1255
- msgstr ""
1256
-
1257
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:38
1258
- msgid "Taxonomy"
1259
- msgstr ""
1260
-
1261
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:43
1262
- msgid "Filter by Taxonomy"
1263
- msgstr ""
1264
-
1265
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:49
1266
- msgid "Post Slugs"
1267
- msgstr ""
1268
-
1269
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:50
1270
- msgid "Search Post Slugs"
1271
- msgstr ""
1272
-
1273
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:55
1274
- msgid "Post ID"
1275
- msgstr ""
1276
-
1277
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:58
1278
- msgid "Post Type"
1279
- msgstr ""
1280
-
1281
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:63
1282
- msgid "Filter by Post Type"
1283
- msgstr ""
1284
-
1285
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:67
1286
- msgid "Published"
1287
- msgstr ""
1288
-
1289
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:68
1290
- msgid "Any Post Status"
1291
- msgstr ""
1292
-
1293
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:74
1294
- msgid "Post Type Base Slugs"
1295
- msgstr ""
1296
-
1297
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:76
1298
- msgid "Post Type Base Slug"
1299
- msgstr ""
1300
-
1301
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:80
1302
- msgid "Search Post Type Base Slugs"
1303
- msgstr ""
1304
-
1305
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:92
1306
- msgid "WooCommerce Slugs"
1307
- msgstr ""
1308
-
1309
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:94
1310
- msgid "WooCommerce Slug"
1311
- msgstr ""
1312
-
1313
- #: ../tp-add-on-seo-pack/includes/string-translation/class-string-translation-seo.php:98
1314
- msgid "Search WooCommerce Slugs"
1315
  msgstr ""
1316
 
1317
  #: includes/advanced-settings/custom-date-format.php:16
@@ -1715,3 +1623,203 @@ msgstr ""
1715
  #: includes/string-translation/string-translation-editor.php:7
1716
  msgid "String Translation Editor"
1717
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
+ #: index-dev.php:38
17
+ msgid "Please update the TranslatePress - Multilingual plugin to version 2.0.5 at least for %s to work properly"
18
  msgstr ""
19
 
20
+ #: index-dev.php:32
21
+ msgid "Please install and activate the TranslatePress - Multilingual plugin"
22
  msgstr ""
23
 
24
+ #: index-dev.php:215
25
+ msgid "This TranslatePress add-on has been migrated to the main plugin and is no longer used. You can delete it."
26
  msgstr ""
27
 
28
  #: index.php:62
29
  msgid "<strong>TranslatePress</strong> requires at least PHP version 5.6.20+ to run. It is the <a href=\"%s\">minimum requirement of the latest WordPress version</a>. Please contact your server administrator to update your PHP version."
30
  msgstr ""
31
 
32
+ #: includes/class-advanced-tab.php:19
33
+ msgid "Advanced"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  msgstr ""
35
 
36
+ #: includes/class-advanced-tab.php:307, includes/class-error-manager.php:172, partials/machine-translation-settings-page.php:13, partials/machine-translation-settings-page.php:88, partials/machine-translation-settings-page.php:121, partials/main-settings-page.php:41, partials/main-settings-page.php:54, partials/main-settings-page.php:67
37
+ msgid "Yes"
38
  msgstr ""
39
 
40
+ #: includes/class-advanced-tab.php:504, includes/class-advanced-tab.php:515, includes/class-advanced-tab.php:603, includes/class-advanced-tab.php:634
41
+ msgid "Are you sure you want to remove this item?"
42
  msgstr ""
43
 
44
+ #: includes/class-advanced-tab.php:504, includes/class-advanced-tab.php:515, includes/class-advanced-tab.php:603, includes/class-advanced-tab.php:634, partials/main-settings-language-selector.php:40, add-ons-advanced/extra-languages/partials/language-selector-pro.php:43
45
  msgid "Remove"
46
  msgstr ""
47
 
48
+ #: includes/class-advanced-tab.php:515, includes/class-advanced-tab.php:634, partials/main-settings-language-selector.php:55, add-ons-advanced/extra-languages/partials/language-selector-pro.php:58
 
 
 
 
49
  msgid "Add"
50
  msgstr ""
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  #: includes/class-advanced-tab.php:587, includes/class-advanced-tab.php:621
53
  msgid "Select..."
54
  msgstr ""
97
  msgid "Automatic translation has been disabled."
98
  msgstr ""
99
 
100
+ #: includes/class-error-manager.php:146, includes/class-plugin-notices.php:341, includes/class-plugin-notices.php:392, includes/class-plugin-notices.php:373, includes/class-plugin-notices.php:406, includes/class-plugin-notices.php:431, includes/class-plugin-notices.php:455, includes/class-reviews.php:119, includes/class-reviews.php:122, includes/class-upgrade.php:774
101
  msgid "Dismiss this notice."
102
  msgstr ""
103
 
104
+ #: includes/class-error-manager.php:164
105
  msgid "Logged errors"
106
  msgstr ""
107
 
108
+ #: includes/class-error-manager.php:165
109
  msgid "These are the most recent 5 errors logged by TranslatePress:"
110
  msgstr ""
111
 
112
+ #: includes/class-error-manager.php:189
113
  msgid "Why are these errors occuring"
114
  msgstr ""
115
 
116
+ #: includes/class-error-manager.php:190
117
  msgid "If TranslatePress detects something wrong when executing queries on your database, it may disable the Automatic Translation feature in order to avoid any extra charging by Google/DeepL. Automatic Translation needs to be manually turned on, after you solve the issues."
118
  msgstr ""
119
 
120
+ #: includes/class-error-manager.php:191
121
  msgid "The SQL errors detected can occur for various reasons including missing tables, missing permissions for the SQL user to create tables or perform other operations, problems after site migration or changes to SQL server configuration."
122
  msgstr ""
123
 
124
+ #: includes/class-error-manager.php:193
125
  msgid "What you can do in this situation"
126
  msgstr ""
127
 
128
+ #: includes/class-error-manager.php:195
129
  msgid "Plan A."
130
  msgstr ""
131
 
132
+ #: includes/class-error-manager.php:196
133
  msgid "Go to Settings -> TranslatePress -> General tab and Save Settings. This will regenerate the tables using your current SQL settings. Check if no more errors occur while browsing your website in a translated language. Look at the timestamps of the errors to make sure you are not seeing the old errors. Only the most recent 5 errors are displayed."
134
  msgstr ""
135
 
136
+ #: includes/class-error-manager.php:198
137
  msgid "Plan B."
138
  msgstr ""
139
 
140
+ #: includes/class-error-manager.php:199
141
  msgid "If your problem isn't solved, try the following steps:"
142
  msgstr ""
143
 
144
+ #: includes/class-error-manager.php:201
145
  msgid "Create a backup of your database"
146
  msgstr ""
147
 
148
+ #: includes/class-error-manager.php:202
149
  msgid "Create a copy of each translation table where you encounter errors. You can copy the table within the same database (trp_dictionary_en_us_es_es_COPY for example) -- perform this step only if you want to keep the current translations"
150
  msgstr ""
151
 
152
+ #: includes/class-error-manager.php:203
153
  msgid "Remove the trouble tables by executing the DROP function on them"
154
  msgstr ""
155
 
156
+ #: includes/class-error-manager.php:204
157
  msgid "Go to Settings -> TranslatePress -> General tab and Save Settings. This will regenerate the tables using your current SQL server."
158
  msgstr ""
159
 
160
+ #: includes/class-error-manager.php:205
161
  msgid "Copy the relevant content from the duplicated tables (trp_dictionary_en_us_es_es_COPY for example) in the newly generated table (trp_dictionary_en_us_es_es) -- perform this step only if you want to keep the current translations"
162
  msgstr ""
163
 
164
+ #: includes/class-error-manager.php:206
165
  msgid "Test it to see if everything is working. If something went wrong, you can restore the backup that you've made at the first step. Check if no more errors occur while browsing your website in a translated language. Look at the timestamps of the errors to make sure you are not seeing the old errors. Only the most recent 5 errors are displayed."
166
  msgstr ""
167
 
168
+ #: includes/class-error-manager.php:209
169
  msgid "Plan C."
170
  msgstr ""
171
 
172
+ #: includes/class-error-manager.php:210
173
  msgid "If your problem still isn't solved, try asking your hosting about your errors. The most common issue is missing permissions for the SQL user, such as the Create Tables permission."
174
  msgstr ""
175
 
177
  msgid "Could not install. Try again from <a href=\"%s\" >Plugins Dashboard.</a>"
178
  msgstr ""
179
 
180
+ #: includes/class-install-plugins.php:34, includes/class-settings.php:162, add-ons-advanced/extra-languages/partials/language-selector-pro.php:10
181
+ msgid "Active"
182
+ msgstr ""
183
+
184
  #: includes/class-machine-translation-tab.php:22
185
  msgid "Automatic Translation"
186
  msgstr ""
187
 
188
+ #: includes/class-machine-translation-tab.php:136, add-ons-pro/deepl/includes/class-deepl.php:27
189
  msgid "DeepL"
190
  msgstr ""
191
 
192
+ #: includes/class-machine-translation-tab.php:161
193
  msgid "Unsupported languages"
194
  msgstr ""
195
 
196
+ #: includes/class-machine-translation-tab.php:172
197
  msgid "Recheck supported languages"
198
  msgstr ""
199
 
200
+ #: includes/class-machine-translation-tab.php:173
201
  msgid "(last checked on %s)"
202
  msgstr ""
203
 
204
+ #: includes/class-machine-translation-tab.php:175
205
  msgid "The selected automatic translation engine does not provide support for these languages.<br>You can still manually translate pages in these languages using the Translation Editor."
206
  msgstr ""
207
 
208
+ #: includes/class-machine-translator.php:137
209
  msgid "Please enter your Google Translate key."
210
  msgstr ""
211
 
212
+ #: includes/class-machine-translator.php:152
213
  msgid "Please enter your DeepL API key."
214
  msgstr ""
215
 
321
  msgid "Install & Activate"
322
  msgstr ""
323
 
324
+ #: includes/class-settings.php:435, add-ons-advanced/extra-languages/class-extra-languages.php:44
325
+ msgid "Error! Duplicate URL slug values."
326
+ msgstr ""
327
+
328
  #: includes/class-settings.php:476
329
  msgid "Current Language"
330
  msgstr ""
553
  msgid "Different Menu Items for each Language"
554
  msgstr ""
555
 
556
+ #: includes/class-translation-manager.php:153, partials/addons-settings-page.php:54
557
  msgid "Automatic User Language Detection"
558
  msgstr ""
559
 
593
  msgid "Search for any text in this page in the dropdown."
594
  msgstr ""
595
 
596
+ #: includes/class-translation-manager.php:231, add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:12
597
  msgid "Slugs"
598
  msgstr ""
599
 
773
  msgid "Recreated original strings table."
774
  msgstr ""
775
 
776
+ #: includes/class-upgrade.php:772
777
+ msgid "All individual TranslatePress add-on plugins have been discontinued and have been replaced with new Personal, Business and Developer versions of TranslatePress. Please log into the account page at <a href=\"https://translatepress.com/account/\" target=\"_blank\">translatepress.com</a> and download the new plugin and install it. Individual Add-ons will not receive updates anymore"
778
+ msgstr ""
779
+
780
  #: includes/compatibility-functions.php:28
781
  msgid "<strong>TranslatePress</strong> requires <strong><a href=\"http://php.net/manual/en/book.mbstring.php\">Multibyte String PHP library</a></strong>. Please contact your server administrator to install it on your server."
782
  msgstr ""
785
  msgid "Detected long query limitation on WPEngine hosting. Some large pages may appear untranslated. You can remove limitation by adding the following to your site’s wp-config.php: define( 'WPE_GOVERNOR', false ); "
786
  msgstr ""
787
 
788
+ #: partials/addons-settings-page.php:3, partials/license-settings-page.php:46, partials/license-settings-page.php:8, partials/main-settings-page.php:5, partials/test-api-settings-page.php:11, partials/trp-remove-duplicate-rows.php:3
789
+ msgid "TranslatePress Settings"
790
  msgstr ""
791
 
792
+ #: partials/addons-settings-page.php:11, partials/addons-settings-page.php:16
793
+ msgid "TranslatePress Add-ons"
794
+ msgstr ""
795
+
796
+ #: partials/addons-settings-page.php:17
797
+ msgid "You must first purchase this version to have access to the addon %1$shere%2$s"
798
+ msgstr ""
799
+
800
+ #: partials/addons-settings-page.php:21
801
+ msgid "Advanced Add-ons"
802
  msgstr ""
803
 
804
  #: partials/addons-settings-page.php:21
805
+ msgid "These addons extend your translation plugin and are available in the Developer, Business and Personal plans."
806
  msgstr ""
807
 
808
+ #: partials/addons-settings-page.php:26
809
+ msgid "SEO Pack"
810
  msgstr ""
811
 
812
+ #: partials/addons-settings-page.php:27
813
+ msgid "SEO support for page slug, page title, description and facebook and twitter social graph information. The HTML lang attribute is properly set."
814
  msgstr ""
815
 
816
+ #: partials/addons-settings-page.php:33
817
+ msgid "Multiple Languages"
818
+ msgstr ""
819
+
820
+ #: partials/addons-settings-page.php:34
821
+ msgid "Add as many languages as you need for your project to go global. Publish your language only when all your translations are done."
822
+ msgstr ""
823
+
824
+ #: partials/addons-settings-page.php:42
825
+ msgid "Pro Add-ons"
826
+ msgstr ""
827
+
828
+ #: partials/addons-settings-page.php:42
829
  msgid "These addons extend your translation plugin and are available in the Business and Developer plans."
830
  msgstr ""
831
 
832
+ #: partials/addons-settings-page.php:47
833
+ msgid "DeepL Automatic Translation"
834
+ msgstr ""
835
+
836
+ #: partials/addons-settings-page.php:48
837
  msgid "Automatically translate your website through the DeepL API."
838
  msgstr ""
839
 
840
+ #: partials/addons-settings-page.php:55
841
+ msgid "Automatically redirects new visitors to their preferred language based on browser settings or IP address and remembers the last visited language."
842
  msgstr ""
843
 
844
+ #: partials/addons-settings-page.php:61
845
+ msgid "Translator Accounts"
846
+ msgstr ""
847
+
848
+ #: partials/addons-settings-page.php:62
849
+ msgid "Create translator accounts for new users or allow existing users that are not administrators to translate your website."
850
  msgstr ""
851
 
852
  #: partials/addons-settings-page.php:68
853
+ msgid "Browse As User Role"
854
+ msgstr ""
855
+
856
+ #: partials/addons-settings-page.php:69
857
+ msgid "Navigate your website just like a particular user role would. Really useful for dynamic content or hidden content that appears for particular users."
858
+ msgstr ""
859
+
860
+ #: partials/addons-settings-page.php:75
861
+ msgid "Navigation Based on Language"
862
  msgstr ""
863
 
864
  #: partials/addons-settings-page.php:76
866
  msgstr ""
867
 
868
  #: partials/addons-settings-page.php:85
869
+ msgid "Recommended Plugins"
870
  msgstr ""
871
 
872
+ #: partials/addons-settings-page.php:85
873
  msgid "A short list of plugins you can use to extend your website."
874
  msgstr ""
875
 
876
+ #: partials/addons-settings-page.php:91
877
+ msgid "Profile Builder"
878
  msgstr ""
879
 
880
+ #: partials/addons-settings-page.php:92
881
+ msgid "Capture more user information on the registration form with the help of Profile Builder's custom user profile fields and/or add an Email Confirmation process to verify your customers accounts."
882
  msgstr ""
883
 
884
+ #: partials/addons-settings-page.php:101
885
+ msgid "Paid Member Subscriptions"
886
  msgstr ""
887
 
888
+ #: partials/addons-settings-page.php:102
889
  msgid "Accept user payments, create subscription plans and restrict content on your membership site."
890
  msgstr ""
891
 
909
  msgid "If you purchased a premium version, first install and activate any of the <a href=\"%s\">Advanced or Pro Addons</a>. After this you will be prompted with an input to enter your license key."
910
  msgstr ""
911
 
912
+ #: partials/license-settings-page.php:14
913
+ msgid "License Key"
914
+ msgstr ""
915
+
916
+ #: partials/license-settings-page.php:32
917
+ msgid "Activate License"
918
+ msgstr ""
919
+
920
+ #: partials/license-settings-page.php:22
921
+ msgid "Deactivate License"
922
+ msgstr ""
923
+
924
  #: partials/license-settings-page.php:27
925
  msgid "Your license is invalid"
926
  msgstr ""
929
  msgid "Active on this site"
930
  msgstr ""
931
 
932
+ #: partials/license-settings-page.php:38
933
+ msgid "Enter your license key."
934
+ msgstr ""
935
+
936
  #: partials/machine-translation-settings-page.php:4
937
  msgid "TranslatePress Automatic Translation"
938
  msgstr ""
1015
  msgid "Only enable for testing purposes. Can impact performance.<br>All records are stored in the wp_trp_machine_translation_log database table. Use a plugin like <a href=\"https://wordpress.org/plugins/wp-data-access/\">WP Data Access</a> to browse the logs or directly from your database manager (PHPMyAdmin, etc.)"
1016
  msgstr ""
1017
 
1018
+ #: partials/main-settings-language-selector.php:2, add-ons-pro/navigation-based-on-language/class-navigation-based-on-language.php:81, add-ons-advanced/extra-languages/partials/language-selector-pro.php:2
1019
+ msgid "All Languages"
1020
+ msgstr ""
1021
+
1022
+ #: partials/main-settings-language-selector.php:7, add-ons-advanced/extra-languages/partials/language-selector-pro.php:7
1023
+ msgid "Language"
1024
+ msgstr ""
1025
+
1026
+ #: partials/main-settings-language-selector.php:8, add-ons-advanced/extra-languages/partials/language-selector-pro.php:8
1027
+ msgid "Code"
1028
+ msgstr ""
1029
+
1030
+ #: partials/main-settings-language-selector.php:9, add-ons-advanced/extra-languages/partials/language-selector-pro.php:9
1031
+ msgid "Slug"
1032
+ msgstr ""
1033
+
1034
+ #: partials/main-settings-language-selector.php:40, add-ons-advanced/extra-languages/partials/language-selector-pro.php:43
1035
+ msgid "Are you sure you want to remove this language?"
1036
+ msgstr ""
1037
+
1038
+ #: partials/main-settings-language-selector.php:48, add-ons-advanced/extra-languages/partials/language-selector-pro.php:51
1039
+ msgid "Choose..."
1040
+ msgstr ""
1041
+
1042
  #: partials/main-settings-language-selector.php:59
1043
  msgid "Select the language you wish to make your website available in."
1044
  msgstr ""
1063
  msgstr ""
1064
 
1065
  #: partials/main-settings-language-selector.php:66
1066
+ msgid "To add <strong>more than two languages</strong> activate the <strong>Extra Languages Add-on</strong> from <a href=\"%s\" class=\"trp-translatepress-account-page\" target=\"_blank\" title=\"Add-ons page\">the Add-ons Page</a>. Once activated, you'll be able to add unlimited languages."
1067
  msgstr ""
1068
 
1069
  #: partials/main-settings-page.php:10
1218
  msgid "Updating TranslatePress tables"
1219
  msgstr ""
1220
 
1221
+ #: add-ons-pro/navigation-based-on-language/class-navigation-based-on-language.php:75
1222
+ msgid "Limit this menu item to the following languages"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1223
  msgstr ""
1224
 
1225
  #: includes/advanced-settings/custom-date-format.php:16
1623
  #: includes/string-translation/string-translation-editor.php:7
1624
  msgid "String Translation Editor"
1625
  msgstr ""
1626
+
1627
+ #: add-ons-advanced/extra-languages/partials/language-selector-pro.php:61
1628
+ msgid "Select the languages you wish to make your website available in."
1629
+ msgstr ""
1630
+
1631
+ #: add-ons-advanced/seo-pack/includes/class-slug-manager.php:49, add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:56
1632
+ msgid "Post Slug"
1633
+ msgstr ""
1634
+
1635
+ #: add-ons-pro/automatic-language-detection/includes/class-ald-settings.php:37
1636
+ msgid "First by browser language, then IP address (recommended)"
1637
+ msgstr ""
1638
+
1639
+ #: add-ons-pro/automatic-language-detection/includes/class-ald-settings.php:38
1640
+ msgid "First by IP address, then by browser language"
1641
+ msgstr ""
1642
+
1643
+ #: add-ons-pro/automatic-language-detection/includes/class-ald-settings.php:39
1644
+ msgid "Only by browser language"
1645
+ msgstr ""
1646
+
1647
+ #: add-ons-pro/automatic-language-detection/includes/class-ald-settings.php:40
1648
+ msgid "Only by IP address"
1649
+ msgstr ""
1650
+
1651
+ #: add-ons-pro/automatic-language-detection/includes/class-ald-settings.php:110
1652
+ msgid "WARNING. Cannot determine your language preference based on your current IP.<br>This is most likely because the website is on a local environment."
1653
+ msgstr ""
1654
+
1655
+ #: add-ons-pro/automatic-language-detection/partials/settings-option.php:2
1656
+ msgid "Method of language detection"
1657
+ msgstr ""
1658
+
1659
+ #: add-ons-pro/automatic-language-detection/partials/settings-option.php:14
1660
+ msgid "Select how the language should be detected for first time visitors.<br>The visitor's last displayed language will be remembered through cookies."
1661
+ msgstr ""
1662
+
1663
+ #: add-ons-pro/deepl/includes/class-deepl.php:56
1664
+ msgid "Bad request. There was an error accessing the DeepL API."
1665
+ msgstr ""
1666
+
1667
+ #: add-ons-pro/deepl/includes/class-deepl.php:59
1668
+ msgid "The API key entered is invalid."
1669
+ msgstr ""
1670
+
1671
+ #: add-ons-pro/deepl/includes/class-deepl.php:62
1672
+ msgid "The API resource could not be found."
1673
+ msgstr ""
1674
+
1675
+ #: add-ons-pro/deepl/includes/class-deepl.php:65
1676
+ msgid "The request size is too large."
1677
+ msgstr ""
1678
+
1679
+ #: add-ons-pro/deepl/includes/class-deepl.php:68
1680
+ msgid "The request is too long."
1681
+ msgstr ""
1682
+
1683
+ #: add-ons-pro/deepl/includes/class-deepl.php:71
1684
+ msgid "Too many requests. Please try again later."
1685
+ msgstr ""
1686
+
1687
+ #: add-ons-pro/deepl/includes/class-deepl.php:74
1688
+ msgid "Your translation quota has been reached."
1689
+ msgstr ""
1690
+
1691
+ #: add-ons-pro/deepl/includes/class-deepl.php:77
1692
+ msgid "We could not process your request. Please try again later."
1693
+ msgstr ""
1694
+
1695
+ #: add-ons-pro/deepl/includes/class-deepl.php:80
1696
+ msgid "There is an error on the DeepL service and your request could not be processed."
1697
+ msgstr ""
1698
+
1699
+ #: add-ons-pro/deepl/includes/class-deepl.php:124
1700
+ msgid "DeepL API Type"
1701
+ msgstr ""
1702
+
1703
+ #: add-ons-pro/deepl/includes/class-deepl.php:128
1704
+ msgid "Pro"
1705
+ msgstr ""
1706
+
1707
+ #: add-ons-pro/deepl/includes/class-deepl.php:133
1708
+ msgid "Free"
1709
+ msgstr ""
1710
+
1711
+ #: add-ons-pro/deepl/includes/class-deepl.php:137
1712
+ msgid "Select the type of DeepL API you want to use."
1713
+ msgstr ""
1714
+
1715
+ #: add-ons-pro/deepl/includes/class-deepl.php:143
1716
+ msgid "DeepL API Key"
1717
+ msgstr ""
1718
+
1719
+ #: add-ons-pro/deepl/includes/class-deepl.php:163
1720
+ msgid "Visit <a href=\"%s\" target=\"_blank\">this link</a> to see how you can set up an API key and control API costs."
1721
+ msgstr ""
1722
+
1723
+ #: add-ons-pro/translator-accounts/includes/class-translator-accounts.php:92
1724
+ msgid " TranslatePress Settings"
1725
+ msgstr ""
1726
+
1727
+ #: add-ons-pro/translator-accounts/includes/class-translator-accounts.php:96, add-ons-pro/translator-accounts/includes/class-translator-accounts.php:97
1728
+ msgid "Translator"
1729
+ msgstr ""
1730
+
1731
+ #: add-ons-pro/translator-accounts/includes/class-translator-accounts.php:101
1732
+ msgid "Allow this user to translate the website."
1733
+ msgstr ""
1734
+
1735
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:11
1736
+ msgid "URL Slugs Translation"
1737
+ msgstr ""
1738
+
1739
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:16
1740
+ msgid "Taxonomy Slugs"
1741
+ msgstr ""
1742
+
1743
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:17
1744
+ msgid "Search Taxonomy Slugs"
1745
+ msgstr ""
1746
+
1747
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:23
1748
+ msgid "Taxonomy Slug"
1749
+ msgstr ""
1750
+
1751
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:24, add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:37, add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:57, add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:77, add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:95
1752
+ msgid "Translation"
1753
+ msgstr ""
1754
+
1755
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:30
1756
+ msgid "Term Slugs"
1757
+ msgstr ""
1758
+
1759
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:31
1760
+ msgid "Search Term Slugs"
1761
+ msgstr ""
1762
+
1763
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:36
1764
+ msgid "Term Slug"
1765
+ msgstr ""
1766
+
1767
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:38
1768
+ msgid "Taxonomy"
1769
+ msgstr ""
1770
+
1771
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:43
1772
+ msgid "Filter by Taxonomy"
1773
+ msgstr ""
1774
+
1775
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:49
1776
+ msgid "Post Slugs"
1777
+ msgstr ""
1778
+
1779
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:50
1780
+ msgid "Search Post Slugs"
1781
+ msgstr ""
1782
+
1783
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:55
1784
+ msgid "Post ID"
1785
+ msgstr ""
1786
+
1787
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:58
1788
+ msgid "Post Type"
1789
+ msgstr ""
1790
+
1791
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:63
1792
+ msgid "Filter by Post Type"
1793
+ msgstr ""
1794
+
1795
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:67
1796
+ msgid "Published"
1797
+ msgstr ""
1798
+
1799
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:68
1800
+ msgid "Any Post Status"
1801
+ msgstr ""
1802
+
1803
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:74
1804
+ msgid "Post Type Base Slugs"
1805
+ msgstr ""
1806
+
1807
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:76
1808
+ msgid "Post Type Base Slug"
1809
+ msgstr ""
1810
+
1811
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:80
1812
+ msgid "Search Post Type Base Slugs"
1813
+ msgstr ""
1814
+
1815
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:92
1816
+ msgid "WooCommerce Slugs"
1817
+ msgstr ""
1818
+
1819
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:94
1820
+ msgid "WooCommerce Slug"
1821
+ msgstr ""
1822
+
1823
+ #: add-ons-advanced/seo-pack/includes/string-translation/class-string-translation-seo.php:98
1824
+ msgid "Search WooCommerce Slugs"
1825
+ msgstr ""
partials/addons-settings-page.php CHANGED
@@ -3,117 +3,116 @@
3
  <h1> <?php esc_html_e( 'TranslatePress Settings', 'translatepress-multilingual' );?></h1>
4
  <?php do_action ( 'trp_settings_navigation_tabs' ); ?>
5
 
6
- <div class="trp-add-ons-plugins-container">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
- <div class="trp-add-ons-plugins-column">
9
 
10
- <div class="grid feat-header">
11
- <div class="grid-cell">
12
- <h2><?php _e( 'Advanced Addons', 'translatepress-multilingual' );?></h2>
13
- <p><?php _e( 'These addons extend your translation plugin and are available in the Developer, Business and Personal plans.', 'translatepress-multilingual' );?></p>
14
- </div>
15
- </div>
16
-
17
- <div class="grid">
18
- <div class="grid-cell" style="overflow:hidden;">
19
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/seo_icon_translatepress.png', __FILE__) ) ?>" alt="SEO" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
20
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank"> SEO Pack</a></h3>
21
- <p><?php _e( 'SEO support for page slug, page title, description and facebook and twitter social graph information. </br> The HTML lang attribute is properly set.', 'translatepress-multilingual' );?></p>
22
- </div>
23
- </div>
24
-
25
- <div class="grid">
26
- <div class="grid-cell" style="overflow:hidden;">
27
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/multiple_lang_icon.png', __FILE__) ) ?>" alt="Multiple Languages" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
28
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank"> Multiple Languages</a></h3>
29
- <p><?php _e( 'Add as many languages as you need for your project to go global.<br>Publish your language only when all your translations are done.', 'translatepress-multilingual' );?> </p>
30
- </div>
31
- </div>
32
-
33
- <div class="grid feat-header">
34
- <div class="grid-cell">
35
- <h2><?php _e( 'Pro Addons', 'translatepress-multilingual' );?></h2>
36
- <p><?php _e( 'These addons extend your translation plugin and are available in the Business and Developer plans.', 'translatepress-multilingual' );?></p>
37
- </div>
38
- </div>
39
-
40
- <div class="grid">
41
- <div class="grid-cell" style="overflow:hidden;">
42
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/deepl-add-on.png', __FILE__) ) ?>" alt="DeepL Automatic Translation" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
43
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank">DeepL Automatic Translation</a></h3>
44
- <p><?php _e( 'Automatically translate your website through the DeepL API.', 'translatepress-multilingual' );?></p>
45
- </div>
46
- </div>
47
-
48
- <div class="grid">
49
- <div class="grid-cell" style="overflow:hidden;">
50
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/auto-detect-language-add-on.png', __FILE__) ) ?>" alt="Automatic User Language Detection" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
51
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank"> Automatic User Language Detection</a></h3>
52
- <p><?php _e( 'Automatically redirects new visitors to their preferred language based on browser settings or IP address</br> and remembers the last visited language.', 'translatepress-multilingual' );?></p>
53
- </div>
54
- </div>
55
-
56
- <div class="grid">
57
- <div class="grid-cell" style="overflow:hidden;">
58
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/translator-accounts-addon.png', __FILE__) ) ?>" alt="Translator Account" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
59
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank"> Translator Accounts</a></h3>
60
- <p><?php _e( 'Create translator accounts for new users or allow existing users <br/>that are not administrators to translate your website.', 'translatepress-multilingual' );?></p>
61
- </div>
62
- </div>
63
-
64
- <div class="grid">
65
- <div class="grid-cell" style="overflow:hidden;">
66
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/view-as-addon.png', __FILE__) ) ?>" alt="Browse As User Role" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
67
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank"> Browse As User Role</a></h3>
68
- <p><?php _e( 'Navigate your website just like a particular user role would. <br/>Really useful for dynamic content or hidden content that appears for particular users.', 'translatepress-multilingual' );?></p>
69
- </div>
70
- </div>
71
-
72
- <div class="grid">
73
- <div class="grid-cell" style="overflow:hidden;">
74
- <a href="https://translatepress.com/pricing/" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/menu_based_on_lang.png', __FILE__) ) ?>" alt="Navigation Based on Language" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
75
- <h3><a href=" <?php echo trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=addons_tab&utm_campaign=tpfree') ?> " target="_blank"> Navigation Based on Language</a></h3>
76
- <p><?php _e( 'Configure different menu items for different languages.', 'translatepress-multilingual' );?></p>
77
- </div>
78
- </div>
79
- </div>
80
-
81
- <div class="trp-add-ons-plugins-column">
82
-
83
- <div class="grid feat-header">
84
- <div class="grid-cell">
85
- <h2><?php _e( 'Recommended Plugins by the same developers', 'translatepress-multilingual' );?></h2>
86
- <p><?php _e( 'A short list of plugins you can use to extend your website.', 'translatepress-multilingual' );?></p>
87
- </div>
88
- </div>
89
-
90
- <div class="grid">
91
- <div class="grid-cell" style="overflow:hidden;">
92
- <a href="<?php echo trp_add_affiliate_id_to_link('https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPB') ?>" target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/pb_logo.jpg', __FILE__) ) ?>" alt="Profile Builder" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
93
- <h3><a href="<?php echo trp_add_affiliate_id_to_link('https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPB') ?>" target="_blank">Profile Builder</a></h3>
94
- <p><?php _e( 'Capture more user information on the registration form with the help of Profile Builder\'s custom user profile fields and/or add an Email Confirmation process to verify your customers accounts.', 'translatepress-multilingual' );?></p>
95
- <div class="trp-recommended-buttons">
96
- <a class="trp-recommended-learn-more" target="_blank" href="<?php echo trp_add_affiliate_id_to_link('https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPB') ?>">
97
- <button class="button"><?php _e( 'Learn More', 'translatepress-multilingual' ); ?></button>
98
- </a>
99
- <button class="button-primary trp-recommended-plugin-buttons trp-install-and-activate" data-trp-plugin-slug="pb" data-trp-action-performed="<?php _e( 'Installing...', 'translatepress-multilingual' );?>" <?php echo $plugin_settings['pb']['disabled']; ?>><?php echo $plugin_settings['pb']['install_button']; ?></button>
100
- </div>
101
- </div>
102
- </div>
103
-
104
- <div class="grid">
105
- <div class="grid-cell" style="overflow:hidden;">
106
- <a href="<?php echo trp_add_affiliate_id_to_link('https://www.cozmoslabs.com/wordpress-paid-member-subscriptions/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPMS') ?> " target="_blank"><img src="<?php echo esc_url( plugins_url('../assets/images/pms_logo.jpg', __FILE__) ) ?>" alt="Paid Member Subscriptions" style="float: left; margin: 0 1.5rem 1.5rem 0;"></a>
107
- <h3><a href="<?php echo trp_add_affiliate_id_to_link('https://www.cozmoslabs.com/wordpress-paid-member-subscriptions/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPMS') ?> " target="_blank">Paid Member Subscriptions</a></h3>
108
- <p><?php _e( 'Accept user payments, create subscription plans and restrict content on your membership site.', 'translatepress-multilingual' );?> </p>
109
- <div class="trp-recommended-buttons">
110
- <a class="trp-recommended-learn-more" target="_blank" href="<?php echo trp_add_affiliate_id_to_link('https://www.cozmoslabs.com/wordpress-paid-member-subscriptions/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPMS')?>">
111
- <button class="button"><?php _e( 'Learn More', 'translatepress-multilingual' ); ?></button>
112
- </a>
113
- <button class="button-primary trp-recommended-plugin-buttons trp-install-and-activate" data-trp-plugin-slug="pms" data-trp-action-performed="<?php echo _e( 'Installing...', 'translatepress-multilingual' );?>" <?php echo $plugin_settings['pms']['disabled']; ?>><?php echo $plugin_settings['pms']['install_button']; ?></button>
114
- </div>
115
- </div>
116
- </div>
117
- </div>
118
- </div>
119
  </div>
3
  <h1> <?php esc_html_e( 'TranslatePress Settings', 'translatepress-multilingual' );?></h1>
4
  <?php do_action ( 'trp_settings_navigation_tabs' ); ?>
5
 
6
+ <?php
7
+ //initialize the object
8
+ $trp_addons_listing = new TRP_Addons_List_Table();
9
+ $trp_addons_listing->images_folder = TRP_PLUGIN_URL.'assets/images/';
10
+ $trp_addons_listing->text_domain = 'translatepress-multilingual';
11
+ $trp_addons_listing->header = array( 'title' => __('TranslatePress Add-ons', 'translatepress-multilingual' ) );
12
+ if( defined( 'TRANSLATE_PRESS' ) )
13
+ $trp_addons_listing->current_version = TRANSLATE_PRESS;
14
+ else
15
+ $trp_addons_listing->current_version = 'TranslatePress - Multilingual';//in free version we do not define the constant as free version needs to be active always
16
+ $trp_addons_listing->tooltip_header = __( 'TranslatePress Add-ons', 'translatepress-multilingual' );
17
+ $trp_addons_listing->tooltip_content = sprintf( __( 'You must first purchase this version to have access to the addon %1$shere%2$s', 'translatepress-multilingual' ), '<a target="_blank" href="'. trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP').'">', '</a>' );
18
+
19
+
20
+ //Add Advanced section
21
+ $trp_addons_listing->section_header = array( 'title' => __('Advanced Add-ons', 'translatepress-multilingual' ), 'description' => __('These addons extend your translation plugin and are available in the Developer, Business and Personal plans.', 'translatepress-multilingual') );
22
+ $trp_addons_listing->section_versions = array( 'TranslatePress - Dev', 'TranslatePress - Personal', 'TranslatePress - Business', 'TranslatePress - Developer' );
23
+ $trp_addons_listing->items = array(
24
+ array( 'slug' => 'tp-add-on-seo-pack/tp-seo-pack.php',
25
+ 'type' => 'add-on',
26
+ 'name' => __( 'SEO Pack', 'translatepress-multilingual' ),
27
+ 'description' => __( 'SEO support for page slug, page title, description and facebook and twitter social graph information. The HTML lang attribute is properly set.', 'translatepress-multilingual' ),
28
+ 'icon' => 'seo_icon_translatepress.png',
29
+ 'doc_url' => 'https://translatepress.com/docs/addons/seo-pack/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
30
+ ),
31
+ array( 'slug' => 'tp-add-on-extra-languages/tp-extra-languages.php',
32
+ 'type' => 'add-on',
33
+ 'name' => __( 'Multiple Languages', 'translatepress-multilingual' ),
34
+ 'description' => __( 'Add as many languages as you need for your project to go global. Publish your language only when all your translations are done.', 'translatepress-multilingual' ),
35
+ 'icon' => 'multiple_lang_icon.png',
36
+ 'doc_url' => 'https://translatepress.com/docs/addons/multiple-languages/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
37
+ ),
38
+ );
39
+ $trp_addons_listing->add_section();
40
+
41
+ //Add Pro Section
42
+ $trp_addons_listing->section_header = array( 'title' => __('Pro Add-ons', 'translatepress-multilingual' ), 'description' => __('These addons extend your translation plugin and are available in the Business and Developer plans.', 'translatepress-multilingual') );
43
+ $trp_addons_listing->section_versions = array( 'TranslatePress - Dev', 'TranslatePress - Business', 'TranslatePress - Developer' );
44
+ $trp_addons_listing->items = array(
45
+ array( 'slug' => 'tp-add-on-deepl/index.php',
46
+ 'type' => 'add-on',
47
+ 'name' => __( 'DeepL Automatic Translation', 'translatepress-multilingual' ),
48
+ 'description' => __( 'Automatically translate your website through the DeepL API.', 'translatepress-multilingual' ),
49
+ 'icon' => 'deepl-add-on.png',
50
+ 'doc_url' => 'https://translatepress.com/docs/addons/deepl-automatic-translation/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
51
+ ),
52
+ array( 'slug' => 'tp-add-on-automatic-language-detection/tp-automatic-language-detection.php',
53
+ 'type' => 'add-on',
54
+ 'name' => __( 'Automatic User Language Detection', 'translatepress-multilingual' ),
55
+ 'description' => __( 'Automatically redirects new visitors to their preferred language based on browser settings or IP address and remembers the last visited language.', 'translatepress-multilingual' ),
56
+ 'icon' => 'auto-detect-language-add-on.png',
57
+ 'doc_url' => 'https://translatepress.com/docs/addons/automatic-user-language-detection/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
58
+ ),
59
+ array( 'slug' => 'tp-add-on-translator-accounts/index.php',
60
+ 'type' => 'add-on',
61
+ 'name' => __( 'Translator Accounts', 'translatepress-multilingual' ),
62
+ 'description' => __( 'Create translator accounts for new users or allow existing users that are not administrators to translate your website.', 'translatepress-multilingual' ),
63
+ 'icon' => 'translator-accounts-addon.png',
64
+ 'doc_url' => 'https://translatepress.com/docs/addons/translator-accounts/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
65
+ ),
66
+ array( 'slug' => 'tp-add-on-browse-as-other-roles/tp-browse-as-other-role.php',
67
+ 'type' => 'add-on',
68
+ 'name' => __( 'Browse As User Role', 'translatepress-multilingual' ),
69
+ 'description' => __( 'Navigate your website just like a particular user role would. Really useful for dynamic content or hidden content that appears for particular users.', 'translatepress-multilingual' ),
70
+ 'icon' => 'view-as-addon.png',
71
+ 'doc_url' => 'https://translatepress.com/docs/addons/browse-as-role/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
72
+ ),
73
+ array( 'slug' => 'tp-add-on-navigation-based-on-language/tp-navigation-based-on-language.php',
74
+ 'type' => 'add-on',
75
+ 'name' => __( 'Navigation Based on Language', 'translatepress-multilingual' ),
76
+ 'description' => __( 'Configure different menu items for different languages.', 'translatepress-multilingual' ),
77
+ 'icon' => 'menu_based_on_lang.png',
78
+ 'doc_url' => 'https://translatepress.com/docs/addons/navigate-based-language/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page&utm_campaign=TRP',
79
+ ),
80
+ );
81
+ $trp_addons_listing->add_section();
82
+
83
+
84
+ //Add Recommended Plugins
85
+ $trp_addons_listing->section_header = array( 'title' => __('Recommended Plugins', 'translatepress-multilingual' ), 'description' => __('A short list of plugins you can use to extend your website.', 'translatepress-multilingual') );
86
+ $trp_addons_listing->section_versions = array( 'TranslatePress - Dev', 'TranslatePress - Personal', 'TranslatePress - Business', 'TranslatePress - Developer', 'TranslatePress - Multilingual' );
87
+ $trp_addons_listing->items = array(
88
+ array( 'slug' => 'profile-builder/index.php',
89
+ 'short-slug' => 'pb',
90
+ 'type' => 'plugin',
91
+ 'name' => __( 'Profile Builder', 'translatepress-multilingual' ),
92
+ 'description' => __( 'Capture more user information on the registration form with the help of Profile Builder\'s custom user profile fields and/or add an Email Confirmation process to verify your customers accounts.', 'translatepress-multilingual' ),
93
+ 'icon' => 'pb_logo.jpg',
94
+ 'doc_url' => 'https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPB',
95
+ 'disabled' => $plugin_settings['pb']['disabled'],
96
+ 'install_button' => $plugin_settings['pb']['install_button']
97
+ ),
98
+ array( 'slug' => 'paid-member-subscriptions/index.php',
99
+ 'short-slug' => 'pms',
100
+ 'type' => 'plugin',
101
+ 'name' => __( 'Paid Member Subscriptions', 'translatepress-multilingual' ),
102
+ 'description' => __( 'Accept user payments, create subscription plans and restrict content on your membership site.', 'translatepress-multilingual' ),
103
+ 'icon' => 'pms_logo.jpg',
104
+ 'doc_url' => 'https://www.cozmoslabs.com/wordpress-paid-member-subscriptions/?utm_source=tpbackend&utm_medium=clientsite&utm_content=tp-addons-page&utm_campaign=TPPMS',
105
+ 'disabled' => $plugin_settings['pms']['disabled'],
106
+ 'install_button' => $plugin_settings['pms']['install_button']
107
+ )
108
+ );
109
+ $trp_addons_listing->add_section();
110
+
111
+
112
+ //Display the whole listing
113
+ $trp_addons_listing->display_addons();
114
+
115
+ ?>
116
 
 
117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  </div>
partials/machine-translation-settings-page.php CHANGED
@@ -37,7 +37,7 @@
37
  </td>
38
  </tr>
39
 
40
- <?php if( !class_exists( 'TRP_DeepL' ) ) : ?>
41
  <tr style="display:none;">
42
  <th scope="row"></th>
43
  <td>
37
  </td>
38
  </tr>
39
 
40
+ <?php if( !class_exists( 'TRP_DeepL' ) && !class_exists( 'TRP_IN_DeepL' ) ) : ?>
41
  <tr style="display:none;">
42
  <th scope="row"></th>
43
  <td>
partials/main-settings-language-selector.php CHANGED
@@ -62,8 +62,8 @@
62
  <p class="trp-upsell-multiple-languages" style="display: none;">
63
  <?php
64
  if ( trp_is_paid_version() ){
65
- $url = 'https://translatepress.com/account/';
66
- $lnk = sprintf( wp_kses( __( 'To add <strong>more than two languages</strong> download and install the <strong>Extra Languages Add-on</strong> from <a href="%s" class="trp-translatepress-account-page" target="_blank" title="TranslatePress Account page">your account</a>. Once activated, you\'ll be able to add unlimited languages.', 'translatepress-multilingual' ), array( 'strong' => array(), 'br' => array(), 'a' => array( 'href' => array(), 'title' => array(), 'target' => array(), 'class' => array() ) ) ), esc_url( $url ) );
67
  }else {
68
  $url = trp_add_affiliate_id_to_link('https://translatepress.com/?utm_source=wpbackend&utm_medium=clientsite&utm_content=multiple_languages&utm_campaign=tpfree');
69
  $lnk = sprintf(
62
  <p class="trp-upsell-multiple-languages" style="display: none;">
63
  <?php
64
  if ( trp_is_paid_version() ){
65
+ $url = admin_url('admin.php?page=trp_addons_page');
66
+ $lnk = sprintf( wp_kses( __( 'To add <strong>more than two languages</strong> activate the <strong>Extra Languages Add-on</strong> from <a href="%s" class="trp-translatepress-account-page" target="_blank" title="Add-ons page">the Add-ons Page</a>. Once activated, you\'ll be able to add unlimited languages.', 'translatepress-multilingual' ), array( 'strong' => array(), 'br' => array(), 'a' => array( 'href' => array(), 'title' => array(), 'target' => array(), 'class' => array() ) ) ), esc_url( $url ) );
67
  }else {
68
  $url = trp_add_affiliate_id_to_link('https://translatepress.com/?utm_source=wpbackend&utm_medium=clientsite&utm_content=multiple_languages&utm_campaign=tpfree');
69
  $lnk = sprintf(
readme.txt CHANGED
@@ -5,12 +5,12 @@ Tags: translate, translation, multilingual, automatic translation, bilingual, fr
5
  Requires at least: 3.1.0
6
  Tested up to: 5.7.2
7
  Requires PHP: 5.6.20
8
- Stable tag: 2.0.4
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
  Translate your entire site directly from the front-end and go multilingual, with full support for WooCommerce and page builders + Google Translate integration.
13
-
14
  == Description ==
15
 
16
  **Experience a better way to translate your WordPress site and go multilingual, directly from the front-end using a visual translation interface.**
@@ -41,6 +41,7 @@ https://www.youtube.com/watch?v=pUlYisvBm8g
41
  * Translation Block feature in which you can translate multiple html elements together
42
  * Native **Gutenberg** support, so you can easily [translate Gutenberg blocks](https://translatepress.com/translate-gutenberg-blocks-in-wordpress/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree)
43
  * Out of the box [WooCommerce](https://translatepress.com/translate-woocommerce-products-translatepress/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) compatibility
 
44
 
45
  Note: this plugin uses the Google Translation API to translate the strings on your site. This feature can be enabled or disabled according to your preferences.
46
 
@@ -139,6 +140,12 @@ For more information please check out our [documentation](https://translatepress
139
 
140
 
141
  == Changelog ==
 
 
 
 
 
 
142
  = 2.0.4 =
143
  * Added support for translating aria-label attribute
144
  * Added possibility to exclude entire gettext domain from translation
5
  Requires at least: 3.1.0
6
  Tested up to: 5.7.2
7
  Requires PHP: 5.6.20
8
+ Stable tag: 2.0.5
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
  Translate your entire site directly from the front-end and go multilingual, with full support for WooCommerce and page builders + Google Translate integration.
13
+
14
  == Description ==
15
 
16
  **Experience a better way to translate your WordPress site and go multilingual, directly from the front-end using a visual translation interface.**
41
  * Translation Block feature in which you can translate multiple html elements together
42
  * Native **Gutenberg** support, so you can easily [translate Gutenberg blocks](https://translatepress.com/translate-gutenberg-blocks-in-wordpress/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree)
43
  * Out of the box [WooCommerce](https://translatepress.com/translate-woocommerce-products-translatepress/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) compatibility
44
+ * Use our [FREE Website Translation](https://translatepress.com/free-website-translation-tool-widget/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) tool/widget to browse any website into your own language.
45
 
46
  Note: this plugin uses the Google Translation API to translate the strings on your site. This feature can be enabled or disabled according to your preferences.
47
 
140
 
141
 
142
  == Changelog ==
143
+ = 2.0.5 =
144
+ * All Premium Add-ons have been repackaged in new archives downloadable from translatepress.com account. All the old plugin Add-ons will no longer receive updates.
145
+ * Reconfigured add-ons to be activated from TP Settings Add-ons tab
146
+ * Added compatibility with WP Typography
147
+ * Fixed bug on Automatic Translation Settings page regarding API key
148
+
149
  = 2.0.4 =
150
  * Added support for translating aria-label attribute
151
  * Added possibility to exclude entire gettext domain from translation