2013-10-27 1 views
1

У меня есть следующая структура: JSonИспользование параметров dust.js для настройки локали для строк в Json

{ 
locale : "en", 
text { 
    "en": "Hello", 
    "fr": "Bonjour" 
} 
} 

Я хочу, чтобы забрать локаль в моем шаблоне и использовать его при обращении текст. Я думал, что-то подобное может работать:

{#text foo=locale} 
    {text.foo} 
{/text} 

Но я ничего не получаю.

Любые идеи? Спасибо.

ответ

1

Если вы используете вилку LinkedIn of Dust, вы можете просто сделать {text[locale]}. Я проверил это на игровой площадке LinkedIn here.

+0

Я знал, что это должно быть просто, но просто не видно. Благодарю. – Gawth

0

Удалось решить проблему в конце с помощью вспомогательной функции.

Вспомогательная функция выглядит следующим образом:

dust.helpers.locale = function(chunk, ctx, bodies, params){ 
    var locale = params.loc; 
    var text = params.txt; 
    return chunk.write(text[locale]); 
} 

Затем я могу назвать это из шаблона, как так:

{@locale loc=locale txt=text /} 

Не уверен, если есть способ сделать это без помощника, но это, похоже, работает нормально.