Version Description
- Forcing a slash at the end of home url is now an optional Advanced setting
- Better handling of WPEngine long query limiting
- Fixed some cases of adding language slugs to file paths
- Fixed unprefixed DOM library constant
- Fixed a notice coming from the Do not translate paths option
Download this release
Release Info
| Developer | madalin.ungureanu |
| Plugin | |
| Version | 1.9.9 |
| Comparing to | |
| See all releases | |
Code changes from version 1.9.8 to 1.9.9
- assets/lib/simplehtmldom/simple_html_dom.php +2 -2
- class-translate-press.php +1 -1
- includes/advanced-settings/do-not-translate-certain-paths.php +1 -1
- includes/advanced-settings/enable-auto-translate-slug.php +1 -1
- includes/advanced-settings/force-slash-at-end-of-links.php +13 -0
- includes/class-advanced-tab.php +1 -0
- includes/class-translation-render.php +4 -0
- includes/class-upgrade.php +19 -0
- includes/class-url-converter.php +39 -16
- includes/compatibility-functions.php +20 -0
- includes/functions.php +32 -1
- index.php +2 -2
- languages/translatepress-multilingual.catalog.php +3 -0
- languages/translatepress-multilingual.pot +42 -30
- readme.txt +12 -4
assets/lib/simplehtmldom/simple_html_dom.php
CHANGED
|
@@ -60,7 +60,7 @@ defined('TRP_DEFAULT_TARGET_CHARSET') || define('TRP_DEFAULT_TARGET_CHARSET', 'U
|
|
| 60 |
defined('TRP_DEFAULT_BR_TEXT') || define('TRP_DEFAULT_BR_TEXT', "\r\n");
|
| 61 |
defined('TRP_DEFAULT_SPAN_TEXT') || define('TRP_DEFAULT_SPAN_TEXT', ' ');
|
| 62 |
defined('TRP_MAX_FILE_SIZE') || define('TRP_MAX_FILE_SIZE', 100000000);
|
| 63 |
-
define('
|
| 64 |
|
| 65 |
function file_get_html(
|
| 66 |
$url,
|
|
@@ -1552,7 +1552,7 @@ class simple_html_dom
|
|
| 1552 |
// strip out server side scripts
|
| 1553 |
$this->remove_noise("'(<\?)(.*?)(\?>)'s", true);
|
| 1554 |
|
| 1555 |
-
if($options &
|
| 1556 |
$this->remove_noise("'(\{\w)(.*?)(\})'s", true);
|
| 1557 |
}
|
| 1558 |
|
| 60 |
defined('TRP_DEFAULT_BR_TEXT') || define('TRP_DEFAULT_BR_TEXT', "\r\n");
|
| 61 |
defined('TRP_DEFAULT_SPAN_TEXT') || define('TRP_DEFAULT_SPAN_TEXT', ' ');
|
| 62 |
defined('TRP_MAX_FILE_SIZE') || define('TRP_MAX_FILE_SIZE', 100000000);
|
| 63 |
+
define('TRP_HDOM_SMARTY_AS_TEXT', 1);
|
| 64 |
|
| 65 |
function file_get_html(
|
| 66 |
$url,
|
| 1552 |
// strip out server side scripts
|
| 1553 |
$this->remove_noise("'(<\?)(.*?)(\?>)'s", true);
|
| 1554 |
|
| 1555 |
+
if($options & TRP_HDOM_SMARTY_AS_TEXT) { // Strip Smarty scripts
|
| 1556 |
$this->remove_noise("'(\{\w)(.*?)(\})'s", true);
|
| 1557 |
}
|
| 1558 |
|
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', '1.9.
|
| 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', '1.9.9' );
|
| 62 |
|
| 63 |
wp_cache_add_non_persistent_groups(array('trp'));
|
| 64 |
|
includes/advanced-settings/do-not-translate-certain-paths.php
CHANGED
|
@@ -36,7 +36,7 @@ function trp_output_do_not_translate_certain_paths( $setting ){
|
|
| 36 |
</label>
|
| 37 |
</div>
|
| 38 |
|
| 39 |
-
<textarea class="trp-adv-big-textarea" name="trp_advanced_settings[<?php echo $setting['name']; ?>][paths]"><?php echo $trp_settings['trp_advanced_settings'][$setting['name']]['paths']; ?></textarea>
|
| 40 |
|
| 41 |
<p class="description"><?php echo $setting['description']; ?></p>
|
| 42 |
</td>
|
| 36 |
</label>
|
| 37 |
</div>
|
| 38 |
|
| 39 |
+
<textarea class="trp-adv-big-textarea" name="trp_advanced_settings[<?php echo $setting['name']; ?>][paths]"><?php echo isset( $trp_settings['trp_advanced_settings'][$setting['name']]['paths'] ) ? $trp_settings['trp_advanced_settings'][$setting['name']]['paths'] : ''; ?></textarea>
|
| 40 |
|
| 41 |
<p class="description"><?php echo $setting['description']; ?></p>
|
| 42 |
</td>
|
includes/advanced-settings/enable-auto-translate-slug.php
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
<?php
|
| 2 |
|
| 3 |
-
add_filter( 'trp_register_advanced_settings', 'trp_register_enable_auto_translate_slug',
|
| 4 |
function trp_register_enable_auto_translate_slug( $settings_array ){
|
| 5 |
$settings_array[] = array(
|
| 6 |
'name' => 'enable_auto_translate_slug',
|
| 1 |
<?php
|
| 2 |
|
| 3 |
+
add_filter( 'trp_register_advanced_settings', 'trp_register_enable_auto_translate_slug', 1070 );
|
| 4 |
function trp_register_enable_auto_translate_slug( $settings_array ){
|
| 5 |
$settings_array[] = array(
|
| 6 |
'name' => 'enable_auto_translate_slug',
|
includes/advanced-settings/force-slash-at-end-of-links.php
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
add_filter('trp_register_advanced_settings', 'trp_register_force_slash_in_home_url', 1071);
|
| 4 |
+
function trp_register_force_slash_in_home_url($settings_array)
|
| 5 |
+
{
|
| 6 |
+
$settings_array[] = array(
|
| 7 |
+
'name' => 'force_slash_at_end_of_links',
|
| 8 |
+
'type' => 'checkbox',
|
| 9 |
+
'label' => esc_html__('Force slash at end of home url:', 'translatepress-multilingual'),
|
| 10 |
+
'description' => wp_kses(__('Ads a slash at the end of the home_url() function', 'translatepress-multilingual'), array('br' => array())),
|
| 11 |
+
);
|
| 12 |
+
return $settings_array;
|
| 13 |
+
}
|
includes/class-advanced-tab.php
CHANGED
|
@@ -203,6 +203,7 @@ class TRP_Advanced_Tab {
|
|
| 203 |
public function include_custom_codes(){
|
| 204 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/disable-dynamic-translation.php');
|
| 205 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/enable-auto-translate-slug.php');
|
|
|
|
| 206 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/enable-numerals-translation.php');
|
| 207 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/custom-date-format.php');
|
| 208 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/custom-language.php');
|
| 203 |
public function include_custom_codes(){
|
| 204 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/disable-dynamic-translation.php');
|
| 205 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/enable-auto-translate-slug.php');
|
| 206 |
+
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/force-slash-at-end-of-links.php');
|
| 207 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/enable-numerals-translation.php');
|
| 208 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/custom-date-format.php');
|
| 209 |
include_once(TRP_PLUGIN_DIR . 'includes/advanced-settings/custom-language.php');
|
includes/class-translation-render.php
CHANGED
|
@@ -667,6 +667,9 @@ class TRP_Translation_Render{
|
|
| 667 |
//add data-trp-post-id attribute if needed
|
| 668 |
$nodes = $this->maybe_add_post_id_in_node( $nodes, $row, $string_count );
|
| 669 |
}
|
|
|
|
|
|
|
|
|
|
| 670 |
}
|
| 671 |
//set up general links variables
|
| 672 |
$home_url = home_url();
|
|
@@ -853,6 +856,7 @@ class TRP_Translation_Render{
|
|
| 853 |
( $TRP_LANGUAGE != $this->settings['default-language'] || $this->settings['add-subdirectory-to-default-language'] == 'yes' ) &&
|
| 854 |
$this->settings['force-language-to-custom-links'] == 'yes' &&
|
| 855 |
!$is_external_link &&
|
|
|
|
| 856 |
( $this->url_converter->get_lang_from_url_string( $url ) == null || ( isset ($this->settings['add-subdirectory-to-default-language']) && $this->settings['add-subdirectory-to-default-language'] === 'yes' && $this->url_converter->get_lang_from_url_string( $url ) === $this->settings['default-language'] ) ) &&
|
| 857 |
!$is_admin_link &&
|
| 858 |
strpos($url, '#TRPLINKPROCESSED') === false &&
|
| 667 |
//add data-trp-post-id attribute if needed
|
| 668 |
$nodes = $this->maybe_add_post_id_in_node( $nodes, $row, $string_count );
|
| 669 |
}
|
| 670 |
+
|
| 671 |
+
$row = apply_filters( 'trp_process_other_text_nodes', $row );
|
| 672 |
+
|
| 673 |
}
|
| 674 |
//set up general links variables
|
| 675 |
$home_url = home_url();
|
| 856 |
( $TRP_LANGUAGE != $this->settings['default-language'] || $this->settings['add-subdirectory-to-default-language'] == 'yes' ) &&
|
| 857 |
$this->settings['force-language-to-custom-links'] == 'yes' &&
|
| 858 |
!$is_external_link &&
|
| 859 |
+
!$this->url_converter->url_is_file( $url ) &&
|
| 860 |
( $this->url_converter->get_lang_from_url_string( $url ) == null || ( isset ($this->settings['add-subdirectory-to-default-language']) && $this->settings['add-subdirectory-to-default-language'] === 'yes' && $this->url_converter->get_lang_from_url_string( $url ) === $this->settings['default-language'] ) ) &&
|
| 861 |
!$is_admin_link &&
|
| 862 |
strpos($url, '#TRPLINKPROCESSED') === false &&
|
includes/class-upgrade.php
CHANGED
|
@@ -69,6 +69,9 @@ class TRP_Upgrade {
|
|
| 69 |
$this->trp_query->check_original_table();
|
| 70 |
$this->trp_query->check_original_meta_table();
|
| 71 |
}
|
|
|
|
|
|
|
|
|
|
| 72 |
}
|
| 73 |
|
| 74 |
// don't update the db version unless they are different. Otherwise the query is run on every page load.
|
|
@@ -652,6 +655,22 @@ class TRP_Upgrade {
|
|
| 652 |
}
|
| 653 |
}
|
| 654 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 655 |
|
| 656 |
public function trp_remove_duplicate_original_strings(){
|
| 657 |
if ( ! $this->trp_query ) {
|
| 69 |
$this->trp_query->check_original_table();
|
| 70 |
$this->trp_query->check_original_meta_table();
|
| 71 |
}
|
| 72 |
+
if ( version_compare($stored_database_version, '1.9.8', '<=')) {
|
| 73 |
+
$this->set_force_slash_at_end_of_links();
|
| 74 |
+
}
|
| 75 |
}
|
| 76 |
|
| 77 |
// don't update the db version unless they are different. Otherwise the query is run on every page load.
|
| 655 |
}
|
| 656 |
}
|
| 657 |
|
| 658 |
+
/**
|
| 659 |
+
*
|
| 660 |
+
*/
|
| 661 |
+
private function set_force_slash_at_end_of_links(){
|
| 662 |
+
$trp = TRP_Translate_Press::get_trp_instance();
|
| 663 |
+
$trp_settings = $trp->get_component('settings' );
|
| 664 |
+
$settings = $trp_settings->get_settings();
|
| 665 |
+
|
| 666 |
+
if( !empty( $settings['trp_advanced_settings'] ) && !isset( $settings['trp_advanced_settings']['force_slash_at_end_of_links'] ) ){
|
| 667 |
+
$advanced_settings = $settings['trp_advanced_settings'];
|
| 668 |
+
$advanced_settings['force_slash_at_end_of_links'] = 'yes';
|
| 669 |
+
update_option('trp_advanced_settings', $advanced_settings );
|
| 670 |
+
}
|
| 671 |
+
|
| 672 |
+
}
|
| 673 |
+
|
| 674 |
|
| 675 |
public function trp_remove_duplicate_original_strings(){
|
| 676 |
if ( ! $this->trp_query ) {
|
includes/class-url-converter.php
CHANGED
|
@@ -32,18 +32,35 @@ class TRP_Url_Converter {
|
|
| 32 |
*/
|
| 33 |
public function add_language_to_home_url( $url, $path, $orig_scheme, $blog_id ){
|
| 34 |
global $TRP_LANGUAGE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
if ( isset( $this->settings['add-subdirectory-to-default-language'] ) && $this->settings['add-subdirectory-to-default-language'] == 'no' && $TRP_LANGUAGE == $this->settings['default-language'] ) {
|
| 36 |
return $url;
|
| 37 |
}
|
| 38 |
|
| 39 |
-
if( is_customize_preview() || $this->is_admin_request() || $this->is_sitemap_path( $path ) )
|
| 40 |
return $url;
|
| 41 |
|
| 42 |
$url_slug = $this->get_url_slug( $TRP_LANGUAGE );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
$abs_home = $this->get_abs_home();
|
| 44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
if ( ! empty( $path ) ){
|
| 46 |
-
$new_url
|
| 47 |
}
|
| 48 |
|
| 49 |
return apply_filters( 'trp_home_url', $new_url, $abs_home, $TRP_LANGUAGE, $path, $url );
|
|
@@ -209,7 +226,7 @@ class TRP_Url_Converter {
|
|
| 209 |
|
| 210 |
$hash = hash( 'md4', (string)$language . (string)$url . (string)$trp_link_is_processed . (string)$TRP_LANGUAGE );
|
| 211 |
// set $new_url to false when debugging and developing new features
|
| 212 |
-
$new_url =
|
| 213 |
if ( $new_url !== false ){
|
| 214 |
return $new_url;
|
| 215 |
}
|
|
@@ -219,13 +236,13 @@ class TRP_Url_Converter {
|
|
| 219 |
$language = $TRP_LANGUAGE;
|
| 220 |
}
|
| 221 |
|
| 222 |
-
$url_obj =
|
| 223 |
if( $url_obj === false ){
|
| 224 |
$url_obj = new \TranslatePress\Uri($url);
|
| 225 |
wp_cache_set('url_obj_' . hash('md4', $url), $url_obj, 'trp' );
|
| 226 |
}
|
| 227 |
|
| 228 |
-
$abs_home_url_obj =
|
| 229 |
if( $abs_home_url_obj === false ){
|
| 230 |
$abs_home_url_obj = new \TranslatePress\Uri( $this->get_abs_home() );
|
| 231 |
wp_cache_set('url_obj_' . hash('md4', $this->get_abs_home()), $abs_home_url_obj, 'trp' );
|
|
@@ -280,7 +297,7 @@ class TRP_Url_Converter {
|
|
| 280 |
}
|
| 281 |
|
| 282 |
// maybe find the post_id for the current URL
|
| 283 |
-
$possible_post_id =
|
| 284 |
if ( $possible_post_id ){
|
| 285 |
$post_id = $possible_post_id;
|
| 286 |
trp_bulk_debug($debug, array('url' => $url, 'found post id' => $post_id, 'for language' => $TRP_LANGUAGE));
|
|
@@ -456,12 +473,18 @@ class TRP_Url_Converter {
|
|
| 456 |
$translation_render = $trp->get_component("translation_render");
|
| 457 |
|
| 458 |
if ( empty( $url ) || $translation_render->is_external_link($url) ){
|
| 459 |
-
return false;
|
| 460 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 461 |
|
| 462 |
-
|
|
|
|
|
|
|
| 463 |
|
| 464 |
-
return
|
| 465 |
}
|
| 466 |
|
| 467 |
|
|
@@ -508,7 +531,7 @@ class TRP_Url_Converter {
|
|
| 508 |
* @return string
|
| 509 |
*/
|
| 510 |
public function get_abs_home() {
|
| 511 |
-
$this->absolute_home =
|
| 512 |
if ( $this->absolute_home !== false ){
|
| 513 |
return $this->absolute_home;
|
| 514 |
}
|
|
@@ -563,18 +586,18 @@ class TRP_Url_Converter {
|
|
| 563 |
$url = $this->cur_page_url();
|
| 564 |
}
|
| 565 |
|
| 566 |
-
$language =
|
| 567 |
if ( $language !== false ){
|
| 568 |
return $language;
|
| 569 |
}
|
| 570 |
|
| 571 |
-
$url_obj =
|
| 572 |
if( $url_obj === false ){
|
| 573 |
$url_obj = new \TranslatePress\Uri($url);
|
| 574 |
wp_cache_set('url_obj_' . hash('md4', $url), $url_obj, 'trp' );
|
| 575 |
}
|
| 576 |
|
| 577 |
-
$abs_home_url_obj =
|
| 578 |
if( $abs_home_url_obj === false ){
|
| 579 |
$abs_home_url_obj = new \TranslatePress\Uri( $this->get_abs_home() );
|
| 580 |
wp_cache_set('url_obj_' . hash('md4', $this->get_abs_home()), $abs_home_url_obj, 'trp' );
|
|
@@ -617,7 +640,7 @@ class TRP_Url_Converter {
|
|
| 617 |
*/
|
| 618 |
public function cur_page_url() {
|
| 619 |
|
| 620 |
-
$req_uri =
|
| 621 |
if ( $req_uri ){
|
| 622 |
return $req_uri;
|
| 623 |
}
|
| 32 |
*/
|
| 33 |
public function add_language_to_home_url( $url, $path, $orig_scheme, $blog_id ){
|
| 34 |
global $TRP_LANGUAGE;
|
| 35 |
+
|
| 36 |
+
//if this is not set then don't do anything as this is an exception/error and $TRP_LANGUAGE should always be set
|
| 37 |
+
if( empty( $TRP_LANGUAGE ) )
|
| 38 |
+
return $url;
|
| 39 |
+
|
| 40 |
if ( isset( $this->settings['add-subdirectory-to-default-language'] ) && $this->settings['add-subdirectory-to-default-language'] == 'no' && $TRP_LANGUAGE == $this->settings['default-language'] ) {
|
| 41 |
return $url;
|
| 42 |
}
|
| 43 |
|
| 44 |
+
if( is_customize_preview() || $this->is_admin_request() || $this->is_sitemap_path( $path ) || $this->url_is_file( $path ) )
|
| 45 |
return $url;
|
| 46 |
|
| 47 |
$url_slug = $this->get_url_slug( $TRP_LANGUAGE );
|
| 48 |
+
|
| 49 |
+
//if this is not set then don't do anything as this is an exception/error if we don't have an $url_slug we don't need to do anything
|
| 50 |
+
if( empty( $url_slug ) )
|
| 51 |
+
return $url;
|
| 52 |
+
|
| 53 |
$abs_home = $this->get_abs_home();
|
| 54 |
+
|
| 55 |
+
if ( trp_force_slash_at_end_of_link( $this->settings ) ) {
|
| 56 |
+
$new_url = trailingslashit( trailingslashit($abs_home) . $url_slug );
|
| 57 |
+
}
|
| 58 |
+
else {
|
| 59 |
+
$new_url = trailingslashit($abs_home) . $url_slug;
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
if ( ! empty( $path ) ){
|
| 63 |
+
$new_url = trailingslashit($new_url) . ltrim( $path, '/' );
|
| 64 |
}
|
| 65 |
|
| 66 |
return apply_filters( 'trp_home_url', $new_url, $abs_home, $TRP_LANGUAGE, $path, $url );
|
| 226 |
|
| 227 |
$hash = hash( 'md4', (string)$language . (string)$url . (string)$trp_link_is_processed . (string)$TRP_LANGUAGE );
|
| 228 |
// set $new_url to false when debugging and developing new features
|
| 229 |
+
$new_url = trp_cache_get('get_url_for_language_' . $hash, 'trp');
|
| 230 |
if ( $new_url !== false ){
|
| 231 |
return $new_url;
|
| 232 |
}
|
| 236 |
$language = $TRP_LANGUAGE;
|
| 237 |
}
|
| 238 |
|
| 239 |
+
$url_obj = trp_cache_get('url_obj_' . hash('md4', $url), 'trp');
|
| 240 |
if( $url_obj === false ){
|
| 241 |
$url_obj = new \TranslatePress\Uri($url);
|
| 242 |
wp_cache_set('url_obj_' . hash('md4', $url), $url_obj, 'trp' );
|
| 243 |
}
|
| 244 |
|
| 245 |
+
$abs_home_url_obj = trp_cache_get('url_obj_' . hash('md4', $this->get_abs_home() ), 'trp');
|
| 246 |
if( $abs_home_url_obj === false ){
|
| 247 |
$abs_home_url_obj = new \TranslatePress\Uri( $this->get_abs_home() );
|
| 248 |
wp_cache_set('url_obj_' . hash('md4', $this->get_abs_home()), $abs_home_url_obj, 'trp' );
|
| 297 |
}
|
| 298 |
|
| 299 |
// maybe find the post_id for the current URL
|
| 300 |
+
$possible_post_id = trp_cache_get( 'possible_post_id_'. hash('md4', $url ), 'trp' );
|
| 301 |
if ( $possible_post_id ){
|
| 302 |
$post_id = $possible_post_id;
|
| 303 |
trp_bulk_debug($debug, array('url' => $url, 'found post id' => $post_id, 'for language' => $TRP_LANGUAGE));
|
| 473 |
$translation_render = $trp->get_component("translation_render");
|
| 474 |
|
| 475 |
if ( empty( $url ) || $translation_render->is_external_link($url) ){
|
| 476 |
+
$return = false;
|
| 477 |
+
}else {
|
| 478 |
+
if ( strpos( $url, 'wp-content/uploads' ) !== false ) {
|
| 479 |
+
$return = true;
|
| 480 |
+
}else {
|
| 481 |
+
$path = trailingslashit( ABSPATH ) . str_replace( untrailingslashit( $this->get_abs_home() ), '', $url );
|
| 482 |
|
| 483 |
+
$return = is_file( $path );
|
| 484 |
+
}
|
| 485 |
+
}
|
| 486 |
|
| 487 |
+
return apply_filters( 'trp_url_is_file', $return, $url, $this->get_abs_home() );
|
| 488 |
}
|
| 489 |
|
| 490 |
|
| 531 |
* @return string
|
| 532 |
*/
|
| 533 |
public function get_abs_home() {
|
| 534 |
+
$this->absolute_home = trp_cache_get('get_abs_home', 'trp');
|
| 535 |
if ( $this->absolute_home !== false ){
|
| 536 |
return $this->absolute_home;
|
| 537 |
}
|
| 586 |
$url = $this->cur_page_url();
|
| 587 |
}
|
| 588 |
|
| 589 |
+
$language = trp_cache_get('url_language_' . hash('md4', $url) , 'trp' );
|
| 590 |
if ( $language !== false ){
|
| 591 |
return $language;
|
| 592 |
}
|
| 593 |
|
| 594 |
+
$url_obj = trp_cache_get('url_obj_' . hash('md4', $url), 'trp');
|
| 595 |
if( $url_obj === false ){
|
| 596 |
$url_obj = new \TranslatePress\Uri($url);
|
| 597 |
wp_cache_set('url_obj_' . hash('md4', $url), $url_obj, 'trp' );
|
| 598 |
}
|
| 599 |
|
| 600 |
+
$abs_home_url_obj = trp_cache_get('url_obj_' . hash('md4', $this->get_abs_home() ), 'trp');
|
| 601 |
if( $abs_home_url_obj === false ){
|
| 602 |
$abs_home_url_obj = new \TranslatePress\Uri( $this->get_abs_home() );
|
| 603 |
wp_cache_set('url_obj_' . hash('md4', $this->get_abs_home()), $abs_home_url_obj, 'trp' );
|
| 640 |
*/
|
| 641 |
public function cur_page_url() {
|
| 642 |
|
| 643 |
+
$req_uri = trp_cache_get('cur_page_url', 'trp');
|
| 644 |
if ( $req_uri ){
|
| 645 |
return $req_uri;
|
| 646 |
}
|
includes/compatibility-functions.php
CHANGED
|
@@ -1476,3 +1476,23 @@ function trp_googlesitekit_compatibility_home_url( $url ) {
|
|
| 1476 |
$url_converter = $trp->get_component('url_converter');
|
| 1477 |
return $url_converter->get_abs_home();
|
| 1478 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1476 |
$url_converter = $trp->get_component('url_converter');
|
| 1477 |
return $url_converter->get_abs_home();
|
| 1478 |
}
|
| 1479 |
+
|
| 1480 |
+
|
| 1481 |
+
/**
|
| 1482 |
+
* Compatibility with WPEngine hosting
|
| 1483 |
+
*
|
| 1484 |
+
* Detect and handle query length limiting feature of WPEngine. Without this check, the query returns no results as if
|
| 1485 |
+
* there were no translations found. This results in duplicate row inserting and unnecessary automatic translation
|
| 1486 |
+
* usage.
|
| 1487 |
+
*/
|
| 1488 |
+
add_filter('trp_get_existing_translations', 'trp_wpengine_query_limit_check', 10, 3 );
|
| 1489 |
+
function trp_wpengine_query_limit_check($dictionary, $prepared_query, $strings_array){
|
| 1490 |
+
if ( function_exists('is_wpe') && ( !defined ('WPE_GOVERNOR') || ( defined ('WPE_GOVERNOR') && WPE_GOVERNOR != false ) ) && strlen($prepared_query) >= 16000 ){
|
| 1491 |
+
$trp = TRP_Translate_Press::get_trp_instance();
|
| 1492 |
+
$trp_query = $trp->get_component( 'query' );
|
| 1493 |
+
$trp_query->maybe_record_automatic_translation_error(array( 'details' => esc_html__("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')), true );
|
| 1494 |
+
return false;
|
| 1495 |
+
}else{
|
| 1496 |
+
return $dictionary;
|
| 1497 |
+
}
|
| 1498 |
+
}
|
includes/functions.php
CHANGED
|
@@ -69,7 +69,7 @@ function trp_x( $text, $context, $domain, $language ){
|
|
| 69 |
|
| 70 |
if( !empty( $path ) ) {
|
| 71 |
|
| 72 |
-
$mo_file =
|
| 73 |
|
| 74 |
if( false === $mo_file ){
|
| 75 |
$mo_file = new MO();
|
|
@@ -563,3 +563,34 @@ function trp_get_languages($nodefault=null)
|
|
| 563 |
}
|
| 564 |
return ($published_lang_labels);
|
| 565 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
|
| 70 |
if( !empty( $path ) ) {
|
| 71 |
|
| 72 |
+
$mo_file = trp_cache_get( 'trp_x_' . $domain .'_'. $language );
|
| 73 |
|
| 74 |
if( false === $mo_file ){
|
| 75 |
$mo_file = new MO();
|
| 563 |
}
|
| 564 |
return ($published_lang_labels);
|
| 565 |
}
|
| 566 |
+
|
| 567 |
+
/**
|
| 568 |
+
* Wrapper function for wp_cahce_get() that bypases cache if WP_DEBUG is on
|
| 569 |
+
* @param int|string $key The key under which the cache contents are stored.
|
| 570 |
+
* @param string $group Optional. Where the cache contents are grouped. Default empty.
|
| 571 |
+
* @param bool $force Optional. Whether to force an update of the local cache
|
| 572 |
+
* from the persistent cache. Default false.
|
| 573 |
+
* @param bool $found Optional. Whether the key was found in the cache (passed by reference).
|
| 574 |
+
* Disambiguates a return of false, a storable value. Default null.
|
| 575 |
+
* @return mixed|false The cache contents on success, false on failure to retrieve contents or false when WP_DEBUG is on
|
| 576 |
+
*
|
| 577 |
+
*/
|
| 578 |
+
function trp_cache_get( $key, $group = '', $force = false, &$found = null ){
|
| 579 |
+
if( defined( 'WP_DEBUG' ) && WP_DEBUG == true )
|
| 580 |
+
return false;
|
| 581 |
+
|
| 582 |
+
$cache = wp_cache_get( $key, $group, $force, $found );
|
| 583 |
+
return $cache;
|
| 584 |
+
}
|
| 585 |
+
|
| 586 |
+
/**
|
| 587 |
+
* Determine if the setting in Advanced Options should make us add a slash at end of string
|
| 588 |
+
* @param $settings the TranslatePress settings object
|
| 589 |
+
* @return bool
|
| 590 |
+
*/
|
| 591 |
+
function trp_force_slash_at_end_of_link( $settings ){
|
| 592 |
+
if ( !empty( $settings['trp_advanced_settings'] ) && isset( $settings['trp_advanced_settings']['force_slash_at_end_of_links'] ) && $settings['trp_advanced_settings']['force_slash_at_end_of_links'] === 'yes' )
|
| 593 |
+
return true;
|
| 594 |
+
else
|
| 595 |
+
return false;
|
| 596 |
+
}
|
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: 1.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.
|
| 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: 1.9.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.2.2
|
| 14 |
|
| 15 |
== Copyright ==
|
| 16 |
Copyright 2017 Cozmoslabs (www.cozmoslabs.com)
|
languages/translatepress-multilingual.catalog.php
CHANGED
|
@@ -211,6 +211,7 @@
|
|
| 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 __("Advanced Addons", "translatepress-multilingual"); ?>
|
| 215 |
<?php __("These addons extend your translation plugin and are available in the Developer, Business and Personal plans.", "translatepress-multilingual"); ?>
|
| 216 |
<?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"); ?>
|
|
@@ -364,6 +365,8 @@
|
|
| 364 |
<?php __("General attempt to fix broken or missing HTML on translated pages.<br/><strong>Only try this if the \"Fix spaces between html attribute\" did not solve the issue.</strong>", "translatepress-multilingual"); ?>
|
| 365 |
<?php __("Fix spaces between HTML attributes", "translatepress-multilingual"); ?>
|
| 366 |
<?php __("Fixes attributes without spaces between them because they are not valid HTML.<br> May help fix missing or broken content from the HTML on translated pages.", "translatepress-multilingual"); ?>
|
|
|
|
|
|
|
| 367 |
<?php __("Remove duplicate rows", "translatepress-multilingual"); ?>
|
| 368 |
<?php __("Click <a href=\"%s\">here</a> to remove duplicate rows from the database.", "translatepress-multilingual"); ?>
|
| 369 |
<?php __("Troubleshooting", "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"); ?>
|
| 365 |
<?php __("General attempt to fix broken or missing HTML on translated pages.<br/><strong>Only try this if the \"Fix spaces between html attribute\" did not solve the issue.</strong>", "translatepress-multilingual"); ?>
|
| 366 |
<?php __("Fix spaces between HTML attributes", "translatepress-multilingual"); ?>
|
| 367 |
<?php __("Fixes attributes without spaces between them because they are not valid HTML.<br> May help fix missing or broken content from the HTML on translated pages.", "translatepress-multilingual"); ?>
|
| 368 |
+
<?php __("Force slash at end of home url:", "translatepress-multilingual"); ?>
|
| 369 |
+
<?php __("Ads a slash at the end of the home_url() function", "translatepress-multilingual"); ?>
|
| 370 |
<?php __("Remove duplicate rows", "translatepress-multilingual"); ?>
|
| 371 |
<?php __("Click <a href=\"%s\">here</a> to remove duplicate rows from the database.", "translatepress-multilingual"); ?>
|
| 372 |
<?php __("Troubleshooting", "translatepress-multilingual"); ?>
|
languages/translatepress-multilingual.pot
CHANGED
|
@@ -97,7 +97,7 @@ msgstr ""
|
|
| 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:
|
| 101 |
msgid "Remove"
|
| 102 |
msgstr ""
|
| 103 |
|
|
@@ -105,7 +105,7 @@ msgstr ""
|
|
| 105 |
msgid "Choose..."
|
| 106 |
msgstr ""
|
| 107 |
|
| 108 |
-
#: ../tp-add-on-extra-languages/partials/language-selector-pro.php:58, includes/class-advanced-tab.php:
|
| 109 |
msgid "Add"
|
| 110 |
msgstr ""
|
| 111 |
|
|
@@ -133,15 +133,15 @@ msgstr ""
|
|
| 133 |
msgid "Advanced"
|
| 134 |
msgstr ""
|
| 135 |
|
| 136 |
-
#: includes/class-advanced-tab.php:
|
| 137 |
msgid "Yes"
|
| 138 |
msgstr ""
|
| 139 |
|
| 140 |
-
#: includes/class-advanced-tab.php:
|
| 141 |
msgid "Are you sure you want to remove this item?"
|
| 142 |
msgstr ""
|
| 143 |
|
| 144 |
-
#: includes/class-advanced-tab.php:
|
| 145 |
msgid "Select..."
|
| 146 |
msgstr ""
|
| 147 |
|
|
@@ -757,103 +757,103 @@ msgstr ""
|
|
| 757 |
msgid "Dublin Core Description"
|
| 758 |
msgstr ""
|
| 759 |
|
| 760 |
-
#: includes/class-upgrade.php:
|
| 761 |
msgid "Inserting original strings for language %s..."
|
| 762 |
msgstr ""
|
| 763 |
|
| 764 |
-
#: includes/class-upgrade.php:
|
| 765 |
msgid "Cleaning original strings table for language %s..."
|
| 766 |
msgstr ""
|
| 767 |
|
| 768 |
-
#: includes/class-upgrade.php:
|
| 769 |
msgid "Updating original string ids for language %s..."
|
| 770 |
msgstr ""
|
| 771 |
|
| 772 |
-
#: includes/class-upgrade.php:
|
| 773 |
msgid "Regenerating original meta table for language %s..."
|
| 774 |
msgstr ""
|
| 775 |
|
| 776 |
-
#: includes/class-upgrade.php:
|
| 777 |
msgid "Cleaning original meta table for language %s..."
|
| 778 |
msgstr ""
|
| 779 |
|
| 780 |
-
#: includes/class-upgrade.php:
|
| 781 |
msgid "TranslatePress data update"
|
| 782 |
msgstr ""
|
| 783 |
|
| 784 |
-
#: includes/class-upgrade.php:
|
| 785 |
msgid "We need to update your translations database to the latest version."
|
| 786 |
msgstr ""
|
| 787 |
|
| 788 |
-
#: includes/class-upgrade.php:
|
| 789 |
msgid "IMPORTANT: It is strongly recommended to first backup the database!\nAre you sure you want to continue?"
|
| 790 |
msgstr ""
|
| 791 |
|
| 792 |
-
#: includes/class-upgrade.php:
|
| 793 |
msgid "Run the updater"
|
| 794 |
msgstr ""
|
| 795 |
|
| 796 |
-
#: includes/class-upgrade.php:
|
| 797 |
msgid "Update aborted! Your user account doesn't have the capability to perform database updates."
|
| 798 |
msgstr ""
|
| 799 |
|
| 800 |
-
#: includes/class-upgrade.php:
|
| 801 |
msgid "Update aborted! Invalid nonce."
|
| 802 |
msgstr ""
|
| 803 |
|
| 804 |
-
#: includes/class-upgrade.php:
|
| 805 |
msgid "Update aborted! Incorrect action."
|
| 806 |
msgstr ""
|
| 807 |
|
| 808 |
-
#: includes/class-upgrade.php:
|
| 809 |
msgid "Update aborted! Incorrect language code."
|
| 810 |
msgstr ""
|
| 811 |
|
| 812 |
-
#: includes/class-upgrade.php:
|
| 813 |
msgid "Updating database to version %s+"
|
| 814 |
msgstr ""
|
| 815 |
|
| 816 |
-
#: includes/class-upgrade.php:
|
| 817 |
msgid "Processing table for language %s..."
|
| 818 |
msgstr ""
|
| 819 |
|
| 820 |
-
#: includes/class-upgrade.php:
|
| 821 |
msgid "Back to TranslatePress Settings"
|
| 822 |
msgstr ""
|
| 823 |
|
| 824 |
-
#: includes/class-upgrade.php:
|
| 825 |
msgid "Successfully updated database!"
|
| 826 |
msgstr ""
|
| 827 |
|
| 828 |
-
#: includes/class-upgrade.php:
|
| 829 |
msgid " done."
|
| 830 |
msgstr ""
|
| 831 |
|
| 832 |
-
#: includes/class-upgrade.php:
|
| 833 |
msgid "Done."
|
| 834 |
msgstr ""
|
| 835 |
|
| 836 |
-
#: includes/class-upgrade.php:
|
| 837 |
msgid "Invalid nonce."
|
| 838 |
msgstr ""
|
| 839 |
|
| 840 |
-
#: includes/class-upgrade.php:
|
| 841 |
msgid "Querying table <strong>%s</strong>"
|
| 842 |
msgstr ""
|
| 843 |
|
| 844 |
-
#: includes/class-upgrade.php:
|
| 845 |
msgid "%s duplicates removed"
|
| 846 |
msgstr ""
|
| 847 |
|
| 848 |
-
#: includes/class-upgrade.php:
|
| 849 |
msgid "If the page does not redirect automatically"
|
| 850 |
msgstr ""
|
| 851 |
|
| 852 |
-
#: includes/class-upgrade.php:
|
| 853 |
msgid "click here"
|
| 854 |
msgstr ""
|
| 855 |
|
| 856 |
-
#: includes/class-upgrade.php:
|
| 857 |
msgid "Recreated original strings table."
|
| 858 |
msgstr ""
|
| 859 |
|
|
@@ -861,6 +861,10 @@ msgstr ""
|
|
| 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 ""
|
| 863 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 864 |
#: partials/addons-settings-page.php:12
|
| 865 |
msgid "Advanced Addons"
|
| 866 |
msgstr ""
|
|
@@ -1478,6 +1482,14 @@ msgstr ""
|
|
| 1478 |
msgid "Fixes attributes without spaces between them because they are not valid HTML.<br> May help fix missing or broken content from the HTML on translated pages."
|
| 1479 |
msgstr ""
|
| 1480 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1481 |
#: includes/advanced-settings/remove-duplicates-from-db.php:7
|
| 1482 |
msgid "Remove duplicate rows"
|
| 1483 |
msgstr ""
|
| 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:503, includes/class-advanced-tab.php:514, includes/class-advanced-tab.php:602, includes/class-advanced-tab.php:633, partials/main-settings-language-selector.php:40
|
| 101 |
msgid "Remove"
|
| 102 |
msgstr ""
|
| 103 |
|
| 105 |
msgid "Choose..."
|
| 106 |
msgstr ""
|
| 107 |
|
| 108 |
+
#: ../tp-add-on-extra-languages/partials/language-selector-pro.php:58, includes/class-advanced-tab.php:514, includes/class-advanced-tab.php:633, partials/main-settings-language-selector.php:55
|
| 109 |
msgid "Add"
|
| 110 |
msgstr ""
|
| 111 |
|
| 133 |
msgid "Advanced"
|
| 134 |
msgstr ""
|
| 135 |
|
| 136 |
+
#: includes/class-advanced-tab.php:306, 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:503, includes/class-advanced-tab.php:514, includes/class-advanced-tab.php:602, includes/class-advanced-tab.php:633
|
| 141 |
msgid "Are you sure you want to remove this item?"
|
| 142 |
msgstr ""
|
| 143 |
|
| 144 |
+
#: includes/class-advanced-tab.php:586, includes/class-advanced-tab.php:620
|
| 145 |
msgid "Select..."
|
| 146 |
msgstr ""
|
| 147 |
|
| 757 |
msgid "Dublin Core Description"
|
| 758 |
msgstr ""
|
| 759 |
|
| 760 |
+
#: includes/class-upgrade.php:118
|
| 761 |
msgid "Inserting original strings for language %s..."
|
| 762 |
msgstr ""
|
| 763 |
|
| 764 |
+
#: includes/class-upgrade.php:127
|
| 765 |
msgid "Cleaning original strings table for language %s..."
|
| 766 |
msgstr ""
|
| 767 |
|
| 768 |
+
#: includes/class-upgrade.php:135
|
| 769 |
msgid "Updating original string ids for language %s..."
|
| 770 |
msgstr ""
|
| 771 |
|
| 772 |
+
#: includes/class-upgrade.php:143
|
| 773 |
msgid "Regenerating original meta table for language %s..."
|
| 774 |
msgstr ""
|
| 775 |
|
| 776 |
+
#: includes/class-upgrade.php:151
|
| 777 |
msgid "Cleaning original meta table for language %s..."
|
| 778 |
msgstr ""
|
| 779 |
|
| 780 |
+
#: includes/class-upgrade.php:185
|
| 781 |
msgid "TranslatePress data update"
|
| 782 |
msgstr ""
|
| 783 |
|
| 784 |
+
#: includes/class-upgrade.php:185
|
| 785 |
msgid "We need to update your translations database to the latest version."
|
| 786 |
msgstr ""
|
| 787 |
|
| 788 |
+
#: includes/class-upgrade.php:186
|
| 789 |
msgid "IMPORTANT: It is strongly recommended to first backup the database!\nAre you sure you want to continue?"
|
| 790 |
msgstr ""
|
| 791 |
|
| 792 |
+
#: includes/class-upgrade.php:186
|
| 793 |
msgid "Run the updater"
|
| 794 |
msgstr ""
|
| 795 |
|
| 796 |
+
#: includes/class-upgrade.php:202
|
| 797 |
msgid "Update aborted! Your user account doesn't have the capability to perform database updates."
|
| 798 |
msgstr ""
|
| 799 |
|
| 800 |
+
#: includes/class-upgrade.php:207
|
| 801 |
msgid "Update aborted! Invalid nonce."
|
| 802 |
msgstr ""
|
| 803 |
|
| 804 |
+
#: includes/class-upgrade.php:246
|
| 805 |
msgid "Update aborted! Incorrect action."
|
| 806 |
msgstr ""
|
| 807 |
|
| 808 |
+
#: includes/class-upgrade.php:249
|
| 809 |
msgid "Update aborted! Incorrect language code."
|
| 810 |
msgstr ""
|
| 811 |
|
| 812 |
+
#: includes/class-upgrade.php:235
|
| 813 |
msgid "Updating database to version %s+"
|
| 814 |
msgstr ""
|
| 815 |
|
| 816 |
+
#: includes/class-upgrade.php:239, includes/class-upgrade.php:299
|
| 817 |
msgid "Processing table for language %s..."
|
| 818 |
msgstr ""
|
| 819 |
|
| 820 |
+
#: includes/class-upgrade.php:222, includes/class-upgrade.php:328, includes/class-upgrade.php:481, includes/class-upgrade.php:486
|
| 821 |
msgid "Back to TranslatePress Settings"
|
| 822 |
msgstr ""
|
| 823 |
|
| 824 |
+
#: includes/class-upgrade.php:226
|
| 825 |
msgid "Successfully updated database!"
|
| 826 |
msgstr ""
|
| 827 |
|
| 828 |
+
#: includes/class-upgrade.php:303, includes/class-upgrade.php:296
|
| 829 |
msgid " done."
|
| 830 |
msgstr ""
|
| 831 |
|
| 832 |
+
#: includes/class-upgrade.php:481
|
| 833 |
msgid "Done."
|
| 834 |
msgstr ""
|
| 835 |
|
| 836 |
+
#: includes/class-upgrade.php:486
|
| 837 |
msgid "Invalid nonce."
|
| 838 |
msgstr ""
|
| 839 |
|
| 840 |
+
#: includes/class-upgrade.php:510
|
| 841 |
msgid "Querying table <strong>%s</strong>"
|
| 842 |
msgstr ""
|
| 843 |
|
| 844 |
+
#: includes/class-upgrade.php:552
|
| 845 |
msgid "%s duplicates removed"
|
| 846 |
msgstr ""
|
| 847 |
|
| 848 |
+
#: includes/class-upgrade.php:590, includes/class-upgrade.php:695
|
| 849 |
msgid "If the page does not redirect automatically"
|
| 850 |
msgstr ""
|
| 851 |
|
| 852 |
+
#: includes/class-upgrade.php:590, includes/class-upgrade.php:695
|
| 853 |
msgid "click here"
|
| 854 |
msgstr ""
|
| 855 |
|
| 856 |
+
#: includes/class-upgrade.php:684
|
| 857 |
msgid "Recreated original strings table."
|
| 858 |
msgstr ""
|
| 859 |
|
| 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 ""
|
| 863 |
|
| 864 |
+
#: includes/compatibility-functions.php:1493
|
| 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 ""
|
| 1482 |
msgid "Fixes attributes without spaces between them because they are not valid HTML.<br> May help fix missing or broken content from the HTML on translated pages."
|
| 1483 |
msgstr ""
|
| 1484 |
|
| 1485 |
+
#: includes/advanced-settings/force-slash-at-end-of-links.php:9
|
| 1486 |
+
msgid "Force slash at end of home url:"
|
| 1487 |
+
msgstr ""
|
| 1488 |
+
|
| 1489 |
+
#: includes/advanced-settings/force-slash-at-end-of-links.php:10
|
| 1490 |
+
msgid "Ads a slash at the end of the home_url() function"
|
| 1491 |
+
msgstr ""
|
| 1492 |
+
|
| 1493 |
#: includes/advanced-settings/remove-duplicates-from-db.php:7
|
| 1494 |
msgid "Remove duplicate rows"
|
| 1495 |
msgstr ""
|
readme.txt
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
-
===
|
| 2 |
Contributors: cozmoslabs, razvan.mo, madalin.ungureanu, sareiodata, cristophor
|
| 3 |
Donate link: https://www.translatepress.com/
|
| 4 |
Tags: translate, translation, multilingual, automatic translation, bilingual, front-end translation, google translate, language
|
| 5 |
Requires at least: 3.1.0
|
| 6 |
-
Tested up to: 5.7
|
| 7 |
Requires PHP: 5.6.20
|
| 8 |
-
Stable tag: 1.9.
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
|
@@ -13,7 +13,7 @@ Translate your entire site directly from the front-end and go multilingual, with
|
|
| 13 |
|
| 14 |
== Description ==
|
| 15 |
|
| 16 |
-
**Experience a better way to translate your WordPress site and go multilingual, directly from the front-end using a
|
| 17 |
|
| 18 |
TranslatePress is a [WordPress translation plugin](https://translatepress.com/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) that anyone can use.
|
| 19 |
|
|
@@ -37,6 +37,7 @@ https://www.youtube.com/watch?v=pUlYisvBm8g
|
|
| 37 |
* Editorial control allowing you to publish your language only when all your translations are done
|
| 38 |
* Conditional display content shortcode based on language [trp_language language="en_US"] English content only [/trp_language]
|
| 39 |
* Possibility to [edit gettext strings](https://translatepress.com/edit-plugin-strings/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) from themes and plugins from English to English, without adding another language. Basically a string-replace functionality.
|
|
|
|
| 40 |
* Translation Block feature in which you can translate multiple html elements together
|
| 41 |
* 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)
|
| 42 |
* 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
|
|
@@ -138,6 +139,13 @@ For more information please check out our [documentation](https://translatepress
|
|
| 138 |
|
| 139 |
|
| 140 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
= 1.9.8 =
|
| 142 |
* Added compatibility with Google Site Kit plugin
|
| 143 |
* Added compatibility with Ivory Search plugin and possibly others
|
| 1 |
+
=== Translate Multilingual sites - TranslatePress ===
|
| 2 |
Contributors: cozmoslabs, razvan.mo, madalin.ungureanu, sareiodata, cristophor
|
| 3 |
Donate link: https://www.translatepress.com/
|
| 4 |
Tags: translate, translation, multilingual, automatic translation, bilingual, front-end translation, google translate, language
|
| 5 |
Requires at least: 3.1.0
|
| 6 |
+
Tested up to: 5.7.1
|
| 7 |
Requires PHP: 5.6.20
|
| 8 |
+
Stable tag: 1.9.9
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
| 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.**
|
| 17 |
|
| 18 |
TranslatePress is a [WordPress translation plugin](https://translatepress.com/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) that anyone can use.
|
| 19 |
|
| 37 |
* Editorial control allowing you to publish your language only when all your translations are done
|
| 38 |
* Conditional display content shortcode based on language [trp_language language="en_US"] English content only [/trp_language]
|
| 39 |
* Possibility to [edit gettext strings](https://translatepress.com/edit-plugin-strings/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree) from themes and plugins from English to English, without adding another language. Basically a string-replace functionality.
|
| 40 |
+
* Translate only certain paths and [exclude content from being translated](https://translatepress.com/partially-translate-wordpress-exclude-posts-pages-products/?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree)
|
| 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
|
| 139 |
|
| 140 |
|
| 141 |
== Changelog ==
|
| 142 |
+
= 1.9.9 =
|
| 143 |
+
* Forcing a slash at the end of home url is now an optional Advanced setting
|
| 144 |
+
* Better handling of WPEngine long query limiting
|
| 145 |
+
* Fixed some cases of adding language slugs to file paths
|
| 146 |
+
* Fixed unprefixed DOM library constant
|
| 147 |
+
* Fixed a notice coming from the Do not translate paths option
|
| 148 |
+
|
| 149 |
= 1.9.8 =
|
| 150 |
* Added compatibility with Google Site Kit plugin
|
| 151 |
* Added compatibility with Ivory Search plugin and possibly others
|
