2011-02-09 40 views
1

我们正在重写我们web服务的jQuery代码,我们正在考虑更好的方式来组织它。我们一直在阅读几个SO问题,文章等。这是第一种方法,但我们很乐意收到反馈。如何更好地构建多语言Javascript代码?

我们将为页面的每个对象(地点,用户等)设置一个类。我们计划使用Low ProArticle),所以我们将所有的代码放在一个地方。

但是有一些变量需要从PHP(user.id,user.name等)传递。我们认为最好的方法是打印一个json并将它传递给一个普通的类。

var array = { 
    'key1' => 'value', 
    'key2' => 'value', 
    'key3' => 'value', 
}; 
var te = new TE(array); 

TE.js将在那里分配变量,以便其他类可以使用它们。由于我们有多语种网站,因此我们需要以多种语言发布消息。我们会做类似Multilingual alert messages in JavaScript的回答

你觉得怎么样?有没有更好的方法来加载初始数组?任何其他建议或文章?

谢谢!

回答

0

我们终于使用Classy.js有类。我们已经构建了我们自己的主类,该类将body标记的data-params属性上的我们打印的参数加载为json。

我们有Tom和Shan建议的两个不同字段上的js类的翻译字符串。

0

您链接的方法会为客户带来更大的带宽占用空间。如果您打算拥有数千个关键值对和许多不同的语言,请考虑只将英文键/值对流式传输到客户端,或将法式键/值对流式传输到客户端。

+0

确切地说,只有一种语言进入客户端(我们可能有大约300个关键字/值为JS) – fesja 2011-02-09 18:28:25

+0

而且使用这种方法并不是很大的努力。 – 2011-02-09 18:54:51

1

我会将所有翻译的单词存储在单独的JS中,以便它们可以被客户端缓存,并且您不会遭受重复的数据(IE,多个JQuery类可以引用同一个词的相同索引)。