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 | TranslatePress – Translate Multilingual sites |
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
|