如何在不替换已翻译的消息的情况下运行formatjs编译命令?现在我这样运行它:
../../node_modules/.bin/formatjs compile lang/ru.json --out-file compiled-lang/ru.json发布于 2021-02-19 07:14:36
您需要有一个带有自己的编译函数的自定义格式化程序:https://formatjs.io/docs/tooling/cli/#custom-formatters
下面是我的格式化程序文件的样子:
const argv = require('yargs').argv;
const originTranslations = require(argv['out-file']);
module.exports = {
compile: function (msgs) {
const results = {};
for (const k in msgs) {
const defaultMessage = msgs[k].defaultMessage;
if (originTranslations[k]) {
results[k] = originTranslations[k];
} else if (defaultMessage) {
results[k] = defaultMessage;
} else {
results[k] = 'MISSING TRANSLATION';
}
}
return results;
},
};您需要使用--format选项传入此格式化程序
yarn formatjs compile lang/ru.json --out-file compiled-lang/ru.json --format <your formatter file>https://stackoverflow.com/questions/63453270
复制相似问题