Skip to content
This repository was archived by the owner on Feb 29, 2024. It is now read-only.

Commit 57ff291

Browse files
committed
Merge branch 'release/1.7.4'
2 parents f03e071 + 5a8f899 commit 57ff291

File tree

204 files changed

+444
-332
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

204 files changed

+444
-332
lines changed

README.md

+35-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,24 @@ Supports automatically redirect to the user's browser language, if he went to th
112112

113113
Update translation occurs at PHP. Therefore plugin has high adaptability, compatibility and easily integrates with other plugins. This is what distinguishes it among similar.
114114

115-
Translation uses the following syntax:
115+
Available translation html tags by JS for strings what do not have WP filters before output.
116+
117+
Add your tags in config:
118+
```
119+
"admin_html_tags": {
120+
"admin_screen_id": {
121+
"attribute": [
122+
"selector"
123+
]
124+
}
125+
}
126+
```
127+
Where:
128+
`admin_screen_id` - admin screen id.
129+
`attribute` - attribute what need to translate. Available `text` - for translate text node, `value` - for translate form values. Or other tag attribute, like `title`, `alt`.
130+
`selector` - javascript selector for search needed tag. Each selector is a new array item.
131+
132+
Translation uses the syntax:
116133
```
117134
[:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut
118135
```
@@ -231,6 +248,23 @@ wpm_translate_value( $value, $language = '' ); // translate multidimensional arr
231248

232249
Оновлення перекладів відбувається на рівні PHP. Тому плаґін має високу адаптивність, сумісність та легко інтегрується з іншими плаґінами. Саме це вирізняє його серед подібних.
233250

251+
Є можливість перекладати html теґи через JS для рядків, що не мають WP фільтрів перед виводом.
252+
253+
Додайте ваші теґи у конфіґ:
254+
```
255+
"admin_html_tags": {
256+
"admin_screen_id": {
257+
"attribute": [
258+
"selector"
259+
]
260+
}
261+
}
262+
```
263+
Де:
264+
`admin_screen_id` - screen_id екрану адмін панелі.
265+
`attribute` - атрибут, що потрібно перекласти. Доступні `text` - для перекладу текстового вузла, `value` - для перекладу значень елементів форми. Або інші атрибути теґів , як `title`, `alt`.
266+
`selector` - javascript селектор для пошуку потрібного теґу. Кожен теґ це новий елемент масиву.
267+
234268
Використовує такий синтаксис перекладу:
235269
```
236270
[:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut

assets/scripts/main.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@
5353

5454
$('#add_lang').click(function(){
5555
var t_language = wp.template( 'wpm-add-lang' );
56-
var language = wpm_params.available_translations[$('#wpm-available-translations').val()];
56+
var language_val = $('#wpm-available-translations').val();
57+
if (!language_val) {
58+
return false;
59+
}
60+
var language = wpm_params.available_translations[language_val];
5761
if (typeof language === 'undefined') {
5862
language = {
5963
language: '',

assets/scripts/main.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/styles/admin/admin.css

+2-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/styles/admin/admin.css.map

+16-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/styles/admin/admin.min.css

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/styles/main.css

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/styles/main.css.map

+15-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/styles/main.min.css

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

configs/buddypress.json

+8-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,12 @@
99
},
1010
"admin_pages": [
1111
"users_page_bp-profile-setup"
12-
]
12+
],
13+
"admin_html_tags": {
14+
"users_page_bp-profile-setup": {
15+
"text": [
16+
".field-wrapper .description"
17+
]
18+
}
19+
}
1320
}

configs/nextgen-gallery.json

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
{
22
"post_types": {
33
"displayed_gallery": {}
4+
},
5+
"options": {
6+
"ngg_options": {
7+
"relatedHeading": {},
8+
"galTextSlide": {},
9+
"galTextGallery": {}
10+
}
411
}
512
}

core-config.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"nav_menu_item": {
77
"attr_title": {},
88
"title": {}
9-
}
9+
},
10+
"any": {}
1011
},
1112
"post_fields": {
1213
"_wp_attachment_image_alt": {}
@@ -44,5 +45,6 @@
4445
"alt": {},
4546
"image_title": {}
4647
}
47-
}
48+
},
49+
"admin_html_tags": {}
4850
}

core/admin/class-wpm-admin-assets.php

+43-22
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* @category Admin
77
* @package WPM/Core/Admin
88
* @class WPM_Admin_Assets
9-
* @version 1.0.3
9+
* @version 1.0.4
1010
*/
1111

1212
namespace WPM\Core\Admin;
@@ -32,9 +32,10 @@ public function __construct() {
3232
* Enqueue styles.
3333
*/
3434
public function admin_styles() {
35+
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
3536

3637
// Register admin styles
37-
wp_enqueue_style( 'wpm_language_switcher', wpm_asset_path( 'styles/admin/admin.css' ), array(), WPM_VERSION );
38+
wp_enqueue_style( 'wpm_language_switcher', wpm_asset_path( 'styles/admin/admin' . $suffix . '.css' ), array(), WPM_VERSION );
3839
}
3940

4041

@@ -75,40 +76,38 @@ public function admin_scripts() {
7576
);
7677
wp_localize_script( 'wpm_translator', 'wpm_translator_params', $translator_params );
7778

79+
if ( is_null( $screen ) ) {
80+
return;
81+
}
82+
7883
if ( 'customize' === $screen_id ) {
7984

8085
$languages = wpm_get_languages();
81-
if ( count( $languages ) <= 1 ) {
82-
return;
86+
if ( count( $languages ) > 1 ) {
87+
wp_enqueue_script( 'wpm_language_switcher_customizer' );
88+
add_action( 'admin_print_footer_scripts', function () {
89+
echo wpm_get_template_html( 'language-switcher-customizer.php' );
90+
} );
8391
}
84-
85-
wp_enqueue_script( 'wpm_language_switcher_customizer' );
86-
add_action( 'admin_print_footer_scripts', function () {
87-
echo wpm_get_template_html( 'language-switcher-customizer.php' );
88-
} );
8992
}
9093

9194
$show_switcher = false;
95+
$posts_config = $config['post_types'];
9296

93-
$admin_pages_config = apply_filters( 'wpm_admin_pages', $config['admin_pages'] );
94-
95-
if ( in_array( $screen_id, $admin_pages_config, true ) ) {
97+
if ( $screen->post_type && ! is_null( $posts_config [ $screen->post_type ] ) && ( ( $screen_id == $screen->post_type ) || ( 'edit-' . $screen->post_type == $screen_id ) ) ) {
9698
$show_switcher = true;
9799
}
98100

99-
if ( ! is_null( $screen ) ) {
100-
101-
$posts_config = $config['post_types'];
101+
$taxonomies_config = $config['taxonomies'];
102102

103-
if ( $screen->post_type && ! is_null( $posts_config [ $screen->post_type ] ) && ! $screen->taxonomy ) {
104-
$show_switcher = true;
105-
}
103+
if ( $screen->taxonomy && ! is_null( $taxonomies_config[ $screen->taxonomy ] ) && ( 'edit-' . $screen->taxonomy == $screen_id ) ) {
104+
$show_switcher = true;
105+
}
106106

107-
$taxonomies_config = $config['taxonomies'];
107+
$admin_pages_config = apply_filters( 'wpm_admin_pages', $config['admin_pages'] );
108108

109-
if ( $screen->taxonomy && ! is_null( $taxonomies_config[ $screen->taxonomy ] ) ) {
110-
$show_switcher = true;
111-
}
109+
if ( in_array( $screen_id, $admin_pages_config, true ) ) {
110+
$show_switcher = true;
112111
}
113112

114113
if ( $show_switcher ) {
@@ -118,6 +117,28 @@ public function admin_scripts() {
118117
if ( 'options-general' === $screen_id ) {
119118
wp_enqueue_script( 'wpm_main' );
120119
}
120+
121+
$admin_html_tags = apply_filters( 'wpm_admin_html_tags', $config['admin_html_tags'] );
122+
123+
foreach ( $admin_html_tags as $html_screen => $html_config ) {
124+
if ( $html_screen === $screen_id ) {
125+
wp_enqueue_script( 'wpm_translator' );
126+
$js_code = '(function ( $ ) {';
127+
foreach ( $html_config as $attr => $selector ) {
128+
$js_code .= '$( "' . implode( ', ', $selector ) . '" ).each( function () {';
129+
if ( 'text' == $attr ) {
130+
$js_code .= '$(this).text(wpm_translator.translate_string($(this).text()));';
131+
} elseif ( 'value' == $attr ) {
132+
$js_code .= '$(this).val(wpm_translator.translate_string($(this).val()));';
133+
} else {
134+
$js_code .= '$(this).attr("' . $attr . '", wpm_translator.translate_string($(this).attr("' . $attr . '")));';
135+
}
136+
$js_code .= '} );';
137+
}
138+
$js_code .= '})( window.jQuery );';
139+
wpm_enqueue_js( $js_code );
140+
}
141+
}
121142
}
122143

123144
/**

0 commit comments

Comments
 (0)