WordPress.org

Make WordPress Core

Ticket #32052: 04222015-1551_mo_caching.diff

File 04222015-1551_mo_caching.diff, 829 bytes (added by nicofuma, 4 years ago)

patch moved to load_textdomain()

  • src/wp-includes/l10n.php

    diff --git a/src/wp-includes/l10n.php b/src/wp-includes/l10n.php
    index 4c5d8b1..d8eda82 100644
    a b function load_textdomain( $domain, $mofile ) { 
    475475
    476476        if ( !is_readable( $mofile ) ) return false;
    477477
     478        $data = get_transient(md5($mofile));
     479        $mtime = filemtime($mofile);
     480
    478481        $mo = new MO();
    479         if ( !$mo->import_from_file( $mofile ) ) return false;
     482        if (!$data || $mtime > $data['mtime']) {
     483                if ( !$mo->import_from_file( $mofile ) ) return false;
     484
     485                $data = array(
     486                        'mtime' => $mtime,
     487                        'entries' => $mo->entries,
     488                        'headers' => $mo->headers);
     489                set_transient(md5($mofile), $data);
     490        } else {
     491                $mo->entries = $data['entries'];
     492                $mo->headers = $data['headers'];
     493        }
    480494
    481495        if ( isset( $l10n[$domain] ) )
    482496                $mo->merge_with( $l10n[$domain] );