Changeset 1712354
- Timestamp:
- 08/11/2017 10:20:07 PM (9 years ago)
- Location:
- monk/trunk
- Files:
-
- 14 edited
-
CHANGELOG.md (modified) (1 diff)
-
README.txt (modified) (4 diffs)
-
admin/class-monk-admin.php (modified) (27 diffs)
-
admin/css/monk-admin.css (modified) (1 diff)
-
admin/partials/admin-monk-active-languages-render.php (modified) (1 diff)
-
includes/class-monk-activator.php (modified) (1 diff)
-
includes/class-monk-i18n.php (modified) (2 diffs)
-
includes/class-monk-links.php (modified) (2 diffs)
-
includes/class-monk.php (modified) (1 diff)
-
includes/monk-functions.php (modified) (2 diffs)
-
languages/monk.pot (modified) (7 diffs)
-
monk.php (modified) (1 diff)
-
public/class-monk-public.php (modified) (5 diffs)
-
widgets/class-monk-language-switcher.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
monk/trunk/CHANGELOG.md
r1708712 r1712354 1 1 ## Changelog 2 3 - **[0.4.1]** 4 + Fixed bug with the site front end translation when permalinks are not active 5 + Fixed Travis CI warnings 6 + Fixed compatibility bug with `get_current_screen` function calls 7 + Fixed broken archive links in the Language Switcher widget 8 + Fixed date archive links with duplicated language slug in the URLs 9 + Fixed the links coming with wrong taxonomy names in term edit pages 2 10 3 11 - **[0.4.0]** -
monk/trunk/README.txt
r1709292 r1712354 4 4 Requires at least: 4.6 5 5 Tested up to: 4.8.1 6 Stable tag: 0.4. 06 Stable tag: 0.4.1 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 71 71 == Changelog == 72 72 73 = [0.4.1] = 74 * Fixed bug with the site front end translation when permalinks are not active 75 * Fixed Travis CI warnings 76 * Fixed compatibility bug with `get_current_screen` function calls 77 * Fixed broken archive links in the Language Switcher widget 78 * Fixed date archive links with duplicated language slug in the URLs 79 * Fixed the links coming with wrong taxonomy names in term edit pages 80 73 81 = [0.4.0] = 74 82 * Added automatic language packages download. … … 78 86 * Fixed the "next and previous" post links. 79 87 80 = [0.3.1] =81 * Improved overall links structures.82 * Improved the Language Switcher widget.83 * Improved text and reading consistency.84 * Improved the post public filters.85 * Fixed date and category archive links.86 87 = [0.3.0] =88 * Added menus translation support.89 * Support us using Monk Love message.90 91 88 [See changelog for older versions](https://raw.githubusercontent.com/brenoalvs/monk/master/CHANGELOG.md) 92 89 … … 94 91 95 92 Special thanks to Lipis by [SVG country flags](https://github.com/lipis/flag-icon-css). 96 -
monk/trunk/admin/class-monk-admin.php
r1708712 r1712354 76 76 77 77 /** 78 * This function validate the get_current_screen calls. 79 * 80 * @since 0.4.1 81 * 82 * @return mixed 83 */ 84 private function get_current_screen() { 85 if ( function_exists( 'get_current_screen' ) ) { 86 $screen = get_current_screen(); 87 88 if ( is_a( $screen, 'WP_Screen' ) && ! empty( $screen ) ) { 89 return $screen; 90 } 91 } 92 93 return false; 94 } 95 96 /** 78 97 * Handle redirects to setup page after install. 79 98 * … … 85 104 if ( 'plugins.php' === $pagenow ) { 86 105 $monk_settings_notice = get_option( 'monk_settings_notice', false ); 87 $activate_multi = isset( $_GET['activate-multi'] ) ? true : false; 106 $activate_multi = filter_input( INPUT_GET, 'activate-multi' ); 107 $activate_multi = isset( $activate_multi ) ? true : false; 88 108 89 109 if ( get_transient( '_monk_redirect' ) && ! $activate_multi && $monk_settings_notice ) { … … 147 167 ); 148 168 169 register_setting( 'monk_settings', 'monk_default_language_url' ); 170 add_settings_field( 171 'monk_default_language_url', 172 __( 'Show default language in URL', 'monk' ), 173 array( $this, 'monk_default_language_url_render' ), 174 'monk_settings', 175 'monk_general_settings' 176 ); 177 149 178 register_setting( 'monk_settings', 'monk_active_languages' ); 150 179 add_settings_field( … … 163 192 'monk_settings', 164 193 'monk_tools' 165 );166 167 register_setting( 'monk_settings', 'monk_default_language_url' );168 add_settings_field(169 'monk_default_language_url',170 __( 'Show default language in URL', 'monk' ),171 array( $this, 'monk_default_language_url_render' ),172 'monk_settings',173 'monk_general_settings'174 194 ); 175 195 } … … 253 273 public function monk_default_language_render() { 254 274 $default_language = get_option( 'monk_default_language', false ); 255 require_once plugin_dir_path( __FILE__ ) . '/partials/admin-monk-default-language-render.php'; 275 $languages = get_available_languages(); 276 $args = array( 277 'id' => 'monk-default-language', 278 'name' => 'monk_default_language', 279 'selected' => $default_language, 280 'languages' => $languages, 281 ); 282 283 wp_dropdown_languages( $args ); 256 284 } 257 285 … … 314 342 315 343 if ( empty( $monk_id ) ) { 316 if ( isset( $_GET['monk_id'] ) ) { 317 $monk_id = sanitize_text_field( wp_unslash( $_GET['monk_id'] ) ); 344 $monk_id = filter_input( INPUT_GET, 'monk_id' ); 345 if ( isset( $monk_id ) ) { 346 $monk_id = sanitize_text_field( wp_unslash( $monk_id ) ); 318 347 } else { 319 348 $monk_id = $post->ID; … … 321 350 } 322 351 323 if ( isset( $_GET['lang'] ) ) { 324 $lang = sanitize_text_field( wp_unslash( $_GET['lang'] ) ); 352 $lang = filter_input( INPUT_GET, 'lang' ); 353 if ( isset( $lang ) ) { 354 $lang = sanitize_text_field( wp_unslash( $lang ) ); 325 355 } else { 326 356 $lang = $site_default_language; … … 357 387 */ 358 388 public function monk_save_post_meta_box( $post_id ) { 359 if ( ! isset( $_REQUEST['monk_post_meta_box_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['monk_post_meta_box_nonce'] ) ), basename( __FILE__ ) ) ) { 389 $monk_post_meta_box_nonce = filter_input( INPUT_POST, 'monk_post_meta_box_nonce' ); 390 if ( ! isset( $monk_post_meta_box_nonce ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $monk_post_meta_box_nonce ) ), basename( __FILE__ ) ) ) { 360 391 return; 361 392 } … … 377 408 $active_languages = get_option( 'monk_active_languages' ); 378 409 $current_language = get_post_meta( $post_id, '_monk_post_language', true ); 410 $post_language = filter_input( INPUT_POST, 'monk_post_language' ); 379 411 380 412 if ( ! $current_language ) { 381 $current_language = sanitize_text_field( wp_unslash( $ _REQUEST['monk_post_language']) );413 $current_language = sanitize_text_field( wp_unslash( $post_language ) ); 382 414 } 383 415 … … 387 419 ); 388 420 389 if ( isset( $ _REQUEST['monk_post_language'] ) && ! empty( $_REQUEST['monk_post_language']) ) {390 $language = sanitize_text_field( wp_unslash( $ _REQUEST['monk_post_language']) );421 if ( isset( $post_language ) && ! empty( $post_language ) ) { 422 $language = sanitize_text_field( wp_unslash( $post_language ) ); 391 423 392 424 if ( in_array( $language , $active_languages ) ) { … … 395 427 } 396 428 397 if ( isset( $_REQUEST['monk_id'] ) ) { 398 $monk_id = sanitize_text_field( wp_unslash( $_REQUEST['monk_id'] ) ); 429 $monk_id = filter_input( INPUT_POST, 'monk_id' ); 430 431 if ( isset( $monk_id ) ) { 432 $monk_id = sanitize_text_field( wp_unslash( $monk_id ) ); 399 433 } else { 400 434 $monk_id = get_post_meta( $post_id, '_monk_post_translations_id', true ); … … 471 505 $active_languages = get_option( 'monk_active_languages', false ); 472 506 $filter = filter_input( INPUT_GET , 'monk_language_filter' ); 507 $language = $filter; 473 508 $post_type = filter_input( INPUT_GET , 'post_type' ); 474 475 if ( ! is_customize_preview() && function_exists( 'get_current_screen' ) ) { 476 if ( 'nav-menus' === get_current_screen()->base ) { 509 $screen = $this->get_current_screen(); 510 511 if ( ! is_customize_preview() && $screen ) { 512 if ( 'nav-menus' === $screen->base ) { 477 513 $menu_id = filter_input( INPUT_GET , 'menu' ) ? filter_input( INPUT_GET , 'menu' ) : get_user_option( 'nav_menu_recently_edited' ); 478 514 $language = get_term_meta( $menu_id, '_monk_menu_language', true ); 479 515 $language = empty( $language ) ? $default_language : $language; 480 } else {481 $language = $filter;482 516 } 483 517 } … … 530 564 return $args; 531 565 } 566 567 $screen = $this->get_current_screen(); 532 568 533 569 if ( is_customize_preview() ) { … … 561 597 } 562 598 563 if ( ! is_customize_preview() ) { 564 $screen = get_current_screen(); 599 if ( ! is_customize_preview() && $screen ) { 565 600 566 601 if ( ( 'edit' === $screen->parent_base && 'post' === $screen->base ) || ( 'nav-menus' === $screen->base ) ) { … … 814 849 ); 815 850 $is_menu = 'nav_menu' === $taxonomy ? 'menu' : 'term'; 816 817 if ( isset( $_REQUEST['monk_id'] ) ) { 818 $monk_id = sanitize_text_field( wp_unslash( $_REQUEST['monk_id'] ) ); 851 $monk_id = filter_input( INPUT_POST, 'monk_id' ); 852 853 if ( isset( $monk_id ) ) { 854 $monk_id = sanitize_text_field( wp_unslash( $monk_id ) ); 819 855 $term_translations = get_option( 'monk_' . $is_menu . '_translations_' . $monk_id, array() ); 820 856 … … 940 976 $available_languages = false; 941 977 $post_type = 'none'; 978 $current_taxonomy = filter_input( INPUT_GET, 'taxonomy' ); 942 979 943 980 foreach ( $languages as $language ) { … … 948 985 949 986 foreach ( $taxonomies as $taxonomy ) { 950 if ( isset( $ _REQUEST['taxonomy']) ) {951 if ( $ _REQUEST['taxonomy']=== $taxonomy ) {987 if ( isset( $current_taxonomy ) ) { 988 if ( $current_taxonomy === $taxonomy ) { 952 989 $base_url = admin_url( 'term.php?taxonomy=' . $taxonomy ); 953 990 $new_url = add_query_arg( array( … … 977 1014 $monk_term_translations = get_option( 'monk_term_translations_' . $monk_term_translations_id, array() ); 978 1015 $available_languages = false; 979 980 foreach ( $taxonomies as $taxonomy ) { 981 if ( isset( $_GET['taxonomy'] ) ) { 982 $tax = sanitize_text_field( wp_unslash( $_GET['taxonomy'] ) ); 983 if ( $tax === $taxonomy ) { 984 $base_url = admin_url( 'edit-tags.php?taxonomy=' . $taxonomy ); 985 $base_url_translation = admin_url( 'term.php?taxonomy=' . $taxonomy ); 986 } 1016 $taxonomy = filter_input( INPUT_GET, 'taxonomy' ); 1017 1018 if ( isset( $taxonomy ) ) { 1019 $taxonomy = sanitize_text_field( wp_unslash( $taxonomy ) ); 1020 if ( in_array( $taxonomy, $taxonomies ) ) { 1021 $base_url = admin_url( 'edit-tags.php?taxonomy=' . $taxonomy ); 1022 $base_url_translation = admin_url( 'term.php?taxonomy=' . $taxonomy ); 987 1023 } 988 1024 } … … 1024 1060 */ 1025 1061 public function monk_add_attachment_translation() { 1026 $monk_id = $_REQUEST['monk_id'];1027 $current_post_id = $_REQUEST['current_post_id'];1028 $lang = $_REQUEST['lang'];1062 $monk_id = filter_input( INPUT_POST, 'monk_id' ); 1063 $current_post_id = filter_input( INPUT_POST, 'current_post_id' ); 1064 $lang = filter_input( INPUT_POST, 'lang' ); 1029 1065 $attach_path = get_attached_file( $current_post_id ); 1030 1066 $attach_url = wp_get_attachment_url( $monk_id ); … … 1083 1119 $default_language = get_option( 'monk_default_language', false ); 1084 1120 $post_translations = get_option( 'monk_post_translations_' . $monk_id, false ); 1085 $is_modal = ! isset( $_REQUEST['post'] ) ? true : false; 1121 $post = filter_input( INPUT_GET, 'post' ); 1122 $is_modal = ! isset( $post ) ? true : false; 1086 1123 $post_type = get_post_type( $post_id ); 1087 1124 $available_languages = false; … … 1161 1198 $language = get_post_meta( $post_id, '_monk_post_language', true ); 1162 1199 $new_post_language = monk_get_url_args( 'lang' ); 1163 $post_language = isset( $_REQUEST['post_id'] ) ? get_post_meta( $_REQUEST['post_id'], '_monk_post_language', true ) : ''; 1200 $requested_post_id = filter_input( INPUT_POST, 'post_id' ); 1201 $post_language = isset( $requested_post_id ) ? get_post_meta( $requested_post_id, '_monk_post_language', true ) : ''; 1164 1202 $default_language = get_option( 'monk_default_language', false ); 1165 $is_modal = ! isset( $_REQUEST['post'] ) ? true : false; 1203 $requested_post = filter_input( INPUT_POST, 'post' ); 1204 $is_modal = ! isset( $requested_post ) ? true : false; 1166 1205 $post_type = $post->post_type; 1167 1206 $is_translatable = true; … … 1277 1316 */ 1278 1317 public function medias_modal_filter( $query ) { 1279 if ( is_admin() && ( isset( $_REQUEST['post_id'] ) && '0' !== $_REQUEST['post_id'] ) && isset( $_REQUEST['action'] ) ) { 1318 $post_id = filter_input( INPUT_GET, 'post_id' ); 1319 $action = filter_input( INPUT_GET, 'action' ); 1320 1321 if ( is_admin() && ( isset( $post_id ) && '0' !== $post_id ) && isset( $action ) ) { 1280 1322 1281 1323 $default_language = get_option( 'monk_default_language' ); 1282 $post_id = $_REQUEST['post_id'];1283 1324 $language = get_post_meta( $post_id, '_monk_post_language', true ); 1284 1325 … … 1293 1334 } 1294 1335 1295 if ( 'query-attachments' === $ _REQUEST['action']) {1336 if ( 'query-attachments' === $action ) { 1296 1337 if ( $language !== $default_language ) { 1297 1338 $query->set( 'meta_key', '_monk_post_language' ); … … 1327 1368 */ 1328 1369 public function monk_add_menu_translation_fields() { 1329 if ( 'nav-menus' !== get_current_screen() -> base || 'locations' === filter_input( INPUT_GET, 'action' ) ) { 1330 return; 1370 $screen = $this->get_current_screen(); 1371 if ( $screen ) { 1372 if ( 'nav-menus' !== $screen->base || 'locations' === filter_input( INPUT_GET, 'action' ) ) { 1373 return; 1374 } 1331 1375 } 1332 1376 … … 1373 1417 */ 1374 1418 public function monk_change_nav_menu_fields() { 1375 $screen = get_current_screen()->base; 1376 1377 if ( 'nav-menus' !== $screen ) { 1419 $screen = $this->get_current_screen(); 1420 if ( $screen && 'nav-menus' !== $screen->base ) { 1378 1421 return; 1379 1422 } … … 1417 1460 public function monk_save_language_packages() { 1418 1461 if ( check_ajax_referer( '_monk_nonce', '_monk_nonce', false ) ) { 1419 global $monk_languages;1420 1421 1462 $active_languages = $_POST['monk_active_languages']; 1422 1463 … … 1448 1489 */ 1449 1490 public function monk_set_language_to_elements() { 1450 if ( check_ajax_referer( '_monk_nonce', false, false ) && filter_input( INPUT_POST, 'monk_set_language_to_elements' ) ) { 1491 if ( check_ajax_referer( '_monk_nonce', false, false ) ) { 1492 $monk_set_language_to_elements = filter_input( INPUT_POST, 'monk_set_language_to_elements' ); 1451 1493 1452 1494 global $wpdb; -
monk/trunk/admin/css/monk-admin.css
r1708712 r1712354 172 172 pointer-events: none; 173 173 } 174 175 .monk-description { 176 color: #adadad; 177 display: block; 178 font-size: 13px; 179 font-style: italic; 180 padding-left: 24px; 181 } -
monk/trunk/admin/partials/admin-monk-active-languages-render.php
r1708712 r1712354 43 43 <?php checked( $is_checked ); ?> 44 44 /> 45 <?php echo esc_html( $lang_names['english_name'] ); ?> 46 <span class="monk-description"> 45 47 <?php echo esc_html( $lang_names['native_name'] ); ?> 48 </span> 46 49 </label> 47 50 <?php endforeach; ?> -
monk/trunk/includes/class-monk-activator.php
r1708712 r1712354 31 31 $monk_languages = monk_get_available_languages(); 32 32 33 $locale = get_locale(); 34 if ( array_key_exists( $locale, $monk_languages ) ) { 35 $language = $locale; 36 } else { 37 $language = 'en_US'; 38 } 33 $language = get_locale() ? get_locale() : 'en_US'; 39 34 40 35 update_option( 'monk_default_language', $language ); -
monk/trunk/includes/class-monk-i18n.php
r1708712 r1712354 64 64 65 65 $matches = preg_split( '/(\/)/', $path, 0, PREG_SPLIT_NO_EMPTY ); 66 $slug = filter_input( INPUT_GET, 'lang' ); 66 67 67 68 if ( ! empty( $matches ) ) { … … 73 74 $locale = get_option( 'monk_default_language', false ); 74 75 } 76 } elseif ( $slug ) { 77 $locale = monk_get_locale_by_slug( $slug ); 75 78 } else { 76 79 $locale = get_option( 'monk_default_language', false ); -
monk/trunk/includes/class-monk-links.php
r1708712 r1712354 500 500 $language = ( get_query_var( 'lang' ) ) ? get_query_var( 'lang' ) : $this->site_language; 501 501 502 if ( $this->monk_using_permalinks() ) { 503 $link = $default_language_url || $language !== $default_slug ? str_replace( $this->site_home . '/' . $this->site_root, $this->site_home . '/' . $this->site_root . $language . '/', $link ) : $link; 504 } else { 502 if ( ! $this->monk_using_permalinks() ) { 505 503 $link = add_query_arg( 'lang', $language, home_url() ); 506 504 $link = add_query_arg( 'author', $author_id, $link ); … … 629 627 } 630 628 629 if ( $this->monk_using_permalinks() ) { 630 $redirect_url = remove_query_arg( 'lang', $redirect_url ); 631 } 632 631 633 // If the incoming url has a wrong language, redirect. 632 634 if ( $redirect_url && $requested_url !== $redirect_url ) { -
monk/trunk/includes/class-monk.php
r1708712 r1712354 68 68 69 69 $this->plugin_name = 'Monk'; 70 $this->version = '0.4. 0';70 $this->version = '0.4.1'; 71 71 72 72 $this->load_dependencies(); -
monk/trunk/includes/monk-functions.php
r1708712 r1712354 22 22 $languages_codes = array_keys( $monk_languages ); 23 23 24 return in_array( $language_code , $language_codes );24 return in_array( $language_code , $language_codes, true ); 25 25 } 26 26 … … 156 156 } // End if(). 157 157 158 uasort( $monk_languages, function( $a, $b ) { 159 return strcmp( $a['english_name'], $b['english_name'] ); 160 }); 161 158 162 return $monk_languages; 159 163 } -
monk/trunk/languages/monk.pot
r1708712 r1712354 2 2 # Copyright (C) 2016 3 3 # This file is distributed under the GNU General Public License v2 or later. 4 #, fuzzy5 4 msgid "" 6 5 msgstr "" 7 "Project-Id-Version: Monk " 8 "0.1.0\n" 9 "POT-Creation-Date: " 10 "2017-08-04 19:13-0300\n" 6 "Project-Id-Version: Monk 0.1.0\n" 7 "Report-Msgid-Bugs-To: Monk\n" 8 "POT-Creation-Date: 2017-08-11 17:29-0300\n" 11 9 "PO-Revision-Date: \n" 12 "Last-Translator: Breno " 13 "Alves\n" 10 "Last-Translator: Breno Alves\n" 14 11 "Language-Team: Monk\n" 15 "Report-Msgid-Bugs-To: " 16 "Monk\n" 12 "Language: en_US\n" 17 13 "MIME-Version: 1.0\n" 18 "Content-Type: text/" 19 "plain; charset=UTF-8\n" 20 "Content-Transfer-" 21 "Encoding: 8bit\n" 22 "Plural-Forms: " 23 "nplurals=2; plural=n != " 24 "1;\n" 25 "X-Textdomain-Support: " 26 "yesX-Generator: Poedit " 27 "1.6.4\n" 28 "X-Poedit-SourceCharset: " 29 "UTF-8\n" 30 "X-Poedit-KeywordsList: " 31 "__;_e;esc_html_e;" 32 "esc_html_x:1,2c;" 33 "esc_html__;esc_attr_e;" 34 "esc_attr_x:1,2c;" 35 "esc_attr__;_ex:1,2c;" 36 "_nx:4c,1,2;" 37 "_nx_noop:4c,1,2;_x:1,2c;" 38 "_n:1,2;_n_noop:1,2;" 39 "__ngettext:1,2;" 40 "__ngettext_noop:1,2;_c," 41 "_nc:4c,1,2\n" 14 "Content-Type: text/plain; charset=UTF-8\n" 15 "Content-Transfer-Encoding: 8bit\n" 16 "Plural-Forms: nplurals=2; plural=n != 1;\n" 17 "X-Textdomain-Support: yesX-Generator: Poedit 1.6.4\n" 18 "X-Poedit-SourceCharset: UTF-8\n" 19 "X-Poedit-KeywordsList: __;_e;esc_html_e;esc_html_x:1,2c;esc_html__;" 20 "esc_attr_e;esc_attr_x:1,2c;esc_attr__;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;" 21 "_x:1,2c;_n:1,2;_n_noop:1,2;__ngettext:1,2;__ngettext_noop:1,2;_c,_nc:4c,1,2\n" 42 22 "X-Poedit-Basepath: ..\n" 43 "Language: en_US\n" 44 "X-Generator: Poedit " 45 "2.0.3\n" 46 "X-Poedit-" 47 "SearchPath-0: .\n" 48 49 #: admin/class-monk-admin.php:105 23 "X-Generator: Poedit 1.5.4\n" 24 "X-Poedit-SearchPath-0: .\n" 25 26 #: includes/monk-available-languages.php:15 27 msgid "Danish" 28 msgstr "" 29 30 #: includes/monk-available-languages.php:20 31 msgid "English" 32 msgstr "" 33 34 #: includes/monk-available-languages.php:25 35 msgid "French" 36 msgstr "" 37 38 #: includes/monk-available-languages.php:30 39 msgid "German" 40 msgstr "" 41 42 #: includes/monk-available-languages.php:35 43 msgid "Italian" 44 msgstr "" 45 46 #: includes/monk-available-languages.php:40 47 msgid "Japanese" 48 msgstr "" 49 50 #: includes/monk-available-languages.php:45 51 msgid "Portuguese (Brazil)" 52 msgstr "" 53 54 #: includes/monk-available-languages.php:50 55 msgid "Russian" 56 msgstr "" 57 58 #: includes/monk-available-languages.php:55 59 msgid "Spanish" 60 msgstr "" 61 62 #: includes/monk-functions.php:100 63 msgid "English (United States)" 64 msgstr "" 65 66 #: widgets/class-monk-language-switcher.php:32 67 msgid "Switch between site translations." 68 msgstr "" 69 70 #: widgets/class-monk-language-switcher.php:34 admin/class-monk-admin.php:654 71 msgid "Language Switcher" 72 msgstr "" 73 74 #: widgets/class-monk-language-switcher.php:49 75 #: widgets/partials/admin-monk-language-switcher.php:16 76 msgid "Languages" 77 msgstr "" 78 79 #: widgets/partials/admin-monk-language-switcher.php:21 80 msgid "Title: " 81 msgstr "" 82 83 #: widgets/partials/admin-monk-language-switcher.php:25 84 msgid "Hide Flags" 85 msgstr "" 86 87 #: widgets/partials/admin-monk-language-switcher.php:29 88 msgid "Monk Love" 89 msgstr "" 90 91 #: widgets/partials/public-monk-language-switcher.php:43 92 msgid "No other translations" 93 msgstr "" 94 95 #: widgets/partials/public-monk-language-switcher.php:66 96 #, php-format 97 msgid "Made with %1$s by %2$s" 98 msgstr "" 99 100 #: admin/class-monk-admin.php:125 50 101 msgid "Monk Settings" 51 102 msgstr "" 52 103 53 #: admin/class-monk-admin.php:1 27104 #: admin/class-monk-admin.php:147 54 105 msgid "General Settings" 55 106 msgstr "" 56 107 57 #: admin/class-monk-admin.php:1 34108 #: admin/class-monk-admin.php:154 58 109 #: admin/partials/admin-monk-settings-tabs-render.php:18 59 110 msgid "Tools" 60 111 msgstr "" 61 112 62 #: admin/class-monk-admin.php:143 63 msgid "" 64 "Default site language" 65 msgstr "" 66 67 #: admin/class-monk-admin.php:152 113 #: admin/class-monk-admin.php:163 114 msgid "Default site language" 115 msgstr "" 116 117 #: admin/class-monk-admin.php:172 118 msgid "Show default language in URL" 119 msgstr "" 120 121 #: admin/class-monk-admin.php:181 68 122 #: admin/partials/admin-monk-post-meta-box-field-render.php:80 69 123 msgid "Add new translation" 70 124 msgstr "" 71 125 72 #: admin/class-monk-admin.php:161 126 #: admin/class-monk-admin.php:190 127 msgid "Set default language to all posts and terms" 128 msgstr "" 129 130 #: admin/class-monk-admin.php:218 131 msgid "Here you can configure your language preferences." 132 msgstr "" 133 134 #: admin/class-monk-admin.php:219 73 135 msgid "" 74 "Set default language to " 75 "all posts and terms" 76 msgstr "" 77 78 #: admin/class-monk-admin.php:170 79 msgid "" 80 "Show default language in " 81 "URL" 82 msgstr "" 83 84 #: admin/class-monk-admin.php:198 85 msgid "" 86 "Here you can configure " 87 "your language " 88 "preferences." 89 msgstr "" 90 91 #: admin/class-monk-admin.php:199 92 msgid "" 93 "Select a default " 94 "language for your site " 95 "and check the languages " 96 "you will translate." 97 msgstr "" 98 99 #: admin/class-monk-admin.php:290 100 #: admin/class-monk-admin.php:726 101 #: admin/class-monk-admin.php:1199 136 "Select a default language for your site and check the languages you will " 137 "translate." 138 msgstr "" 139 140 #: admin/class-monk-admin.php:318 admin/class-monk-admin.php:761 141 #: admin/class-monk-admin.php:1238 142 #: admin/partials/admin-monk-language-update-term.php:20 102 143 #: admin/partials/admin-monk-language-term.php:19 103 144 #: admin/partials/admin-monk-language-term.php:39 104 #: admin/partials/admin-monk-language-update-term.php:20105 145 msgid "Language" 106 146 msgstr "" 107 147 108 #: admin/class-monk-admin.php:619 109 #: widgets/class-monk-language-switcher.php:34 110 msgid "Language Switcher" 111 msgstr "" 112 113 #: admin/class-monk-admin.php:634 148 #: admin/class-monk-admin.php:669 114 149 msgid "Background" 115 150 msgstr "" 116 151 117 #: admin/class-monk-admin.php:6 49152 #: admin/class-monk-admin.php:684 118 153 msgid "Text" 119 154 msgstr "" 120 155 121 #: admin/class-monk-admin.php:6 64156 #: admin/class-monk-admin.php:699 122 157 msgid "Background Hover" 123 158 msgstr "" 124 159 125 #: admin/class-monk-admin.php: 679160 #: admin/class-monk-admin.php:714 126 161 msgid "Text Hover" 127 162 msgstr "" 128 163 129 #: admin/class-monk-admin.php:1106 130 msgid "" 131 "No translations available" 132 msgstr "" 133 134 #: admin/class-monk-admin.php:1205 164 #: admin/class-monk-admin.php:1143 165 msgid "No translations available" 166 msgstr "" 167 168 #: admin/class-monk-admin.php:1244 135 169 msgid "Translate" 170 msgstr "" 171 172 #: admin/partials/admin-monk-select-menu-to-edit-render.php:35 173 #, php-format 174 msgid "Translations of %s" 175 msgstr "" 176 177 #: admin/partials/admin-monk-select-menu-to-edit-render.php:55 178 msgid "— Select a Menu —" 179 msgstr "" 180 181 #: admin/partials/admin-monk-select-menu-to-edit-render.php:113 182 msgid "None" 183 msgstr "" 184 185 #: admin/partials/monk-language-filter.php:20 186 msgid "All Languages" 187 msgstr "" 188 189 #: admin/partials/admin-monk-settings-tabs-render.php:17 190 msgid "General" 191 msgstr "" 192 193 #: admin/partials/admin-monk-term-translation.php:21 194 #: admin/partials/admin-monk-post-meta-box-field-render.php:74 195 msgid "Translations" 196 msgstr "" 197 198 #: admin/partials/admin-monk-term-translation.php:47 199 msgid "Add a translation +" 200 msgstr "" 201 202 #: admin/partials/admin-monk-term-translation.php:50 203 msgid "You must set a language before add translations." 136 204 msgstr "" 137 205 … … 145 213 #: admin/partials/admin-monk-language-selector-render.php:54 146 214 #: admin/partials/admin-monk-menu-translation-fields-render.php:24 215 msgid "No more languages available." 216 msgstr "" 217 218 #: admin/partials/admin-monk-notice-render.php:13 219 msgid "Monk: " 220 msgstr "" 221 222 #: admin/partials/admin-monk-notice-render.php:13 223 msgid "You need to " 224 msgstr "" 225 226 #: admin/partials/admin-monk-notice-render.php:14 227 msgid "configure your language preferences" 228 msgstr "" 229 230 #: admin/partials/admin-monk-settings-render.php:49 231 msgid "Select the checkbox." 232 msgstr "" 233 234 #: admin/partials/admin-monk-settings-render.php:50 235 msgid "Defining language for posts and terms..." 236 msgstr "" 237 238 #: admin/partials/admin-monk-settings-render.php:52 239 msgid "Downloading packages..." 240 msgstr "" 241 242 #: admin/partials/admin-monk-settings-render.php:54 243 msgid "Done!" 244 msgstr "" 245 246 #: admin/partials/admin-monk-settings-render.php:55 247 msgid "Error. Try again." 248 msgstr "" 249 250 #: admin/partials/admin-monk-tools-description.php:17 147 251 msgid "" 148 "No more languages " 149 "available." 252 "Here you can set default language to all posts and terms without language." 253 msgstr "" 254 255 #: admin/partials/admin-monk-tools-description.php:18 256 msgid "Mark the checkbox and click on \"Save Changes\" to confirm." 257 msgstr "" 258 259 #: admin/partials/monk-language-column.php:29 260 #: admin/partials/admin-monk-post-meta-box-field-render.php:78 261 msgid "Add+" 262 msgstr "" 263 264 #: admin/partials/monk-language-column.php:34 265 msgid "No language" 150 266 msgstr "" 151 267 152 268 #: admin/partials/admin-monk-language-term.php:50 153 msgid "" 154 "This is a translation of " 269 msgid "This is a translation of " 155 270 msgstr "" 156 271 … … 164 279 165 280 #: admin/partials/admin-monk-menu-translation-fields-render.php:65 166 msgid "" 167 "This menu does not have " 168 "translations. " 281 msgid "This menu does not have translations. " 169 282 msgstr "" 170 283 171 284 #: admin/partials/admin-monk-menu-translation-fields-render.php:67 172 msgid "" 173 "You can add one here. " 174 msgstr "" 175 176 #: admin/partials/admin-monk-notice-render.php:13 177 msgid "Monk: " 178 msgstr "" 179 180 #: admin/partials/admin-monk-notice-render.php:13 181 msgid "You need to " 182 msgstr "" 183 184 #: admin/partials/admin-monk-notice-render.php:14 185 msgid "" 186 "configure your language " 187 "preferences" 285 msgid "You can add one here. " 188 286 msgstr "" 189 287 … … 192 290 msgstr "" 193 291 194 #. translators: This is a message to display the post being translated195 292 #: admin/partials/admin-monk-post-meta-box-field-render.php:57 196 293 #, php-format … … 198 295 msgstr "" 199 296 200 #: admin/partials/admin-monk-post-meta-box-field-render.php:74201 #: admin/partials/admin-monk-term-translation.php:21202 msgid "Translations"203 msgstr ""204 205 #: admin/partials/admin-monk-post-meta-box-field-render.php:78206 #: admin/partials/monk-language-column.php:29207 msgid "Add+"208 msgstr ""209 210 297 #: admin/partials/admin-monk-post-meta-box-field-render.php:150 211 298 #: admin/partials/admin-monk-post-meta-box-field-render.php:189 … … 218 305 219 306 #: admin/partials/admin-monk-post-meta-box-field-render.php:167 220 msgid "" 221 "Change current language" 307 msgid "Change current language" 222 308 msgstr "" 223 309 224 310 #: admin/partials/admin-monk-post-meta-box-field-render.php:208 225 msgid "" 226 "Not translated, add one" 227 msgstr "" 228 229 #. translators: This is a label to display the translations group 230 #: admin/partials/admin-monk-select-menu-to-edit-render.php:35 231 #, php-format 232 msgid "Translations of %s" 233 msgstr "" 234 235 #: admin/partials/admin-monk-select-menu-to-edit-render.php:55 236 msgid "— Select a Menu —" 237 msgstr "" 238 239 #: admin/partials/admin-monk-select-menu-to-edit-render.php:113 240 msgid "None" 241 msgstr "" 242 243 #: admin/partials/admin-monk-settings-render.php:49 244 msgid "" 245 "Select the checkbox." 246 msgstr "" 247 248 #: admin/partials/admin-monk-settings-render.php:50 249 msgid "" 250 "Defining language for " 251 "posts and terms..." 252 msgstr "" 253 254 #: admin/partials/admin-monk-settings-render.php:52 255 msgid "" 256 "Downloading packages..." 257 msgstr "" 258 259 #: admin/partials/admin-monk-settings-render.php:54 260 msgid "Done!" 261 msgstr "" 262 263 #: admin/partials/admin-monk-settings-render.php:55 264 msgid "Error. Try again." 265 msgstr "" 266 267 #: admin/partials/admin-monk-settings-tabs-render.php:17 268 msgid "General" 269 msgstr "" 270 271 #: admin/partials/admin-monk-term-translation.php:47 272 msgid "Add a translation +" 273 msgstr "" 274 275 #: admin/partials/admin-monk-term-translation.php:50 276 msgid "" 277 "You must set a language " 278 "before add translations." 279 msgstr "" 280 281 #: admin/partials/admin-monk-tools-description.php:16 282 msgid "" 283 "Here you can option to " 284 "set default language to " 285 "all posts and terms " 286 "without language." 287 msgstr "" 288 289 #: admin/partials/admin-monk-tools-description.php:17 290 msgid "" 291 "Check the checkbox to " 292 "confirm." 311 msgid "Not translated, add one" 293 312 msgstr "" 294 313 295 314 #: admin/partials/admin-monk-widget-notice.php:24 296 msgid "" 297 "Remember to activate the " 315 msgid "Remember to activate the " 298 316 msgstr "" 299 317 … … 301 319 msgid "language switcher." 302 320 msgstr "" 303 304 #: admin/partials/monk-language-column.php:34305 msgid "No language"306 msgstr ""307 308 #: admin/partials/monk-language-filter.php:20309 msgid "All Languages"310 msgstr ""311 312 #: includes/monk-available-languages.php:15313 msgid "Danish"314 msgstr ""315 316 #: includes/monk-available-languages.php:20317 msgid "English"318 msgstr ""319 320 #: includes/monk-available-languages.php:25321 msgid "French"322 msgstr ""323 324 #: includes/monk-available-languages.php:30325 msgid "German"326 msgstr ""327 328 #: includes/monk-available-languages.php:35329 msgid "Italian"330 msgstr ""331 332 #: includes/monk-available-languages.php:40333 msgid "Japanese"334 msgstr ""335 336 #: includes/monk-available-languages.php:45337 msgid "Portuguese (Brazil)"338 msgstr ""339 340 #: includes/monk-available-languages.php:50341 msgid "Russian"342 msgstr ""343 344 #: includes/monk-available-languages.php:55345 msgid "Spanish"346 msgstr ""347 348 #: includes/monk-functions.php:100349 msgid ""350 "English (United States)"351 msgstr ""352 353 #: widgets/class-monk-language-switcher.php:32354 msgid ""355 "Switch between site "356 "translations."357 msgstr ""358 359 #: widgets/class-monk-language-switcher.php:49360 #: widgets/partials/admin-monk-language-switcher.php:16361 msgid "Languages"362 msgstr ""363 364 #: widgets/partials/admin-monk-language-switcher.php:21365 msgid "Title: "366 msgstr ""367 368 #: widgets/partials/admin-monk-language-switcher.php:25369 msgid "Hide Flags"370 msgstr ""371 372 #: widgets/partials/admin-monk-language-switcher.php:29373 msgid "Monk Love"374 msgstr ""375 376 #. translators: This is a message that says a content has no translations377 #: widgets/partials/public-monk-language-switcher.php:43378 msgid ""379 "No other translations"380 msgstr ""381 382 #. translators: This is a message to say the user is with us383 #: widgets/partials/public-monk-language-switcher.php:66384 #, php-format385 msgid ""386 "Made with %1$s by %2$s"387 msgstr "" -
monk/trunk/monk.php
r1708712 r1712354 2 2 /** 3 3 * Plugin Name: Monk 4 * Plugin URI: https:// github.com/brenoalvs/monk4 * Plugin URI: https://wordpress.org/plugins/monk 5 5 * Description: Monk is a lightweight translation plugin to make your content reach the world. 6 * Version: 0.4. 06 * Version: 0.4.1 7 7 * Author: Breno Alves 8 8 * Author URI: https://github.com/brenoalvs -
monk/trunk/public/class-monk-public.php
r1708712 r1712354 94 94 $query_args = array(); 95 95 $default_language = get_option( 'monk_default_language', false ); 96 $active_languages = get_option( 'monk_active_languages', false ); 96 97 $default_slug = $monk_languages[ $default_language ]['slug']; 97 98 $current_language = get_query_var( 'lang', $default_slug ); 98 99 $current_language = monk_get_locale_by_slug( $current_language ); 99 100 100 if ( ! $current_language || $default_language === $current_language ) { 101 $query_args[] = array( 102 'relation' => 'OR', 103 array( 104 'key' => '_monk_post_language', 105 'value' => $default_language, 106 'compare' => '=', 107 ), 108 array( 109 'key' => '_monk_post_language', 110 'compare' => 'NOT EXISTS', 111 ), 112 ); 113 } else { 101 if ( $current_language && in_array( $current_language, $active_languages ) ) { 114 102 $query_args[] = array( 115 103 'key' => '_monk_post_language', … … 117 105 'compare' => '=', 118 106 ); 107 } else { 108 $query_args[] = array( 109 'relation' => 'OR', 110 array( 111 'key' => '_monk_post_language', 112 'value' => $default_language, 113 'compare' => '=', 114 ), 115 array( 116 'key' => '_monk_post_language', 117 'compare' => 'NOT EXISTS', 118 ), 119 ); 119 120 } 120 121 … … 138 139 139 140 $default_language = get_option( 'monk_default_language', false ); 141 $active_languages = get_option( 'monk_active_languages', false ); 140 142 $default_slug = $monk_languages[ $default_language ]['slug']; 141 143 $current_language = get_query_var( 'lang', $default_slug ); 142 144 $current_language = monk_get_locale_by_slug( $current_language ); 143 145 144 if ( ! $current_language || $default_language === $current_language ) { 146 if ( $current_language && in_array( $current_language, $active_languages ) ) { 147 $args['meta_query'] = array( 148 array( 149 'key' => '_monk_term_language', 150 'value' => $current_language, 151 'compare' => '=', 152 ), 153 ); 154 } else { 145 155 $args['meta_query'] = array( 146 156 'relation' => 'OR', … … 153 163 'key' => '_monk_term_language', 154 164 'compare' => 'NOT EXISTS', 155 ),156 );157 } else {158 $args['meta_query'] = array(159 array(160 'key' => '_monk_term_language',161 'value' => $current_language,162 'compare' => '=',163 165 ), 164 166 ); … … 183 185 184 186 if ( $language ) { 185 $language = monk_get_locale_by_slug( $language );187 $language = monk_get_locale_by_slug( $language ); 186 188 187 189 if ( array_key_exists( $location, $menus ) ) { -
monk/trunk/widgets/class-monk-language-switcher.php
r1708712 r1712354 56 56 $default_slug = $monk_languages[ $default_language ]['slug']; 57 57 $has_default_language_url = get_option( 'monk_default_language_url', false ); 58 59 if ( get_query_var( 'lang' ) ) { 58 $current_locale = monk_get_locale_by_slug( get_query_var( 'lang' ) ); 59 60 if ( get_query_var( 'lang' ) && in_array( $current_locale, $active_languages ) ) { 60 61 $current_language = sanitize_text_field( get_query_var( 'lang' ) ); 61 62 } else { 62 $code = get_option( 'monk_default_language', false ); 63 $current_language = $monk_languages[ $code ]['slug']; 63 $current_language = $monk_languages[ $default_language ]['slug']; 64 64 } 65 65 … … 89 89 } else { 90 90 if ( dirname( $_SERVER['PHP_SELF'] ) === '\\' || dirname( $_SERVER['PHP_SELF'] ) === '/' ) { 91 $current_url = trailingslashit( $current_url ) . $lang_code;91 $current_url = str_replace( home_url(), home_url() . $lang_code . '/', $current_url ); 92 92 } else { 93 93 $current_url = str_replace( dirname( $_SERVER['PHP_SELF'] ), trailingslashit( dirname( $_SERVER['PHP_SELF'] ) ) . $lang_code, $current_url ); … … 99 99 $switchable_languages[ $lang_code ] = remove_query_arg( 'lang', $current_url ); 100 100 } else { 101 $switchable_languages[ $lang_code ] = add_query_arg( 'lang', esc_attr( $lang_code, 'monk' ), trailingslashit( $current_url) );101 $switchable_languages[ $lang_code ] = add_query_arg( 'lang', sanitize_key( $lang_code ) ); 102 102 } 103 103 }
Note: See TracChangeset
for help on using the changeset viewer.