0

在我的网站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 menu”等。

有人可以帮我解决这个问题吗?

4

2 回答 2

0

正如 BenM 所说,在 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 menu');

j(this).text( BACK_TXT[ LANG ] );

添加对有效语言的检查也是明智的

if( !parent_obj.LANG )
     parent_obj.LANG = "EN";

只是要小心你放置代码和记录它的方式,因为这样的事情将来很容易变得难以维护。

于 2012-10-18T08:14:38.950 回答
0

使用 Javascript 来控制语言是一个非常糟糕的主意。如果用户关闭了 javascript,您认为会发生什么?即使认为这被认为是愚蠢的,优秀的 Web 开发人员总是会考虑到这一点。

我认为JoomFish可能是您正在寻找的。

希望这可以帮助

于 2012-10-18T12:46:24.453 回答