Language_Pack_Upgrader::check_package() WordPress Method
The Language_Pack_Upgrader::check_package() method is used to check if a language package is valid. This is done by checking if the package is a valid ZIP file and if it contains the required files.
Language_Pack_Upgrader::check_package( string|WP_Error $source, string $remote_source ) #
Checks that the package source contains .mo and .po files.
Description
Hooked to the ‘upgrader_source_selection’ filter by Language_Pack_Upgrader::bulk_upgrade().
Parameters
- $source
(string|WP_Error)(Required)The path to the downloaded package source.
- $remote_source
(string)(Required)Remote file source location.
Return
(string|WP_Error) The source as passed, or a WP_Error object on failure.
Source
File: wp-admin/includes/class-language-pack-upgrader.php
public function check_package( $source, $remote_source ) { global $wp_filesystem; if ( is_wp_error( $source ) ) { return $source; } // Check that the folder contains a valid language. $files = $wp_filesystem->dirlist( $remote_source ); // Check to see if a .po and .mo exist in the folder. $po = false; $mo = false; foreach ( (array) $files as $file => $filedata ) { if ( '.po' === substr( $file, -3 ) ) { $po = true; } elseif ( '.mo' === substr( $file, -3 ) ) { $mo = true; } } if ( ! $mo || ! $po ) { return new WP_Error( 'incompatible_archive_pomo', $this->strings['incompatible_archive'], sprintf( /* translators: 1: .po, 2: .mo */ __( 'The language pack is missing either the %1$s or %2$s files.' ), '<code>.po</code>', '<code>.mo</code>' ) ); } return $source; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.7.0 | Introduced. |