diff --git a/src/levels/index.js b/src/levels/index.js index 3f75b276..0e28e5bd 100644 --- a/src/levels/index.js +++ b/src/levels/index.js @@ -62,7 +62,8 @@ var sequenceInfo = exports.sequenceInfo = { 'pt_BR': 'Sequência introdutória', 'zh_CN': '基础篇', 'zh_TW': '基礎篇', - 'ko': '기본 명령어' + 'ko': '기본 명령어', + 'ru_RU': 'Введение' }, about: { 'en_US': 'A nicely paced introduction to the majority of git commands', @@ -73,7 +74,8 @@ var sequenceInfo = exports.sequenceInfo = { 'pt_BR': 'Uma breve introdução à maioria dos comandos do git', 'zh_CN': '循序渐进介绍git主要命令', 'zh_TW': '循序漸進地介紹 git 主要命令', - 'ko': '브랜치 관련 주요 git 명령어를 깔끔하게 알려드립니다' + 'ko': '브랜치 관련 주요 git 명령어를 깔끔하게 알려드립니다', + 'ru_RU': 'Хорошо подобранное введение в основные команды git' } }, rampup: { @@ -85,7 +87,8 @@ var sequenceInfo = exports.sequenceInfo = { 'es_AR': 'Acelerando', 'pt_BR': 'Acelerando', 'zh_CN': '进阶篇', - 'zh_TW': '進階篇' + 'zh_TW': '進階篇', + 'ru_RU': 'Едем дальше' }, about: { 'en_US': 'The next serving of 100% git awesomes-ness. Hope you\'re hungry', @@ -95,7 +98,8 @@ var sequenceInfo = exports.sequenceInfo = { '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 非常厲害的地方!相信你已經迫不及待了吧!' + 'zh_TW': '接下來是 git 非常厲害的地方!相信你已經迫不及待了吧!', + 'ru_RU': 'Следующая порция абсолютной git-крутотенюшки. Проголодались?' } }, remote: { @@ -108,7 +112,8 @@ var sequenceInfo = exports.sequenceInfo = { '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!' + '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', @@ -118,7 +123,8 @@ var sequenceInfo = exports.sequenceInfo = { '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': '是時候分享你的程式碼了' + 'zh_TW': '是時候分享你的程式碼了', + 'ru_RU': 'Настало время поделиться своими единичками и нулями. Время коллективного программирования.' } }, remoteAdvanced: { @@ -131,7 +137,8 @@ var sequenceInfo = exports.sequenceInfo = { '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 的進階指令' + 'zh_TW': '關於 origin 和其它 repo,git remote 的進階指令', + 'ru_RU': 'Через origin – к звёздам. Продвинутое использование Git Remotes.' }, about: { 'en_US': 'And you thought being a benevolent dictator would be fun...', @@ -141,7 +148,8 @@ var sequenceInfo = exports.sequenceInfo = { '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' + 'de_DE': 'Git Remotes für Fortgeschrittene', + 'ru_RU': 'Весело было быть всесильным мудрым правителем...' } }, move: { @@ -155,7 +163,8 @@ var sequenceInfo = exports.sequenceInfo = { // INTL out of sync :( 'zh_CN': '精通 rebase!', 'zh_TW': '精通 rebase!', - 'ko': '리베이스 완전정복!' + 'ko': '리베이스 완전정복!', + 'ru_RU': 'Перемещаем труды туда-сюда' }, about: { 'en_US': 'Get comfortable with modifying the source tree', @@ -167,7 +176,8 @@ var sequenceInfo = exports.sequenceInfo = { 'ja': '話題のrebaseってどんなものだろう?って人にオススメ', 'ko': '그 좋다고들 말하는 rebase에 대해 알아봅시다!', 'zh_CN': '大家都在说的 rebase 究竟是神马?看看吧!', - 'zh_TW': '大家都在說的 rebase 到底是什麼啊?來看看吧!' + 'zh_TW': '大家都在說的 rebase 到底是什麼啊?來看看吧!', + 'ru_RU': 'Не стесняйтесь менять историю' } }, mixed: { @@ -180,7 +190,8 @@ var sequenceInfo = exports.sequenceInfo = { 'pt_BR': 'Sortidos', 'ko': '종합선물세트', 'zh_CN': '大杂烩?', - 'zh_TW': '活用 git 的指令' + 'zh_TW': '活用 git 的指令', + 'ru_RU': 'Сборная солянка' }, about: { 'en_US': 'A mixed bag of Git techniques, tricks, and tips', @@ -191,7 +202,8 @@ var sequenceInfo = exports.sequenceInfo = { 'pt_BR': 'Técnicas, truques e dicas sortidas sobre Git', 'ko': 'Git을 다루는 다양한 팁과 테크닉을 다양하게 알아봅니다', 'zh_CN': 'Git技术、技巧与贴士杂烩', - 'zh_TW': 'git 的技術,招數與技巧' + 'zh_TW': 'git 的技術,招數與技巧', + 'ru_RU': 'Ассорти из приёмов работы с гит, хитростей и советов' } }, advanced: { @@ -203,7 +215,8 @@ var sequenceInfo = exports.sequenceInfo = { 'es_AR': 'Temas avanzados', 'pt_BR': 'Temas avançados', 'zh_CN': '高级主题', - 'zh_TW': '進階主題' + 'zh_TW': '進階主題', + 'ru_RU': 'Продвинутый уровень' }, about: { 'en_US': 'For the truly brave!', @@ -213,7 +226,8 @@ var sequenceInfo = exports.sequenceInfo = { 'es_AR': '¡Para los verdaderos valientes!', 'pt_BR': 'Para os verdadeiros valentes!', 'zh_CN': '只为真正的勇士!', - 'zh_TW': '來成為真正的強者吧!' + 'zh_TW': '來成為真正的強者吧!', + 'ru_RU': 'Если ты смелый, ловкий, умелый – потренируйся тут' } } }; diff --git a/src/levels/intro/commits.js b/src/levels/intro/commits.js index 067b18f3..923c8850 100644 --- a/src/levels/intro/commits.js +++ b/src/levels/intro/commits.js @@ -8,7 +8,8 @@ exports.level = { "ja": "Gitのコミット", 'ko': 'Git 커밋 소개', 'zh_CN': 'Git Commits简介', - 'zh_TW': '介紹 git commit ' + 'zh_TW': '介紹 git commit ', + 'ru_RU': 'Знакомство с Git Commit ' }, "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C3\",\"id\":\"master\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", "solutionCommand": "git commit;git commit", @@ -22,7 +23,8 @@ exports.level = { "zh_CN": "敲两次 'git commit' 就好啦!", "zh_TW": "輸入兩次 'git commit' 就可以完成!", "ja": "'git commit'コマンドを2回打てば完成!", - "ko": "'git commit'이라고 두 번 치세요!" + "ko": "'git commit'이라고 두 번 치세요!", + "ru_RU": "Попробуй дважды выполнить команду 'git commit' ;)" }, "disabledMap": { "git revert": true @@ -417,6 +419,48 @@ exports.level = { } } ] + }, + "ru_RU": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Коммиты в GIT", + "Коммит в git репозитории хранит снимок всех файлов в директории. Почти как огромная копия, только лучше", + "", + "Git пытается быть лёгким и быстрым насколько это только возможно, так что он не просто слепо копирует всю директорию какждый раз, а ужимает (когда это возможно) коммит в набор изменений или \"дельту\" между текущей версией и предыдущей.", + "", + "Также Git хранит всю историю о том, когда какой коммит был сделан. Вот почему большинство коммитов имеют предков -- мы указываем на предков стрелками при визуализации. Поддержка истории коммитов более чем важна для всех, кто работает на проектом!", + "", + "Можно ещё долго рассказывать о коммитах, но для простоты будем считать их полными снимками проекта. Коммиты очень легки, так что переключение между ними происходит предельно быстро!" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Посмотрим, как это выглядит на практике. Справа расположена визуализация небольшого git репозитория. Сейчас в нём два коммита -- первый, исходны коммит, С0 и один коммит после него С1, содержащий изменения. ", + "", + "Нажми на кнопку, чтобы совершить коммит" + ], + "afterMarkdowns": [ + "Отлично. Мы только что внесли изменения в репозиторий и сохранили их как коммит. У коммит, который мы только что сделали, есть родитель, С1, который указывает на предыдущий коммит." + ], + "command": "git commit", + "beforeCommand": "" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Пора попробовать! После того, как это окно закроется, сделай два коммита, чтобы пройти этот уровень." + ] + } + } + ] } } };