Merge pull request #345 from JuhoKang/master

Updated index.js Korean features and did some translating
This commit is contained in:
Peter Cottle 2015-12-05 15:59:29 -08:00
commit d2c95b3d0e
3 changed files with 232 additions and 24 deletions

View file

@ -62,9 +62,9 @@ var sequenceInfo = exports.sequenceInfo = {
'pt_BR': 'Sequência introdutória',
'zh_CN': '基础篇',
'zh_TW': '基礎篇',
'ko': '기본 명령어',
'ko' : 'git 기본',
'ru_RU': 'Введение',
'uk': 'Вступ'
'uk' : 'Вступ'
},
about: {
'en_US': 'A nicely paced introduction to the majority of git commands',
@ -75,7 +75,7 @@ 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',
'uk': 'Гарно підібране введення в основні команди git'
}
@ -91,19 +91,21 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_CN': '进阶篇',
'zh_TW': '進階篇',
'ru_RU': 'Едем дальше',
'uk': 'Їдемо далі'
'uk' : 'Їдемо далі',
'ko' : '다음 단계로'
},
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',
'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-крутотенюшки. Проголодались?',
'uk': 'Наступна порція абсолютної git-дивожнечі. Зголодніли?'
'uk' : 'Наступна порція абсолютної git-дивожнечі. Зголодніли?',
'ko' : 'git은 아주 멋져요. 왜 멋진지 알려드립니다'
}
},
remote: {
@ -118,7 +120,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_CN': 'Push & Pull -- Git Remotes!',
'zh_TW': 'Push & Pull -- Git Remotes!',
'ru_RU': 'Push & Pull - удалённые репозитории в Git!',
'uk': 'Push & Pull -- віддалені репозиторії в Git!'
'uk' : 'Push & Pull -- віддалені репозиторії в Git!',
'ko' : 'Push & Pull -- Git 원격 저장소!'
},
about: {
'en_US': 'Time to share your 1\'s and 0\'s kids; coding just got social',
@ -130,7 +133,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_CN': '是时候分享你的代码了',
'zh_TW': '是時候分享你的程式碼了',
'ru_RU': 'Настало время поделиться своими единичками и нулями. Время коллективного программирования',
'uk': 'Настав час поділитися своїми нулями та одиничками; соціальне програмування'
'uk' : 'Настав час поділитися своїми нулями та одиничками; соціальне програмування',
'ko' : '내 코드를 공개할 때가 되었습니다. 코드를 공개해봅시다!'
}
},
remoteAdvanced: {
@ -145,7 +149,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_CN': '关于 origin 和 其它仓库 -- Git Gemotes 高级命令',
'zh_TW': '關於 origin 和其它 repogit remote 的進階指令',
'ru_RU': 'Через origin к звёздам. Продвинутое использование Git Remotes',
'uk': 'Через origin до зірок. Продвинуте використання Git Remotes'
'uk' : 'Через origin до зірок. Продвинуте використання Git Remotes',
'ko' : '"origin"그 너머로 -- 고급 Git 원격 저장소'
},
about: {
'en_US': 'And you thought being a benevolent dictator would be fun...',
@ -157,7 +162,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_TW': '而且你會覺得做一個仁慈的獨裁者會很有趣...',
'de_DE': 'Git Remotes für Fortgeschrittene',
'ru_RU': 'Весело было быть всесильным мудрым правителем...',
'uk': 'Й ти думав що бути всесильним диктатором буде весело...'
'uk' : 'Й ти думав що бути всесильним диктатором буде весело...',
'ko' : '자비로운 독재자가 되는게 재밌을 줄 알았겠지만...'
}
},
move: {
@ -168,12 +174,12 @@ var sequenceInfo = exports.sequenceInfo = {
'es_AR': 'Moviendo el trabajo por ahí',
'pt_BR': 'Movendo trabalho por aí',
'ja' : 'コードの移動',
'ko' : '코드 이리저리 옮기기',
// INTL out of sync :(
'zh_CN': '精通 rebase',
'zh_TW': '精通 rebase',
'ko': '리베이스 완전정복!',
'ru_RU': 'Перемещаем труды туда-сюда',
'uk': 'Переміщуємо роботу туди-сюди'
'uk' : 'Переміщуємо роботу туди-сюди'
},
about: {
'en_US': 'Get comfortable with modifying the source tree',
@ -181,13 +187,13 @@ var sequenceInfo = exports.sequenceInfo = {
'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',
'ko' : '작업 트리를 수정하는건 식은죽 먹기지요 이제',
// INTL out of sync :(
'ja' : '話題のrebaseってどんなものだろうって人にオススメ',
'ko': '그 좋다고들 말하는 rebase에 대해 알아봅시다!',
'zh_CN': '大家都在说的 rebase 究竟是神马?看看吧!',
'zh_TW': '大家都在說的 rebase 到底是什麼啊?來看看吧!',
'ru_RU': 'Не стесняйтесь менять историю',
'uk': 'Не соромимось змінювати історію'
'uk' : 'Не соромимось змінювати історію'
}
},
mixed: {
@ -198,11 +204,11 @@ var sequenceInfo = exports.sequenceInfo = {
'fr_FR': 'Un assortiment',
'es_AR': 'Bolsa de gatos',
'pt_BR': 'Sortidos',
'ko': '종합선물세트',
'ko' : '종합선물세트',
'zh_CN': '大杂烩?',
'zh_TW': '活用 git 的指令',
'ru_RU': 'Сборная солянка',
'uk': 'Всяке'
'uk' : 'Всяке'
},
about: {
'en_US': 'A mixed bag of Git techniques, tricks, and tips',
@ -211,11 +217,11 @@ var sequenceInfo = exports.sequenceInfo = {
'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을 다루는 다양한 팁과 테크닉을 다양하게 알아봅니다',
'ko' : 'Git을 다루는 다양한 팁과 테크닉을 다양하게 알아봅니다',
'zh_CN': 'Git 技术、技巧与贴士杂烩',
'zh_TW': 'git 的技術,招數與技巧',
'ru_RU': 'Ассорти из приёмов работы с Git, хитростей и советов',
'uk': 'Різні прийоми роботи з Git, хитрості та поради'
'uk' : 'Різні прийоми роботи з Git, хитрості та поради'
}
},
advanced: {
@ -229,7 +235,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_CN': '高级主题',
'zh_TW': '進階主題',
'ru_RU': 'Продвинутый уровень',
'uk': 'Досвідчений рівень'
'uk' : 'Досвідчений рівень',
'ko' : '고급 문제'
},
about: {
'en_US': 'For the truly brave!',
@ -241,7 +248,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_CN': '只为真正的勇士!',
'zh_TW': '來成為真正的強者吧!',
'ru_RU': 'Если ты смелый, ловкий, умелый потренируйся тут',
'uk': 'Для хоробрих'
'uk' : 'Для хоробрих',
'ko' : '용기있는 도전자를 위해 준비한 문제입니다'
}
}
};

View file

@ -12,7 +12,8 @@ exports.level = {
"fr_FR": "Historique divergent",
"ja" : "履歴の分岐",
"ru_RU": "Расхождение в истории",
"uk" : "Розходження в історії"
"uk" : "Розходження в історії",
"ko" : "엇갈린 히스토리"
},
"hint": {
"en_US": "check out the ordering from the goal visualization",
@ -24,7 +25,8 @@ exports.level = {
"ja" : "ゴールのツリーの順番を参考にすること",
"fr_FR": "regardez l'ordre dans la fenêtre de visualisation d'objectif",
"ru_RU": "проверьте сортировку в визуализации цели",
"uk" : "перевірте порядок в візуалізації цілі"
"uk" : "перевірте порядок в візуалізації цілі",
"ko" : "순서는 goal을 참고하세요"
},
"startDialog": {
"en_US": {
@ -1456,6 +1458,149 @@ exports.level = {
}
}
]
},
"ko": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## 엇갈린 작업",
"",
"지금까지 우리는 다른곳에서 커밋을 `pull`해서 내려받고 우리가 만든 변경들을 `push`하는 방법을 배웠습니다. 간단해보이는데, 왜 사람들이 이것 때문에 곤란해 할까요?",
"",
"어려움은 저장소의 히스토리가 *엇갈릴 때* 찾아옵니다. 자세히 살펴보기 전에 예제를 확인해봅시다...",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"상상을 해봅시다. 여러분은 월요일에 저장소를 clone해서 부가기능을 만들기 시작했습니다. 금요일쯤 기능을 공개할 준비가 되었습니다 -- 그런데 오 이런! 동료들이 주중에 코딩을 잔뜩해서 여러분이 만든 기능은 프로젝트에 뒤떨어져서 무용지물이 되었습니다. 이 사람들이 그 커밋들을 공유하고있는 원격 저장소에도 공개했습니다, 이제 *여러분의* 작업은 이제 의미가 없는 *구*버전의 프로젝트를 기반으로한 작업이 되어버렸습니다.",
"",
"이런 경우, 명령어 `git push`가 할 일이 애매해집니다. `git push`를 수행했을때, git은 원격 저장소를 여러분이 작업했던 월요일의 상태로 되돌려야 할까요? 아니면 새 코드를 건들지 않고 여러분의 코드만 추가해야 되나요? 아니면 여러분의 작업은 뒤 떨어졌기 때문에 완전히 무시해야되나요?",
"",
"이렇게 상황이 애매모호하기 때문에(히스토리가 엇갈렸기 때문이죠), git은 여러분이 `push`하지 못하게 합니다. 사실 여러분이 작업을 공유하기전에 원격 저장소의 최신 상태를 합치도록 강제합니다."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"너무 떠든거같습니다! 이 상황을 직접 눈으로 확인해봅시다"
],
"afterMarkdowns": [
"보이죠? 명령어가 실행되지 않아서 아무것도 잃어나지 않습니다. 여러분의 최근 커밋 `C3`가 원격저장소의 `C1`을 기반으로 하기 때문에 `git push`가 실패합니다. 원격 저장소는 `C2`까지 갱신된 상태기때문에 git은 여러분의 push를 거부하게됩니다."
],
"command": "git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"그러면 이 상황을 어떻게 해결할까요? 쉽습니다, 여러분의 작업을 원격 브랜치의 최신상태를 기반으로 하게 만들면 됩니다.",
"",
"이렇게 하기위한 방법이 여러가지가 있는데, 가장 간결한 방법은 리베이스를 통해 작업을 옮기는 방법입니다. 예제를 통해 눈으로 확인해 봅시다."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"push를 하기전에 리베이스를 하면..."
],
"afterMarkdowns": [
"Boom! `git fetch`로 원격 저장소의 변경정보를 가져오고, 새 변경들로 우리 작업을 리베이스 했습니다, 이제 `git push`하면 끝!"
],
"command": "git fetch; git rebase o/master; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"다른 방법은 없냐고요? 당연히 있습니다! 같은것을 `merge`로 대신 해봅시다.",
"",
"`git merge`가 여러분의 작업을 옮기지는 않지만(merge 커밋을 생성합니다). git에게 원격 저장소의 변경을 합쳤다고 알려주는 방법중에 하나입니다. 이제 원격 브랜치가 여러분 브랜치의 *부모*기 되었기때문입니다, 여러분의 커밋이 원격 브랜치의 모든 커밋을 반영했다는 뜻이죠.",
"",
"눈으로 확인해봅시다..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"리베이스대신 병합을하면..."
],
"afterMarkdowns": [
"Boom! `git fetch`로 원격 저장소의 변경정보를 가져오고, 새 작업을 우리 작업으로 *병합*했습니다 (원격 저장소의 변경을 반영하기 위해서죠), 이제 `git push`하면 끝!"
],
"command": "git fetch; git merge o/master; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"멋집니다! 명령어를 좀더 적게써서 하는 방법은 없나요?",
"",
"물론 있습니다 -- 여러분은 `git pull`이 fetch와 merge의 줄임 명령어라는 것은 이미 알고 있을 것입니다. 아주 간단하게, `git pull --rebase`를 하면 fetch와 리베이스를 하는 작업의 줄임 명령어 입니다",
"",
"이 줄임 명령어가 잘 작동하는지 확인해 봅시다"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"먼저 `--rebase`와 함께하면..."
],
"afterMarkdowns": [
"이전과 같습니다! 간결하고요."
],
"command": "git pull --rebase; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"일반의 `pull`과 사용했을 때는"
],
"afterMarkdowns": [
"또다시, 이전과 같습니다!"
],
"command": "git pull; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"fetch를 하고 리베이스/병합을 하고 push를 하는 이런 작업흐름은 꽤 흔합니다. 앞으로의 레슨에서는 이런 작업흐름의 복잡한 버전들을 확인해볼 것입니다. 일단은 이것부터 연습해 보죠.",
"",
"이번 레벨을 통과하려면, 다음의 단계를 거쳐야 합니다:",
"",
"* 여러분의 저장소를 clone 하세요",
"* 가짜 팀워크를 만드세요 (1개의 커밋)",
"* 여러분의 작업도 커밋하세요 (1개의 커밋)",
"* 여러분의 작업을 *리베이스*를 통해 공유하세요"
]
}
}
]
}
}
};

View file

@ -11,7 +11,8 @@ exports.level = {
"de_DE": "Denk dran, du kannst immer undo oder reset benutzen, um deine Befehle zurück zu nehmen.",
"ja" : "undoやresetコマンドをいつでも使用することができるのをお忘れなく",
"fr_FR": "Rappelez-vous que vous pouvez toujours utiliser les commandes undo et reset.",
"ru_RU": "Помни - ты всегда можешь отменить команды с помощью undo или reset"
"ru_RU": "Помни - ты всегда можешь отменить команды с помощью undo или reset",
"ko" : "명령어를 undo와 reset으로 되돌릴 수 있다는 것을 잊지마세요"
},
"name": {
"en_US": "Push Master!",
@ -22,7 +23,8 @@ exports.level = {
"de_DE": "Push Master!",
"ja" : "Push Master!",
"fr_FR": "Maître du push !",
"ru_RU": "Push Мастер!"
"ru_RU": "Push Мастер!",
"ko" : "Push Master!"
},
"compareOnlyMasterHashAgnostic": true,
"startDialog": {
@ -502,6 +504,59 @@ exports.level = {
}
}
]
},
"ko": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## feature 브랜치 병합하기",
"",
"이제 여러분은 fetch, pull, push하는데에 익숙해졌을겁니다. 연마한 기술들을 새로운 상황에서 시험 해봅시다.",
"",
"개발자들은 주로 큰 프로젝트를 개발할때 작업을 feature 브랜치(=토픽브랜치 / `master`브랜치가 아닌 작업을위해 임시로 만든 브랜치를 말합니다)들에 하고 준비가 되면 그 작업을 통합합니다. 이전 강의와 비슷한 모습인데(사이드 브랜치들을 원격저장소로 push한것), 여기서 한 단계 더 나아가 봅시다. ",
"",
"어떤 개발자들은 `master` 브랜치에 있을때만 push와 pull을 수행합니다 -- 이렇게하면 `master`는 항상 원격 브랜치 (`o/master`)의 상태와 항상 최신의 상태로 유지될 수 있습니다.",
"",
"이런 작업흐름은 두가지 작업을 같이하게됩니다 :",
"",
"* feature 브랜치의 작업을 master로 통합하는것과",
"* 원격저장소에서 push하고 pull하는 작업입니다"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"다음을 보고 `master`를 갱신하고 작업을 push하는 방법을 다시 떠올려봅시다."
],
"afterMarkdowns": [
"여기서 우리는 두개의 명령어를 실행 했습니다 :",
"",
"* 우리의 작업을 원격 저장소의 새 커밋들로 리베이스한 후",
"* 우리 작업을 원격저장소로 push했습니다."
],
"command": "git pull --rebase; git push",
"beforeCommand": "git clone; git commit; git fakeTeamwork"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"이번 레벨은 꽤 덩치가 큽니다 -- 문제에대한 대략적인 설명을 해드리겠습니다 :",
"",
"* 세개의 feature 브랜치가 있습니다 -- `side1`, `side2` 그리고 `side3` 가 있습니다.",
"* 각각의 브랜치를 순서에 맞게 원격 저장소로 push하고 싶습니다.",
"* 원격 저장소가 최근에 갱신된적이 있기때문에 그 작업또한 포함시켜야 합니다.",
"",
":O 이야 할게 많습니다! 행운을 빕니다, 이번 레벨은 많은걸 요구합니다."
]
}
}
]
}
}
};