1

我有一个多语言 Web 应用程序,我想将所有文本存储在 JSON 文件中,并为每个页面上的每个元素加载每个文本。例如:

$("h1.text1").append(data[language]['startpage'][0]['text1']);

Tjis 将根据语言在 h1.text1 中显示不同的文本。

目前,我给每个元素一个唯一的类,例如 h1.text1 并在 JSON 中由该类调用它们,例如。文本:“标题”。然后我像上面的例子一样用 JQuery 分配它们。只是想知道是否有更好的方法来做到这一点?因为我要在每个页面的每个元素中分配很多代码行?

4

1 回答 1

1

我可能会这样做的方式是使用数据标签:

<div data-translate="myTranslateIdHere"></div>

然后你可以让你的 json 数据包含数据翻译 id。这在javascript中会很简单。您可以遍历您的 json 数组,并使用 data-translate id 来查找元素,并设置该元素的文本。如下所示:

$(myJSON).each(function(key, val) {
    $("[data-translate='" + val["translateId"] + "']").text(val["translateValue"]);
});

然后,您只需更新您的 JSON 以获得正确的结构,并将 translateId 映射到 translateValue。显然,您还必须重新编写上面的 JavaScript 以适应您的 JSON,这只是该想法的一个快速示例。

于 2013-03-23T13:39:39.040 回答