Version Description
- Security improvements
- Added option to translate content restricted by language in Elementor
- Added filter to disable independent region hreflang tags
- Improved notices in TP Settings
Download this release
Release Info
| Developer | razvan.mo |
| Plugin | |
| Version | 2.0.9 |
| Comparing to | |
| See all releases | |
Code changes from version 2.0.8 to 2.0.9
- assets/css/trp-back-end-style.css +1 -1
- class-translate-press.php +1 -1
- includes/class-elementor-language-for-blocks.php +9 -1
- includes/class-error-manager.php +1 -1
- includes/class-translation-manager.php +1 -1
- includes/class-translation-render.php +1 -1
- includes/class-upgrade.php +3 -1
- includes/class-url-converter.php +26 -23
- includes/functions.php +8 -1
- index.php +2 -2
- languages/translatepress-multilingual.catalog.php +7 -3
- languages/translatepress-multilingual.pot +47 -30
- partials/license-settings-page.php +1 -1
- partials/machine-translation-settings-page.php +39 -10
- readme.txt +7 -1
assets/css/trp-back-end-style.css
CHANGED
|
@@ -164,7 +164,7 @@ input.trp-translation-published{
|
|
| 164 |
|
| 165 |
.warning,
|
| 166 |
.trp-upsell-multiple-languages{
|
| 167 |
-
border: 1px solid #
|
| 168 |
padding: 1rem;
|
| 169 |
background: #fff;
|
| 170 |
max-width:800px;
|
| 164 |
|
| 165 |
.warning,
|
| 166 |
.trp-upsell-multiple-languages{
|
| 167 |
+
border: 1px solid #FFEF00;
|
| 168 |
padding: 1rem;
|
| 169 |
background: #fff;
|
| 170 |
max-width:800px;
|
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.
|
| 62 |
|
| 63 |
wp_cache_add_non_persistent_groups(array('trp'));
|
| 64 |
|
| 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.9' );
|
| 62 |
|
| 63 |
wp_cache_add_non_persistent_groups(array('trp'));
|
| 64 |
|
includes/class-elementor-language-for-blocks.php
CHANGED
|
@@ -127,6 +127,14 @@ class TRP_Elementor {
|
|
| 127 |
)
|
| 128 |
);
|
| 129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
$element->add_control(
|
| 131 |
'trp_language_restriction_heading', array(
|
| 132 |
'label' => __( 'Select language', 'translatepress-multilingual' ),
|
|
@@ -257,7 +265,7 @@ class TRP_Elementor {
|
|
| 257 |
|
| 258 |
$settings = $element->get_settings();
|
| 259 |
|
| 260 |
-
if( isset( $settings['trp_language_restriction'] ) && $settings['trp_language_restriction'] == 'yes' && !empty( $settings['trp_restricted_languages'] ) )
|
| 261 |
$element->add_render_attribute( '_wrapper', 'data-no-translation' );
|
| 262 |
|
| 263 |
}
|
| 127 |
)
|
| 128 |
);
|
| 129 |
|
| 130 |
+
$element->add_control(
|
| 131 |
+
'trp_language_restriction_automatic_translation', array(
|
| 132 |
+
'label' => __( 'Enable translation', 'translatepress-multilingual' ),
|
| 133 |
+
'type' => Controls_Manager::SWITCHER,
|
| 134 |
+
'description' => __( 'Allow translation to the corresponding language only if the content is written in the default language.', 'translatepress-multilingual' ),
|
| 135 |
+
)
|
| 136 |
+
);
|
| 137 |
+
|
| 138 |
$element->add_control(
|
| 139 |
'trp_language_restriction_heading', array(
|
| 140 |
'label' => __( 'Select language', 'translatepress-multilingual' ),
|
| 265 |
|
| 266 |
$settings = $element->get_settings();
|
| 267 |
|
| 268 |
+
if( isset( $settings['trp_language_restriction'] ) && $settings['trp_language_restriction'] == 'yes' && !empty( $settings['trp_restricted_languages'] ) && isset( $settings['trp_language_restriction_automatic_translation'] ) && $settings['trp_language_restriction_automatic_translation'] != 'yes')
|
| 269 |
$element->add_render_attribute( '_wrapper', 'data-no-translation' );
|
| 270 |
|
| 271 |
}
|
includes/class-error-manager.php
CHANGED
|
@@ -120,7 +120,7 @@ class TRP_Error_Manager{
|
|
| 120 |
|
| 121 |
$link = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
|
| 122 |
|
| 123 |
-
if($link
|
| 124 |
$this->clear_notification_from_db('disable_automatic_translations', null);
|
| 125 |
}
|
| 126 |
|
| 120 |
|
| 121 |
$link = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
|
| 122 |
|
| 123 |
+
if($link === 'trp_error_manager') {
|
| 124 |
$this->clear_notification_from_db('disable_automatic_translations', null);
|
| 125 |
}
|
| 126 |
|
includes/class-translation-manager.php
CHANGED
|
@@ -822,7 +822,7 @@ class TRP_Translation_Manager
|
|
| 822 |
$trp_translated_gettext_text = $trp_translated_gettext_texts[$domain . '::' . $text];
|
| 823 |
|
| 824 |
if (!empty($trp_translated_gettext_text['translated']) && $translation != $trp_translated_gettext_text['translated']) {
|
| 825 |
-
$translation = str_replace(trim($text), $trp_translated_gettext_text['translated'], $text);
|
| 826 |
}
|
| 827 |
$db_id = $trp_translated_gettext_text['id'];
|
| 828 |
$found_in_db = true;
|
| 822 |
$trp_translated_gettext_text = $trp_translated_gettext_texts[$domain . '::' . $text];
|
| 823 |
|
| 824 |
if (!empty($trp_translated_gettext_text['translated']) && $translation != $trp_translated_gettext_text['translated']) {
|
| 825 |
+
$translation = trp_sanitize_string(str_replace(trim($text), $trp_translated_gettext_text['translated'], $text));
|
| 826 |
}
|
| 827 |
$db_id = $trp_translated_gettext_text['id'];
|
| 828 |
$found_in_db = true;
|
includes/class-translation-render.php
CHANGED
|
@@ -785,7 +785,7 @@ class TRP_Translation_Render{
|
|
| 785 |
do_action( 'trp_set_translation_for_attribute', $nodes[$i]['node'], $accessor, $translated_strings[$i] );
|
| 786 |
}else{
|
| 787 |
$translateable_string = $this->maybe_correct_translatable_string( $translateable_string, $nodes[$i]['node']->$accessor );
|
| 788 |
-
$nodes[$i]['node']->$accessor = str_replace( $translateable_string, $translated_strings[$i], $nodes[$i]['node']->$accessor );
|
| 789 |
}
|
| 790 |
|
| 791 |
}
|
| 785 |
do_action( 'trp_set_translation_for_attribute', $nodes[$i]['node'], $accessor, $translated_strings[$i] );
|
| 786 |
}else{
|
| 787 |
$translateable_string = $this->maybe_correct_translatable_string( $translateable_string, $nodes[$i]['node']->$accessor );
|
| 788 |
+
$nodes[$i]['node']->$accessor = trp_sanitize_string( str_replace( $translateable_string, $translated_strings[$i], $nodes[$i]['node']->$accessor ) );
|
| 789 |
}
|
| 790 |
|
| 791 |
}
|
includes/class-upgrade.php
CHANGED
|
@@ -769,7 +769,9 @@ class TRP_Upgrade {
|
|
| 769 |
|
| 770 |
$notification_id = 'trp_add_ons_removal';
|
| 771 |
|
| 772 |
-
$
|
|
|
|
|
|
|
| 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 |
|
| 769 |
|
| 770 |
$notification_id = 'trp_add_ons_removal';
|
| 771 |
|
| 772 |
+
$url_info = 'https://translatepress.com/docs/installation/upgrade-to-version-2-0-5-or-newer/';
|
| 773 |
+
$url_account = 'https://translatepress.com/account/';
|
| 774 |
+
$message = '<p style="padding-right:30px;">' . sprintf(__( 'All individual TranslatePress add-on plugins <a href="%1$s" target="_blank">have been discontinued</a> and are now included in the premium Personal, Business and Developer versions of TranslatePress. Please log into your <a href="%2$s" target="_blank">account page</a>, download the new premium version and install it. Your individual addons settings will be ported over.' , 'translatepress-multilingual' ), esc_url($url_info), esc_url($url_account)) . '</p>';
|
| 775 |
//make sure to use the trp_dismiss_admin_notification arg
|
| 776 |
$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>';
|
| 777 |
|
includes/class-url-converter.php
CHANGED
|
@@ -148,41 +148,44 @@ class TRP_Url_Converter {
|
|
| 148 |
/**
|
| 149 |
* Add Hreflang entries for each language to Header.
|
| 150 |
*/
|
| 151 |
-
public function add_hreflang_to_head(){
|
| 152 |
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
|
| 160 |
$languages = $this->settings['publish-languages'];
|
| 161 |
if ( isset( $_GET['trp-edit-translation'] ) && $_GET['trp-edit-translation'] == 'preview' ) {
|
| 162 |
$languages = $this->settings['translation-languages'];
|
| 163 |
}
|
| 164 |
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
|
|
|
|
|
|
|
|
|
| 177 |
}
|
| 178 |
}
|
| 179 |
-
}
|
| 180 |
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
|
|
|
| 184 |
}
|
| 185 |
-
|
| 186 |
|
| 187 |
/**
|
| 188 |
* Function that changes the lang attribute in the html tag to the current language.
|
| 148 |
/**
|
| 149 |
* Add Hreflang entries for each language to Header.
|
| 150 |
*/
|
| 151 |
+
public function add_hreflang_to_head() {
|
| 152 |
|
| 153 |
+
// exclude hreflang for URL
|
| 154 |
+
$default_language = $this->settings["default-language"];
|
| 155 |
+
$original_url = str_replace( '#TRPLINKPROCESSED', '', $this->get_url_for_language( $default_language ) );
|
| 156 |
+
if ( apply_filters( 'trp-exclude-hreflang', false, $original_url ) ) {
|
| 157 |
+
return;
|
| 158 |
+
}
|
| 159 |
|
| 160 |
$languages = $this->settings['publish-languages'];
|
| 161 |
if ( isset( $_GET['trp-edit-translation'] ) && $_GET['trp-edit-translation'] == 'preview' ) {
|
| 162 |
$languages = $this->settings['translation-languages'];
|
| 163 |
}
|
| 164 |
|
| 165 |
+
$region_independent_languages = array();
|
| 166 |
+
foreach ( $languages as $language ) {
|
| 167 |
+
// hreflang should have - instead of _ . For example: en-EN, not en_EN like the locale
|
| 168 |
+
$hreflang = str_replace( '_', '-', $language );
|
| 169 |
+
$hreflang = apply_filters( 'trp_hreflang', $hreflang, $language );
|
| 170 |
+
echo '<link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $this->get_url_for_language( $language ) ) . '"/>' . "\n";
|
| 171 |
|
| 172 |
+
if ( apply_filters( 'trp_add_region_independent_hreflang_tags', true ) ) {
|
| 173 |
+
if ( strpos( $language, '_' ) !== false ) {
|
| 174 |
+
$language_independent_hreflang = strtok( $language, '_' );
|
| 175 |
+
if ( !empty( $language_independent_hreflang ) && !in_array( $language_independent_hreflang, $region_independent_languages ) ) {
|
| 176 |
+
$region_independent_languages[] = $language_independent_hreflang;
|
| 177 |
+
echo '<link rel="alternate" hreflang="' . esc_attr( $language_independent_hreflang ) . '" href="' . esc_url( $this->get_url_for_language( $language ) ) . '"/>' . "\n";
|
| 178 |
+
}
|
| 179 |
+
}
|
| 180 |
}
|
| 181 |
}
|
|
|
|
| 182 |
|
| 183 |
+
if ( isset( $this->settings['trp_advanced_settings']['enable_hreflang_xdefault'] ) && $this->settings['trp_advanced_settings']['enable_hreflang_xdefault'] != 'disabled' ) {
|
| 184 |
+
$default_lang = $this->settings['trp_advanced_settings']['enable_hreflang_xdefault'];
|
| 185 |
+
echo '<link rel="alternate" hreflang="x-default" href="' . esc_url( $this->get_url_for_language( $default_lang ) ) . '"/>' . "\n";
|
| 186 |
+
}
|
| 187 |
}
|
| 188 |
+
|
| 189 |
|
| 190 |
/**
|
| 191 |
* Function that changes the lang attribute in the html tag to the current language.
|
includes/functions.php
CHANGED
|
@@ -166,7 +166,14 @@ function trp_sanitize_string( $filtered ){
|
|
| 166 |
$filtered = trim( preg_replace('/ +/', ' ', $filtered) );
|
| 167 |
}
|
| 168 |
|
| 169 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
}
|
| 171 |
|
| 172 |
/**
|
| 166 |
$filtered = trim( preg_replace('/ +/', ' ', $filtered) );
|
| 167 |
}
|
| 168 |
|
| 169 |
+
return trp_wp_kses( $filtered );
|
| 170 |
+
}
|
| 171 |
+
|
| 172 |
+
function trp_wp_kses($string){
|
| 173 |
+
if ( apply_filters('trp_apply_wp_kses_on_strings', true) ){
|
| 174 |
+
$string = wp_kses_post($string);
|
| 175 |
+
}
|
| 176 |
+
return $string;
|
| 177 |
}
|
| 178 |
|
| 179 |
/**
|
index.php
CHANGED
|
@@ -3,14 +3,14 @@
|
|
| 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.
|
| 7 |
Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
|
| 8 |
Author URI: https://cozmoslabs.com/
|
| 9 |
Text Domain: translatepress-multilingual
|
| 10 |
Domain Path: /languages
|
| 11 |
License: GPL2
|
| 12 |
WC requires at least: 2.5.0
|
| 13 |
-
WC tested up to: 5.
|
| 14 |
|
| 15 |
== Copyright ==
|
| 16 |
Copyright 2017 Cozmoslabs (www.cozmoslabs.com)
|
| 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.9
|
| 7 |
Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
|
| 8 |
Author URI: https://cozmoslabs.com/
|
| 9 |
Text Domain: translatepress-multilingual
|
| 10 |
Domain Path: /languages
|
| 11 |
License: GPL2
|
| 12 |
WC requires at least: 2.5.0
|
| 13 |
+
WC tested up to: 5.6.0
|
| 14 |
|
| 15 |
== Copyright ==
|
| 16 |
Copyright 2017 Cozmoslabs (www.cozmoslabs.com)
|
languages/translatepress-multilingual.catalog.php
CHANGED
|
@@ -27,6 +27,8 @@
|
|
| 27 |
<?php __("Exclude from Language", "translatepress-multilingual"); ?>
|
| 28 |
<?php __("Restrict element to language", "translatepress-multilingual"); ?>
|
| 29 |
<?php __("Show this element only in one language.", "translatepress-multilingual"); ?>
|
|
|
|
|
|
|
| 30 |
<?php __("Select language", "translatepress-multilingual"); ?>
|
| 31 |
<?php __("Choose in which language to show this element.", "translatepress-multilingual"); ?>
|
| 32 |
<?php __("Exclude element from language", "translatepress-multilingual"); ?>
|
|
@@ -206,7 +208,7 @@
|
|
| 206 |
<?php __("If the page does not redirect automatically", "translatepress-multilingual"); ?>
|
| 207 |
<?php __("click here", "translatepress-multilingual"); ?>
|
| 208 |
<?php __("Recreated original strings table.", "translatepress-multilingual"); ?>
|
| 209 |
-
<?php __("All individual TranslatePress add-on plugins have been discontinued and
|
| 210 |
<?php __("TranslatePress", "translatepress-multilingual"); ?>
|
| 211 |
<?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"); ?>
|
| 212 |
<?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"); ?>
|
|
@@ -241,7 +243,7 @@
|
|
| 241 |
<?php __("Save Changes", "translatepress-multilingual"); ?>
|
| 242 |
<?php __("TranslatePress Errors", "translatepress-multilingual"); ?>
|
| 243 |
<?php __("There are no logged errors.", "translatepress-multilingual"); ?>
|
| 244 |
-
<?php __("If you purchased a
|
| 245 |
<?php __("License Key", "translatepress-multilingual"); ?>
|
| 246 |
<?php __("Activate License", "translatepress-multilingual"); ?>
|
| 247 |
<?php __("Deactivate License", "translatepress-multilingual"); ?>
|
|
@@ -254,9 +256,11 @@
|
|
| 254 |
<?php __("Enable or disable the automatic translation of the site. To minimize translation costs, each untranslated string is automatically translated only once, then stored in the database.", "translatepress-multilingual"); ?>
|
| 255 |
<?php __("Translation Engine", "translatepress-multilingual"); ?>
|
| 256 |
<?php __("Choose which engine you want to use in order to automatically translate your website.", "translatepress-multilingual"); ?>
|
|
|
|
| 257 |
<?php __("<strong>DeepL</strong> automatic translation is available as a <a href=\"%1$s\" target=\"_blank\" title=\"%2$s\">%2$s</a>.", "translatepress-multilingual"); ?>
|
| 258 |
-
<?php __("TranslatePress Pro Add-on", "translatepress-multilingual"); ?>
|
| 259 |
<?php __("By upgrading you'll get access to all paid add-ons, premium support and help fund the future development of TranslatePress.", "translatepress-multilingual"); ?>
|
|
|
|
|
|
|
| 260 |
<?php __("Please note that DeepL API usage is paid separately. See <a href=\"https://www.deepl.com/pro.html#developer\">DeepL pricing information</a>.", "translatepress-multilingual"); ?>
|
| 261 |
<?php __("TranslatePress Pro Add-ons", "translatepress-multilingual"); ?>
|
| 262 |
<?php __("Test API credentials", "translatepress-multilingual"); ?>
|
| 27 |
<?php __("Exclude from Language", "translatepress-multilingual"); ?>
|
| 28 |
<?php __("Restrict element to language", "translatepress-multilingual"); ?>
|
| 29 |
<?php __("Show this element only in one language.", "translatepress-multilingual"); ?>
|
| 30 |
+
<?php __("Enable translation", "translatepress-multilingual"); ?>
|
| 31 |
+
<?php __("Allow translation to the corresponding language only if the content is written in the default language.", "translatepress-multilingual"); ?>
|
| 32 |
<?php __("Select language", "translatepress-multilingual"); ?>
|
| 33 |
<?php __("Choose in which language to show this element.", "translatepress-multilingual"); ?>
|
| 34 |
<?php __("Exclude element from language", "translatepress-multilingual"); ?>
|
| 208 |
<?php __("If the page does not redirect automatically", "translatepress-multilingual"); ?>
|
| 209 |
<?php __("click here", "translatepress-multilingual"); ?>
|
| 210 |
<?php __("Recreated original strings table.", "translatepress-multilingual"); ?>
|
| 211 |
+
<?php __("All individual TranslatePress add-on plugins <a href=\"%1$s\" target=\"_blank\">have been discontinued</a> and are now included in the premium Personal, Business and Developer versions of TranslatePress. Please log into your <a href=\"%2$s\" target=\"_blank\">account page</a>, download the new premium version and install it. Your individual addons settings will be ported over.", "translatepress-multilingual"); ?>
|
| 212 |
<?php __("TranslatePress", "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"); ?>
|
| 243 |
<?php __("Save Changes", "translatepress-multilingual"); ?>
|
| 244 |
<?php __("TranslatePress Errors", "translatepress-multilingual"); ?>
|
| 245 |
<?php __("There are no logged errors.", "translatepress-multilingual"); ?>
|
| 246 |
+
<?php __("If you purchased a <a href=\"%s\">premium version</a>, first install and activate it. After this you will be prompted with an input to enter your license key.", "translatepress-multilingual"); ?>
|
| 247 |
<?php __("License Key", "translatepress-multilingual"); ?>
|
| 248 |
<?php __("Activate License", "translatepress-multilingual"); ?>
|
| 249 |
<?php __("Deactivate License", "translatepress-multilingual"); ?>
|
| 256 |
<?php __("Enable or disable the automatic translation of the site. To minimize translation costs, each untranslated string is automatically translated only once, then stored in the database.", "translatepress-multilingual"); ?>
|
| 257 |
<?php __("Translation Engine", "translatepress-multilingual"); ?>
|
| 258 |
<?php __("Choose which engine you want to use in order to automatically translate your website.", "translatepress-multilingual"); ?>
|
| 259 |
+
<?php __("To use <strong>DeepL</strong> for automatic translation, activate this Pro add-on from the <a href=\"%1$s\" target=\"_self\" title=\"%2$s\">%2$s</a>.", "translatepress-multilingual"); ?>
|
| 260 |
<?php __("<strong>DeepL</strong> automatic translation is available as a <a href=\"%1$s\" target=\"_blank\" title=\"%2$s\">%2$s</a>.", "translatepress-multilingual"); ?>
|
|
|
|
| 261 |
<?php __("By upgrading you'll get access to all paid add-ons, premium support and help fund the future development of TranslatePress.", "translatepress-multilingual"); ?>
|
| 262 |
+
<?php __("TranslatePress Pro Add-on", "translatepress-multilingual"); ?>
|
| 263 |
+
<?php __("Addons tab", "translatepress-multilingual"); ?>
|
| 264 |
<?php __("Please note that DeepL API usage is paid separately. See <a href=\"https://www.deepl.com/pro.html#developer\">DeepL pricing information</a>.", "translatepress-multilingual"); ?>
|
| 265 |
<?php __("TranslatePress Pro Add-ons", "translatepress-multilingual"); ?>
|
| 266 |
<?php __("Test API credentials", "translatepress-multilingual"); ?>
|
languages/translatepress-multilingual.pot
CHANGED
|
@@ -37,7 +37,7 @@ msgstr ""
|
|
| 37 |
msgid "Settings saved."
|
| 38 |
msgstr ""
|
| 39 |
|
| 40 |
-
#: 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:
|
| 41 |
msgid "Yes"
|
| 42 |
msgstr ""
|
| 43 |
|
|
@@ -125,35 +125,43 @@ msgstr ""
|
|
| 125 |
msgid "Show this element only in one language."
|
| 126 |
msgstr ""
|
| 127 |
|
| 128 |
-
#: includes/class-elementor-language-for-blocks.php:132
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
msgid "Select language"
|
| 130 |
msgstr ""
|
| 131 |
|
| 132 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 133 |
msgid "Choose in which language to show this element."
|
| 134 |
msgstr ""
|
| 135 |
|
| 136 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 137 |
msgid "Exclude element from language"
|
| 138 |
msgstr ""
|
| 139 |
|
| 140 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 141 |
msgid "Exclude this element from specific languages."
|
| 142 |
msgstr ""
|
| 143 |
|
| 144 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 145 |
msgid "Select languages"
|
| 146 |
msgstr ""
|
| 147 |
|
| 148 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 149 |
msgid "Choose from which languages to exclude this element."
|
| 150 |
msgstr ""
|
| 151 |
|
| 152 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 153 |
msgid "This element will still be visible when you are translating your website through the Translation Editor."
|
| 154 |
msgstr ""
|
| 155 |
|
| 156 |
-
#: includes/class-elementor-language-for-blocks.php:
|
| 157 |
msgid "The content of this element should be written in the default language."
|
| 158 |
msgstr ""
|
| 159 |
|
|
@@ -165,7 +173,7 @@ msgstr ""
|
|
| 165 |
msgid "Automatic translation has been disabled."
|
| 166 |
msgstr ""
|
| 167 |
|
| 168 |
-
#: 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:
|
| 169 |
msgid "Dismiss this notice."
|
| 170 |
msgstr ""
|
| 171 |
|
|
@@ -841,8 +849,8 @@ msgstr ""
|
|
| 841 |
msgid "Recreated original strings table."
|
| 842 |
msgstr ""
|
| 843 |
|
| 844 |
-
#: includes/class-upgrade.php:
|
| 845 |
-
msgid "All individual TranslatePress add-on plugins have been discontinued and
|
| 846 |
msgstr ""
|
| 847 |
|
| 848 |
#: includes/class-wp-bakery-language-for-blocks.php:179
|
|
@@ -969,7 +977,7 @@ msgstr ""
|
|
| 969 |
msgid "TranslatePress Advanced Settings"
|
| 970 |
msgstr ""
|
| 971 |
|
| 972 |
-
#: partials/advanced-settings-page.php:16, partials/machine-translation-settings-page.php:
|
| 973 |
msgid "Save Changes"
|
| 974 |
msgstr ""
|
| 975 |
|
|
@@ -982,7 +990,7 @@ msgid "There are no logged errors."
|
|
| 982 |
msgstr ""
|
| 983 |
|
| 984 |
#: partials/license-settings-page.php:48
|
| 985 |
-
msgid "If you purchased a
|
| 986 |
msgstr ""
|
| 987 |
|
| 988 |
#: partials/license-settings-page.php:14
|
|
@@ -1033,61 +1041,70 @@ msgstr ""
|
|
| 1033 |
msgid "Choose which engine you want to use in order to automatically translate your website."
|
| 1034 |
msgstr ""
|
| 1035 |
|
| 1036 |
-
|
| 1037 |
-
|
| 1038 |
-
msgid "<strong>DeepL</strong> automatic translation is available as a <a href=\"%1$s\" target=\"_blank\" title=\"%2$s\">%2$s</a>."
|
| 1039 |
msgstr ""
|
| 1040 |
|
| 1041 |
#: partials/machine-translation-settings-page.php:51
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1042 |
msgctxt "Verbiage for the DeepL Pro Add-on"
|
| 1043 |
msgid "TranslatePress Pro Add-on"
|
| 1044 |
msgstr ""
|
| 1045 |
|
| 1046 |
-
#: partials/machine-translation-settings-page.php:
|
| 1047 |
-
|
|
|
|
| 1048 |
msgstr ""
|
| 1049 |
|
| 1050 |
-
#: partials/machine-translation-settings-page.php:
|
| 1051 |
msgid "Please note that DeepL API usage is paid separately. See <a href=\"https://www.deepl.com/pro.html#developer\">DeepL pricing information</a>."
|
| 1052 |
msgstr ""
|
| 1053 |
|
| 1054 |
-
#: partials/machine-translation-settings-page.php:
|
| 1055 |
msgid "TranslatePress Pro Add-ons"
|
| 1056 |
msgstr ""
|
| 1057 |
|
| 1058 |
-
#: partials/machine-translation-settings-page.php:
|
| 1059 |
msgid "Test API credentials"
|
| 1060 |
msgstr ""
|
| 1061 |
|
| 1062 |
-
#: partials/machine-translation-settings-page.php:
|
| 1063 |
msgid "Click here to check if the selected translation engine is configured correctly."
|
| 1064 |
msgstr ""
|
| 1065 |
|
| 1066 |
-
#: partials/machine-translation-settings-page.php:
|
| 1067 |
msgid "Block Crawlers"
|
| 1068 |
msgstr ""
|
| 1069 |
|
| 1070 |
-
#: partials/machine-translation-settings-page.php:
|
| 1071 |
msgid "Block crawlers from triggering automatic translations on your website."
|
| 1072 |
msgstr ""
|
| 1073 |
|
| 1074 |
-
#: partials/machine-translation-settings-page.php:
|
| 1075 |
msgid "Limit machine translation / characters per day"
|
| 1076 |
msgstr ""
|
| 1077 |
|
| 1078 |
-
#: partials/machine-translation-settings-page.php:
|
| 1079 |
msgid "Add a limit to the number of automatically translated characters so you can better budget your project."
|
| 1080 |
msgstr ""
|
| 1081 |
|
| 1082 |
-
#: partials/machine-translation-settings-page.php:
|
| 1083 |
msgid "Today's character count:"
|
| 1084 |
msgstr ""
|
| 1085 |
|
| 1086 |
-
#: partials/machine-translation-settings-page.php:
|
| 1087 |
msgid "Log machine translation queries."
|
| 1088 |
msgstr ""
|
| 1089 |
|
| 1090 |
-
#: partials/machine-translation-settings-page.php:
|
| 1091 |
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.)"
|
| 1092 |
msgstr ""
|
| 1093 |
|
| 37 |
msgid "Settings saved."
|
| 38 |
msgstr ""
|
| 39 |
|
| 40 |
+
#: 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:117, partials/machine-translation-settings-page.php:150, partials/main-settings-page.php:41, partials/main-settings-page.php:54, partials/main-settings-page.php:67
|
| 41 |
msgid "Yes"
|
| 42 |
msgstr ""
|
| 43 |
|
| 125 |
msgid "Show this element only in one language."
|
| 126 |
msgstr ""
|
| 127 |
|
| 128 |
+
#: includes/class-elementor-language-for-blocks.php:132
|
| 129 |
+
msgid "Enable translation"
|
| 130 |
+
msgstr ""
|
| 131 |
+
|
| 132 |
+
#: includes/class-elementor-language-for-blocks.php:134
|
| 133 |
+
msgid "Allow translation to the corresponding language only if the content is written in the default language."
|
| 134 |
+
msgstr ""
|
| 135 |
+
|
| 136 |
+
#: includes/class-elementor-language-for-blocks.php:140, includes/class-wp-bakery-language-for-blocks.php:106
|
| 137 |
msgid "Select language"
|
| 138 |
msgstr ""
|
| 139 |
|
| 140 |
+
#: includes/class-elementor-language-for-blocks.php:157, includes/class-wp-bakery-language-for-blocks.php:110
|
| 141 |
msgid "Choose in which language to show this element."
|
| 142 |
msgstr ""
|
| 143 |
|
| 144 |
+
#: includes/class-elementor-language-for-blocks.php:169
|
| 145 |
msgid "Exclude element from language"
|
| 146 |
msgstr ""
|
| 147 |
|
| 148 |
+
#: includes/class-elementor-language-for-blocks.php:171, includes/class-wp-bakery-language-for-blocks.php:141
|
| 149 |
msgid "Exclude this element from specific languages."
|
| 150 |
msgstr ""
|
| 151 |
|
| 152 |
+
#: includes/class-elementor-language-for-blocks.php:177, includes/class-wp-bakery-language-for-blocks.php:158
|
| 153 |
msgid "Select languages"
|
| 154 |
msgstr ""
|
| 155 |
|
| 156 |
+
#: includes/class-elementor-language-for-blocks.php:195, includes/class-wp-bakery-language-for-blocks.php:162
|
| 157 |
msgid "Choose from which languages to exclude this element."
|
| 158 |
msgstr ""
|
| 159 |
|
| 160 |
+
#: includes/class-elementor-language-for-blocks.php:199, includes/class-wp-bakery-language-for-blocks.php:146
|
| 161 |
msgid "This element will still be visible when you are translating your website through the Translation Editor."
|
| 162 |
msgstr ""
|
| 163 |
|
| 164 |
+
#: includes/class-elementor-language-for-blocks.php:200, includes/class-wp-bakery-language-for-blocks.php:153
|
| 165 |
msgid "The content of this element should be written in the default language."
|
| 166 |
msgstr ""
|
| 167 |
|
| 173 |
msgid "Automatic translation has been disabled."
|
| 174 |
msgstr ""
|
| 175 |
|
| 176 |
+
#: 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:776
|
| 177 |
msgid "Dismiss this notice."
|
| 178 |
msgstr ""
|
| 179 |
|
| 849 |
msgid "Recreated original strings table."
|
| 850 |
msgstr ""
|
| 851 |
|
| 852 |
+
#: includes/class-upgrade.php:774
|
| 853 |
+
msgid "All individual TranslatePress add-on plugins <a href=\"%1$s\" target=\"_blank\">have been discontinued</a> and are now included in the premium Personal, Business and Developer versions of TranslatePress. Please log into your <a href=\"%2$s\" target=\"_blank\">account page</a>, download the new premium version and install it. Your individual addons settings will be ported over."
|
| 854 |
msgstr ""
|
| 855 |
|
| 856 |
#: includes/class-wp-bakery-language-for-blocks.php:179
|
| 977 |
msgid "TranslatePress Advanced Settings"
|
| 978 |
msgstr ""
|
| 979 |
|
| 980 |
+
#: partials/advanced-settings-page.php:16, partials/machine-translation-settings-page.php:161, partials/main-settings-page.php:123
|
| 981 |
msgid "Save Changes"
|
| 982 |
msgstr ""
|
| 983 |
|
| 990 |
msgstr ""
|
| 991 |
|
| 992 |
#: partials/license-settings-page.php:48
|
| 993 |
+
msgid "If you purchased a <a href=\"%s\">premium version</a>, first install and activate it. After this you will be prompted with an input to enter your license key."
|
| 994 |
msgstr ""
|
| 995 |
|
| 996 |
#: partials/license-settings-page.php:14
|
| 1041 |
msgid "Choose which engine you want to use in order to automatically translate your website."
|
| 1042 |
msgstr ""
|
| 1043 |
|
| 1044 |
+
#: partials/machine-translation-settings-page.php:58
|
| 1045 |
+
msgid "To use <strong>DeepL</strong> for automatic translation, activate this Pro add-on from the <a href=\"%1$s\" target=\"_self\" title=\"%2$s\">%2$s</a>."
|
|
|
|
| 1046 |
msgstr ""
|
| 1047 |
|
| 1048 |
#: partials/machine-translation-settings-page.php:51
|
| 1049 |
+
msgid "<strong>DeepL</strong> automatic translation is available as a <a href=\"%1$s\" target=\"_blank\" title=\"%2$s\">%2$s</a>."
|
| 1050 |
+
msgstr ""
|
| 1051 |
+
|
| 1052 |
+
#: partials/machine-translation-settings-page.php:52
|
| 1053 |
+
msgid "By upgrading you'll get access to all paid add-ons, premium support and help fund the future development of TranslatePress."
|
| 1054 |
+
msgstr ""
|
| 1055 |
+
|
| 1056 |
+
#. translators: %1$s is the URL to the DeepL add-on. %2$s is the name of the Pro offerings.
|
| 1057 |
+
#: partials/machine-translation-settings-page.php:73
|
| 1058 |
msgctxt "Verbiage for the DeepL Pro Add-on"
|
| 1059 |
msgid "TranslatePress Pro Add-on"
|
| 1060 |
msgstr ""
|
| 1061 |
|
| 1062 |
+
#: partials/machine-translation-settings-page.php:67
|
| 1063 |
+
msgctxt "Verbiage for the DeepL Pro Add-on"
|
| 1064 |
+
msgid "Addons tab"
|
| 1065 |
msgstr ""
|
| 1066 |
|
| 1067 |
+
#: partials/machine-translation-settings-page.php:80
|
| 1068 |
msgid "Please note that DeepL API usage is paid separately. See <a href=\"https://www.deepl.com/pro.html#developer\">DeepL pricing information</a>."
|
| 1069 |
msgstr ""
|
| 1070 |
|
| 1071 |
+
#: partials/machine-translation-settings-page.php:85
|
| 1072 |
msgid "TranslatePress Pro Add-ons"
|
| 1073 |
msgstr ""
|
| 1074 |
|
| 1075 |
+
#: partials/machine-translation-settings-page.php:102
|
| 1076 |
msgid "Test API credentials"
|
| 1077 |
msgstr ""
|
| 1078 |
|
| 1079 |
+
#: partials/machine-translation-settings-page.php:104
|
| 1080 |
msgid "Click here to check if the selected translation engine is configured correctly."
|
| 1081 |
msgstr ""
|
| 1082 |
|
| 1083 |
+
#: partials/machine-translation-settings-page.php:113
|
| 1084 |
msgid "Block Crawlers"
|
| 1085 |
msgstr ""
|
| 1086 |
|
| 1087 |
+
#: partials/machine-translation-settings-page.php:120
|
| 1088 |
msgid "Block crawlers from triggering automatic translations on your website."
|
| 1089 |
msgstr ""
|
| 1090 |
|
| 1091 |
+
#: partials/machine-translation-settings-page.php:126
|
| 1092 |
msgid "Limit machine translation / characters per day"
|
| 1093 |
msgstr ""
|
| 1094 |
|
| 1095 |
+
#: partials/machine-translation-settings-page.php:132
|
| 1096 |
msgid "Add a limit to the number of automatically translated characters so you can better budget your project."
|
| 1097 |
msgstr ""
|
| 1098 |
|
| 1099 |
+
#: partials/machine-translation-settings-page.php:138
|
| 1100 |
msgid "Today's character count:"
|
| 1101 |
msgstr ""
|
| 1102 |
|
| 1103 |
+
#: partials/machine-translation-settings-page.php:146
|
| 1104 |
msgid "Log machine translation queries."
|
| 1105 |
msgstr ""
|
| 1106 |
|
| 1107 |
+
#: partials/machine-translation-settings-page.php:153
|
| 1108 |
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.)"
|
| 1109 |
msgstr ""
|
| 1110 |
|
partials/license-settings-page.php
CHANGED
|
@@ -45,5 +45,5 @@ if( !empty( $trp->active_pro_addons ) ){//if we have any Advanced or Pro addons
|
|
| 45 |
<?php } else{ ?>
|
| 46 |
<h1> <?php esc_html_e( 'TranslatePress Settings', 'translatepress-multilingual' );?></h1>
|
| 47 |
<?php do_action ( 'trp_settings_navigation_tabs' ); ?>
|
| 48 |
-
<h4><?php printf( __( 'If you purchased a
|
| 49 |
<?php } ?>
|
| 45 |
<?php } else{ ?>
|
| 46 |
<h1> <?php esc_html_e( 'TranslatePress Settings', 'translatepress-multilingual' );?></h1>
|
| 47 |
<?php do_action ( 'trp_settings_navigation_tabs' ); ?>
|
| 48 |
+
<h4><?php printf( __( 'If you purchased a <a href="%s">premium version</a>, first install and activate it. After this you will be prompted with an input to enter your license key.', 'translatepress-multilingual' ), 'https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=license-page&utm_campaign=TRP' ); //phpcs:ignore ?></h4>
|
| 49 |
<?php } ?>
|
partials/machine-translation-settings-page.php
CHANGED
|
@@ -37,26 +37,54 @@
|
|
| 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>
|
| 44 |
<p class="trp-upsell-multiple-languages" id="trp-upsell-deepl">
|
|
|
|
| 45 |
<?php
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
$lnk = sprintf(
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
esc_url( $url ),
|
| 51 |
_x( 'TranslatePress Pro Add-on', 'Verbiage for the DeepL Pro Add-on', 'translatepress-multilingual' )
|
| 52 |
);
|
| 53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
$lnk .= '<br/><br />' . __( 'Please note that DeepL API usage is paid separately. See <a href="https://www.deepl.com/pro.html#developer">DeepL pricing information</a>.', 'translatepress-multilingual' );
|
| 55 |
-
$
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
|
|
|
|
|
|
| 60 |
echo wp_kses_post( $lnk ); // Post kses for more generalized output that is more forgiving and has late escaping.
|
| 61 |
?>
|
| 62 |
</p>
|
|
@@ -64,6 +92,7 @@
|
|
| 64 |
</tr>
|
| 65 |
<?php endif; ?>
|
| 66 |
|
|
|
|
| 67 |
<?php do_action ( 'trp_machine_translation_extra_settings_middle', $this->settings['trp_machine_translation_settings'] ); ?>
|
| 68 |
|
| 69 |
<?php if( !empty( $machine_translator->get_api_key() ) ) : ?>
|
| 37 |
</td>
|
| 38 |
</tr>
|
| 39 |
|
| 40 |
+
|
| 41 |
<?php if( !class_exists( 'TRP_DeepL' ) && !class_exists( 'TRP_IN_DeepL' ) ) : ?>
|
| 42 |
<tr style="display:none;">
|
| 43 |
<th scope="row"></th>
|
| 44 |
<td>
|
| 45 |
<p class="trp-upsell-multiple-languages" id="trp-upsell-deepl">
|
| 46 |
+
|
| 47 |
<?php
|
| 48 |
+
//link and message in case the user has the free version of TranslatePress
|
| 49 |
+
if(( !class_exists('TRP_Handle_Included_Addons')) || (( defined('TRANSLATE_PRESS') && (TRANSLATE_PRESS !== 'TranslatePress - Developer' && TRANSLATE_PRESS !=='TranslatePress - Business' && TRANSLATE_PRESS !=='TranslatePress - Dev') )) ) :
|
| 50 |
+
$url = trp_add_affiliate_id_to_link('https://translatepress.com/pricing/?utm_source=wpbackend&utm_medium=clientsite&utm_content=deepl_upsell&utm_campaign=tpfree');
|
| 51 |
+
$message = __( '<strong>DeepL</strong> automatic translation is available as a <a href="%1$s" target="_blank" title="%2$s">%2$s</a>.', 'translatepress-multilingual' );
|
| 52 |
+
$message_upgrade = __( 'By upgrading you\'ll get access to all paid add-ons, premium support and help fund the future development of TranslatePress.', 'translatepress-multilingual' );
|
| 53 |
+
?>
|
| 54 |
+
<?php
|
| 55 |
+
//link and message in case the user has the pro version of TranslatePress
|
| 56 |
+
else:
|
| 57 |
+
$url = 'admin.php?page=trp_addons_page' ;
|
| 58 |
+
$message = __( 'To use <strong>DeepL</strong> for automatic translation, activate this Pro add-on from the <a href="%1$s" target="_self" title="%2$s">%2$s</a>.', 'translatepress-multilingual' );
|
| 59 |
+
$message_upgrade= "";
|
| 60 |
+
?>
|
| 61 |
+
<?php endif; ?>
|
| 62 |
+
<?php
|
| 63 |
+
if(empty($message_upgrade)) {
|
| 64 |
+
$lnk = sprintf(
|
| 65 |
+
// Translators: %1$s is the URL to the DeepL add-on. %2$s is the name of the Pro offerings.
|
| 66 |
+
$message, esc_url( $url ),
|
| 67 |
+
_x( 'Addons tab', 'Verbiage for the DeepL Pro Add-on', 'translatepress-multilingual' )
|
| 68 |
+
);
|
| 69 |
+
}else{
|
| 70 |
$lnk = sprintf(
|
| 71 |
+
// Translators: %1$s is the URL to the DeepL add-on. %2$s is the name of the Pro offerings.
|
| 72 |
+
$message, esc_url( $url ),
|
|
|
|
| 73 |
_x( 'TranslatePress Pro Add-on', 'Verbiage for the DeepL Pro Add-on', 'translatepress-multilingual' )
|
| 74 |
);
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
if(!empty($message_upgrade)) {
|
| 78 |
+
$lnk .= '<br/><br />' . $message_upgrade;
|
| 79 |
+
}
|
| 80 |
$lnk .= '<br/><br />' . __( 'Please note that DeepL API usage is paid separately. See <a href="https://www.deepl.com/pro.html#developer">DeepL pricing information</a>.', 'translatepress-multilingual' );
|
| 81 |
+
if(!empty($message_upgrade)) {
|
| 82 |
+
$lnk .= sprintf(
|
| 83 |
+
'<br /><br />' . '<a href="%1$s" class="button button-primary" target="_blank" title="%2$s">%2$s</a>',
|
| 84 |
+
esc_url( $url ),
|
| 85 |
+
__( 'TranslatePress Pro Add-ons', 'translatepress-multilingual' )
|
| 86 |
+
);
|
| 87 |
+
}
|
| 88 |
echo wp_kses_post( $lnk ); // Post kses for more generalized output that is more forgiving and has late escaping.
|
| 89 |
?>
|
| 90 |
</p>
|
| 92 |
</tr>
|
| 93 |
<?php endif; ?>
|
| 94 |
|
| 95 |
+
|
| 96 |
<?php do_action ( 'trp_machine_translation_extra_settings_middle', $this->settings['trp_machine_translation_settings'] ); ?>
|
| 97 |
|
| 98 |
<?php if( !empty( $machine_translator->get_api_key() ) ) : ?>
|
readme.txt
CHANGED
|
@@ -5,7 +5,7 @@ Tags: translate, translation, multilingual, automatic translation, bilingual, fr
|
|
| 5 |
Requires at least: 3.1.0
|
| 6 |
Tested up to: 5.8
|
| 7 |
Requires PHP: 5.6.20
|
| 8 |
-
Stable tag: 2.0.
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
|
@@ -140,6 +140,12 @@ For more information please check out our [documentation](https://translatepress
|
|
| 140 |
|
| 141 |
|
| 142 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
= 2.0.8 =
|
| 144 |
* Corrected plugin name
|
| 145 |
|
| 5 |
Requires at least: 3.1.0
|
| 6 |
Tested up to: 5.8
|
| 7 |
Requires PHP: 5.6.20
|
| 8 |
+
Stable tag: 2.0.9
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
| 140 |
|
| 141 |
|
| 142 |
== Changelog ==
|
| 143 |
+
= 2.0.9 =
|
| 144 |
+
* Security improvements
|
| 145 |
+
* Added option to translate content restricted by language in Elementor
|
| 146 |
+
* Added filter to disable independent region hreflang tags
|
| 147 |
+
* Improved notices in TP Settings
|
| 148 |
+
|
| 149 |
= 2.0.8 =
|
| 150 |
* Corrected plugin name
|
| 151 |
|
