Как лучше всего обрабатывать языковые файлы в 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']);