Javascript 在Node.js中自动导出国际化字符串

Javascript 在Node.js中自动导出国际化字符串,javascript,node.js,localization,internationalization,Javascript,Node.js,Localization,Internationalization,如果我使用的是npm模块,如,则密钥存储在语言特定的文件中,如locale/en.js或locale/de.js: en.js { "hello world": "hello world" } 是否有一个工具可以使用字符串的格式导出字符串,例如,_Hello world,并自动将其插入langauge文件,就像en.js一样,对于其他语言文件,可以使用空字符串,例如new key:在编写代码时,不必添加字符串 例如:如果我添加了一个新字符串_somestr,那么在运行该工具时,一个新键so

如果我使用的是npm模块,如,则密钥存储在语言特定的文件中,如locale/en.js或locale/de.js:

en.js
{
  "hello world": "hello world"
}
是否有一个工具可以使用字符串的格式导出字符串,例如,_Hello world,并自动将其插入langauge文件,就像en.js一样,对于其他语言文件,可以使用空字符串,例如new key:在编写代码时,不必添加字符串


例如:如果我添加了一个新字符串_somestr,那么在运行该工具时,一个新键some str:some str将被添加到en.js,另一个键str:to de.js。

如果您只需要该对象,可以使用fs将其保存到js文件或json文件中

test.js

var fs = require('fs')
try {
  var en = JSON.parse(fs.readFileSync('en.js'))
  var de = JSON.parse(fs.readFileSync('de.js'))
} catch(err) {
  // no file present
  en = {};
  de = {};
}
var string = process.env.string;
en[string] = string;
de[string] = "";
console.log(JSON.stringify(en), JSON.stringify(de))
fs.writeFile('en.js', JSON.stringify(en))
fs.writeFile('de.js', JSON.stringify(de))
正如您所看到的,string变量只是一个env参数

string=hello node test.js
也可以将它们保存到json文件中


如果将此脚本与使用对象的脚本一起使用,请小心。因为writeFile是一个异步操作

实际上这是一个很好的方法,感谢您的响应
fs.writeFile('en.json', JSON.stringify(en))
fs.writeFile('de.json', JSON.stringify(de))