I18N: Add new lang_dir_for_domain filter.

This new filter in `WP_Textdomain_Registry` allows plugins to override the determined languages folder when using just-in-time translation loading.

Props swissspidy, chouby, johnbillion.
Fixes #61206.
Built from https://develop.svn.wordpress.org/trunk@58236


git-svn-id: http://core.svn.wordpress.org/trunk@57699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Pascal Birchler 2024-05-29 15:44:13 +00:00
parent fb9dee1d70
commit a22b094047
2 changed files with 13 additions and 6 deletions

View File

@ -88,14 +88,21 @@ class WP_Textdomain_Registry {
* @param string $domain Text domain.
* @param string $locale Locale.
*
* @return string|false MO file path or false if there is none available.
* @return string|false Languages directory path or false if there is none available.
*/
public function get( $domain, $locale ) {
if ( isset( $this->all[ $domain ][ $locale ] ) ) {
return $this->all[ $domain ][ $locale ];
}
$path = $this->all[ $domain ][ $locale ] ?? $this->get_path_from_lang_dir( $domain, $locale );
return $this->get_path_from_lang_dir( $domain, $locale );
/**
* Filters the determined languages directory path for a specific domain and locale.
*
* @since 6.6.0
*
* @param string|false $path Languages directory path for the given domain and locale.
* @param string $domain Text domain.
* @param string $locale Locale.
**/
return apply_filters( 'lang_dir_for_domain', $path, $domain, $locale );
}
/**

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.6-alpha-58235';
$wp_version = '6.6-alpha-58236';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.