2017-07-19 95 views
0

我想将ES6模板字符串用作我的Node.js应用程序中的翻译模板。加载并替换从文件加载的模板字符串中的变量

我有一个JSON文件en_GB.json这样的:

{ 
    "app.template": "This is ${foo} I ${bar}", 
    "app.foo": "bar" 
} 

在节点我这样做:

const translations = require('./en_GB.json') 
const foo = 'what' 
const bar = 'want' 

console.log(translations['app.template']) // Outputs This is ${foo} I ${bar} 

我想输出是“这是我想要的”

这可能没有使用帮手功能吗?

回答

0

这项工作吗?

https://www.npmjs.com/package/stringinject

https://github.com/tjcafferkey/stringinject

var string = stringInject("This is a {0} string for {1}", ["test", "stringInject"]); 

// This is a test string for stringInject 
+0

不,我需要能够通过名称来指定变量。此外,我正在寻找一种本地方式来做到这一点。 – Hedge

+1

我已经更新了我的NPM包以允许这样做。这是你在找什么? https://www.npmjs.com/package/stringinject – tjcafferkey