简介
这篇文章是对我的一个最棘手的职位(最初)我曾参与的经验,但它竟然是一个最简单的,感谢jQuery和jQuery翻译使用Google语言翻译。背景
的要求是很简单的话表示:"一个成功运行的ASP.NET applicationquot语言翻译能力;但此应用程序从来没有设计支持语言翻译的意图。它没有任何本地化/资源文件和其他东西的概念。地面工作开始建设的一个概念,需要我改变的基本结构,包括本地化的概念,资源文件,以及所有相关的东西,这反过来又意味着很多的努力和营业时间,但jQuery的翻译改变了这一切:它只是我花了12小时的理解和内实施ASP.NET应用程序。使用代码
本文将帮助所有那些希望有一个语言翻译集成到他们现有的应用程序/网站。现在,这将是分钟的工作。请找到的文章附源文件中的所有的库和需要scritps。现在,你只需要在你的脚本参考应用程序的页面,你可以开始使用您的网页内的语言翻译。<script src="Scripts/TranslatorScript.js" type="text/javascript"></script>
代码是简单和容易理解,它只是通过它可以了解。 "TranslatorScript.jsquot;持有的关键实施。最初的部分负载所需的所有脚本文件。{C}
在这里,LoadScript的功能是发现的脚本文件,并加载它们的位置。function getScriptsPath() {
var scripts = document.getElementsByTagName("script");
var regex = /(.*\/)TranslatorScript/i;
for (var i = 0; i < scripts.length; i++) {
var currentScriptSrc = scripts[i].src;
if (currentScriptSrc.match(regex))
return currentScriptSrc.match(regex)[1];
}
return null;
}
loadTranslator()函数的所有法术的文章的中心。这是期间处理的DOM结构的语言翻译功能。持有此功能被添加到页面,它提供了一个语言选择的UI界面的UI代码。function loadTranslator() {
$.translate(function() {
try {
$('#translate-bar').html("");
}
catch (e) {
}
var selectedLanguage = $.cookie('selectedLanguage');
//get previously translated language
if (selectedLanguage) {
if(selectedLanguage != 'en')
translateTo(selectedLanguage);
}
function translateTo(selectedLanguage) {
$('body').translate('english', selectedLanguage, {
not: '.jq-translate-ui',
fromOriginal: true,
start: function() {
$('#jq-translate-ui').val(selectedLanguage);
$.blockUI.defaults.applyPlatformOpacityRules = false;
$.blockUI(
{
message: 'Language Translation In Progress, Please Wait...',
css:
{
border: 'none',
padding: '10px',
backgroundColor: '#000',
'-webkit-border-radius': '9px',
'-moz-border-radius': '9px',
opacity: .9,
color: '#fff'
},
overlayCSS: { backgroundColor: '#000', opacity: 0.6,
'-moz-opacity': '0.6', width: '100%', height: '100%' }
});
},
complete: function() { $.unblockUI({ css: { cursor: 'default'} }); }
});
}
// Languages are loaded into the selection box
$.translate.ui({
tags: ["select", "option"],
//a function that filters the languages:
//this can be an array of languages/language codes too
filter: $.translate.isTranslatable,
//a function that returns the text to display based on the language code:
label: $.translate.toNativeLanguage ||
function(langCode, lang) { return $.translate.capitalize(lang); },
//whether to include the UNKNOWN:"" along with the languages:
includeUnknown: false
}).change(function() {
$.cookie('selectedLanguage', $(this).val(), { path: '/' });
translateTo($(this).val());
return true;
}).appendTo('#translate-bar');
});
}
源文件包括脚本和其他相关文件一起,这将有助于建立一个层以上现有的网页内容的图像,并提供合适的UI所需的语言翻译。这是一个非常简单和基本的实施。脚本文件工作的网页内容的DOM结构。当一个页面被加载一次页面的DOM结构已准备就绪,内容是翻译成所需的语言,jQuery的翻译。jQuery的翻译上的更多信息,请访问{A}。兴趣点
本文将所有那些希望整合在他们的网站/应用程序,以最小的努力和实施时间的语言翻译的帮助。| Govardhana雷迪