使用JQuery的多语言静态网站

时间:2014-05-11 14:22:18

标签: javascript jquery html performance multilingual

我有一个用Python Bottle创建的网站。我有几个用户提出要求使其成为多语言的请求,但由于我最初并没有创建它,所以我很难找到最简单的方法。

我最终这样:

我创建了一个xml文件:languages.xml

<?xml version="1.0" encoding="UTF-8"?>
<translations>
    <translation id="myidtest">
        <english>english string</english>
        <italian>italian string</italian>
        <french>french string</french>
    </translation>
</translations>

然后我使用这个JQuery脚本来更新内容:

<script type="text/javascript" language="javascript">

$(function() {
    var language = {{language}};
    $.ajax({
        url: '/static/languages/languages.xml',
        success: function(xml) {
            $(xml).find('translation').each(function(){
                var id = $(this).attr('id');
                var text = $(this).find(language).text();
                $("." + id).html(text);
            });
        }
    });
});
</script>

在用户设置上,我添加了选项以选择首选语言并将其存储在Cookie中。然后每次加载页面时,我都会读取cookie并在JQuery代码中的language参数中传递语言。如果没有cookie,我会通过英语。

然后在HTML代码中,我更改了<span class="myidtest">english string</span>

中的每个字符串

我的问题是:

我是否应该从span标记中删除英文字符串并留下空白的span标记以减少文件大小,加载时间并节省我的时间每次我想更新字符串时更新它们两次(在languages.xml和在HTML)?或者我应该将它们留给那些爬行器还是出于任何其他原因?

1 个答案:

答案 0 :(得分:1)

您应该将它们留给搜索引擎抓取工具。您的有机职位将受益于其中的内容。

此外,删除默认文字也不会带来太多好处。事实上,你应该在后端进行翻译,而不是把这整个压力都放在客户端上。

希望这有帮助。