出现文本取决于网站(JS)上的语言



在我的网站上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可能是您想要的。

希望这有帮助

最新更新