Version Description
- Added more filters
- Make sure we do not insert empty strings in the gettext translation table
- Added support for Affiliate tracking
Download this release
Release Info
Developer | madalin.ungureanu |
Plugin | TranslatePress – Translate Multilingual sites |
Version | 1.4.4 |
Comparing to | |
See all releases |
Code changes from version 1.4.3 to 1.4.4
- class-translate-press.php +3 -5
- includes/class-query.php +4 -0
- includes/class-translation-manager.php +107 -63
- includes/class-translation-render.php +2 -2
- includes/functions.php +11 -6
- index.php +1 -1
- languages/translatepress-multilingual.pot +18 -18
- readme.txt +7 -2
class-translate-press.php
CHANGED
@@ -41,7 +41,7 @@ class TRP_Translate_Press{
|
|
41 |
define( 'TRP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
42 |
define( 'TRP_PLUGIN_BASE', plugin_basename( __DIR__ . '/index.php' ) );
|
43 |
define( 'TRP_PLUGIN_SLUG', 'translatepress-multilingual' );
|
44 |
-
define( 'TRP_PLUGIN_VERSION', '1.4.
|
45 |
|
46 |
wp_cache_add_non_persistent_groups(array('trp'));
|
47 |
|
@@ -186,10 +186,8 @@ class TRP_Translate_Press{
|
|
186 |
/* handle dynamic texts with gettext */
|
187 |
$this->loader->add_filter( 'locale', $this->languages, 'change_locale' );
|
188 |
|
189 |
-
$this->loader->add_action( 'init', $this->translation_manager, 'create_gettext_translated_global' );
|
190 |
-
$this->loader->add_action( '
|
191 |
-
$this->loader->add_action( 'init', $this->translation_manager, 'apply_gettext_filter_on_frontend' );
|
192 |
-
$this->loader->add_action( 'admin_init', $this->translation_manager, 'apply_gettext_filter' );
|
193 |
$this->loader->add_action( 'shutdown', $this->translation_manager, 'machine_translate_gettext', 100 );
|
194 |
|
195 |
|
41 |
define( 'TRP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
42 |
define( 'TRP_PLUGIN_BASE', plugin_basename( __DIR__ . '/index.php' ) );
|
43 |
define( 'TRP_PLUGIN_SLUG', 'translatepress-multilingual' );
|
44 |
+
define( 'TRP_PLUGIN_VERSION', '1.4.4' );
|
45 |
|
46 |
wp_cache_add_non_persistent_groups(array('trp'));
|
47 |
|
186 |
/* handle dynamic texts with gettext */
|
187 |
$this->loader->add_filter( 'locale', $this->languages, 'change_locale' );
|
188 |
|
189 |
+
$this->loader->add_action( 'init', $this->translation_manager, 'create_gettext_translated_global' );
|
190 |
+
$this->loader->add_action( 'init', $this->translation_manager, 'initialize_gettext_processing' );
|
|
|
|
|
191 |
$this->loader->add_action( 'shutdown', $this->translation_manager, 'machine_translate_gettext', 100 );
|
192 |
|
193 |
|
includes/class-query.php
CHANGED
@@ -317,6 +317,10 @@ class TRP_Query{
|
|
317 |
$place_holders = array();
|
318 |
|
319 |
foreach ( $new_strings as $string ) {
|
|
|
|
|
|
|
|
|
320 |
if( $string['original'] == $string['translated'] || $string['translated'] == '' ){
|
321 |
$translated = NULL;
|
322 |
$status = self::NOT_TRANSLATED;
|
317 |
$place_holders = array();
|
318 |
|
319 |
foreach ( $new_strings as $string ) {
|
320 |
+
//make sure we don't insert empty strings in db
|
321 |
+
if( empty( $string['original'] ) )
|
322 |
+
continue;
|
323 |
+
|
324 |
if( $string['original'] == $string['translated'] || $string['translated'] == '' ){
|
325 |
$translated = NULL;
|
326 |
$status = self::NOT_TRANSLATED;
|
includes/class-translation-manager.php
CHANGED
@@ -719,7 +719,7 @@ class TRP_Translation_Manager{
|
|
719 |
/**
|
720 |
* function that applies the gettext filter on frontend on different hooks depending on what we need
|
721 |
*/
|
722 |
-
public function
|
723 |
/* on ajax hooks from frontend that have the init hook ( we found WooCommerce has it ) apply it earlier */
|
724 |
if( $this::is_ajax_on_frontend() ){
|
725 |
add_action( 'wp_loaded', array( $this, 'apply_gettext_filter' ) );
|
@@ -840,6 +840,12 @@ class TRP_Translation_Manager{
|
|
840 |
// if we have nested gettexts strip previous ones, and consider only the outermost
|
841 |
$text = TRP_Translation_Manager::strip_gettext_tags( $text );
|
842 |
$translation = TRP_Translation_Manager::strip_gettext_tags( $translation );
|
|
|
|
|
|
|
|
|
|
|
|
|
843 |
global $TRP_LANGUAGE;
|
844 |
/* don't do anything if we don't have extra languages on the site */
|
845 |
if( count( $this->settings['publish-languages'] ) < 1 )
|
@@ -854,63 +860,100 @@ class TRP_Translation_Manager{
|
|
854 |
|
855 |
|
856 |
if ( !defined( 'DOING_AJAX' ) || $this::is_ajax_on_frontend() ) {
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
914 |
|
915 |
$blacklist_functions = apply_filters( 'trp_gettext_blacklist_functions', array(
|
916 |
'wp_enqueue_script',
|
@@ -945,11 +988,12 @@ class TRP_Translation_Manager{
|
|
945 |
}
|
946 |
}
|
947 |
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
|
|
953 |
}
|
954 |
|
955 |
return $translation;
|
719 |
/**
|
720 |
* function that applies the gettext filter on frontend on different hooks depending on what we need
|
721 |
*/
|
722 |
+
public function initialize_gettext_processing(){
|
723 |
/* on ajax hooks from frontend that have the init hook ( we found WooCommerce has it ) apply it earlier */
|
724 |
if( $this::is_ajax_on_frontend() ){
|
725 |
add_action( 'wp_loaded', array( $this, 'apply_gettext_filter' ) );
|
840 |
// if we have nested gettexts strip previous ones, and consider only the outermost
|
841 |
$text = TRP_Translation_Manager::strip_gettext_tags( $text );
|
842 |
$translation = TRP_Translation_Manager::strip_gettext_tags( $translation );
|
843 |
+
|
844 |
+
//try here to exclude some strings that do not require translation
|
845 |
+
$excluded_gettext_strings = array( '', ' ', '…', ' ' );
|
846 |
+
if( in_array( trp_full_trim( $text ), $excluded_gettext_strings ) )
|
847 |
+
return $translation;
|
848 |
+
|
849 |
global $TRP_LANGUAGE;
|
850 |
/* don't do anything if we don't have extra languages on the site */
|
851 |
if( count( $this->settings['publish-languages'] ) < 1 )
|
860 |
|
861 |
|
862 |
if ( !defined( 'DOING_AJAX' ) || $this::is_ajax_on_frontend() ) {
|
863 |
+
$db_id = '';
|
864 |
+
$skip_gettext_querying = apply_filters( 'trp_skip_gettext_querying', false, $translation, $text, $domain );
|
865 |
+
if ( !$skip_gettext_querying ) {
|
866 |
+
global $trp_translated_gettext_texts, $trp_all_gettext_texts;
|
867 |
+
|
868 |
+
$found_in_db = false;
|
869 |
+
|
870 |
+
/* initiate trp query object */
|
871 |
+
if ( ! $this->trp_query ) {
|
872 |
+
$trp = TRP_Translate_Press::get_trp_instance();
|
873 |
+
$this->trp_query = $trp->get_component( 'query' );
|
874 |
+
}
|
875 |
+
|
876 |
+
if ( ! isset( $trp_all_gettext_texts ) ) {
|
877 |
+
$trp_all_gettext_texts = array();
|
878 |
+
}
|
879 |
+
|
880 |
+
if ( ! empty( $trp_translated_gettext_texts ) ) {
|
881 |
+
if ( isset( $trp_translated_gettext_texts[ $domain . '::' . $text ] ) ) {
|
882 |
+
$trp_translated_gettext_text = $trp_translated_gettext_texts[ $domain . '::' . $text ];
|
883 |
+
|
884 |
+
if ( ! empty( $trp_translated_gettext_text['translated'] ) && $translation != $trp_translated_gettext_text['translated'] ) {
|
885 |
+
$translation = str_replace( trim( $text ), $trp_translated_gettext_text['translated'], $text );
|
886 |
+
}
|
887 |
+
$db_id = $trp_translated_gettext_text['id'];
|
888 |
+
$found_in_db = true;
|
889 |
+
// update the db if a translation appeared in the po file later
|
890 |
+
if ( empty( $trp_translated_gettext_text['translated'] ) && $translation != $text ) {
|
891 |
+
$this->trp_query->update_gettext_strings( array(
|
892 |
+
array(
|
893 |
+
'id' => $db_id,
|
894 |
+
'original' => $text,
|
895 |
+
'translated' => $translation,
|
896 |
+
'domain' => $domain
|
897 |
+
),
|
898 |
+
'status' => $this->trp_query->get_constant_human_reviewed()
|
899 |
+
), get_locale() );
|
900 |
+
}
|
901 |
+
}
|
902 |
+
}
|
903 |
+
|
904 |
+
if ( ! $found_in_db ) {
|
905 |
+
if ( ! in_array( array(
|
906 |
+
'original' => $text,
|
907 |
+
'translated' => $translation,
|
908 |
+
'domain' => $domain
|
909 |
+
), $trp_all_gettext_texts )
|
910 |
+
) {
|
911 |
+
$trp_all_gettext_texts[] = array(
|
912 |
+
'original' => $text,
|
913 |
+
'translated' => $translation,
|
914 |
+
'domain' => $domain
|
915 |
+
);
|
916 |
+
$db_id = $this->trp_query->insert_gettext_strings( array(
|
917 |
+
array(
|
918 |
+
'original' => $text,
|
919 |
+
'translated' => $translation,
|
920 |
+
'domain' => $domain
|
921 |
+
)
|
922 |
+
), get_locale() );
|
923 |
+
/* insert it in the global of translated because now it is in the database */
|
924 |
+
$trp_translated_gettext_texts[ $domain . '::' . $text ] = array(
|
925 |
+
'id' => $db_id,
|
926 |
+
'original' => $text,
|
927 |
+
'translated' => ( $translation != $text ) ? $translation : '',
|
928 |
+
'domain' => $domain
|
929 |
+
);
|
930 |
+
}
|
931 |
+
}
|
932 |
+
|
933 |
+
if ( ! $this->machine_translator ) {
|
934 |
+
$trp = TRP_Translate_Press::get_trp_instance();
|
935 |
+
$this->machine_translator = $trp->get_component( 'machine_translator' );
|
936 |
+
}
|
937 |
+
if ( $this->machine_translator->is_available() ) {
|
938 |
+
global $trp_gettext_strings_for_machine_translation;
|
939 |
+
if ( $text == $translation ) {
|
940 |
+
foreach ( $trp_translated_gettext_texts as $trp_translated_gettext_text ) {
|
941 |
+
if ( $trp_translated_gettext_text['id'] == $db_id ) {
|
942 |
+
if ( $trp_translated_gettext_text['translated'] == '' ) {
|
943 |
+
$trp_gettext_strings_for_machine_translation[] = array(
|
944 |
+
'id' => $db_id,
|
945 |
+
'original' => $text,
|
946 |
+
'translated' => '',
|
947 |
+
'domain' => $domain,
|
948 |
+
'status' => $this->trp_query->get_constant_machine_translated()
|
949 |
+
);
|
950 |
+
}
|
951 |
+
break;
|
952 |
+
}
|
953 |
+
}
|
954 |
+
}
|
955 |
+
}
|
956 |
+
}
|
957 |
|
958 |
$blacklist_functions = apply_filters( 'trp_gettext_blacklist_functions', array(
|
959 |
'wp_enqueue_script',
|
988 |
}
|
989 |
}
|
990 |
|
991 |
+
if ( did_action( 'init' ) ) {
|
992 |
+
if ( ( ! empty( $TRP_LANGUAGE ) && $this->settings["default-language"] != $TRP_LANGUAGE ) || ( isset( $_REQUEST['trp-edit-translation'] ) && $_REQUEST['trp-edit-translation'] == 'preview' ) ) {
|
993 |
+
//add special start and end tags so that it does not influence html in any way. we will replace them with < and > at the start of the translate function
|
994 |
+
$translation = apply_filters( 'trp_process_gettext_tags', '#!trpst#trp-gettext data-trpgettextoriginal=' . $db_id . '#!trpen#' . $translation . '#!trpst#/trp-gettext#!trpen#', $translation, $skip_gettext_querying, $text, $domain );
|
995 |
+
}
|
996 |
+
}
|
997 |
}
|
998 |
|
999 |
return $translation;
|
includes/class-translation-render.php
CHANGED
@@ -727,8 +727,8 @@ class TRP_Translation_Render{
|
|
727 |
$body = $html->find('body', 0 );
|
728 |
$body->innertext = '<div data-no-translation class="trp-editor-notices">' . $trp_editor_notices . "</div>" . $body->innertext;
|
729 |
}
|
730 |
-
|
731 |
-
return $
|
732 |
}
|
733 |
|
734 |
/**
|
727 |
$body = $html->find('body', 0 );
|
728 |
$body->innertext = '<div data-no-translation class="trp-editor-notices">' . $trp_editor_notices . "</div>" . $body->innertext;
|
729 |
}
|
730 |
+
$final_html = $html->save();
|
731 |
+
return apply_filters( 'trp_translated_html', $final_html, $TRP_LANGUAGE, $language_code );
|
732 |
}
|
733 |
|
734 |
/**
|
includes/functions.php
CHANGED
@@ -125,12 +125,17 @@ function trp_find_translation_location_for_domain( $domain, $language ){
|
|
125 |
*/
|
126 |
function trp_add_affiliate_id_to_link( $link ){
|
127 |
|
128 |
-
|
129 |
-
|
130 |
-
if ( !empty( $
|
131 |
-
|
132 |
-
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
134 |
}
|
135 |
|
136 |
return esc_url( $link );
|
125 |
*/
|
126 |
function trp_add_affiliate_id_to_link( $link ){
|
127 |
|
128 |
+
//Avangate Affiliate Network
|
129 |
+
$avg_affiliate_id = get_option('translatepress_avg_affiliate_id');
|
130 |
+
if ( !empty( $avg_affiliate_id ) ) {
|
131 |
+
return esc_url( add_query_arg( 'avgref', $avg_affiliate_id, $link ) );
|
132 |
+
}
|
133 |
+
else{
|
134 |
+
// AffiliateWP
|
135 |
+
$affiliate_id = get_option('translatepress_affiliate_id');
|
136 |
+
if ( !empty( $affiliate_id ) ) {
|
137 |
+
return esc_url( add_query_arg( 'ref', $affiliate_id, $link ) );
|
138 |
+
}
|
139 |
}
|
140 |
|
141 |
return esc_url( $link );
|
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.4.
|
7 |
Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
|
8 |
Author URI: https://cozmoslabs.com/
|
9 |
Text Domain: translatepress-multilingual
|
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.4.4
|
7 |
Author: Cozmoslabs, Razvan Mocanu, Madalin Ungureanu, Cristophor Hurduban
|
8 |
Author URI: https://cozmoslabs.com/
|
9 |
Text Domain: translatepress-multilingual
|
languages/translatepress-multilingual.pot
CHANGED
@@ -29,51 +29,51 @@ msgstr ""
|
|
29 |
msgid "The Yoast SEO Sitemaps will now contain the default language slug: example.com/en/sitemap_index.xml <br/> This works perfectly, just take it into account when you submit the sitemap to Google."
|
30 |
msgstr ""
|
31 |
|
32 |
-
#:
|
33 |
msgid "First by browser language, then IP address (recommended)"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#:
|
37 |
msgid "First by IP address, then browser language"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#:
|
41 |
msgid "Only by browser language"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#:
|
45 |
msgid "Only by IP address"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#:
|
49 |
msgid "<div class=\"warning\">WARNING. Cannot determine your language preference based on your current IP.<br>This is most likely because the website is on a local environment.</div>"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#:
|
53 |
msgid "TranslatePress Settings"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#:
|
57 |
msgid "License Key"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#:
|
61 |
msgid "Enter your license key."
|
62 |
msgstr ""
|
63 |
|
64 |
-
#:
|
65 |
msgid "Activate License"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#:
|
69 |
msgid "Deactivate License"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#:
|
73 |
msgid "Method of language detection"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#:
|
77 |
msgid "Select how the language should be detected for first time visitors.<br>The visitor's last displayed language will be remembered through cookies."
|
78 |
msgstr ""
|
79 |
|
@@ -209,11 +209,11 @@ msgstr ""
|
|
209 |
msgid "Translate Page"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: ../translatepress/includes/class-translation-manager.php:
|
213 |
msgid "Security check"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: ../translatepress/includes/class-translation-manager.php:
|
217 |
msgid "<strong>Warning:</strong> Some strings have possibly incorrectly encoded characters. This may result in breaking the queries, rendering the page untranslated in live mode. Consider revising the following strings or their method of outputting."
|
218 |
msgstr ""
|
219 |
|
@@ -297,7 +297,7 @@ msgstr ""
|
|
297 |
msgid "%s duplicates removed"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: ../translatepress/includes/functions.php:
|
301 |
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."
|
302 |
msgstr ""
|
303 |
|
@@ -607,14 +607,14 @@ msgstr ""
|
|
607 |
msgid "Update database"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: includes/class-translator-accounts.php:119
|
611 |
msgid " TranslatePress Settings"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: includes/class-translator-accounts.php:123, includes/class-translator-accounts.php:124
|
615 |
msgid "Translator"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: includes/class-translator-accounts.php:128
|
619 |
msgid "Allow this user to translate the website."
|
620 |
msgstr ""
|
29 |
msgid "The Yoast SEO Sitemaps will now contain the default language slug: example.com/en/sitemap_index.xml <br/> This works perfectly, just take it into account when you submit the sitemap to Google."
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: includes/class-ald-settings.php:37
|
33 |
msgid "First by browser language, then IP address (recommended)"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: includes/class-ald-settings.php:38
|
37 |
msgid "First by IP address, then browser language"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: includes/class-ald-settings.php:39
|
41 |
msgid "Only by browser language"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: includes/class-ald-settings.php:40
|
45 |
msgid "Only by IP address"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: includes/class-ald-settings.php:110
|
49 |
msgid "<div class=\"warning\">WARNING. Cannot determine your language preference based on your current IP.<br>This is most likely because the website is on a local environment.</div>"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: partials/license-settings-page.php:4, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:4, ../tp-add-on-extra-languages/partials/license-settings-page.php:4, ../tp-add-on-navigation-based-on-language/partials/license-settings-page.php:4, ../tp-add-on-seo-pack/partials/license-settings-page.php:4, ../translatepress/partials/addons-settings-page.php:3, ../translatepress/partials/main-settings-page.php:5, ../translatepress/partials/test-google-key-settings-page.php:10, ../translatepress/partials/trp-remove-duplicate-rows.php:3, ../translatepress/partials/trp-update-database.php:3, ../trp-add-on-translator-accounts-add-on/partials/license-settings-page.php:4
|
53 |
msgid "TranslatePress Settings"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: partials/license-settings-page.php:10, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:10, ../tp-add-on-extra-languages/partials/license-settings-page.php:10, ../tp-add-on-navigation-based-on-language/partials/license-settings-page.php:10, ../tp-add-on-seo-pack/partials/license-settings-page.php:10, ../trp-add-on-translator-accounts-add-on/partials/license-settings-page.php:10
|
57 |
msgid "License Key"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: partials/license-settings-page.php:15, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:15, ../tp-add-on-extra-languages/partials/license-settings-page.php:15, ../tp-add-on-navigation-based-on-language/partials/license-settings-page.php:15, ../tp-add-on-seo-pack/partials/license-settings-page.php:15, ../trp-add-on-translator-accounts-add-on/partials/license-settings-page.php:15
|
61 |
msgid "Enter your license key."
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: partials/license-settings-page.php:22, partials/license-settings-page.php:31, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:22, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:31, ../tp-add-on-extra-languages/partials/license-settings-page.php:22, ../tp-add-on-extra-languages/partials/license-settings-page.php:31, ../tp-add-on-navigation-based-on-language/partials/license-settings-page.php:22, ../tp-add-on-navigation-based-on-language/partials/license-settings-page.php:31, ../tp-add-on-seo-pack/partials/license-settings-page.php:22, ../tp-add-on-seo-pack/partials/license-settings-page.php:31, ../trp-add-on-translator-accounts-add-on/partials/license-settings-page.php:22, ../trp-add-on-translator-accounts-add-on/partials/license-settings-page.php:31
|
65 |
msgid "Activate License"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: partials/license-settings-page.php:28, ../tp-add-on-browse-as-other-roles/partials/license-settings-page.php:28, ../tp-add-on-extra-languages/partials/license-settings-page.php:28, ../tp-add-on-navigation-based-on-language/partials/license-settings-page.php:28, ../tp-add-on-seo-pack/partials/license-settings-page.php:28, ../trp-add-on-translator-accounts-add-on/partials/license-settings-page.php:28
|
69 |
msgid "Deactivate License"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: partials/settings-option.php:2
|
73 |
msgid "Method of language detection"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: partials/settings-option.php:14
|
77 |
msgid "Select how the language should be detected for first time visitors.<br>The visitor's last displayed language will be remembered through cookies."
|
78 |
msgstr ""
|
79 |
|
209 |
msgid "Translate Page"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: ../translatepress/includes/class-translation-manager.php:1242
|
213 |
msgid "Security check"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: ../translatepress/includes/class-translation-manager.php:1316
|
217 |
msgid "<strong>Warning:</strong> Some strings have possibly incorrectly encoded characters. This may result in breaking the queries, rendering the page untranslated in live mode. Consider revising the following strings or their method of outputting."
|
218 |
msgstr ""
|
219 |
|
297 |
msgid "%s duplicates removed"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: ../translatepress/includes/functions.php:258
|
301 |
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."
|
302 |
msgstr ""
|
303 |
|
607 |
msgid "Update database"
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: ../trp-add-on-translator-accounts-add-on/includes/class-translator-accounts.php:119
|
611 |
msgid " TranslatePress Settings"
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: ../trp-add-on-translator-accounts-add-on/includes/class-translator-accounts.php:123, ../trp-add-on-translator-accounts-add-on/includes/class-translator-accounts.php:124
|
615 |
msgid "Translator"
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: ../trp-add-on-translator-accounts-add-on/includes/class-translator-accounts.php:128
|
619 |
msgid "Allow this user to translate the website."
|
620 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: cozmoslabs, razvan.mo, madalin.ungureanu, cristophor
|
|
3 |
Donate link: https://www.cozmoslabs.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.1.
|
7 |
-
Stable tag: 1.4.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -125,6 +125,11 @@ For more information please check out [TranslatePress - Multilingual plugin docu
|
|
125 |
6. Menu Language Switcher
|
126 |
|
127 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
128 |
= 1.4.3 =
|
129 |
* Fixed an issue with the Language by Get Parameter add-on
|
130 |
* Added compatibility with WooCommerce PDF invoice and WooCommerce's order notes.
|
3 |
Donate link: https://www.cozmoslabs.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.1.1
|
7 |
+
Stable tag: 1.4.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
125 |
6. Menu Language Switcher
|
126 |
|
127 |
== Changelog ==
|
128 |
+
= 1.4.4 =
|
129 |
+
* Added more filters
|
130 |
+
* Make sure we do not insert empty strings in the gettext translation table
|
131 |
+
* Added support for Affiliate tracking
|
132 |
+
|
133 |
= 1.4.3 =
|
134 |
* Fixed an issue with the Language by Get Parameter add-on
|
135 |
* Added compatibility with WooCommerce PDF invoice and WooCommerce's order notes.
|