使用jquery的多语言网站
嗨,我正在使用一个旧的cms,我需要为每种语言设置一个特定的类:使用jquery的多语言网站,jquery,multilingual,Jquery,Multilingual,嗨,我正在使用一个旧的cms,我需要为每种语言设置一个特定的类: <h1><span class="phps_lang phps_it">Titolo italiano pg2</span><span class="phps_lang phps_en">English title pg2</span></h1> <p><span class="phps_lang phps_it">Testo ital
<h1><span class="phps_lang phps_it">Titolo italiano pg2</span><span class="phps_lang phps_en">English title pg2</span></h1>
<p><span class="phps_lang phps_it">Testo italiano pg2</span><span class="phps_lang phps_en">English text pg2</span></p>
})
你知道我是否可以不重新加载页面就完成这项工作吗?
你认为这对搜索引擎来说很糟糕吗
这里有一个测试:
这对搜索引擎不好,但对使用屏幕阅读器或文本浏览器的人也不好!好吧,那我该怎么办呢?我无法复制每个页面,因为要管理的页面太多。。。如果我用.hide;?隐藏跨度,效果会更好?标准是通过URL或会话变量获取所选语言,并在服务器端仅输出正确的语言文本。如果你删除不匹配的语言文本会稍微好一点,因为大多数屏幕阅读器实际上运行JS,但我不确定搜索引擎机器人,他们可能仍然可以看到两种语言。我知道,但在这种情况下,我们没有服务器端,只有静态页面…Cms生成静态页面这就是我尝试此解决方案的原因。。。
$(document).ready(function () {
if(sessionStorage.getItem("en") !="true") {
$('.phps_it').each( function() {
cont_text_ita = $(this).parent();
ita_text = $(this).text();
$(cont_text_ita).text(ita_text);
});
$("#menu_lang li").not(".sel_it").removeClass("selected");
$(".sel_it").addClass("selected");
} else {
$('.phps_en').each( function() {
cont_text_eng = $(this).parent();
eng_text = $(this).text();
$(cont_text_eng).text(eng_text);
});
$("#menu_lang li").not(".sel_en").removeClass("selected");
$(".sel_en").addClass("selected");
}
$(".sel_en a").click(function(event){
event.preventDefault();
$("#menu_lang li").not(".sel_en").removeClass("selected");
$(".sel_en").addClass("selected");
sessionStorage.setItem("en", true);
location.reload();
});
$(".sel_it a").click(function(event){
event.preventDefault();
$("#menu_lang li").not(".sel_it").removeClass("selected");
$(".sel_it").addClass("selected");
sessionStorage.setItem("en", false);
location.reload();
});