在我的网站上http://www.incognito.preart.grandhost.pl/输入任何页面时,有一个链接回到主菜单(当您悬停标题时)。站点使用5种语言。但是文字仅以英语。需要在每种语言中都有文本"返回菜单"。
.js的代码:
var j = jQuery.noConflict();
j(document).ready(function() {
j("body").css("display", "none");
j("body").fadeIn(1000);
j("a.transition").click(function(event){
event.preventDefault();
linkLocation = this.href;
j("body").fadeOut(1000, redirectPage);
});
function redirectPage() {
window.location = linkLocation;
}
var prevText = j('div#lContent h2 a').text();
j('div#lContent h2 a').hover(function(){
j(this).text('Back to menu');
}, function(){
j(this).text(prevText);
});
});
我认为我需要这样的东西:
- 如果在URL中有
/en/
显示"返回到菜单" - 如果在URL中有
/fr/
显示" retour au菜单"等等。
有人可以帮我吗?
正如本姆所说,在JS上进行本地化不是最好的想法。
尽管您真的坚持,但可以这样做。在您的后端,PHP代码 - 创建具有语言的全局JS变量。假设,
var LANG = "EN"; // or you might want to add that as an attribute to an object
在您的JS代码中,创建一个查找对象
var BACK_TXT = {
"EN" : "Back to Menu",
"PL" : "I don't speak Polish : (",
"GR" : "Pisw re"
};
当您设置文本而不是做 j(this).text('back to菜单'); do
j(this).text( BACK_TXT[ LANG ] );
添加有效语言的支票将是理智的
if( !parent_obj.LANG )
parent_obj.LANG = "EN";
只要对制定代码并将其进行谨慎,因为这样的事情很容易在将来很难维护。
使用JavaScript控制语言是一个非常糟糕的主意。您认为如果用户已关闭JavaScript,会发生什么?甚至认为这是被认为是愚蠢的东西,好的网络开发人员总是考虑到它。
我认为Joomfish可能是您想要的。
希望这有帮助