今天暂停一下之前的学习。让我来研究一下国际化这个东西。虽然AEM有自己的方式。但是我不知道。。。
先用jQuery 和 xml 映射来解决一下吧。(不知道为什么只能在edge上使用。。。)吐槽一下,JavaScript的语法好混乱。
xml:
js:
(function($){
$.fn.cloudLang =function(params){
var defaults = {
file:'lang-example.xml',
lang:'en'
}
var aTexts =new Array();
if(params) $.extend(defaults, params);
$.ajax({
type:"GET",
url: defaults.file,
dataType:"xml",
success:function(xml)
{
$(xml).find('text').each(function()
{
var textId = $(this).attr("id");
var text = $(this).find(defaults.lang).text();
aTexts[textId] = text;
});
$.each($("*"), function(i,item)
{
//alert($(item).attr("langtag"));
if($(item).attr("langtag") !=null)
$(item).fadeOut(150).fadeIn(150).text(aTexts[$(item).attr("langtag")]);
});
}
});
};
})(jQuery);
$(document).ready(function(){
$("#lang-en").click(function(){
$("body").cloudLang({lang:"en", file:"lang-example.xml"});
});
$("#langzh").click(function(){
$("body").cloudLang({lang:"zh", file:"lang-example.xml"});
});
});
html: