Как лучше всего обрабатывать языковые файлы в NodeJS?

В настоящее время я работаю над сайтом и хочу реализовать языковой файл. То есть я хочу иметь файл 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() ( Источник), который распаковывает таблицу в отдельные элементы. Мне интересно, есть ли подобная функция в JavaScript, или есть более эффективные способы обработки форматирования неизвестного количества переменных в строку

1 ответ

Попробуйте 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']);
Другие вопросы по тегам