diff --git a/src/js/intl/strings.js b/src/js/intl/strings.js index 5bde3064..2154ea35 100755 --- a/src/js/intl/strings.js +++ b/src/js/intl/strings.js @@ -1198,7 +1198,7 @@ exports.strings = { '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', 'sl_SI': 'LGB ne more sprejeti ukazov na mobilni napravi, obiščite nas na računalinku! Je vredno :D ', - 'pl' : 'Przepraszamy, ale LearnGitBranching nie da się odbierać poleceń na urządzeniach mobilnych. Odwiedź LearnGitBranching na komputerze stacjonarnym, warto! :D' + 'pl' : 'Przepraszamy, ale LearnGitBranching nie obsługuje wpisywania komend z urządzeń mobilnych. Odwiedź LearnGitBranching na komputerze stacjonarnym, warto! :D' }, /////////////////////////////////////////////////////////////////////////// 'share-tree': { diff --git a/src/levels/index.js b/src/levels/index.js index 5d274d98..4a42d33c 100644 --- a/src/levels/index.js +++ b/src/levels/index.js @@ -71,7 +71,7 @@ var sequenceInfo = exports.sequenceInfo = { 'uk' : 'Вступ', 'vi' : 'Giới thiệu chuỗi luyện tập', 'sl_SI': 'Uvodno Zaporedje', - 'pl' : 'Sekwencja wprowadzająca' + 'pl' : 'Wprowadzenie' }, about: { 'en_US': 'A nicely paced introduction to the majority of git commands', @@ -292,7 +292,7 @@ var sequenceInfo = exports.sequenceInfo = { 'uk' : 'Різні прийоми роботи з Git, хитрощі та поради', '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', - 'pl' : 'Po trochu wszystkiego... wskazóweki i triki' + 'pl' : 'Po trochu wszystkiego. Wskazówki i triki' } }, advanced: { @@ -313,7 +313,7 @@ var sequenceInfo = exports.sequenceInfo = { 'ko' : '고급 문제', 'vi' : 'Các chủ đề nâng cao', 'sl_SI': 'Napredne Teme', - 'pl' : 'Zaawansowane tematy' + 'pl' : 'Tematy zaawansowane' }, about: { 'en_US': 'For the truly brave!', diff --git a/src/levels/rampup/cherryPick.js b/src/levels/rampup/cherryPick.js index 0c9d9470..8976475d 100644 --- a/src/levels/rampup/cherryPick.js +++ b/src/levels/rampup/cherryPick.js @@ -21,7 +21,8 @@ exports.level = { "ko" : "Cherry-pick 소개", "uk": "Знайомство з cherry-pick", "vi" : "Giới thiệu về cherry-pick", - "sl_SI": "Uvod v Cherry-pick" + "sl_SI": "Uvod v Cherry-pick", + "pl": "Wprowadzenie do Cherry-pick'ingu" }, "hint": { "fr_FR": "git cherry-pick suivi par les noms de commits", @@ -38,7 +39,8 @@ exports.level = { "ko" : "커밋의 이름들로 git cherry-pick 하세요!", "uk": "git cherry-pick базується на іменах комітів!", "vi" : "git cherry-pick sau đó là tên commit!", - "sl_SI": "git cherry-pick nato pa imena commitov." + "sl_SI": "git cherry-pick nato pa imena commitov.", + "pl": "git cherry-pick a po nim nazwy commitów!", }, "startDialog": { "en_US": { @@ -894,6 +896,63 @@ exports.level = { } } ] - } + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Przenoszenie pracy", + "", + "Do tej pory zajmowaliśmy się podstawami gita - commitowaniem, gałęziami i poruszaniem się w drzewie źródłowym. Tylko te koncepcje wystarczą, aby wykorzystać 90% mocy repozytoriów git i pokryć główne potrzeby deweloperów.", + "", + "Pozostałe 10% może być jednak dość użyteczne podczas niecodziennych zadań (lub gdy o czymś zapomniałeś). Kolejna koncepcja, którą zamierzamy omówić to \"przenoszenie pracy\" - innymi słowy, jest to sposób, w jaki deweloperzy mogą powiedzieć: \"Chcę te zmiany tu i tam\" w precyzyjny, wymowny i elastyczny sposób.", + "", + "To może wydawać się sporo, ale to prosta koncepcja." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git Cherry-pick", + "", + "Pierwsza komenda w tej serii nazywa się `git cherry-pick`. Przyjmuje ona następującą formę:", + "", + "* `git cherry-pick <...>`", + "", + "Jest to bardzo prosty sposób określenia jakie zmiany poniżej swojej obecnej lokalizacji (`HEAD`) chciałbyś przenieść. Osobiście uwielbiam `cherry-pick'ing`, ponieważ jest to proste jak budowa cepa.", + "", + "Zobaczmy demo!", + "" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Mamy tutaj repozytorium, gdzie mamy trochę pracy na gałęzi `side`, które chcemy skopiować do gałęzi `main`. Można by to osiągnąć dzięki komendy rebase'owi (którego już się nauczyliśmy), ale zobaczmy, jak działa cherry-pick." + ], + "afterMarkdowns": [ + "To jest to! Chcieliśmy aby commity `C2` i `C4` i git wziął i dodał do `main`. Bułka z masłem!" + ], + "command": "git cherry-pick C2 C4", + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Aby ukończyć ten poziom, po prostu skopiuj część pracy z trzech pokazanych gałęzi `main`. Commity, które należy skopiować znajdują się na wizualizacji celu.", + "" + ] + } + } + ] + }, } }; diff --git a/src/levels/rampup/interactiveRebase.js b/src/levels/rampup/interactiveRebase.js index da97a036..00326ee3 100644 --- a/src/levels/rampup/interactiveRebase.js +++ b/src/levels/rampup/interactiveRebase.js @@ -21,7 +21,8 @@ exports.level = { "ko" : "리베이스할 타겟으로 브랜치나 상대 참조(HEAD~)를 사용할 수 있습니다", "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", - "sl_SI": "Uporabiš lahko bilokateri branch ali relativno referenco (HEAD~), da določiš cilj za rebase." + "sl_SI": "Uporabiš lahko bilokateri branch ali relativno referenco (HEAD~), da določiš cilj za rebase.", + "pl": "Możesz użyć gałęzi lub referencji względnych (HEAD~), aby określić cel rebase'a" }, "name": { "en_US": "Interactive Rebase Intro", @@ -38,7 +39,8 @@ exports.level = { "ko" : "인터랙티브 리베이스 소개", "uk" : "Знайомство з інтерактивним rebase", "vi" : "Giới thiệu về tương tác rebase", - "sl_SI": "Interaktivni uvod v Rebase" + "sl_SI": "Interaktivni uvod v Rebase", + "pl": "Interaktywne wprowadzenie do Rebase'a", }, "startDialog": { "en_US": { @@ -1016,6 +1018,72 @@ exports.level = { } } ] - } + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Interaktywny Rebase w Gitcie", + "", + "Cherry-pick'ing jest świetny, gdy wiesz, które commity (_oraz_ znasz ich hasze) chcesz przenieść - trudno jest dyskutować z prostotą, którą zapewnia.", + "", + "Ale co w sytuacji, gdy nie wiesz, które commity chcesz przenieść? Na szczęście git jest przygotowany również na tą sytuację! Możemy wykorzystać do tego interaktywny rebasing - to najlepszy sposób, aby przejrzeć serię commitów, które zamierzasz rebase'ować.", + "", + "Przejdźmy do szczegółów..." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Wszystkie interaktywne znaczniki rebase używają polecenia `rebase` z opcją `-i`.", + "", + "Jeśli włączysz tę opcję, git otworzy okno, aby pokazać ci, które commity mają być skopiowane poniżej wskazanego celu (np. HEAD'a) do rebase'a. W oknie pokażą się również wiadomości i hasze commitów, co zdecydowanie ułatwia zrozumienie co jest czym.", + "", + "Dla \"prawdziwego\" gita, otwarte okno oznacza otwarcie pliku w edytorze tekstu takim jak np. `vim`. Dla naszych potrzeb, zbudowałem małe okno dialogowe, które zachowuje się tak samo." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Kiedy otworzy się interaktywne okno dialogowe rebase, masz możliwość zrobienia dwóch rzeczy w naszej aplikacji edukacyjnej:", + "", + "* Możesz zmienić kolejność commitów poprzez zmianę ich kolejności w oknie (przeciągając je i upuszczając).", + "* Możesz zdecydować się na całkowite pominięcie niektórych commitów. Jest to oznaczone przez `pick` -- wpisanie `pick` off oznacza, że nie chcesz uwzględnić tego commitu.", + "", + "* Warto wspomnieć, że w prawdziwym interaktywnym rebasie możesz zrobić wiele innych rzeczy, takich jak squash (łączenie) commitów, poprawianie wiadomości commitów, a nawet edycja samych commitów. Dla naszych potrzeb jednak skupimy się na tych dwóch operacjach powyżej. *", + "", + "Świetnie! Spójrz na przykład." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Po naciśnięciu przycisku, pojawi się interaktywne okno rebase'owania. Zmień kolejność niektórych commitów (lub usuń niektóre z nich, a co!) i zobacz wynik!" + ], + "afterMarkdowns": [ + "Boom! Git skopiował commity w ten sam sposób w jaki podałeś to w oknie." + ], + "command": "git rebase -i HEAD~4 --aboveAll", + "beforeCommand": "git commit; git commit; git commit; git commit" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Aby ukończyć ten poziom, zrób interaktywny rebase i osiągnij kolejność pokazaną w wizualizacji celu. Pamiętaj, że zawsze możesz użyć komend `undo` lub `reset` aby naprawić błędy :D" + ] + } + } + ] + }, } };