在NodeJS中处理语言文件的最佳方式是什么?

What would be the best way to handle language files in NodeJS

本文关键字:最佳 方式 是什么 文件 NodeJS 处理 语言      更新时间:2023-09-26

我目前正在一个网站上工作,我想实现一个语言文件。意思是,我希望能够有一个名为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。格式,但这将每个替换作为单个参数,而不是一个表或数组。在Lua中,有unpack() (Source),它将表解包为单独的元素。我想知道在JavaScript中是否有类似的函数,或者是否有更好的方法来处理字符串

的未知变量的格式。

试试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']);