首页 > 代码库 > 使用jQuery集成Google翻译

使用jQuery集成Google翻译

利用jQuery,轻松将google翻译集成到你的web应用中。

1. [代码][JavaScript]代码     
?
1<script src="http://www.mamicode.com/Scripts/TranslatorScript.js" type="text/javascript"></script>
?
2 [代码]LoadScript,设置路径     
?
?1LoadScript(scriptPath + "jQuery-BlockUI.js");
2LoadScript(scriptPath + "jquery.translate-1.4.7.min.js");
3LoadScript(scriptPath + "jquery.cookie.js");       

?3. [代码][JavaScript]代码     
01function getScriptsPath() {
02    var scripts = document.getElementsByTagName("script");
03    var regex = /(.*\/)TranslatorScript/i;
04    for (var i = 0; i < scripts.length; i++) {
05        var currentScriptSrc = http://www.mamicode.com/scripts[i].src;
06        if (currentScriptSrc.match(regex))
07            return currentScriptSrc.match(regex)[1];
08    }
09 
10    return null;
11}
4. 代码]loadTranslator   

01function loadTranslator() {
02 
03    $.translate(function() {
04 
05        try {
06            $(‘#translate-bar‘).html("");
07        }
08        catch (e) {
09        }
10 
11        var selectedLanguage = $.cookie(‘selectedLanguage‘); //get previously translated language
12 
13        if (selectedLanguage) {
14            if(selectedLanguage != ‘en‘)
15                translateTo(selectedLanguage);
16        }
17 
18        function translateTo(selectedLanguage) {
19            $(‘body‘).translate(‘english‘, selectedLanguage, {
20                not: ‘.jq-translate-ui‘,
21                fromOriginal: true,
22                start: function() {
23                    $(‘#jq-translate-ui‘).val(selectedLanguage);
24                    $.blockUI.defaults.applyPlatformOpacityRules = false;
25                    $.blockUI(
26                            {
27                                message: ‘Language Translation In Progress, Please Wait...‘,
28                                css:
29                                {
30                                    border: ‘none‘,
31                                    padding: ‘10px‘,
32                                    backgroundColor: ‘#000‘,
33                                    ‘-webkit-border-radius‘: ‘9px‘,
34                                    ‘-moz-border-radius‘: ‘9px‘,
35                                    opacity: .9,
36                                    color: ‘#fff‘
37                                },
38                                overlayCSS: { backgroundColor: ‘#000‘, opacity: 0.6, ‘-moz-opacity‘: ‘0.6‘, width: ‘100%‘, height: ‘100%‘ }
39                            });
40                },
41                complete: function() { $.unblockUI({ css: { cursor: ‘default‘} }); }
42            });
43        }
44    // Languages are loaded into the selection box 
45        $.translate.ui({css3特效
46            tags: ["select", "option"],
47            //a function that filters the languages:
48            filter: $.translate.isTranslatable, //this can be an array of languages/language codes too
49            //a function that returns the text to display based on the language code:
50            label: $.translate.toNativeLanguage ||http://www.huiyi8.com/css3/?
51                function(langCode, lang) { return $.translate.capitalize(lang); },
52            //whether to include the UNKNOWN:"" along with the languages:
53            includeUnknown: false
54            }).change(function() {
55            $.cookie(‘selectedLanguage‘, $(this).val(), { path: ‘/‘ });
56            translateTo($(this).val());
57            return true;
58        }).appendTo(‘#translate-bar‘);
59    });
60}