mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-23 15:48:11 -05:00
Add script for calculating how many translations we have
This commit is contained in:
parent
91cb621f96
commit
1b314b7d14
1 changed files with 136 additions and 0 deletions
136
scripts/mongodb/queries/translation-sum.js
Normal file
136
scripts/mongodb/queries/translation-sum.js
Normal file
|
@ -0,0 +1,136 @@
|
|||
sum = 0;
|
||||
add = function(s) {
|
||||
if (typeof s !== 'string')
|
||||
return;
|
||||
sum += s.split(' ').length;
|
||||
};
|
||||
load('bower_components/lodash/dist/lodash.js');
|
||||
|
||||
sum = 0;
|
||||
db.levels.find({slug: {$exists: true}, i18nCoverage: {$exists:true }}).forEach(function (level) {
|
||||
print(level.name, sum);
|
||||
add(level.name);
|
||||
add(level.description);
|
||||
add(level.loadingTip);
|
||||
add(level.studentPlayInstructions);
|
||||
_.forEach(level.goals, function(goal) {
|
||||
add(goal.name)
|
||||
});
|
||||
if (level.documentation) {
|
||||
_.forEach(level.documentation.specificArticles, function(article) {
|
||||
add(article.name)
|
||||
add(article.body)
|
||||
})
|
||||
_.forEach(level.documentation.hints, function(hint) {
|
||||
add(hint.body)
|
||||
});
|
||||
_.forEach(level.documentation.hintsB, function(hint) {
|
||||
add(hint.body)
|
||||
});
|
||||
}
|
||||
_.forEach(level.scripts, function(script) {
|
||||
_.forEach(script.noteChain, function(noteGroup) {
|
||||
if (!noteGroup) return;
|
||||
_.forEach(noteGroup.sprites, function(spriteCommand) {
|
||||
if(spriteCommand.say) {
|
||||
add(spriteCommand.say.text)
|
||||
add(spriteCommand.say.blurb)
|
||||
if(spriteCommand.say.responses) {
|
||||
_.forEach(spriteCommand.say.responses, function(response) {
|
||||
add(response.text)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
if(level.victory) {
|
||||
add(level.victory.body)
|
||||
}
|
||||
_.forEach(level.thangs, function(thang) {
|
||||
_.forEach(thang.components, function(component) {
|
||||
if (component.config && component.config.programmableMethods) {
|
||||
_.forEach(component.config.programmableMethods, function(method) {
|
||||
_.forEach(method.context, function(value) {
|
||||
add(value);
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
print('Level sum', sum);
|
||||
|
||||
sum = 0;
|
||||
db.achievements.find().forEach(function (achievement) {
|
||||
add(achievement.name)
|
||||
add(achievement.description);
|
||||
});
|
||||
print('Achievement sum', sum);
|
||||
|
||||
sum = 0;
|
||||
db.campaigns.find().forEach(function (campaign) {
|
||||
add(campaign.name);
|
||||
add(campaign.fullName);
|
||||
add(campaign.description);
|
||||
})
|
||||
print('Campaign sum', sum);
|
||||
|
||||
sum = 0;
|
||||
db.level.components.find({slug: {$exists: true}, i18nCoverage: {$exists:true }}).forEach(function (levelComponent) {
|
||||
_.forEach(levelComponent.propertyDocumentation, function(propDoc) {
|
||||
add(propDoc.name)
|
||||
if(typeof propDoc.description === 'string')
|
||||
add(propDoc.description)
|
||||
else
|
||||
_.forEach(propDoc.description, function(description) {
|
||||
add(description);
|
||||
})
|
||||
_.forEach(propDoc.context, function(value) {
|
||||
add(value)
|
||||
})
|
||||
if(propDoc.returns) {
|
||||
if(typeof propDoc.returns.description === 'string')
|
||||
add(propDoc.returns.description)
|
||||
else
|
||||
_.forEach(propDoc.returns.description, function(value) {
|
||||
add(value);
|
||||
})
|
||||
}
|
||||
_.forEach(propDoc.args, function(argDoc) {
|
||||
if(typeof argDoc.description === 'string')
|
||||
add(argDoc.description)
|
||||
else
|
||||
_.forEach(argDoc.description, function(value) {
|
||||
add(value);
|
||||
})
|
||||
})
|
||||
})
|
||||
});
|
||||
print('Component sum', sum)
|
||||
|
||||
sum = 0;
|
||||
db.courses.find().forEach(function (course) {
|
||||
add(course.name)
|
||||
add(course.description)
|
||||
})
|
||||
print('Course sum', sum);
|
||||
|
||||
sum = 0;
|
||||
db.polls.find().forEach(function (poll) {
|
||||
add(poll.name)
|
||||
add(poll.description)
|
||||
_.forEach(poll.answers, function(answer) {
|
||||
add(answer.text)
|
||||
})
|
||||
})
|
||||
print('Poll sum', sum)
|
||||
|
||||
sum = 0;
|
||||
db.thang.types.find({slug: {$exists: true}, i18nCoverage: {$exists:true }}).forEach(function (thangType) {
|
||||
add(thangType.name)
|
||||
add(thangType.description)
|
||||
add(thangType.extendedName)
|
||||
add(thangType.unlockLevelName)
|
||||
})
|
||||
print('Thang Type sum', sum);
|
Loading…
Reference in a new issue