Changeset 3250588
- Timestamp:
- 03/04/2025 05:02:10 PM (10 months ago)
- Location:
- polylang/trunk
- Files:
-
- 19 edited
-
include/Options/Abstract_Option.php (modified) (1 diff)
-
include/Options/Business/Browser.php (modified) (1 diff)
-
include/Options/Business/Domains.php (modified) (2 diffs)
-
include/Options/Business/Hide_Default.php (modified) (1 diff)
-
include/Options/Business/Media_Support.php (modified) (1 diff)
-
include/Options/Business/Redirect_Lang.php (modified) (1 diff)
-
include/Options/Business/Rewrite.php (modified) (1 diff)
-
include/Options/Options.php (modified) (1 diff)
-
install/plugin-updater.php (modified) (2 diffs)
-
integrations/cache/cache-compat.php (modified) (3 diffs)
-
js/build/term.js (modified) (2 diffs)
-
js/build/term.min.js (modified) (1 diff)
-
modules/REST/V1/Languages.php (modified) (3 diffs)
-
modules/site-health/admin-site-health.php (modified) (1 diff)
-
modules/wizard/view-wizard-step-licenses.php (modified) (1 diff)
-
polylang.php (modified) (2 diffs)
-
readme.txt (modified) (3 diffs)
-
settings/settings-url.php (modified) (2 diffs)
-
vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
polylang/trunk/include/Options/Abstract_Option.php
r3243124 r3250588 256 256 */ 257 257 protected function add_unknown_languages_warning( array $language_slugs ): void { 258 if ( 1 === count( $language_slugs ) ) { 259 /* translators: %s is a language slug. */ 260 $message = __( 'The language %s is unknown and has been discarded.', 'polylang' ); 261 } else { 262 /* translators: %s is a list of language slugs. */ 263 $message = __( 'The languages %s are unknown and have been discarded.', 'polylang' ); 264 } 265 258 266 $this->errors->add( 259 267 sprintf( 'pll_unknown_%s_languages', static::key() ), 260 268 sprintf( 261 /* translators: %s is a list of language slugs. */ 262 _n( 'The language %s is unknown and has been discarded.', 'The languages %s are unknown and have been discarded.', count( $language_slugs ), 'polylang' ), 269 $message, 263 270 wp_sprintf_l( 264 271 '%l', -
polylang/trunk/include/Options/Business/Browser.php
r3243124 r3250588 62 62 */ 63 63 protected function get_description(): string { 64 return __( 'Detect preferred browser language on front page: true to detect, false to not detect.', 'polylang' ); 64 return sprintf( 65 /* translators: %1$s and %2$s are "true/false" values. */ 66 __( 'Detect preferred browser language on front page: %1$s to detect, %2$s to not detect.', 'polylang' ), 67 '`true`', 68 '`false`' 69 ); 65 70 } 66 71 } -
polylang/trunk/include/Options/Business/Domains.php
r3243124 r3250588 126 126 if ( 3 === $options->get( 'force_lang' ) && ! empty( $missing_langs ) ) { 127 127 // Non-blocking error. 128 if ( 1 === count( $missing_langs ) ) { 129 /* translators: %s is a native language name. */ 130 $message = __( 'Please enter a valid URL for %s.', 'polylang' ); 131 } else { 132 /* translators: %s is a list of native language names. */ 133 $message = __( 'Please enter valid URLs for %s.', 'polylang' ); 134 } 135 128 136 $this->errors->add( 129 137 'pll_empty_domains', 130 sprintf( 131 /* translators: %s is a list of native language names. */ 132 _n( 'Please enter a valid URL for %s.', 'Please enter valid URLs for %s.', count( $missing_langs ), 'polylang' ), 133 wp_sprintf_l( '%l', $missing_langs ) 134 ), 138 sprintf( $message, wp_sprintf_l( '%l', $missing_langs ) ), 135 139 'warning' 136 140 ); … … 153 157 if ( ! empty( $failed_urls ) ) { 154 158 // Non-blocking error. 159 if ( 1 === count( $failed_urls ) ) { 160 /* translators: %s is a URL. */ 161 $message = __( 'Polylang was unable to access the %s URL. Please check that the URL is valid.', 'polylang' ); 162 } else { 163 /* translators: %s is a list of URLs. */ 164 $message = __( 'Polylang was unable to access the %s URLs. Please check that the URLs are valid.', 'polylang' ); 165 } 155 166 $this->errors->add( 156 167 'pll_invalid_domains', 157 sprintf( 158 /* translators: %s is a list of URLs. */ 159 _n( 'Polylang was unable to access the %s URL. Please check that the URL is valid.', 'Polylang was unable to access the %s URLs. Please check that the URLs are valid.', count( $failed_urls ), 'polylang' ), 160 wp_sprintf_l( '%l', $failed_urls ) 161 ), 168 sprintf( $message, wp_sprintf_l( '%l', $failed_urls ) ), 162 169 'warning' 163 170 ); -
polylang/trunk/include/Options/Business/Hide_Default.php
r3243124 r3250588 71 71 */ 72 72 protected function get_description(): string { 73 return __( 'Remove the language code in URL for the default language: true to hide, false to display.', 'polylang' ); 73 return sprintf( 74 /* translators: %1$s and %2$s are "true/false" values. */ 75 __( 'Remove the language code in URL for the default language: %1$s to hide, %2$s to display.', 'polylang' ), 76 '`true`', 77 '`false`' 78 ); 74 79 } 75 80 } -
polylang/trunk/include/Options/Business/Media_Support.php
r3243124 r3250588 38 38 */ 39 39 protected function get_description(): string { 40 return __( 'Translate media: true to translate, false otherwise.', 'polylang' ); 40 return sprintf( 41 /* translators: %1$s and %2$s are "true/false" values. */ 42 __( 'Translate media: %1$s to translate, %2$s otherwise.', 'polylang' ), 43 '`true`', 44 '`false`' 45 ); 41 46 } 42 47 } -
polylang/trunk/include/Options/Business/Redirect_Lang.php
r3243124 r3250588 39 39 */ 40 40 protected function get_description(): string { 41 return __( 'Remove the page name or page id from the URL of the front page: true to remove, false to keep.', 'polylang' ); 41 return sprintf( 42 /* translators: %1$s and %2$s are "true/false" values. */ 43 __( 'Remove the page name or page ID from the URL of the front page: %1$s to remove, %2$s to keep.', 'polylang' ), 44 '`true`', 45 '`false`' 46 ); 42 47 } 43 48 } -
polylang/trunk/include/Options/Business/Rewrite.php
r3243124 r3250588 50 50 */ 51 51 protected function get_description(): string { 52 return __( 'Remove /language/ in pretty permalinks: true to remove, false to keep.', 'polylang' ); 52 return sprintf( 53 /* translators: %1$s is a URL slug: `/language/`. %2$s and %3$s are "true/false" values. */ 54 __( 'Remove %1$s in pretty permalinks: %2$s to remove, %3$s to keep.', 'polylang' ), 55 '`/language/`', 56 '`true`', 57 '`false`' 58 ); 53 59 } 54 60 } -
polylang/trunk/include/Options/Options.php
r3243124 r3250588 303 303 304 304 // Merge all "unknown option" errors into a single error message. 305 if ( 1 === count( $values ) ) { 306 /* translators: %s is an option name. */ 307 $message = __( 'Unknown option key %s.', 'polylang' ); 308 } else { 309 /* translators: %s is a list of option names. */ 310 $message = __( 'Unknown option keys %s.', 'polylang' ); 311 } 312 305 313 $errors->add( 306 314 'pll_unknown_option_keys', 307 315 sprintf( 308 /* translators: %s is a list of option names. */ 309 _n( 'Unknown option key %s.', 'Unknown option keys %s.', count( $values ), 'polylang' ), 316 $message, 310 317 wp_sprintf_l( 311 318 '%l', -
polylang/trunk/install/plugin-updater.php
r3243124 r3250588 8 8 /** 9 9 * Allows plugins to use their own update API. 10 * Modified version with 'polylang' text domain and missing comments for translators. 10 * Modified version with: 11 * - 'polylang' text domain, 12 * - missing comments for translators, 13 * - a bug fix (https://github.com/polylang/polylang/pull/1629). 11 14 * 12 15 * @author Easy Digital Downloads … … 151 154 $this->set_version_info_cache( $version_info ); 152 155 } 156 157 // Added by Polylang. 158 $defaults = array( 159 'url' => '', 160 'package' => '', 161 'new_version' => '', 162 'tested' => '', 163 'requires' => '', 164 'requires_php' => '', 165 'icons' => new stdClass(), 166 'banners' => new stdClass(), 167 ); 168 169 $version_info = (object) array_merge( $defaults, (array) $version_info ); 170 // End of added by Polylang. 153 171 154 172 return $version_info; -
polylang/trunk/integrations/cache/cache-compat.php
r2974283 r3250588 18 18 public function init() { 19 19 if ( PLL_COOKIE ) { 20 add_action( 'wp_ print_footer_scripts', array( $this, 'add_cookie_script' ) );20 add_action( 'wp_enqueue_scripts', array( $this, 'add_cookie_script' ) ); 21 21 } 22 22 … … 35 35 * 36 36 * @since 2.3 37 * 38 * @return void 37 39 */ 38 40 public function add_cookie_script() { … … 69 71 ); 70 72 71 $type_attr = current_theme_supports( 'html5', 'script' ) ? '' : ' type="text/javascript"'; 72 73 echo "<script{$type_attr}>\n{$js}\n</script>\n"; // phpcs:ignore WordPress.Security.EscapeOutput 73 // Need to register prior to enqueue empty script and add extra code to it. 74 wp_register_script( 'pll_cookie_script', '', array(), POLYLANG_VERSION, true ); 75 wp_enqueue_script( 'pll_cookie_script' ); 76 wp_add_inline_script( 'pll_cookie_script', $js ); 74 77 } 75 78 -
polylang/trunk/js/build/term.js
r3182103 r3250588 178 178 function () { 179 179 var value = $( this ).val(); 180 var lang = $( this ).children( 'option[value="' + value + '"]' ).attr( 'lang' );181 var dir = $( '.pll-translation-column > span[lang="' + lang + '"]' ).attr( 'dir' );180 // The selected option in the dropdown list. 181 const selectedOption = event.target; 182 182 183 183 var data = { … … 222 222 ); 223 223 224 // Modifies the text direction 225 $( 'body' ).removeClass( 'pll-dir-rtl' ).removeClass( 'pll-dir-ltr' ).addClass( 'pll-dir-' + dir ); 224 // Creates an event once the language has been successfully changed. 225 const onTermLangChoice = new CustomEvent( 226 "onTermLangChoice", 227 { 228 detail: { 229 lang: JSON.parse( selectedOption.options[selectedOption.options.selectedIndex].getAttribute( 'data-lang' ) ) 230 }, 231 } 232 ); 233 document.dispatchEvent( onTermLangChoice ); 226 234 } 227 235 ); 236 } 237 ); 238 239 // Listen to `onTermLangChoice` to perform actions after the language has been changed. 240 document.addEventListener( 241 'onTermLangChoice', 242 ( e ) => { 243 // Modifies the text direction. 244 let dir = e.detail.lang.is_rtl ? 'rtl' : 'ltr' 245 $( 'body' ).removeClass( 'pll-dir-rtl' ).removeClass( 'pll-dir-ltr' ).addClass( 'pll-dir-' + dir ); 228 246 } 229 247 ); -
polylang/trunk/js/build/term.min.js
r3182103 r3250588 1 jQuery((function(t){const a=t=>{for(const a of t){const t=Array.from(a.addedNodes).filter((t=>t.nodeType===Node.ELEMENT_NODE))[0];if(0<a.addedNodes.length&&t.classList.contains("inline-edit-row")){const a=Number(t.id.substring(5));if(a>0){const e=t.querySelector('select[name="inline_lang_choice"]'),n=document.querySelector("#lang_"+String(a)).innerHTML;e.value=n;const l=document.querySelector(`#default_cat_${a}`)?.innerHTML;a==l&&(e.disabled=!0)}}}},e=document.getElementById("the-list");if(null!==e){const t={childList:!0,subtree:!0};new MutationObserver(a).observe(e,t)}})),jQuery((function(t){t(document).ajaxSuccess((function(a,e,n){function l(a){var e=new Array;t(".translation_"+a).each((function(){e.push(t(this).parent().parent().attr("id").substring(4))}));var n={action:"pll_update_term_rows",term_id:a,translations:e.join(","),taxonomy:t("input[name='taxonomy']").val(),post_type:t("input[name='post_type']").val(),screen:t("input[name='screen']").val(),_pll_nonce:t("#_pll_nonce").val()};t.post(ajaxurl,n,(function(a){if(a){var e=wpAjax.parseAjaxResponse(a,"pll-ajax-response");t.each(e.responses,(function(){"row"==this.what&&t("#tag-"+this.supplemental.term_id).replaceWith(this.data)}))}}))}var s=wpAjax.unserialize(n.data);if(void 0!==s.action)switch(s.action){case"add-tag":res=wpAjax.parseAjaxResponse(e.responseXML,"pll-ajax-response"),t.each(res.responses,(function(){"term"==this.what&&l(this.supplemental.term_id)})),t(".htr_lang").val(0);break;case"delete-tag":l(s.tag_ID);break;case"inline-save-tax":l(s.tax_ID)}}))})),jQuery((function(t){function a(){t(".tr_lang").each((function(){var a=t(this).attr("id").substring(8),e=t(this).parent().parent().siblings(".pll-edit-column");t(this).autocomplete({minLength:0,source:ajaxurl+"?action=pll_terms_not_translated&term_language="+t("#term_lang_choice").val()+"&term_id="+t("input[name='tag_ID']").val()+"&taxonomy="+t("input[name='taxonomy']").val()+"&translation_language="+a+"&post_type="+typenow+"&_pll_nonce="+t("#_pll_nonce").val(),select:function(n,l){t("#htr_lang_"+a).val(l.item.id),e.html(l.item.link)}}),t(this).on("blur",(function(){t(this).val()||(t("#htr_lang_"+a).val(0),e.html(e.siblings(".hidden").children().clone()))}))}))}a(),t("#term_lang_choice").on("change",(function(){var e=t(this).val(),n=t(this).children('option[value="'+e+'"]').attr("lang"),l=t('.pll-translation-column > span[lang="'+n+'"]').attr("dir"),s={action:"term_lang_choice",lang:e,from_tag:t("input[name='from_tag']").val(),term_id:t("input[name='tag_ID']").val(),taxonomy:t("input[name='taxonomy']").val(),post_type:typenow,_pll_nonce:t("#_pll_nonce").val()};t.post(ajaxurl,s,(function(e){var n=wpAjax.parseAjaxResponse(e,"pll-ajax-response");t.each(n.responses,(function(){switch(this.what){case"translations":t("#term-translations").html(this.data),a();break;case"parent":t("#parent").replaceWith(this.data);break;case"tag_cloud":t(".tagcloud").replaceWith(this.data);break;case"flag":t(".pll-select-flag").html(this.data)}})),t("body").removeClass("pll-dir-rtl").removeClass("pll-dir-ltr").addClass("pll-dir-"+l)}))}))}));1 jQuery((function(t){const e=t=>{for(const e of t){const t=Array.from(e.addedNodes).filter((t=>t.nodeType===Node.ELEMENT_NODE))[0];if(0<e.addedNodes.length&&t.classList.contains("inline-edit-row")){const e=Number(t.id.substring(5));if(e>0){const a=t.querySelector('select[name="inline_lang_choice"]'),n=document.querySelector("#lang_"+String(e)).innerHTML;a.value=n;const l=document.querySelector(`#default_cat_${e}`)?.innerHTML;e==l&&(a.disabled=!0)}}}},a=document.getElementById("the-list");if(null!==a){const t={childList:!0,subtree:!0};new MutationObserver(e).observe(a,t)}})),jQuery((function(t){t(document).ajaxSuccess((function(e,a,n){function l(e){var a=new Array;t(".translation_"+e).each((function(){a.push(t(this).parent().parent().attr("id").substring(4))}));var n={action:"pll_update_term_rows",term_id:e,translations:a.join(","),taxonomy:t("input[name='taxonomy']").val(),post_type:t("input[name='post_type']").val(),screen:t("input[name='screen']").val(),_pll_nonce:t("#_pll_nonce").val()};t.post(ajaxurl,n,(function(e){if(e){var a=wpAjax.parseAjaxResponse(e,"pll-ajax-response");t.each(a.responses,(function(){"row"==this.what&&t("#tag-"+this.supplemental.term_id).replaceWith(this.data)}))}}))}var s=wpAjax.unserialize(n.data);if(void 0!==s.action)switch(s.action){case"add-tag":res=wpAjax.parseAjaxResponse(a.responseXML,"pll-ajax-response"),t.each(res.responses,(function(){"term"==this.what&&l(this.supplemental.term_id)})),t(".htr_lang").val(0);break;case"delete-tag":l(s.tag_ID);break;case"inline-save-tax":l(s.tax_ID)}}))})),jQuery((function(t){function e(){t(".tr_lang").each((function(){var e=t(this).attr("id").substring(8),a=t(this).parent().parent().siblings(".pll-edit-column");t(this).autocomplete({minLength:0,source:ajaxurl+"?action=pll_terms_not_translated&term_language="+t("#term_lang_choice").val()+"&term_id="+t("input[name='tag_ID']").val()+"&taxonomy="+t("input[name='taxonomy']").val()+"&translation_language="+e+"&post_type="+typenow+"&_pll_nonce="+t("#_pll_nonce").val(),select:function(n,l){t("#htr_lang_"+e).val(l.item.id),a.html(l.item.link)}}),t(this).on("blur",(function(){t(this).val()||(t("#htr_lang_"+e).val(0),a.html(a.siblings(".hidden").children().clone()))}))}))}e(),t("#term_lang_choice").on("change",(function(){var a=t(this).val();const n=event.target;var l={action:"term_lang_choice",lang:a,from_tag:t("input[name='from_tag']").val(),term_id:t("input[name='tag_ID']").val(),taxonomy:t("input[name='taxonomy']").val(),post_type:typenow,_pll_nonce:t("#_pll_nonce").val()};t.post(ajaxurl,l,(function(a){var l=wpAjax.parseAjaxResponse(a,"pll-ajax-response");t.each(l.responses,(function(){switch(this.what){case"translations":t("#term-translations").html(this.data),e();break;case"parent":t("#parent").replaceWith(this.data);break;case"tag_cloud":t(".tagcloud").replaceWith(this.data);break;case"flag":t(".pll-select-flag").html(this.data)}}));const s=new CustomEvent("onTermLangChoice",{detail:{lang:JSON.parse(n.options[n.options.selectedIndex].getAttribute("data-lang"))}});document.dispatchEvent(s)}))})),document.addEventListener("onTermLangChoice",(e=>{let a=e.detail.lang.is_rtl?"rtl":"ltr";t("body").removeClass("pll-dir-rtl").removeClass("pll-dir-ltr").addClass("pll-dir-"+a)}))})); -
polylang/trunk/modules/REST/V1/Languages.php
r3243124 r3250588 485 485 ), 486 486 'is_rtl' => array( 487 'description' => __( 'Text direction. True for right-to-left.', 'polylang' ), 487 'description' => sprintf( 488 /* translators: %s is a value. */ 489 __( 'Text direction. %s for right-to-left.', 'polylang' ), 490 '`true`' 491 ), 488 492 'type' => 'boolean', 489 493 'context' => array( 'view', 'edit' ), … … 559 563 ), 560 564 'page_on_front' => array( 561 'description' => __( ' Identifier of the page on frontin this language.', 'polylang' ),565 'description' => __( 'Page on front ID in this language.', 'polylang' ), 562 566 'type' => 'integer', 563 567 'minimum' => 0, … … 605 609 'properties' => array( 606 610 'term_id' => array( 607 /* translators: %s is the name of the term property . */608 'description' => sprintf( __( 'T erm\'s %s of this type of content in this language.', 'polylang' ), '`term_id`' ),611 /* translators: %s is the name of the term property (`term_id` or `term_taxonomy_id`). */ 612 'description' => sprintf( __( 'The %s of the language term for this translatable entity.', 'polylang' ), '`term_id`' ), 609 613 'type' => 'integer', 610 614 'minimum' => 1, 611 615 ), 612 616 'term_taxonomy_id' => array( 613 /* translators: %s is the name of the term property . */614 'description' => sprintf( __( 'T erm\'s %s of this type of content in this language.', 'polylang' ), '`term_taxonomy_id`' ),617 /* translators: %s is the name of the term property (`term_id` or `term_taxonomy_id`). */ 618 'description' => sprintf( __( 'The %s of the language term for this translatable entity.', 'polylang' ), '`term_taxonomy_id`' ), 615 619 'type' => 'integer', 616 620 'minimum' => 1, -
polylang/trunk/modules/site-health/admin-site-health.php
r3243124 r3250588 127 127 case 'rewrite': 128 128 if ( $value ) { 129 $value = '1: ' . esc_html__( 'Remove /language/ in pretty permalinks', 'polylang' ); 130 break; 131 } 132 $value = '0: ' . esc_html__( 'Keep /language/ in pretty permalinks', 'polylang' ); 129 $value = '1: ' . sprintf( 130 /* translators: %s is a URL slug: `/language/`. */ 131 esc_html__( 'Remove %s in pretty permalinks', 'polylang' ), 132 '`/language/`' 133 ); 134 break; 135 } 136 $value = '0: ' . sprintf( 137 /* translators: %s is a URL slug: `/language/`. */ 138 esc_html__( 'Keep %s in pretty permalinks', 'polylang' ), 139 '`/language/`' 140 ); 133 141 break; 134 142 case 'hide_default': -
polylang/trunk/modules/wizard/view-wizard-step-licenses.php
r3243124 r3250588 15 15 <p> 16 16 <?php esc_html_e( 'You are using plugins which require a license key.', 'polylang' ); ?> 17 <?php echo esc_html( _n( 'Please enter your license key:', 'Please enter your license keys:', count( $licenses ), 'polylang' ) ); ?> 17 <?php 18 if ( 1 === count( $licenses ) ) { 19 echo esc_html( __( 'Please enter your license key:', 'polylang' ) ); 20 } else { 21 echo esc_html( __( 'Please enter your license keys:', 'polylang' ) ); 22 } 23 ?> 18 24 </p> 19 25 <h2><?php esc_html_e( 'Licenses', 'polylang' ); ?></h2> -
polylang/trunk/polylang.php
r3243124 r3250588 11 11 * Plugin URI: https://polylang.pro 12 12 * Description: Adds multilingual capability to WordPress 13 * Version: 3.7-beta 113 * Version: 3.7-beta2 14 14 * Requires at least: 6.2 15 15 * Requires PHP: 7.2 … … 53 53 } else { 54 54 // Go on loading the plugin 55 define( 'POLYLANG_VERSION', '3.7-beta 1' );55 define( 'POLYLANG_VERSION', '3.7-beta2' ); 56 56 define( 'PLL_MIN_WP_VERSION', '6.2' ); 57 57 define( 'PLL_MIN_PHP_VERSION', '7.2' ); -
polylang/trunk/readme.txt
r3243124 r3250588 65 65 66 66 * [WPML to Polylang](https://wordpress.org/plugins/wpml-to-polylang/) allows migrating from WPML to Polylang. 67 * [DynaMo](https://wordpress.org/plugins/dynamo/) speeds up the translation of WordPress for all non-English sites.68 67 * [Site Editor Classic Features](https://wordpress.org/plugins/fse-classic/) allows to use classic widgets (including the Polylang language switcher) and menus in the site editor (FSE). 69 68 … … 111 110 * Pro: Add DeepL machine translation for strings 112 111 * Pro: Consider Polylang Pro as equivalent to Polylang for plugin dependencies 112 * Pro: Add the details block and several labels in other blocks to XLIFF files and machine translation 113 113 * Pro: Allow to translate metas stored as objects 114 114 * Pro: Enhanced multilingual support of archive template hierarchy … … 121 121 * Pro: Add translation of ACF labels in the strings translations page 122 122 * Pro: Fix incorrect translation when an XLIFF import updates a term sharing its slug 123 * Pro: Fix term hierarchy with machine translation 123 124 * Pro: Fix navigation block inserted in the wrong language 124 125 * Update plugin updater to 1.9.4 -
polylang/trunk/settings/settings-url.php
r3243124 r3250588 156 156 disabled( $this->links_model->using_permalinks, false, false ), 157 157 checked( $this->options['rewrite'], true, false ), 158 esc_html__( 'Remove /language/ in pretty permalinks', 'polylang' ) 158 sprintf( 159 /* translators: %s is a URL slug: `/language/`. */ 160 esc_html__( 'Remove %s in pretty permalinks', 'polylang' ), 161 '<code>/language/</code>' 162 ) 159 163 ); 160 164 ?> … … 167 171 disabled( $this->links_model->using_permalinks, false, false ), 168 172 checked( $this->options['rewrite'], false, false ), 169 esc_html__( 'Keep /language/ in pretty permalinks', 'polylang' ) 173 sprintf( 174 /* translators: %s is a URL slug: `/language/`. */ 175 esc_html__( 'Keep %s in pretty permalinks', 'polylang' ), 176 '<code>/language/</code>' 177 ) 170 178 ); 171 179 ?> -
polylang/trunk/vendor/composer/installed.php
r3243124 r3250588 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' 989580ddcaa5912e846ae0dfaacea8b888d634d8',6 'reference' => '4aa0932e5521dc14491fcd371f7b7eb8914e17a6', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-master', 15 15 'version' => 'dev-master', 16 'reference' => ' 989580ddcaa5912e846ae0dfaacea8b888d634d8',16 'reference' => '4aa0932e5521dc14491fcd371f7b7eb8914e17a6', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.