javascript — перевод частей шаблонов Mustache.js

Поэтому я в основном пытаюсь перевести некоторые слова, которые я ранее жестко запрограммировал, в шаблон Mustache.js.

Шаблон:

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

Эта проблема:

Любой другой аспект веб-сайта может быть переведен на лету на несколько различных языков, но ключевые слова, такие как «Удалить», «Создать», «Изменить» и т. Д., Были жестко закодированы в шаблоне и никогда не переводятся.

Вопрос:

Как вы переводите эти слова, а не жестко их кодируете?

Что я пробовал:

Я поигрался с функциями замены строк в javascript на шаблоне, прежде чем я вызову Mustache.render, вот так:

// 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);
});

Это работает, но это хороший подход? Есть ли лучшее решение?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]