TempLang
Та самая штука, которую я юзаю в vk.com/cbbot
Выкладывать не хотел, но нужно было в другом проекте.
Установка
npm install templang
Синтаксис
# комментарий
# {body} - переменная из данных
# {*id} - числовая переменная из данных
# {*id:ключ:* ключа:* ключей} - склонение с учетом числа из данных
# {@user} - подстановка "а", если пол женский
# {@user:1:2} - подстановка строки, с учетом пола
# {?secret:yes:no} - подстановка строки, с переменной
# {$message_link} - вызов шаблона
# \[user] - ссылка на объект из данных
# \[user:gen] - ссылка на объект со склонением из данных
# :nom - именительный - Кто? Что? - Евгений; Евгения заблокировал
# :gen - родительный - Кого? Чего? - должность Евгения; Евгении
# :dat - дательный - Кому? Чему? - дали права Евгению; Евгении
# :acc - винительный - Кого? Что? - Евгения; Евгению заблокировали
# @ - экспорт секции в объект
@ Date
Date_DateTimeFormat: D JG Y H:i:s (UTC+0)
Date_MountNamesGen
января, февраля, марта, апреля, мая, июня, июля, августа, сентября, октября, ноября, декабря
key1: inline value {text}
key2
multiline
value
Использование
var templang = require('templang'),
lang = {
ru: templang.fromFile("./langs/ru.templang")
};
console.log('key1', lang.ru.try('key1', { text: 'text' }));
console.log('Date:', lang.ru.toDateTime(new Date()););