diff --git a/wp-admin/includes/admin.php b/wp-admin/includes/admin.php index 65b11d1b87..439fcdb81e 100644 --- a/wp-admin/includes/admin.php +++ b/wp-admin/includes/admin.php @@ -6,6 +6,13 @@ * @subpackage Administration */ +if ( ! defined('WP_ADMIN') ) { + // This file is being included from a file other than wp-admin/admin.php, so + // some setup was skipped. Make sure the admin message catalog is loaded since + // load_default_textdomain() will not have done so in this context. + load_textdomain( 'default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo' ); +} + /** WordPress Bookmark Administration API */ require_once(ABSPATH . 'wp-admin/includes/bookmark.php'); diff --git a/wp-includes/l10n.php b/wp-includes/l10n.php index 733f3a4473..efb4f7d2dc 100644 --- a/wp-includes/l10n.php +++ b/wp-includes/l10n.php @@ -382,9 +382,17 @@ function load_default_textdomain() { load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" ); - if ( is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) { + if ( ( is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) && ! file_exists( WP_LANG_DIR . "/admin-$locale.mo" ) ) { load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" ); + return; } + + if ( is_admin() ) + load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo" ); + + if ( is_network_admin() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) + load_textdomain( 'default', WP_LANG_DIR . "/admin-network-$locale.mo" ); + } /**