Russian translation

Conflicts:
	src/js/dialogs/confirmShowSolution.js
	src/js/dialogs/levelBuilder.js
	src/js/intl/index.js
	src/js/intl/strings.js
	src/levels/mixed/describe.js
	src/levels/mixed/tags.js
This commit is contained in:
Vasil Kulakov 2015-05-05 18:03:19 +03:00
commit a653ef7fb6
25 changed files with 1379 additions and 150 deletions

View file

@ -723,6 +723,84 @@ exports.level = {
}
}
]
},
"ru_RU": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Ветвление в Git",
"",
"Ветки в Git как и коммиты невероятно легковесны. Это просто ссылки на определённый коммит -- ничего более. Вот почему многие фанаты Git повторяют мантру",
"",
"```",
"делай ветки сразу, делай ветки часто",
"```",
"",
"Так как создание множества веток никак не отражается на памяти или жестком диске, удобнее и проще разбивать свою работу на много маленьких веток, чем хранить все изменения в одной огромной ветке.",
"",
"Чуть позже мы попробуем использовать ветки и коммиты и вы увидите как две эти возможности сочетаются. Можно сказать, что создание ветка хранит изменения текущих коммитов и всех его родителей."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Посмотрим что такое ветки на практике",
"",
"Создадим здесь новую ветку с именем newImage"
],
"afterMarkdowns": [
"Вот и всё, ребята! Ветка newImage теперь указывает на коммит C1"
],
"command": "git branch newImage",
"beforeCommand": ""
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Теперь попробуем сделать некоторые изменения в этой ветке. Для этого нажми кнопку ниже."
],
"afterMarkdowns": [
"О-оу! Ветка master сдвинулся тогда как ветка newImage - нет! Всё из-за того, что мы не перешли на новую ветку, на что указывает звёздочка около ветки master"
],
"command": "git commit",
"beforeCommand": "git branch newImage"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Сообщим Git, что хотим выбрать ветку",
"",
"```",
"git checkout [name]",
"```",
"",
"Эта команда перенесёт нас на новую ветку, в момент, когда мы ещё не коммитили изменения"
],
"afterMarkdowns": [
"Вот так! Наши изменения записаны уже в новую ветку"
],
"command": "git checkout newImage; git commit",
"beforeCommand": "git branch newImage"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ну что ж, теперь вы готовы к работе с ветками. Как только это окно закроется,",
"создай ветку с именем bugFix и переключись на неё"
]
}
}
]
}
}
};

View file

@ -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": [
"Пора попробовать! После того, как это окно закроется, сделай два коммита, чтобы пройти этот уровень."
]
}
}
]
}
}
};

View file

@ -10,7 +10,8 @@ exports.level = {
"ko": "Git에서 브랜치 합치기(Merge)",
"ja": "ブランチとマージ",
"zh_CN": "分支与合并",
"zh_TW": "git 中的 merge"
"zh_TW": "git 中的 merge",
"ru_RU": "Слияния веток в Git"
},
"hint": {
"en_US": "Remember to commit in the order specified (bugFix before master)",
@ -21,7 +22,8 @@ exports.level = {
"fr_FR": "Pensez à faire des commits dans l'ordre indiqué (bugFix avant master)",
"zh_CN": "记住按指定的顺序提交bugFix先于master",
"zh_TW": "記住按指定的順序 commitbugFix 比 master 優先)",
"ko": "말씀드린 순서대로 커밋해주세요 (bugFix에 먼저 커밋하고 master에 커밋)"
"ko": "말씀드린 순서대로 커밋해주세요 (bugFix에 먼저 커밋하고 master에 커밋)",
"ru_RU": "Не забудь делать коммиты в правильном порядке (сначала bugFix, потом master)"
},
"disabledMap": {
"git revert": true
@ -647,6 +649,76 @@ exports.level = {
}
}
]
},
"ru_RU": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Branches and Merging",
"## Ветки и слияния",
"",
"Ок! Теперь мы знаем как создавать ветки и коммитить наши изменения. Теперь надо понять как объединять изменения из двух разных ветко. Очень удобно создать ветку, сделать свою часть работы в ней и потом объединить изменения из своей ветки с общими.",
"",
"Первый способ объединения изменений, который мы рассмотрим - это `git merge` - слияние или просто мердж. Слияния в Git создают особый вид коммита, который имеет сразу двух родителей. Коммит с двумя родителями обычно означает, что мы хотим объединить изменения из одного коммита, с другим коммитом и всеми их родителскими коммитами.",
"",
"Слишком запутанно =) На схеме всё проще и понятнее."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Вот у нас две ветки, каждая содержит по одному уникальному коммиту. Это означает, что ни одна из веток не содержит полный набор \"работ\", выполненных в этом репозитории. Можно исправить эту ситуацию, выполнив слияние.",
"",
"Мы сделаем `merge` ветки `bugFix` в ветку `master`"
],
"afterMarkdowns": [
"Что мы видим? Во-первых, ветка master теперь указывает на коммит, у которого два родителя. Если проследовать по стрелкам от этого коммита, вы пройдёте через каждый коммит в дереве прямиком к началу. Это означает, что теперь в ветке `master` содержатся все изменения репозитория.",
"",
"Во-вторых, обрати внимание как изменились цвета коммитов. Мы ввели цветовую дифференциацию, чтобы помочь помниманию. Каждая ветка своего цвета. Каждый коммит становится того цвета, какого его ветка. Если в нём изменения сразу двух веток - он становится цветом, смешанным из цветов родительских веток.",
"",
"И вот мы видим, что цвет ветки `master` подмешан к каждому коммиту, а ветки `bugFix` - нет. Это можно попроавить."
],
"command": "git merge bugFix",
"beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Смерджим ветку `master` в ветку `bugFix`"
],
"afterMarkdowns": [
"Так как ветка `bugFix` была предшественницей `master`, Git не делал ничего, только сдвинул `bugFix` на тот же коммит, где находится `master`",
"",
"Теперь все коммиты одного цвета, что означает, что каждая ветка содержит все изменения репозитория! Поздравляем!"
],
"command": "git checkout bugFix; git merge master",
"beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Чтобы пройти этот уровень сделай следующее:",
"",
"* Создай новыю ветку под названием `bugFix`",
"* Переключись на новую ветку `bugFix` командой `git checkout bugFix`",
"* Сделай один коммит",
"* Вернись на ветку `master` при помощи `git checkout`",
"* Сделай ещё один коммит",
"* Слей ветку `bugFix` с веткой `master` при помощи `git merge`",
"",
"* Если что-то пошло не так - можешь подглядеть в жту шпаргалку командой \"objective\"!*"
]
}
}
]
}
}
};

View file

@ -10,7 +10,8 @@ exports.level = {
"fr_FR": "Introduction à rebase",
"ko": "리베이스(rebase)의 기본",
"zh_CN": "介绍 rebase",
"zh_TW": "介紹 rebase"
"zh_TW": "介紹 rebase",
"ru_RU": "Введение в rebase"
},
"hint": {
"en_US": "Make sure you commit from bugFix first",
@ -21,7 +22,8 @@ exports.level = {
"pt_BR": "O bugFix precisa ser commitado primeiro",
"ko": "bugFix 브랜치에서 먼저 커밋하세요",
"zh_CN": "确保你先在 bugFix 分支进行提交",
"zh_TW": "你要先在 bugFix branch 進行 commit"
"zh_TW": "你要先在 bugFix branch 進行 commit",
"ru_RU": "Убедись, что сделал коммит в ветке bugFix"
},
"disabledMap": {
"git revert": true
@ -627,6 +629,73 @@ exports.level = {
}
}
]
},
"ru_RU": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Rebase",
"",
"Второй способ объединения изменений в ветках - это *rebasing.* При ребэйзе Git по сути копирует набор коммитов и переносит их в другое место.",
"",
"Несмотря на то, что это звучит достаточно непонятно, преимущество rebase в том, что при его помощи можно делать чистые и красивые линейные последовательности коммитов. История коммитов будет чище, если вы применяете rebase.",
"",
"ПОсмотрим, как это работает..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"У нас тут снова две ветки. Обрати внимание, что выбрана ветка bugFix (отмечена звёздочкой)",
"",
"Хочется сдвинуть наши изменения из bugFix прямо на вершину ветки master. Таким образом всё будет выглядеть, как будто эти изменения делались последовательно, хотя на самом деле - параллельно.",
"",
"Применим `git rebase`"
],
"afterMarkdowns": [
"Супер! Теперь изменения из bugFix находятся в конце ветки master и являют собой линейную последовательность коммитов.",
"",
"Обрати внимание, что коммит С3 до сих пор существует где-то, а С3' - это его \"копия\" в ветке master",
"",
"Единственная проблема - ветка master не обновлена до последних изнменений. Это легко исправить."
],
"command": "git rebase master",
"beforeCommand": "git commit; git checkout -b bugFix C1; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Вот мы выбрали ветку `master`. Вперёд - сделаем rebase на `bugFix`"
],
"afterMarkdowns": [
"Вуаля! Так как `master` был предком `bugFix`, git просто сдвинул ссылку на `master` вперёд."
],
"command": "git rebase bugFix",
"beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Чтобы пройти этот уровен, сделай следующее:",
"",
"* Переключись на ветку `bugFix`",
"* Сделай коммит",
"* Вернись на `master` и сделай коммит ещё раз",
"* Переключись на bugFix и сделай rebase на master",
"",
"Удачи!"
]
}
}
]
}
}
};