diff --git a/wp-includes/l10n.php b/wp-includes/l10n.php index a367bbfbbb..35f89c58eb 100644 --- a/wp-includes/l10n.php +++ b/wp-includes/l10n.php @@ -242,15 +242,21 @@ function __ngettext_noop($single, $plural, $number=1, $domain = 'default') { function load_textdomain($domain, $mofile) { global $l10n; - if (isset($l10n[$domain])) - return; - if ( is_readable($mofile)) $input = new CachedFileReader($mofile); else return; - $l10n[$domain] = new gettext_reader($input); + $gettext = new gettext_reader($input); + + if (isset($l10n[$domain])) { + $l10n[$domain]->load_tables(); + $gettext->load_tables(); + $l10n[$domain]->cache_translations = array_merge($gettext->cache_translations, $l10n[$domain]->cache_translations); + } else + $l10n[$domain] = $gettext; + + unset($input, $gettext); } /**