Make WordPress Core

Ticket #45161: 45161.2.diff

File 45161.2.diff, 7.2 KB (added by herregroen, 6 years ago)
  • src/wp-admin/edit-form-blocks.php

     
    115115        );
    116116}
    117117
    118 // Prepare Jed locale data.
    119 $locale_data = wp_get_jed_locale_data( 'default' );
    120 wp_add_inline_script(
    121         'wp-i18n',
    122         'wp.i18n.setLocaleData( ' . wp_json_encode( $locale_data ) . ' );'
    123 );
    124 
    125118// Preload server-registered block schemas.
    126119wp_add_inline_script(
    127120        'wp-blocks',
  • src/wp-includes/class.wp-scripts.php

     
    532532                }
    533533
    534534                $output = '(function( translations ){' .
    535                               'wp.i18n.setLocaleData( translations.locale_data, "' . $domain . '" );' .
     535                              'translations.locale_data.messages[""].domain = "' . $domain . '";' .
     536                              'wp.i18n.setLocaleData( translations.locale_data.messages, "' . $domain . '" );' .
    536537                          '})(' . $json_translations . ');';
    537538
    538539                if ( $echo ) {
  • src/wp-includes/script-loader.php

     
    320320                'html-entities' => array( 'wp-polyfill' ),
    321321                'i18n' => array( 'wp-polyfill' ),
    322322                'is-shallow-equal' => array( 'wp-polyfill' ),
    323                 'keycodes' => array( 'lodash', 'wp-polyfill' ),
     323                'keycodes' => array( 'lodash', 'wp-polyfill', 'wp-i18n' ),
    324324                'list-reusable-blocks' => array(
    325325                        'lodash',
    326326                        'wp-api-fetch',
     
    363363                'wordcount' => array( 'wp-polyfill' ),
    364364        );
    365365
     366        $package_translations = array(
     367                'api-fetch' => 'default',
     368                'blocks' => 'default',
     369                'block-library' => 'default',
     370                'components' => 'default',
     371                'edit-post' => 'default',
     372                'editor' => 'default',
     373                'format-library' => 'default',
     374                'keycodes' => 'default',
     375                'list-reusable-blocks' => 'default',
     376                'nux' => 'default',
     377        );
     378
    366379        foreach ( $packages_dependencies as $package => $dependencies ) {
    367380                $handle  = 'wp-' . $package;
    368381                $path    = "/wp-includes/js/dist/$package$suffix.js";
    369382
    370383                $scripts->add( $handle, $path, $dependencies, false, 1 );
     384
     385                if ( isset( $package_translations[ $package ] ) ) {
     386                        $scripts->set_translations( $handle, $package_translations[ $package ] );
     387                }
    371388        }
    372389}
    373390
  • tests/phpunit/tests/dependencies/scripts.php

     
    777777
    778778                $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
    779779                $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
    780                             "wp.i18n.setLocaleData( translations.locale_data, \"default\" );" .
    781                         "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n";
     780                             "translations.locale_data.messages[\"\"].domain = \"default\";" .
     781                             "wp.i18n.setLocaleData( translations.locale_data.messages, \"default\" );" .
     782                             "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n";
    782783                $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n";
    783784
    784785                $this->assertEquals( $expected, get_echo( 'wp_print_scripts' ) );
     
    794795
    795796                $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
    796797                $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
    797                              "wp.i18n.setLocaleData( translations.locale_data, \"internationalized-plugin\" );" .
     798                             "translations.locale_data.messages[\"\"].domain = \"internationalized-plugin\";" .
     799                             "wp.i18n.setLocaleData( translations.locale_data.messages, \"internationalized-plugin\" );" .
    798800                             "})(" . file_get_contents( DIR_TESTDATA . '/languages/plugins/internationalized-plugin-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ) . ");\n</script>\n";
    799801                $expected .= "<script type='text/javascript' src='/wp-content/plugins/my-plugin/js/script.js'></script>\n";
    800802
     
    811813
    812814                $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
    813815                $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
    814                              "wp.i18n.setLocaleData( translations.locale_data, \"internationalized-theme\" );" .
     816                             "translations.locale_data.messages[\"\"].domain = \"internationalized-theme\";" .
     817                             "wp.i18n.setLocaleData( translations.locale_data.messages, \"internationalized-theme\" );" .
    815818                             "})(" . file_get_contents( DIR_TESTDATA . '/languages/themes/internationalized-theme-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ) . ");\n</script>\n";
    816819                $expected .= "<script type='text/javascript' src='/wp-content/themes/my-theme/js/script.js'></script>\n";
    817820
     
    828831
    829832                $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
    830833                $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
    831                              "wp.i18n.setLocaleData( translations.locale_data, \"admin\" );" .
     834                             "translations.locale_data.messages[\"\"].domain = \"admin\";" .
     835                             "wp.i18n.setLocaleData( translations.locale_data.messages, \"admin\" );" .
    832836                             "})(" . file_get_contents( DIR_TESTDATA . '/languages/admin-en_US-script-handle.json' ) . ");\n</script>\n";
    833837                $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js'></script>\n";
    834838
     
    876880
    877881                $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
    878882                $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
    879                              "wp.i18n.setLocaleData( translations.locale_data, \"default\" );" .
     883                             "translations.locale_data.messages[\"\"].domain = \"default\";" .
     884                             "wp.i18n.setLocaleData( translations.locale_data.messages, \"default\" );" .
    880885                             "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n";
    881886                $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n";
    882887
     
    895900
    896901                $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
    897902                $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
    898                              "wp.i18n.setLocaleData( translations.locale_data, \"default\" );" .
     903                             "translations.locale_data.messages[\"\"].domain = \"default\";" .
     904                             "wp.i18n.setLocaleData( translations.locale_data.messages, \"default\" );" .
    899905                             "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n";
    900906                $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n";
    901907                $expected .= "<script type='text/javascript' src='/wp-includes/js/script2.js'></script>\n";