Send back core translation information to the API. Update wp_get_installed_translations() to work with core translations. see #18200.
Built from https://develop.svn.wordpress.org/trunk@25652 git-svn-id: http://core.svn.wordpress.org/trunk@25569 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
55822259df
commit
ddd4473714
|
@ -745,17 +745,22 @@ function get_available_languages( $dir = null ) {
|
||||||
*
|
*
|
||||||
* @since 3.7.0
|
* @since 3.7.0
|
||||||
*
|
*
|
||||||
* @param string $type What to search for. Accepts 'plugins', 'themes'.
|
* @param string $type What to search for. Accepts 'plugins', 'themes', 'core'.
|
||||||
* @return array Array of language data.
|
* @return array Array of language data.
|
||||||
*/
|
*/
|
||||||
function wp_get_installed_translations( $type ) {
|
function wp_get_installed_translations( $type ) {
|
||||||
if ( $type !== 'themes' && $type !== 'plugins' )
|
if ( $type !== 'themes' && $type !== 'plugins' && $type !== 'core' )
|
||||||
return array();
|
return array();
|
||||||
|
|
||||||
if ( ! is_dir( WP_LANG_DIR ) || ! is_dir( WP_LANG_DIR . "/$type" ) )
|
$dir = 'core' === $type ? '' : "/$type";
|
||||||
|
|
||||||
|
if ( ! is_dir( WP_LANG_DIR ) )
|
||||||
return array();
|
return array();
|
||||||
|
|
||||||
$files = scandir( WP_LANG_DIR . "/$type" );
|
if ( $dir && ! is_dir( WP_LANG_DIR . $dir ) )
|
||||||
|
return array();
|
||||||
|
|
||||||
|
$files = scandir( WP_LANG_DIR . $dir );
|
||||||
if ( ! $files )
|
if ( ! $files )
|
||||||
return array();
|
return array();
|
||||||
|
|
||||||
|
@ -766,11 +771,13 @@ function wp_get_installed_translations( $type ) {
|
||||||
continue;
|
continue;
|
||||||
if ( substr( $file, -3 ) !== '.po' )
|
if ( substr( $file, -3 ) !== '.po' )
|
||||||
continue;
|
continue;
|
||||||
if ( ! preg_match( '/(.*)-([A-Za-z_]{2,6}).po/', $file, $match ) )
|
if ( ! preg_match( '/(?:(.+)-)?([A-Za-z_]{2,6}).po/', $file, $match ) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
list( , $textdomain, $language ) = $match;
|
list( , $textdomain, $language ) = $match;
|
||||||
$language_data[ $textdomain ][ $language ] = wp_get_pomo_file_data( WP_LANG_DIR . "/$type/$file" );
|
if ( '' === $textdomain )
|
||||||
|
$textdomain = 'default';
|
||||||
|
$language_data[ $textdomain ][ $language ] = wp_get_pomo_file_data( WP_LANG_DIR . "$dir/$file" );
|
||||||
}
|
}
|
||||||
return $language_data;
|
return $language_data;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,8 @@ function wp_version_check() {
|
||||||
$php_version = phpversion();
|
$php_version = phpversion();
|
||||||
|
|
||||||
$current = get_site_transient( 'update_core' );
|
$current = get_site_transient( 'update_core' );
|
||||||
|
$translations = wp_get_installed_translations( 'core' );
|
||||||
|
|
||||||
if ( ! is_object($current) ) {
|
if ( ! is_object($current) ) {
|
||||||
$current = new stdClass;
|
$current = new stdClass;
|
||||||
$current->updates = array();
|
$current->updates = array();
|
||||||
|
@ -85,10 +87,13 @@ function wp_version_check() {
|
||||||
'headers' => array(
|
'headers' => array(
|
||||||
'wp_install' => $wp_install,
|
'wp_install' => $wp_install,
|
||||||
'wp_blog' => home_url( '/' )
|
'wp_blog' => home_url( '/' )
|
||||||
)
|
),
|
||||||
|
'body' => array(
|
||||||
|
'translations' => json_encode( $translations ),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
$response = wp_remote_get($url, $options);
|
$response = wp_remote_post( $url, $options );
|
||||||
|
|
||||||
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
|
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
|
||||||
return false;
|
return false;
|
||||||
|
@ -119,6 +124,10 @@ function wp_version_check() {
|
||||||
$updates->updates = $offers;
|
$updates->updates = $offers;
|
||||||
$updates->last_checked = time();
|
$updates->last_checked = time();
|
||||||
$updates->version_checked = $wp_version;
|
$updates->version_checked = $wp_version;
|
||||||
|
|
||||||
|
if ( isset( $body['translations'] ) )
|
||||||
|
$updates->translations = $body['translations'];
|
||||||
|
|
||||||
set_site_transient( 'update_core', $updates);
|
set_site_transient( 'update_core', $updates);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue