node.js: is there no way to put HTML into i18n-node JSON translation files?

For those using pug/jade, you can use

!{ __('key_for_your_text') }

beside of any upcoming discussion whether to include (html-)code in language files or not:

try to use

<%- __('<a href="#">click</a>') %>

instead of

<%= __('<a href="#">click</a>') %>

in ejs (the sails default template engine) a '<%=' will escape any html tags while '<%-' puts output as is without touching it. I am pretty sure you'll find unescaped html in your .json files. i18n doesn't do any transformation other than JSON.stringify() but almost all template engines do escape strings by default to prevent xssi.