mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-26 07:58:34 +02:00
awesome getting translation script mostly there
This commit is contained in:
parent
da51a115ae
commit
5290a9878f
2 changed files with 160 additions and 1 deletions
159
src/js/intl/helpTranslate.js
Normal file
159
src/js/intl/helpTranslate.js
Normal file
|
@ -0,0 +1,159 @@
|
|||
/*
|
||||
* Warning!! This is this hackiest goddamn script evarrr. Don't
|
||||
* judge :D
|
||||
*/
|
||||
|
||||
var child_process = require('child_process');
|
||||
var _ = require('underscore');
|
||||
var Q = require('q');
|
||||
var intl = require('../intl');
|
||||
|
||||
var shouldBegin = Q.defer();
|
||||
var translateQueue = [];
|
||||
|
||||
var translate = function(context, path, key, blob) {
|
||||
translateQueue.push({
|
||||
context: context,
|
||||
path: path,
|
||||
key: key,
|
||||
blob: blob
|
||||
});
|
||||
};
|
||||
|
||||
// CONFIG stuff
|
||||
var findLevelsCommand = 'find ../../levels -name "*.js"';
|
||||
|
||||
var processLevelIndex = function() {
|
||||
var path = '../../levels';
|
||||
var sequenceInfo = require(path).sequenceInfo;
|
||||
|
||||
var genNameContext = function(sequence) {
|
||||
var name = intl.getIntlKey(sequence, 'displayName');
|
||||
return [
|
||||
'This is a title of a level sequence "' + name + '" ',
|
||||
'What is the best translation for that title?'
|
||||
].join('\n');
|
||||
};
|
||||
|
||||
var genAboutContext = function(sequence) {
|
||||
var name = intl.getIntlKey(sequence, 'displayName');
|
||||
var about = intl.getIntlKey(sequence, 'about');
|
||||
return [
|
||||
'For the level sequence "' + name + '",',
|
||||
'the about section is:',
|
||||
'~~"' + about + '"',
|
||||
'',
|
||||
'What is the best translation for the about section?'
|
||||
].join('\n');
|
||||
};
|
||||
|
||||
_.each(sequenceInfo, function(sequence) {
|
||||
translate(
|
||||
genNameContext(sequence),
|
||||
path,
|
||||
'displayName',
|
||||
sequence.displayName
|
||||
);
|
||||
|
||||
translate(
|
||||
genAboutContext(sequence),
|
||||
path,
|
||||
'about',
|
||||
sequence.about
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
var processLevel = function(levelPath) {
|
||||
if (/index.js/.test(levelPath)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var level = require(levelPath).level;
|
||||
// TODO
|
||||
};
|
||||
|
||||
child_process.exec(findLevelsCommand, function(err, output) {
|
||||
_.each(output.split('\n'), function(levelPath) {
|
||||
if (!levelPath || !levelPath.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
processLevel(levelPath);
|
||||
});
|
||||
|
||||
processLevelIndex();
|
||||
shouldBegin.resolve();
|
||||
});
|
||||
|
||||
var printContext = function(queueObj) {
|
||||
if (typeof queueObj.context === 'string') {
|
||||
console.log(queueObj.context);
|
||||
} else {
|
||||
var results = queueObj.context();
|
||||
if (results) { console.log(results); }
|
||||
}
|
||||
};
|
||||
|
||||
var printSeparator = function() {
|
||||
var printLn = function() {
|
||||
console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
|
||||
};
|
||||
|
||||
var printSpace = function(num) {
|
||||
num = (num === undefined) ? 1 : num;
|
||||
for (var i = 0; i < num; i++) {
|
||||
console.log('\n');
|
||||
}
|
||||
};
|
||||
|
||||
var printRandomEmoji = function() {
|
||||
var emojis = [
|
||||
':D',
|
||||
'~~~ (> O o)> ~~~~'
|
||||
];
|
||||
|
||||
var index = Math.floor(Math.random() * emojis.length);
|
||||
console.log(emojis[index]);
|
||||
};
|
||||
|
||||
printLn();
|
||||
printSpace(1);
|
||||
printRandomEmoji();
|
||||
printSpace(1);
|
||||
printLn();
|
||||
};
|
||||
|
||||
var printPrompt = function() {
|
||||
console.log('(input)>>');
|
||||
};
|
||||
|
||||
var collectInput = function(cb) {
|
||||
setTimeout(function() {
|
||||
cb('hihi');
|
||||
}, 50);
|
||||
};
|
||||
|
||||
var popTranslateQueue = function(queueObj) {
|
||||
printSeparator();
|
||||
printContext(queueObj);
|
||||
printPrompt();
|
||||
|
||||
collectInput(function(input) {
|
||||
outputTranslation(queueObj, input);
|
||||
});
|
||||
};
|
||||
|
||||
var outputTranslation = function(queueObj, input) {
|
||||
console.log(queueObj.blob);
|
||||
var path = queueObj.path;
|
||||
var needle = queueObj.blob['en_US'];
|
||||
console.log('the needle \n', needle, '\n in path', path);
|
||||
};
|
||||
|
||||
shouldBegin.promise
|
||||
.then(function() {
|
||||
_.each(translateQueue, popTranslateQueue);
|
||||
});
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ exports.sequenceInfo = {
|
|||
},
|
||||
about: {
|
||||
'en_US': 'A nicely paced introduction to the majority of git commands',
|
||||
'f_FR': 'Une introduction en douceur à la majoité des commandes git',
|
||||
'fr_FR': 'Une introduction en douceur à la majoité des commandes git',
|
||||
'zh_CN': '一个节奏感良好的主流 Git 命令介绍',
|
||||
'ko': '브랜치 관련 주요 git 명령어를 깔끔하게 알려드립니다'
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue