翻译Mustache.js模板的各个部分

时间:2015-02-11 10:24:51

标签: javascript php internationalization mustache

所以我基本上试图将我之前硬编码的一些单词翻译成Mustache.js模板。

模板:

... <button type="button" class="btn" data-id="{{id}}">Delete</button> ...

问题:

网站的其他各个方面都可以即时翻译成多种语言,但“删除”,“创建”,“编辑”等关键字已经在模板中进行了硬编码,并且从未进行过翻译。 / p>

问题:

你如何翻译这些单词,而不是硬编码?

我尝试过:

在我调用Mustache.render之前,我一直在模板上的javascript中使用字符串替换函数,如下所示:

// Simulate array of translations coming from server (in the current users locale)
this.i18n = new Array();
this.i18n['delete'] = '[en_GB] Delete';
this.i18n['create'] = '[en_GB] Create';
this.i18n['edit'] = '[en_GB] Update';

$.get(template, function (template, textStatus, jqXhr) {
    var html = $(template).filter('#artist_collection').html();
    // ...
    html = html.replace('Delete', this.i18n['delete']); // <- There may be several of these depending on the page/template
    // ...
    var template = Mustache.render(html, data);
    index.artist_container.append(template);
    console.log(html);
});

这有效,但这是一个好方法吗?有更好的解决方案吗?

0 个答案:

没有答案