// Each level is part of a "sequence;" levels within // a sequence proceed in the order listed here exports.levelSequences = { intro: [ require('./intro/commits').level, require('./intro/branching').level, require('./intro/merging').level, require('./intro/rebasing').level ], rampup: [ require('./rampup/detachedHead').level, require('./rampup/relativeRefs').level, require('./rampup/relativeRefs2').level, require('./rampup/reversingChanges').level ], move: [ require('./rampup/cherryPick').level, require('./rampup/interactiveRebase').level ], mixed: [ require('./mixed/grabbingOneCommit').level, require('./mixed/jugglingCommits').level, require('./mixed/jugglingCommits2').level, require('./mixed/tags').level, require('./mixed/describe').level ], advanced: [ require('./rebase/manyRebases').level, require('./advanced/multipleParents').level, require('./rebase/selectiveRebase').level ], remote: [ require('./remote/clone').level, require('./remote/remoteBranches').level, require('./remote/fetch').level, require('./remote/pull').level, require('./remote/fakeTeamwork').level, require('./remote/push').level, require('./remote/fetchRebase').level ], remoteAdvanced: [ require('./remote/pushManyFeatures').level, require('./remote/mergeManyFeatures').level, require('./remote/tracking').level, require('./remote/pushArgs').level, require('./remote/pushArgs2').level, require('./remote/fetchArgs').level, require('./remote/sourceNothing').level, require('./remote/pullArgs').level ] }; // there are also cute names and such for sequences var sequenceInfo = exports.sequenceInfo = { intro: { displayName: { 'en_US': 'Introduction Sequence', 'de_DE': 'Einführung', 'ja': 'まずはここから', 'fr_FR': 'Séquence d\'introduction', 'es_AR': 'Secuencia introductoria', 'pt_BR': 'Sequência introdutória', 'zh_CN': '基础篇', 'zh_TW': '基礎篇', 'ko': '기본 명령어', 'ru_RU': 'Введение' }, about: { 'en_US': 'A nicely paced introduction to the majority of git commands', 'de_DE': 'Eine gut abgestimmte Einführung in die wichtigsten Git-Befehle', 'ja': 'gitの基本的なコマンド群をほどよいペースで学ぶ', 'fr_FR': 'Une introduction en douceur à la majorité des commandes git', 'es_AR': 'Una breve introducción a la mayoría de los comandos de git', 'pt_BR': 'Uma breve introdução à maioria dos comandos do git', 'zh_CN': '循序渐进介绍git主要命令', 'zh_TW': '循序漸進地介紹 git 主要命令', 'ko': '브랜치 관련 주요 git 명령어를 깔끔하게 알려드립니다', 'ru_RU': 'Хорошо подобранное введение в основные команды git' } }, rampup: { displayName: { 'en_US': 'Ramping Up', 'de_DE': 'Aufstieg', 'ja': '次のレベルに進もう', 'fr_FR': 'Montée en puissance', 'es_AR': 'Acelerando', 'pt_BR': 'Acelerando', 'zh_CN': '进阶篇', 'zh_TW': '進階篇', 'ru_RU': 'Едем дальше' }, about: { 'en_US': 'The next serving of 100% git awesomes-ness. Hope you\'re hungry', 'de_DE': 'Eine Portion Git-Wahnsinn zum Thema Navigation', 'ja': '更にgitの素晴らしさを堪能しよう', 'fr_FR' : 'Le prochain excellent plat de pur git. J\'espère que vous êtes affamés', 'es_AR': 'La próxima porción de 100% maravillas git. Espero que estés hambriento', 'pt_BR': 'A próxima porção de maravilhas do git. Faminto?', 'zh_CN': '接下来是git的超赞特性。迫不及待了吧!', 'zh_TW': '接下來是 git 非常厲害的地方!相信你已經迫不及待了吧!', 'ru_RU': 'Следующая порция абсолютной git-крутотенюшки. Проголодались?' } }, remote: { tab: 'remote', displayName: { 'en_US': 'Push & Pull -- Git Remotes!', 'de_DE': 'Push & Pull -- entfernte Repositorys', 'ja' : 'Push及びPullコマンド -- Gitリモート', 'fr_FR': 'Push & Pull -- dépôts gits distants !', 'es_AR': 'Push & Pull -- Git Remotes!', 'pt_BR': 'Push & Pull -- repositórios remotos no Git!', 'zh_CN': 'Push & Pull -- Git Remotes!', 'zh_TW': 'Push & Pull -- Git Remotes!', 'ru_RU': 'Push & Pull -- Git Remotes!' }, about: { 'en_US': 'Time to share your 1\'s and 0\'s kids; coding just got social', 'fr_FR': 'C\'est le temps de partager vos 1 et vos 0 les enfants, le code vient de devenir social.', 'ja' : '自分のコードをより広く公開しましょう', 'de_DE': 'Zeit Eure 1en und 0en zu teilen; Coding mit sozialer Komponente', 'es_AR': 'Hora de compartir sus 1\'s y 0\'s, chicos; programar se volvió social!', 'pt_BR': 'Hora de compartilhar seus 1\'s e 0\'s, crianças; programar agora é social!', 'zh_CN': '是时候分享你的代码了', 'zh_TW': '是時候分享你的程式碼了', 'ru_RU': 'Настало время поделиться своими единичками и нулями. Время коллективного программирования.' } }, remoteAdvanced: { tab: 'remote', displayName: { 'en_US': 'To Origin And Beyond -- Advanced Git Remotes!', 'de_DE': 'Bis zum origin und noch weiter', 'ja' : 'Originだけではない -- Gitリモート上級編', 'fr_FR': 'Vers l\'infini et au-delà -- dépôts distants version avancée', 'es_AR': 'Hasta el origin y más allá -- Git Remotes avanzado!', 'pt_BR': 'Até a origin e além -- repositórios remotos avançados!', 'zh_CN': '关于origin 和 其它仓库 -- Git Gemotes 高级命令', 'zh_TW': '關於 origin 和其它 repo,git remote 的進階指令', 'ru_RU': 'Через origin – к звёздам. Продвинутое использование Git Remotes.' }, about: { 'en_US': 'And you thought being a benevolent dictator would be fun...', 'fr_FR': 'Et vous pensiez qu\'être un dictateur bienfaisant serait amusant...', 'ja' : '上級者の仕事は絶えずあり', 'es_AR': 'Y pensabas que ser un dictador benévolo sería divertido...', 'pt_BR': 'E você achava que ser um déspota esclarecido seria mais divertido...', 'zh_CN': '做一名仁慈的独裁者会很有趣..', 'zh_TW': '而且你會覺得做一個仁慈的獨裁者會很有趣...', 'de_DE': 'Git Remotes für Fortgeschrittene', 'ru_RU': 'Весело было быть всесильным мудрым правителем...' } }, move: { displayName: { 'en_US': 'Moving Work Around', 'de_DE': 'Code Umherschieben', 'fr_FR': 'Déplacer le travail', 'es_AR': 'Moviendo el trabajo por ahí', 'pt_BR': 'Movendo trabalho por aí', 'ja' : 'コードの移動', // INTL out of sync :( 'zh_CN': '精通 rebase!', 'zh_TW': '精通 rebase!', 'ko': '리베이스 완전정복!', 'ru_RU': 'Перемещаем труды туда-сюда' }, about: { 'en_US': 'Get comfortable with modifying the source tree', 'de_DE': 'Gewöhn dich daran, den Git-Baum zu verändern', 'fr_FR': 'Soyez alaise de modifier l\'arbre Git', 'es_AR': 'Ponete cómodo con modificar el directorio fuente', 'pt_BR': 'Fique confortável em modificar a árvore de códigos', // INTL out of sync :( 'ja': '話題のrebaseってどんなものだろう?って人にオススメ', 'ko': '그 좋다고들 말하는 rebase에 대해 알아봅시다!', 'zh_CN': '大家都在说的 rebase 究竟是神马?看看吧!', 'zh_TW': '大家都在說的 rebase 到底是什麼啊?來看看吧!', 'ru_RU': 'Не стесняйтесь менять историю' } }, mixed: { displayName: { 'en_US': 'A Mixed Bag', 'de_DE': 'Ein Kessel Buntes', 'ja': '様々なtips', 'fr_FR': 'Un assortiment', 'es_AR': 'Bolsa de gatos', 'pt_BR': 'Sortidos', 'ko': '종합선물세트', 'zh_CN': '大杂烩?', 'zh_TW': '活用 git 的指令', 'ru_RU': 'Сборная солянка' }, about: { 'en_US': 'A mixed bag of Git techniques, tricks, and tips', 'de_DE': 'Eine bunte Mischung von Techniken, Tipps und Tricks', 'ja': 'gitを使う上での様々なtipsやテクニックなど', 'fr_FR': 'Un assortiment de techniques et astuces pour utiliser Git', 'es_AR': 'Un rejunte de técnicas, trucos y tips sobre Git', 'pt_BR': 'Técnicas, truques e dicas sortidas sobre Git', 'ko': 'Git을 다루는 다양한 팁과 테크닉을 다양하게 알아봅니다', 'zh_CN': 'Git技术、技巧与贴士杂烩', 'zh_TW': 'git 的技術,招數與技巧', 'ru_RU': 'Ассорти из приёмов работы с Git, хитростей и советов' } }, advanced: { displayName: { 'en_US': 'Advanced Topics', 'de_DE': 'Themen für Fortgeschrittene', 'ja' : '上級トピック', 'fr_FR': 'Sujets Avancés', 'es_AR': 'Temas avanzados', 'pt_BR': 'Temas avançados', 'zh_CN': '高级主题', 'zh_TW': '進階主題', 'ru_RU': 'Продвинутый уровень' }, about: { 'en_US': 'For the truly brave!', 'de_DE': '... die nie ein Mensch zuvor gesehen hat.', 'ja' : '勇気ある人のみ!', 'fr_FR': 'Pour les plus courageux !', 'es_AR': '¡Para los verdaderos valientes!', 'pt_BR': 'Para os verdadeiros valentes!', 'zh_CN': '只为真正的勇士!', 'zh_TW': '來成為真正的強者吧!', 'ru_RU': 'Если ты смелый, ловкий, умелый – потренируйся тут' } } }; exports.getTabForSequence = function(sequenceName) { var info = sequenceInfo[sequenceName]; return (info.tab) ? info.tab : 'main'; };