Updating i18n:scrub script to remove defined keys from missing namespace
This commit is contained in:
parent
b575b9a0cc
commit
479d035cd0
@ -53,7 +53,7 @@ loadLocales()
|
|||||||
|
|
||||||
languages.forEach(langName => {
|
languages.forEach(langName => {
|
||||||
const lang = locales[langName];
|
const lang = locales[langName];
|
||||||
const presentKeys = Object.keys(lang).reduce((list, nsName) => {
|
const presentKeys = Object.keys(lang).filter(nsName => nsName !== 'missing').reduce((list, nsName) => {
|
||||||
return list.concat(Object.keys(lang[nsName]));
|
return list.concat(Object.keys(lang[nsName]));
|
||||||
}, []);
|
}, []);
|
||||||
const missingKeys = requiredKeys.filter(key => !presentKeys.includes(key));
|
const missingKeys = requiredKeys.filter(key => !presentKeys.includes(key));
|
||||||
@ -68,10 +68,23 @@ loadLocales()
|
|||||||
}
|
}
|
||||||
|
|
||||||
missingKeys.forEach(key => {
|
missingKeys.forEach(key => {
|
||||||
console.log(colors.yellow.bold('MISSING:'), `${ langName } need values for "${ colors.bold(key) }".`); //eslint-disable-line no-console
|
if (lang.missing[key]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(colors.yellow.bold('MISSING:'), `${ langName } needs value for "${ colors.bold(key) }".`); //eslint-disable-line no-console
|
||||||
lang.missing[key] = sourceLocale[key];
|
lang.missing[key] = sourceLocale[key];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
presentKeys.forEach(key => {
|
||||||
|
if (!lang.missing[key]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(colors.yellow.bold('DEFINED:'), `Removing "${ colors.bold(key) }" from ${ langName}.missing. It is defined elsewhere.`); // eslint-disable-line no-console
|
||||||
|
delete lang.missing[key];
|
||||||
|
});
|
||||||
|
|
||||||
extraKeys.forEach(key => {
|
extraKeys.forEach(key => {
|
||||||
console.log(colors.yellow.bold('EXTRA:'), `${ langName } has extra key for "${ colors.bold(key) }". It should be removed.`); // eslint-disable-line no-console
|
console.log(colors.yellow.bold('EXTRA:'), `${ langName } has extra key for "${ colors.bold(key) }". It should be removed.`); // eslint-disable-line no-console
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user