Added Slovenian translations

This commit is contained in:
Matic Trebusak 2020-04-24 11:44:27 +02:00
parent 1f496930fc
commit 1ac4ca93a7
42 changed files with 2581 additions and 176 deletions

View file

@ -134,6 +134,16 @@ exports.dialog = {
'Tôi tin ở bạn! Bạn có thể làm được!' 'Tôi tin ở bạn! Bạn có thể làm được!'
] ]
} }
}],
'sl_SI': [{
type: 'ModalAlert',
options: {
markdowns: [
'## Si prepričan, da hočeš videti rešitev?',
'',
'Verjamem vate! Maš ti to'
]
}
}] }]
}; };

View file

@ -266,5 +266,24 @@ exports.dialog = {
' * Nhập lệnh ```finish``` xuất cấp độ của bạn dưới dạng JSON!' ' * Nhập lệnh ```finish``` xuất cấp độ của bạn dưới dạng JSON!'
] ]
} }
}] }],
'sl_SI': [{
type: 'ModalAlert',
options: {
markdowns: [
'## Dobrodošel v graditelju stopenj!',
'',
'Tu so glavni koraki:',
'',
' * Postavi začetno stanje z git ukazi',
' * Določi začetno drevo z ```define start```',
' * Vnesi zaporedje ukazov, ki predstavljajo (najboljšo) rešitev',
' * Določi ciljno drevo z ```define goal```. Določanje cilja določi tudi rešitev',
' * Opcijsko določi namig z ```define hint```',
' * Uredi ime z ```define name```',
' * Opcijsko določi ličen začetni dialog z ```edit dialog```',
' * Vnesi ukaz ```finish``` za ustvarjanje JSON različice tvoje stopnje!'
]
}
}],
}; };

View file

@ -154,5 +154,16 @@ exports.dialog = {
'Đáp án của chúng tôi sử dụng {best}.' 'Đáp án của chúng tôi sử dụng {best}.'
] ]
} }
}],
'sl_SI': [{
type: 'ModalAlert',
options: {
markdowns: [
'## Dobro opravljeno!!',
'',
'Rešil si stopnjo z *{numCommands}* ukazi; ',
'naša rešitev uporabi {best}.'
]
}
}] }]
}; };

View file

@ -635,5 +635,28 @@ exports.dialog = {
'[đường link đặc biệt này của chúng tôi](https://pcottle.github.io/learnGitBranching/?NODEMO)' '[đường link đặc biệt này của chúng tôi](https://pcottle.github.io/learnGitBranching/?NODEMO)'
] ]
} }
}] }],
'sl_SI': [{
type: 'ModalAlert',
options: {
markdowns: [
'## Dobrodošel na učenju Git Branchanja',
'',
'Bi se rad naučil Git? No, prišel si na pravo mesto! ',
'"Learn Git Branching" je najbolj vizualen in interaktiven način učenja Git-a ',
'na spletu; zagrizel boš v zanimive stopnje, po korakih boš spoznaval osupljive ',
'funkcije in kaj pa veš, morda ti bo celo zabavno. ;)',
'',
'Za tem oknom boš videl kopico stopenj, ki so na razpolago. Če si ',
'začetnik, kar pogumno, začni s prvo. Če pa že poznaš Git osnove, ',
'se preizkusi v zahtevnejših stopnjah.',
'',
'Vidiš lahko vse ukaze, ki so na voljo, z ukazom `show commands` v terminalu.',
'',
'PS: Bi rad šel naslednjič naravnost v peskovnik?',
'Poizkusi s',
'[to posebno povezavo](https://pcottle.github.io/learnGitBranching/?NODEMO)'
]
}
}],
}; };

View file

@ -15,7 +15,9 @@ exports.strings = {
'ru_RU': 'Вау! Вы прошли последний уровень, отлично!', 'ru_RU': 'Вау! Вы прошли последний уровень, отлично!',
'uk': 'Вау! Ти пройшов останній рівень, круто!', 'uk': 'Вау! Ти пройшов останній рівень, круто!',
'ko': '와우! 마지막 레벨까지 마쳤습니다. 멋지네요!', 'ko': '와우! 마지막 레벨까지 마쳤습니다. 멋지네요!',
'vi': 'Wao! Bạn đã phá đảo, quá tuyệt!' 'vi': 'Wao! Bạn đã phá đảo, quá tuyệt!',
'sl_SI': 'Wow! Končal si zadnjo stopnjo, fantastično!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'finish-dialog-next': { 'finish-dialog-next': {
@ -33,7 +35,8 @@ exports.strings = {
'ru_RU': 'Хотите перейти на следующий уровень: *"{nextLevel}"*?', 'ru_RU': 'Хотите перейти на следующий уровень: *"{nextLevel}"*?',
'uk': 'Хочеш перейти на наступний рівень -- *"{nextLevel}"*?', 'uk': 'Хочеш перейти на наступний рівень -- *"{nextLevel}"*?',
'ko': '다음 레벨로 넘어갈까요? 레벨 *"{nextLevel}"*', 'ko': '다음 레벨로 넘어갈까요? 레벨 *"{nextLevel}"*',
'vi': 'Bạn có muốn chuyển sang cấp độ tiếp: *"{nextLevel}"* không?' 'vi': 'Bạn có muốn chuyển sang cấp độ tiếp: *"{nextLevel}"* không?',
'sl_SI': 'Bi rad nadaljeval na *"{nextLevel}"*, naslednjo stopnjo?'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'finish-dialog-win': { 'finish-dialog-win': {
@ -51,7 +54,8 @@ exports.strings = {
'ru_RU': 'Отлично! Ваше решение соответствует или превосходит наше.', 'ru_RU': 'Отлично! Ваше решение соответствует или превосходит наше.',
'uk': 'Чудово! Твій розв’язок на рівні або кращий від нашого.', 'uk': 'Чудово! Твій розв’язок на рівні або кращий від нашого.',
'ko': '멋져요! 우리의 해답과 일치하거나 우리보다 좀 더 나은 해답입니다.', 'ko': '멋져요! 우리의 해답과 일치하거나 우리보다 좀 더 나은 해답입니다.',
'vi': 'Tuyệt vời! Đáp án của bạn đạt chuẩn thâm chí có thể tốt hơn.' 'vi': 'Tuyệt vời! Đáp án của bạn đạt chuẩn thâm chí có thể tốt hơn.',
'sl_SI': 'Bravo! Izenačil ali celo presegel si našo rešitev.'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'finish-dialog-lose': { 'finish-dialog-lose': {
@ -69,7 +73,8 @@ exports.strings = {
'ru_RU': 'Попробуйте, может вы сможете уложиться в {best} : D', 'ru_RU': 'Попробуйте, может вы сможете уложиться в {best} : D',
'uk': 'Спробуй, можливо ти зможеш вкластися в {best} кроків :D', 'uk': 'Спробуй, можливо ти зможеш вкластися в {best} кроків :D',
'ko': '{best}회로 줄일 수 있다면 해보세요. :D', 'ko': '{best}회로 줄일 수 있다면 해보세요. :D',
'vi': 'Thử xem bạn có thể giảm xuống {best} không? :D' 'vi': 'Thử xem bạn có thể giảm xuống {best} không? :D',
'sl_SI': 'Misliš da lahko spraviš rešitev na {best}? :D'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hg-prune-tree': { 'hg-prune-tree': {
@ -86,7 +91,8 @@ exports.strings = {
'ru_RU': 'Внимание! Mercurial использует агрессивный сборщик мусора и обрезает ваше дерево', 'ru_RU': 'Внимание! Mercurial использует агрессивный сборщик мусора и обрезает ваше дерево',
'uk': 'Увага! Mercurial агресивно збирає сміття й може обрізати твоє дерево ', 'uk': 'Увага! Mercurial агресивно збирає сміття й може обрізати твоє дерево ',
'ko': '주의! Mercurial은 공격적으로 가비지 컬렉션을 수행하므로 트리를 정리할 필요가 있습니다.', 'ko': '주의! Mercurial은 공격적으로 가비지 컬렉션을 수행하므로 트리를 정리할 필요가 있습니다.',
'vi': 'Cảnh báo! Mercurial cần thực hiện thu gom rác và thu nhỏ cây lịch sử của bạn.' 'vi': 'Cảnh báo! Mercurial cần thực hiện thu gom rác và thu nhỏ cây lịch sử của bạn.',
'sl_SI': 'Opozorilo! Mercurial ima agresivno politiko garbage collectiona in bo obrezal vaše drevo'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hg-a-option': { 'hg-a-option': {
@ -103,7 +109,8 @@ exports.strings = {
'ru_RU': 'Опция -A не требуется для этого приложения, просто сделайте коммит.', 'ru_RU': 'Опция -A не требуется для этого приложения, просто сделайте коммит.',
'uk': 'Опція -A не потрібна для цього застосунку, можна просто комітити!', 'uk': 'Опція -A не потрібна для цього застосунку, можна просто комітити!',
'ko': '이 앱에선 -A 옵션은 필요 없습니다. 그냥 커밋하세요!', 'ko': '이 앱에선 -A 옵션은 필요 없습니다. 그냥 커밋하세요!',
'vi': 'Không cần thiết phải dùng tùy chọn -A trên ứng dụng này, cứ commit là được!' 'vi': 'Không cần thiết phải dùng tùy chọn -A trên ứng dụng này, cứ commit là được!',
'sl_SI': 'Opcija -A ni potrebna za to aplikacijo, samo commitaj!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hg-error-no-status': { 'hg-error-no-status': {
@ -120,7 +127,8 @@ exports.strings = {
'ru_RU': 'Команда status не поддерживается в этом приложении, так как здесь нет файлов. Попробуйте выполнить hg summary', 'ru_RU': 'Команда status не поддерживается в этом приложении, так как здесь нет файлов. Попробуйте выполнить hg summary',
'uk': 'Команда status не підтримується в цьому застосунку, так як немає стейджингу(staging) файлів. Натомість спробуй hg summary ', 'uk': 'Команда status не підтримується в цьому застосунку, так як немає стейджингу(staging) файлів. Натомість спробуй hg summary ',
'ko': '이 앱을 위한 상태 명령어는 없습니다. 왜냐하면 파일들의 스테이징이 없기 때문입니다. 대신 hg summary를 시도해보세요.', 'ko': '이 앱을 위한 상태 명령어는 없습니다. 왜냐하면 파일들의 스테이징이 없기 때문입니다. 대신 hg summary를 시도해보세요.',
'vi': 'Ứng dụng này không hỗ trợ lệnh `status` vì không có tệp nhớ đệm, thay vì đó hãy dùng lệnh `hg summary`' 'vi': 'Ứng dụng này không hỗ trợ lệnh `status` vì không có tệp nhớ đệm, thay vì đó hãy dùng lệnh `hg summary`',
'sl_SI': 'Za to aplikacijo ni na voljo `status` ukaza, ker tu ni `stage-anja` datotek. Poizkusiš lahko `hg summary`'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hg-error-need-option': { 'hg-error-need-option': {
@ -137,7 +145,8 @@ exports.strings = {
'ru_RU': 'Для этой команды требуется опция {option}', 'ru_RU': 'Для этой команды требуется опция {option}',
'uk': 'Для цієї команди потрібна опція {option}', 'uk': 'Для цієї команди потрібна опція {option}',
'ko': '나는 그 명령어를 위한 {option} 옵션이 필요합니다.', 'ko': '나는 그 명령어를 위한 {option} 옵션이 필요합니다.',
'vi': 'Câu lệnh đó cần tùy chọn {option}!' 'vi': 'Câu lệnh đó cần tùy chọn {option}!',
'sl_SI': 'Potrebujem opcijo {option} za ta ukaz!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hg-error-log-no-follow': { 'hg-error-log-no-follow': {
@ -154,7 +163,8 @@ exports.strings = {
'ru_RU': 'hg log без опции -f в настоящий момент не поддерживается, используйте -f', 'ru_RU': 'hg log без опции -f в настоящий момент не поддерживается, используйте -f',
'uk': 'hg log без опції -f в данний момент не підтримується, використовуй -f', 'uk': 'hg log без опції -f в данний момент не підтримується, використовуй -f',
'ko': '-f가 없는 hg log는 현재 지원되지 않습니다. -f를 사용하세요.', 'ko': '-f가 없는 hg log는 현재 지원되지 않습니다. -f를 사용하세요.',
'vi': 'Hiện tại thì `hg log` mà không có tùy chọn -f chưa được hỗ trợ, hãy viết thêm -f.' 'vi': 'Hiện tại thì `hg log` mà không có tùy chọn -f chưa được hỗ trợ, hãy viết thêm -f.',
'sl_SI': 'hg log brez -f trenutno ni podprt, uporabi -f'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-status-detached': { 'git-status-detached': {
@ -171,7 +181,8 @@ exports.strings = {
'ru_RU': 'Отделенный HEAD', 'ru_RU': 'Отделенный HEAD',
'uk': 'Відокремлений HEAD', 'uk': 'Відокремлений HEAD',
'ko': '분리된 HEAD!', 'ko': '분리된 HEAD!',
'vi': 'HEAD bị tách biệt!' 'vi': 'HEAD bị tách biệt!',
'sl_SI': 'Detached head!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-status-onbranch': { 'git-status-onbranch': {
@ -188,7 +199,8 @@ exports.strings = {
'ru_RU': 'В ветке {branch}', 'ru_RU': 'В ветке {branch}',
'uk': 'В гілці {branch}', 'uk': 'В гілці {branch}',
'ko': '분기 지점 {branch}에서', 'ko': '분기 지점 {branch}에서',
'vi': 'Đang trên nhánh {branch}' 'vi': 'Đang trên nhánh {branch}',
'sl_SI': 'Na branchu {branch}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-status-readytocommit': { 'git-status-readytocommit': {
@ -205,7 +217,8 @@ exports.strings = {
'ru_RU': 'Готово к коммиту! (как и всегда в этом демо)', 'ru_RU': 'Готово к коммиту! (как и всегда в этом демо)',
'uk': 'Готово до коміту! (як завжди в цьому демо)', 'uk': 'Готово до коміту! (як завжди в цьому демо)',
'ko': '커밋을 준비하세요! (이 데모에서는 항상)', 'ko': '커밋을 준비하세요! (이 데모에서는 항상)',
'vi': 'Sẵn sàng để commit! (khi demo thì luôn có thể commit)' 'vi': 'Sẵn sàng để commit! (khi demo thì luôn có thể commit)',
'sl_SI': 'Pripravljen za commit! (kot vedno v tem demotu)'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-dummy-msg': { 'git-dummy-msg': {
@ -223,7 +236,8 @@ exports.strings = {
'ru_RU': 'Быстрый коммит. А надо!', 'ru_RU': 'Быстрый коммит. А надо!',
'uk': 'Швидкий коміт. Динамо!', 'uk': 'Швидкий коміт. Динамо!',
'ko': '빨리 커밋하세요!', 'ko': '빨리 커밋하세요!',
'vi': 'Commit luôn đi cho nóng!' 'vi': 'Commit luôn đi cho nóng!',
'sl_SI': 'Hiter commit.'
}, },
'git-error-origin-fetch-uptodate': { 'git-error-origin-fetch-uptodate': {
'__desc__': 'One of the error messages for git', '__desc__': 'One of the error messages for git',
@ -239,7 +253,8 @@ exports.strings = {
'ru_RU': 'Уже обновлено!', 'ru_RU': 'Уже обновлено!',
'uk': 'Вже оновлено!', 'uk': 'Вже оновлено!',
'ko': '이미 최신 상태입니다!', 'ko': '이미 최신 상태입니다!',
'vi': 'Cập nhật mới nhất rồi!' 'vi': 'Cập nhật mới nhất rồi!',
'sl_SI': 'Že posodobljeno!'
}, },
'git-error-origin-fetch-no-ff': { 'git-error-origin-fetch-no-ff': {
'__desc__': 'One of the error messages for git', '__desc__': 'One of the error messages for git',
@ -255,7 +270,8 @@ exports.strings = {
'ru_RU': 'Ваша origin ветка не синхронизирована с удаленной веткой, невозможно выполнить fetch', 'ru_RU': 'Ваша origin ветка не синхронизирована с удаленной веткой, невозможно выполнить fetch',
'uk': 'Твоя гілка origin не синхронізована з віддаленою гілкою, неможливо виконати fetch', 'uk': 'Твоя гілка origin не синхронізована з віддаленою гілкою, неможливо виконати fetch',
'ko': '당신의 오리진 브랜치가 원격 브랜치와 동기화되지 않았고, 패치를 실행할 수 없습니다.', 'ko': '당신의 오리진 브랜치가 원격 브랜치와 동기화되지 않았고, 패치를 실행할 수 없습니다.',
'vi': 'Nhánh của bạn không đồng bộ với nhánh remote nên lệnh fetch không thực thi được.' 'vi': 'Nhánh của bạn không đồng bộ với nhánh remote nên lệnh fetch không thực thi được.',
'sl_SI': 'Tvoj origin branch ni sinhroniziran z oddaljenim branchem, zato se fetch se ne more izvesti'
}, },
'git-error-origin-push-no-ff': { 'git-error-origin-push-no-ff': {
'__desc__': 'One of the error messages for git', '__desc__': 'One of the error messages for git',
@ -271,7 +287,8 @@ exports.strings = {
'ru_RU': 'Удаленный репозиторий разошелся с вашим локальным репозиторием, поэтому выгрузка ваших изменений не может быть в режиме fast forward (и следовательно ваш push будет отклонён). Пожалуйста, удалите изменения в удаленном репозитории которые, объедините их в эту ветку и попробуйте еще раз. Вы можете сделать это с помощью git pull или git pull --rebase', 'ru_RU': 'Удаленный репозиторий разошелся с вашим локальным репозиторием, поэтому выгрузка ваших изменений не может быть в режиме fast forward (и следовательно ваш push будет отклонён). Пожалуйста, удалите изменения в удаленном репозитории которые, объедините их в эту ветку и попробуйте еще раз. Вы можете сделать это с помощью git pull или git pull --rebase',
'uk': 'Віддалений репозиторій розбігся з твоїм локальним репозиторієм, тому відвантаження твоїх змін не є простим fast forward (і тому твій push був відхилений). Будь-ласка, витягни зміни з віддаленого репозиторію, включи їх в цю гілку, й спробуй ще. Ти можеш зробити це за допомогою git pull чи git pull --rebase', 'uk': 'Віддалений репозиторій розбігся з твоїм локальним репозиторієм, тому відвантаження твоїх змін не є простим fast forward (і тому твій push був відхилений). Будь-ласка, витягни зміни з віддаленого репозиторію, включи їх в цю гілку, й спробуй ще. Ти можеш зробити це за допомогою git pull чи git pull --rebase',
'ko': '원격 레포지토리가 당신의 로컬 레포지토리에서 분기하므로, 변경 사항을 업데이트 하는것은 간단한 fast forward가 아닙니다(따라서 push가 거절될 것입니다.). 원격 레포지토리에서의 변경 사항을 내려 받아 이 브랜치에 합치고, 이를 반복하세요. 당신은 git pull 또는 git pull --rebase를 사용해 이를 수행할 수 있습니다.', 'ko': '원격 레포지토리가 당신의 로컬 레포지토리에서 분기하므로, 변경 사항을 업데이트 하는것은 간단한 fast forward가 아닙니다(따라서 push가 거절될 것입니다.). 원격 레포지토리에서의 변경 사항을 내려 받아 이 브랜치에 합치고, 이를 반복하세요. 당신은 git pull 또는 git pull --rebase를 사용해 이를 수행할 수 있습니다.',
'vi': 'Kho chứa từ xa có sự khác biệt với kho chứa cục bộ của bạn, nên không thể tự động (fast forward) cập nhật thay đổi của bạn (và vì thế hoạt động push của bạn bị từ chối). Vui lòng kéo về thay đổi từ kho chứa từ xa, kết nạp vào nhánh hiện tại, và thử lại lần nữa. Bạn có thể dùng lệnh `git pull` hoặc `git pull --rebase`' 'vi': 'Kho chứa từ xa có sự khác biệt với kho chứa cục bộ của bạn, nên không thể tự động (fast forward) cập nhật thay đổi của bạn (và vì thế hoạt động push của bạn bị từ chối). Vui lòng kéo về thay đổi từ kho chứa từ xa, kết nạp vào nhánh hiện tại, và thử lại lần nữa. Bạn có thể dùng lệnh `git pull` hoặc `git pull --rebase`',
'sl_SI': 'Oddaljen repozitorij se je ločil od tvojega lokalnega repozitorija, zato nalaganje sprememb ni možno z `fast forward` opcijo (zato je bil `push` zavrnjen). Prosim pull-aj dol nove spremembe iz oddaljenega repozitorija, jih vključi v svoj branch, nato pa poizkusi ponovno. To lahko narediš z `git pull` ali `git pull --rebase`'
}, },
'git-error-remote-branch': { 'git-error-remote-branch': {
'__desc__': 'One of the error messages for git', '__desc__': 'One of the error messages for git',
@ -287,7 +304,8 @@ exports.strings = {
'ru_RU': 'Вы не можете выполнить эту команду на удаленной ветке', 'ru_RU': 'Вы не можете выполнить эту команду на удаленной ветке',
'uk': 'Ти не можеш виконати цю команду на віддаленій гілці', 'uk': 'Ти не можеш виконати цю команду на віддаленій гілці',
'ko': '당신은 원격 브랜치에서 그 명령어를 실행시킬 수 없습니다.', 'ko': '당신은 원격 브랜치에서 그 명령어를 실행시킬 수 없습니다.',
'vi': 'Bạn không thể thực thi lệnh đó lên nhánh từ xa.' 'vi': 'Bạn không thể thực thi lệnh đó lên nhánh từ xa.',
'sl_SI': 'Tega ukaza ne moreš narediti na oddaljenem branchu'
}, },
'git-error-origin-required': { 'git-error-origin-required': {
'__desc__': 'One of the error messages for git', '__desc__': 'One of the error messages for git',
@ -303,7 +321,8 @@ exports.strings = {
'ru_RU': 'Origin требуется для этой команды', 'ru_RU': 'Origin требуется для этой команды',
'uk': 'Для цієї команди потрібний origin', 'uk': 'Для цієї команди потрібний origin',
'ko': '그 명령어를 위한 오리진이 필요합니다.', 'ko': '그 명령어를 위한 오리진이 필요합니다.',
'vi': 'Lệnh đó yêu cầu có origin.' 'vi': 'Lệnh đó yêu cầu có origin.',
'sl_SI': 'Origin je potreben za izvedbo tega ukaza'
}, },
'git-error-origin-exists': { 'git-error-origin-exists': {
'__desc__': 'One of the error messages for git', '__desc__': 'One of the error messages for git',
@ -319,7 +338,8 @@ exports.strings = {
'ru_RU': 'Origin уже существует! Невозможно создать еще один', 'ru_RU': 'Origin уже существует! Невозможно создать еще один',
'uk': 'Origin вже існує! Неможливо створити ще один', 'uk': 'Origin вже існує! Неможливо створити ще один',
'ko': '오리진이 이미 존재합니다! 당신은 새로 만들 수 없습니다.', 'ko': '오리진이 이미 존재합니다! 당신은 새로 만들 수 없습니다.',
'vi': 'Nguyên bản (origin) đã tồn tại. Bạn không thể tạo thêm 1 cái mới' 'vi': 'Nguyên bản (origin) đã tồn tại. Bạn không thể tạo thêm 1 cái mới',
'sl_SI': 'Origin že obstaja. Ne moreš narediti novega.'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-branch': { 'git-error-branch': {
@ -337,7 +357,8 @@ exports.strings = {
'ru_RU' : 'Невозможно удалить ветку master, ветку на которой вы сейчас и то что не является веткой', 'ru_RU' : 'Невозможно удалить ветку master, ветку на которой вы сейчас и то что не является веткой',
'uk': 'Неможливо видалити гілку master, гілку на якій ти зараз знаходишся чи штуки які не є гілкою', 'uk': 'Неможливо видалити гілку master, гілку на якій ти зараз знаходишся чи штуки які не є гілкою',
'ko': '당신은 마스터 브랜치, 당신이 현재 사용중인 브랜치, 또는 브랜치가 아닌 것들을 삭제할 수 없습니다.', 'ko': '당신은 마스터 브랜치, 당신이 현재 사용중인 브랜치, 또는 브랜치가 아닌 것들을 삭제할 수 없습니다.',
'vi': 'Bạn không thể xóa nhánh master, nhánh mà bạn đang tham chiếu tới, hoặc những gì không phải nhánh.' 'vi': 'Bạn không thể xóa nhánh master, nhánh mà bạn đang tham chiếu tới, hoặc những gì không phải nhánh.',
'sl_SI': 'Ne moreš izbrisati master brancha, brancha na katerem si trenutno ali stvari, ki niso branchi'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-merge-msg': { 'git-merge-msg': {
@ -354,7 +375,8 @@ exports.strings = {
'ru_RU': 'Слияние {target} в {current}', 'ru_RU': 'Слияние {target} в {current}',
'uk': 'Злиття {target} в {current}', 'uk': 'Злиття {target} в {current}',
'ko': '{target}을 {current}에 병합하세요.', 'ko': '{target}을 {current}에 병합하세요.',
'vi': 'Gộp {target} vào {current}.' 'vi': 'Gộp {target} vào {current}.',
'sl_SI': 'Mergaj {target} v {current}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-rebase-none': { 'git-error-rebase-none': {
@ -371,7 +393,8 @@ exports.strings = {
'ru_RU': 'Нет коммитов для rebase! Все в коммите слияния или изменения уже применены', 'ru_RU': 'Нет коммитов для rebase! Все в коммите слияния или изменения уже применены',
'uk': 'Нема комітів для rebase! Все в коміті злиття (merge commit) чи зміни вже застосовані', 'uk': 'Нема комітів для rebase! Все в коміті злиття (merge commit) чи зміни вже застосовані',
'ko': 'rebase를 하기 위한 커밋이 없습니다! 모든 커밋과 변경 사항들의 병합은 이미 적용되었습니다.', 'ko': 'rebase를 하기 위한 커밋이 없습니다! 모든 커밋과 변경 사항들의 병합은 이미 적용되었습니다.',
'vi': 'Không có commit nào để rebase. Mọi thứ là merge commit hoặc thay đổi đã được áp dụng.' 'vi': 'Không có commit nào để rebase. Mọi thứ là merge commit hoặc thay đổi đã được áp dụng.',
'sl_SI': 'Ni commitov za rebase! Vse je merge commit ali pa so spremembe že dodane'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-result-nothing': { 'git-result-nothing': {
@ -388,7 +411,8 @@ exports.strings = {
'ru_RU': 'Нечего выполнять...', 'ru_RU': 'Нечего выполнять...',
'uk': 'Нічого виконувати...', 'uk': 'Нічого виконувати...',
'ko': '할게 없습니다 ...', 'ko': '할게 없습니다 ...',
'vi': 'Không có gì để làm ...' 'vi': 'Không có gì để làm ...',
'sl_SI': 'Ničesar za narediti ...'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-result-fastforward': { 'git-result-fastforward': {
@ -405,7 +429,8 @@ exports.strings = {
'ru_RU': 'Выполняю Fast forward...', 'ru_RU': 'Выполняю Fast forward...',
'uk': 'Виконую Fast forward', 'uk': 'Виконую Fast forward',
'ko': 'Fast forward 중입니다...', 'ko': 'Fast forward 중입니다...',
'vi': 'Đang fast forward...' 'vi': 'Đang fast forward...',
'sl_SI': 'Fast forwardiranje'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-result-uptodate': { 'git-result-uptodate': {
@ -422,7 +447,8 @@ exports.strings = {
'ru_RU': 'Ветка уже обновлена', 'ru_RU': 'Ветка уже обновлена',
'uk': 'Гілку вже оновлено', 'uk': 'Гілку вже оновлено',
'ko': '브랜치가 이미 최신 상태입니다.', 'ko': '브랜치가 이미 최신 상태입니다.',
'vi': 'Nhánh đã được cập nhật mới nhất.' 'vi': 'Nhánh đã được cập nhật mới nhất.',
'sl_SI': 'Branch je že posodobljen'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-exist': { 'git-error-exist': {
@ -439,7 +465,8 @@ exports.strings = {
'ru_RU': 'Ссылка {ref} не существует или неизвестна', 'ru_RU': 'Ссылка {ref} не существует или неизвестна',
'uk': 'Посилання {ref} не існує чи невідоме', 'uk': 'Посилання {ref} не існує чи невідоме',
'ko': '{ref} 참조가 존재하지 않거나 알 수 없습니다.', 'ko': '{ref} 참조가 존재하지 않거나 알 수 없습니다.',
'vi': 'Tham chiếu {ref} không tồn tại hoặc không thể tìm thấy.' 'vi': 'Tham chiếu {ref} không tồn tại hoặc không thể tìm thấy.',
'sl_SI': 'Ref {ref} new obstaja ali je neznan'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-relative-ref': { 'git-error-relative-ref': {
@ -456,7 +483,8 @@ exports.strings = {
'ru_RU': 'Коммит {commit} не содержит {match}', 'ru_RU': 'Коммит {commit} не содержит {match}',
'uk': 'Коміт {commit} не містить {match}', 'uk': 'Коміт {commit} не містить {match}',
'ko': '커밋 {commit}은 {match}를 가지고 있지 않습니다.', 'ko': '커밋 {commit}은 {match}를 가지고 있지 않습니다.',
'vi': 'Commit {commit} mà không có {match}.' 'vi': 'Commit {commit} mà không có {match}.',
'sl_SI': 'Commit {commit} nima {match}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-warning-detached': { 'git-warning-detached': {
@ -473,7 +501,8 @@ exports.strings = {
'ru_RU': 'Внимание! Репозиторий в состоянии detached HEAD, то есть не находится ни на какой ветке!', 'ru_RU': 'Внимание! Репозиторий в состоянии detached HEAD, то есть не находится ни на какой ветке!',
'uk': 'Увага! Репозиторій в стані detached HEAD, тобто не знаходиться в жодній гілці!', 'uk': 'Увага! Репозиторій в стані detached HEAD, тобто не знаходиться в жодній гілці!',
'ko': '주의! 분리된 HEAD 상태', 'ko': '주의! 분리된 HEAD 상태',
'vi': 'Cảnh báo! HEAD bị tách rời' 'vi': 'Cảnh báo! HEAD bị tách rời',
'sl_SI': 'Opozorilo! Detached HEAD stanje'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-warning-add': { 'git-warning-add': {
@ -490,7 +519,8 @@ exports.strings = {
'ru_RU': 'Это демо не оперирует файлами', 'ru_RU': 'Это демо не оперирует файлами',
'uk': 'Не потрібно додавати файли для цього демо', 'uk': 'Не потрібно додавати файли для цього демо',
'ko': '이 데모에서는 파일을 추가할 필요가 없습니다.', 'ko': '이 데모에서는 파일을 추가할 필요가 없습니다.',
'vi': 'Không cần thêm tập tin trong bản giới thiệu này.' 'vi': 'Không cần thêm tập tin trong bản giới thiệu này.',
'sl_SI': 'Ni potrebe po dodajanju datotetk v tem demotu'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-options': { 'git-error-options': {
@ -507,7 +537,8 @@ exports.strings = {
'ru_RU': 'Неправильные опции', 'ru_RU': 'Неправильные опции',
'uk': 'Опції, які ти ввів, або некорректні або не підтримуються', 'uk': 'Опції, які ти ввів, або некорректні або не підтримуються',
'ko': '당신이 지정한 그 옵션들은 호환되지 않거나 올바르지 않습니다.', 'ko': '당신이 지정한 그 옵션들은 호환되지 않거나 올바르지 않습니다.',
'vi': 'Các tham số bạn chỉ định không tương thích hoặc không chính xác.' 'vi': 'Các tham số bạn chỉ định không tương thích hoặc không chính xác.',
'sl_SI': 'Opcije, ki si jih podal, so nezdružljive ali napačne'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-already-exists': { 'git-error-already-exists': {
@ -524,7 +555,8 @@ exports.strings = {
'ru_RU': 'Коммит {commit} существует, отменяю!', 'ru_RU': 'Коммит {commit} существует, отменяю!',
'uk': 'Коміт {commit} вже існує в твоєму change set, відміна!', 'uk': 'Коміт {commit} вже існує в твоєму change set, відміна!',
'ko': '커밋 {commit}은 이미 당신의 변경 내역에 존재합니다. 중단!', 'ko': '커밋 {commit}은 이미 당신의 변경 내역에 존재합니다. 중단!',
'vi': 'Commit {commit} đã tồn tại trong những thay đổi của bạn. Đang hủy!' 'vi': 'Commit {commit} đã tồn tại trong những thay đổi của bạn. Đang hủy!',
'sl_SI': 'Commit {commit} že obstaja v tvoji množici sprememb, prekinjam!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-reset-detached': { 'git-error-reset-detached': {
@ -541,7 +573,8 @@ exports.strings = {
'ru_RU': 'Это невозможно в режиме detached HEAD! Используйте checkout!', 'ru_RU': 'Это невозможно в режиме detached HEAD! Используйте checkout!',
'uk': 'Неможливо зробити reset в стані detached head! Використовуй checkout якщо хочеш змінити розташування', 'uk': 'Неможливо зробити reset в стані detached head! Використовуй checkout якщо хочеш змінити розташування',
'ko': '분리된 HEAD에서 reset할 수 없습니다. 만약 이동시키기를 원한다면 checkout을 사용하세요.', 'ko': '분리된 HEAD에서 reset할 수 없습니다. 만약 이동시키기를 원한다면 checkout을 사용하세요.',
'vi': 'Trong trạng thái tách rời `HEAD` thì không thể `reset`. Dùng `checkout` nếu bạn muốn di chuyển.' 'vi': 'Trong trạng thái tách rời `HEAD` thì không thể `reset`. Dùng `checkout` nếu bạn muốn di chuyển.',
'sl_SI': 'Ni možno resetat, zaradi detached HEADa'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-warning-hard': { 'git-warning-hard': {
@ -565,7 +598,8 @@ exports.strings = {
'ko': 'LearnGitBranching에서 reset의 기본 설정은 옵션은 --hard입니다. 우리 레슨에서는 이 옵션을 생략해도 됩니다. 다만 실제 Git의 기본 설정 옵션은 --mixed라는것만 기억하세요.', 'ko': 'LearnGitBranching에서 reset의 기본 설정은 옵션은 --hard입니다. 우리 레슨에서는 이 옵션을 생략해도 됩니다. 다만 실제 Git의 기본 설정 옵션은 --mixed라는것만 기억하세요.',
'vi': 'Trạng thái mặc định cho lệnh `reset` của \"Học nhánh Git\" là `--hard`.' + 'vi': 'Trạng thái mặc định cho lệnh `reset` của \"Học nhánh Git\" là `--hard`.' +
' Nên khi làm bài nếu bạn thấy gõ tham số này hơi tốn công thì cứ bỏ qua.' + ' Nên khi làm bài nếu bạn thấy gõ tham số này hơi tốn công thì cứ bỏ qua.' +
' Nhưng mà hãy nhớ rằng thực tế thì `--mixed` mới là trạng thái mặc định của `reset`.' ' Nhưng mà hãy nhớ rằng thực tế thì `--mixed` mới là trạng thái mặc định của `reset`.',
'sl_SI': 'Privzeto delovanje za reset na LearnGitBranching je --hard, zato lahko to izpustiš. Na pravem gitu je --mixed.'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-staging': { 'git-error-staging': {
@ -583,7 +617,8 @@ exports.strings = {
'ru_RU': 'Это демо не работает с файлами, так что git add не нужен!', 'ru_RU': 'Это демо не работает с файлами, так что git add не нужен!',
'uk': 'В цьому демо немає можливості додати файл до робочої копії чи до стейджингу, тому ця опція чи команда некоректна чи не підтримується', 'uk': 'В цьому демо немає можливості додати файл до робочої копії чи до стейджингу, тому ця опція чи команда некоректна чи не підтримується',
'ko': '여기엔 파일을 추가하거나 스테이징한다는 개념이 없습니다. 따라서 그 옵션 또는 명령어는 유효하지 않습니다.', 'ko': '여기엔 파일을 추가하거나 스테이징한다는 개념이 없습니다. 따라서 그 옵션 또는 명령어는 유효하지 않습니다.',
'vi': 'Không có khái nệm thêm tập tin đệm(staging file), nên tùy chọn đó là bất hợp lệ.' 'vi': 'Không có khái nệm thêm tập tin đệm(staging file), nên tùy chọn đó là bất hợp lệ.',
'sl_SI': 'Tu ni možnosti addanja/stageanja datotek, zato je ta ukaz nepravilen'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-revert-msg': { 'git-revert-msg': {
@ -600,7 +635,8 @@ exports.strings = {
'ru_RU': 'Откатываю {oldCommit}: {oldMsg}', 'ru_RU': 'Откатываю {oldCommit}: {oldMsg}',
'uk': 'Повертаю {oldCommit}: {oldMsg}', 'uk': 'Повертаю {oldCommit}: {oldMsg}',
'ko': '{oldCommit}:{oldMsg}를 복구중입니다.', 'ko': '{oldCommit}:{oldMsg}를 복구중입니다.',
'vi': 'Hoàn tác {oldCommit}:{oldMsg}.' 'vi': 'Hoàn tác {oldCommit}:{oldMsg}.',
'sl_SI': 'Revertanje {oldCommit}: {oldMsg}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-args-many': { 'git-error-args-many': {
@ -617,7 +653,8 @@ exports.strings = {
'ru_RU': 'Ожидается максимум {upper} аргумент(ов) для {what}', 'ru_RU': 'Ожидается максимум {upper} аргумент(ов) для {what}',
'uk': 'Я очікую максимум {upper} аргумент(ів) для {what}', 'uk': 'Я очікую максимум {upper} аргумент(ів) для {what}',
'ko': '{what}을 위해 최대 {upper}개의 인자를 받습니다.', 'ko': '{what}을 위해 최대 {upper}개의 인자를 받습니다.',
'vi': 'Có thể có nhiều nhất {upper} tham số cho {what}.' 'vi': 'Có thể có nhiều nhất {upper} tham số cho {what}.',
'sl_SI': 'Pričakovanih je največ {upper} argumentov za {what}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-args-few': { 'git-error-args-few': {
@ -634,7 +671,8 @@ exports.strings = {
'ru_RU': 'Ожидается как минимум {lower} аргументов для {what}', 'ru_RU': 'Ожидается как минимум {lower} аргументов для {what}',
'uk': 'Я очікую як мінімум {lower} аргумент(ів) для {what}', 'uk': 'Я очікую як мінімум {lower} аргумент(ів) для {what}',
'ko': '{what}을 위해 최소 {lower}개의 인자를 받습니다.', 'ko': '{what}을 위해 최소 {lower}개의 인자를 받습니다.',
'vi': 'Cần ít nhất {lower} tham số cho {what}.' 'vi': 'Cần ít nhất {lower} tham số cho {what}.',
'sl_SI': 'Pričakovanih je najmanj {lower} argumentov za {what}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-error-no-general-args': { 'git-error-no-general-args': {
@ -651,7 +689,8 @@ exports.strings = {
'ru_RU': 'Это команда без аргументов', 'ru_RU': 'Это команда без аргументов',
'uk': 'Ця команда не приймає загальних аргументів', 'uk': 'Ця команда не приймає загальних аргументів',
'ko': '그 명령어는 일반적으로 인자를 받지 않습니다.', 'ko': '그 명령어는 일반적으로 인자를 받지 않습니다.',
'vi': 'Lệnh đó không chấp nhận các tham số chung.' 'vi': 'Lệnh đó không chấp nhận các tham số chung.',
'sl_SI': 'Ta ukaz ne sprejme splošnih ukazov'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'copy-tree-string': { 'copy-tree-string': {
@ -668,7 +707,8 @@ exports.strings = {
'ru_RU': 'Скопируй текст ниже', 'ru_RU': 'Скопируй текст ниже',
'uk': 'Скопіюй рядок дерева нижче', 'uk': 'Скопіюй рядок дерева нижче',
'ko': '다음 트리 문자열을 복사하세요.', 'ko': '다음 트리 문자열을 복사하세요.',
'vi': 'Sao chép chuỗi cây bên dưới.' 'vi': 'Sao chép chuỗi cây bên dưới.',
'sl_SI': 'Skopiraj besedilo drevesa spodaj'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'learn-git-branching': { 'learn-git-branching': {
@ -686,7 +726,8 @@ exports.strings = {
'ru_RU': 'Изучаем ветвление в git', 'ru_RU': 'Изучаем ветвление в git',
'uk': 'Learn Git Branching', 'uk': 'Learn Git Branching',
'ko': '깃 브랜칭을 배워봅시다.', 'ko': '깃 브랜칭을 배워봅시다.',
'vi': 'Học nhánh Git.' 'vi': 'Học nhánh Git.',
'sl_SI': 'Nauči se Git Branching'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'select-a-level': { 'select-a-level': {
@ -703,7 +744,8 @@ exports.strings = {
'ru_RU': 'Выбери уровень', 'ru_RU': 'Выбери уровень',
'uk': 'Обери рівень', 'uk': 'Обери рівень',
'ko': '레벨을 선택하세요.', 'ko': '레벨을 선택하세요.',
'vi': 'Chọn một cấp độ.' 'vi': 'Chọn một cấp độ.',
'sl_SI': 'Izberi stopnjo'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'main-levels-tab': { 'main-levels-tab': {
@ -717,7 +759,8 @@ exports.strings = {
'ru_RU': 'Основы', 'ru_RU': 'Основы',
'uk' : 'Основи', 'uk' : 'Основи',
'ko': '메인', 'ko': '메인',
'vi': 'Bài học chính' 'vi': 'Bài học chính',
'sl_SI': 'Glavno'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'remote-levels-tab': { 'remote-levels-tab': {
@ -731,7 +774,8 @@ exports.strings = {
'ru_RU': 'Удаленные репозитории', 'ru_RU': 'Удаленные репозитории',
'uk' : 'Віддалені репозиторії', 'uk' : 'Віддалені репозиторії',
'ko' : '원격', 'ko' : '원격',
'vi' : 'Bài học về thao tác từ xa' 'vi' : 'Bài học về thao tác từ xa',
'sl_SI': 'Oddaljeno'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'branch-name-short': { 'branch-name-short': {
@ -748,7 +792,8 @@ exports.strings = {
'ru_RU': 'Для наглядности нам нужно сохранять имена веток короткими. Твоё название сокращено до 9 символов и теперь это "{branch}"', 'ru_RU': 'Для наглядности нам нужно сохранять имена веток короткими. Твоё название сокращено до 9 символов и теперь это "{branch}"',
'uk': 'Вибач, нам потрібно щоб ім’я гілок було як можна коротше для наглядності. Твоє ім’я гілки було скорочене до 9 літер й тепер це "{branch}"', 'uk': 'Вибач, нам потрібно щоб ім’я гілок було як можна коротше для наглядності. Твоє ім’я гілки було скорочене до 9 літер й тепер це "{branch}"',
'ko': '미안하지만, 우리는 시각적으로 더 좋게 보기위해 짧은 브랜치명이 필요합니다. 당신의 브랜치명은 9자리로 잘라 "{branch}"로 만들었습니다.', 'ko': '미안하지만, 우리는 시각적으로 더 좋게 보기위해 짧은 브랜치명이 필요합니다. 당신의 브랜치명은 9자리로 잘라 "{branch}"로 만들었습니다.',
'vi': 'Xin lỗi, chúng tôi cần giữ tên nhánh ngắn để tiện minh họa. Tên nhánh của bạn đã bị cắt xuống 9 ký tự là "{branch}".' 'vi': 'Xin lỗi, chúng tôi cần giữ tên nhánh ngắn để tiện minh họa. Tên nhánh của bạn đã bị cắt xuống 9 ký tự là "{branch}".',
'sl_SI': 'Oprosti, imena branchev moramo obdržati kratka zaradi vizualizacije. Tvoje ime brancha je bilo skrajšano na 9 črk, kar predstavlja "{branch}"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'bad-branch-name': { 'bad-branch-name': {
@ -765,7 +810,8 @@ exports.strings = {
'ru_RU': 'Название для ветки "{branch}" недопустимо!', 'ru_RU': 'Название для ветки "{branch}" недопустимо!',
'uk': 'Назва гілки "{branch}" є недопустимою', 'uk': 'Назва гілки "{branch}" є недопустимою',
'ko': '"{branch}"라는 브랜치명은 사용할 수 없습니다.', 'ko': '"{branch}"라는 브랜치명은 사용할 수 없습니다.',
'vi': 'Tên nhánh "{branch}" không được chấp nhận.' 'vi': 'Tên nhánh "{branch}" không được chấp nhận.',
'sl_SI': 'To ime brancha "{branch}" ni dovoljeno!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'bad-tag-name': { 'bad-tag-name': {
@ -782,7 +828,8 @@ exports.strings = {
'ru_RU': 'Название для тега "{tag}" недопустимо!', 'ru_RU': 'Название для тега "{tag}" недопустимо!',
'uk': 'Назва тегу "{tag}" є недопустимою', 'uk': 'Назва тегу "{tag}" є недопустимою',
'ko': '"{tag}"라는 태그명은 사용할 수 없습니다.', 'ko': '"{tag}"라는 태그명은 사용할 수 없습니다.',
'vi': 'Tên thẻ "{tag}" không được chấp nhận.' 'vi': 'Tên thẻ "{tag}" không được chấp nhận.',
'sl_SI': 'To ime tag-a "{tag}" ni dovoljeno!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'option-not-supported': { 'option-not-supported': {
@ -799,7 +846,8 @@ exports.strings = {
'ru_RU': 'Опция "{option}" недопустима!', 'ru_RU': 'Опция "{option}" недопустима!',
'uk': 'Опція "{option}" не підтримується!', 'uk': 'Опція "{option}" не підтримується!',
'ko': '"{option}"(이)라는 옵션은 지원하지 않습니다.', 'ko': '"{option}"(이)라는 옵션은 지원하지 않습니다.',
'vi': 'Tùy chọn "{option}" không được hỗ trợ.' 'vi': 'Tùy chọn "{option}" không được hỗ trợ.',
'sl_SI': 'Opcija "{option}" ni podprta! '
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-usage-command': { 'git-usage-command': {
@ -816,7 +864,8 @@ exports.strings = {
'ru_RU': 'git <команда> [<аргументы>]', 'ru_RU': 'git <команда> [<аргументы>]',
'uk': 'git <команда> [<аргументи>]', 'uk': 'git <команда> [<аргументи>]',
'ko': 'git <명령어> [<인자들>]', 'ko': 'git <명령어> [<인자들>]',
'vi': 'git <lệnh> [<tham số>]' 'vi': 'git <lệnh> [<tham số>]',
'sl_SI': 'git <ukaz> [<argumenti>]'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-supported-commands': { 'git-supported-commands': {
@ -833,7 +882,8 @@ exports.strings = {
'ru_RU': 'Поддерживаемые команды', 'ru_RU': 'Поддерживаемые команды',
'uk': 'Допустимі команди', 'uk': 'Допустимі команди',
'ko': '지원되는 명령어들:', 'ko': '지원되는 명령어들:',
'vi': 'Các lệnh được hỗ trợ:' 'vi': 'Các lệnh được hỗ trợ:',
'sl_SI': 'Podprti ukazi:'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-usage': { 'git-usage': {
@ -850,7 +900,8 @@ exports.strings = {
'ru_RU': 'Использование:', 'ru_RU': 'Использование:',
'uk': 'Використання:', 'uk': 'Використання:',
'ko': '사용법', 'ko': '사용법',
'vi': 'Cách dùng:' 'vi': 'Cách dùng:',
'sl_SI': 'Uporaba:'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-version': { 'git-version': {
@ -867,7 +918,8 @@ exports.strings = {
'ru_RU': 'Версия git PCOTTLE.1.0', 'ru_RU': 'Версия git PCOTTLE.1.0',
'uk': 'Версія git PCOTTLE.1.0', 'uk': 'Версія git PCOTTLE.1.0',
'ko': 'Git Version PCOTILE.1.0', 'ko': 'Git Version PCOTILE.1.0',
'vi': 'Phiên bản Git TTC-Solutions.1.0' 'vi': 'Phiên bản Git TTC-Solutions.1.0',
'sl_SI': 'Git Verzija PCOTTLE.1.0'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'flip-tree-command': { 'flip-tree-command': {
@ -883,7 +935,8 @@ exports.strings = {
'ru_RU': 'Переворачиваю дерево...', 'ru_RU': 'Переворачиваю дерево...',
'uk': 'Перевертаю дерево...', 'uk': 'Перевертаю дерево...',
'ko': '트리 뒤집는중...', 'ko': '트리 뒤집는중...',
'vi': 'Cây lật...' 'vi': 'Cây lật...',
'sl_SI': 'Obračanje drevesa ...'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'refresh-tree-command': { 'refresh-tree-command': {
@ -900,7 +953,8 @@ exports.strings = {
'ru_RU': 'Обновляю дерево...', 'ru_RU': 'Обновляю дерево...',
'uk': 'Оновлюю дерево...', 'uk': 'Оновлюю дерево...',
'ko': '트리 다시 불러오는중...', 'ko': '트리 다시 불러오는중...',
'vi': 'Làm mới cây...' 'vi': 'Làm mới cây...',
'sl_SI': 'Osveževanje drevesa ...'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'locale-command': { 'locale-command': {
@ -917,7 +971,8 @@ exports.strings = {
'ru_RU': 'Локаль теперь равна {locale}', 'ru_RU': 'Локаль теперь равна {locale}',
'uk': 'Локаль тепер дорівнює {locale}', 'uk': 'Локаль тепер дорівнює {locale}',
'ko': '로케일이 {locale}로 설정되었습니다.', 'ko': '로케일이 {locale}로 설정되었습니다.',
'vi': 'Ngôn ngữ được thay đổi thành {locale}.' 'vi': 'Ngôn ngữ được thay đổi thành {locale}.',
'sl_SI': 'Locale nastavljen na {locale}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'locale-reset-command': { 'locale-reset-command': {
@ -934,7 +989,8 @@ exports.strings = {
'ru_RU': 'Локаль сброшена. Теперь она равна {locale}', 'ru_RU': 'Локаль сброшена. Теперь она равна {locale}',
'uk': 'Локаль скинута. Тепер вона дорівнює {locale}', 'uk': 'Локаль скинута. Тепер вона дорівнює {locale}',
'ko': '로케일이 {locale}로 초기화 되었습니다.', 'ko': '로케일이 {locale}로 초기화 되었습니다.',
'vi': 'Ngôn ngữ được đổi thành mặc định: {locale}.' 'vi': 'Ngôn ngữ được đổi thành mặc định: {locale}.',
'sl_SI': 'Locale ponastavljen na {locale}'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'show-command': { 'show-command': {
@ -951,7 +1007,8 @@ exports.strings = {
'ru_RU': 'Для получения большей информации используй следующие команды:', 'ru_RU': 'Для получения большей информации используй следующие команды:',
'uk': 'Щоб отримати більше інформації використовуй наступні команди:', 'uk': 'Щоб отримати більше інформації використовуй наступні команди:',
'ko': '더 많은 정보를 위해 다음 명령어들중 하나를 사용하세요.', 'ko': '더 많은 정보를 위해 다음 명령어들중 하나를 사용하세요.',
'vi': 'Vui lòng dùng một trong các lệnh sau để có thêm thông tin:.' 'vi': 'Vui lòng dùng một trong các lệnh sau để có thêm thông tin:.',
'sl_SI': 'Prosim uporabi enega od naslednjih ukazov'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'show-all-commands': { 'show-all-commands': {
@ -968,7 +1025,8 @@ exports.strings = {
'ru_RU': 'Вот все поддерживаемуе команды:', 'ru_RU': 'Вот все поддерживаемуе команды:',
'uk': 'Ось список всіх можливих команд:', 'uk': 'Ось список всіх можливих команд:',
'ko': '여기에 사용 가능한 모든 명령어들의 리스트가 있습니다.', 'ko': '여기에 사용 가능한 모든 명령어들의 리스트가 있습니다.',
'vi': 'Dưới đây là danh sách tất cả các lệnh hiện hành:.' 'vi': 'Dưới đây là danh sách tất cả các lệnh hiện hành:.',
'sl_SI': 'Tu je seznam vseh možnih ukazov:'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'cd-command': { 'cd-command': {
@ -985,7 +1043,8 @@ exports.strings = {
'ru_RU': 'Директория изменена на "/директории/не/важны/в/этом/демо"', 'ru_RU': 'Директория изменена на "/директории/не/важны/в/этом/демо"',
'uk': 'Директорія змінена на "/директорії/не/мають/значення/в/цьому/демо"', 'uk': 'Директорія змінена на "/директорії/не/мають/значення/в/цьому/демо"',
'ko': '디렉토리가 "/directories/dont/matter/in/this/demo"로 변경되었습니다.', 'ko': '디렉토리가 "/directories/dont/matter/in/this/demo"로 변경되었습니다.',
'vi': 'Thay đổi thư mục thành "/directories/dont/matter/in/this/demo".' 'vi': 'Thay đổi thư mục thành "/directories/dont/matter/in/this/demo".',
'sl_SI': 'Mapa spremenjena na "/directories/dont/matter/in/this/demo"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'ls-command': { 'ls-command': {
@ -1002,7 +1061,8 @@ exports.strings = {
'ru_RU': 'НеНадоЗаботитьсяОФайлахВЭтомДемо.txt', 'ru_RU': 'НеНадоЗаботитьсяОФайлахВЭтомДемо.txt',
'uk': 'ЗабийНаФайлиВЦьомуДемо.txt', 'uk': 'ЗабийНаФайлиВЦьомуДемо.txt',
'ko': 'DontWorryAboutFilesInThisDemo.txt (이_데모에서_파일에_대한_걱정은_하지마세요.txt)', 'ko': 'DontWorryAboutFilesInThisDemo.txt (이_데모에서_파일에_대한_걱정은_하지마세요.txt)',
'vi': 'DontWorryAboutFilesInThisDemo.txt (ĐừngLoLắngVềTậpTinTrongBảnGiớiThiệuNày.txt)' 'vi': 'DontWorryAboutFilesInThisDemo.txt (ĐừngLoLắngVềTậpTinTrongBảnGiớiThiệuNày.txt)',
'sl_SI': 'DontWorryAboutFilesInThisDemo.txt'
}, },
'mobile-alert': { 'mobile-alert': {
'__desc__': 'When someone comes to the site on a mobile device, they can not input commands so this is a nasty alert to tell them', '__desc__': 'When someone comes to the site on a mobile device, they can not input commands so this is a nasty alert to tell them',
@ -1018,7 +1078,8 @@ exports.strings = {
'ru_RU': 'Мобильные не поддерживаются, зайди с компьютера!', 'ru_RU': 'Мобильные не поддерживаются, зайди с компьютера!',
'uk': 'LGB не підтримує ввід тексту з мобільного, зайди з компьютера! Це цього варте!', 'uk': 'LGB не підтримує ввід тексту з мобільного, зайди з компьютера! Це цього варте!',
'ko': 'LGB는 모바일에서 입력을 받을 수 없습니다. 데스크톱으로 접속하세요! 이것은 가치가 있습니다. :D', 'ko': 'LGB는 모바일에서 입력을 받을 수 없습니다. 데스크톱으로 접속하세요! 이것은 가치가 있습니다. :D',
'vi': 'Đáng tiếc là ứng dụng không thể nhận thông tin từ điện thoại hay máy tính bảng, hãy sử dụng máy tính cá nhân, đáng để bỏ công mà :D' 'vi': 'Đáng tiếc là ứng dụng không thể nhận thông tin từ điện thoại hay máy tính bảng, hãy sử dụng máy tính cá nhân, đáng để bỏ công mà :D',
'sl_SI': 'LGB ne more sprejeti ukazov na mobilni napravi, obiščite nas na računalinku! Je vredno :D '
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'share-tree': { 'share-tree': {
@ -1035,7 +1096,8 @@ exports.strings = {
'ru_RU': 'Поделись деревом с друзьями! Они могут загрузить его при помощи "import tree"', 'ru_RU': 'Поделись деревом с друзьями! Они могут загрузить его при помощи "import tree"',
'uk': 'Поділись цим деревом з друзями! Вони зможуть його завантажити за допомогою "import tree"', 'uk': 'Поділись цим деревом з друзями! Вони зможуть його завантажити за допомогою "import tree"',
'ko': '친구들과 이 트리를 공유하세요! 그들은 "import tree"를 사용해 이를 로드할 수 있습니다.', 'ko': '친구들과 이 트리를 공유하세요! 그들은 "import tree"를 사용해 이를 로드할 수 있습니다.',
'vi': 'Hãy chia sẻ cây này với bạn của mình! Họ có thể dùng "import tree" để tải.' 'vi': 'Hãy chia sẻ cây này với bạn của mình! Họ có thể dùng "import tree" để tải.',
'sl_SI': 'Deli to drevo s prijatelji! Lahko ga naložijo z "import tree"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'paste-json': { 'paste-json': {
@ -1052,7 +1114,8 @@ exports.strings = {
'ru_RU': 'Вставь JSON ниже!', 'ru_RU': 'Вставь JSON ниже!',
'uk': 'Встав JSON нижче!', 'uk': 'Встав JSON нижче!',
'ko': '아래에 JSON blob을 붙여넣으세요.', 'ko': '아래에 JSON blob을 붙여넣으세요.',
'vi': 'Dán một chuỗi JSON xuống bên dưới.' 'vi': 'Dán một chuỗi JSON xuống bên dưới.',
'sl_SI': 'Prilepi JSON kodo spodaj!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'solved-map-reset': { 'solved-map-reset': {
@ -1069,7 +1132,8 @@ exports.strings = {
'ru_RU': 'Всё сброшено! Можно начать с чистого листа!', 'ru_RU': 'Всё сброшено! Можно начать с чистого листа!',
'uk': 'Все скинуте! Можна починати з чистого аркушу!', 'uk': 'Все скинуте! Можна починати з чистого аркушу!',
'ko': '해결된 지도가 초기화 되었습니다. 당신은 깨끗한 상태에서 시작합니다.', 'ko': '해결된 지도가 초기화 되었습니다. 당신은 깨끗한 상태에서 시작합니다.',
'vi': 'Tất cả đáp án đã được xóa, bạn có thể bắt đầu lại từ đầu.' 'vi': 'Tất cả đáp án đã được xóa, bạn có thể bắt đầu lại từ đầu.',
'sl_SI': 'Rešena mapa je ponastavljena, začel boš lahko na novo!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'level-cant-exit': { 'level-cant-exit': {
@ -1086,7 +1150,8 @@ exports.strings = {
'ru_RU': 'Ты не проходишь уровень! Ты в песочнице! Чтобы начать уровень, используй команду "levels"!', 'ru_RU': 'Ты не проходишь уровень! Ты в песочнице! Чтобы начать уровень, используй команду "levels"!',
'uk': 'Ти не в рівні! Ти в пісочниці! Почни рівень з "levels"', 'uk': 'Ти не в рівні! Ти в пісочниці! Почни рівень з "levels"',
'ko': '당신은 샌드박스에 있습니다. "levels"를 사용하여 레벨을 시작하세요.', 'ko': '당신은 샌드박스에 있습니다. "levels"를 사용하여 레벨을 시작하세요.',
'vi': 'Bạn hiện không ở cấp độ nào cả! Hãy bắt đầu một cấp độ với "levels".' 'vi': 'Bạn hiện không ở cấp độ nào cả! Hãy bắt đầu một cấp độ với "levels".',
'sl_SI': 'Nisi v stopnji! Si v peskovniku, začni stopnjo z "levels"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'level-no-id': { 'level-no-id': {
@ -1103,7 +1168,8 @@ exports.strings = {
'ru_RU': 'Уровень с id "{id}" не найден! Открываю выбор уровней', 'ru_RU': 'Уровень с id "{id}" не найден! Открываю выбор уровней',
'uk': 'Рівень з id "{id}" не знайдений! Відкриваю вибір рівней', 'uk': 'Рівень з id "{id}" не знайдений! Відкриваю вибір рівней',
'ko': 'id "{id}"에 대한 레벨이 존재하지 않습니다. 레벨 선택 화면을 열어보세요.', 'ko': 'id "{id}"에 대한 레벨이 존재하지 않습니다. 레벨 선택 화면을 열어보세요.',
'vi': 'Không tìm thấy cấp độ cho định danh "{id}". Mở cửa sổ chọn cấp độ.' 'vi': 'Không tìm thấy cấp độ cho định danh "{id}". Mở cửa sổ chọn cấp độ.',
'sl_SI': 'Stopnja za ta id "{id}" ni bila najdena! Odpiram pogled za izbiro stopnje'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'undo-stack-empty': { 'undo-stack-empty': {
@ -1120,7 +1186,8 @@ exports.strings = {
'ru_RU': 'Некуда откатывать!', 'ru_RU': 'Некуда откатывать!',
'uk': 'Нема куди відкатуватися', 'uk': 'Нема куди відкатуватися',
'ko': '되돌리기 스택이 비었습니다!', 'ko': '되돌리기 스택이 비었습니다!',
'vi': 'Không có gì để hoàn tác!' 'vi': 'Không có gì để hoàn tác!',
'sl_SI': 'Undo seznam je prazen!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'already-solved': { 'already-solved': {
@ -1137,7 +1204,8 @@ exports.strings = {
'ru_RU': 'Ты уже прошел этот уровень, попробуй пройти другие при помощи команды "levels" или иди в песочницу "sandbox"', 'ru_RU': 'Ты уже прошел этот уровень, попробуй пройти другие при помощи команды "levels" или иди в песочницу "sandbox"',
'uk': 'Ти вже пройшов цей рівень, спробуй інші рівні з "levels" чи повернись в пісочницю з "sandbox"', 'uk': 'Ти вже пройшов цей рівень, спробуй інші рівні з "levels" чи повернись в пісочницю з "sandbox"',
'ko': '당신은 이미 이 레벨을 해결했습니다. "levels"를 사용하여 다른 레벨에 도전하거나 "sandbox"를 사용하여 샌드박스로 돌아가세요.', 'ko': '당신은 이미 이 레벨을 해결했습니다. "levels"를 사용하여 다른 레벨에 도전하거나 "sandbox"를 사용하여 샌드박스로 돌아가세요.',
'vi': 'Bạn đã vượt qua cấp độ này. Thử cấp độ khác với "levels" hoặc dùng "sandbox" để trở lại hộp cát.' 'vi': 'Bạn đã vượt qua cấp độ này. Thử cấp độ khác với "levels" hoặc dùng "sandbox" để trở lại hộp cát.',
'sl_SI': 'To stopnjo si že rešil, poizkusi druge stopnje z "levels" ali pojdi nazaj v peskovnik s "sandbox"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'solved-level': { 'solved-level': {
@ -1151,7 +1219,8 @@ exports.strings = {
'ru_RU': 'Решено!!\n:D', 'ru_RU': 'Решено!!\n:D',
'uk' : 'Вирішено!!\n:D', 'uk' : 'Вирішено!!\n:D',
'ko' : '해결 완료!!\n:D', 'ko' : '해결 완료!!\n:D',
'vi' : 'ĐÃ XONG!!\n:D' 'vi' : 'ĐÃ XONG!!\n:D',
'sl_SI': 'Rešeno!!\n:D'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'command-disabled': { 'command-disabled': {
@ -1168,7 +1237,8 @@ exports.strings = {
'ru_RU': 'На этом уровне нельзя использовать эту команду!', 'ru_RU': 'На этом уровне нельзя использовать эту команду!',
'uk': 'На цьому рівні не можна використовувати цю команду!', 'uk': 'На цьому рівні не можна використовувати цю команду!',
'ko': '그 Git 명령어는 이 레벨에서 사용할 수 없습니다.', 'ko': '그 Git 명령어는 이 레벨에서 사용할 수 없습니다.',
'vi': 'Ở cấp độ này thì lệnh git đó bị vô hiệu hóa.' 'vi': 'Ở cấp độ này thì lệnh git đó bị vô hiệu hóa.',
'sl_SI': 'Ta git ukaz je onemogočen za to stopnjo!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'share-json': { 'share-json': {
@ -1185,7 +1255,8 @@ exports.strings = {
'ru_RU': 'Вот JSON для этого уровня! Поделись им с кем-нибудь или отправь его нам на GitHub', 'ru_RU': 'Вот JSON для этого уровня! Поделись им с кем-нибудь или отправь его нам на GitHub',
'uk': 'Ось JSON для цього рівня! Поділись з кимось чи відправ мені його на Github', 'uk': 'Ось JSON для цього рівня! Поділись з кимось чи відправ мені його на Github',
'ko': '이 레벨을 위한 JSON 데이터가 있습니다! 이를 다른 사람들과 공유하거나 Github에서 제게 보내보세요.', 'ko': '이 레벨을 위한 JSON 데이터가 있습니다! 이를 다른 사람들과 공유하거나 Github에서 제게 보내보세요.',
'vi': 'Đây là chuỗi JSON cho cấp độ này! Hãy chia sẻ với người khắc hoặc với tôi qua Github.' 'vi': 'Đây là chuỗi JSON cho cấp độ này! Hãy chia sẻ với người khắc hoặc với tôi qua Github.',
'sl_SI': 'Tu je JSON za to stopnjo! Deli ga z nekom ali ga pošlji meni na Github'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'want-start-dialog': { 'want-start-dialog': {
@ -1202,7 +1273,8 @@ exports.strings = {
'ru_RU': 'Не указано стартово сообщение! Точно продолжаем?', 'ru_RU': 'Не указано стартово сообщение! Точно продолжаем?',
'uk': 'Не вказано стартовий діалог, хочеш додати стартовий діалог?', 'uk': 'Не вказано стартовий діалог, хочеш додати стартовий діалог?',
'ko': '당신은 시작 대화창을 지정하지 않았습니다. 추가 하시겠습니까?', 'ko': '당신은 시작 대화창을 지정하지 않았습니다. 추가 하시겠습니까?',
'vi': 'Không có cửa sổ hội thoại được chỉ định, thêm một cái chứ?' 'vi': 'Không có cửa sổ hội thoại được chỉ định, thêm một cái chứ?',
'sl_SI': 'Nisi določil začetnega dialoga, bi ga rad dodal?'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'want-hint': { 'want-hint': {
@ -1219,7 +1291,8 @@ exports.strings = {
'ru_RU': 'Не указана подсказка для уровня! Пренебречь? Вальсируем?', 'ru_RU': 'Не указана подсказка для уровня! Пренебречь? Вальсируем?',
'uk': 'Не вказана підказка, хочеш додати підказку?', 'uk': 'Не вказана підказка, хочеш додати підказку?',
'ko': '당신은 힌트를 지정하지 않았습니다. 추가 하시겠습니까?', 'ko': '당신은 힌트를 지정하지 않았습니다. 추가 하시겠습니까?',
'vi': 'Bạn chưa chỉ định một gợi ý, thêm một cái chứ?' 'vi': 'Bạn chưa chỉ định một gợi ý, thêm một cái chứ?',
'sl_SI': 'Nisi določil namiga, bi ga rad dodal?'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'prompt-hint': { 'prompt-hint': {
@ -1236,7 +1309,8 @@ exports.strings = {
'ru_RU': 'Введи подсказку для уровня, если хочешь.', 'ru_RU': 'Введи подсказку для уровня, если хочешь.',
'uk': 'Додай підказку для рівня, якщо хочеш', 'uk': 'Додай підказку для рівня, якщо хочеш',
'ko': '이 레벨을 위한 힌트를 입력하거나 만약 이를 포함시키고 싶지 않을 경우엔 비워두세요.', 'ko': '이 레벨을 위한 힌트를 입력하거나 만약 이를 포함시키고 싶지 않을 경우엔 비워두세요.',
'vi': 'Thêm một gợi ý cho cấp độ này, hoặc cứ để trống nếu bạn không muốn thêm.' 'vi': 'Thêm một gợi ý cho cấp độ này, hoặc cứ để trống nếu bạn không muốn thêm.',
'sl_SI': 'Vnesi namig za to stopnjo ali pusti to prazno, če ga nočeš dodati'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'prompt-name': { 'prompt-name': {
@ -1253,7 +1327,8 @@ exports.strings = {
'ru_RU': 'Введи название уровня', 'ru_RU': 'Введи название уровня',
'uk': 'Введи назву рівня', 'uk': 'Введи назву рівня',
'ko': '레벨 이름을 입력하세요.', 'ko': '레벨 이름을 입력하세요.',
'vi': 'Nhập tên cho cấp độ này.' 'vi': 'Nhập tên cho cấp độ này.',
'sl_SI': 'Vnesi ime za stopnjo'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'solution-empty': { 'solution-empty': {
@ -1270,7 +1345,8 @@ exports.strings = {
'ru_RU': 'Решение не указано! Так не годится!', 'ru_RU': 'Решение не указано! Так не годится!',
'uk': 'Розв’язок порожній!! Щось не так', 'uk': 'Розв’язок порожній!! Щось не так',
'ko': '해답이 비어있습니다. 무언가 잘못되었습니다.', 'ko': '해답이 비어있습니다. 무언가 잘못되었습니다.',
'vi': 'Đáp án bị bỏ trống!! Có gì thiếu rồi.' 'vi': 'Đáp án bị bỏ trống!! Có gì thiếu rồi.',
'sl_SI': 'Tvoja rešitev je prazna!! Nekaj ni vredu.'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'define-start-warning': { 'define-start-warning': {
@ -1287,7 +1363,8 @@ exports.strings = {
'ru_RU': 'Устанавливаю стартовую точку... Решение и итоговое состояние будут стёрты, если они указаны ранее', 'ru_RU': 'Устанавливаю стартовую точку... Решение и итоговое состояние будут стёрты, если они указаны ранее',
'uk': 'Встановлюю стартову точку... розв’язок та ціль будуть переписані якщо вони були задані раніше', 'uk': 'Встановлюю стартову точку... розв’язок та ціль будуть переписані якщо вони були задані раніше',
'ko': '시작 지점을 정의하세요... 만약 그것이 먼저 정의된다면 해답과 목표가 덮어씌워질 것입니다.', 'ko': '시작 지점을 정의하세요... 만약 그것이 먼저 정의된다면 해답과 목표가 덮어씌워질 것입니다.',
'vi': 'Xác định điểm bắt đầu ... Các giải pháp và mục tiêu sẽ được thay thế nếu đã được chỉ định từ trước.' 'vi': 'Xác định điểm bắt đầu ... Các giải pháp và mục tiêu sẽ được thay thế nếu đã được chỉ định từ trước.',
'sl_SI': 'Določanje začetne točke ... rešitev in cilj bosta povožena, če sta bila prej že podana'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'help-vague-level': { 'help-vague-level': {
@ -1304,7 +1381,8 @@ exports.strings = {
'ru_RU': 'При прохождении уровня доступны несколько видов помощи. Определить что нужно: "help level" чтобы получить информацию об этом уровне, "help general" для того, чтобы узнать о игре в целом или "objective" чтобы узнать что надо сделать в этом уровне.', 'ru_RU': 'При прохождении уровня доступны несколько видов помощи. Определить что нужно: "help level" чтобы получить информацию об этом уровне, "help general" для того, чтобы узнать о игре в целом или "objective" чтобы узнать что надо сделать в этом уровне.',
'uk': 'При проходженні рівня доступні декілька різновидів допомоги. Виберіть або "help level" щоб взнати більше про цей рівень, чи "help general" щоб взнати більше про Learn Git Branching, чи "objective" щоб дізнатись більше про проходження цього рівня', 'uk': 'При проходженні рівня доступні декілька різновидів допомоги. Виберіть або "help level" щоб взнати більше про цей рівень, чи "help general" щоб взнати більше про Learn Git Branching, чи "objective" щоб дізнатись більше про проходження цього рівня',
'ko': '당신은 한 레벨에 들어가 있고, 여러가지 도움 양식들을 사용할 수 있습니다. 레슨에 대해 더 알고싶을 땐 "help level", LearnGitBranching을 사용하고 싶을 땐 "help general", 또는 레벨을 어떻게 해결해야할지 알고싶을 땐 "objective"를 선택하세요.', 'ko': '당신은 한 레벨에 들어가 있고, 여러가지 도움 양식들을 사용할 수 있습니다. 레슨에 대해 더 알고싶을 땐 "help level", LearnGitBranching을 사용하고 싶을 땐 "help general", 또는 레벨을 어떻게 해결해야할지 알고싶을 땐 "objective"를 선택하세요.',
'vi': 'Bạn đang ở trong một cấp độ, nên sẽ có nhiều hỗ trợ. Vui lòng dùng "help level" để biết thêm về bài học này, "help general" để sử dụng HọcNhánhGit, hoặc "objective" để biết cách giải quyết bài tập.' 'vi': 'Bạn đang ở trong một cấp độ, nên sẽ có nhiều hỗ trợ. Vui lòng dùng "help level" để biết thêm về bài học này, "help general" để sử dụng HọcNhánhGit, hoặc "objective" để biết cách giải quyết bài tập.',
'sl_SI': 'Si v stopnji, zato so na voljo različne pomoči. Prosim izberi "help level" za več informacij o tej lekciji, "help general" za splošna navodila ali "objective" da izveš kako rešiti to stopnjo'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'help-vague-builder': { 'help-vague-builder': {
@ -1321,7 +1399,8 @@ exports.strings = {
'ru_RU': 'При создании уровней доступны несколько видов помощи. Выбери между "help general" и "help builder"', 'ru_RU': 'При создании уровней доступны несколько видов помощи. Выбери между "help general" и "help builder"',
'uk': 'При створенні рівня доступні декілька різновидів допомоги. Виберіть або "help general", чи "help builder"', 'uk': 'При створенні рівня доступні декілька різновидів допомоги. Виберіть або "help general", чи "help builder"',
'ko': '당신은 한 레벨 생성기에 들어가 있고, 여러가지 도움 양식들을 사용할 수 있습니다. "help general" 또는 "help builder"를 선택해주세요.', 'ko': '당신은 한 레벨 생성기에 들어가 있고, 여러가지 도움 양식들을 사용할 수 있습니다. "help general" 또는 "help builder"를 선택해주세요.',
'vi': 'Bạn đang tạo một cấp độ, nên sẽ có nhiều trợ giúp có sẵn. Vui lòng chọn "help general" hoặc "help builder".' 'vi': 'Bạn đang tạo một cấp độ, nên sẽ có nhiều trợ giúp có sẵn. Vui lòng chọn "help general" hoặc "help builder".',
'sl_SI': 'Si v graditelju stopenj, zato so na voljo različne pomoči. Prosim izberi "help general" ali "help builder"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'show-goal-button': { 'show-goal-button': {
@ -1339,7 +1418,8 @@ exports.strings = {
'ru_RU': 'Цель уровня', 'ru_RU': 'Цель уровня',
'uk': 'Ціль рівня', 'uk': 'Ціль рівня',
'ko': '목표 보기', 'ko': '목표 보기',
'vi': 'Hiển thị mục tiêu' 'vi': 'Hiển thị mục tiêu',
'sl_SI': 'Prikaži Cilj'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hide-goal-button': { 'hide-goal-button': {
@ -1357,7 +1437,8 @@ exports.strings = {
'ru_RU': 'Спрятать цель', 'ru_RU': 'Спрятать цель',
'uk': 'Сховати ціль', 'uk': 'Сховати ціль',
'ko': '목표 숨기기', 'ko': '목표 숨기기',
'vi': 'Ẩn mục tiêu' 'vi': 'Ẩn mục tiêu',
'sl_SI': 'Skrij Cilj'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'objective-button': { 'objective-button': {
@ -1371,7 +1452,8 @@ exports.strings = {
'ru_RU': 'Задача', 'ru_RU': 'Задача',
'uk': 'Задача', 'uk': 'Задача',
'ko': '목적', 'ko': '목적',
'vi': 'Chỉ dẫn' 'vi': 'Chỉ dẫn',
'sl_SI': 'Navodila'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'git-demonstration-title': { 'git-demonstration-title': {
@ -1385,7 +1467,8 @@ exports.strings = {
'ru_RU': 'Git демо', 'ru_RU': 'Git демо',
'uk' : 'Git демо', 'uk' : 'Git демо',
'ko' : 'Git 데모', 'ko' : 'Git 데모',
'vi' : 'Trình diễn Git' 'vi' : 'Trình diễn Git',
'sl_SI': 'Git Predstavitev'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'goal-to-reach': { 'goal-to-reach': {
@ -1403,7 +1486,8 @@ exports.strings = {
'ru_RU': 'Цель уровня', 'ru_RU': 'Цель уровня',
'uk': 'Ціль рівня', 'uk': 'Ціль рівня',
'ko': '목표', 'ko': '목표',
'vi': 'Mục tiêu cần đạt' 'vi': 'Mục tiêu cần đạt',
'sl_SI': 'Končni Cilj'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'goal-only-master': { 'goal-only-master': {
@ -1421,7 +1505,8 @@ exports.strings = {
'ru_RU': '<span class="fwber">Важно:</span> В этом уровне проверяется только ветка master. Остальные ветки просто для наглядности. Как обычно, можно скрыть это сообщение при помощи "hide goal"', 'ru_RU': '<span class="fwber">Важно:</span> В этом уровне проверяется только ветка master. Остальные ветки просто для наглядности. Как обычно, можно скрыть это сообщение при помощи "hide goal"',
'uk': '<span class="fwber">Важливо:</span> В цьому рівні буде перевірятися тільки гілка master. Решта гілок тільки для наглядності (показані пунктиром нижче). Як завжди, можна сховати цей діалог за допомогою "hide goal"', 'uk': '<span class="fwber">Важливо:</span> В цьому рівні буде перевірятися тільки гілка master. Решта гілок тільки для наглядності (показані пунктиром нижче). Як завжди, можна сховати цей діалог за допомогою "hide goal"',
'ko': '<span class="fwber">Note:</span> 이 레벨에선 오직 마스터 브랜치만이 검사될 것입니다.. 다른 브랜치들은 단순히 참고용입니다. (아래에 대시 라벨로 보여집니다.). "hide goal"을 사용하여 언제든지 창을 숨길 수 있습니다.', 'ko': '<span class="fwber">Note:</span> 이 레벨에선 오직 마스터 브랜치만이 검사될 것입니다.. 다른 브랜치들은 단순히 참고용입니다. (아래에 대시 라벨로 보여집니다.). "hide goal"을 사용하여 언제든지 창을 숨길 수 있습니다.',
'vi': '<span class="fwber">Chú ý:</span> Ở cấp độ này chỉ nhánh master bị kiểm tra. Các nhánh khác chỉ dùng để tham chiếu(có dấu - ở nhãn). Như thường lệ, bạn có thể ẩn mục tiêu bằng "hide goal".' 'vi': '<span class="fwber">Chú ý:</span> Ở cấp độ này chỉ nhánh master bị kiểm tra. Các nhánh khác chỉ dùng để tham chiếu(có dấu - ở nhãn). Như thường lệ, bạn có thể ẩn mục tiêu bằng "hide goal".',
'sl_SI': '<span class="fwber">Opomba:</span> Samo master branch bo preverjen v tej stopnji. Ostali branchi so zgolj za referenco (prikazani kot črtaste oznake spodaj). Kot ponavadi, lahko skriješ dialog z "hide goal"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hide-goal': { 'hide-goal': {
@ -1439,7 +1524,8 @@ exports.strings = {
'ru_RU': 'Можно скрыть это окно при помощи "hide goal"', 'ru_RU': 'Можно скрыть это окно при помощи "hide goal"',
'uk': 'Можна сховати це вікно за допомогою "hide goal"', 'uk': 'Можна сховати це вікно за допомогою "hide goal"',
'ko': '"hide goal"을 사용하여 이 창을 숨길 수 있습니다.', 'ko': '"hide goal"을 사용하여 이 창을 숨길 수 있습니다.',
'vi': 'Bạn có thể ẩn cửa sổ này với "hide goal".' 'vi': 'Bạn có thể ẩn cửa sổ này với "hide goal".',
'sl_SI': 'To okno lahko skriješ z "hide goal"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'hide-start': { 'hide-start': {
@ -1457,7 +1543,8 @@ exports.strings = {
'ru_RU': 'Можно скрыть это окно при помощи "hide start"', 'ru_RU': 'Можно скрыть это окно при помощи "hide start"',
'uk': 'Можна сховати це вікно за допомогою "hide start"', 'uk': 'Можна сховати це вікно за допомогою "hide start"',
'ko': '"hide start"를 사용하여 이 창을 숨길 수 있습니다.', 'ko': '"hide start"를 사용하여 이 창을 숨길 수 있습니다.',
'vi': 'Bạn có thể ẩn cửa sổ này với "hide start".' 'vi': 'Bạn có thể ẩn cửa sổ này với "hide start".',
'sl_SI': 'To okno lahko skriješ z "hide start"'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'level-builder': { 'level-builder': {
@ -1475,7 +1562,8 @@ exports.strings = {
'ru_RU': 'Редактор уровней', 'ru_RU': 'Редактор уровней',
'uk': 'Редактор рівнів', 'uk': 'Редактор рівнів',
'ko': '레벨 생성기', 'ko': '레벨 생성기',
'vi': 'Trình tạo câp độ' 'vi': 'Trình tạo câp độ',
'sl_SI': 'Graditelj Stopenj'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'no-start-dialog': { 'no-start-dialog': {
@ -1493,7 +1581,8 @@ exports.strings = {
'ru_RU': 'Нет стартового сообщение для уровня!', 'ru_RU': 'Нет стартового сообщение для уровня!',
'uk': 'Немає початкового діалогу для цього рівня!', 'uk': 'Немає початкового діалогу для цього рівня!',
'ko': '이 레벨을 위한 시작 대화창이 없습니다.', 'ko': '이 레벨을 위한 시작 대화창이 없습니다.',
'vi': 'Cấp độ này không được giới thiệu.' 'vi': 'Cấp độ này không được giới thiệu.',
'sl_SI': 'Ni začetnega dialoga za prikaz te stopnje!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'no-hint': { 'no-hint': {
@ -1511,7 +1600,8 @@ exports.strings = {
'ru_RU': "Милый мой, хороший, догадайся сам :-/ Подсказка не создана...", 'ru_RU': "Милый мой, хороший, догадайся сам :-/ Подсказка не создана...",
'uk': 'Хм, схоже для цього рівня немає підказки :-/', 'uk': 'Хм, схоже для цього рівня немає підказки :-/',
'ko': '흠, 이 레벨을 위한 힌트가 없어보이는군요.', 'ko': '흠, 이 레벨을 위한 힌트가 없어보이는군요.',
'vi': 'Hmmm, có vẻ cấp độ này không có gợi ý rồi. :-/' 'vi': 'Hmmm, có vẻ cấp độ này không có gợi ý rồi. :-/',
'sl_SI': 'Hmm, izgleda da ni namiga za to stopnjo :-/'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'error-untranslated-key': { 'error-untranslated-key': {
@ -1529,7 +1619,8 @@ exports.strings = {
'ru_RU': 'Перевода для {key} не создано :( Пожалуйста, предложи перевод на GitHub', 'ru_RU': 'Перевода для {key} не создано :( Пожалуйста, предложи перевод на GitHub',
'uk': 'Немає перекладу для {key} :( Будь-ласка, запропонуй переклад на Github', 'uk': 'Немає перекладу для {key} :( Будь-ласка, запропонуй переклад на Github',
'ko': '{key}를 위한 번역은 아직 존재하지 않습니다 :( 번역에 참여해주세요!', 'ko': '{key}를 위한 번역은 아직 존재하지 않습니다 :( 번역에 참여해주세요!',
'vi': 'Bản dịch cho {key} không có rồi :( Nếu có thể thì hãy lên dự án của chúng tôi ở Github để cung cấp bản dịch!' 'vi': 'Bản dịch cho {key} không có rồi :( Nếu có thể thì hãy lên dự án của chúng tôi ở Github để cung cấp bản dịch!',
'sl_SI': 'Prevod za {key} še ne obstaja :( Skoči na github in dodaj prevod!'
}, },
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
'error-untranslated': { 'error-untranslated': {
@ -1547,6 +1638,7 @@ exports.strings = {
'ru_RU': 'Для этого сообщения нет перевода :( Пожалуйста, предложи перевод на GitHub', 'ru_RU': 'Для этого сообщения нет перевода :( Пожалуйста, предложи перевод на GitHub',
'uk': 'Для цього повідомлення ще немає перекладу :( Будь-ласка, запропонуй переклад на Github', 'uk': 'Для цього повідомлення ще немає перекладу :( Будь-ласка, запропонуй переклад на Github',
'ko': '이 대화창이나 텍스트는 아직 번역되지 않았습니다. :( 번역에 참여해주세요!', 'ko': '이 대화창이나 텍스트는 아직 번역되지 않았습니다. :( 번역에 참여해주세요!',
'vi': 'Hội thoại hoặc văn bản này chưa được dịch ra ngôn ngữ của bạn rồi. :( Hãy lên Github để cung cấp bản dịch!' 'vi': 'Hội thoại hoặc văn bản này chưa được dịch ra ngôn ngữ của bạn rồi. :( Hãy lên Github để cung cấp bản dịch!',
'sl_SI': 'Ta dialog ali tekst še ni preveden za tvoj jezik :( Skoči na github in dodaj prevod!'
} }
}; };

View file

@ -113,7 +113,14 @@ class IntlHelperBarView extends React.Component{
onClick: function() { onClick: function() {
this.props.onExit(); this.props.onExit();
}.bind(this) }.bind(this)
}]; }, {
text: 'Slovensko',
testID: 'slovenian',
onClick: function() {
this.fireCommand('locale sl_SI; levels');
}.bind(this)
}
];
} }
}; };

View file

@ -6,7 +6,7 @@ var util = require('../util');
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var ActionTypes = AppConstants.ActionTypes; var ActionTypes = AppConstants.ActionTypes;
var DEFAULT_LOCALE = 'en_US'; var DEFAULT_LOCALE = 'sl';
// resolve the messy mapping between browser language // resolve the messy mapping between browser language
// and our supported locales // and our supported locales
@ -21,14 +21,16 @@ var langLocaleMap = {
pt: 'pt_BR', pt: 'pt_BR',
ru: 'ru_RU', ru: 'ru_RU',
uk: 'uk', uk: 'uk',
vi: 'vi' vi: 'vi',
sl: 'sl_SI'
}; };
var headerLocaleMap = { var headerLocaleMap = {
'zh-CN': 'zh_CN', 'zh-CN': 'zh_CN',
'zh-TW': 'zh_TW', 'zh-TW': 'zh_TW',
'pt-BR': 'pt_BR', 'pt-BR': 'pt_BR',
'es-ES': 'es_ES' 'es-ES': 'es_ES',
'sl-SI': 'sl_SI'
}; };
var supportedLocalesList = Object.values(langLocaleMap) var supportedLocalesList = Object.values(langLocaleMap)

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Здоровая семья, или несколько родителей", "ru_RU": "Здоровая семья, или несколько родителей",
"ko" : "다수의 부모", "ko" : "다수의 부모",
'uk': 'Декілька батьків', 'uk': 'Декілька батьків',
'vi': 'Nhiều cha lắm mẹ' 'vi': 'Nhiều cha lắm mẹ',
'sl_SI': 'Več Staršev'
}, },
"hint": { "hint": {
"en_US": "Use `git branch bugWork` with a target commit to create the missing reference.", "en_US": "Use `git branch bugWork` with a target commit to create the missing reference.",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "`git branch bugWork` на нужном коммите поможет создать нужную ссылку.", "ru_RU": "`git branch bugWork` на нужном коммите поможет создать нужную ссылку.",
"ko" : "`git branch bugWork`를 대상 커밋과 함께 사용해서 부족한 참조를 만드세요", "ko" : "`git branch bugWork`를 대상 커밋과 함께 사용해서 부족한 참조를 만드세요",
'uk': 'Використай "git branch bugWork" на потрібному коміті щоб створити потрібне посилання', 'uk': 'Використай "git branch bugWork" на потрібному коміті щоб створити потрібне посилання',
'vi': 'Dùng lệnh `git branch bugWork` để tạo nhánh tại vị trí chỉ định' 'vi': 'Dùng lệnh `git branch bugWork` để tạo nhánh tại vị trí chỉ định',
'sl_SI': 'Uporabi `git branch bugWork` s ciljnim commitom za ustvarjanje manjkajoče reference.'
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -1253,6 +1255,93 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Določanje Staršev",
"",
"Tako kot `~` modifikator, tudi `^` modifikator sprejme opcijsko število na koncu.",
"",
"Raje kot specificiranje število generacij, za katere se hočemo premakniti nazaj (kot pri `~`), modifikator `^` pove kateremu staršu oz. njegovi referenci naj sledi iz commita merga. Zapomni si, da imajo commiti mergev več staršev, zato je pot nejasna.",
"",
"Git bo ponavadi sledil \"prvemu\" staršu navzgor po commitu merga, ampak določitev števila s `^` spremeni privzeto obnašanje.",
"",
"Dovolj govorjenja, poglejmo stvar v akciji.",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Tukaj imamo commit merga. Če checkoutamo `master^` brez modifikatorjev, bomo sledili prvem staršu po commitu merga. ",
"",
"(*V naši vizualizaciji, je postavljen prvi starš direktno nad commitom mergea)"
],
"afterMarkdowns": [
"Enostavno -- Tega smo vsi navajeni."
],
"command": "git checkout master^",
"beforeCommand": "git checkout HEAD^; git commit; git checkout master; git merge C2"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Sedaj pa poizkusimo določiti raje drugega starša ..."
],
"afterMarkdowns": [
"Vidiš? Sledili smo drugemu staršu navzgor."
],
"command": "git checkout master^2",
"beforeCommand": "git checkout HEAD^; git commit; git checkout master; git merge C2"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Modifikatorja `^` in `~` naredita sprehajanje po drevesu zelo učinkovito:"
],
"afterMarkdowns": [
"Bliskovito!"
],
"command": "git checkout HEAD~; git checkout HEAD^2; git checkout HEAD~2",
"beforeCommand": "git commit; git checkout C0; git commit; git commit; git commit; git checkout master; git merge C5; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Še bolj noro, te modifikatorji so lahko povezani skupaj! Poglej to:"
],
"afterMarkdowns": [
"Isto gibanje kot prej, ampak vse z enim ukazom."
],
"command": "git checkout HEAD~^2~2",
"beforeCommand": "git commit; git checkout C0; git commit; git commit; git commit; git checkout master; git merge C5; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Preizkusi v praksi",
"",
"Za dokončanje te stopnje, ustvari nov brench na določeni destinaciji.",
"",
"Seveda bi bilo lažje izbrati commit direktno (npr. s `C6`), ampak te izzivam, da namesto tega poizkusiš z modifikatorji o katerih smo govorili!"
]
}
}
]
} }
} }
}; };

View file

@ -68,7 +68,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ko' : 'git 기본', 'ko' : 'git 기본',
'ru_RU': 'Введение', 'ru_RU': 'Введение',
'uk' : 'Вступ', 'uk' : 'Вступ',
'vi' : 'Giới thiệu chuỗi luyện tập' 'vi' : 'Giới thiệu chuỗi luyện tập',
'sl_SI': 'Uvodno Zaporedje'
}, },
about: { about: {
'en_US': 'A nicely paced introduction to the majority of git commands', 'en_US': 'A nicely paced introduction to the majority of git commands',
@ -84,7 +85,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ko' : 'git의 주요 명령어를 깔끔하게 알려드립니다', 'ko' : 'git의 주요 명령어를 깔끔하게 알려드립니다',
'ru_RU': 'Хорошо подобранное введение в основные команды git', 'ru_RU': 'Хорошо подобранное введение в основные команды git',
'uk' : 'Гарно підібране введення в основні команди git', 'uk' : 'Гарно підібране введення в основні команди git',
'vi' : 'Từng bước làm quen với phần lớn lệnh điều khiển git' 'vi' : 'Từng bước làm quen với phần lớn lệnh điều khiển git',
'sl_SI': 'Prijeten uvod v git ukaze'
} }
}, },
rampup: { rampup: {
@ -102,7 +104,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Едем дальше', 'ru_RU': 'Едем дальше',
'uk' : 'Їдемо далі', 'uk' : 'Їдемо далі',
'ko' : '다음 단계로', 'ko' : '다음 단계로',
'vi' : 'Tăng tốc' 'vi' : 'Tăng tốc',
'sl_SI': 'Prva Stopnička'
}, },
about: { about: {
'en_US': 'The next serving of 100% git awesomes-ness. Hope you\'re hungry', 'en_US': 'The next serving of 100% git awesomes-ness. Hope you\'re hungry',
@ -118,7 +121,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Следующая порция абсолютной git-крутотенюшки. Проголодались?', 'ru_RU': 'Следующая порция абсолютной git-крутотенюшки. Проголодались?',
'uk' : 'Наступна порція абсолютної git-дивини. Сподіваюсь, ви зголодніли', 'uk' : 'Наступна порція абсолютної git-дивини. Сподіваюсь, ви зголодніли',
'ko' : 'git은 아주 멋져요. 왜 멋진지 알려드립니다', 'ko' : 'git은 아주 멋져요. 왜 멋진지 알려드립니다',
'vi' : 'Tận hưởng khẩu phần tuyệt hảo của git. Hi vọng bạn còn đói.' 'vi' : 'Tận hưởng khẩu phần tuyệt hảo của git. Hi vọng bạn còn đói.',
'sl_SI': 'Naslednja porcija git izjemnosti. Upam, da si lačen'
} }
}, },
remote: { remote: {
@ -137,7 +141,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Push & Pull - удалённые репозитории в Git!', 'ru_RU': 'Push & Pull - удалённые репозитории в Git!',
'uk' : 'Push & Pull -- віддалені репозиторії в Git!', 'uk' : 'Push & Pull -- віддалені репозиторії в Git!',
'ko' : 'Push & Pull -- Git 원격 저장소!', 'ko' : 'Push & Pull -- Git 원격 저장소!',
'vi' : 'Push & Pull -- Tác động git từ xa!' 'vi' : 'Push & Pull -- Tác động git từ xa!',
'sl_SI': 'Push & Pull -- Oddaljeni Git'
}, },
about: { about: {
'en_US': 'Time to share your 1\'s and 0\'s kids; coding just got social', 'en_US': 'Time to share your 1\'s and 0\'s kids; coding just got social',
@ -153,7 +158,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Настало время поделиться своими единичками и нулями. Время коллективного программирования', 'ru_RU': 'Настало время поделиться своими единичками и нулями. Время коллективного программирования',
'uk' : 'Настав час поділитися своїми нулями та одиничками; соціальне програмування', 'uk' : 'Настав час поділитися своїми нулями та одиничками; соціальне програмування',
'ko' : '내 코드를 공개할 때가 되었습니다. 코드를 공개해봅시다!', 'ko' : '내 코드를 공개할 때가 되었습니다. 코드를 공개해봅시다!',
'vi' : 'Chia sẻ đứa con tinh thần \'0\' và \'1\' của bạn; mã đã đến với cộng đồng' 'vi' : 'Chia sẻ đứa con tinh thần \'0\' và \'1\' của bạn; mã đã đến với cộng đồng',
'sl_SI': 'Čas za deljenje tvojih 1 in 0; kodiranje je pravkar postalo socialno'
} }
}, },
remoteAdvanced: { remoteAdvanced: {
@ -172,7 +178,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Через origin к звёздам. Продвинутое использование Git Remotes', 'ru_RU': 'Через origin к звёздам. Продвинутое использование Git Remotes',
'uk' : 'Через origin до зірок. Прогресивне використання Git Remotes', 'uk' : 'Через origin до зірок. Прогресивне використання Git Remotes',
'ko' : '"origin"그 너머로 -- 고급 Git 원격 저장소', 'ko' : '"origin"그 너머로 -- 고급 Git 원격 저장소',
'vi' : 'Về với cội nguồn và vươn xa hơn -- nâng cao về các git remote' 'vi' : 'Về với cội nguồn và vươn xa hơn -- nâng cao về các git remote',
'sl_SI': 'Do Origina In Naprej -- Napredni Oddaljeni Git'
}, },
about: { about: {
'en_US': 'And you thought being a benevolent dictator would be fun...', 'en_US': 'And you thought being a benevolent dictator would be fun...',
@ -188,7 +195,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Весело было быть всесильным мудрым правителем...', 'ru_RU': 'Весело было быть всесильным мудрым правителем...',
'uk' : 'А ти думав, що бути всесильним диктатором весело...', 'uk' : 'А ти думав, що бути всесильним диктатором весело...',
'ko' : '자비로운 독재자가 되는게 재밌을 줄 알았겠지만...', 'ko' : '자비로운 독재자가 되는게 재밌을 줄 알았겠지만...',
'vi' : 'Và bạn nghĩ làm một kẻ độc tài nhân từ thì sẽ vui ...' 'vi' : 'Và bạn nghĩ làm một kẻ độc tài nhân từ thì sẽ vui ...',
'sl_SI': 'In ti si mislil, da je biti dobronamerni diktator zabavno ...'
} }
}, },
move: { move: {
@ -206,7 +214,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_TW': '調整提交順序', 'zh_TW': '調整提交順序',
'ru_RU': 'Перемещаем труды туда-сюда', 'ru_RU': 'Перемещаем труды туда-сюда',
'uk' : 'Переміщуємо роботу туди-сюди', 'uk' : 'Переміщуємо роботу туди-сюди',
'vi' : 'Điều chỉnh vị trí' 'vi' : 'Điều chỉnh vị trí',
'sl_SI': 'Premikanje Dela Naokrog'
}, },
about: { about: {
'en_US': '"Git" comfortable with modifying the source tree :P', 'en_US': '"Git" comfortable with modifying the source tree :P',
@ -222,7 +231,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_TW': '自由修改提交樹', 'zh_TW': '自由修改提交樹',
'ru_RU': 'Не стесняйтесь менять историю', 'ru_RU': 'Не стесняйтесь менять историю',
'uk' : 'Не соромимось змінювати історію', 'uk' : 'Не соромимось змінювати історію',
'vi' : 'Chỉnh sửa cây lịch sử Git không hề khó' 'vi' : 'Chỉnh sửa cây lịch sử Git không hề khó',
'sl_SI': 'Spretno "Git" premikanje po drevesu :P'
} }
}, },
mixed: { mixed: {
@ -240,7 +250,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_TW': '活用 git 的指令', 'zh_TW': '活用 git 的指令',
'ru_RU': 'Сборная солянка', 'ru_RU': 'Сборная солянка',
'uk' : 'Всяке', 'uk' : 'Всяке',
'vi' : 'Những trò mèo đáng đồng tiền bát gạo' 'vi' : 'Những trò mèo đáng đồng tiền bát gạo',
'sl_SI': 'Mešana vreča'
}, },
about: { about: {
'en_US': 'A mixed bag of Git techniques, tricks, and tips', 'en_US': 'A mixed bag of Git techniques, tricks, and tips',
@ -256,7 +267,8 @@ var sequenceInfo = exports.sequenceInfo = {
'zh_TW': 'git 的技術,招數與技巧', 'zh_TW': 'git 的技術,招數與技巧',
'ru_RU': 'Ассорти из приёмов работы с Git, хитростей и советов', 'ru_RU': 'Ассорти из приёмов работы с Git, хитростей и советов',
'uk' : 'Різні прийоми роботи з Git, хитрощі та поради', 'uk' : 'Різні прийоми роботи з Git, хитрощі та поради',
'vi' : 'Các kỹ thuật, bí quyết, và mẹo vặt hữu ích' 'vi' : 'Các kỹ thuật, bí quyết, và mẹo vặt hữu ích',
'sl_SI': 'Mešana vreča Git tehnik, trikov in nasvetov'
} }
}, },
advanced: { advanced: {
@ -274,7 +286,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Продвинутый уровень', 'ru_RU': 'Продвинутый уровень',
'uk' : 'Досвідчений рівень', 'uk' : 'Досвідчений рівень',
'ko' : '고급 문제', 'ko' : '고급 문제',
'vi' : 'Các chủ đề nâng cao' 'vi' : 'Các chủ đề nâng cao',
'sl_SI': 'Napredne Teme'
}, },
about: { about: {
'en_US': 'For the truly brave!', 'en_US': 'For the truly brave!',
@ -290,7 +303,8 @@ var sequenceInfo = exports.sequenceInfo = {
'ru_RU': 'Если ты смелый, ловкий, умелый потренируйся тут', 'ru_RU': 'Если ты смелый, ловкий, умелый потренируйся тут',
'uk' : 'Для хоробрих', 'uk' : 'Для хоробрих',
'ko' : '용기있는 도전자를 위해 준비한 문제입니다', 'ko' : '용기있는 도전자를 위해 준비한 문제입니다',
'vi' : 'Mạnh mẽ lên!' 'vi' : 'Mạnh mẽ lên!',
'sl_SI': 'Za resnično pogumne!'
} }
} }
}; };

View file

@ -15,7 +15,8 @@ exports.level = {
"zh_TW": "建立 git branch", "zh_TW": "建立 git branch",
"ru_RU": "Ветвление в Git", "ru_RU": "Ветвление в Git",
"uk": "Розгалуження в Git", "uk": "Розгалуження в Git",
"vi": "Rẽ nhánh với Git" "vi": "Rẽ nhánh với Git",
"sl_SI": "Branchanje v Gitu"
}, },
"hint": { "hint": {
"en_US": "Make a new branch with \"git branch <branch-name>\" and check it out with \"git checkout <branch-name>\"", "en_US": "Make a new branch with \"git branch <branch-name>\" and check it out with \"git checkout <branch-name>\"",
@ -32,6 +33,7 @@ exports.level = {
"ru_RU": "Создай новую ветку при помощи \"git branch [name]\" и перейди на неё при помощи \"git checkout [name]\"", "ru_RU": "Создай новую ветку при помощи \"git branch [name]\" и перейди на неё при помощи \"git checkout [name]\"",
"uk": "Створи нову гілку за допомогою \"git branch [ім’я]\" й перейди на неї за допомогою \"git checkout [ім’я]\"", "uk": "Створи нову гілку за допомогою \"git branch [ім’я]\" й перейди на неї за допомогою \"git checkout [ім’я]\"",
"vi": "Tạo một nhánh mới với lệnh \"git branch <ten-nhanh>\" và chuyển sang đó với lệnh \"git checkout <ten-nhanh>\"", "vi": "Tạo một nhánh mới với lệnh \"git branch <ten-nhanh>\" và chuyển sang đó với lệnh \"git checkout <ten-nhanh>\"",
"sl_SI": "Naredi nov branch z \"git branch <branch-name>\" in ga checkoutaj z \"git checkout <branch-name>\""
}, },
"disabledMap": { "disabledMap": {
"git revert": true "git revert": true
@ -1141,5 +1143,87 @@ exports.level = {
} }
] ]
}, },
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Branches",
"",
"Tudi branchi v Gitu so izredno majhni. To so preprosto kazalci na določen commit -- nič več. Zato veliko Git navdušencev ponavlja:",
"",
"```",
"branchaj zgodaj in branchaj pogosto",
"```",
"",
"Ker ustvarjanje večih branchev ne porablja dodatnega spomina ali prostora, je lažje logično razdeliti svoje delo kot imeti velike težke branche.",
"",
"Ko začnemo mešati branche in commite, bomo videli kako se te dve funkcionalnosti dopolnjujeta. Za zdaj si zapomni samo to, da branch ubistvu pomeni \"Hočem vključiti delo tega commita in vseh starševskih commitov.\""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo kako branchi zgledajo v praksi.",
"",
"Tu bomo ustvarili nov branch imenovan `newImage`"
],
"afterMarkdowns": [
"Tako, to je vsa umetnost branchanja! Branch poimenovan `newImage` se sedaj nanaša na commit `C1`"
],
"command": "git branch newImage",
"beforeCommand": ""
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poizkusimo dodati nekaj dela na ta nov branch. Pristisni gumb spodaj"
],
"afterMarkdowns": [
"O ne! `master` branch se je premaknil ampak `newImage` branch se pa ni! To je zato, ker nismo bili \"na\" novem branchu, kot smo lahko videli z označeno zvezdico (*) na `master` branchu"
],
"command": "git commit",
"beforeCommand": "git branch newImage"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Povejmo gitu da želimo checkoutat branch z",
"",
"```",
"git checkout <name>",
"```",
"",
"To nas bo postavilo na nov branch pred commitanjem sprememb"
],
"afterMarkdowns": [
"Tako je! Naše sprememebe so zabeležene na novem branchu"
],
"command": "git checkout newImage; git commit",
"beforeCommand": "git branch newImage"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok! Pripravljen si da začneš branchat. Ko se to okno zapre, ",
"ustvari nov branch z imenom `bugFix` in preklopi na ta branch.",
"",
"Mimogrede, tu je bližnjica: če hočeš narediti nov ",
"branch IN ga hkrati checkoutati, lahko enostavno ",
"natipkaš `git checkout -b [yourbranchname]`."
]
}
}
]
}
} }
}; };

View file

@ -13,7 +13,8 @@ exports.level = {
'zh_TW': '介紹 git commit ', 'zh_TW': '介紹 git commit ',
'ru_RU': 'Знакомство с Git Commit ', 'ru_RU': 'Знакомство с Git Commit ',
'uk': 'Знайомство з комітами в Git', 'uk': 'Знайомство з комітами в Git',
'vi': 'Giới thiệu về Git Commit' 'vi': 'Giới thiệu về Git Commit',
'sl_SI': "Uvod v 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\"}}", "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", "solutionCommand": "git commit;git commit",
@ -32,7 +33,8 @@ exports.level = {
"ko": "'git commit'이라고 두 번 치세요!", "ko": "'git commit'이라고 두 번 치세요!",
"ru_RU": "Попробуй дважды выполнить команду 'git commit' ;)", "ru_RU": "Попробуй дважды выполнить команду 'git commit' ;)",
"uk": "Спробуй двічі виконати команду 'git commit' ;)", "uk": "Спробуй двічі виконати команду 'git commit' ;)",
'vi': "Đơn giản là cứ gõ 'git commit' 2 lần" 'vi': "Đơn giản là cứ gõ 'git commit' 2 lần",
'sl_SI': "Preprosto dvakrat vpiši 'git commit' in zaključi!"
}, },
"disabledMap": { "disabledMap": {
"git revert": true "git revert": true
@ -635,6 +637,48 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Commits",
"Commit v git repozitoriju zabeleži stanje vseh datotek v tvoji mapi. Deluje kot tak velik 'Izreži in Prilepi', vendar še bolje!",
"",
"Git hoče commite ohraniti majhne kot se da, tako da ne skopira vsakič kar vseh datotek ob commitu. Lahko (kadar je možno) stisne commit le kot množico sprememb oziroma kot \"delto\" sprememb med eno in drugo različico v repozitoriju.",
"",
"Git vodi tudi zgodovino o tem, kdaj je bil kateri commit narejen. Zato ima večina commitov nad seboj svoje prednike -- to je v vizualizaciji predstavljeno s puščicami. Vzdrževanje zgodovine je uporabno za vse, ki delajo na projektu!",
"",
"Veliko je za dojeti na začetku ampak za zdaj si lahko predstavljaš commite kot posnetek projekta v določenem času. Commiti so zelo majhni in prehajanje med njimi je noro hitro!"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo kako to izgleda v praksi. Na desni imamo vizualizacijo (majhnega) git repozitorija. Trenutno imamo dva commita -- prvi začetni commit, `C0`, in še en commit za tem, `C1`, ki ima lahko pomembne spremembe.",
"",
"Pritisni gumb spodaj, da narediš nov commit"
],
"afterMarkdowns": [
"Tako ja! Super. Pravkar smo naredili spremembe v repozitoriju in jih shranili kot commit. Commit, ki smo ga naredili ima starša, `C1`, ki nam pove iz katerega commita smo izhajali."
],
"command": "git commit",
"beforeCommand": ""
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Čas je, da poizkusiš sam! Ko se to okno zapre, naredi dva commita, da dokončaš to stopnjo."
]
}
}
]
} }
} }
}; };

View file

@ -15,7 +15,8 @@ exports.level = {
"zh_TW": "git 中的 merge", "zh_TW": "git 中的 merge",
"ru_RU": "Слияния веток в Git", "ru_RU": "Слияния веток в Git",
"uk": "Злиття гілок в Git", "uk": "Злиття гілок в Git",
"vi": "Gộp nhánh trong Git" "vi": "Gộp nhánh trong Git",
"sl_SI": "Merganje v Gitu"
}, },
"hint": { "hint": {
"en_US": "Remember to commit in the order specified (bugFix before master)", "en_US": "Remember to commit in the order specified (bugFix before master)",
@ -31,7 +32,8 @@ exports.level = {
"ko": "말씀드린 순서대로 커밋해주세요 (bugFix에 먼저 커밋하고 master에 커밋)", "ko": "말씀드린 순서대로 커밋해주세요 (bugFix에 먼저 커밋하고 master에 커밋)",
"ru_RU": "Не забудь делать коммиты в правильном порядке (сначала bugFix, потом master)", "ru_RU": "Не забудь делать коммиты в правильном порядке (сначала bugFix, потом master)",
"uk": "Не забудь робити коміти в правильному порядку (спочатку bugFix, а вже потім master)", "uk": "Не забудь робити коміти в правильному порядку (спочатку bugFix, а вже потім master)",
"vi": "Nhớ là commit theo đúng thứ tự(bugFix trước master)" "vi": "Nhớ là commit theo đúng thứ tự(bugFix trước master)",
"sl_SI": 'Zapomni si, da je potrebno commitati v pravilnem vrstnem redu (bugfix pred master)'
}, },
"disabledMap": { "disabledMap": {
"git revert": true "git revert": true
@ -1002,6 +1004,75 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Branchi in Merganje",
"",
"Odlično! Sedaj znamo commitati in branchati. Naslednja stvar je da se naučimo združiti delo iz dveh različnih branchev. To nam bo omogočilo, da naredimo branch, razvijemo novo funkcionalnost in jo združimo nazaj.",
"",
"Prva metoda za združevanje dela, ki jo bomo preučili je `git merge`. Merganje v Gitu naredi poseben commit, ki ima dva edinstvena starša. Commit z dvema staršema vbistvu pomeni \"Hočem vključiti vso delo iz tega starša tukaj in iz tega tu *ter* vse delo iz njunih staršev\"",
"",
"Vizualizacija je enostavnejša, poglejmo v naslednjem oknu"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Tu imamo dva brancha; vsak ima en commit, ki je unikaten. To pomeni, da noben branch v repozitorju nima vsega \"dela\". Pa popravimo to z mergeom.",
"",
"Sedaj bomo `mergeali` branch `bugFix` v `master`"
],
"afterMarkdowns": [
"Woah! Si videl to? `master` sedaj kaže na commit, ki ima dva starša. Če slediš puščicam po drevesu commitov iz `master`, boš našel vsak commit po poti do roota. To pomeni, da `master` sedaj vsebuje vso delo iz repozitorija.",
"",
"Tudi, vidiš kako so se barve commitov spremenile? V pomoč pri učenju, sem vključil še nekaj barvne pomoči. Vsak branch ima svojo barvo. Vsak commit spremeni barvo v kombinirano barvo vseh branchev, ki imajo ta commit.",
"",
"Torej tukaj vidimo, da je `master` branch barva zmešana v vseh commitih, `bugFix` barva pa ne. Popravimo to ..."
],
"command": "git merge bugFix",
"beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Zmergajmo sedaj `master` v `bugFix`:"
],
"afterMarkdowns": [
"Ker je `bugFix` bil prednik `master`, git ni rabil storiti ničesar; preprosto je premaknil `bugFix` v isti commit, kamer kaže `master`.",
"",
"Sedaj so vsi commiti iste barve, kar pomeni, da vsak branch vsebuje vse delo v repozitoriju!! Woohoo!"
],
"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": [
"Da zaključiš to stopnjo, naredi naslednje korake:",
"",
"* Naredi novi branch `bugFix`",
"* Checkoutaj `bugFix` branch z `git checkout bugFix`",
"* Enkrat commitaj",
"* Pojdi nazaj na `master` z `git checkout`",
"* Še enkrat commitaj",
"* Mergeaj branch `bugFix` v `master` z `git merge`",
"",
"*Pomni, vedno lahko spet pogledaš ta dialog z \"objective\"!*"
]
}
}
]
} }
} }
}; };

View file

@ -15,7 +15,8 @@ exports.level = {
"zh_TW": "介紹 rebase", "zh_TW": "介紹 rebase",
"ru_RU": "Введение в rebase", "ru_RU": "Введение в rebase",
"uk": "Знайомство з rebase", "uk": "Знайомство з rebase",
"vi": "Giới thiệu về rebase" "vi": "Giới thiệu về rebase",
'sl_SI': 'Uvod v Rebase'
}, },
"hint": { "hint": {
"en_US": "Make sure you commit from bugFix first", "en_US": "Make sure you commit from bugFix first",
@ -31,7 +32,8 @@ exports.level = {
"zh_TW": "你要先在 bugFix branch 進行 commit", "zh_TW": "你要先在 bugFix branch 進行 commit",
"ru_RU": "Убедись, что сделал коммит в ветке bugFix", "ru_RU": "Убедись, что сделал коммит в ветке bugFix",
"uk": "Впевнись, що зробив коміт в гілці bugFix", "uk": "Впевнись, що зробив коміт в гілці bugFix",
"vi": "Hãy chắc chắn rằng bạn commit từ bugFix trước" "vi": "Hãy chắc chắn rằng bạn commit từ bugFix trước",
'sl_SI': 'Prepričaj se, da si najprej commital bugFix'
}, },
"disabledMap": { "disabledMap": {
"git revert": true "git revert": true
@ -977,6 +979,72 @@ exports.level = {
} }
} }
] ]
},"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Rebase",
"",
"Drugi način kombiniranja dela med branchi je *rebasing*. Rebasing vzame listo commitov, jih \"skopira\", nato pa jih položi nekam drugam.",
"",
"To se morda sliši komplicirano, ampak prednost rebeasinga je, da se ga lahko uporabi za lepo linearno zaporedje commitov. Commit log / zgodovina repozitorija bo dosti lepša, če je dovoljeno le rebaseanje.",
"",
"Poglejmo to na primeru ..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Tu imamo spet dva brancha; trenutno izbran je bugFix branch (zvezdica)",
"",
"Radi bi prestavili naše delo iz bugFix direktno na delo iz masterja. Tako bi izgledalo, kot da sta bili ti dve funkcionalnosti razviti zaporedno, v resnici pa sta bili razviti vzporedno.",
"",
"Naredimo sedaj to z `git rebase` ukazom"
],
"afterMarkdowns": [
"Super! Sedaj je naše delo iz bugFix brancha na vrhu masterja in imamo lepo zaporedje commitov.",
"",
"Omenimo, da commit C3 še vedno obstaja nekje (v drevesu je zbledel), in C3' je vbistvu \"kopija\", ki smo jo rebaseali na master.",
"",
"Edini problem je, da tudi master ni bil posodobljen, naredimo to sedaj ..."
],
"command": "git rebase master",
"beforeCommand": "git commit; git checkout -b bugFix C1; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Sedaj smo checkoutani na `master` branchu. Pojdimo in rebaseajmo na `bugFix`..."
],
"afterMarkdowns": [
"Tako! Ker je bil `master` prednik `bugFix`, je git enostavno premaknil `master` branch referenco naprej v zgodovini."
],
"command": "git rebase bugFix",
"beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Da zaključiš to stopnjo, naredi naslednje",
"",
"* Checkoutaj nov branch poimenovan `bugFix`",
"* Enkrat commitaj",
"* Pojdni nazaj na master in commita ponovno",
"* Ponovno checkoutaj bugFix in ga rebaseaj na master",
"",
"Srečno!"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Git describe", "ru_RU": "Git describe",
"ko" : "Git describe(묘사)", "ko" : "Git describe(묘사)",
"uk" : "Git Describe", "uk" : "Git Describe",
"vi": "Git Describe(mô tả)" "vi": "Git Describe(mô tả)",
"sl_SI": "Git Describe"
}, },
"hint": { "hint": {
"en_US": "Just commit once on bugFix when you're ready to move on", "en_US": "Just commit once on bugFix when you're ready to move on",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Когда закончишь, просто сделай commit", "ru_RU": "Когда закончишь, просто сделай commit",
"ko" : "다음으로 넘어가고 싶으면 bugFix를 한번 커밋하면 됩니다.", "ko" : "다음으로 넘어가고 싶으면 bugFix를 한번 커밋하면 됩니다.",
"uk" : "Просто зроби один коміт в bugFix коли ти будеш готовий іти далі", "uk" : "Просто зроби один коміт в bugFix коли ти будеш готовий іти далі",
"vi": "Đơn giản là hãy commit một lẩn ở bugFix là xong rồi" "vi": "Đơn giản là hãy commit một lẩn ở bugFix là xong rồi",
"sl_SI": "Commitaj enkrat na bugFix, ko boš pripravljen za nadaljevanje"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -920,6 +922,69 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Git Describe",
"",
"Ker tagi služijo kot tako odlična \"sidra\" v kodi, ima git ukaz za *opis* kje si, relativno glede na najbližije \"sidro\" (aka tag). Temu ukazu se reče `git describe`!",
"",
"Git describe se ti lahko pomaga orientirati, če si premikal veliko commitov naprej in nazaj po zgodovini; to se lahko zgodi, če si končal git bisekcijo (iskanje kot debuggiranje) ali če se usedeš za sodelavčev računalnik, ko je prišel iz dopusta."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Git describe izgleda takole:",
"",
"`git describe <ref>`",
"",
"Kjer je `<ref>` karkoli kar lahko git prepozna kot commit. Če ne podaš ref-a, git uporabi mesto, kjer si trenutno checkoutan (`HEAD`).",
"",
"Izpis ukaza je sledeč:",
"",
"`<tag>_<numCommits>_g<hash>`",
"",
"Kjer je `tag` najbližji prednik v zgodovini, `numCommits` je število commitov oddaljenosti tag-a in `<hash>` je hash commita, ki ga opisujemo."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo hiter primer. Za drevo spodaj:"
],
"afterMarkdowns": [
"Ukaz `git describe master` bi izpisal:",
"",
"`v1_2_gC2`",
"",
"Ukaz `git describe side` pa bi vrnil:",
"",
"`v2_1_gC4`"
],
"command": "git tag v2 C3",
"beforeCommand": "git commit; go -b side HEAD~1; gc; gc; git tag v1 C0"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"To je približno vse, kar se tiče git describe! Poizkusi za občutek opisati nekaj lokacij v tej stopnji.",
"",
"Ko si pripravljen, samo enkrat commitaj, da zaključiš stopnjo. Tole ti častimo :P"
]
}
}
]
} }
} }
}; };

View file

@ -27,7 +27,8 @@ exports.level = {
"zh_TW": "只取一個 commit", "zh_TW": "只取一個 commit",
"ru_RU": "Выберем один коммит.", "ru_RU": "Выберем один коммит.",
"uk": "Вибираємо всього один коміт", "uk": "Вибираємо всього один коміт",
"vi": "Chỉ lấy 1 commit" "vi": "Chỉ lấy 1 commit",
"sl_SI": "Izbiranje Samo Enega Commita"
}, },
"hint": { "hint": {
"en_US": "Remember, interactive rebase or cherry-pick is your friend here", "en_US": "Remember, interactive rebase or cherry-pick is your friend here",
@ -43,7 +44,8 @@ exports.level = {
"zh_TW": "記住,使用互動式的 rebase 或者 cherry-pick 會很有幫助", "zh_TW": "記住,使用互動式的 rebase 或者 cherry-pick 會很有幫助",
"ru_RU": "Не забывай, что интерактивный rebase и cherry-pick это твои друзья!", "ru_RU": "Не забывай, что интерактивный rebase и cherry-pick это твои друзья!",
"uk": "Не забувай, що інтерактивний rebase та cherry-pick -- це твої друзі!", "uk": "Не забувай, що інтерактивний rebase та cherry-pick -- це твої друзі!",
"vi": "Hãy nhớ 2 anh bạn tương tác rebase và cherry-pick!" "vi": "Hãy nhớ 2 anh bạn tương tác rebase và cherry-pick!",
"sl_SI": "Pomni, interactive rebase ali cherry-pick sta tu tvoja prijatelja"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -591,6 +593,45 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Lokalno naloženi commiti",
"",
"Tu je razvijalska situacija, ki se zgodi pogosto: Hočem najti bug, ampak se kar izmika. V pomoč mojemu detektivskemu delu, sem dodal nekaj ukazov za debuggiranje in izpis.",
"",
"Vsi te ukazi za debuggiranje / izpisovanje so v svojih commitih. Končno odkrijem bug, ga popravim in se veselim!",
"",
"Edini problem je, da morem sedaj spraviti moj `bugFix` nazaj v `master` branch. Če uporabim samo fast-forwarded na `masterju`, potem bi `master` vseboval vse moje debug vrstice, česar si ne želim. Mora obstajati še neka druga pot ..."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Gitu moramo povedati naj skopira čez samo en commit. To je podobno stopnjam prej, ko smo premikali delo okoli -- uporabimo lahko iste ukaze:",
"",
"* `git rebase -i`",
"* `git cherry-pick`",
"",
"Da dosežemo ta cilj."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Tebi prepuščamo, da se odločiš, kateri ukaz boš uporabil da končaš stopnjo. Poskrbi samo, da `master` dobi commit, na katerega kaže `bugFix` referenca."
]
}
}
]
} }
} }
}; };

View file

@ -31,7 +31,8 @@ exports.level = {
"zh_TW": "commit 的戲法", "zh_TW": "commit 的戲法",
"ru_RU": "Жонглируем коммитами", "ru_RU": "Жонглируем коммитами",
"uk": "Жонглюємо комітами", "uk": "Жонглюємо комітами",
"vi": "Tung hứng commit" "vi": "Tung hứng commit",
"sl_SI": "Žongliranje s Commiti"
}, },
"hint": { "hint": {
"en_US": "The first command is git rebase -i HEAD~2", "en_US": "The first command is git rebase -i HEAD~2",
@ -47,7 +48,8 @@ exports.level = {
"zh_TW": "第一個命令是 'git rebase -i HEAD~2'", "zh_TW": "第一個命令是 'git rebase -i HEAD~2'",
"ru_RU": "Первой командой должна быть git rebase -i HEAD~2", "ru_RU": "Первой командой должна быть git rebase -i HEAD~2",
"uk": "Перша команда має бути git rebase -i HEAD~2", "uk": "Перша команда має бути git rebase -i HEAD~2",
"vi": "Lệnh đầu tiên là git rebase -i HEAD~2" "vi": "Lệnh đầu tiên là git rebase -i HEAD~2",
"sl_SI": "Prvi ukaz je git rebase -i HEAD~2"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -529,6 +531,40 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Žongliranje s Commiti",
"",
"Tu je še ena situacija, ki se dogaja kar pogosto. Imaš nekaj sprememb (`newImage`) in še nekaj drugih sprememb (`caption`), ki so povezane in zložene druga na drugo v tvojem repozitoriju.",
"",
"Včasih se zgodi, da bi rad naredil manjšo spremembo na zgodnejšem commitu. V tem primeru si naš dizajner želi, da spremenimo dimenzije slike `newImage`, čeprav je commit daleč nazaj v naši zgodovini!!"
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ta izziv bomo rešili takole:",
"",
"* Preuredili bomo commite tako, da bo tisti, ki ga želimo spremeniti na vrhu z `git rebase -i`",
"* Izvedli bomo `commit --amend` da naredimo naš popravek",
"* Nato bomo preuderili commite nazaj v začetno stanje z `git rebase -i`",
"* Za konec bomo premaknili master na ta posodobljen del drevesa, da zaključimo stopnjo (z metodo po tvoji izbiri)",
"",
"Obstaja več načinov, da dosežemo ta cilj (vidim te kako gledaš cherry-pick) s katerimi se bomo ukvarjali kasneje, ampak za zdaj se osredotočimo na to tehniko.",
"In nenazadnje, bodi pozoren na ciljno stanje -- ker premaknemo commit dvakrat, oba dobita pripeto vejico zgoraj. Še ena je dodana za ammendan commit, torej skupno tri ",
"",
"Sedaj lahko primerjam stopnje po strukturi in relativni spremembi vejic. Dokler ima `master` branch na tvojem drevesu enako strukturo in število vejic, dobiš vse točke"
]
}
}
]
} }
} }
}; };

View file

@ -30,7 +30,8 @@ exports.level = {
"zh_TW": "commit 的戲法 #2", "zh_TW": "commit 的戲法 #2",
"ru_RU": "Жонглируем коммитами №2", "ru_RU": "Жонглируем коммитами №2",
"uk": "Жонглюємо комітами #2", "uk": "Жонглюємо комітами #2",
"vi": "Tung hứng commit #2" "vi": "Tung hứng commit #2",
"sl_SI": "Žongliranje s Commiti #2"
}, },
"hint": { "hint": {
"en_US": "Don't forget to forward master to the updated changes!", "en_US": "Don't forget to forward master to the updated changes!",
@ -46,7 +47,8 @@ exports.level = {
"zh_TW": "別忘記了將 master 推到最新的 commit 上面!", "zh_TW": "別忘記了將 master 推到最新的 commit 上面!",
"ru_RU": "Не забудь переместить master на последние изменения.", "ru_RU": "Не забудь переместить master на последние изменения.",
"uk": "Не забудь перемістити master на останні зміни!", "uk": "Не забудь перемістити master на останні зміни!",
"vi": "Đừng quên đẩy nhánh master lên cập nhật mới nhất!" "vi": "Đừng quên đẩy nhánh master lên cập nhật mới nhất!",
"sl_SI": "Ne pozabi prestaviti master naprej na posodobljene spremembe"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -644,6 +646,49 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Žongliranje s Commiti #2",
"",
"* Če še nisi končal Žongliranje s Commiti #1 (prejšnjo stopnjo), jo končaj pred nadaljevanjem*",
"",
"Kot si videl v prejšnji stopnji, smo uporabili `rebase -i` za preureditev commitov. Ko je bil commit, ki smo ga želeli spremeniti, na vrhu, smo preprosto uporabili --amend in preuredili nazaj v naše željeno stanje.",
"",
"Edini problem tu je, da je veliko prerazporejanja, kar lahko povzroči rebase konflikte. Poglejmo si še eno drugo tehniko `git cherry-pick`"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Git cherry-pick bo skopiral commit iz bilokaterega mesta na drevesu na HEAD (seveda dokler ni ta commit že prednik HEAD).",
"",
"Tu je mali osvežitveni primer:"
],
"afterMarkdowns": [
"Odlično! Nadaljujmo ..."
],
"command": "git cherry-pick C2",
"beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Torej v tej stopnji bi radi enako spremenili `C2`, ampak tokrat brez uporabe `rebase -i`. Kako to narediti, prepustim tebi! :D",
"",
"Točno število zgornjih vejic (') na commitu ni pomembno, pomembna je samo relativna sprememba. Naprimer, vse točko bom dal tudi za drevo, ki ustreza ciljenmu drevesu, a ima povsod dodatno vejico"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "git tag", "ru_RU": "git tag",
"ko" : "Git 태그", "ko" : "Git 태그",
"uk" : "Git Tags", "uk" : "Git Tags",
"vi" : "Tag trong Git" "vi" : "Tag trong Git",
"sl_SI": "Git Tagi"
}, },
"hint": { "hint": {
"en_US": "you can either check out the commit directly or simply checkout the tag!", "en_US": "you can either check out the commit directly or simply checkout the tag!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Можно сделать checkout напрямую на коммит или же на тег", "ru_RU": "Можно сделать checkout напрямую на коммит или же на тег",
"ko" : "커밋을 직접 또는 태그를 이용해서 체크아웃할수 있습니다!", "ko" : "커밋을 직접 또는 태그를 이용해서 체크아웃할수 있습니다!",
"uk" : "ти можеш або зробити checkout коміта напряму чи просто зачекаутити таг!", "uk" : "ти можеш або зробити checkout коміта напряму чи просто зачекаутити таг!",
"vi" : "Bạn có thể chuyển trực tiếp sang commit hoặc đơn giản là chuyển sang tag!" "vi" : "Bạn có thể chuyển trực tiếp sang commit hoặc đơn giản là chuyển sang tag!",
"sl_SI": "Checkoutaš lahko neposredno commit ali pa preprosto njegov tag!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -762,6 +764,58 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Tagi",
"",
"Kot si se naučil v prejšnjih lekcijah, so branchi enostavni za premikat okoli in pogosto kažejo na različne commite in delo za njimi. Veliko se spreminjajo in združujejo, pogosto le začasno.",
"",
"Če je temu res tako, se morda sprašuješ, če obstaja kak način, ki bi *trajno* označil točke v zgodovini projekta. Za stvari kot so večji release-i ali pomembni merge-i, ali obstaja način, ki je trajnejši kot branch?",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Itak da je! Git tagi podpirajo točno ta primer uporabe -- oni trajno (do neke mere) označijo določene commite kot \"mejnike\" na katere se lahko sklicujemo kot na branche.",
"",
"Toda še pomembneje, oni se ne premikajo, ko se ustvarjajo novi commiti. Ne moreš \"checkoutat\" tag in nato končati delo na tem tagu -- tagi obstajajo kot sidra na drevesu commitov, ki označujejo določene točke.",
"",
"Poglejmo kako to izgleda v praksi."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poizkusimo narediti tag na `C1`, ki je recimo naša prva verzija prototipa"
],
"afterMarkdowns": [
"Tako! Kar enostavno. Tag smo poimenovali `v1` in se sklicuje na commit `C1`. Če ne navedeš commit, bo git postavil tag tam, kjer je trenutno `HEAD`"
],
"command": "git tag v1 C1",
"beforeCommand": "git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za to stopnjo ustvari tage kot so določeni na ciljnem prikazu in nato checkoutaj `v1`. Opazil boš, kako prideš v detached `HEAD` stanje -- to je zato, ker ne moreš commitat direktno na `v1` tag.",
"",
"V naslednji stopnji si bomo pogledali zanimivejši primer za uporabo tagov."
]
}
}
]
} }
} }
}; };

View file

@ -20,7 +20,8 @@ exports.level = {
"ru_RU": "Введение в Cherry-pick", "ru_RU": "Введение в Cherry-pick",
"ko" : "Cherry-pick 소개", "ko" : "Cherry-pick 소개",
"uk": "Знайомство з cherry-pick", "uk": "Знайомство з cherry-pick",
"vi" : "Giới thiệu về cherry-pick" "vi" : "Giới thiệu về cherry-pick",
"sl_SI": "Uvod v cherry-pick"
}, },
"hint": { "hint": {
"fr_FR": "git cherry-pick suivi par les noms de commits", "fr_FR": "git cherry-pick suivi par les noms de commits",
@ -36,7 +37,8 @@ exports.level = {
"ru_RU": "git cherry-pick основывается на именах коммитов!", "ru_RU": "git cherry-pick основывается на именах коммитов!",
"ko" : "커밋의 이름들로 git cherry-pick 하세요!", "ko" : "커밋의 이름들로 git cherry-pick 하세요!",
"uk": "git cherry-pick базується на іменах комітів!", "uk": "git cherry-pick базується на іменах комітів!",
"vi" : "git cherry-pick sau đó là tên commit!" "vi" : "git cherry-pick sau đó là tên commit!",
"sl_SI": "git cherry-pick nato pa imena commitov"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -835,6 +837,63 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Premikanje dela naokoli",
"",
"Zaenkrat smo pokrili osnove gita -- commitanje, branchanje in pomikanje po drevesu. Samo te koncepti so dovolj za koriščenje 90% moči git repozitorijev in pokrijejo večino potreb razvijalcev.",
"",
"Preostalih 10% pa je lahko kar uporabnih med reševanjem kompleksnejših situacij (ali ko ste zašli v zagato). Naslednji koncept, ki ga bomo pokrili je \"premikanje dela naokoli\" -- z drugimi besedami, tako razvijalci rečejo \"Rad bi to delo tu in tisto delo tam\" na natančen, zgovoren in prilagodljiv način.",
"",
"Morda se zdi veliko, a gre za preprost koncept."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Cherry-pick",
"",
"Prvi ukaz v zaporedju je `git cherry-pick`. Je sledeče oblike:",
"",
"* `git cherry-pick <Commit1> <Commit2> <...>`",
"",
"Gre za jasen način, da povemo, da bi radi skopirali zaporedje commitov pod trenutno lokacijo (`HEAD`). Sam imam rad `cherry-pick`, ker je vključeno le malo čarovnije in je preprost za razumet.",
"",
"Poglejmo predstavitev!",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Tu je repozitorij, kjer imamo nekaj dela na branchu `side`, ki bi ga radi skopirali na `master`. To bi lahko dosegli z rebase-om (kar smo se že naučili), ampak poglejmo kako se odreže cherry-pick."
],
"afterMarkdowns": [
"To je to! Želeli smo commita `C2` in `C4` in git ju je prilimal točno pod nas. Preprosto!"
],
"command": "git cherry-pick C2 C4",
"beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za končanje te stopnje, enostavno skopiraj nekaj dela iz predstavljenih treh branchev v master. Vidiš lako, katere commite želimo, v priloženi vizualizaciji.",
""
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Теряем голову, или detached HEAD", "ru_RU": "Теряем голову, или detached HEAD",
"ko" : "HEAD 분리하기", "ko" : "HEAD 분리하기",
"uk": "Втрачаємо голову чи detached HEAD", "uk": "Втрачаємо голову чи detached HEAD",
'vi': "Tháo đầu cái nào" 'vi': "Tháo đầu cái nào",
"sl_SI": "Odstranjevanje tvoje glave - HEAD"
}, },
"hint": { "hint": {
"en_US": "Use the label (hash) on the commit for help!", "en_US": "Use the label (hash) on the commit for help!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Ориентируйся по идентификаторам (hash) коммитов.", "ru_RU": "Ориентируйся по идентификаторам (hash) коммитов.",
"ko" : "커밋에 있는 라벨(hash)을 활용하세요!", "ko" : "커밋에 있는 라벨(hash)을 활용하세요!",
"uk": "Орієнтуйся по індентифікаторам (hash) комітів.", "uk": "Орієнтуйся по індентифікаторам (hash) комітів.",
"vi": "Dùng mã băm (hash) của commit để hoàn thành!" "vi": "Dùng mã băm (hash) của commit để hoàn thành!",
"sl_SI": "Uporabi oznako (hash) commita za pomoč!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -1122,6 +1124,84 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Premikanje po Gitu",
"",
"Preden se lotimo nekaj naprednejših funkcij Gita, je pomembno da razumemo različne načine premikanja po drevesu commitov, ki predstavljajo tvoj projekt.",
"",
"Ko ti je enkrat premikanje po drevesu domače, bodo tvoje sposobnosti z ostalimi git ukazi še močnejše!",
"",
"",
"",
"",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## HEAD",
"",
"Najprej moramo spozanti \"HEAD\". HEAD (glava) je simbolično ime za trenutno checkoutan commit -- v bistvu povemo nad katerim commitu bomo nadaljevali.",
"",
"HEAD vedno kaže na zadnji commit na trenutnem drevesu. Večina git ukazov, ki spreminjajo to delovno drevo, bo začelo s spremembo HEAD-a.",
"",
"Ponavadi HEAD kaže na ime brancha (npr. bugFix). Ko commitaš, je stanje bugFix spremenjeno in ta sprememba je opazna tudi skozi HEAD."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo to v akciji. Sedaj bomo razkrili HEAD pred in po commitu."
],
"afterMarkdowns": [
"Evo! HEAD se je vseskozi skrival pod našim `master` branchom."
],
"command": "git checkout C1; git checkout master; git commit; git checkout C2",
"beforeCommand": ""
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"### Odstranjevanje HEAD-a",
"",
"Odstranjevanje HEAD-a pomeni samo, da ga namestno na branch sedaj pripnemo na commit. Tako je zgledalo prej:",
"",
"HEAD -> master -> C1",
""
],
"afterMarkdowns": [
"Sedaj pa takole",
"",
"HEAD -> C1"
],
"command": "git checkout C1",
"beforeCommand": ""
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje, odstranimo HEAD iz `bugFix` in ga pritrdimo raje na commit.",
"",
"Določi ta commit z njegovim hash-om. Hash za vsak commit je predstavljen v krogu, ki predstavlja commit."
]
}
}
]
} }
} }
}; };

View file

@ -21,6 +21,7 @@ exports.level = {
"ko" : "리베이스할 타겟으로 브랜치나 상대 참조(HEAD~)를 사용할 수 있습니다", "ko" : "리베이스할 타겟으로 브랜치나 상대 참조(HEAD~)를 사용할 수 있습니다",
"uk" : "ти можеш використовувати гілки чи відносні посилання (HEAD~) щоб вказувати ціль для rebase", "uk" : "ти можеш використовувати гілки чи відносні посилання (HEAD~) щоб вказувати ціль для rebase",
"vi": "bạn có thể sử dụng tham chiếu tương đối (HEAD~) hoặc nhánh để chỉ định mục tiêu rebase", "vi": "bạn có thể sử dụng tham chiếu tương đối (HEAD~) hoặc nhánh để chỉ định mục tiêu rebase",
"sl_SI": "uporabiš lahko bilokater branch ali relativen ref (HEAD~), da določiš cilj za rebase"
}, },
"name": { "name": {
"en_US": "Interactive Rebase Intro", "en_US": "Interactive Rebase Intro",
@ -36,7 +37,8 @@ exports.level = {
"ru_RU": "Введение в интерактивный Rebase", "ru_RU": "Введение в интерактивный Rebase",
"ko" : "인터랙티브 리베이스 소개", "ko" : "인터랙티브 리베이스 소개",
"uk" : "Знайомство з інтерактивним rebase", "uk" : "Знайомство з інтерактивним rebase",
"vi" : "Giới thiệu về tương tác rebase" "vi" : "Giới thiệu về tương tác rebase",
"sl_SI": "Interaktivni uvod v Rebase"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -948,6 +950,71 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Interaktivni Rebase",
"",
"Git cherry-pick je odličen način, ko veš katere commite bi rad (in poznaš njihove hashe) -- težko je premagati njegovo enostavnost.",
"",
"Ampak kaj pa situacija, ko ne veš katere commite želiš? K sreči ima git pokrit tudi to! Uporabimo lahko interaktivni rebase -- gre za najboljši način za pregled commitov, ki jih želiš rebaseati.",
"",
"Spustimo se v podrobnosti..."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Vse kar interaktvini rebase pomeni je, da uporabimo `rebase` ukaz z opcijo `-i`.",
"",
"Če vključiš to opcijo, bo git odprl okno, da ti pokaže, kateri commiti bodo skopirani pod naš ciljni commit rebaseanja. Prav tako pokaže tudi njihove hashe in sporočila, kar je super za razumevanje kaj je kaj.",
"",
"Za \"pravi\" git, odprte oknja pomeni odprtje datoteke v urejevalniku kot je `vim`. Za naš namen sem zgradil majhno okno, ki se obnaša enako."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ko se odpre okno za interaktivno rebaseanje, imaš možnost narediti 3 stvari:",
"",
"* Enostavno lahko preurediš commite v vrstni red, ki ga želiš (v našem oknu to dosežeš kar s klikom in vlečenjem miške).",
"* Odločiš se lahko, da čisto izpustiš nekatere commite. To je omogočeno z `pick` -- izklop `pick` opcije pomeni, da bi rad commit izpustil.",
"* Nenazadnje, commite lahko tudi stisnemo. Nažalost naše stopnje tega ne podpirajo zaradi logističnih razlogov, zato bom preskočil podrobnosti tega. Toda če povzamem -- omogoča združevanje commitov.",
"",
"Super! Poglejmo primer."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Ko pritisneš gumb, se bo pojavilo interaktivno okno. Prerazporedi nekaj commitov okoli (ali pa jih odstrani z pick) in poglej rezultat!"
],
"afterMarkdowns": [
"Boom! Git je na dno skopiral commite v točno takšnem vrstnem redu, kot si ga določil v oknu"
],
"command": "git rebase -i HEAD~4 --aboveAll",
"beforeCommand": "git commit; git commit; git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje naredi interaktvini rebase in doseži vrstni red, kot je predstavljen v ciljni vizualizaciji. Vedno lahko razveljavjiš z `undo` ali ponastaviš z `reset` ukazom, da popraviš napake :D"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Относительные ссылки (^)", "ru_RU": "Относительные ссылки (^)",
"ko" : "상대 참조 (^) (Relative Refs)", "ko" : "상대 참조 (^) (Relative Refs)",
"uk": "Відносні посилання", "uk": "Відносні посилання",
"vi": "Tham chiếu tương đối (^)" "vi": "Tham chiếu tương đối (^)",
"sl_SI": "Relativne Reference (^)"
}, },
"hint": { "hint": {
"en_US": "Remember the Caret (^) operator!", "en_US": "Remember the Caret (^) operator!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Не забудь оператор `^`", "ru_RU": "Не забудь оператор `^`",
"ko" : "(^)연산자를 기억하세요!", "ko" : "(^)연산자를 기억하세요!",
"uk": "Не забудь оператор `^`", "uk": "Не забудь оператор `^`",
"vi": "Đừng quên dấu mũ (^)!" "vi": "Đừng quên dấu mũ (^)!",
"sl_SI": "Spomni se na (^) operator!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -1084,6 +1086,81 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Relativne Reference",
"",
"Premikanje po Gitu z določanjem hashev commitov je lahko včasih nerodno. V praksi ne boš imel na voljo lepe vizualizacije drevesa zraven ukaznega terminala, zato boš moral uporabljati `git log`, da boš videl hashe.",
"",
"Nadaljne, hashi so ponavadi v praksi tudi veliko daljši. Naprimer, hash commita predstavljenega v prejšnji stopnji je `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. Ni ravno preprosto za izgovoriti ...",
"",
"Pozitivna stran je, da je Git pameten glede hashev. Zahteva, da napišeš le toliko znakov hasha, da lahko prepozna unikaten commit. Tako lahko napišem `fed2` namesto dolge verzije zgoraj."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Kot sem rekel, izbiranje commitov po njihovih commitih ni ravno najpriročnejša stvar na svetu, zato ima Git relativne reference. In te so super!",
"",
"Z relativni referencami, lahko izhajaš iz nekje (npr. branch `bugFix` ali `HEAD`) in delaš od tam.",
"",
"Relativni commiti so mogočni, ampak tu bomo predstavili dva preprosta:",
"",
"* Premikanje navzgor en commit naenkrat z `^`",
"* Premikanje navzgor num-krat z `~<num>`"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Pogljemo najprej operator `^`. Vsakič, ko pripneš to imenu reference, poveš Gitu naj najde starša tega commita.",
"",
"Torej `master^` je isto kot \"prvi starš brancha `master`\".",
"",
"`master^^` je stari starš (prednik druge generacije) `master`",
"",
"Checkoutajmo sedaj commit nad masterjem"
],
"afterMarkdowns": [
"Boom! Narejeno. Veliko enostavneje kot tipkanje hasha commita"
],
"command": "git checkout master^",
"beforeCommand": "git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Prav tako se lahko sklicuješ na `HEAD` kot relativno referenco. Uporabimo to nekajkrat, da se pomakenmo višje po drevesu commitov"
],
"afterMarkdowns": [
"Enostavno! Lahko potujemo nazaj v čas z `HEAD^`"
],
"command": "git checkout C3; git checkout HEAD^; git checkout HEAD^; git checkout HEAD^",
"beforeCommand": "git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje, checkoutaj starša commita `bugFix`. To bo razdružilo `HEAD`.",
"",
"Hash lahko določiš, če želiš, ampak probaj raje z relativnimi referencami!"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Понадобится использовать как минимум одну прямую ссылку (хеш), чтобы пройти этот уровень", "ru_RU": "Понадобится использовать как минимум одну прямую ссылку (хеш), чтобы пройти этот уровень",
"ko" : "이번 레벨을 완료하려면 최소 한번은 직접 참조(해시)를 사용해야 합니다.", "ko" : "이번 레벨을 완료하려면 최소 한번은 직접 참조(해시)를 사용해야 합니다.",
"uk": "Тобі потрібно використати як мінімум одне пряме посилання (хеш) щоб пройти цей рівень", "uk": "Тобі потрібно використати як мінімум одне пряме посилання (хеш) щоб пройти цей рівень",
"vi": "Bạn sẽ cần dùng ít nhất một tham chiếu trực tiếp (mã băm) để hoàn thành cấp độ này" "vi": "Bạn sẽ cần dùng ít nhất một tham chiếu trực tiếp (mã băm) để hoàn thành cấp độ này",
"sl_SI": "Moral boš uporabiti vsaj eno direktno referenco (hash) za dokončanje te stopnje"
}, },
"name": { "name": {
"en_US": "Relative Refs #2 (~)", "en_US": "Relative Refs #2 (~)",
@ -33,7 +34,7 @@ exports.level = {
"ko" : "상대 참조 #2 (~)", "ko" : "상대 참조 #2 (~)",
"uk": "Відносні посилання №2", "uk": "Відносні посилання №2",
"vi": "Tham chiếu tương đối #2 (~)", "vi": "Tham chiếu tương đối #2 (~)",
"sl_SI": "Relativne Reference #2 (~)"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -984,6 +985,75 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Operator \"~\"",
"",
"Recimo, da se želiš premakniti veliko stopenj višje po drevesu commitov. Malo je nerodno večkrat tipkati `^`, zato ima Git tudi tilda (~) operator.",
"",
"",
"Tild operator (opcijsko) sprejme številko, ki določi, koliko staršev bi se rad povzpel po drevesu. Poglejmo to v praksi"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Določimo število prejšnjih commitov z `~`."
],
"afterMarkdowns": [
"Boom! Tako jedrnato -- relativne reference so super."
],
"command": "git checkout HEAD~4",
"beforeCommand": "git commit; git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Forcanje Branchev",
"",
"Sedaj si strokovnjak za relativne reference, zato jih končno *uporabimo* za nekaj.",
"",
"Eden izmed najpogostejših načinov, kjer uporabljam relativne reference je za premikanje branchev naokoli. Direktno lahko premakneš branch na nek commit z `-f` opcijo. Takole nekako:",
"",
"`git branch -f master HEAD~3`",
"",
"premakne (s force-om) master branch tri commite za HEAD."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo si prejšnji ukaz v praksi."
],
"afterMarkdowns": [
"Tako ja! Relativne reference so nam dale jedrnat način s katerim se lakho nanašamo na `C1` in branch force-anje (`-f`) nam je omogočilo, da hitro prestavimo branch na to lokacijo."
],
"command": "git branch -f master HEAD~3",
"beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Sedaj ko smo si pogledali relativne reference in force branchanje v kombinaciji, uporabimo to, da rešimo naslednjo stopnjo.",
"",
"Za dokončanje te stopnje, premakni `HEAD`, `master` in `bugFix` na njihove ciljne prikazane destinacije."
]
}
}
]
} }
} }
}; };

View file

@ -18,7 +18,7 @@ exports.level = {
"ru_RU": "Отмена изменений в Git", "ru_RU": "Отмена изменений в Git",
"uk": "Відміна змін в Git", "uk": "Відміна змін в Git",
"vi": "Hoàn tác thay đổi trong Git", "vi": "Hoàn tác thay đổi trong Git",
"sl_SI": "Revertanje Sprememb v Gitu"
}, },
"hint": { "hint": {
"en_US": "Notice that revert and reset take different arguments.", "en_US": "Notice that revert and reset take different arguments.",
@ -35,6 +35,7 @@ exports.level = {
"ru_RU": "Обрати внимание, что revert и reset принимают разные параметры.", "ru_RU": "Обрати внимание, что revert и reset принимают разные параметры.",
"uk": "Зверни увагу на те що revert та reset приймають різні параметри", "uk": "Зверни увагу на те що revert та reset приймають різні параметри",
"vi": "Lưu ý rằng hoàn tác(revert) và đặt lại(reset) có những đối số khác nhau.", "vi": "Lưu ý rằng hoàn tác(revert) và đặt lại(reset) có những đối số khác nhau.",
"sl_SI": "Revert in reset sprejmeta različne argumente"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -920,6 +921,69 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Revertanje Sprememb v Gitu",
"",
"Veliko načinov je, kako revertati (razveljaviti) spremembe v Gitu. In tako kot commitanje ima tudi revertanje sprememb v Gitu low-level komponente (stageanje posameznih datotek ali kosov) in high-level komponente (kako so spremembe dejansko povrnjene). Naša aplikacija se bo osredotočila na slednje.",
"",
"Obstajata dva glavna načina kako razveljaviti spremembe v Gitu -- prvi je uporaba `git reset` in drugi je uporaba `git revert`. V naslednjem dialogu si bomo pogledali oba pristopa.",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"## Git Reset",
"",
"`git reset` povrne spremembe tako, da prestavi referenco brancha na starejši commit. Lahko si predstavljaš kot \"pisanje zgodovine na novo;\" `git reset` bo prestavil branch nazaj, kot da se commiti sploh niso zgodili.",
"",
"Poglejmo kako to izgleda:"
],
"afterMarkdowns": [
"Lepo! Git je premaknil master branch referenco nazaj na `C1`; sedaj je naš lokalen repozitorij v stanju, kot da se `C2` sploh ni nikoli zgodil."
],
"command": "git reset HEAD~1",
"beforeCommand": "git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"## Git Revert",
"",
"Medtem ko ponastavljanje z reset deluje super na lokalnih brancih na tvoji mašini, njegova metoda \"prepisovanja zgodovina\" ne deluje na remote brancih, ki jih uporabljajo drugi.",
"",
"Če želimo ponastaviti spremembe in *deliti* te ponastavitve z drugimi, moramo uporabiti `git revert`. Poglejmo si to v praksi"
],
"afterMarkdowns": [
"Čudno, nov commit se je naredil pod commitom, ki smo ga želeli reversati. To je zato, ker ta nov commit `C2'` uvede *spremembe* -- spremembe so pač v tem primeru točno nasprotne od `C2`.",
"",
"Z revertanjem lahko pushas in deliš svoje spremembe tudi z drugimi."
],
"command": "git revert HEAD",
"beforeCommand": "git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje, povrni oba zadnja commita, tako na `local` kot na `pushed` brancih. Skupno boš revertal dva commita (enega na branch).",
"",
"Upoštevaj, da je `pushed` oddaljen branch in `local` lokalen branch -- to bi ti moralo pomagati izbrati metodo."
]
}
}
]
} }
} }
}; };

View file

@ -21,7 +21,8 @@ exports.level = {
"zh_TW": "N次Rebase", "zh_TW": "N次Rebase",
"ru_RU": "Rebase over 9000 раз", "ru_RU": "Rebase over 9000 раз",
"uk" : "Rebase over 9000 разів", "uk" : "Rebase over 9000 разів",
"vi" : "Rebase hơn 9000 lần" "vi" : "Rebase hơn 9000 lần",
"sl_SI": "Več kot 9000 Rebaseov"
}, },
"hint": { "hint": {
"en_US": "Remember, the most efficient way might be to only update master at the end...", "en_US": "Remember, the most efficient way might be to only update master at the end...",
@ -37,7 +38,8 @@ exports.level = {
"zh_TW": "要記住喔! 把 master branch 留到最後更新可能是最有效率的方法。", "zh_TW": "要記住喔! 把 master branch 留到最後更新可能是最有效率的方法。",
"ru_RU": "Не забудь, что лучше всего сдвинуть мастер в самом конце...", "ru_RU": "Не забудь, что лучше всего сдвинуть мастер в самом конце...",
"uk" : "Не забувай, що краще всього буде перемістити master в самому кінці... ", "uk" : "Не забувай, що краще всього буде перемістити master в самому кінці... ",
"vi" : "Hãy nhớ rằng, cách tốt nhất có lẽ là nên cuối cùng mới cập nhật nhánh `master`... " "vi" : "Hãy nhớ rằng, cách tốt nhất có lẽ là nên cuối cùng mới cập nhật nhánh `master`... ",
"sl_SI": "Pomni, morda je najbolj učinkovit način posodabljanje masterja samo na koncu ..."
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -291,6 +293,23 @@ exports.level = {
} }
} }
] ]
},"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Rebasing Večih Branchev",
"",
"Uf, tu imamo pa res veliko branchev! Pojdimo in rebaseajmo vse delo iz teh branchev na master.",
"",
"Toda vodstvo se je odločilo, da le ne bo tako preprosto -- žeijo da so vsi commiti v zaporednem vrstnem redu. To pomeni, da bo naše ciljno drevo moralo imeti `C7'` na dnu, `C6'` nad njim, in tako dalje po vrsti.",
"",
"Če med reševanjem zamočiš, preprosto uporabi `reset`, da začneš znova. Poglej tudi našo rešitev in preveri, če lahko stopnjo rešiš še z manj ukazi!"
]
}
}
]
} }
} }
}; };

View file

@ -20,7 +20,8 @@ exports.level = {
"zh_TW": "branch 漿糊", "zh_TW": "branch 漿糊",
"ru_RU": "Спутанные ветки", "ru_RU": "Спутанные ветки",
"uk" : "Макарони з гілок", "uk" : "Макарони з гілок",
"vi" : "Nhánh rối như canh hẹ" "vi" : "Nhánh rối như canh hẹ",
"sl_SI": "Špageti iz Branchev"
}, },
"hint": { "hint": {
"en_US": "Make sure to do everything in the proper order! Branch one first, then two, then three", "en_US": "Make sure to do everything in the proper order! Branch one first, then two, then three",
@ -36,7 +37,8 @@ exports.level = {
"zh_TW": "確認你是按照正確的順序來操作!先操作 branch `one`, 然後 `two`, 最後才是 `three`", "zh_TW": "確認你是按照正確的順序來操作!先操作 branch `one`, 然後 `two`, 最後才是 `three`",
"ru_RU": "Убедись, что у нас всё по порядку! Сначала ветка `one`, потом `two` и только потом `three`", "ru_RU": "Убедись, что у нас всё по порядку! Сначала ветка `one`, потом `two` и только потом `three`",
"uk": "Переконайся, що все йде за порядком! Спершу гілка `one`, потім `two`, і тільки потім `three`", "uk": "Переконайся, що все йде за порядком! Спершу гілка `one`, потім `two`, і тільки потім `three`",
"vi": "Hãy chắc chắn rằng bạn làm đúng thứ tự! Nhánh `one` trước, rồi `two`, rồi mới đến `three`" "vi": "Hãy chắc chắn rằng bạn làm đúng thứ tự! Nhánh `one` trước, rồi `two`, rồi mới đến `three`",
"sl_SI": "Glej da boš vse opravil v pravilnem vrstnem redu! Najprej branch ena, nato pa dva in tri"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -318,6 +320,25 @@ exports.level = {
} }
} }
] ]
},"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Špageti iz Branchev",
"",
"WOAHHHhhh Miško! Ta stopnja bo pa pravi izziv.",
"",
"Tu imamo `master`, ki je nekaj commitov pred branchi `one`, `two` in `three`. Iz neznanega razloga moramo posodbiti te tri druge branche z modificiranimi različicami zadnjih nekaj commitov na masterju.",
"",
"Branch `one` potrebuje prerazporeditev in izbris `C5`. `two` rabi samo prerazporeditev, `three` pa potrebuje samo en commit!",
"",
"Prepustili ti bomo da ugotovi kako tole rešiti -- vseeno lahko na koncu preveriš našo rešitev s `show solution`. "
]
} }
} }
]
},
}
}; };

View file

@ -15,7 +15,8 @@ exports.level = {
"ru_RU": "Введение в клонирование", "ru_RU": "Введение в клонирование",
"ko" : "Clone 소개", "ko" : "Clone 소개",
"uk" : "Знайомство з clone", "uk" : "Знайомство з clone",
"vi" : "Giới thiệu về clone" "vi" : "Giới thiệu về clone",
"sl_SI": "Uvod v Git Clone"
}, },
"hint": { "hint": {
"en_US": "Just git clone!", "en_US": "Just git clone!",
@ -31,7 +32,8 @@ exports.level = {
"ru_RU": "Простой git clone!", "ru_RU": "Простой git clone!",
"ko" : "그냥 git clone 하세요!", "ko" : "그냥 git clone 하세요!",
"uk" : "Просто git clone!", "uk" : "Просто git clone!",
"vi" : "Đơn giản là `git clone`!" "vi" : "Đơn giản là `git clone`!",
"sl_SI": "Preprosto samo git clone!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -830,6 +832,63 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Oddaljeni Git",
"",
"Oddaljeno repozitoriji sploh niso tako zakomplicirani. V današnjem svetu oblačnih storitev si lahko kdo predstavlja, da je veliko čarovnije za oddaljnim Gitom, a gre preprosto za tvoj repozitorij na drugem računalniku. Ponavadi lahko komuniciraš s tem računalnikom preko interneta, ki ti omogoča da prenašaš commite naprej in nazaj.",
"",
"Poleg tega imajo oddaljeni repozitoriji tudi veliko super lastnosti:",
"",
"- Prvič, oddaljenost služi za odlično rezervo! Lokalni git repozitoriji imajo možnost obnovitve datotek v prejšnje stanje (kot že veš), ampak vse te informacije so shranjene lokalno. S tem da imaš shranjene kopije gita na drugih računalnikih, lahko izgubiš vse tvoje lokalne podatke, pa imaš še zmeraj opcijo nadaljevati, kjer si ostal.",
"",
"- Še pomembneje, kodiranje lahko naredijo družabno! Sedaj, ko je kopija tvojega projekta nekje objavljena, lahko tvoji prijatelji pomagajo tvojemu projektu (ali pridobijo zadnje spremembe) zelo enostavno.",
"",
"Uporaba strani, ki vizualizirajo oddaljene repozitorije je postala zelo popularna (npr. [Github](https://github.com/) ali [Phabricator](http://phabricator.org/)), ampak bistvo teh strani vseeno predstavljajo oddaljeni repozitoriji. Zato je pomembno, da jih razumemo!"
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Naši Ukazi za kreiranje oddaljenih repozitorijev",
"",
"Do te točke, se je Learn Git Branching osredotočil na učenje osnov dela na lokalnih repozitorijih (branching, merging, rebasing, itd). Ampak sedaj, ko se hočemo naučiti še o delu na oddaljenih repozitorijih, potrebujemo ukaz, da postavi okolje za te lekcije. `git clone` bo ta ukaz.",
"",
"Tehnično je `git clone` v pravem svetu ukaz, ki ga boš uporabil za ustvarjanje lokalnih kopij oddaljenih repozitorijev (iz githuba naprimer). Mi uporabljamo ta ukaz nekoliko drugače na Learn Git Branching -- `git clone` ubistvu naredi oddaljen repozitorij iz tvojega lokalnega. Seveda, tehnično je nasproten pomen pravega ukaza, ampak pomaga ustvariti povezavo med kloniranjem in delom na oddaljenem repozitoriju, zato ga zdaj pač uporabljajmo.",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Začnimo počasi in poglejmo kako izgleda oddaljen repozitorij (v naši vizualizaciji).",
""
],
"afterMarkdowns": [
"Evo ga! Sedaj imamo oddaljen repozitorij našega projekta. Izgleda precej podoben razen nekaj vizalnih sprememb, da se opazi razlika -- v kasnejših stopnjah boš spoznal, kako si delimo delo preko teh repozitorijev."
],
"command": "git clone",
"beforeCommand": ""
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje, uporabi `git clone` na svojem obstoječem repozitoriju. Pravo učenje pride v lekcijah, ki sledijo."
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Коллективная работа", "ru_RU": "Коллективная работа",
"uk" : "Симуляція колективної роботи", "uk" : "Симуляція колективної роботи",
"ko" : "가짜 팀워크", "ko" : "가짜 팀워크",
"vi" : "Giả lập làm việc nhóm" "vi" : "Giả lập làm việc nhóm",
"sl_SI": "Lažno Ekipno Delo"
}, },
"hint": { "hint": {
"en_US": "remember you can specify the number of commits to fake", "en_US": "remember you can specify the number of commits to fake",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "помните, Вы можете указать количество фейковых коммитов", "ru_RU": "помните, Вы можете указать количество фейковых коммитов",
"uk" : "пам’ятай що ти можеш вказати кількість фейкових комітів", "uk" : "пам’ятай що ти можеш вказати кількість фейкових комітів",
"ko" : "가장할 커밋의 갯수를 조절할 수 있습니다.", "ko" : "가장할 커밋의 갯수를 조절할 수 있습니다.",
"vi" : "Nhớ rằng bạn có thể chỉ định số lượng commit để giả lập." "vi" : "Nhớ rằng bạn có thể chỉ định số lượng commit để giả lập.",
"sl_SI": "pomni da lahko določiš število lažnih commitov"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -792,6 +794,60 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Simulacija sodelovanja",
"",
"Tule imamo izziv -- za nekaj naslednjih lekcij te moramo naučiti kako potegniti dol spremembe, ki so bile narejene na oddaljenem repozitoriju.",
"",
"To pomeni, da se moramo pravzaprav \"pretvarjati\", da je oddaljen branch posodobil kak sodelavec, včasih na določenem branchu ali določeno število commitov.",
"",
"Da bi to lahko naredili, smo uvedli ukaz `git fakeTeamwork`! Poglejmo prikaz ..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Privzeto delovanje `fakeTeamwork` je, da samo doda commit na master"
],
"afterMarkdowns": [
"Tako -- oddaljen repo je bil posodobljen z novim commitom, katerega še nismo potegnili k sebi, ker še nismo pognali ukaza `git fetch`."
],
"command": "git fakeTeamwork",
"beforeCommand": "git clone"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Prav tako lahko določimo tudi število commtiov ali ime brancha tako, da jih dodamo na koncu"
],
"afterMarkdowns": [
"Z enim ukazom smo simulirali sodelavca, ki je dodal tri commite na `foo` branch na našem oddaljnem repotu"
],
"command": "git fakeTeamwork foo 3",
"beforeCommand": "git branch foo; git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Naslednje stopnje bodo precej težke, zato od tebe v tej stopnji zahtevamo še več.",
"",
"Naredi oddaljen repo (z `git clone`), simuliraj nekaj sprememb na tem repotu, sam commitaj, nato pa potegni dol spremembe. Kot da bi bilo več lekcij v eni!"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Git fetch", "ru_RU": "Git fetch",
"uk" : "Git fetch", "uk" : "Git fetch",
"ko" : "Git Fetch", "ko" : "Git Fetch",
"vi" : "Git Fetch" "vi" : "Git Fetch",
"sl_SI": "Git Fetch"
}, },
"hint": { "hint": {
"en_US": "just run git fetch!", "en_US": "just run git fetch!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Просто выполните git fetch!", "ru_RU": "Просто выполните git fetch!",
"uk" : "Просто виконай git fetch!", "uk" : "Просто виконай git fetch!",
"ko" : "그냥 git fetch를 하세요!", "ko" : "그냥 git fetch를 하세요!",
"vi" : "Gõ git fetch là được!" "vi" : "Gõ git fetch là được!",
"sl_SI": "le izvedi git fetch!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -1056,6 +1058,79 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Fetch",
"",
"Delanje z git oddaljnemi repoti je v bistvu le premikanje podatkov na in z drugih repozitorijev. Dokler lahko pošiljamo commite naprej in nazaj, lahko delimo bilokakšno posodobitev, kateri git sledi (in posledično delimo delo, nove datoteke, nove ideje, ljubezenska pisma, itd.).",
"",
"V tej lekciji se bomo naučili kako fetchat (prenesti) podatke iz oddaljenega repozitorija -- ukaz za to je poimenovan `git fetch`.",
"",
"Opazil boš, da ko posodobimo našo predstavitev oddaljenega repota, se bo naša oddaljena veja posodobila in imela nove spremembe. To se navezuje na prejšnjo lekcijo o oddaljenih repozitorijih"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Preden se spustimo v podrobnosti `git fetch` ga poglejmo v akciji! Tu imamo oddaljen repozitorij, ki vsebuje dva commita, ki jih naš lokalen repozitorij nima."
],
"afterMarkdowns": [
"Tako! Commita `C2` in `C3` sta bila prenesena v naš lokalen repozitorij in naš oddaljen branch `o/master` je bil posodobljen, da to odraža."
],
"command": "git fetch",
"beforeCommand": "git clone; git fakeTeamwork 2"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Kaj fetch naredi",
"",
"`git fetch` naredi dve stvari. In sicer:",
"",
"* prenese commite, ki jih ima oddaljeni repo ampak manjkajo v našem lokalnem in ...",
"* posodobi, kam kaže naš oddaljeni branch (naprimer `o/master`)",
"",
"`git fetch` v bistvu našo lokalno predstavitev oddaljenega repozitorija uskladi z dejanskim stanjem na oddaljenem repozitoriju.",
"",
"Če se spomneš še iz prejšnje lekcije smo rekli, da oddaljeni branchi odsevajo stanje na oddaljenih repozitorijih odkar si komuniciral z njimi. `git fetch` je način, da komuniciraš z njimi! Upam, da je sedaj povezava med oddaljenimi repozitoriji in `git fetch` jasna.",
"",
"`git fetch` ponavadi komunicira z oddaljenimi repozitoriji preko interneta (s protokolom kot sta `http://` ali `git://`).",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Kaj fetch ne naredi",
"",
"`git fetch` ne spremeni ničesar glede tvojega lokalnega stanja. Ne bo posodobil tvojega `master` brancha ali spremenil česarkoli v tvojih datotekah.",
"",
"To je pomembno razumeti, ker veliko razvijalcev misli, da bo `git fetch` posodobil njihovo lokalno stanje s stanjem na oddaljenem repozitoriju. Lahko bo prenesel vse potrebne podatke, da to izvede, ampak v bistvu _ne_ spremeni tvojih datotek. V kasnejših lekcijah se bomo naučili ukaze, ki pa naredijo točno to. :D",
"",
"Torej na koncu dneva, izvajanje `git fetch` si lahko predstavljate kot korak za prenašanje."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje uporabi `git fetch` in prenesi vse commite!"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Аргументы для fetch", "ru_RU": "Аргументы для fetch",
"ko" : "Fetch의 인자들", "ko" : "Fetch의 인자들",
"uk" : "Аргументи для fetch", "uk" : "Аргументи для fetch",
"vi" : "Tham số fetch" "vi" : "Tham số fetch",
"sl_SI": "Fetch argumenti"
}, },
"hint": { "hint": {
"en_US": "Pay attention how the commit ids may have swapped! You can read slides again with \"help level\"", "en_US": "Pay attention how the commit ids may have swapped! You can read slides again with \"help level\"",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Обратите внимание на то, как номера коммитов могут меняться! Вы можете прочесть слайды вновь, воспользовавшись командой \"help level\"", "ru_RU": "Обратите внимание на то, как номера коммитов могут меняться! Вы можете прочесть слайды вновь, воспользовавшись командой \"help level\"",
"ko" : "커밋 ID가 바뀔수도있으니 주의하세요! \"help level\"을 입력하면 슬라이드들을 다시 읽어볼수 있습니다.", "ko" : "커밋 ID가 바뀔수도있으니 주의하세요! \"help level\"을 입력하면 슬라이드들을 다시 읽어볼수 있습니다.",
"uk" : "Зверни увагу на те, що номери комітів можуть змінюватися! Слайди уроку можна переглянути ще раз командою \"help level\"", "uk" : "Зверни увагу на те, що номери комітів можуть змінюватися! Слайди уроку можна переглянути ще раз командою \"help level\"",
"vi" : "Lưu ý id của các commit bị tráo đổi, bạn có thể dùng \"help level\" để đọc lại hội thoại" "vi" : "Lưu ý id của các commit bị tráo đổi, bạn có thể dùng \"help level\" để đọc lại hội thoại",
"sl_SI": "Bodi pozoren kako so se commit id-ji morda zamenjali! Ponovno lahko prebereš navodila z \"help level\""
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -1633,6 +1635,129 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git fetch argumenti",
"",
"Torej pravkar smo se naučili vse o git push argumentih, tem kul `<place>` parameteru in celo stolpičnem refspecsu (`<source>:<destination>`). Torej uporabimo vse znanje tudi za `git fetch`?",
"",
"Itak! Argumenti za `git fetch` so v bistvu *zelo zelo* podobni tistim za `git push`. Gre za enak koncept ampak uporabljen v nasprotni smeri (ker sedaj prenašamo commite namesto, da jih nalagamo).",
"",
"Pojdimo čez koncepte drug za drugim ..."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### `<place>` parameter",
"",
"Če podaš mesto poleg git fetcha kot v naslednjem ukazu:",
"",
"`git fetch origin foo`",
"",
"Bo Git šel na `foo` branch na oddaljenem repotu, pograbil vse commite, katerih lokalno še nimamo in jih dodal na dno lokalnega `o/foo` brancha.",
"",
"Poglejmo to v akciji (samo kot osvežitev)"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Z določanjem mesta ..."
],
"afterMarkdowns": [
"Prenesemo samo commite iz `foo` in jih postavimo na `o/foo`"
],
"command": "git fetch origin foo",
"beforeCommand": "git branch foo; git clone; git fakeTeamwork foo 2"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Morda se sprašuješ -- zakaj je got dodal te commite na `o/foo` oddaljen branch namesto, da bi jih dodal na moj lokalen `foo` branch? Mislil sem da je `<place>` parameter mesto, ki obstaja in lokalno in na oddaljenem repozitoriju?",
"",
"No, git naredi v tem primeru posebno izjemo, ker imaš morda delo na `foo` branchu, ki ga ne želiš pokvariti!! To se navezuje na prejšnjo lekcij o `git fetch` -- ne posodobi tvojega lokalnega ne-oddaljenega brancha, samo prenense commite (da jih lahko pregledaš / mergaš kasneje).",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"\"Ampak v tem primeru, kaj se zgodi, če posebaj določim izvor in cilj s `<source>:<destination>`?\"",
"",
"Če se počutiš dovolj strastno, da bi fetchal commite *direktno* na lokalen branch, potem ja, lahko to definiraš s stolpično referenco. Ne moreš fetchati commitov na branch, ki je checkoutan, ampak v drugih primerih to lahko narediš.",
"",
"Tu je edina zanka -- `<source>` je sedaj mesto na *oddaljenem* in `<destination>` je *lokalno* mesto za dodati te commite. Je ravno nasprotje od git pusha in to je logično, saj prenašamo podatke v nasprotni smeri!",
"",
"Glede na to, razvijalci to redko delajo v praksi. To predstavljam zgolj, da si lahko predstavljaš kako sta si `fetch` in `push` kar podobna, ampak v nasprotni smeri."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo si to zmešnjavo v praksi:"
],
"afterMarkdowns": [
"Wow! Vidiš, git je naredil `foo~1` kot mesto na originu in nato prenesel commite na `bar` (ki je bil lokalen branch). Opazi kako `foo` in `o/foo` nista bila posodobljena, ker smo določili destinacijo."
],
"command": "git fetch origin foo~1:bar",
"beforeCommand": "git branch foo; git clone; git branch bar; git fakeTeamwork foo 2"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Kaj pa če destinacija ne obstaja, preden zaženem ukaz? Poglejmo zadnji primer, vendar brez da bi prej `bar` že obstajal."
],
"afterMarkdowns": [
"Vidiš, je TAKO kot git push. Git je naredil destinacijo lokalno pred fetchem, tako kot bo naredil destinacijo na oddaljneme repotu pred pushem (če ne obstaja)."
],
"command": "git fetch origin foo~1:bar",
"beforeCommand": "git branch foo; git clone; git fakeTeamwork foo 2"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Ni argumentov?",
"",
"Če `git fetch` ne prejme argumentov, prenese vse commite iz oddaljenega repota na vse oddaljene branche ..."
],
"afterMarkdowns": [
"Precej enostavno, ampak vredno, da gremo čez vsaj enkrat."
],
"command": "git fetch",
"beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok, dovolj govorjenja! Da zaključiš to stopnjo, fetchaj samo določene commite iz ciljne vizualizacije. Razturaj te ukaze!",
"",
"Določiti boš moral izvor in cilj za oba fetch ukaza. Bodi pozoren na ciljno vizualizacijo, saj so lahko IDji obrnjenji okoli!"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Расхождение в истории", "ru_RU": "Расхождение в истории",
"uk" : "Розбіжності в історії", "uk" : "Розбіжності в історії",
"ko" : "엇갈린 히스토리", "ko" : "엇갈린 히스토리",
"vi" : "Dị biệt lịch sử" "vi" : "Dị biệt lịch sử",
"sl_SI": "Razdeljena zgodovina"
}, },
"hint": { "hint": {
"en_US": "check out the ordering from the goal visualization", "en_US": "check out the ordering from the goal visualization",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "проверьте сортировку в визуализации цели", "ru_RU": "проверьте сортировку в визуализации цели",
"uk" : "перевірте порядок в візуалізації цілі", "uk" : "перевірте порядок в візуалізації цілі",
"ko" : "순서는 goal을 참고하세요", "ko" : "순서는 goal을 참고하세요",
"vi" : "kiểm tra kỹ thứ tự trên mô hình mục tiêu" "vi" : "kiểm tra kỹ thứ tự trên mô hình mục tiêu",
"sl_SI": "preveri vrstni red iz ciljne vizualizacije"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -2037,6 +2039,149 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Razdeljeno Delo",
"",
"Zaenkrat smo videli kako `pullat` dol commite od ostalih in kako `pushat` naše spremembe. Izgleda dokaj preprosto, vendar kako lahko vseeno to mede ljudi?",
"",
"Težave nastopijo, ko se zgodovina repozitorijev *razdeli*. Preden se lotimo podrobnosti si poglejmo primer ...",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Predstavljaj si da scloniraš repozitorij v ponedeljek in začneš delati na novi fukncionalnosti. V petek si pripravljen da objaviš svoje sprememebe -- ampak o ne! Tvoji sodelavci so napisali goro kode med tednom in tvoja funkcionalnost je postala zastarela. Prav tako so objavili te commite v skupen repozitorij, tako da sedaj *tvoje* delo izhaja iz *stare* verzije projekta, ki ni več taprava.",
"",
"V tem primeru je ukaz `git push` dvoumen. Če bi pognal `git push`, bi git moral spremeniti oddaljeni repozitorij nazaj na stanje iz ponedeljka? Bi moral poizkusiti dodati tvoje delo, brez da odstarani novo kodo? Ali bi moral povsem ignorirati tvoje spremembe, ker so zastarele?",
"",
"Ker je toliko dvomov v tej situaciji (kjer se je zgodovina razdelila), ti git ne pusti, da bi `pushal` svoje spremembe. V bistvu te prisili da vključiš zadnje stanje oddaljenega repozitorija preden lahko deliš svoje delo."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Toliko govorjenja! Poglej stvar v praksi"
],
"afterMarkdowns": [
"Vidiš? Nič se ni spremenilo, ker je ukaz spodeletel. `git push` spodleti, ker tvoj zadnji commit `C3` izhaja iz oddaljenega `C1`. Oddaljen repozitorij se je med tem posodbil na `C2`, zato git zavrne tvoj push"
],
"command": "git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Kako rešiti to zagato? Enostavno je, vse kar moraš narediti je, da spremeniš, da tvoje delo izhaja iz zadnje verzije oddaljenega brancha.",
"",
"Obstaja nekaj načinov, da to narediš, ampak najbol naraven način je, da to narediš z rebaseom. Poglejmo, kako to izgleda."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Če sedaj rebaseamo, namesto da pushamo ..."
],
"afterMarkdowns": [
"Boom! Posodobili smo našo lokalno reprezentacijo oddaljenega repozitorija z `git fetch`, rebaseali naše delo, da vsebuje nove spremembe iz oddaljenega repota, nato pa naložili svoje delo z `git push`"
],
"command": "git fetch; git rebase o/master; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"So še drugi načini, da posodobim svoj delo, ko je bil oddaljen repozitorij posodobljen? Seveda! Poglejmo isto stvar, vendar tokrat z `mergeom`.",
"",
"Čeprav `git merge` ne premakne tvojega dela (ampak naredi samo merge commit), je to način da sporočiš gitu, da si vključil vse spremembe iz oddaljenega repota. To je zato, ker je oddaljen branch sedaj *prednik* tvojega brancha, kar pomeni, da tvoj commit sedaj vsebuje vse commite iz oddaljenega brancha.",
"",
"Poglejmo predstavitev tega ..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Če sedaj uporabimo merge namesto rebasea ..."
],
"afterMarkdowns": [
"Boom! Posodobili smo našo lokalno sliko oddaljenega repozitorija z `git fetch`, *zmergali* novo delo v naše delo (kot odraz novih sprememb na oddaljenem branchu) in jih nato naložili z `git push`"
],
"command": "git fetch; git merge o/master; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Super! A obstaja način, da naredim vse to brez tipkanja toliko ukazov?",
"",
"Seveda -- `git pull` že poznaš in je bližnjica za fetch ter merge. Prikladno je tudi `git pull --rebase` bližnjica za fetch in rebase!",
"",
"Poglejmo te kratke ukaze na delu."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Najprej z `--rebase` ..."
],
"afterMarkdowns": [
"Enako kot prej! Le dosti krajše."
],
"command": "git pull --rebase; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"In sedaj z navadnim `pullom`"
],
"afterMarkdowns": [
"Zopet enako kot prej!"
],
"command": "git pull; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Vse to fetchanje, rebasanje/merganje in pushanje je kar pogosto. V prihodnjih lekcijah bomo preučili težje različice teh postopkov, ampak najprej preizkusimo tega.",
"",
"Da rešiš to stopnjo, izvedi sledeče korake:",
"",
"* Kloniraj svoj repozitorij",
"* Naredi lažni commit ostale ekipe (1 commit)",
"* Commitaj nekaj svojega dela (1 commit)",
"* Objavi svoje delo z *rebaseom*"
]
}
}
]
} }
} }
}; };

View file

@ -9,7 +9,8 @@ exports.level = {
"zh_CN": "从本地的master创建一个feature分支, 然后重置master和origin master保持一致。", "zh_CN": "从本地的master创建一个feature分支, 然后重置master和origin master保持一致。",
"es_ES": "Crea la rama feature desde la rama master en local antes de restablecerlo para que sea el mismo que la rama master de origen", "es_ES": "Crea la rama feature desde la rama master en local antes de restablecerlo para que sea el mismo que la rama master de origen",
"fr_FR": "Créer la branche feature à partir du master local, avant de la restaurer dans le même état que o/master", "fr_FR": "Créer la branche feature à partir du master local, avant de la restaurer dans le même état que o/master",
"ko" : "로컬 저장소의 master 브랜치로부터 feature 브랜치를 만드세요. 그리고 o/master와 같아질 수 있도록 로컬 저장소의 master 브랜치를 reset 하세요." "ko" : "로컬 저장소의 master 브랜치로부터 feature 브랜치를 만드세요. 그리고 o/master와 같아질 수 있도록 로컬 저장소의 master 브랜치를 reset 하세요.",
"sl_SI": "Naredi feature branch iz lokalnega masterja preden ga ponastaviš, da bo enak kot origin master "
}, },
"name": { "name": {
"en_US": "Locked Master", "en_US": "Locked Master",
@ -18,7 +19,8 @@ exports.level = {
"zh_CN": "锁定的Master(Locked Master)", "zh_CN": "锁定的Master(Locked Master)",
"es_ES": "Master bloqueado", "es_ES": "Master bloqueado",
"fr_FR": "Master verrouillé", "fr_FR": "Master verrouillé",
"ko" : "잠겨버린 Master" "ko" : "잠겨버린 Master",
"sl_SI": "Zaklenjen Master"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -306,5 +308,45 @@ exports.level = {
} }
] ]
}, },
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Oddaljena Zavrnitev!",
"",
"Če delaš v veliki ekipi je verjetno, da je master zaklenjen in zahteva Pull Request postopek za merganje sprememb. Če commitaš direktno na master lokalno, poizkusi pushati in dobil boš sporočilo podobno temu:",
"",
"```",
" ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)",
"```"
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Zakaj je bil zavrnjen?",
"",
"Oddaljen repo je zavrnil pushanje commitov direktno na master zaradi politike, da se uporabljajo le pull requesti.",
"",
"Mišljeno je, da slediš temu procesu, da narediš branch, ga pushaš, nato pa narediš pull request, ampak si pozabil in commital direktno na master. Sedaj si zataknjen in ne moreš pushati svojih sprememb."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Rešitev",
"",
"Naredi še en branch imenovan feature in ga pushaj na remote. Prav tako resetiraj master nazaj, da bo v enakem stanju kot na oddaljenem repozitoriju, drugače imaš lahko težave naslednjič, ko boš pullal spremembe in bo konflikt s commitom nekoga drugega."
]
}
}
]
}
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Слияние с удалённым репозиторием", "ru_RU": "Слияние с удалённым репозиторием",
"ko" : "원격 작업과 merge하기", "ko" : "원격 작업과 merge하기",
"uk" : "Мердж з віддаленим репозиторієм", "uk" : "Мердж з віддаленим репозиторієм",
"vi" : "Hợp nhất nhánh từ xa" "vi" : "Hợp nhất nhánh từ xa",
"sl_SI": "Merganje z oddaljenim repozitorijem"
}, },
"hint": { "hint": {
"en_US": "Pay attention to the goal tree!", "en_US": "Pay attention to the goal tree!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Внимательно посмотрите на цель уровня!", "ru_RU": "Внимательно посмотрите на цель уровня!",
"ko" : "goal을 잘 살펴보세요!", "ko" : "goal을 잘 살펴보세요!",
"uk" : "Уважно подивись як має виглядати результат!", "uk" : "Уважно подивись як має виглядати результат!",
"vi" : "Hãy để ý đến cây mục tiêu!" "vi" : "Hãy để ý đến cây mục tiêu!",
"sl_SI": "Poglej si ciljno drevo!"
}, },
"compareOnlyMaster": true, "compareOnlyMaster": true,
"startDialog": { "startDialog": {
@ -665,6 +667,51 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Zakaj ne merganje?",
"",
"Da bi poslal nove spremembe na oddaljen repo, je vse kar moraš narediti, da *vključiš* zadnje spremembe iz oddaljenega repota. To pomeni, da lahko rebaseaš *ali* mergeaš v oddaljeni branch (npr. `o/master`).",
"",
"Torej če lahko narediš katero izmed metod, zakaj imeti lekcijo, ki se zaenkrat osredotoča na rebaseanje? Zakaj ni nobene ljubezni do `mergea` pri delanju z oddaljenimi repoti?",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Veliko govora je o kompromisih med merganjem in rebasanjem med razvijalci. Tu so splošne prednosti / slabosti rebaseanja:",
"",
"Prednosti:",
"",
"* Rebasanje naredi tvoje drevo lepo in pregledno, ker je vse v ravni črti",
"",
"Slabosti:",
"",
"* Rebasanje spremeni (navidezno) zgodovino drevesa commitov.",
"",
"Naprimer, commit `C1` je lahko rebasean *mimo* `C3`. Potem izgleda kot da je delo za `C1'` prišlo za `C3`, čeprav je v resnici bilo končano prej.",
"",
"Nekateri razvijalci imajo radi ohranjanje zgodovine in imajo posledično rajše merganje. Drugi (kot jaz) imajo rajši čisto drevo commitov in posledično rebasanje. Na koncu prevlada osebna preferenca :D"
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za to stopnjo, poizkusimo rešiti prešnjo stopnjo z *merganjem*. Mogoče bo malo zakomplicirano, vendar bo lepo ponazorilo poanto."
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Git pull", "ru_RU": "Git pull",
"uk" : "Git pull", "uk" : "Git pull",
"ko" : "Git pull", "ko" : "Git pull",
"vi" : "Git pull" "vi" : "Git pull",
"sl_SI": "Git pull"
}, },
"hint": { "hint": {
"en_US": "Just run git pull!", "en_US": "Just run git pull!",
@ -33,6 +34,7 @@ exports.level = {
"uk" : "Просто виконай git pull !", "uk" : "Просто виконай git pull !",
"ko" : "그냥 git pull을 하세요!", "ko" : "그냥 git pull을 하세요!",
"vi" : "Đơn giản là gõ git pull!", "vi" : "Đơn giản là gõ git pull!",
"sl_SI": "Samo izvedi git pull!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -860,6 +862,65 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Pull",
"",
"Sedaj, ko smo videli kako pridobiti podatke iz oddaljenega repozitorija z `git fetch`, posodobimo naše delo, da bo odsevalo te sprememebe!",
"",
"V bistvu je več načinov za izvedbo tega -- ko imaš enkrat na lokalno na voljo nove commite, jih lahko vključiš, kot da so normalni commiti na drugem branchu. To pomeni, da lahko izvedeš ukaze, kot so:",
"",
"* `git cherry-pick o/master`",
"* `git rebase o/master`",
"* `git merge o/master`",
"* itd., itd.",
"",
"Pravzaprav je *fetchanje* oddaljenih sprememb in kasneje *merganje* le-teh tako pogosto, da ima git dejansko ukaz, ki naredi oboje! Ukaz je `git pull`."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo najprej `fetch` in `merge` izvedena zaporedno"
],
"afterMarkdowns": [
"Boom -- prenesli smo `C3` z `fetch` in nato mergali delo z `git merge o/master`. Sedaj naš `master` branch odseva spremembe novega dela iz oddaljenega repoztorija (v tem primeru poimenovan `origin`)"
],
"command": "git fetch; git merge o/master",
"beforeCommand": "git clone; git commit; git fakeTeamwork"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Kaj bi se zgodilo, če bi namesto tega uporabili `git pull`?"
],
"afterMarkdowns": [
"Ista stvar! To bi moralo pokazati, da je `git pull` v bistvu bližnjica za `git fetch`, ki mu sledi merge brancha, ki smo ga ravno fetchali."
],
"command": "git pull",
"beforeCommand": "git clone; git commit; git fakeTeamwork"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Kasneje bomo raziskali podrobnosti ukaza `git pull` (vključno z opcijami in argumenti), ampak zaenkrat poizkusimo to v tej stopnji.",
"",
"Pomni -- to stopnjo lahko rešiš s `fetch` in `merge`, ampak boš rabil en dodaten ukaz :P"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Аргументы для pull", "ru_RU": "Аргументы для pull",
"ko" : "pull 인자들", "ko" : "pull 인자들",
"uk" : "Аргументи pull", "uk" : "Аргументи pull",
"vi" : "Tham số pull" "vi" : "Tham số pull",
"sl_SI": "Pull argumenti"
}, },
"hint": { "hint": {
"en_US": "Remember that you can create new local branches with fetch/pull arguments", "en_US": "Remember that you can create new local branches with fetch/pull arguments",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Напоминаю, что новые ветки можно создавать и с помощью команд fetch/pull", "ru_RU": "Напоминаю, что новые ветки можно создавать и с помощью команд fetch/pull",
"ko" : "fetch/pull 과 인자들로 새 로컬 브랜치를 생성할수 있다는것을 기억하세요.", "ko" : "fetch/pull 과 인자들로 새 로컬 브랜치를 생성할수 있다는것을 기억하세요.",
"uk" : "Пам'ятай, що ти можеш створювати нові гілки, використовуючи fetch/pull з аргументами", "uk" : "Пам'ятай, що ти можеш створювати нові гілки, використовуючи fetch/pull з аргументами",
"vi" : "Nhớ rằng,bạn có thể tạo nhánh cục bộ mới với tham số của fetch/pull" "vi" : "Nhớ rằng,bạn có thể tạo nhánh cục bộ mới với tham số của fetch/pull",
"sl_SI": "Zapomni si, da lahko ustvariš nove lokalne branche s fetch/pull argumenti"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -996,6 +998,80 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git pull argumenti",
"",
"Sedaj ko veš praktično *vse*, kar je za vedeti o argumentih za `git fetch` in `git push`, ni skoraj ničesar za dodati za `git pull` :)",
"",
"To je zato, ker je git pull konec koncev *res* samo bližnjica za fetch, ki mu sledi merge tega, kar smo fetchali. Predstavljaš si ga lahko kot ukaz git fetch z *istimi* podanimi argumenti in merganjem, *kjer* bodo tisti commite končali.",
"",
"To velja tudi takrat, ko uporabiš noro komplicirane argumente. Poglejmo nekaj primerov:"
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Tu je nekaj ukazov v gitu:",
"",
"`git pull origin foo` je enak:",
"",
"`git fetch origin foo; git merge o/foo`",
"",
"In ...",
"",
"`git pull origin bar~1:bugFix` je enak:",
"",
"`git fetch origin bar~1:bugFix; git merge bugFix`",
"",
"Vidiš? Git pull je res bližnjica za fetch + merge. Vse kar zanima git pull je kje bodo commiti končali (`ciljni` argument, ki ga ugotovi med fetchem).",
"",
"Poglejmo primer:"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Če določimo mesto za fetchanje, se vse zgodi kot prej s fetchem ampak tudi zmergamo kar smo pravkar fetchali"
],
"afterMarkdowns": [
"Vidiš! Z določitvijo `master` smo prenesli commite na `o/master` kot ponavadi. Potem smo zmergali `o/master` v našo trenutno checkoutano lokacijo, ki *ni* lokalni branch `master`. Zaradi tega razloga je morda celo logično, da izvedemo git pull večkrat (z istimi argumenti) iz drugi lokacij, da posodobimo več branchev."
],
"command": "git pull origin master",
"beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Ali deluje tudi z izvorom in ciljem? Itak! Poglejmo to:"
],
"afterMarkdowns": [
"Wow, to je pa RES veliko v enem ukazu. Naredili smo nov lokalen branch imenovan `foo`, prenesli commite iz oddaljenega masterja na ta branch `foo` in potem zmergali ta branch v naš trenutno checkoutan branch `bar`. Je več kot 9000!!!"
],
"command": "git pull origin master:foo",
"beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok, da zaključiš, pridi v stanje iz ciljne vizualizazcije. Prenesti boš moral neka commitov, narediti nekaj novih branchev in zmergati te branche v druge branche, ampak ne bi smelo zahtevati veliko ukazov :P"
]
}
}
]
} }
} }
}; };

View file

@ -19,7 +19,8 @@ exports.level = {
"ru_RU": "Git push", "ru_RU": "Git push",
"uk" : "Git push", "uk" : "Git push",
"ko" : "Git push", "ko" : "Git push",
"vi" : "Git push" "vi" : "Git push",
"sl_SI": "Git Push"
}, },
"hint": { "hint": {
"en_US": "Remember you have to clone before you can push!", "en_US": "Remember you have to clone before you can push!",
@ -34,7 +35,8 @@ exports.level = {
"ru_RU": "Помните, что прежде чем push-ить вам нужно склонировать репозиторий!", "ru_RU": "Помните, что прежде чем push-ить вам нужно склонировать репозиторий!",
"uk" : "Пам’ятай, що перед тим як щось push-нути потрібно склонувати репозиторій!", "uk" : "Пам’ятай, що перед тим як щось push-нути потрібно склонувати репозиторій!",
"ko" : "push를 하기전에 clone을 먼저해야 된다는것을 기억하세요!", "ko" : "push를 하기전에 clone을 먼저해야 된다는것을 기억하세요!",
"vi" : "Nhớ rằng bạn phải clone trước khi push!" "vi" : "Nhớ rằng bạn phải clone trước khi push!",
"sl_SI": "Najprej moraš klonirati preden lahko pushaš!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -631,6 +633,49 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Push",
"",
"Ok, sedaj sem fetchal spremembe iz oddaljenega repota in jih vključil v moje lokalno delo. To je že super ... toda kako delim _moje_ super delo z vsemi ostalimi?",
"",
"No, način da naložiš deljeno delo, je ravno nasproten, kot da ga preneseš. In kaj je nasprotje `git pull`? `git push`!",
"",
"`git push` je odgovoren za nalaganje _tvojih_ sprememb na določen oddaljen repozitorij in posodobitev tega repozitorija, da vključi tvoje nove commite. Ko se `git push` izvede, lahko vsi tvoji prijatelji prenesejo tvoje delo iz repozitorija.",
"",
"`git push` si lahko predstavljaš kot ukaz, ki \"objavi\" tvoje delo. Ima kopico majhnih stvari, katere bomo raziskali v kratkem, ampak začnimo z majhnimi koraki ...",
"",
"*opomba -- obnašanje `git push` brez argumentov je odvisno od nastavitev gita imenovanih `push.default`. Privzeta vrednost za to nastavitev je odvisna od različice gita, ki jo uporabljaš, ampak mi bomo uporabljali `upstream` vrednost v naši lekciji. To ni neka velika stvar, ampak jo je vredno preveriti preden pushamo na svojem projektu.*"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Tu imamo nekaj sprememb, ki jih oddaljen repo nima. Dajmo jih naložiti!"
],
"afterMarkdowns": [
"Tako je -- oddaljen repo je preje commit `C2`, branch `master` na oddaljenem repotu je bil posodobljen, da kaže na `C2` in naš *lasten* prikaz oddaljenega repota (`o/master`) je bil prav tako posodobljen. Vse je usklajeno!"
],
"command": "git push",
"beforeCommand": "git clone; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje, preprosto deli dva nova commita z oddaljenim repotom. Nato pa se pripno, ker bodo lekcije postale dosti težje!"
]
}
}
]
} }
} }
}; };

View file

@ -19,7 +19,8 @@ exports.level = {
"ru_RU": "Аргументы git push", "ru_RU": "Аргументы git push",
"ko" : "git push의 인자들", "ko" : "git push의 인자들",
"uk" : "Аргументи git push", "uk" : "Аргументи git push",
"vi" : "Tham số git push" "vi" : "Tham số git push",
"sl_SI": "Git push argumenti"
}, },
"hint": { "hint": {
"en_US": "You can always look at the last slide of the dialog with \"objective\"", "en_US": "You can always look at the last slide of the dialog with \"objective\"",
@ -35,7 +36,8 @@ exports.level = {
"ru_RU": "Вы всегда можете ознакомиться с последним слайдом, воспользовавшись \"objective\".", "ru_RU": "Вы всегда можете ознакомиться с последним слайдом, воспользовавшись \"objective\".",
"ko" : "대화창의 마지막 슬라이드를 \"objective\"로 다시 볼 수 있습니다.", "ko" : "대화창의 마지막 슬라이드를 \"objective\"로 다시 볼 수 있습니다.",
"uk" : "Завжди можна подивитися останній слайд діалогу за допомогою \"objective\"", "uk" : "Завжди можна подивитися останній слайд діалогу за допомогою \"objective\"",
"vi" : "Bạn có thể sử dụng \"objective\" để đọc trang cuối của cửa sổ hộp thoại" "vi" : "Bạn có thể sử dụng \"objective\" để đọc trang cuối của cửa sổ hộp thoại",
"sl_SI": "Vedno lahko pogledaš zadnji dialog z \"objective\""
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -991,6 +993,81 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Push argumenti",
"",
"Super! Sedaj, ko poznaš oddaljeno sledenje branchev lahko začnemo odkrivati skrivnosti za git pushem, fetchem in pullom. Napadli bomo en ukaz za drugim, ampak koncepti za njimi so si podobni.",
"",
"Najprej bomo pogledali `git push`. V lekciji o oddaljenem sledenju si spoznal, da je git ugotovil oddaljen repo *in* branch za pushat s tem da je pogledal lastnosti trenutno checkoutanega brancha (oddaljen branch, ki ga \"sledi\"). To je obnašanje brez argumentov, ampak git push lahko sprejme tudi argumente v sledeči obliki:",
"",
"`git push <remote> <place>`",
"",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Kaj je `<place>` parameter praviš? Kmalu bomo zaplavali v podrobnosti, ampak najprej primer. Izvedba ukaza:",
"",
"`git push origin master`",
"",
"se v slovenščini prevede v:",
"",
"*Pojdi na branch poimenovan \"master\" na mojem repozitoriju, zgrabi vse commite in nato pojdi na branch \"master\" na oddaljenem repotu poimenovan \"origin\". Postavi vse commite, ki manjkajo na branch in me obvesti, ko končaš.*",
"",
"Z določanjem `masterja` kot \"place\" argument, smo povedali gitu iz kje bodo commiti *prišli* in kam bodo commiti *šli*. V bistvu je to \"mesto\" oziroma \"lokacija\" za uskladitev med dvema repozitorijema.",
"",
"Imej v mislih, da ker smo gitu povedali vse kar mora vedeti (s podajanjem obeh argumentov), git povsem ignorira mesto, kjer smo checkoutani!"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo si primer podajanja argumentov. Bodi pozoren na mesto, kjer smo checkoutani v tem primeru."
],
"afterMarkdowns": [
"Evo ga! `master` je bil posodobljen na oddaljenem repotu, ker smo podali te argumente."
],
"command": "git checkout C0; git push origin master",
"beforeCommand": "git clone; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Kaj če ne bi podali argumentov? Kaj bi se zgodilo?"
],
"afterMarkdowns": [
"Ukaz ne uspe (kot lahko vidiš), ker `HEAD` ni checkoutan na branchu, ki ga oddaljeno sledimo."
],
"command": "git checkout C0; git push",
"beforeCommand": "git clone; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok, za to stopnjo posodobimo oba `foo` in `master` na oddaljenem repotu. Trik je, da je `git checkout` onemogočen za to stopnjo!",
"",
"*Opomba: Oddaljeni branchi so označeni z `o/` predpono, ker celotna `origin/` oznaka ne paše v naš prikaz. Ne skrbi ",
"glede tega ... preprosto uporabi `origin` kot ime oddaljenega repota kot ponavadi.*"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Аргументы для push -- расширенная версия!", "ru_RU": "Аргументы для push -- расширенная версия!",
"ko" : "git push 인자 -- 확장판!", "ko" : "git push 인자 -- 확장판!",
"uk" : "Розширені аргументи git push!", "uk" : "Розширені аргументи git push!",
"vi" : "Tham số git push -- bản mở rộng!" "vi" : "Tham số git push -- bản mở rộng!",
"sl_SI": "Git push argumenti -- Razširjeni!"
}, },
"hint": { "hint": {
"en_US": "Remember you can admit defeat and type in \"show solution\" :P", "en_US": "Remember you can admit defeat and type in \"show solution\" :P",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Помните, Вы всегда можете признать своё поражение, набрав команду \"show solution\" (показать решение) :P", "ru_RU": "Помните, Вы всегда можете признать своё поражение, набрав команду \"show solution\" (показать решение) :P",
"ko" : "혹시 아세요? 패배를 인정하고 \"show solution\"을 입력할 수 있다는 걸요 :P", "ko" : "혹시 아세요? 패배를 인정하고 \"show solution\"을 입력할 수 있다는 걸요 :P",
"uk" : "Пам'ятай, ти завжди можеш визнати поразку і підглянути рішення командою \"show solution\" :P", "uk" : "Пам'ятай, ти завжди можеш визнати поразку і підглянути рішення командою \"show solution\" :P",
"vi" : "Nhớ rằng, bạn có thể thừa nhận thất bại và gõ \"show solution\" :P" "vi" : "Nhớ rằng, bạn có thể thừa nhận thất bại và gõ \"show solution\" :P",
"sl_SI": "Vedno se lahko predaš in napišeš \"show solution\" :P"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -944,6 +946,76 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Podrobnosti `<place>` argumenta",
"",
"Spomni se prejšnje lekcije, kjer smo določili `master` kot place argument za git push, določili smo *izvor* iz kje bodo commiti prišli in *destinacijo*, kamor bodo commiti odšli.",
"",
"Morda se sprašuješ -- Kaj če želimo, da sta izvor in destinacija različna? Kaj če želiš pushati commite iz lokalnega `foo` brancha na oddaljen `bar` branch?",
"",
"Nažalost to v gitu ni možno ... hecam se! Seveda je možno :) ... git ima ogromno opcij (skoraj preveč).",
"",
"Poglejmo kako v naslednjem razdelku ..."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Da bi določili in izvor in destinacijo `<place-a>`, preprosto združimo oba skupaj z dvopičjem:",
"",
"`git push origin <source>:<destination>`",
"",
"To je pogosto omenjeno kot stolpična referenca. Ta referenca je samo ime za lokacijo, ki jo lahko git razvozla (kot je branch `foo` ali samo `HEAD~1`).",
"",
"Ko enkrat določiš izvor in destinacijo neodvisno, lahko oddaljene ukaze uporabljaš zelo natačno in učinkovito. Poglejmo si primer!"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Pomni, `source` je bilokatera lokacija, ki jo git razume:"
],
"afterMarkdowns": [
"Woah! To je kar zanimiv ukaz, ampak ima smisel -- git je razrešil `foo^` v lokacijo, naložil commite, ki še niso bili pristoni v oddaljneme repotu in nato posodobil destinacijo."
],
"command": "git push origin foo^:master",
"beforeCommand": "git clone; go -b foo; git commit; git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Kaj če destinacija kamor želiš pushati ne obstaja? Ni problem! Samo podaj ime brancha in git bo naredil branch na oddaljenem repotu zate."
],
"afterMarkdowns": [
"Lepa, to je kar kul :D"
],
"command": "git push origin master:newBranch",
"beforeCommand": "git clone; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za to stopnjo poizkusi priti v ciljno stanje, prikazano v vizualizaciji in si zapomni obliko:",
"",
"`<source>:<destination>`"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Помни - ты всегда можешь отменить команды с помощью undo или reset", "ru_RU": "Помни - ты всегда можешь отменить команды с помощью undo или reset",
"ko" : "명령어를 undo와 reset으로 되돌릴 수 있다는 것을 잊지마세요", "ko" : "명령어를 undo와 reset으로 되돌릴 수 있다는 것을 잊지마세요",
"uk" : "Пам'ятай, ти в будь-який момент можеш використовувати команди undo або reset", "uk" : "Пам'ятай, ти в будь-який момент можеш використовувати команди undo або reset",
"vi" : "Nhớ rằng bạn luôn luôn có thể hoàn tác hoặc soạn lại câu lệnh " "vi" : "Nhớ rằng bạn luôn luôn có thể hoàn tác hoặc soạn lại câu lệnh ",
"sl_SI": "Vedno lahko razveljaviš ukaz ali ponastaviš stopnjo"
}, },
"name": { "name": {
"en_US": "Push Master!", "en_US": "Push Master!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Push Мастер!", "ru_RU": "Push Мастер!",
"ko" : "Push Master!", "ko" : "Push Master!",
"uk" : "Push Maйстер!", "uk" : "Push Maйстер!",
"vi" : "Push Master!" "vi" : "Push Master!",
"sl_SI": "Push Master!"
}, },
"compareOnlyMasterHashAgnostic": true, "compareOnlyMasterHashAgnostic": true,
"startDialog": { "startDialog": {
@ -777,6 +779,59 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Merganje funkcionalnih branchev",
"",
"Sedaj, ko se počutiš udobno s fetchanjem, pullanjem in pushanjem, preizkusimo ta znanja z novimi primeri.",
"",
"Za razvijalce na velikih projektih je pogosto, da delajo vse svoje stvari na funkcionalnih brancih (ne na `master`) in potem vključijo to delo, ko je končano. To je podobno prejšnjim lekcijam (kjer so bili pushani stranski branchi na oddaljen repo), a tu predstavljamo še en korak.",
"",
"Nekateri razvijaci samo pushajo in pullajo na `master` branchu -- zato `master` vedno ostane posodobljen z oddaljenim masterjem (`o/master`).",
"",
"Torej za tak primer uporabe, združimo dve stvari:",
"",
"* vključevanje dela funkcionalnih branchev na `master` in",
"* pushanje in pullanje iz oddaljenega repota"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Osvežimo si na hitro, kako posodobit `master` in pushati delo."
],
"afterMarkdowns": [
"Izvedli smo dva ukaza, ki:",
"",
"* rebasata naše delo na nove commite iz oddaljenega repozitorija in",
"* objavita naše delo na oddaljen repozitorij"
],
"command": "git pull --rebase; git push",
"beforeCommand": "git clone; git commit; git fakeTeamwork"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ta stopnja je kar zajetna -- tu je splošno ideja za rešitev:",
"",
"* Imamo tri branche -- `side1` `side2` in `side3`",
"* Želimo pushati vsako od teh funkcionalnosti po vrstnem redu na oddaljen repo",
"* Oddaljen repo se je umes posodobil, zato bomo morali vključiti tudi to delo",
"",
":O naporno! Srečno, končanje te stopnje je velik korak."
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Удалённые ветки", "ru_RU": "Удалённые ветки",
"ko" : "원격 브랜치(remote branch)", "ko" : "원격 브랜치(remote branch)",
"uk" : "Віддалені гілки", "uk" : "Віддалені гілки",
"vi" : "Nhánh từ xa" "vi" : "Nhánh từ xa",
"sl_SI": "Oddaljeni Branchi"
}, },
"hint": { "hint": {
"en_US": "Pay attention to the ordering -- commit on master first!", "en_US": "Pay attention to the ordering -- commit on master first!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Уделяйте внимание очерёдности -- сперва commit на master", "ru_RU": "Уделяйте внимание очерёдности -- сперва commit на master",
"ko" : "순서에 주의하세요 -- master에서 먼저 커밋하세요!", "ko" : "순서에 주의하세요 -- master에서 먼저 커밋하세요!",
"uk" : "Звертайте увагу на послідовність -- спочатку коміт в мастер!", "uk" : "Звертайте увагу на послідовність -- спочатку коміт в мастер!",
"vi" : "Chú ý đến thứ tự -- commit trên nhánh master trước!" "vi" : "Chú ý đến thứ tự -- commit trên nhánh master trước!",
"sl_SI": "Bodi pozoren na vrsti red -- commitaj najprej na master!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -888,6 +890,67 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Oddaljeni Branchi",
"",
"Sedaj ko smo videli `git clone` v praksi se poglobimo v dejanske spremembe.",
"",
"Prva stvar, ki si jo morda opazil je, da se je pojavil nov branch na našem lokalnem repotu imenovan `o/master`. Temu tipu brancha pravimo _oddaljen_(remote) branch; oddaljeni branch ima posebne lastnosti, ker služijo določenim namenom.",
"",
"Oddaljeni branchi odražajo _stanje_ oddaljenega repozitorija (od kar si nazadnje komuniciral z oddaljenim repotom). To ti morda pomaga razumeti razliko med tvojim lokalnim delom in delom, ki je javno -- ključni korak, preden deliš svoje delo z ostalimi.",
"",
"Oddaljeni branchi imajo posebno lastnost, da ko jih checkoutaš, si postavljen v stanje z ločenim `HEAD-om`. Git naredi to zanalašč, ker ne moreš delati neposredno na teh branchih; moreš delati drugje in nato deliti svoje delo z oddaljenim repotom (po tem bodo oddaljeni branchi bili posodobljeni)."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Kaj je `o/`?",
"",
"Morda se sprašuješ, kaj je ta `o/` spredaj pred oddaljenmi branchi. Tudi oddaljeni branchi imajo (zahtevano) pravilo za poimenovanje -- predstavljeni so v sledečm formatu:",
"",
"* `<ime oddaljenega repota>/<ime brancha>`",
"",
"Posledično, če pogledamo branch poimenovan `o/master`, je ime brancha `master`, ime oddaljenega repota pa `o`.",
"",
"Večina razvijalcev v bistvu poimenuje njihov glavni oddaljeni repozitorij `origin`, ne `o`. To je takoj pogosto, da git ubistvu nastavi tvoj oddaljen repo z imenom `origin` ko izvedeš `git clone` nad repozitorijem.",
"",
"Nažalost polno ime `origin` ne paše v naš prikaz, zato uporabljamo `o` kot bližnjico :( Samo zapomni si, ko uporabljaš pravi git, bo tvoj oddaljen repo verjetno poimenovan `origin`!",
"",
"To je kar veliko za razumeti, zato si poglejmo stvar v akciji."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Checkoutajmo oddaljen branch in poglejmo kaj se zgodi"
],
"afterMarkdowns": [
"Kot lahko vidiš, nas git postavi v stanje ločenega `HEAD-a` in ne posodobi `o/master`, ko dodamo nov commit. To je zato, ker se bo `o/master` posodobil šele ko se bo posodobil oddaljen repo."
],
"command": "git checkout o/master; git commit",
"beforeCommand": "git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Za dokončanje te stopnje, commitaj enkrat iz `master` in enkrat ko checkoutaš `o/master`. To ti bo pomagalo osvojiti, kako se oddaljeni branchi obnašajo drugače in se posodobijo le da odražajo stanje na oddaljenem repozitoriju."
]
}
}
]
} }
} }
}; };

View file

@ -20,7 +20,8 @@ exports.level = {
"ru_RU": "Пустой источник", "ru_RU": "Пустой источник",
"ko" : "Source가 없다", "ko" : "Source가 없다",
"uk" : "Нема джерела", "uk" : "Нема джерела",
"vi" : "Không có nguồn" "vi" : "Không có nguồn",
"sl_SI": "Izvor Ničesar"
}, },
"hint": { "hint": {
"en_US": "The branch command is disabled for this level so you'll have to use fetch!", "en_US": "The branch command is disabled for this level so you'll have to use fetch!",
@ -36,7 +37,8 @@ exports.level = {
"ru_RU": "Команда branch недоступна на этом упражнении, пользуйтесь командой fetch!", "ru_RU": "Команда branch недоступна на этом упражнении, пользуйтесь командой fetch!",
"ko" : "branch 명령이 비활성화 되어있습니다. fetch를 사용해야 되요!", "ko" : "branch 명령이 비활성화 되어있습니다. fetch를 사용해야 되요!",
"uk" : "Команда branch недоступна на цьому уроці, користуйся командою fetch!", "uk" : "Команда branch недоступна на цьому уроці, користуйся командою fetch!",
"vi" : "Lệnh branch đã bị vô hiệu hóa ở cấp độ này nên bạn sẽ phải dùng fetch!" "vi" : "Lệnh branch đã bị vô hiệu hóa ở cấp độ này nên bạn sẽ phải dùng fetch!",
"sl_SI": "Ukaz za branchanje je v tej stopnji onemogočen, zato boš moral uporabiti fetch!"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -727,6 +729,59 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Čudnosti `<izvora>`",
"",
"Git zlorablja `<izvor>` parameter na dva čudna načina. Te dve zlorabi nastaneta iz dejstva, da lahko tehnično določiš \"nič\" kot veljaven `izvor` za git push in git fetch. Način, da določiš nič je z uporabo praznega argumenta:",
"",
"* `git push origin :side`",
"* `git fetch origin :bugFix`",
"",
"Poglejmo kaj to naredi ..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Kaj naredi pushanje \"ničesar\" na oddalejn branch? Izbriše ga!"
],
"afterMarkdowns": [
"Tako, uspešno smo izbrisali `foo` branch na oddaljenem repotu s konceptom pushanja \"ničesar\" nanj. To ima nekako smisel ..."
],
"command": "git push origin :foo",
"beforeCommand": "git clone; git push origin master:foo"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"In končno, fetchanje \"ničesar\" lokalno dejansko naredi nov branch"
],
"afterMarkdowns": [
"Zelo čudno / bizarno, ampak kakorkoli. Tak je git!"
],
"command": "git fetch origin :bar",
"beforeCommand": "git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"To je hitra stopnja -- samo izbriši en oddaljen branch in naredi novega z `git fetch` da zaključiš!"
]
}
}
]
} }
} }
}; };

View file

@ -16,7 +16,8 @@ exports.level = {
"ru_RU": "Слежка за удалённым репозиторием", "ru_RU": "Слежка за удалённым репозиторием",
"ko" : "원격 저장소 추적하기", "ko" : "원격 저장소 추적하기",
"uk" : "Слідкуємо за віддаленим репозиторієм", "uk" : "Слідкуємо за віддаленим репозиторієм",
"vi" : "Theo dõi từ xa" "vi" : "Theo dõi từ xa",
"sl_SI": "Sledenje Oddaljenega Repota"
}, },
"hint": { "hint": {
"en_US": "Remember there are two ways to set remote tracking!", "en_US": "Remember there are two ways to set remote tracking!",
@ -32,7 +33,8 @@ exports.level = {
"ru_RU": "Помни, есть два способа установить слежку за удалённым репозиторием!", "ru_RU": "Помни, есть два способа установить слежку за удалённым репозиторием!",
"ko" : "원격 추적하기를 설정하는데에는 두가지 방법이 있습니다!", "ko" : "원격 추적하기를 설정하는데에는 두가지 방법이 있습니다!",
"uk" : "Пам'ятай, є два способи слідкувати за віддаленим репозиорієм!", "uk" : "Пам'ятай, є два способи слідкувати за віддаленим репозиорієм!",
"vi" : "Hãy nhớ rằng, có 2 cách để thiết lập theo dõi từ xa!" "vi" : "Hãy nhớ rằng, có 2 cách để thiết lập theo dõi từ xa!",
"sl_SI": "Spomni se, da obstajata dva načina za sledenje oddaljenega repota"
}, },
"startDialog": { "startDialog": {
"en_US": { "en_US": {
@ -1689,6 +1691,124 @@ exports.level = {
} }
} }
] ]
},
"sl_SI": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Sledenje oddaljenih branchev",
"",
"Stvar, ki se je morda zdela \"čarobna\" v zadnjih lekcijah je, da je git vedel, da je `master` branch povezan z `o/master`. Seveda imata brancha podobno ime in morda deluje logično, da se poveže `master` branch na oddaljenem repotu z lokalnim `master` branchem, toda ta povezava je jasno predstavljena v dveh scenarijih:",
"",
"* Med pull operacijo so commiti preneseni na `o/master` in nato *zmergani* v `master` branch. Implicirana tarča merga je določena iz te povezave.",
"* Med push operacijo je delo iz `master` brancha naloženo na oddaljen `master` branch (ki je bil prej predstavljen kot `o/master` lokalno). *Destinacija* pusha je določena iz povezave med `master` in `o/master`.",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Sledenje oddaljenega repota",
"",
"Če povzamem, ta povezava med `master` in `o/master` je preprosto razložena z \"oddaljenim sledenjem\" lastnosti branchev. `master` branch je nastavljen, da sledi `o/master` -- to pomeni, da obstaja impliciran cilj merga in impliciran cilj pusha za `master` branch.",
"",
"Morda se sprašuješ, kako se je nastavila ta lastnost na `master` branchu, čeprav nisi izvedel nobenega ukaza za to. No, ko kloniraš repo z gitom, je ta lastnost v bistvu nastavljena zate avtomatično. ",
"",
"Med kloniranjem git ustvari oddaljen branch za vsak branch na oddaljenem repotu (branchi kot `o/master`). Nato ustvati lokalen branch, ki sledi trenutno aktvinemu branchu na oddaljenem repotu, ki je v večini primerov `master`.",
"",
"Ko git clone zaključi, imaš samo en lokalen branch (da nisi zasipan), ampak lahko vidiš vse različne branche na oddaljenem repotu (če si zelo radoveden). Najboljše iz obeh svetov!",
"",
"To tudi razloži zakaj lahko vidiš sledeč izpis ukaza med kloniranjem:",
"",
" local branch \"master\" set to track remote branch \"o/master\""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Ali ga lahko določim sam?",
"",
"Seveda se da! Narediš lahko, da bilokater branch sledi `o/master`, v tem primeru bo imel ta branch enak impliciran cilj za push in merge kot `master`. To pomeni, da lahko poženeš `git push` na branchu poimenovanem `splohNiMaster` in pushas svoje delo na `master` branch na oddaljenem repotu!",
"",
"Obstajata dva načina, da nastaviš to lastnost. Prvi je, da checkoutaš nov branch z uporabo oddaljenega brancha kot določena referenca. Izvedba",
"",
"`git checkout -b splohNiMaster o/master`",
"",
"Ustvari nov branch imenovan `splohNiMaster` in nastavi, da sledi `o/master`."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Dovolj besedičenja, poglejmo primer! Checkoutali bomo nov branch poimenovan `foo` in ga nastavili, da sledi `master` na oddaljenem repotu."
],
"afterMarkdowns": [
"Kot lahko vidiš, smo uporabili impliciran cilj mergea `o/master`, da posodobi `foo` branch. Opazi, kako se master ne posodobi!!"
],
"command": "git checkout -b foo o/master; git pull",
"beforeCommand": "git clone; git fakeTeamwork"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"To velja tudi za git push"
],
"afterMarkdowns": [
"Boom. Naše delo smo naložili na `master` na oddaljenem repotu, čeprav je ime našega brancha nekaj povsem drugega"
],
"command": "git checkout -b foo o/master; git commit; git push",
"beforeCommand": "git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Način #2",
"",
"Še en način, da se nastavi oddaljeno sledenje na branchu, je da se uporabi `git branch -u` opcija. Izvedba",
"",
"`git branch -u o/master foo`",
"",
"bo nastavila `foo` branch, da sledi `o/master`. Če je `foo` trenutno checkoutan, ga lahko celo izpustiš:",
"",
"`git branch -u o/master`",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Poglejmo si na hitro še ta drug način določanja oddaljenega sledenja ..."
],
"afterMarkdowns": [
"Enako kot prej, le bolj natančno. Lepa!"
],
"command": "git branch -u o/master foo; git commit; git push",
"beforeCommand": "git clone; git checkout -b foo"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok! Za to stopnjo pushajmo delo na `master` branch na oddaljenem repotu, medtem ko lokalno *nismo* na `masterju`. Ostalo prepustim tebi, ker je to vseeno napredna stopnja :P"
]
}
}
]
} }
} }
}; };