I18N: Add a new way to determine whether a translation is available.
A new `has_translation()` function can be used to determine whether a translation exists for a given string. Props louiswol94, swissspidy, drzraf, ckanitz, tomhine, mchirag2002, samuelsilvapt. Fixes #52696. Built from https://develop.svn.wordpress.org/trunk@59029 git-svn-id: http://core.svn.wordpress.org/trunk@58425 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
90673b9066
commit
56eb5c22d8
|
@ -1988,3 +1988,17 @@ function wp_get_word_count_type() {
|
||||||
|
|
||||||
return $wp_locale->get_word_count_type();
|
return $wp_locale->get_word_count_type();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a boolean to indicate whether a translation exists for a given string with optional text domain and locale.
|
||||||
|
*
|
||||||
|
* @since 6.7.0
|
||||||
|
*
|
||||||
|
* @param string $singular Singular translation to check.
|
||||||
|
* @param string $textdomain Optional. Text domain. Default 'default'.
|
||||||
|
* @param ?string $locale Optional. Locale. Default current locale.
|
||||||
|
* @return bool True if the translation exists, false otherwise.
|
||||||
|
*/
|
||||||
|
function has_translation( string $singular, string $textdomain = 'default', ?string $locale = null ): bool {
|
||||||
|
return WP_Translation_Controller::get_instance()->has_translation( $singular, $textdomain, $locale );
|
||||||
|
}
|
||||||
|
|
|
@ -434,4 +434,22 @@ final class WP_Translation_Controller {
|
||||||
|
|
||||||
return $this->loaded_translations[ $locale ][ $textdomain ] ?? array();
|
return $this->loaded_translations[ $locale ][ $textdomain ] ?? array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a boolean to indicate whether a translation exists for a given string with optional text domain and locale.
|
||||||
|
*
|
||||||
|
* @since 6.7.0
|
||||||
|
*
|
||||||
|
* @param string $singular Singular translation to check.
|
||||||
|
* @param string $textdomain Optional. Text domain. Default 'default'.
|
||||||
|
* @param ?string $locale Optional. Locale. Default current locale.
|
||||||
|
* @return bool True if the translation exists, false otherwise.
|
||||||
|
*/
|
||||||
|
public function has_translation( string $singular, string $textdomain = 'default', ?string $locale = null ): bool {
|
||||||
|
if ( null === $locale ) {
|
||||||
|
$locale = $this->current_locale;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false !== $this->locate_translation( $singular, $textdomain, $locale );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '6.7-alpha-59028';
|
$wp_version = '6.7-alpha-59029';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue