我目前正在开发一个网站,我想实现一个语言文件。 意思是,我希望能够拥有一个名为language.js的文件,其中包含所有代码生成字符串的对象。
一个例子:
var languageStrings = {
welcomeMessage: "Welcome to our website, %s!",
usernameInvalid: "The username '%s' is invalid",
}
module.exports = function(languageString, arguments) {
// return a parsed string, using arguments
// so require("./language")("welcomeMessage", "Cyberuben"); should output "Welcome to our website, Cyberuben!"
}
我不确定如何以快速但功能性的方式实现这一目标。我打算使用util.format,但这会将每个替换作为单个参数,而不是表或数组。在Lua中,有unpack()
(Source),它将表解包为单独的元素。我想知道JavaScript中是否有类似的功能,或者是否有更好的方法来处理未知数量的变量到字符串的格式
答案 0 :(得分:0)
尝试https://github.com/alexei/sprintf.js它支持传递数组。例如
vsprintf('The first 4 letters of the english alphabet are: %s, %s, %s and %s', ['a', 'b', 'c', 'd']);