mirror of
https://github.com/nunocoracao/blowfish.git
synced 2025-01-22 06:25:45 -06:00
added script to find missing translations
This commit is contained in:
parent
f85fc05b6e
commit
686f2ef9fe
1 changed files with 75 additions and 0 deletions
75
findMissingTranslations.js
Normal file
75
findMissingTranslations.js
Normal file
|
@ -0,0 +1,75 @@
|
|||
const fs = require('fs');
|
||||
|
||||
const configDir = "./exampleSite/config/_default";
|
||||
const contentDir = "./exampleSite/content";
|
||||
const defaultLang = "en";
|
||||
|
||||
var targetLangs = []
|
||||
|
||||
function readConfigs() {
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach(file => {
|
||||
//console.log(file)
|
||||
if(file.indexOf("languages.") > -1) {
|
||||
var lang = file.split(".")[1];
|
||||
//console.log(lang)
|
||||
if(lang != defaultLang) {
|
||||
targetLangs.push(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function processFile(filePath, file) {
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
|
||||
//console.log("processing", filePath)
|
||||
|
||||
for(var i in targetLangs) {
|
||||
const targetLang = targetLangs[i];
|
||||
var targetFilePath = filePath.replace(".md", "." + targetLang + ".md");
|
||||
//var targetFileName = file.replace(".md", "." + targetLang + ".md");
|
||||
|
||||
if(fs.existsSync(targetFilePath)) {
|
||||
//console.log("file already exists", targetFilePath);
|
||||
|
||||
const data = fs.readFileSync(filePath, 'utf8');
|
||||
const data2 = fs.readFileSync(targetFilePath, 'utf8');
|
||||
if(data != data2) {
|
||||
//console.log("file contents are different", targetFilePath);
|
||||
}else{
|
||||
//console.log("file contents are the same", targetFilePath);
|
||||
console.log(targetFilePath);
|
||||
//process.exit(1);
|
||||
}
|
||||
|
||||
}else{
|
||||
//console.log("file does not exist", targetFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
} else
|
||||
return
|
||||
}
|
||||
|
||||
async function processFolder(folderPath) {
|
||||
const files = fs.readdirSync(folderPath);
|
||||
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath, file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function createLinks() {
|
||||
processFolder(contentDir);
|
||||
}
|
||||
|
||||
readConfigs();
|
||||
createLinks();
|
Loading…
Reference in a new issue