У меня есть несколько исходных файлов javascript (.js), которые используют строковые константы для обеспечения удобочитаемого вывода для пользователя.Вот пример (хотя у меня есть тонны констант на файл, а не просто пара):
const WELCOME_MESSAGE = 'Welcome %!';
const GOODBYE_MESSAGE = 'Goodbye';
Я использую i18next и i18next-sprintf-postprocessor предоставить локализованные версии для этих строк.Я помещаю локализованные версии в структуру каталогов, подобную этой:
├── i18n/ // localized strings
│ ├── en.js
│ ├── de.js
│ ├── fr.js
│ ├── it.js
│ └── es.js
├── node_modules/
│ └── ... // npm modules
└── index.js // main js file
Каждый локализованный файл выглядит примерно так (пример en.js, показанный ниже):
// en.js
module.exports = {
translation: {
WELCOME_MESSAGE: 'Welcome %!',
GOODBYE_MESSAGE: 'Goodbye'
}
}
Поскольку яУ меня есть несколько исходных файлов и множество строковых констант на английском языке. Я хочу автоматически генерировать en.js (выше) с помощью процесса gulp , который извлекает все строковые константы из исходного файла ( index.js ) и создает указанный выше файл ( en.js , предварительно создав каталог i18n , если он не существует).
Я искал решение безрезультатно (хотел бы использовать существующий пакет npm, чтобы сделать это, если доступно).Я нашел сканеры и парсеры i18next, но они ожидают, что файл уже будет поддерживать i18next (например, строка, используемая с помощью функции _t
).
Можете ли вы предложить решение?