Version Description
- Fix issue where the language switcher didn't work for BuddyPress pages
- Fixed issue with CDATA in post content that was breaking the translation
- Added a filter that can be activated and that tries to fix invalid html: trp_try_fixing_invalid_html
Download this release
Release Info
| Developer | madalin.ungureanu |
| Plugin | |
| Version | 1.1.3 |
| Comparing to | |
| See all releases | |
Code changes from version 1.1.2 to 1.1.3
- class-translate-press.php +3 -1
- includes/class-language-switcher.php +1 -1
- includes/class-translation-manager.php +4 -2
- includes/class-translation-render.php +22 -0
- includes/class-url-converter.php +2 -1
- index.php +1 -1
- readme.txt +12 -7
class-translate-press.php
CHANGED
|
@@ -39,7 +39,7 @@ class TRP_Translate_Press{
|
|
| 39 |
define( 'TRP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
| 40 |
define( 'TRP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
| 41 |
define( 'TRP_PLUGIN_SLUG', 'translatepress-multilingual' );
|
| 42 |
-
define( 'TRP_PLUGIN_VERSION', '1.1.
|
| 43 |
|
| 44 |
$this->load_dependencies();
|
| 45 |
$this->initialize_components();
|
|
@@ -132,6 +132,8 @@ class TRP_Translate_Press{
|
|
| 132 |
$this->loader->add_filter( 'wp_redirect', $this->translation_render, 'force_language_on_form_url_redirect', 99, 2 );
|
| 133 |
$this->loader->add_filter( 'trp_before_translate_content', $this->translation_render, 'force_preview_on_url_in_ajax', 10 );
|
| 134 |
$this->loader->add_filter( 'trp_before_translate_content', $this->translation_render, 'force_form_language_on_url_in_ajax', 20 );
|
|
|
|
|
|
|
| 135 |
|
| 136 |
|
| 137 |
$this->loader->add_action( 'wp_enqueue_scripts', $this->language_switcher, 'enqueue_language_switcher_scripts' );
|
| 39 |
define( 'TRP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
| 40 |
define( 'TRP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
| 41 |
define( 'TRP_PLUGIN_SLUG', 'translatepress-multilingual' );
|
| 42 |
+
define( 'TRP_PLUGIN_VERSION', '1.1.3' );
|
| 43 |
|
| 44 |
$this->load_dependencies();
|
| 45 |
$this->initialize_components();
|
| 132 |
$this->loader->add_filter( 'wp_redirect', $this->translation_render, 'force_language_on_form_url_redirect', 99, 2 );
|
| 133 |
$this->loader->add_filter( 'trp_before_translate_content', $this->translation_render, 'force_preview_on_url_in_ajax', 10 );
|
| 134 |
$this->loader->add_filter( 'trp_before_translate_content', $this->translation_render, 'force_form_language_on_url_in_ajax', 20 );
|
| 135 |
+
/* handle CDATA str replacement from the content as it is messing up the renderer */
|
| 136 |
+
$this->loader->add_filter( "trp_before_translate_content", $this->translation_render, 'handle_cdata', 1000 );
|
| 137 |
|
| 138 |
|
| 139 |
$this->loader->add_action( 'wp_enqueue_scripts', $this->language_switcher, 'enqueue_language_switcher_scripts' );
|
includes/class-language-switcher.php
CHANGED
|
@@ -201,7 +201,7 @@ class TRP_Language_Switcher{
|
|
| 201 |
<div id="trp-floater-ls-current-language" class="<?php echo $floater_flags_class ?>">
|
| 202 |
<a href="javascript:void(0)" class="trp-floater-ls-disabled-language" onclick="void(0)"><?php echo ( $floater_settings['flags'] ? $this->add_flag( $current_language['code'], $current_language['name'] ) : '' ); echo $current_language_label; ?></a>
|
| 203 |
</div>
|
| 204 |
-
<div id="trp-floater-ls-language-list" class="<?php echo $floater_flags_class;?>" <?php echo ( isset( $_GET['trp-edit-translation'] ) && $_GET['trp-edit-translation'] == 'preview' ) ? 'data-trp-unpreviewable="trp-unpreviewable"' : ''
|
| 205 |
<?php
|
| 206 |
foreach( $other_languages as $code => $name ) {
|
| 207 |
$language_label = '';
|
| 201 |
<div id="trp-floater-ls-current-language" class="<?php echo $floater_flags_class ?>">
|
| 202 |
<a href="javascript:void(0)" class="trp-floater-ls-disabled-language" onclick="void(0)"><?php echo ( $floater_settings['flags'] ? $this->add_flag( $current_language['code'], $current_language['name'] ) : '' ); echo $current_language_label; ?></a>
|
| 203 |
</div>
|
| 204 |
+
<div id="trp-floater-ls-language-list" class="<?php echo $floater_flags_class;?>" <?php echo ( isset( $_GET['trp-edit-translation'] ) && $_GET['trp-edit-translation'] == 'preview' ) ? 'data-trp-unpreviewable="trp-unpreviewable"' : ''?>>
|
| 205 |
<?php
|
| 206 |
foreach( $other_languages as $code => $name ) {
|
| 207 |
$language_label = '';
|
includes/class-translation-manager.php
CHANGED
|
@@ -860,8 +860,10 @@ class TRP_Translation_Manager{
|
|
| 860 |
}
|
| 861 |
return $classes;
|
| 862 |
}
|
| 863 |
-
|
| 864 |
-
|
|
|
|
|
|
|
| 865 |
public function trp_view_as_user(){
|
| 866 |
if( !is_admin() || $this::is_ajax_on_frontend() ) {
|
| 867 |
if (isset($_REQUEST['trp-edit-translation']) && $_REQUEST['trp-edit-translation'] === 'preview' && isset($_REQUEST['trp-view-as']) && isset($_REQUEST['trp-view-as-nonce'])) {
|
| 860 |
}
|
| 861 |
return $classes;
|
| 862 |
}
|
| 863 |
+
|
| 864 |
+
/**
|
| 865 |
+
* Function that switches the view of the user to other roles
|
| 866 |
+
*/
|
| 867 |
public function trp_view_as_user(){
|
| 868 |
if( !is_admin() || $this::is_ajax_on_frontend() ) {
|
| 869 |
if (isset($_REQUEST['trp-edit-translation']) && $_REQUEST['trp-edit-translation'] === 'preview' && isset($_REQUEST['trp-view-as']) && isset($_REQUEST['trp-view-as-nonce'])) {
|
includes/class-translation-render.php
CHANGED
|
@@ -260,6 +260,18 @@ class TRP_Translation_Render{
|
|
| 260 |
}
|
| 261 |
}
|
| 262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 263 |
$no_translate_attribute = 'data-no-translation';
|
| 264 |
|
| 265 |
$translateable_strings = array();
|
|
@@ -851,4 +863,14 @@ class TRP_Translation_Render{
|
|
| 851 |
$item = $this->url_converter->get_url_for_language( $form_language, $item );
|
| 852 |
}
|
| 853 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 854 |
}
|
| 260 |
}
|
| 261 |
}
|
| 262 |
|
| 263 |
+
/**
|
| 264 |
+
* tries to fix the html document. It is off by default. use at own risk
|
| 265 |
+
* */
|
| 266 |
+
if( apply_filters( 'trp_try_fixing_invalid_html', false ) ) {
|
| 267 |
+
if( class_exists('DOMDocument') ) {
|
| 268 |
+
$dom = new DOMDocument();
|
| 269 |
+
libxml_use_internal_errors(true);//so no warnings will show up for invalid html
|
| 270 |
+
$dom->loadHTML($output, LIBXML_NOWARNING);
|
| 271 |
+
$output = $dom->saveHTML();
|
| 272 |
+
}
|
| 273 |
+
}
|
| 274 |
+
|
| 275 |
$no_translate_attribute = 'data-no-translation';
|
| 276 |
|
| 277 |
$translateable_strings = array();
|
| 863 |
$item = $this->url_converter->get_url_for_language( $form_language, $item );
|
| 864 |
}
|
| 865 |
}
|
| 866 |
+
|
| 867 |
+
/**
|
| 868 |
+
* Function that reverses CDATA string replacement from the content because it breaks the renderer
|
| 869 |
+
* @param $content
|
| 870 |
+
* @return mixed
|
| 871 |
+
*/
|
| 872 |
+
public function handle_cdata( $output ){
|
| 873 |
+
$output = str_replace( ']]>', ']]>', $output );
|
| 874 |
+
return $output;
|
| 875 |
+
}
|
| 876 |
}
|
includes/class-url-converter.php
CHANGED
|
@@ -126,6 +126,7 @@ class TRP_Url_Converter {
|
|
| 126 |
$language = $TRP_LANGUAGE;
|
| 127 |
}
|
| 128 |
|
|
|
|
| 129 |
// if we have the homepage, we replace it with the filtered homepage that contains the language url.
|
| 130 |
if( trailingslashit( $this->cur_page_url() ) == trailingslashit($this->get_abs_home()) ){
|
| 131 |
$TRP_LANGUAGE = $language;
|
|
@@ -135,7 +136,7 @@ class TRP_Url_Converter {
|
|
| 135 |
}
|
| 136 |
|
| 137 |
|
| 138 |
-
if ( empty( $url ) && is_object( $post ) && is_singular() ) {
|
| 139 |
// if we have a $post we need to run the language switcher through get_permalink so we apply the correct slug that can be different.
|
| 140 |
$TRP_LANGUAGE = $language;
|
| 141 |
$new_url = get_permalink( $post->ID );
|
| 126 |
$language = $TRP_LANGUAGE;
|
| 127 |
}
|
| 128 |
|
| 129 |
+
|
| 130 |
// if we have the homepage, we replace it with the filtered homepage that contains the language url.
|
| 131 |
if( trailingslashit( $this->cur_page_url() ) == trailingslashit($this->get_abs_home()) ){
|
| 132 |
$TRP_LANGUAGE = $language;
|
| 136 |
}
|
| 137 |
|
| 138 |
|
| 139 |
+
if ( empty( $url ) && is_object( $post ) && ( $post->ID != '0' ) && is_singular() ) {
|
| 140 |
// if we have a $post we need to run the language switcher through get_permalink so we apply the correct slug that can be different.
|
| 141 |
$TRP_LANGUAGE = $language;
|
| 142 |
$new_url = get_permalink( $post->ID );
|
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, with full support for WooCommerce and site builders.
|
| 6 |
-
Version: 1.1.
|
| 7 |
Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
|
| 8 |
Author URI: https://cozmoslabs.com/
|
| 9 |
License: GPL2
|
| 3 |
Plugin Name: TranslatePress - Multilingual
|
| 4 |
Plugin URI: https://translatepress.com/
|
| 5 |
Description: Experience a better way of translating your WordPress site, with full support for WooCommerce and site builders.
|
| 6 |
+
Version: 1.1.3
|
| 7 |
Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
|
| 8 |
Author URI: https://cozmoslabs.com/
|
| 9 |
License: GPL2
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Donate link: https://www.cozmoslabs.com/
|
|
| 4 |
Tags: translate, translation, multilingual, automatic translation, front-end translation, google translate, bilingual
|
| 5 |
Requires at least: 3.1.0
|
| 6 |
Tested up to: 4.9.1
|
| 7 |
-
Stable tag: 1.1.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
|
@@ -107,13 +107,18 @@ For more information please check out [TranslatePress documentation](https://tra
|
|
| 107 |
|
| 108 |
== Changelog ==
|
| 109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
= 1.1.2 =
|
| 111 |
-
We now make sure that all forms when submitted redirect to the correct language
|
| 112 |
-
Fixed an issue with missing slash from language switcher
|
| 113 |
-
Fixed an issue where we were not redirecting to the correct url slug when switching languages
|
| 114 |
-
Fixed a possible notice inside the get_language_names function
|
| 115 |
-
Fixed html breaking because of unescaped quotes in translated meta content
|
| 116 |
-
Removed a special character from the full_trim function that was causing some strings to not be selectable for translation
|
| 117 |
|
| 118 |
= 1.1.1 =
|
| 119 |
* Fixed js error with startsWith method not being supported in IE
|
| 4 |
Tags: translate, translation, multilingual, automatic translation, front-end translation, google translate, bilingual
|
| 5 |
Requires at least: 3.1.0
|
| 6 |
Tested up to: 4.9.1
|
| 7 |
+
Stable tag: 1.1.3
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
| 107 |
|
| 108 |
== Changelog ==
|
| 109 |
|
| 110 |
+
= 1.1.3 =
|
| 111 |
+
* Fix issue where the language switcher didn't work for BuddyPress pages
|
| 112 |
+
* Fixed issue with CDATA in post content that was breaking the translation
|
| 113 |
+
* Added a filter that can be activated and that tries to fix invalid html: trp_try_fixing_invalid_html
|
| 114 |
+
|
| 115 |
= 1.1.2 =
|
| 116 |
+
* We now make sure that all forms when submitted redirect to the correct language
|
| 117 |
+
* Fixed an issue with missing slash from language switcher
|
| 118 |
+
* Fixed an issue where we were not redirecting to the correct url slug when switching languages
|
| 119 |
+
* Fixed a possible notice inside the get_language_names function
|
| 120 |
+
* Fixed html breaking because of unescaped quotes in translated meta content
|
| 121 |
+
* Removed a special character from the full_trim function that was causing some strings to not be selectable for translation
|
| 122 |
|
| 123 |
= 1.1.1 =
|
| 124 |
* Fixed js error with startsWith method not being supported in IE
|
