Make WordPress Core


Ignore:
Timestamp:
10/25/2018 01:59:51 PM (6 years ago)
Author:
herregroen
Message:

I18N: Add JavaScript translation support.

Adds the wp_set_script_translations function which registers translations for a JavaScript file. This function takes a handle, domain and optionally a path and ensures JavaScript translation files are loaded if they exist.

Props atimmer, omarreiss, nerrad, swissspidy, ocean90.
Fixes #45103.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/5.0/tests/phpunit/tests/dependencies/scripts.php

    r43819 r43825  
    764764        $expected .= "<script type='text/javascript' src='/wp-includes/js/script3.js?ver={$ver}'></script>\n";
    765765        $expected .= "<script type='text/javascript' src='/wp-includes/js/script4.js?ver={$ver}'></script>\n";
     766
     767        $this->assertEquals( $expected, get_echo( 'wp_print_scripts' ) );
     768    }
     769
     770    /**
     771     * @ticket 45103
     772     */
     773    public function test_wp_set_script_translation() {
     774        wp_register_script( 'wp-i18n', '/wp-includes/js/dist/wp-i18n.js', array(), null );
     775        wp_enqueue_script( 'test-example', '/wp-includes/js/script.js', array(), null );
     776        wp_set_script_translations( 'test-example', 'default',  __DIR__ . '/../../data/languages/' );
     777
     778        $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>";
     779        $expected .= "\n<script type='text/javascript'>\n(function( translations ){" .
     780                "wp.i18n.setLocaleData( translations.locale_data, \"default\" );" .
     781            "})(" . file_get_contents( __DIR__ . '/../../data/languages/default-en_US-813e104eb47e13dd4cc5af844c618754.json') . ");\n</script>\n";
     782        $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n";
    766783
    767784        $this->assertEquals( $expected, get_echo( 'wp_print_scripts' ) );
Note: See TracChangeset for help on using the changeset viewer.