87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
    <title>require.js: I18N Test</title>
 | 
						|
    <script type="text/javascript" src="../../require.js"></script>
 | 
						|
    <script type="text/javascript" src="../doh/runner.js"></script>
 | 
						|
    <script type="text/javascript" src="../doh/_browserRunner.js"></script>
 | 
						|
    <script type="text/javascript">
 | 
						|
        //Allow locale to be set via query args.
 | 
						|
        var locale = null;
 | 
						|
        var query = location.href.split("#")[0].split("?")[1];
 | 
						|
        var match = query && query.match(/locale=([\w-]+)/);
 | 
						|
        if (match) {
 | 
						|
            locale = match[1];
 | 
						|
        }
 | 
						|
 | 
						|
        //Allow bundle name to be loaded via query args.
 | 
						|
        var bundle = "i18n!nls/colors";
 | 
						|
        match = query && query.match(/bundle=([^\&]+)/);
 | 
						|
        if (match) {
 | 
						|
            bundle = match[1];
 | 
						|
        }
 | 
						|
 | 
						|
        var expected = {
 | 
						|
            red: "red",
 | 
						|
            blue: "blue",
 | 
						|
            green: "green",
 | 
						|
            black: {
 | 
						|
                opacity: 1,
 | 
						|
                rgb: {
 | 
						|
                    r: "0",
 | 
						|
                    g: "0",
 | 
						|
                    b: "0"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        };
 | 
						|
 | 
						|
        var opacity = 1;
 | 
						|
        if (locale && locale.indexOf("en-us-surfer") != -1 || bundle.indexOf("nls/en-us-surfer/colors") != -1) {
 | 
						|
            expected.red = "red, dude";
 | 
						|
            expected.black.opacity = 0.5;
 | 
						|
        } else if ((locale && locale.indexOf("fr-") != -1) || bundle.indexOf("fr-") != -1) {
 | 
						|
            expected.red = "rouge";
 | 
						|
            expected.blue = "bleu";
 | 
						|
        }
 | 
						|
        require({
 | 
						|
            config: {
 | 
						|
                'i18n': {
 | 
						|
                    locale: locale
 | 
						|
                }
 | 
						|
            },
 | 
						|
            baseUrl: "./",
 | 
						|
            paths: {
 | 
						|
                i18n: "../../../i18n/i18n"
 | 
						|
            }
 | 
						|
        },
 | 
						|
        [bundle],
 | 
						|
        function(actual) {
 | 
						|
            doh.register(
 | 
						|
                "i18n",
 | 
						|
                [
 | 
						|
                    {
 | 
						|
                        name: "simple structure",
 | 
						|
                        runTest: function (t) {
 | 
						|
                            t.is(expected.red, actual.red);
 | 
						|
                            t.is(expected.blue, actual.blue);
 | 
						|
                            t.is(expected.green, actual.green);
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        name: "complex structure",
 | 
						|
                        runTest: function (t) {
 | 
						|
                            t.is(expected.black, actual.black);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ]
 | 
						|
            );
 | 
						|
            doh.run();
 | 
						|
        });
 | 
						|
    </script>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
    <h1>i18n bundle test</h1>
 | 
						|
    <p>This page tests the i18n bundling in require.js. You can change the locale to use by passing locale= or bundle=</p>
 | 
						|
</body>
 | 
						|
</html>
 |